From e304960ee5322d3ef48955cfee861fed231aa215 Mon Sep 17 00:00:00 2001 From: Orion Kindel Date: Wed, 7 Feb 2024 15:50:11 -0600 Subject: [PATCH] fix: randomly choose a local address to query from --- .gitignore | 2 + bun.lockb | Bin 54489 -> 54469 bytes package.json | 2 +- qed-mail/.gitignore | 130 - qed-mail/package.json | 2 +- qed-mail/qed-mail-1.0.1@beta-1.tgz | Bin 0 -> 50868 bytes qed-mail/src/index.ts | 4 +- qed-mail/src/smtp/verify.ts | 6 +- spago.lock | 6416 ++++++++++++++++++++++++++++ spago.yaml | 3 + src/Effect.Email.js | 4 +- src/Effect.Email.purs | 15 +- 12 files changed, 6443 insertions(+), 141 deletions(-) delete mode 100644 qed-mail/.gitignore create mode 100644 qed-mail/qed-mail-1.0.1@beta-1.tgz create mode 100644 spago.lock diff --git a/.gitignore b/.gitignore index ebf58ad..2bebbd6 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,5 @@ .log .purs-repl .env +qed-mail/node_modules/ +qed-mail/dist/ diff --git a/bun.lockb b/bun.lockb index 7e7e2ea3e7286b8f7e83f7fff69f98f7200146e4..37908e9d58675693387e0b43fad515e11bfe07b9 100755 GIT binary patch delta 3787 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 DpX-%# delta 3959 zcmcgueQ;FO6@T|7FUeh!kiNlT8T-RmhUxGrNfqqi_4+_`XPU1jarYt|gu_3AWj*SX>w z&pdI(>Ax=9e&wa2dHeRI%kEYcB~MZMJHssj1%DeN{&nkm6lF8~68=qTiZT)Q6s!w2 z37ZQW3bzF!q3&oXytX|QZ0qi!GGX*JYKk%ey)A8>8^RGq=@E8xG}>0f>|uYHjS|dM zlx)Pk3(Kr4Q@Ab5p4A@>S99D6V2*1A&m`D8A&J%Y!m_GppyTEM<_UoWE_z+)WxWu< z%Du4Xacl~g!}8cd%2$izaE{#@r)ssRZ#xjrv(De$R&`ULXG;oigk`QySp4?~(6HWX zVL{iwp)J(X2A!d3;1*6_3npM)b@_I@!}k`*3*euOhWR8c^X-5IPf7o)2w=i;C}slC zwfI3eOyg>i?#TOhIX=oyD-uzvOqiVYS8Pka6_)Xu zh`%KeRg_Os{`tDSRd>O1e@7q^4Adyfh3IFVP_!!8-nm9uUt;r=z|ZMi>yLJKA@#4M z$-Xbp$00SpdsLq@QndJO|6^FPLi2)$NZ|t%bI2z?|+gu$+~q zQhVIulzkU|9(NoT>7=XE^}eIiZ2jxjcdSDKm7U<`xtx+b1k9WZrrTRE6P7i<2Fr1g z79OQ2tIKVFM<^WX2t~VLEPpfnoR4s4YoN-%CN!2>!&X@El=N@J2aD~3<-j$eaBCiU%l$_9aTXOjQ$9GND1SvrRb(C$!cfm&<@I21=uGaQuv7Ii~y=zJ>59 zG>~n`s&qy9t`jf1$d_x15sKxSavVJkR*%2X5T&F~H03oo;dSt(lfQ6&7JxmKKiAM+ z0-8^6y6V;R3@XWMkP9>HWon2uL^s9qO!+8$JVa%m`~ZmOmNbq;Tu8or6XhI3yN8nb zru;MRg_P1hOMo~%hWrZ*a0u z;-NOt<3PM}%~JZ=zw}k1*tpNmXa~@@;)Z}0Su6vP^G6`gW`>oU3n-?W@~1e%EK224 zluvzwEcrmZ7@K)9?lk7I1dA<{EHUMi@Ll2fWNCptx2@R+#PJF*R}50pZOW7IaYfk) zslj<+eycv@EkLY9qwx|$jsh(QvgbYr#8rnrm!WwIxzOTy^>Qt~c1oj%_1jIy{)){)4lG9BoO6)9J*^nj>=LR{@4cQ08i&8m@;vgl< zO*O|&B{Lf2CAgJ2P!LY5xS3)zO!+)~yb|0*sL9Dw>bJloemy#2VEN)5RhcRDXy z&_LDvtZ%^hd4@a%WQ#;qidp2VFlA_(qRd7(R*j_JPf7TW!DlZJQ>$5JbZupWTvTQs za$9$Vl9i_T73mk6@=xetHCFLxOQu`pl3lOefv@G(A$%WStO*s8XJ{3;`DfFc<@GXx zFS|IgMcNS{+O23WPn!9tQV~mn{CQCFlWiS?X{CY%PBwNwSEb_7dS_Z zH?IeXb7vh!T=>ZLT^&K8Rp6TBo~xiZz0!G3wX}ykH%1jj z#W?4w_0PWE#HvnHfy7#Q&|Kdpq_eo~GhV7ca#6Yo_-eXcP;mdWQ~0m!n-lfgM5NqnFXP(!2+~qK85c zK906D-Y7OxN8Bs!rh&NE?L3!#htFsazV%UsDz2~gRC^3XNz&Q4E>4l$85E6)uAOPZ z?Yw%k)kpsjSvmNy6+G92OE5^=c6sr;^~^4>+j$coU7j`l$P0PJh??uEuJw486O_MO z7rk`RZr$y?jAy<$gj>#{@2l8YxkGa zLtydJ^Siy^`Vw5u7Te@?g@$(dSy?e zsH5}u>Tc($Ty=TNPr6S$+XMonh!-}Qn)d2q2i=6WoVM)s{tro$(=n)%J_6}~Pz6dR zbyU^wvsLM0nC{&7W4uZx><_AH5q0mcsdL`iU%mc)^|I#Q-T_Ui;s3n{Lr?54b~{hu zt*!Sxa_EhtZ>NT0&r4|HppG|C<)9aDl~rhOrS0&1LI(zQxAQztzow@7<&4p1F>W3d zS1Zb0^!A|F?L5m}@$ok{XTHaKR)fMr{})s>)Tp|OY2#4w6z64rduHX%#=VaYA&l!2 zKW&*)=;5InxAP=FwCC_eKc|xm5n$LnUG()3GM9SYPWgPxvFqelz1BR|u5YF4VXxbH zZa?K}S~dNmIbWlHu4f)s#TfMs2gM;eHS877k$Xf}3#L-tNR8M@p%JgxMsc*q>GvZ# z3jafVpP|xGuiJU+A3XNKn&IeUx2F_iVNKLAYLVPAx)#A_M|E+OmYJQMojDVS z#wv31kYI1fcQo$OHn0f+G@OYU;35AsFystLG6OgT+vg^xtfy)hLY8 z;3twuf~kQ`k`XW*P)!E`18bv6Q3-e~fkH;cVhK@{Xfq(w97X`X=FDNQ4t~h&<%4h` zW}|YM4aC841Q=NzhKq!$(UFTI5h+AUN*op$jV5~}5j;u6I4p^hg2bR>W7PnR;?&hg z0RumjptumAMKbWkYAKERM8Z-MNCX&#mX}8Rq9-zj2MI9N*c51F5iHcz&4kjJ!=Hr4 zQLvLQ{w&#-K5)pd*NJ6kuRt6RGfBrKU2n@Fz?J<{Qs!P3D0>|F=zs(FG)1Aphj zfRV=I$XIpt@!$|Z6>xS&trA9|$b{HPTx={hf`vJSlmh%EQ?PMr%-$ji*knfMKulm5 zGzAk4Q={Vwf>(pkWScl<8?^kNH4y}-M3aa~@Q}aS3sQqOk-u=D;AB_%o*fA`-AQ7WTjtum+2@8pkXlaJqs*)YWOj33QRR zrr8%NJH)X|m2L4&yja7D5h;vmhQI+pQem;^aBQq8OdA0s14x*%7za2^AoWs$v_oJj zFdcOmGz9=f>V%jv2@m>_h5#pxYzm-{fDz-M2QV=b0ZRe00KynWm{Cx}U@uK!iC9v& znzlLuMxS7MiVm1UE6zyLRfpOE_y<5JJ}LNcVk~U#+_^9~17kQi7-~^Lv^*q8x8QJq z>|<1?7^nl|0+J3BJLZr<%@Np&vIaAeEft#NAOZrG7y?c{WBx}kIbs|;Wr5=v$rwnG zNPU6s*n!fX8r*?7x4^WbV@X(aL<$U>jKw5S0I?7WS7-6Rq-b0$7U(Li!$AME!C{By z2}l6vRa+hCSExFTmPRpE2n8DJPl1Y4fFJbAFkOHcQi2!*9|Dj7EeA@aQy|1upjvDt z)uDw*Tdi5)NVtP{FZ#7x=-Tf$dk@l=iJ-3Zr%33>FRy_(HRZi|d=hLXi-m%$dVn`l&Qd zZA$A40tR*kARlxrP$BI*fDA?fN}-KBNI|sTX#-CfA_1811nhSp7@5+_h9UtvL&g!~ z)PS`YiUi4z@$35#BCwHYfR&k!%U}#QZJKD{5HQ-5(L@561xy>7;~-{=CQOGm@3g^& zh|v&S9ju?a>L9&93z7{lHbyxX0ajH#2=XinwA`Rk0#KmP*EsFBIq+K#SVd49v|(k9 zC~ZD}sVPGcBm;ms#M4HDq;a{?E9D1}DP!U3j)SKgV#b)l1adUUC4L1i1c-g+CoK9a zt6_8_(24@L2O52{_9nI#MsK&Y^=gQK0rUs0V{LHXjl>av`rz&jau^CdS!n#ItH2Bx zT#!Cp6A%@|cW5&WYym`E1jq?!R7N2sFo`S;+#cy7Ca}P91S~_aRKq665lNtI1`iFz zlHG_A39(o>g4GBO4A4n>K_n&`i&^NCLZG0N0pv%gy7_vJO>+wvn_`DYlFp-bDg z@yVe&KoSWXpMWD_)!;}id@{(*e}*%?2?${<0gw?$=1J&IkAcB^J5}gT_SDT7XzR0!pO;Go`I8Tm*9)pylGfn*$EcM0vo9W+Kg6S87=B zFDNpO663-_mW_ru8Ex4CWRsc(&`c;A5WxV^9~BV+3XGxQNXD;dI#0Pwa-|BbX3#SLng*0P3T9B>I03Y;IOd~V4GlP*_nyD z8odt@M4+>TiCUmbRTH*>2L}+CO7NVa_M?%)(?<#1`oSOgWN+G{`mYZg0-{y?Ul=|J zKcIi?=pxAgpJF?51LPRa#(~htI1-LX!ckHHQ7WAI13J$C-Xx9XvFZ#?LB|W&N|D%P zfNv3^0G_C80Ct?g3QSonBJH~~syp$Fg6;m|oPtIFrnS$QLm_AQpldpu7pEYXab=P*R%N zpFTrDCnNSlP$HIui%c0S>eEvHn}?w>W2eTzLmf#U0*1{0w=vIA^bhU;{{;^4Q~K8* zNB@R~x|8%jN&kOJheFeq{BaKOmsAk{TRdPi{X=r$ALjr+p?@Roar?iXu8!U${ZG>W zpVp!Nc@FT`)P4UuJb*#}F<3GMi6IgqaZ!KV0O%+5uQS2^udSyuN&kPxM@vHkW(8hj z!%}HWQcaaY)&y6Bsyfmc__Bf4#5^1&+LsLePJ?M^3E?5aL(++Xu8xi)Vaec%htmPT zL9H?cc(5ZR;z&dS9=g$o6NnK2$$}(4dHVhzJO6|0fc&@H|LPbRj<^5Sojm{l1N;Af zxam%~TQL^Zq{{E#p#P&uB7c?#{Fwd?4RyxRzpjDqe2)p#I;{Xu0WtP zIP)wsF*-W~If3?%Dzo*EAux_M9c4p;CINkiK)-MI1b(pK2J$m3#xze;zq7T@eEbVY zOjKi(mDI#`Q4vhCV;DbAtR7(=xc?db$oTvJKd%A!vH!2OuI{+=zn-?ir2c>M{6BgA zpFIChp8qG$|C8tc$@Bl@`G4~KKY9NDdmK=i{+W?jppT=iT#0}a*s!@mt zSTvCgY;$01f5JZyfPtZEms{~j$wFo{m*_uS=xnlv&3=`#q}ErG>u zgn$``e5WP)m_ecqeX>kp%;}3I0+a<#EtX7Xclr7aPcsZ?twsQaTzXT#>n;ZL=tq8H z-)R)`e1*fm+nC;;Y>b2f4h(*NU;}gro7B-hpGZV35oG|D+yl(*B2K|No~ofIqhX(J>fr|D&f5rcLVq{$=)m zpuA+~hH`QZ^|o`c1D)=))GSSd(3*?1HBDyCR#H|`)tI9-*K$EIIgG1D{#!2`PhoHY+ zg1#|ACuO#2M}jur^db}7ppAXM2;t2oKqi4(!POBkV4ac(Xgn4= zJ^+Uy@azNLe9?aEgp3mRQ<=q0nNN%grZC2p8Jna5T~>Z~*P^|S<^SZq#o+(+Z=fGU z!k=#AC;Z<~XPp0+j)DH<`(OW-4@jPHkUZd~FnByRLK7rB$a4b@tZXuidfN4;0SQ41bc!p_eCXsLyEDXsg1u`|T1mxKQBth>? z0^milK~EsXf<>Y!lsK}fmR1zdt%PvkoQl_qAQC9R{{)H_V~n+MWO4$4IujHL8%HGL zC`3{U3n17#5F!AHfyeK(!2-Szo00_He*;y6XmGI1iH1Rg2Q&`)t}#-eY)yzmqM=D1 zolf(Tqo+Yrtchi`7y`A3P5|Z<8dKU-#Nsem0vYO!laCE!5hdDUO{+dx7d zNo2?=4Xm(0*957L)Mm6t&xIU`z+4?;q>esPhmk$Hmfl3uyg(OejMQgNE!|&mMH^|tY6L<7T3t}4K9Fa?8t#Y*d&QoRA zuCC4m{y*S5K_>bC-^Bj`?h%KJ#gaT|nl$E$)zX0Z;{cunV{jYvLNpRj9=%v#6e9Sh zp$HhBNW#L<;UFW2?qVasTR9Ca8YC?kXn}*rgJcl_?GsEDVKh1s3k%0$2{0T1LnHwr z7@7i<0kwj#3D_K?ajkGP8Q=opvBYpKJeo|wlISTQ#RB{Q#7&4!tY}gc79vzTA0}Fw*5HBKuzN3IVj()~*A^<>%ad3t*iqR7ffc=qhzz)c`K?2_{4scgs+knObPXsyy z2c%3m&@BuaJYhitLZ>wt8QAP%BM7P#7#i3E@L(>M<~>Qk0K*aq3nvki0I3y*@^m88 zPy%*TkaYw2>jDG=9KPVT9&Ydu7EX3}V46U+DmbRJI>1EO;z*3W5k96YO^^j-R(cB& zSWGOM1XTy5TR6J{4$c&MMnWPU4`+9@o~mYCh0e6f_{j z(i^88PREu*#l{koU^Ih37`yaJt3|hAa0U|G7!y4jfGZB1Uf}GT0xVM!P=byef#^p7 zrYyo0)KP=oq8qaTRcvw49vQ)$)+8)=yntcJz(7zSaR;(K7!Al1=qeryv_&30d<3Es z9ys7&a1?Lo)G{vH9vvGC-U=l|McaTY+lk-@*@ zrzuIuV70VKO8eK){~uRn{e|~`=ugW3|2X}}{4wfhRs#eIP?`X1!$T%{!v7lmv!t@W zbN@HeHX6VGYftKb|2g_+SEK#{2cQ-I5eGm4AA|=A<$<#IR_ddP!VRQfj>lR6MFywJ6kqH zAsohx7Hc?I{RKh%2jbPl@BjU?EZ`^fud6qX{`K^9C*}Wt1^v@m0CVO1E*Ag@$7w8i zGRbf9*zou6|7`F7{gWKvXY{YHGmid&he`VX7tuf4%K1wiV9Z88$pQWu`e%Rt@1NrU zKc)Y1@qhJobqyxz|KCLa>?`Llae(hh@RJ_(k&H6w63GBag_4Oy||DUG+m_K#; zH~Z}m#3girv-liq;2Ce@k4Umd5p3oo0zrP^0i*;1>9IBj)`&UQU;*IQLK|0vwmpzY zvPMK%gYtw2kQNUDhyir~cz~NEfCX_jb_jiYATinoL9_jdoBlm*Nuuy(RFTbUmfjI*Y(!XFp3LD?i)GjtYq z_8?|sG!|$k1fq?Z7YY?;gNU~V2Z#v@1wIkz8Vd}lqJTcYXxQk`RTCHx4%Dg#Sl$VI zf(FHgp>+U@+nLadL)r}|uq16r?U>pVx{iZZ-X_+D*2ghA5LWk+fI>0W2z?+qkXFEj zUH^jue>#`}{jo8zhA{AhI_E}fJdnP#u)}s^>Rjxgo`ML*(#HZq8yG=D2$oGUJ9bR< z3Jtr7GMK9ZLfhm=XtO5OX;d#_Y2)ZZ+X^9k#=wW3Sgrdp#*?j_6LX%JqfMJz2;P`9 zpc-ufC0LJ{oMc<}v7`}^-Dou!OM%7sV>cSK-RM8`3_to1*o>VBf*q}EjET^HJVJie4y(TI~kG#lM5K0+c)SDKQlC2bE*a#I0 zCSZsJGG&6;qrrp;LXUzKeh_;U%*1~$<2#W@g9&L69%uk62KL<;q^6Jq3n2;tOJ%r{ zrkS#yEgAV~Ans}Eri>TBnA3W1LF*8$v$VIHm@)2bG*_@x5@8G~DO|MvK?T))mNqd|a@|S!1I`GAEgRVA&%&{z}&n^mvEt9h|7f zcY-L60RaJ^xsNai(2mv*`WzuxJw%KqP@widco+J;_HeB|6@2n6et^`fRj0K6bC^69tRjJ4o~ucKcxSU`Md7_ z^v3J|^^A-r>Hl9u|G%pJAHx9_LL6X`4T3z117LrX1B^TAPV#`iM*p->O@FifA3*iG z)W5`guxiHn*aW-tGfq|fEj-iWRWId5K z63mJGo&g?|8*9y`5+0Ln1F4)@Ds@)VOeHG)8sNK4voy71`o?G=dEy2j#XX~e#2+-k z(xs0_K6+xn2`ZHf=$^us!;;_4F@y{j2sgCl?KZy6UYf?)0eWWFm0gm zpS;ffSMdM8`Tkc&d%XRZuD;PE|Np1?f6Sla{y)0+poN}=xzY8=EGaI6z_^8=3w}^Z znyklC&VyQ8`lUfQkr<0b6Ciyqeg$JT!~?ACu{P5|s)JKza`=8QAOWrkIJj6)4e z__sm%CEL>cX|SUpObVaBp#T5#9N;JPZ>T-a{!d@qVAB8ZUq%1yOXoK@0L#m590zcq zFgO7HY;8kfKXuZXfsOxI105i3{)B0Eqs^2&Kx4Ks9(*3`redRy$-m&=XG3DQk7AkR z*`UbQBx^Q?#8eji^9<<+@BjT{9N?$=|8f5R`ue()^#AXo|4~clH#`6!z0$-Sz$KZ+ z0eooA0TVgoLNWkdHRTn}zUecoOm6yrLH_@vI-sAt|4&>$R%4tf`B#6$bHmF00Wc@gx&%`wjS+B%(9XOf6~l}tr2LZB{WM_&pJ@}(d7UK zmZLpnVob1MGf!rDDza*iR?C~|gVyUd%$rPhVPXPXem2EB>krE$I|T%0Yi0WaCMzUi$zR_~9bX`CMZHL2KGq-yecIP-d0^MVZB@W=NnMMVyEtuu7WJB9W!O9Mc zteHMuhBj>1?LJI2SZARz_5ormkyjfF zL^K2>DaIeK(1=R@L;(5n3{|Le`Atq zq4=0!7;Z@nF^^pkq)U7>fsYxJlteNGgJ_I%g&G5a;kY+8JRLJQ-Dv2{c&79rW(J(2 zyHI^s)`Y^oO-h^p`|{tI_-}v9{g19b_^y{R`d^(%`|p31{P)Y+Ur@TUL($%`0I6sl zK;y1$aPOikW-kmVuytGVZ$8RsWUPgHaJyu8ZVYGxyNxSn5Tg|^vad}x9h}Lo;Vw| z;#6H>us!#>!xHAX+ojYbHN_!MJpU|Qc9Z!1z{RW2^SQ%EI4!ikSh#ay2M zS*uR=5^io@37(m&XY@78TPmDvl_v`x*mmCO}nYA3L4ROOcv)QRh>c_6|g)=j1u7a3;N zZiwOFT+5xa)nfZ`UwM_G`1;mROg;UwJ zJ?{qneappEZ`kz~M~3X(FL6=JZ&Rbum+%j&JQrH`$Z_#=IAtuue2ecK(pKWK=gPkk zr7IR!Xw|En3O|Q_r(FOSDdx(6dp+S3sb9K8X;!V%>>lp!*wzW?)5EiUAuH#rL8ls40V-0jp*P%pzAsVmSgNO zRGZ4JWOXgm8#h%TUV85|7bm;uS>7fo3ODp6l}e1Gm2CpwmkJGXNt{%R+qaZwuW{b$ zW8v}+ZxlGPB?QeE=}Pe4+&k5TzzuKAwsPgvFkaHfWf>rHco_a+U%OhG?1`^@+Ua4n z4I(O92lt7;_gf}l7g%&;P-^ei`6Ulzctldum0I6S;=rxpoa!(mB|mHLIU6pI z0Ir#ZebJASVBOt5%|jJjl-=@9D||WbY(J#oxMVQ2eYr%2@CA@=)0EwsEXjarmBO-XnGB9~;&b+tlX;#o>W zbTw)xPpQ@J1M$6mcC|#&FliLtbNNP-vbHbZcI`fn%BOIwhHW>TrnIqn4R8v~aGfdc zk;Y}7K;#~pYQG^1g&dd@H_K|jo+Yj|G*A>XJ=1?`)m+b>4b?_Rj%z2L*>!Lpo=2qA zGJ3}Bx-=tg9`QE*Bw~I;KJGG?ltakO-F7dtj`tL2?}eSW*@g=fhGp|)Y|U`SMuh7x zy|lje%{rBEE@5+?wL673302*5gT8S%Mdj@bHn=kGOunn`WmD^qB^7!QJ@H8(g$tg0@GpsMD*ZSRthocB1 zdRuXBRsvo98M#&$J}6(1g=_8qMS_hVv&$82)SuQ|&mh4)4JhX{dA*;P9 z=Ya-UU=M)z7V0S;dK&~(3{Ljy0BdexUF+LmpQA5MK*x8aGtpRWCl(`z|Q zg|0LNaOrSxaDTiO_6@bh&UM#`rtG(?x5eEl$Gm##bE5t^m%yJ6}%)r-nb9S&<^xYjf+>!|0hHLPnnsw-v3J71AYz$$8B z!wIVm6)O1ITnbiU8g=BH`nC2NS%%IXcf?0ltO&6V@ud!+ZLE&V56I+**Nb;6&N*G7 zl;Lqip_-F47}aSdd)qNwAXC;lkK0x~y-B>=n3}plfBQv^nvw;Y&KWgUrsiY=L zPHLx;|BQ^<@+`jh7n9yfcFVumcP5)^Kb&s+I{leYhw7*F2d0+>hSC#63t9?Bs3kY4 z%WX5t@$PfCdz3w#zQNMHMg|pj*jN58*M{0FwVO5GckC2cu`G;FjaZK>=BTnLD2V9a zbKUdCh`2J7KkmY(EQS+(4n;tHgYDpHehJ^vwF)G&L!4V(@TP1YjRATF{?)Q zbW=TEc~Z^!KQHV(Pn|i_Y7ekUuiU>%xr5s#Yov8p&vQxB1!{g?sSHyZ{q(}2=vlRsyj5qC9U@x_4<9PyIkq_{*5$? zcvAbiq`B35BgOYx6p0Kce z>d*286lTeDIHzVjN^7dW$+e5fA^%Z4MLHbyRwR=1M8>hBTD_mn3UHr)WhdKz_pCtO zI*wD$cfNQT2#a%uY%gpWnLA$~Okzgwr$^5-ihXstdTvSG)68r zQ%P*@3f^aU-Oe*>a3hzSIEMHtlGBqaN80rb{HY%>c(F>cmtQN2`#Sf{HQ6rlJnPX@ z%N(uM)DKC1fu#|Z9*uSeTmeIcr8PJ0w)JWA`NbM%W`7O5OUXFc+0S|WoRia=)C1kU z9;Wg&Ju{5mh54!r1EpZhcBt75?&+pmhEZrXTf>L;yZRPN`>!l}pC zZ0nO0o+Est$K9EviQ8ncu9Hu?996#n77U3*`~gL@ex~%LfPEsT(Cb zVIqeDl$?1#?-c&_o__?LnQjc@l{O~z)2U0Q3>{e(Z(W;l=m_V+%JuLD&LSQH*F4+Wj0EQk7aFvcOCKIPtO?eI842BbL%4NtM+%Cm!-tk^9L*Pt*z(Xn~}|*La5E$=*IQok`_CfUb36){2}oXHImIS->4LLD>%^>-VCl6TxIH@?p$YaLMPw7&cEsGw!&iGqK#{txm)%g57x*Fv)D+j z9o}hE&)tzv7MkWReYz7^)Uf3pE5dY#fn8nFMr2l3SjC_>%!u2?3aM!&Ie1iwV}XS5 zV05@~fKs7ro>EWcK3>kpt3L9J?VS?C$zv|}S;ozOr})A70xPGAmbP%%U9gjMoE5>P zlP4(gdWOK14BLxcNe{xf#2XqLGi2JW{5&)i6fimH8y%c$mbxz-oT?VY8@@(1di}-S zK99SiaW|$`c64hlve67L%QRWmRA4IIIV(V6JI{xvrpDa!EBp();F(SrJCDpV-jtag zyv{M-NIsy>A;iPaN7{+Fc9U?5L}s;Gh+lyU9$g=;cVX`?o%{M<_g3~+#OUtc^kT1V zTQ6_T~@i9CrF;_u!`)qp0IlDiYets zR`c4cWDwxDXHU8PvT{Cd%{VyRs#hT6q;SqEZP{a7{O>Pz z_5(+_O;$X%+9Gml+%df94RL0Rx?)CTC2K{#H3*KxOp%q8b12`Hku7|fSHg%>{#y77 zl<|rMn!&P4?jO)RQmC^6$q$;ij+#D@yT~Wbp=?{}G1ALX$FW?is(R<#M_X2Iu;bBoE1fT`;1e?=41U#S z#h|97#X*E$K5vBod|^)GSmPW4KmPI{<4P{E7Kud{RhD-&WMayM3!I9zojvE|N2yb` zie##!S_es0R9i)P-N=w|Sh#hO@r+Qh88h8iWO|8mq4(dMb7I=H9JEe;m`6$X5suf^ zwLQEo=i_U2mARCoFLeqMlEbcWy|$WRa8I*XXS!#jInM(PZrNM%OS#v|Xe$WH3g{|* zu)4#K;WXh4SyRi2U)Ln2xIIjYQz7o~tY^wM_F=70Dyx_)oRwZBCS=Gx@1*Dx-qYr? zp)I1~_zP7W(>;aic}tJfE_ThZw`}ntYjXBxtvZv<)2U=7_-{^`c*3dgriWvCliI zr8{*;dhU?iZH`Q?0+reaaeeCB``hiQuKQm1J)$P$n@W93e^xN^sbpumKfYHhjw5D3 zF`h%eA7xzDnkOKv{~+u6<(X?v?itas*?CPQBRys};yyC^xUdTGE%y)T-)Z7caf4x|ef4>XfIR?Fx1IH5h+~du6RByXMT#kdx53u|YaNGOWRI zX@$;04$D@)$POvbmQ||+e6w3|9pZJq*CnlL>$mcH2`rD_*{C2EnU0d63J=7*`$QcH zoYpTjH1BSq6;)oo7wB3|)(8%fafGyFvoJ?CMsK^h+%uzu*w3k-(l-I6oy7X}hVE{S zqgHa7yS7qmR*VGtw}d|B=rSBq7wf-%!}8VFbgBaXXZ2x^71YXo2M-$9QK>3JQ6VPj zE4deYWR*PSNdNSOO1wkG#q3n+r5YFj5@N}2>J7_;A*0W4#4jkfWge?Ks@|`FJ~?#? zW@Xcs6xbuwl1_p0D(;@n$oabkus(-5`sZA|DwcViM{?!v6)+#q?QuLe%d9wdl#0Q) zI#gQ2>Lm1pvv(`!%f{xw3bSG_PH`0GIyUG!`x+`SVr^|%Ye4rUF@-m%6|S7TzJeSp zr`7GoBydebT;Xbx3NX7+fxukZVS}XaQnNa8I78Q(T%g- z;5n>0R2#pf}G~*f#PYvVK{e)=9U`rG$S@io8>H8w(4<&T&^GIjsu@& zA1~Svqqke8vn~GkF2XVii>?kEkE?eccXwU(ZpqQ{$Zg%-qRB%HmiJt9I-|_(qMQ4E zlUD)WD=&rbm(Sf-TSh%1EBqk*wc`Ao>3D&wO&&Z?vK|-=*+v)J6kZ5AJXrWeKe32s zWGL=dNo*|~u~X4yM%sJ9{KCN&rOWMEVv9MP*BJ4yY?GV9laaJ#aAtO7-FmBZH;HZ| zk@*%WsC9woI`|fRK4MoIrh-^jyYp^DWAr+iKp|^&%xdJ0rt%1N-up(@%g*)(aBa8U zuJm!Q%#!stc7`oeyfBkjZ}$1k1KTd`T<}>*KwN}FTKFqL#5?U$Ca+?4hVqRNrwxNe z*P8~vDM@@%vP&Bh4x8qcO0<0=apG9psV&{N`1vTIyX>@l{rqMaN%}tPHjwi&Q8jgz z&Df9j%}0oxJ0Bipm-+nC&tTMja5WgTGv}cG~5_h&!3sHQk@*gxK78I^$?! z+)?>E&zQim_kuJvdE2vA0u3R2A;q))p%b82G(YCzge-zGay&zGyV1iOK-UgS#I^he>28{Ta8?c<4lU#zS3 zxxI&KLp}f1a*fkls=mSQCsb+_asS3k-ck8qsb9k<%=D#hvyTsKG?t^ihcjmrs+kOr6F}` zAgXn7=QuJM~@k(do`_em`5^)_Ku|x`;20->kDgzX$lUGt#PN#gQnt(gn5Jt-H`V z%5$kTPpMZwm!uDh^dEa)bH{eL*o86q*FBj z_G(&F$62_5AZ45(UDU!E9kozT_tm})O(It}q>$JV^>AV(NT zPfv9n;iX#W!7J0I-cq_Q;-;%yd{kR0=V(Vsl%r)bwNJ5&!}2!Oqn~=W&9?+t9x}sg z15Il>IXQYZs=VYldBj(&!#Y8%@aim?^_Mz6YxRrQeV{TD}-%%BBa}GZnPQSFW zFa5UX-Qx9BYW$G+aKlY%UlDcbv}z?EM+xm+^3`ii1j8~(Z*K%~IPS*GSXtzMv%{mp z58C+W3k^2L z6gt-!@8K`scC*hdZHWZ+6Y(Y$SE|xV#d+MP4sZEL4V^noZThGf#aDfZ^Wpq*xrDEZ zm3(m+g^|Z{4oi}nP$dzZrsvmb!qQc;8UrpGmGRyhSW~=oXAc+GUbEnAbyuHa31 zl3~qVRNKFsD?Mup??t5y(Vm9>)+r;#@Pho>+?$s~t_bjhzo?3+oRdfl@+W4VCdDpPJLV zp4JR&ezNQ>?l`lcsVCjb=VLon<4fP>6E&rjsLb8xF`VA5^D~>)pfc2^Wn&)=KRqI% z$>;NCHRmv@(RAg)o5VcC@vBYkDQDc&@`#M*Qa1`Lu@vomX}6}+0obBq_>Wf$CQU(03OqMRBmP%G&EVtd!lk11<~g}Ql-cC7Njd^>sZuDoJb zpM$QD!KHSpk@~XpRIMXcTOJ1OwdeW9|KRh!;fp-O;@&Rg7%DZ$V)eI`+6J>ZGwtfs zWUVw%$u`E*`1zVLr?)P>tm!RmFUQHNe^KVMc=j;&gPS}@G7pz^si^WFt6zsk*4nO% z=j7QKb!Xo>RjeWkI2Ke+?<^A^E8^bICU6nh)6v! zl074Ia4&QRW;N4+V|~3KY89VnCDnNNR_ac!Ws7{3`5UQjgNL}k8P!pJX7CR20Ah6d z$m}yY;zKV=&l)}pJw7t<7+zKR<*BuAhRB^y{SS(3^Im9*uD8Co|C#~6<_j4=rNBTX zwR;MOf^@5l6O}lfOkLFpQ_|R~dPkiRR_^^@%ccS%EI)zuo%GseDEA|+r zF88r~a5ms75}){X`-8WH8ux8w*UUc09`LEw+;g`Id8Lyae`T*?Re?r0Hrj5=#wS&# zVO0+38bQMBweb%YCzyTgFB@#zgWHj|czyHBLcv4RPAmBvU@XpTyy3pxBzDWO{Qi-U z+nR568{ALNlRCYAcVMF8_G_Dm_4%vikxI=kpYm^c4(p30e_c?1{B(Js@4>T6c3krb zNzh!mb&;0^r(yG+%6ZMZc3*zG#$?|ep_en?SsppBKJ$rRpe)Drki`ur;k*WE?{{qs zUVr7iQsf!(wUsA36bx!^5tqG5+L&kdb%_V@?KH#ks%3|9Z~EW4dp)y8@|4_uZe8$d z@Y|+_ zTpqRU+O@bpDB$YX^&88ZBL8>2zkb=9ZfJsJ@k&F^TnO#QP6Cy5=7_<4v>r zz*M|>$o^yXDfwxhBGtA@`EJ|!-_FCp(Qx&Pd+KB~zAV~2#k#ilmaeMI`}s}-(-uZ8 z*evs53qJBtqHfsE!vnV$;!YJ5?{Ri=x}EUgxy747pN>@vr>kYmb+5UwB>BKSL+ZBr z>a06MEABR5OFq8;v~=;ylWNb-@X2gz?hHD=!0nSuv&?;;$9Ftj?vP*d*EwqIn-{;= z-;@@gWmW!en}Y(r@};z`^d979-{+TGDm(g1jE1dzJg!_j9U#^z#E$ z8-6tP^MU(|9=~o}5Ua6__%M1UrK{^s`Uykw376tnf*xspMLD(l+SWcE;d>$}GF@B4 zHb1^%UM_R>(K_7Yhas4o(}cc~?)wH-RI9lNsz;NEea=BeUsOJ{EKq)mZ|+LHA11wS zo6)IAji~`|ais0DPlufpSas&;`$m&Gw59KxJ!xlVsJrw z`M_fGvKKFULyqR1J5?jLefgI!nwYPis>K@lx9S$4FLh=+_Sy@-{`Oj1^J92x#RJ>Q zsFx!4jyd5HKAucqfdoLz?BUfF*Cr9<_b3m?`$+-YTMD0F}EhQ1r;J#S@&_#L>g zanm;y+_mO2d}c>u1V1j(Yn^i7{&bNfu_ba(PHc(w4!gKXxz~7kP4^JFnfn#iE%9a4 z8`MDTb<<1klKDRSm*VA%Q@p1prX72|Qii|sn9zII0^XU|(sYuaU-l0XzwEP?`1rBv z)w)|6srohN44oX>)>RUp%WYF}#S&_x-KsT+L9i*0ty=WR(r@m?+q{=ZLRp%{qKj6y z@%7Bw=>$3@SI@dA>Vn z`Rrvc2d|wx(Elmw)yW6L9k~m(H>|t9{^7UAqrLty_X6>zit9oweH(F79axL>)PpV+ zTOTT?OMTmGzp~(*VCdb7w%`ppv*Is5pCjIE#OMBM5#`WFp8<&>f6ie0h$H3xWxLO| zbDuzpb((VB$vs@B?IKo0kkfkB(Uv5!aEIZL_OuVBd$OPP@3rIY{FcaT5$N~S>J4I< ze0gsUUOQwyR&Yiy;Iemt<8!@<$BLr?7Vxw=*-GfrU6gyyy_0wx3yqnKhmNt z;eN)~^_6!XKT^V!4O=XK^FSiU&DD`|p=jH={U7c69%QuMcM>ymS-IZ-{qsss8TpsU z2eIuZIhy@O)*RY@HrDHHmbJTKdFb-|U9a(vn-6Y6cWSNg+mZEpI#+vSpD8KiV**j8 z)z|WV-@yXu;)hyV(m_3rogDmM{NNf8iw6c;cPnU#=05*=e6AXQlJ5-dd#D|+<;q273Fj?Hy>BdG=bryH?8CeFb_*{wy>J(=>1p1T z<0`&d_JDgxi%j7V>U;!$dhZ;)EehKU4p~2XNJ_A~(Q>-i{*tuAoEbA56kbLKzQA`$ z$Q&tL`+Sc79*REVXpDiyWs|FwL9agFG;)o8c6)W$8GoU>0(M^ZwGZFh>|Ai5PjWEs z>ese<)VeuE>dIRibyq_ls|*LavX%aU68?CzNZNvjgnr{3Hn{M3A7``41PmXs~w5`78Lv(8joH4=)3 z=T}v%(9d&JmAafCQrDN*2H$h7Iy8BfgkCwK=IH0$gR3sM=-zpi6r%Y`()a1 zuiEdM#gzp&9#R*48!Hq&_kmgEP~scc^B>Gn4`)A{{w*s^c-wiCu6GVzk3^T9Y2I}p zNT%SNRNBCoYai!N>2y%J9Qa}5T&=I+@A|3^xuLJ8C>E#gjZR!%;a$-vbmribPj5)K zx0bAF#_p0-D_Edu*yS#TPz`=-=)5*3ywo8&L&i&B#l z3_S3{*{?)+wYsJ`W$G}=J?74eB99mExR!2wtD>>(_MuO?DxV_`CoRqv7G3rwf--;4 zB4qcBoX5}R4?b;pUS0C!u|78F{nNxNqQp+;Ez3x}_AhVF^avdp(hnW@n4~jvq}uzv zBJ4RHJN=|=eE;TIaGRZx0FL0ZdcwjBl+~Ixu3SK zxppyoSZl#SgTl1VUAb?=QQLjisx=SwJ`3IR=qu0uMJ=;l8{O|VGAPMCmHc_`CE2u> z(;YkUCpUgB*S=Vrys7kP*ee(QQ>O3pOrGER^x7i!4Z1qq;qv{mhE(B0dqa~)wp(7b z?^%58a{M}R|3`X;u6@~p8=Yh9uD?cXd)PilH`hsT6H;xMNJ#8f(j?O0v_O6E%6YL5H&r>3ZK!JF+zi zu{rpe$BC{Rmwj`--tN_sa6nT+MUFT{-JUsR<&49nuhSQX4MpQ`Ts?!zQF|`4dDUiK zXPJTg$2I037wA>gtULO4%LUU_O<#^b%kop-^WOQZk9Yf_13Mm7A5-4+uA+I>& zn^trC!z*fc5cWO4k8gZfZA1)scs1pm?p+tl_UqBpcO}}sP2<}_NOD>f8Kh$2f69NC zuK)Zi$Q#}3D_^zDIpSO&$T{7_-AVH$Ea$MyM*RHRCnX1iBK)+pPC{=MDPJJnvC2w^(K5`jhFl z3eL?-UW6_q)o%YhhVM|~>ezLT z4`yX*?AO$3L?Wd-3eVURobGQ(RZSu+*m(mn*X5qOWx8M5X5@8BS)=;~)w(4`RrePP zneRWrB}F<{?EmgW)nkK)({tA6U$-mrOO5S0s_0qbuak6H{s6|>Ul@Tsu5tW8_Vuf6 zy*Y>SrKF?ZxXiQMbXx7Hj}q~%4Ym{S9bC4<(wF-#@|{qBkFC@pjN`+`>+e;vprNrwn*ysCRZtH3*Z?sI{tnyvFzS-_p9NDwU6PZ9(<-E>T!GLsMy*o=SnKtq^6(sxOCmZ)hBtK2mYCe zWdODg@1Ar&_#gp!bdyA%m$3Rd+xPI)%a~ZeQb2xYQ zo$dSnhxd8j_jPNFZob$S*k=n$tiO(+yHYoe`EiId zH-x`g4p9r)kz?wHG`b1s)L{p;8nuV!{P#H~Lg|tao+mvzc6x;#6gh_NjqI~v*ncn1 z#|p6m)U+Wk39kFQ_W5%TNBMpMve-k)Q77HqwpUVzd+a|=TMb`07TbZU7Q55advN!~ zymgM_?rC=jAmPr%NtMvQTi(UZ(_5or?z(aoW_{d)mva@#yA_Z(&;8S<;n}+V!^sK; zh3}HhW|6}8j$jReSWLzXNjpdAa%gD8Gb$m`!kCbZOW>_IDIKX&_{XlTkyL_(l@cIO z^}ZQ|>qOD_MBIMLGS8azw^sp@-@Ivr;rdPMZ$-g~_X=v-7@mQYuhVmN18{RbK`{S{ zkEY^>1+^CIH9UHrXGrl%^~-;OHq#}T2|QwKZm6;2fQr22Btg7PQBK%kGhj8%RGDuE z_EW38j^Mg(oYfNJjT9e$32#Ue!5%W+U!mq*x5qB{YkrIh5$c_Tz7i|+`2FwtgMYHy z3-b?jy7`8Bo2;oH-%*4Af1-pMsssxyhQb6HdG`B+d$@#8TBD1nYOj6sDK8MeKmMmz zABc#)%gFHyFA1VJ&p(}{Ew7NbQKxlIy?i}+E0B8lW2e!Hnfy(jy{<^?;})J*Vi{(Y zn-3UXK73@vZ$9D>0?`BMCZFW$@_x1~s_BzcIgCNaEus_wivy+|g*QNr^c(U||q+fnMc(fim(?P(jdNWWv7GCQE@ zyaNqJg%7`yqCeyKB8x@nU0I9U6VWEMMk^5J~R8*k<}n|!&|It^9pQg z?{5E4@pKJu$7OsMof$exehQ88c5MkwxLzSy7Gz8X-e_sG77h3z`O4Co?k$5^%gufL zHyb0MW9+%K_7nFiw}-xqAh+cB&6uiBDC)04(J6lOs9l0m{&-7O`)9K`5*AA;go5=1 zC59dNYRz2-Q3hNZZB~YyRv$eodAHI{lvuxKgf<`qcme!HZyQF267UXZPb%3Dmyr&= zsc7!IG3u|QGh5X<)LbAxX1fZ9?UA38C_daFQ&bOIZ@p*K{cN69+?nZPuK7zyLXC8| z_&^(d#1c))6Z8Ep{|k{u*T&~}@YGVYf&VZmb+kgHgT-9TR9Z{#uaUkxa?51r@#@*p ztdD;hb2_(oMZkIt-{Rh9<96Ddte2fnoie{l{Z#HHx?-u zHI7Mglnk7n$-b9=!GsXB!RhATaQ{5BoFwB$v9bGz+he_>si0QL>baj`&A&ESU5$2C z?b*<_16*#DasH8+B6%kPB^pt4_xx^Do6&(5*Zueb{&%9Ah?&P>ge$?MRr85iH98ad zj{UzA1)er*UYe&dd5d*i!#}7yBP3&k_&Yl15Ohi%pYeJ==H_xI6Fw2c;)W4z|xFqVM@w} zhK2^_F+H-t0Kkk=X7b+N9WdqY!yn2%JNnKT;ngdjJ zz>s0XRiOau79~Lgh8)15fPKsfKvVN-^AeDqx#udjZCIhyK`pLWWz@n!Uqkk40c~c! zNACQti%2%F2^niMV_p!RJf4t!?E-jwdaE!QD!W9}6pE>9*dCa9qv}`+b7iA7CjkZ< z@VCA5+I;8emfWEZiUxh577~>Exm9?BKejX(V;2L+9~Lms&IEF{_n-(*>pSdv5q$rM z+680YHqWypeSUEkHIh~F1LAm=6N2Z5Ks^xS{Vs~9qa;YElDnIU~r6At+IL4 ze^1>6Du`pgO10(}7kC>BSvmMKHQ@%aiw%L~Q&}7GZ;rD_fCnvamX204?-tyaYj0a_ z|BYPvqpg&xp&dTubF5XShLo!_`Z1inlovc8P|vZyA8oy340@X@yvnx95oDYWP;oY& zXoBY)xXtUVVa%o*%JHUF#&!K))w|#62&-cz zdjr_nUuK+5en<6%)S^VLS_Q}yE_TuWZzjt8Szv@tNr(dFJnX#B>Nq2njwl9c3@IJt zP>YS9Zr5_|K)1oaC`X?O9$+U#hG0lY^5bF$r;jmQ!?-N7^5NZ7wMESKV9_Ifz9gTp ztxDbg$zTZs)>LZ8+eAEUOz2S(F9Fc8>eOWEu3NMB=I_43o_J10e6~)~J;hXx6X`Gf z&oF+ww=`A;LxvPi&m~^)L>m_QU1c5ZjcN3*ILESV{~on;_I8^bB{VNQHdPd1BXP}r z6<0p=3TAadK`Sm)foc^2$XBHUmS+_keo#=(OmURd489G6;%zPFb)Nw|VIU_+brSsz z0Yu1TONmQOLEfY3BAI;2ig!n^88D!aL38;FLVKZ+?}^jfNS$)qs)G*KikO-takk6YjH34!vc!`yQij(r{P2cC_og$ z3QjV33G+8U`iJ{3UF-+3U8B6!`hh9C78}M@gp+S_oQD=u@#bTJezj8ewzw)ySD&u&i8)rd$lV;& z@}WTah1ESai*aO-DyqNgCkySqJ*x8C7>w6q4H+=1{TqsNtm@1!ji17tFXUtC0xrRw zba#zLuj0hym>rpZ3V5HcTGGOwqMmmfr?O}}3d zB)0IC7G<%BhRq=p5=HymB$WIXhPBG?zszsj#;ba)FS$H+-&pJP4B|*Mf>c98HnTDx~#icO}fh#%~uI#9h%KkhD^<0B#q~HC3J85JcQ=Tr?GvvVy++GaNhG z<|+Ynk{R02eDm1bE_}UC({X(D;`@P?o5Yq|5YsH+u7uW^SmpHaW7qi3d7<{uG_NDA zNM>FS3G8IFI%IjdAz)7)+YO!eN0C7fAM9@v zii}$xO~F4{=YHZCWKg}xsuj|0E61Z<|#QpG=wvJ^Jm+SvNs?RTY%?!y(S-qLvEgsyNPGp4a2mh0~Y zK<5lnIV6HRe|?z>VQ|*joS+t-D8SgDoH;Lg z#wHO5(RfXSAg`Fcf{wTUNNfMBeN)_3G&_1Y$LuG?SAh)s2mEt8N;7_@Tz36fDGSf0 zHVS_RQnh)MqP$g-HZFcPs-$z-LzyH@w87j}G3Jg<^fa$P}f=DymmbB&QceZwWFTO zkW;S>cwF$acv|#5yvGsT`Df;H{z;)03t+}|o1PchlEacc(NS;;=uU<> z%ppBL{*{bjf!R`Y39^VaC0cvhIL){*KT|6Sq-5 zo&)s*W-s%YDxHJroQe&2_GRA5FHF;vTT?4A=^;03%nQbPoCszY@8cKH1z@Faj=&|v z%)Hsia-wccNyt#(H4ko+@(4}lnxx~j@IPqiPe;UmCua~cZ(CFOF&kdg$sIZ*w)_~4 zk|#c2VCx(^io&Pv&1Gxz=)?!Q09N7@Lbh+p;7uL6I)~u`fP^|U9@?NLSK$qgbPBrO zv%_W)?hoFZx9iU3kbjx}_Q0TCjg*9{Z=dxHM!TgSu7eG_ViagdkcE&Er?nLVJna-b z|My9K@S!G|?4Kz+%Qp8x=@ZWDonK)wI6T}2;FL3MLEJ&cTQ#mLS|q+D1s{HOOzQ7+ zn*(TCf^S(;7UNc5;?|;#Z{^C3B3hH#C4EbLM<=-#5RZG0Df^CT9yi=m%?>AfZC96} z$g1UR0RRI(v9^=_#w^Pnk=Rysp5{?Ax)SV`=FrFUy{6?G3F$axx!0gb5=Fu{Ez2?Q-9+DP}Oa0S|uhx#nRgYn}%5VE0 z3(Gd~Uw=I$=@*Kbzm`n!X~yEBwnM;RF9+>DHkQb;p6V-cfggN8>N$6sz!}f8y%Fvn zn6+%XL4$~1yVFOq&e~@TSOPJzO5r7N;eU%t%yz3wUGek9z^Bmb)fia3D@$_4VX3o5 zARUjv|0P&mfBCoWlqx>&m^=B1g*oM+4FTa4Z*}^wo%kLxBHk)hd8?EC<=uO|$#;ir zN!1|0d|Cj=W-e=@;Lwq@EPEfyhLn4Go>f%Z1A7>xOVd2NDdHSkfBLDVdoS+b?;*Gp zICfYZabGAqo1<-?@+J2DfSth0A&g=M|j4yu;=d+q(~;AdAhV`qk(3UwyJ`-ew0R~q1Z zb{6r%DZ5Xy%Dy06uZbN8-BO*)dFr{BpO;dWjA>8(S_Wlaw80T#Da;(;vE@LirXVj# z0P|J5hsOwv&rfLPyh(70*@}Kifu`|#F#UPb(Dwkr#ctXv!RcX;S+%u6D-4dfUYQ5| zRNTw|nqus696Q6)Peilqy{!p-=-lV2aMh>>u~^H~(X{3D?zvU1JR%d3Of@>oQ(eLw z9PF}mQ^G3#77E6l$g1mKIS&GI#{;ZiVGD=TzkF#`K$o9Moi9?kyLtd*UTKTUAHN8m z^`Qz%m5LC>d-5>|d0;~9It?XO1|$LyCy7l?9Obc2p-^8zUHukZ=%O&=R}pK(=qYRa z*{2EFT3hU&`CK47Yx^H4lkY{!;X)-3ZTSG%I?sqCVS$1oWQ29;*7Se$%(P4U`(mjl zwn)R7iscU^7frK|IS=E|6}V>K(N))t?7<0)2kc<^Qatkvw0yvr2o^M?LC=P=JU<@C zdVg@>A>*xZtJMoEjG?Rxr2VxoakEV})!q4Gf|5IOWruTcum7;80>w@Hr!bFz+et+3 zCzVqu$HFtfvg+RIAwQ#IpR|G?CN;HWkK!4ybN({0y`92V*PGjY!jo<#uI#H5zqexp7@c<}Niw#t zfHwk+q)wAFN5P>n@#<&bjnM;sjgF;AGf5Q8)WR32xjIe5GNV=0-6)a4kc$34l5<{r zmK4phKd#lrULNaMgjAc!6bQ7Ev$S@F_+s;*DccR_M6)@BlZNPuNiO z3%dl>NzTFd1mLV>piF5{NTa?X%*p@wI5JYmiy?Xpbb7n_kkFa%*+|#=XDLx}kR=C@ z*)n+E8vAz(>ZIJuNL8g?H0-bEqsv7PH3Zdcp_!1nfUwfpS}{eo5a*P2!^KJTuNaiy zI|7ihLLHEV&z_hE4J*HE?vnZ(R2(?Zoy~Qkq%=8i!MD6R&$1tMso*mne(N?uC`C*` zPlQ?t>vOh#h^vNo_aJ5BFz}iWCjBbyZz$z<@v~UEUMq7Q*wM7QE3IQ{N67bK@rgHV zErixEyOr)S!s5N0`W@~`c@7b2^qIh#|KE*Ye)BFOls{g|NS2QJ1o--eNT2DySegw! zb6MR6ayg&ZLz|y zTv&b)VRlvZ7LAzOV)VIH4LwZQ>Cl;iHyJLEOgf7J?(^wp;uAkb{dD8Xe8A9N+GLtF zAEjw1e0DIfBPdYC>-j!rsrkG{=m0rcV0&J(^N=qU9~CwiVg8!#>N}|1USn z!0%UZLm%~5#CIZ~M`^6-)yi{eigP>7oPSK+ha*OoRrJcX0rx##Ny`rZ{lMuS`yR&v zToLk!wmqO!VN&rbEL@ti;dlKbA45|Hka7!7V1(aHT@xe1avz>%9< z!KNYoCz_L`TneC*`U64&UzJghy#*IKSnw&rX!*?LPIlB5o*3Bqi@p^;2;jF=XD*8v z%Tao~jjGd{eqV`yJ^Kn>J0q-h?#{$y(x2nuvFLlDRXo2Fb!J~r4)Zkk%lE`J zNU&h`-g!Kvrf;f=c9UBczjQ#C23Zg3J|7vW2M6t~r8o+`LijPvw%pR z5XLR8-@Gmq88@{YXY7?uk;eV@K{c~xVJMFt=9Cnt!V3k8v}E0SzL%mU)K*w@9w0&$}r>E}g%_w`H6 zL;DWyiZ@$6&Jy^73VCsKDz37MQrDdnR@mTMZxq;-%V|U(YkxE>L!+Of{z$DjEy7Z3 z#S$%-BkAlGZND8CuG6@T=*dI>Nr|cVc6Iby;o3C~9$dLt69gVY{tm{tvLHS-K9qZ8 zuN)b5Uqf#Ly827%zBz-Jy90$wc5!%aZB_o@8$-E4ppmH&{_8ZliN3y#EuX9w%*$`6FGeSrSVnF1+VoHsWs57VGccH@J+K;#PF8Suw6wYTGjYLW(Gw z^eIb}1pR<_8spHYbK||vtOT+Nwb(k`5PB#7=Pr-qAaDv0D<1}IE95=9u{|@6!*CzS zHPdB?eC4z?0(wI;dgyRXw0`6u?USmIlgO4J>;sssU{`- zN_7;t9lHA5>g)Y>5Ef?y4goLKeQNjOr#jf12(R~> zomU$EbEyoPO>W_=>^G?=0fD8b{H!F;O}+T3`29GIt&g57Pp{|K@FXy#J$Sk9I9#xEb6C@cbS_c9W}CeVfn+=$EkJQ|mj!;n4Kw&FAi+e;)C^I=v@ z7>}8!D?JBgebr|^7V^Bc!Mz%xU<7FfkhV8`p-s1PxPOi!74)?CgP$y75faa{}C^ns+-7-!n``F4+v9D}D zg85@tj8n`ODpxuJOKjP0gwGv%rTuP+73F9yV^)NQ_PLf$iY&3u8Ww}~vduiZ@uIc* z^0^Jm-#34f)6b3D6q}X?YC!bk0Z)jU_f}_ds&tJY=PhB?&U=OX^`H9GDcnkKX)lxEViM)JG!YO4+IzdI9^i( zKk(#4VyjQu^@OTk2<(1+Hj6$)7vpR2Md@Mx`-((ncH2zxf^gu|L#R-(FLu}k4pn*X5bimGI%&$5 zz7l7B9|1tkS-UB%{JAW`4;r3E)JvLVKV0y$e!mW$h?FB?q*7c>&pw~$KZM;Zq|NY- zK8HHl%Wv!QD*~oCIB1*D&&nxR*nV7Z zLBTD$ibu&f7`{qW0VEUu3aSo{rx%}5+9;xNDHeqJEU%`%>!0}AsInvY%l0z*Y!+L` zW#3=?H^fJ?;0B_ylZ)z-ftEuLXH))Bls;)Ts9y~>X0476*=#NKF%BIa8Jn&w6$=^N zS+FGHWbVO&__Zz%&G+pX@})dDaBq@3u4Kz|#P@9N!6h1|mj4QCmJew>K#r}53I$=G zT1x4IrO*gVg1lpL##;W_d#PQ(FpU>GS?(e)pB~&KFSOVZ z|2ffyi);BVx%KHVWO_Q+j7MAWHFoawg+YbU1e}_#?U(#=k`}8XnV~3CdC>LhTKof}B&Z4+FklEWiyb9D56`hat<^%_i8g@b9WCW{ki!wvj?kS+I7TuG9}wepg_>qeu<>2Jjv@51U(Vp zajBG|TVF}Fh|TD9Jb+v;%Gii*O@Djww)i2qZh~nS*~nAuU5t>dPIqO%h95l2hydN7 zlJYPUtHBg~xC{m$&5&C{ble@!&Pc=x0p4|md+;;8Q2VkYHJ8i*;pl=`r3nx;6s zl9;Yp_|5G)hO5&*6K;j>mYGr$`#5_y&A7Gn%XHb%M*r#CO+G*e+l9C3V$rhMp&w09 zczB6?`r~Lnjmaasmeo&L4Ng7_$p;cc9b+$KN+!jdC^3Vki8PLVg8IeQq$Pd z_F-%vN$fVeYbLgr^7msGfsH1|%HjaN`}*hIZMheb&o!qm?-(=s zuQ^I90sUlG+GD}^=!Qc&_Ry+2zScV|?^51LSe+c3l;mka(9b^0Z*Sy$YMt<>;UKVwX5G#zNl$Z5Alt zzr!{!wN))) zeHyT*sn34x{*inzI+T@iodOWBU%OLR;AECG;a8T~IFyx`QlXQMpc3K;#H1$3+~TASiMgtXWgll%{|n&Di%=*%yRR`FKT;O=LqXvD2=o%g+4weGlOL+~Wp z9H;jz1q1A*CDIN|i&Lh=M~3o)2z-IonUzao80V=IXO83Ico!^JR_Zk`E(;eNS!1>V z%s04N7I#Da;Rq@Q9iMA>EI6aI%$zE*mksNSHukXO(BQ>Zw!0yBXV^s8Wk1Nym$tLf z_cp33IO-H$E>H!pkD{q_4pBL5OZTWS!F~avmB`Qc|C$rTmO|C*JxI)Xykkrz{&QQ+ zkukzG{D~Y*gAwJYh&Fwg2<+@4)fW6vdrF|TauRx*dzl{w<&KOFN9*iP=DLb zAg7rQ3t+e7g)!5-^-rhfKU<`URY~18wzo+Ktjtz|-k$j9%!Ht7$nf;t20Px@=~~l! zU*@TP>-(M3NUC|EuvWAsP}_yt$WO6Oa-U@^YAR2A9vu3@oW#~UkvtJVw)KG*^UinU z8yE!d;+soGLiJns!Of#r(-IU2{h(@^F5L!#vkXOyY4Bx1;i~sr;tZaVCo9KPvsz9N z5!OGc*Q)G~TJJ*cG(4Hm^w?B{teInLrjQ5!ktQUVj@=Haq1iqIh|Se{?PlYb%*|fr zb~{P!)NECXu1~hd=Nn!h4|$FADf0>qo8>TIT%^zbHg4vA7<^T@iZsM!QO>IdaYB9V zxAZHk>?jx|{THw#lh)!^WBqorLQ5v^u=qL{i0r!~=gRBxy*6u!2wy2iSgRLT) zs5^h>NQE{%MHNpAT^WX%MfqRhfVv@rA)aVZXfIoF({_*S>UmJI&Oa!8}<%L`G6n zW>Hcta?*o-jU?cHXz)NOL~=T)m2>yCNT-M+jsN+gw9Up#@_(rjX}ooX>m;wQW0ePQ ztJt*kgn%yl!+cXvSgm7+{}YSCNq>C1`T42RK3z;vlx=a?x12Quu*iNPUEc7M$}d7{ z@lOsU?3jMHb?zx;#CLo(g6uSwf6wow__cuQZU+)v1re*8otXWo=c0}n2-dF48rX|m_|3_D)o8TE6pnW}Ttkoe@n%Ke zT+F581hgVjw_D0!lP9UZmg6oD_R0lZM19As&TW?`DJ$bxtA@OBncj~D6Y@MwCuc&- z9eUC!G{zN>@p8huU4q(!yY#-(l5ANR5z_*Wl}GR4m0O#Eb@|{-Vk*o2H&V5x<2vW9 z!HKu(bxj-S+IkOK1^dbm8p?+X2<9iDn;T^WaXFTvuo<0r!#6D09aSqMRICW5!V9=| zF`BZKkiAt4dFTikf1H_N!+rvRh$rNn?=`+lVhn)g#g@4PzMJfXR$5~uX9I`Z?srHn zIPqz(U7j+FtK6yN=o+r z_A$J)s)mjilKZviM`Lix@#HK%2I4$6CnoKjkqsMI_Fc6z9J`#cnQeE)U`i#%7jhHb zKRRXv(Tpc#E%FdwR}u$Mv$czhV^u#3jt8gS;e+UK#u^)h1!MEfkq8Ebk<8gFDS*5W zG5FiBw9X27HvP;8Mn@Tc8=Q+N&F;$oTvw>nKf^9mpV8+_-JxgyJq9s3;;jB_J3Yb3 zN2%2GZ>=f8i2xRq-{le;;?pPzEgPEk8v_nEip0>QuWt!tneBU#S1+x4J(4U5L)H^T z0b%o}X&`>>nx>tg{8}rw)@#hKr7Bd;}BK!;dx*}=j1I9BUhv3 zJEtpNaWhf9!7GC(M@hzkvo+L|bw`Dna!HCjNK~FQ_)`wYwrfo2XOa+_tCTo^v-n&% zj};gu0sRrBaMbmw@xPrwTifFu!Hd{(&bSFCQT^Pq?R;JBAO4`PO~gl%Xee`Z z60JMB*bX_*roGd=I_pSi3)=7b$EzhJclTDiRs}-CDF*IAz^0n^_})Uhh4us$QT!-q z4Vg(hx2Y5|&M#tP|Kr{&Her$wXuKajr5K&I^7cBa%=MfmWre1?!JU%5Pk30Sbv5K| zAJ>XrGW0}6;%<-saRAY(W#ms@!19FUX`~Nk4lvuJxP~z`nfKu*20QBI1goGYkd1eV zm^ehmx$CnTwn#<)CE%?=z0}=$iuo6bX0^o29gN*{PSG>6!x^(HI3lnP7{3ieh4WTd zA|8gV6v>PFNV;qFp1b=sv<-lEv>)@b;S50k>Rq90A-kFZBHrYOIp@>VG^~WnvEbxt z%4*ksf3}jqaqsECD$L|LsK_|;9dV?}8+wME!JqY>WczSIPY53apK~>SR5Ji*H#8L$ zn7Cz+YQ@j8?K0Cu7gDfGXuRO@-K}BE(A?2hETBzb1-6)*!;iZ!ucWHMlg3a6=rYJ9wDKDBI|1zr&i=Yd?mC&-Nuz^zqe- z)Q9jjld~t1xsokJ%KrHfi>T9<=3AT@^XdmqLI?BuX(YEo*#q@54x{!~ze&auM*WaC zZKq6WSoB6}eSb~eKMC%8R#nT>gTIJNYYL8JI+%*TRUWt|q}ZYs+Pde2rC4hE!>@Rt zo{j`A&7_!gj6q*cp~cu`>Sa}0LomZxG+#5j{v-XF6-m<+CeH}%fZHqcX530pC>zUu zc-2*jn03{GNc@5yDAMZFF5gh?QNe6~ExAhJjG;9tp!kRma2m3@img7+sC+L%c-a8- z(QYS_+#%Na+qA7GHg2e7RJu%)dbEC|E%SCUt+h22Yu~eb+H<_neQS)Syu@sr?*0wMr^f6H3|5Lx%9=wxzk5Q8_22887h4<}3X~V)jqC~rsaV0FCn6~{uG?;VvE>Ya>+QqX zl8V5;`Svj995`5Y69y{?rm6j@$5^N;NyPzQWC@*vUpHbQZ+C_-eQ+y^4T-(OKjH^z zeiXV?9JZFju2qM7Z-s{*6iRvf_orsRDOMVi%ZXRwy0#zg>`w!v)=5b%LCQHrDY7L$a z$_>?dnEZBs9DC?1eLT@qJ6_Ul!w;>)br#?WD|aV}Zi_DN4{ z7*MldBR40hBER2VN*0*kyIX;uidPKR{-`r@7~gxHJ#R!C6lnGFYc1~5#LxTLPc=ID zGAWnS?Rw)DE_;;M{h)FOwQ@RsG-LCzg5ElJ2_-isg_K?s5FKis%BDk^_+Oj+0`}mK zSqg*wMgCt(ktn}Y_IrSgu-YCZP|3%2Vfh{?40 zan$P>xk5z)5sAWKQ-6fjNSs&HoLUmcS<^o>JJHjES^+zXTPlV^J(Co^aFSlB&O~%z z78ZP5w)+Y+Z(CSCwy(!aLzY2Di>9n@TsARC?$Tx+0?= zVb^Np2T5jfE=cw3l$n1OGTHO~`f8cGjxk9N$Is;lE`L!O5VOodm4aoFQ6fh0R+!#U ze^L4KE&;qu?P_ja{%(KPf%aD{jVilVWBbgBKN10FnPsZXsxA4ZH1hdGby90-8jxVr zuJ#+ha?4VOMsm1?xv;MTUE0CBK;}IiQZ(OhKIj8l(^?0t4wcbqxw~g%U!Qs}!#4D$ zu=56d)1s^ZsxJA^Q&Yu@l?rC|T0Z)ynR+VrC9R*k*3L&ZSF|uPYT?mbF61|r2V36c zFR4^FSgotWZfU{FFJ!<3MUulTN03JL`Sx0Qo)Fc|@}D~aOs)Qd*`wsP#i?vC@%08| zVE{@%wZAzXsWCfL?W#8Bm80G`DuWGIVD~L@>qjy4i^r`z&qNb<*h4*oYmR$xdmCFX z`4q8DCsrcf{l;V5+3RrcnN8xCNYZ@LV+opA#Ph(gsP+!wRzCyQ(O@XFp()sFUhM#w{TK5{{=A6~y-8@oO!fh1J`-f?pB1BrMZ{+RtTEpdsX3IC zD5~~-Xxm)9UHGc@MffD%mx1{+O$oqC@mh5IZ`(|yd+`2T5>lL7k&Wk0x-e?q(mSpF z*%`DigWi%rP4fOWZcTqo)PgYpx9{|1=qnjBj#xc~ALoe@$EPLt@y)wv{g4HDa3dcO z)!!eDwCbyLPFlMZw0*)1%o^c9K!F=AkszFZN59-C`0zRTccZ|YNbuK6Y1vUi2UDWB`Dt^Gj=F-@4bJ~Yk`-wmzs`4Egefg~zfL=q zbVtqqyHF=T{<$Ejp=w@O?sO*%boCceDR(~6joXrNJdZX|gd6Tu1W-$Yv%GwAmSE{P z+?}c2^S#{A(9wKpPO;0r0xfl2n%i)Hk|_FeE;ppK&9@jodwf7lPOs7%vXWJtLW#cc zDc4%U@M&Er_?x4TU;^HqFBJs`o#U{z8w{OI7qQ|_Us(;q< z>%MoRZtWhlp^7SotO7B9$GXviV|OXD@79`I&Q@qqM^)>z>z^)TC`<3$Eiz9ca6Uu63V}-SkDXU27CBLKAI-&~`sqZ-AMbr!RlN!zb zp->7QW_X3>8zfbL#jOLz(83nL4IO`?{;~B!mfy=mr(Knrq|DWERW2h;*dH` zArBJq480+GNTRj-s_vy8V>a2$q6YAwxoYTG)_L!V7v3#TYI6_{{%D0lo1`Y4i1JmG zZmgZwL^X?p**yKtgU<L6* zF~$3hUgH;+u8tRF*Cy4yq{Fvbi5k&wk;Co?j!=&Ek07be5Vn{5KR^49BQ+>>;C(r3 zKn93AN%5V4i%4i)cuFotV8*WTDF3a}%k4q?6VpgC z;cASr*lY;zGT#rW)cv3oga@iuuZQZ0bL8aOkq;L-dPw7hVddqp6vA1*3i63oO>YS&eb2D>#A5jdJs9%zenD6D3pwufFzhn1}%@T)VAoUg|1`jE}nQvLMKgdm|9UTrJ$i&eM?oPYMc(vdE9M_io_Q9m%OTY zwsrO@q;hsR-~p?z!fRjL-|2pe=5OU0yY9Vain?>?TqAW(=9!(+h1rDiPtyl(JgAd-K`yI#dkUPA)hv4HA9=9Zi&lGO1rWkkIc%$xB?@# zeXCQ6p~@?JNREf)sP6aKer?mngYfvOv5JqICz}l`48=lwn5@dF_@aa2?a2J%&)}V1 zvo>?1Rmhk#{dVzMcs4n1q@&Ffa2`3fqV+=8)L3o}f!2>+dIgzko#j0q{T4}6R03@p zaN0#X7_YFj>wC}8S1zoNk&)elP$6X#$gN<7c)x zc4@5&|Cx8g%ee-ytEl{&>Ov+Sv_C74_q2cBR`)K%DY4#oQ97T2j0~voyiag3G{v57J7K3*Q722+yEwbD~Bss=pF4> zEw0*K{INm7|9lm1XM929nJqLN&K0azrTMCZ|BLg7AVv?ybHYl^Ic47MLi-n2s~M(M z65drX&3nn`1yH1 z;b>4P|M)R2{DAaaC_m%I;Hl!B*95)unAX_K+d88VC00oxn5SCb@_TZr;P}JD;v!XK z815X~icB8K1jI51M-(>EGKB5tov@Y^WG@}o7937Br8snHcH(1ntLDSKwA)f@$l;k_{^SxVk7}L_*_U+-t{^1U<>ZLA) zn>)~BRpFJmo2kUZ`PWAmMh!VDlJxNY??TX9Hg}>)TZ{{O!0l?_3~YN}ksNpQb(rS+ z*tvp)K~d;TX;PC>N67Uz>z#)4S*Vl3q7o!{M%HS3ZM8hqOh_{)WOG3#?S$*f9R)>% z>%{|!&wlbk)3km`xp>K4P87fBwJ}>-NUIAE)mmrG=t8vD3cpeJFFL)yDDMQU=^?{& zOa@sifBTbFG8mPn2$g}`@E2|=7`D|e6Q!lxFPlZFk(Sor&W)4DIuy!aKiS6}L`{%{ zQg^Lxz>S5&vxO@?5UAM>TBv4Z4kw^n@V<*eJ2zfl6K?I_P5gg$Q)yaKNr8jteAUX% z+_6Zm@@B?$Kh_gix#jIxlQkA{$@atHP-DtJQ;JL_E_oQIBroU|w!qq0;7ZfK_-cQ7 zth(p94zur)bl8{AYccYcOFW<1Pv&#SH!r=p&3bM`I|e+KdlkvUXvE&y3={=ryA8Jm^ z$M{4DxC=46Z2UutL_zAN-JkJ7B=DjScA%o%mTxJf%a2@4FS1>c5xNz{p{|?0+^68ue8|uH;`P0I{G5NjGyeYl_y^}*ipU!p`fqONxBm1EQhn$A`?sj` z?LwH!2hBEzt0z5=`aoeEWCVE)tY~D5cU(hOvyq5BjitAe6Y7N zn^U1TC>SFg;8L>!4uZw49pfc6is6kP-sAt>ch~w{H9D4gnzaSZ*-bdHZ+|1W&#qi; zp`@w|`A0W1lj3z&eep@mYWF<3le>EirF1;%_+w6>cyI3Ya%OvtAyFQi(;SZ$RJzwra|1-{aeng&v1eEPn!McA# zv9N}!L|Y$w+y#H!)GhW3y7Zu^@BeG(E5M@ay8S7oM5Gakp+jJ3q@+zsN4t?Ld;*9Q_+aLp z@AC1;pXhwV97;2N3P^nWW+ul80k6$|$vVq`0J$_$AdU~9MSqx-i^=nB!Pq$6{CHlr zk&X~X%{UmPIbM9Tz{5o3yj&{#hlHnzgq(zY@o7$_3Vq5jU`iyJBY71LgFkm*~W{O+#w zCj?^)ZQO>QAYQo7PufkE8lM~wI(O~Hhmd0<4+Qd;dtB^Y{0DQ``Tapu6Nqv%=j++{M{1@G?+=Gy$hRo)E5|?EW4n`2}ebbw;}j5&LFS z5Ix?jnJM&n?3#gTxezsqb!S2&gScA_ioxzTcn2Shfc=AlN!SGimEeA1w6tyEb1`HhI|dlcb61`2H$YRtQlSKD1dB`B zU|dYyA`IVDy|Qi#*7Xc*_kzMicHX$y>}q(ygHxCmpB2!G*35Qrkg9EZE@@Ix2W^k(Q=mB+$wqb7~drN@fu@mP2i)2mPi$&Xb0sm z^SQ;(G^9C^ojvP=noe8fNw#2@Wk+521XQfP-erPPtd!;}K z6K}5haCPpR|cY}7H9dCPd@?6Snwz1fjmDyE%z_ZjK zV0PyxOp~Yy&%Akb{$) z4ul6P_F+CLp2K&Hi8%iBy6woRQbf^w`)faw7J<tc}~G{vUF;Ku#0x$CW)q9hb5IE z$DJ#XJ1pohw96(ZrcrRQf<9DJht6)g+ECthyyt zTwOdTd(P)ZusQI04qZ)GOxwVES@7%}X=Q3BkZ@_Lk6)QN_brP45h!6ny96W|suCz3HlPKDzhHDM zh?$$nG;ytQl*Fd4_HwWnQ{hy_pQ4c$wtmj(JUH=*=rJgCF)uz6-uV1#CR{XaW5-3Y zzbi&B;VD|d0O@_k?&Y?#b9e;|<`YW(DjBh*opQP93K5)YPb5CX4OSZuUMa1D%VQ(9 zOf}P8>~qg1m|{_JtsBYuS8soy(o~2@ggm+V8kOvF7Fj=!calK9R}&WY4sijOi?3U2 zwNs4i8=)QI;c&QZ?G>iv)2Y2dZ#LQT@v;2yOYe$2R~4gOB93~0YlzZ>{VJAvlzZ1} z2Q!A@>G+FgG|wM03oCZddzbMt%`c#Y21@e|fSsZ~1zbw7^UB1b*Mj$R%VskWw|rXm z=S@zQuf7#Ox72DlORz0;he_b<7JE)-T4?SKlaKEdm`j{{DdE9@NVt*B$=2bvP>Fuv>U#_d9;k5;Rj8V8`g8*$&zb`l z)eqx7w}vKb#ZtJh?bJm*T4`)u8vJ(SO?(J$yl#faF-iM2(^v1p*tM{T*|v%kR-SuJ zMCyCko*rT!_mhZ+UzNHyM1CBX+CdDOlaSPM;`z>{dZ|QgPW6xx?w&U{)s`BjNHVNCGgY=_k89(d~=H~YoRb&Me0xV%Tnf# zx*p|Z^k4QXsF0iYDp$1CLJf>9S{om9sZe^~FX)weUB68p6=PEp6OC#4>3lyv4PoV5 z@fzqg0)Z5CZq6BX`_~+yp9P=Mvq5oL$fEh<&$NK62F|yH=Q3!mdOGAze3o}?@6B13 zp1jx5UY(N|v*c~V{YXm7lB?2+8t>U1Aqr}oMbR^;jgt*0NbQ}sGDpUhi=|hH(Y16} ztko3rF7O5qai(V$md~Gk&9MWde2*z1P*6K|rwE;Jd5fuoqDtNIn8LmIaU!NiEe{JB zsH~pzQ=tdh1iJ_;iu3HSF12bWV22fS0ngq{x_Ubs5_0!V#M3d1@Z2gl<#4rW2JlB! zTE5n(DQ_>9Y>hgR@*abViXJ}|zl4uVn1bfCO4lx%y&$r&cLr}z~B~d&#Pq_{Pm5iPCEp{6%4%@0o9>$CsBJoP}rCJr*=Q2$j z0ZO;BQDk$TO1#7yJ>i#SmI=f6tt6?)W>DQWHVMj5tTg;!tLF;sd}noG#PK%ua~)en zKb!T1tZonGz>afIJ?;yX_+h`z8{uDjCeeJBxi8#WHgjg9a^10JBEG;vA$qz^dAeSo z4YRIz`klQHZn4|cC|lqCvw zNix^kb!S+Qk0F@%_GgSR-@)6It3#xBSV>}y??e=wiD{mJWno|o77`MiZF=ANwA>-! z<KD3*BdRWR;%rh7 zFqE9kMzev#+X45!tT;7JwgQ_QNQRSdwKQ9lU0@@YL?f|)G3rW;gCk&(Rd+(Z-zCNG z{YiJ#Gj6&o=hIz6SR3obZ`_Ug`txSjjqU#PXbR*KRevh(&+sPTnIr?6>p z-Pc?D)Y}%|Mz%l{?S`b_F+ROSr{RVBY3C;%LgZJ7VuLwtFeo7JNHLR-VUL7aXi?RV zJ?lM@ma?qi>Rxm8mGH6QIbyVX1R3FG=kH9-g;0oO5lC&JKHL$)R$rd9X?&_Jb<12& zkg-Ccbmm%dlahAj0J$15mr0Jj1j?qr>zZk(fZ*A4W$)^@+|1+`QHu)A{?0zUT|W2VlOY$}}OETf)3-ibML`+T{58EagghPh;>Z&5~tD_1zS zDJF0Ung1zj=+pzIZQd4Niqu6zwCAKO{WmlB^# zY9IpN$G$n=o$I@{+I(MB#(MdF#QVqi`Bwxw$+tVV-+qK~xGccfpeXBnt8T14jic-D~6->ML;RX)oB0k2uQ9mtdOUhfBvRk~<8f9A3 z_!(6T!X?KB-5Y2w@CwfBX2=l7gg+on;7%4@;+|q3&6SB#+bT($kC7G`tXDi${z4Y^ zS(MbmdtF{3gfY++jx{&P7+ce*=|nj#0_L}!2{mL$uN6^f9JWYwZM7licwKvp@vL|> zF6+oPEhVZ}rs{a%3FG!>iVEH8?S3UVtauwVu%v+4F^`Vm6}7^eXtvD}yNH6q396U1 z7fvr4zlt@y=d%O25ihN+4iV>be_g8VtXR81_c{Jf{G6DI&%5dT=e`AW96Oy4E+FEx zxO4AKq1_R^g@Jb>yvF?26R|Z1mQHcyiMH#B4$7n+7N3$f)4ROJTCqyrzrdBfGlG*s z>+<@Q*=lfLz7bKeMw;uQ@2Z#9+^n!@?a-B{B+^#^cdjwI9fz1Zm(B&bxhUp*ijK|b z)RDQ^AlKEl8O}At?rRF5x<*RUe}z!r!!KT{-CeKRBBwqqF1uS>)gs;2diK4s)9p9@ zx8RN${a05KI%Xcuh6mLtxjL&3ys;l@AI~h$a-esQ36OHBa=rHO65n{3CB$GekQF_p zM*T6-(3^{iCA59_x`aoTM&skDFY)pdru1zm^-njl3ITviWel3?ud2etO+8^uA$lgf zt}$+XrsPc2Dvg=c)2*lITI173+Ud+U)Nve(x$z|-+>YTHLV6ja3rQ53?nlZbU*2`&c z8OX5BUlv`gDht%I$sk{eD0is-Tu1(>ZuI<}f^`MzC#)pQ#Z)TXVdAvWt#U7)lbs+@ zF*iM*T+IJV=`ql%S2^km+4_i$R~M#X@tp?7vC z^*T3`j21@}-Np#@wDEiu62h+J2@OI6k0)GUzs|U@^RaL^eaQ;La{#FGJeXRIC$iF} zb%-oT>vQtbtk~_XWFtH&G&uXUXt-!~sYuIN_U+ks5diNy^xB*WM&i`3aOY3GM9@+3 z<3&5J`wM4GD(Z5IjtQ>o^0l^jl4;{P-JP__Sd-~>rmL-`dk{ILY5o$6H?1avx$x?7 z0@d6*Etm8p=?G-;=6&MSuvH-1Wz?dS!kxTuQSuoLW*=4UU_ibXpR172Y#y$r0Urmu z9%tM+j<;^^Z6@!jwM3af5E>y*K5EJ4kGc(3*vXXaOrRU%3PEcHcdMAl`j<44fr@v; zSiA(1UwO&$T=(N$0jz9438+bJxtDuk9D_#3Nx_}6&2{1#HILEao17Pvn77QIT*4QJ zJj#cN?>LPq+omYUv^D91@EKlME&}7rZw>}u=(vQ)s_U65^nLfhB-hA!UQ2(j!Cg{~ zkF2aV`K*go+erBP6-@@Uq*{LJrn4dhde5&_N_M|nlhWnLjk`byy+D8V!LfUNVG)>H z;!v@VV};l!F0T!WL-QFOJ#ALC&s$$n71&|~`_hF)87ti=zBNnDl9hZM_Vm?QtoLLM z^xU(ULYxkvP*(u3s3AH<8FYJHQ~=wa?IxK;$e`PKbzJ##?L0I!K?*VJ><}RjBR{{$ zw}lmr*Egp9<2*gEifVSW-8d^~p7UI4dBeh?h%!44XKHiWG4DsW>9A%@ojsAkE$_4F z!bw%>vS>w+Hrqud;4^{ZYO+{C_3z;ux75N=}Z#3Tq) z(L6Noc_#RN&icu+-WHHf>b8%b@;%u*nlaEewyooQa>eT&(3`J~ok23f7iA01HC1#Z zV`!E~?O>+pb{Ld@rtw$G1JZfWzO-S|CaR=Dp@5#5c2e#l<<{9aVfOi=Ua`ocn2H4^Ar_r7MvSLkmRx;PIDtaz zBDnj}x{uGZ{?sWoSO%Auf{@~|{$q3wKGpRWDn=iNwTnm52^ln7LalP7xfVagImr7= z%fzWRTr|7%NUrJ9tBf@vlV|+?{%Yn_Z%+2h&l1sJaUY+EJ3}er_ELWhc&hvs%33aI zIs6*nY2^096rR(OF}Z_Rx64l5Ip;Sc)XnTN>x5tVN!R)Te3>v~=Q`@*bJE3!LzW8! z`m9d(!=nuAMoKE%MUFEAsmmk0{T!06D&GycfO)!`o(?Umk6TvLg1B-Dtg}Lda45(5 zlyQRi-n*1aHmGsPU9G$BRTqnZPU+fRTZLW@=g6mOjezSyB|(F@8>1hs@4|h>M&BmC zd{lc;srI?E5zZM)Bdqow$2PAlattp@3kK5)+@zB%?Ib&{T$~;jx1;^6*+aF$7hBF) zbvU;;CZOW;s?-E%Bq$*!Rs&oeQo_6xTduwk3E#nHZV`8N)?^cgNuR7{RIj=o=JDjwY^GN_oWmd&uhYlC}+Pl3APu)euHj{OqrNLpW~&u9={6+ z2b9hf4ijDTKT-N7WSwK&-OJloCc(GnWSz~1c3P*86M1Rnb$5>*)tU-=GI3}n->h2l z(n{wgrvL5)6xtR~$li!7GecsM@a5B8e$=OyVxzKjlACnF56~i1+sPI$rB}up!^smbtN`+jjqD5Jbr;KIu<65(fpr-AxNiAZ1EtQeUhnZ4hYK_J;G3Uo zneyltjT})Vt#p%HRFJP&Pdjd(dimpUXY0vcFMU4RW*e+~?^l*pc?%yANhGch%g9(K zB!-Tis>_cwaKx}nYi^{GV|w%C6h{MnU2bW16caXpeiU7FkpV<3w~*X2@y7Xbf{IiNrrdtz|YRTgZUk&%eneN+u zd9{SGh*t5l@Mw^|Hek77t}@#`FXO4h8f&U5{G}U#g7lp`_6fm!4W9#K$9k5ugq&^f z`R@?8M>I^oVR{s{JOHrszS~-tMWI^f;}>*`hbPo=>2w8cSy6rim4ZXu>VvqOR$(y| zYu1rVUDMpJTtL8R8QgR0rT!0_KFMM)Okd-A-r9VBTTE5dv1RS;9ab)TPkUO|`4HO> zjk+;;(TCJ7XbQo=z9qDw>C`1Xkx?Ei6E~If@8WORz2FXQn7e)VrOH{h50az9m=$9% zBlkjI1*KygEMy*e^rODr8fO;L@A$2cP$jfD37f0M`gaW?7%izGo;QaA=5GmyET_j& zxsL>%IoVA}9Z-^vYmW8)Q?}U3TR|RWwL7edtjZJ5=SY&#trUaqEXzd`(nJV%Nb;ru zu86QSfk<9VZB~o%&G=40YEP-q^c-lPAnA>)M)H$N0iU?nwT$K%P{y-@$a zVls>7m*TC)8x;ktUp2<)CES)mBSnKzUV?II6Pz)M@j_Lph@E)ZiG~I;Ivy3pi*rh! zC+bu$q?A)Qj~;#XX0QH(bA3VisBB%WZFF6HN;=2&4cfUSs;xa~GXvrR6q_w3xXZ*cio`Aqtf;pb;<6ttLQ-`OF!6 zM=Y#v!sOF<3jwGN_w6rj|K&SO?_;|{MbD83SRPOgW~Rh{0h@tHs#Nl18qBYxBv)1wYe3h>1##TsO74pTvia@I#yCU|sk-oaZ zIqR+YJXWRYd!u4)*(Q$>i)ZH%^B%X3ZDSzFvvX_3*H$+n=J!b$*qNnU1%`Y`^ohz_ zw}EK-E;}Whh^hH06!ALop4;0AAER0 z8VqxrD&!j71Gx$AQCX&3Ba%GT<%aj)##?@_LnRxo`DI8v(8|WG+!e_;~-f2-Vc6wB-GI5>G ziM-%A&34m*qEjM|WF~{B3zHZ9T&WF0J+@7zZL=$1W{8+~btbE%Sko>x?R03pQ^#t0 zHzFr>W@rR)b|!(N7-6$y)rqi$GJ5vdnh`!@Z2mrjTuV0h)ws6$bxhhSRbu;*U z;HsWNv*pe_@?LG^BT6`XDKU6EQF&Yalh2~(71?E@GO@e@VYL+>uSGGwZLIH~#M&Es z`*d~Q=z=AdNuuTh$7?2eH%X6E23c!AZZM|q<;yzRu-U6R@B!AZfoVaEkM2EuqW9G~ z-Cl`vsu*uQNpr7PypG&70BzoIuC1?M%UwO5VyR_kWwKq~H%+k}qp`z0jNsjdT8$za zUpx;)a0sb$yAc4GvQQ-M>}br9OZ1#tIc9ag>k8VilBWR5QWNC~X_rk%bx9aCN)|N+ z`9pMTl;Y$Zt#+@2hiu+~j$%X5x)1OOl>ZBD`I>(xA`i2XSt`?*rq zJW%s`Y95M51YoiBp^M$frCpRRuU}I?R!X!$Vc1Z{_+s-4Da)jBre%SsW^PDY-&5fT zagOV{C4?G{Z{Uw5tJw+RJJ;5WB-hiP$P@=vg(3{MJ-Cc}Io1$U69xmw``NdO7z*(Y z4=1svKHiO9Tb&BvLRrGVYLAk#d%=gIo&*jRD*uZ|;=sFXYj>^+6_sf1h89t4z z5hvC>!B@*q662tn#~27r^JLZ8bX_Df)MU#+z_m7cs-#@%tOJq@2ThjkhwYxWvVGD^ zyxm8-vP1nOCGVA@g#K&o3WHf4X~#Y%REM__5KoT@g~%C$SW_KO`LMY3`h`x5yPul!cId4k3|r{>2=cx&mo0D2%-1@j zrwjTmuc1^@H^og+jKH&cH#(j?f^oCtQ^g^6$>-LH`Gv<6T+{An# zh!+g!!K_|atx3w#%|EULU7rE+O-y`{C_Q5zjcRT2nI<-_{3>Hj^angLI`SNYZ>+^+o`tp3p z(bb6JuhGZ&y#4f^!Q8>5gtw5Jww%~>0lTX^rT7-kO*Ti*o5yBZaj-~5{UX$H!~4B+ zS1CEHPu;kd-n#t$+0x)UBk$YtFQcLM4y(-`h-Xlf=LmSNNY6?f^=u_sw&-TV>&vt6 z^|)L+#r!z$B{DLy{rId8Fh$EVLb%z|^e z1Y#qn&&ZHfOmwDt{=3q z6#c1Q4$|qm7Sh&8?P6gDe)@J}@pVkil0{ls1b&Q0Aq9K%IrEidJn`ZWcag$=UVZoxu^!gV zOW?J+va#qp&$4E&qjPOfVn%yxxGNP|Opk632-H?lPQ8u9;Ec7ow*FcE!G@uIfZI5o zu=4y$SCwm*zt|0nSzxo1dD+wqx4aAI7WDOGs^x^mx^;=k1Zw@Fhq&kn%*tls#rBr1 z;CL>?(#7g!$V#LVeT&{=XOV*gVzh59>f-E_Oc`6%hrYh0RWb3!`!mn<+aG*hjGxP` z)arz8)_GXXzW-c;PnA-h&}T6q%%8USCJREd6&kuF_>Njw$-`hSo4E%ju9H8t^15@= zEGW8ThvUtqw1C`CbCVJ)(`3%>&|38Tl%9*~A7>~{%r_UB#)jC% z7L__8cJ7@#PtbQ_X9KaZQSe~M#m=?sv%qT28=wh)H}uI;&$j*SvF4QPmR5)lg?dd@ zA{BNw==etF%f%5-nN6B5Uvy9qb5XB2MR;KW@SP z(L44uY=ZTwP2pz+t~1=&i^0j~8ZJuBwVn`Fk)=R!Wa&Is%SA}Ua)mwO5{m#SPPEyn z$)*W^F0bcAtW$NkE-K>|M)}q!dEf%C$Zjp7P3Tr=m6j0jpY}H=RH0?@1h5qjSWK9j z;Jkm~;_GXiA9q=!3}1YRUL(>P42`EnxTpKm^IGC1@4%~WZ!teKyt zWe6k1*gylQfV8Za#rC`zw*E}2Q=zferABX#I67`TYsJ=TP{i3_fje%Wp7vc@8=sgy z9erPHqxAw;Nm;?nR(Ma3s&_`UOqM)t+-2un(UzOXSUan6aT>yfsq9yza7~|;K0W7V zb2%fGoNsc1d_d4*XAOmLNxi{_pqX&pxg8$R<55DAb_3C8)_}0EP@k2lzGx6j)6LVy z5+YIZ_Q^teix=Zt8N6Uu+|NOn&b9-X%Bo?pNu>oU=-O(P)Fe#UcZSR%QG!)(F!ny;Lns&3(pVwu$7B?XQaZz@)G ze2z7gC%SA;s_3%$(oS=zb-JQoyh;VHr81GlFsiQdUt!oTKd}Q8iMi#2Vgce}Iek8m zMIx1|Ku&&&4&}s-Vx4%zl!+vo(Mt~-9(bJnLQgefctqSRU67%=1Qn5-%sWg7pogn$ zBbp5&M-Vhd+ss)Dw=vH3?1+z38xJ51fp)12h;vu)wmr5!B18#qmnS(pPjK+t;ZCZz zNQ+m~%aVq(=;0EL(gvpJ`3UkLBt?jDjz5wHNTwK$=)SSZ>Y%#(==QlSYw?Dh+denm zT^~G&Jvhl1kEzp27+E^;Tw)o8P~4}^;PQ;8j8nXFkT!R64@`j3kMuGZPeQB4OWZK@ zSY`cU+(PE5RIo0#4%amasr7nQ+%`tjyr4Jag)oI%VF^nsOW%Zl)s)INgSMp$_ zxlg!<&_r5Q>WZZ(&T01#WKPS!%&Ky`1H8**avjJ)^=#6Nw3J*_7|DuS`Nb3M1iY~2I%1){?N?trrB z&iTPRECYuKU21L?1H^Fd7Huk#Er24RMk(00;?D7~kOeAYmQaI*Wcrs)Qf53gMG6mK zr+b6k^eI1xO~Y|(?t9vz|Crz&^-)*0hw^oEbj@3~K5B~y7Z>s|)PprF4L zqqaTQA%1K~uoz{O8bgxW6eYDZi$R=xlAJ^swbn+?glChFylY|hUd(v)SjPf|tEXG& zE05QWBCR|C>Fs)B#YhC`rN?p5wxaqb2SvG3F6!Xjosj?(HAa1_m4KN|n6ekvDU4D3 zjFW*=9;mjQgz(^7SPiSyDMj}$C)fnNe~LCIk&SzsAp_&J3^&7|1`|7eH=B!!mMvX^ z(I|tw1n^CBI*|nGugCdwp0=*grX$L9CZhMR)^=3~!n9tjK$%A!cuOLPy^6EAzY050~sJ-CF$ z!~Wn=L3-DtnK1)8<)V!(XL!-h$Pn)k^ z9>Ho}T2T^yv$nXC18!a-;g&SjpU(7UWVa`lIcTJL3X45*L5K0gcHDBp3P6mUeBCIX zCoFM%TO^isqw0RU0X;lMXG`%#{Hyg@7cE^&G1*fb=+dF{Oi-1n{?`kP88?C6k&_F& zi~fc8J-AVgh8dA{$p%!GJCD5D#e!hX^I!W)RceRJXX{L)PgLRk&>rnDf!0 zz#5+re;8e^eA!n{?|s5X#myL(2fR_$!F)UQ;+IiQn_>r>Z37in5D~;@)?0YsMK|3L zjGjyg?UdsmNQR#_5VM}JI7za7bz?}m#Y7N69|)i4TdXR)>tQrC%MN#sK4xapxZKEg z&ineYRY6);Sz6KYMHf`JV*@g+DPF|QX&CqejqcJJ*JyvoYWdK zd@2wd13OU63qH+`v#e*Ll8DgBxZsOf+DcWuv=|bIL$S=G64ZPZqGmcdyFoxps`e;> zWsuWgB=}NRwcQL_(F2y}JPZQHzTP!qVJDL$Q74s9MiWtZS)+I_*hHR z205lfgxPv3a62IjM7P6WJUdxZJES3*Onx~N%FQ$+!EF($o3$EBiAKj4efTfyn=w*6 z&`JJ)=6+m^Iyu`8{q~$(JXKmQM^hgIIC-fn(1RTW^Sy*JOvCc-Mk^J)|4qp{d5#d(_`+6iU2ZL8bP&cvfv> zl}8rWQWm^Hlp77Rd@(MSm6mKK3B4|wpPrt7ipnZ)Syn%uQV>LqMil=fE6V9y{FwurajQIrnoTIJ6ymkkV^kb=s3 z*J($2F}xpU%x1xySnR*69cZ(xGx&i7zkY5scb#Odzs=#8kp6}2^4L4PIb@2K-Xc(% z5jd!|zOM?-$|uP8@X3c)@%gffA?2StO`AFZ#&}nV+EgYl&!+V=H*KuGc_F2B_ta>K z!@U4@S3aMmwA9PfayV7v6i@8~+FN23X6?AfpXZ;B$v-`SKz#vA%0@{=Mfp!WtU-q6 zAQLbU>8e$6rxB&L< zyX@{g2e<)@Z6THbI!;a?)YcGaW@Q9+q!Yox0YROt3<1V=R)#P$h!wyAWCmlggbD+! z>?{qywyXdb900%;470Pf0$70^07^(EW>7E-i!B%mv9JfT0>sYm(EtEYFih3V5)83} zv9RnFACRzE*;!byvI8uktRhH4H{`e5PwgW6XvMPMnjypr3PV-~8JdC&EWpA5D9qN( z%H)O)Kn!q02iau+z!+i+V6gzh0A|QCZZ0knHg(CK(X$1 zYQH@Q^0EcQgyo8gq5|iB&&`aT_K4X5yEDNK;9>nzVZTp%bI!}fwLd*LINvj(`B_|6w51?cJ)|LIq+@C!W93T+z6E)xlfO&tUygc0B2FlF-rC5;f*Tn*Y zhl&9@I4DQQ|B~a2{5L|1c_7%<7Gle3^xu>A|Em1w;^O1|QU3FA@0K0O|Nr>|2&4x< zA$GQgV0nGmVoK4CHv2 zYOmlhoiZ3|X8}7z0&}tkLy;6lU_%R#E%=+Re@F-4Q=h+R`0Pk7yOkx4jBEjJ;=%`7 z{Ffr}FLX$imsR+SB_g`t?s*X$u;Wiw5BrxHVE;B$_U}iut2F;&wfu&f|AnjNclft- z{2vhke}Vr!tp9+2{v-YG_Z(l5U<5V>?Sc{n{e>t%ns!LblcVm|7QIEsKy^j zfdA|MpZ$CIyZt}hg1o=*|L_PN;s5_X`yXdN3@0OdK~halRZm$~1^ELIJBTcPjq(|T zETCZa-RRdoZ>0GTum@R~868{#xUnOzS^h!!Zm)lJ#qH-1=byMAzPK9Pguk7CbvwB2 z_W2i{hwp-xyCuS3<^o9%0Pp)DI5|0gm;g5soUirvM~tLDG}$a)LW}#sNZNfG&b!@ z_!sy&{=?686#x6r^#2?|=Kn7K54(Ti;0M&LKDB`pz!E7q z%q&1oU|WE-nKjtL%nA&pV+XK&&GdAAKYL-=-=6<3$j9|_{72v@|NplfKp+qxY6~_7+k&kO!GOIdK#a}`Vg#lG0MCC3 z+3yx3*9iH8fb7==!pLejYJcEE+9NtF&<+CkfG?4D0|>+d46@pnq+dksp;Z0d;(d{N zIDh|p{_=l^_t(HNlFyeu?`{YFf!D5!`)_dD+ZOf5J^F#ecX?8UMFb?Irec|?PuicmU(m~Zf zSiBBBen)x4za9U32_XNx1o#X5^Kt*A|MT()9{GQMFa8fLnSWaX?B!I#Am6fLO(9U& zw|~2wzq}pj@P=J>0Brx|KZkbi9+ZfGp%?i(`+2|h`48mGF2Rwc`TO|aPXPI+CBR>; z|9n6De+BrC@c*0fe^{;m`x4+#{`ny_;Clu5m&n|sIKt+C3jPoBzYk{q_vU~6LjUJI z%K!eY_($6L-&y>B%PjciZkfMj75odY3PkpY^Pp7T@qjfufCXv3vjYz8Hu*}wzi9(` zd3Q_7w;d!FU@H@tDL_n248Xl1DaO@cqNJt#ACy@WX zvnY`Nzq2Wj|6P7ID#QT%$UCsRFYiaAf*tS&JN4Lcer;78+OKDbB-|BM`}4%I+pm2K zXFt*kvvv9|Pz$l%9T`$=C|a7qM1PtPb^!A(2WEgPfO(e*^ZC6UfCn9B2UtK1K^D6m z1w)ZMzP;&48L}KS_Wi3u4LSEy)xLzTzm(b-@pVEu4J{zZ#o^$cr+*+W_f5Sch3>y2|GzW;e%Je7kjCE6?|K45)h!bjUv70|7agfgR lmEVsw*blE!-|w9MrPtv|?jIdT$I)?g{69@Uc~=0?0RRIk|GoeK literal 0 HcmV?d00001 diff --git a/qed-mail/src/index.ts b/qed-mail/src/index.ts index b06a2f9..0cce35a 100644 --- a/qed-mail/src/index.ts +++ b/qed-mail/src/index.ts @@ -11,7 +11,7 @@ const DEFAULT_RESULT = { smtp: { valid: false }, }; -async function checkEmail(email: string): Promise { +async function checkEmail(email: string, {fromAddr}: {fromAddr?: string} = {}): Promise { const result: Result = { email, ...DEFAULT_RESULT }; const syntax = checkSyntax(email); @@ -25,7 +25,7 @@ async function checkEmail(email: string): Promise { } const records = mx.mxRecords.sort((a, b) => a.priority - b.priority); - const smtp = await checkSMTP(email, records[0]!.exchange, 25); + const smtp = await checkSMTP(email, records[0]!.exchange, 25, {fromAddr}); if (!smtp.valid) { return { ...result, syntax, mx, smtp }; } diff --git a/qed-mail/src/smtp/verify.ts b/qed-mail/src/smtp/verify.ts index 1c02368..f70c226 100644 --- a/qed-mail/src/smtp/verify.ts +++ b/qed-mail/src/smtp/verify.ts @@ -1,16 +1,18 @@ import { Client } from "smtp-fetch"; import { SMTPResult } from "../types"; +import { TcpNetConnectOpts } from "net"; async function checkSMTP( to: string, host: string, port: number, - timeout: number = 5000 + {fromAddr, timeout = 5000}: {timeout?: number, fromAddr?: string} = {}, ): Promise { const c = new Client(host, port); try { - await c.connect({ timeout }); + const options: Omit = { timeout, localAddress: fromAddr }; + await c.connect(options); await c.mail(""); await c.rcpt(to); diff --git a/spago.lock b/spago.lock new file mode 100644 index 0000000..01431b8 --- /dev/null +++ b/spago.lock @@ -0,0 +1,6416 @@ +workspace: + packages: + email-address: + path: ./ + dependencies: + - aff + - aff-promise + - arrays + - bifunctors + - effect + - either + - filterable + - foldable-traversable + - maybe + - newtype + - node-os + - nullable + - prelude + - random + - strings + - tailrec + - transformers + - typelevel-prelude + test_dependencies: + - bifunctors + - exceptions + - spec + - tuples + build_plan: + - aff + - aff-promise + - ansi + - arraybuffer-types + - arrays + - avar + - bifunctors + - catenable-lists + - console + - const + - contravariant + - control + - datetime + - debug + - distributive + - effect + - either + - enums + - exceptions + - exists + - filterable + - foldable-traversable + - foreign + - foreign-object + - fork + - free + - functions + - functors + - gen + - identity + - integers + - invariant + - lazy + - lists + - maybe + - mmorph + - newtype + - node-buffer + - node-os + - nonempty + - now + - nullable + - numbers + - ordered-collections + - orders + - parallel + - partial + - pipes + - posix-types + - prelude + - profunctor + - random + - refs + - safe-coerce + - spec + - st + - strings + - tailrec + - transformers + - tuples + - type-equality + - typelevel-prelude + - unfoldable + - unsafe-coerce + package_set: + address: + hash: sha256-nTsd44o7/hrTdk0c6dh0wyBqhFFDJJIeKdQU6L1zv/A= + url: https://raw.githubusercontent.com/purescript/package-sets/psc-0.15.10-20230930/packages.json + compiler: ">=0.15.10 <0.16.0" + content: + abc-parser: + repo: https://github.com/newlandsvalley/purescript-abc-parser.git + version: v2.0.1 + dependencies: + - arrays + - bifunctors + - control + - either + - enums + - foldable-traversable + - identity + - integers + - js-bigints + - lists + - maybe + - midi + - newtype + - ordered-collections + - partial + - prelude + - profunctor-lenses + - rationals + - string-parsers + - strings + - stringutils + - transformers + - tuples + - unfoldable + ace: + repo: https://github.com/purescript-contrib/purescript-ace.git + version: v9.1.0 + dependencies: + - arrays + - effect + - foreign + - nullable + - prelude + - web-html + - web-uievents + aff: + repo: https://github.com/purescript-contrib/purescript-aff.git + version: v7.1.0 + dependencies: + - arrays + - bifunctors + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - functions + - maybe + - newtype + - parallel + - prelude + - refs + - tailrec + - transformers + - unsafe-coerce + aff-bus: + repo: https://github.com/purescript-contrib/purescript-aff-bus.git + version: v6.0.0 + dependencies: + - aff + - avar + - console + - effect + - either + - exceptions + - foldable-traversable + - lists + - prelude + - refs + - tailrec + - transformers + - tuples + aff-coroutines: + repo: https://github.com/purescript-contrib/purescript-aff-coroutines.git + version: v9.0.0 + dependencies: + - aff + - avar + - coroutines + - effect + aff-promise: + repo: https://github.com/nwolverson/purescript-aff-promise.git + version: v4.0.0 + dependencies: + - aff + - foreign + aff-retry: + repo: https://github.com/Unisay/purescript-aff-retry.git + version: v2.0.0 + dependencies: + - aff + - arrays + - datetime + - effect + - either + - exceptions + - integers + - maybe + - newtype + - numbers + - prelude + - random + - transformers + affjax: + repo: https://github.com/purescript-contrib/purescript-affjax.git + version: v13.0.0 + dependencies: + - aff + - argonaut-core + - arraybuffer-types + - foreign + - form-urlencoded + - http-methods + - integers + - media-types + - nullable + - refs + - unsafe-coerce + - web-xhr + affjax-node: + repo: https://github.com/purescript-contrib/purescript-affjax-node.git + version: v1.0.0 + dependencies: + - aff + - affjax + - either + - maybe + - prelude + affjax-web: + repo: https://github.com/purescript-contrib/purescript-affjax-web.git + version: v1.0.0 + dependencies: + - aff + - affjax + - either + - maybe + - prelude + ansi: + repo: https://github.com/hdgarrood/purescript-ansi.git + version: v7.0.0 + dependencies: + - foldable-traversable + - lists + - strings + argonaut: + repo: https://github.com/purescript-contrib/purescript-argonaut.git + version: v9.0.0 + dependencies: + - argonaut-codecs + - argonaut-core + - argonaut-traversals + argonaut-aeson-generic: + repo: https://github.com/coot/purescript-argonaut-aeson-generic.git + version: v0.4.1 + dependencies: + - argonaut-codecs + - argonaut-core + - argonaut-generic + - arrays + - bifunctors + - control + - effect + - either + - foldable-traversable + - foreign-object + - maybe + - partial + - prelude + - psci-support + - record + - test-unit + - typelevel-prelude + argonaut-codecs: + repo: https://github.com/purescript-contrib/purescript-argonaut-codecs.git + version: v9.1.0 + dependencies: + - argonaut-core + - arrays + - effect + - foreign-object + - identity + - integers + - maybe + - nonempty + - ordered-collections + - prelude + - record + argonaut-core: + repo: https://github.com/purescript-contrib/purescript-argonaut-core.git + version: v7.0.0 + dependencies: + - arrays + - control + - either + - foreign-object + - functions + - gen + - maybe + - nonempty + - prelude + - strings + - tailrec + argonaut-generic: + repo: https://github.com/purescript-contrib/purescript-argonaut-generic.git + version: v8.0.0 + dependencies: + - argonaut-codecs + - argonaut-core + - prelude + - record + argonaut-traversals: + repo: https://github.com/purescript-contrib/purescript-argonaut-traversals.git + version: v10.0.0 + dependencies: + - argonaut-codecs + - argonaut-core + - profunctor-lenses + argparse-basic: + repo: https://github.com/natefaubion/purescript-argparse-basic.git + version: v2.0.0 + dependencies: + - arrays + - bifunctors + - control + - either + - foldable-traversable + - integers + - lists + - maybe + - newtype + - numbers + - prelude + - record + - strings + - tuples + - unfoldable + array-builder: + repo: https://github.com/paluh/purescript-array-builder.git + version: v0.1.2 + dependencies: + - arrays + - assert + - console + - effect + - foldable-traversable + - maybe + - nullable + - prelude + array-search: + repo: https://github.com/joellefkowitz/array-search.git + version: v0.5.6 + dependencies: + - arrays + - effect + - foldable-traversable + - maybe + - prelude + arraybuffer: + repo: https://github.com/purescript-contrib/purescript-arraybuffer.git + version: v13.2.0 + dependencies: + - arraybuffer-types + - arrays + - effect + - float32 + - functions + - gen + - maybe + - nullable + - prelude + - tailrec + - uint + - unfoldable + arraybuffer-builder: + repo: https://github.com/jamesdbrock/purescript-arraybuffer-builder.git + version: v3.1.0 + dependencies: + - arraybuffer + - arraybuffer-types + - effect + - float32 + - identity + - lists + - maybe + - newtype + - prelude + - tailrec + - transformers + - uint + arraybuffer-types: + repo: https://github.com/purescript-contrib/purescript-arraybuffer-types.git + version: v3.0.2 + dependencies: [] + arrays: + repo: https://github.com/purescript/purescript-arrays.git + version: v7.2.1 + dependencies: + - bifunctors + - control + - foldable-traversable + - functions + - maybe + - nonempty + - partial + - prelude + - safe-coerce + - st + - tailrec + - tuples + - unfoldable + - unsafe-coerce + arrays-extra: + repo: https://github.com/flip111/purescript-arrays-extra.git + version: v0.4.0 + dependencies: + - arrays + - console + - effect + - either + - functions + - maybe + - ordered-collections + - partial + - prelude + - tuples + arrays-zipper: + repo: https://github.com/JordanMartinez/purescript-arrays-zipper.git + version: v2.0.1 + dependencies: + - arrays + - control + - quickcheck + ask: + repo: https://github.com/Mateiadrielrafael/purescript-ask.git + version: v1.0.0 + dependencies: + - unsafe-coerce + assert: + repo: https://github.com/purescript/purescript-assert.git + version: v6.0.0 + dependencies: + - console + - effect + - prelude + assert-multiple: + repo: https://github.com/joellefkowitz/assert-multiple.git + version: v0.3.4 + dependencies: + - effect + - foldable-traversable + - prelude + avar: + repo: https://github.com/purescript-contrib/purescript-avar.git + version: v5.0.0 + dependencies: + - aff + - effect + - either + - exceptions + - functions + - maybe + b64: + repo: https://github.com/menelaos/purescript-b64.git + version: v0.0.8 + dependencies: + - arraybuffer-types + - either + - encoding + - enums + - exceptions + - functions + - partial + - prelude + - strings + barbies: + repo: https://github.com/the-dr-lazy/purescript-barbies.git + version: v1.0.1 + dependencies: + - console + - const + - control + - effect + - prelude + - psci-support + - transformers + barlow-lens: + repo: https://github.com/sigma-andex/purescript-barlow-lens.git + version: v0.9.0 + dependencies: + - either + - foldable-traversable + - lists + - maybe + - newtype + - prelude + - profunctor + - profunctor-lenses + - tuples + - typelevel-prelude + bifunctors: + repo: https://github.com/purescript/purescript-bifunctors.git + version: v6.0.0 + dependencies: + - const + - either + - newtype + - prelude + - tuples + bigints: + repo: https://github.com/purescript-contrib/purescript-bigints.git + version: v7.0.1 + dependencies: + - arrays + - assert + - console + - effect + - foldable-traversable + - integers + - maybe + - numbers + - partial + - prelude + - quickcheck + - quickcheck-laws + - strings + bolson: + repo: https://github.com/mikesol/purescript-bolson.git + version: v0.3.9 + dependencies: + - control + - effect + - fast-vect + - filterable + - foldable-traversable + - foreign-object + - hyrule + - maybe + - prelude + - record + - st + - tuples + - unsafe-coerce + bookhound: + repo: https://github.com/albertprz/purescript-bookhound.git + version: v0.1.3 + dependencies: + - arrays + - bifunctors + - control + - either + - foldable-traversable + - integers + - lazy + - lists + - maybe + - newtype + - numbers + - ordered-collections + - partial + - prelude + - psci-support + - strings + - tuples + - unfoldable + - unicode + bower-json: + repo: https://github.com/klntsky/purescript-bower-json.git + version: v3.0.0 + dependencies: + - argonaut-codecs + - arrays + - either + - foldable-traversable + - foreign-object + - maybe + - newtype + - prelude + - tuples + call-by-name: + repo: https://github.com/natefaubion/purescript-call-by-name.git + version: v4.0.1 + dependencies: + - control + - either + - lazy + - maybe + - unsafe-coerce + canvas: + repo: https://github.com/purescript-web/purescript-canvas.git + version: v6.0.0 + dependencies: + - arraybuffer-types + - effect + - exceptions + - functions + - maybe + canvas-action: + repo: https://github.com/artemisSystem/purescript-canvas-action.git + version: v9.0.0 + dependencies: + - aff + - arrays + - canvas + - colors + - effect + - either + - exceptions + - foldable-traversable + - maybe + - numbers + - polymorphic-vectors + - prelude + - refs + - run + - transformers + - tuples + - type-equality + - typelevel-prelude + - unsafe-coerce + - web-dom + - web-events + - web-html + cartesian: + repo: https://github.com/Ebmtranceboy/purescript-cartesian.git + version: v1.0.6 + dependencies: + - console + - effect + - integers + - psci-support + catenable-lists: + repo: https://github.com/purescript/purescript-catenable-lists.git + version: v7.0.0 + dependencies: + - control + - foldable-traversable + - lists + - maybe + - prelude + - tuples + - unfoldable + chameleon: + repo: https://github.com/thought2/purescript-chameleon.git + version: v1.0.0 + dependencies: + - either + - foreign + - maybe + - prelude + - strings + - transformers + - tuples + - variant + chameleon-halogen: + repo: https://github.com/thought2/purescript-chameleon-halogen.git + version: v1.0.3 + dependencies: + - aff + - bifunctors + - chameleon + - effect + - foreign + - foreign-object + - halogen + - halogen-subscriptions + - halogen-vdom + - maybe + - prelude + - safe-coerce + - strings + - these + - tuples + - unsafe-coerce + - web-events + - web-html + chameleon-react-basic: + repo: https://github.com/thought2/purescript-chameleon-react-basic.git + version: v1.1.0 + dependencies: + - arrays + - chameleon + - effect + - foreign + - foreign-object + - maybe + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - strings + - tuples + - unsafe-coerce + - web-dom + chameleon-styled: + repo: https://github.com/thought2/purescript-chameleon-styled.git + version: v2.5.0 + dependencies: + - arrays + - chameleon + - chameleon-transformers + - foldable-traversable + - maybe + - newtype + - prelude + - record + - strings + - tuples + - unordered-collections + chameleon-transformers: + repo: https://github.com/thought2/purescript-chameleon-transformers.git + version: v1.0.0 + dependencies: + - chameleon + - foldable-traversable + - maybe + - prelude + - these + - transformers + - tuples + channel: + repo: https://github.com/ConnorDillon/purescript-channel.git + version: v1.0.0 + dependencies: + - aff + - assert + - avar + - console + - contravariant + - control + - effect + - either + - exceptions + - foldable-traversable + - lazy + - maybe + - newtype + - prelude + - tailrec + - transformers + - tuples + checked-exceptions: + repo: https://github.com/natefaubion/purescript-checked-exceptions.git + version: v3.1.1 + dependencies: + - prelude + - transformers + - variant + classless: + repo: https://github.com/thought2/purescript-classless.git + version: v0.1.1 + dependencies: + - heterogeneous + - prelude + - record + classless-arbitrary: + repo: https://github.com/thought2/purescript-classless-arbitrary.git + version: v0.1.1 + dependencies: + - arrays + - classless + - either + - enums + - gen + - heterogeneous + - identity + - lists + - maybe + - partial + - prelude + - quickcheck + - record + - st + - strings + - tuples + - type-equality + - typelevel-prelude + - unsafe-coerce + classless-decode-json: + repo: https://github.com/thought2/purescript-classless-decode-json.git + version: v0.1.1 + dependencies: + - argonaut + - classless + - console + - effect + - either + - maybe + - prelude + - record + - tuples + classless-encode-json: + repo: https://github.com/thought2/purescript-classless-encode-json.git + version: v0.1.3 + dependencies: + - argonaut + - argonaut-codecs + - argonaut-core + - classless + - either + - foreign-object + - maybe + - partial + - prelude + - record + - tuples + - type-equality + classnames: + repo: https://github.com/dewey92/purescript-classnames.git + version: v2.0.0 + dependencies: + - maybe + - prelude + - record + - strings + - tuples + codec: + repo: https://github.com/garyb/purescript-codec.git + version: v6.0.0 + dependencies: + - bifunctors + - profunctor + codec-argonaut: + repo: https://github.com/garyb/purescript-codec-argonaut.git + version: v10.0.0 + dependencies: + - argonaut-core + - codec + - foreign-object + - ordered-collections + - type-equality + - variant + colors: + repo: https://github.com/purescript-contrib/purescript-colors.git + version: v7.0.1 + dependencies: + - arrays + - integers + - lists + - numbers + - partial + - strings + concur-core: + repo: https://github.com/purescript-concur/purescript-concur-core.git + version: v0.5.0 + dependencies: + - aff + - aff-bus + - arrays + - avar + - console + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - free + - identity + - lazy + - maybe + - newtype + - parallel + - prelude + - profunctor-lenses + - tailrec + - transformers + - tuples + concur-react: + repo: https://github.com/purescript-concur/purescript-concur-react.git + version: v0.5.0 + dependencies: + - aff + - arrays + - avar + - concur-core + - console + - foldable-traversable + - free + - nonempty + - profunctor-lenses + - react + - react-dom + - tailrec + - web-dom + - web-html + concurrent-queues: + repo: https://github.com/purescript-contrib/purescript-concurrent-queues.git + version: v3.0.0 + dependencies: + - aff + - avar + - effect + console: + repo: https://github.com/purescript/purescript-console.git + version: v6.0.0 + dependencies: + - effect + - prelude + const: + repo: https://github.com/purescript/purescript-const.git + version: v6.0.0 + dependencies: + - invariant + - newtype + - prelude + contravariant: + repo: https://github.com/purescript/purescript-contravariant.git + version: v6.0.0 + dependencies: + - const + - either + - newtype + - prelude + - tuples + control: + repo: https://github.com/purescript/purescript-control.git + version: v6.0.0 + dependencies: + - newtype + - prelude + convertable-options: + repo: https://github.com/natefaubion/purescript-convertable-options.git + version: v1.0.0 + dependencies: + - console + - effect + - maybe + - record + coroutines: + repo: https://github.com/purescript-contrib/purescript-coroutines.git + version: v7.0.0 + dependencies: + - freet + - parallel + - profunctor + css: + repo: https://github.com/purescript-contrib/purescript-css.git + version: v6.0.0 + dependencies: + - colors + - console + - effect + - nonempty + - profunctor + - strings + - these + - transformers + css-frameworks: + repo: https://github.com/deemp/purescript-css-frameworks.git + version: v1.0.1 + dependencies: + - web-html + data-mvc: + repo: https://github.com/thought2/purescript-data-mvc.git + version: v0.0.2 + dependencies: + - arrays + - bifunctors + - either + - heterogeneous + - maybe + - mvc + - newtype + - prelude + - profunctor + - record + - variant + datetime: + repo: https://github.com/purescript/purescript-datetime.git + version: v6.1.0 + dependencies: + - bifunctors + - control + - either + - enums + - foldable-traversable + - functions + - gen + - integers + - lists + - maybe + - newtype + - numbers + - ordered-collections + - partial + - prelude + - tuples + datetime-parsing: + repo: https://github.com/flounders/purescript-datetime-parsing.git + version: v0.2.0 + dependencies: + - arrays + - datetime + - either + - enums + - foldable-traversable + - integers + - lists + - maybe + - numbers + - parsing + - prelude + - strings + - unicode + debug: + repo: https://github.com/garyb/purescript-debug.git + version: v6.0.2 + dependencies: + - functions + - prelude + decimals: + repo: https://github.com/sharkdp/purescript-decimals.git + version: v7.1.0 + dependencies: + - maybe + default-values: + repo: https://github.com/imsaravana369/purescript-default.git + version: v1.0.1 + dependencies: + - either + - foreign-object + - lists + - maybe + - ordered-collections + - prelude + - tuples + deku: + repo: https://github.com/mikesol/purescript-deku.git + version: v0.9.23 + dependencies: + - aff + - arrays + - bolson + - catenable-lists + - control + - css + - effect + - either + - fast-vect + - filterable + - foldable-traversable + - foreign-object + - free + - hyrule + - maybe + - newtype + - ordered-collections + - prelude + - profunctor + - quickcheck + - record + - safe-coerce + - st + - strings + - stringutils + - transformers + - tuples + - unsafe-coerce + - web-dom + - web-events + - web-html + - web-uievents + deno: + repo: https://github.com/njaremko/purescript-deno.git + version: v0.0.5 + dependencies: + - aff + - aff-promise + - argonaut + - arraybuffer-types + - console + - effect + - either + - functions + - maybe + - ordered-collections + - prelude + - strings + - tuples + - unsafe-coerce + - web-streams + dissect: + repo: https://github.com/PureFunctor/purescript-dissect.git + version: v1.0.0 + dependencies: + - arrays + - bifunctors + - foreign-object + - functors + - newtype + - partial + - prelude + - tailrec + - type-equality + - typelevel-prelude + - unsafe-coerce + - variant + distributive: + repo: https://github.com/purescript/purescript-distributive.git + version: v6.0.0 + dependencies: + - identity + - newtype + - prelude + - tuples + - type-equality + dom-filereader: + repo: https://github.com/nwolverson/purescript-dom-filereader.git + version: v7.0.0 + dependencies: + - aff + - arraybuffer-types + - web-file + - web-html + dom-indexed: + repo: https://github.com/purescript-halogen/purescript-dom-indexed.git + version: v12.0.0 + dependencies: + - media-types + - prelude + - web-clipboard + - web-pointerevents + - web-touchevents + dotenv: + repo: https://github.com/nsaunders/purescript-dotenv.git + version: v4.0.3 + dependencies: + - aff + - arrays + - control + - effect + - either + - exceptions + - foldable-traversable + - lists + - maybe + - node-buffer + - node-child-process + - node-event-emitter + - node-fs + - node-os + - node-process + - node-streams + - parsing + - prelude + - refs + - run + - strings + - transformers + - tuples + - typelevel-prelude + droplet: + repo: https://github.com/easafe/purescript-droplet.git + version: v0.6.0 + dependencies: + - aff + - arrays + - bifunctors + - bigints + - datetime + - debug + - effect + - either + - enums + - exceptions + - foldable-traversable + - foreign + - foreign-object + - integers + - maybe + - newtype + - nonempty + - nullable + - ordered-collections + - partial + - prelude + - profunctor + - record + - spec + - strings + - transformers + - tuples + - type-equality + - typelevel-prelude + - unsafe-coerce + dts: + repo: https://github.com/thought2/purescript-dts.git + version: v0.2.0 + dependencies: + - arrays + - console + - effect + - maybe + - newtype + - ordered-collections + - ordered-set + - prelude + - tuples + dynamic-buffer: + repo: https://github.com/kritzcreek/purescript-dynamic-buffer.git + version: v3.0.1 + dependencies: + - arraybuffer-types + - effect + - refs + echarts-simple: + repo: https://github.com/lucasdicioccio/purescript-echarts-simple.git + version: v0.0.1 + dependencies: + - console + - effect + - functions + - prelude + - web-dom + effect: + repo: https://github.com/purescript/purescript-effect.git + version: v4.0.0 + dependencies: + - prelude + either: + repo: https://github.com/purescript/purescript-either.git + version: v6.1.0 + dependencies: + - control + - invariant + - maybe + - prelude + elmish: + repo: https://github.com/collegevine/purescript-elmish.git + version: v0.10.0 + dependencies: + - aff + - argonaut-core + - arrays + - bifunctors + - console + - debug + - effect + - either + - foldable-traversable + - foreign + - foreign-object + - functions + - integers + - js-date + - maybe + - nullable + - partial + - prelude + - refs + - safe-coerce + - type-equality + - typelevel-prelude + - undefined-is-not-a-problem + - unsafe-coerce + - web-dom + - web-html + elmish-enzyme: + repo: https://github.com/collegevine/purescript-elmish-enzyme.git + version: v0.1.1 + dependencies: + - aff + - aff-promise + - arrays + - console + - debug + - effect + - elmish + - foldable-traversable + - foreign + - functions + - prelude + - transformers + - unsafe-coerce + elmish-hooks: + repo: https://github.com/collegevine/purescript-elmish-hooks.git + version: v0.10.0 + dependencies: + - aff + - debug + - elmish + - maybe + - prelude + - tuples + - undefined-is-not-a-problem + elmish-html: + repo: https://github.com/collegevine/purescript-elmish-html.git + version: v0.8.1 + dependencies: + - effect + - elmish + - foreign + - foreign-object + - maybe + - prelude + - record + - typelevel-prelude + - unsafe-coerce + - web-dom + - web-events + - web-html + elmish-testing-library: + repo: https://github.com/collegevine/purescript-elmish-testing-library.git + version: v0.3.1 + dependencies: + - aff + - arrays + - datetime + - effect + - elmish + - exceptions + - foldable-traversable + - maybe + - nullable + - prelude + - transformers + - web-dom + - web-html + email-validate: + repo: https://github.com/cdepillabout/purescript-email-validate.git + version: v7.0.0 + dependencies: + - aff + - string-parsers + - transformers + encoding: + repo: https://github.com/menelaos/purescript-encoding.git + version: v0.0.8 + dependencies: + - arraybuffer-types + - either + - exceptions + - functions + - prelude + enums: + repo: https://github.com/purescript/purescript-enums.git + version: v6.0.1 + dependencies: + - control + - either + - gen + - maybe + - newtype + - nonempty + - partial + - prelude + - tuples + - unfoldable + env-names: + repo: https://github.com/joellefkowitz/env-names.git + version: v0.3.4 + dependencies: + - arrays + - maybe + - prelude + error: + repo: https://github.com/bklaric/purescript-error.git + version: v2.0.0 + dependencies: + - console + - effect + - prelude + exceptions: + repo: https://github.com/purescript/purescript-exceptions.git + version: v6.0.0 + dependencies: + - effect + - either + - maybe + - prelude + exists: + repo: https://github.com/purescript/purescript-exists.git + version: v6.0.0 + dependencies: + - unsafe-coerce + exitcodes: + repo: https://github.com/Risto-Stevcev/purescript-exitcodes.git + version: v4.0.0 + dependencies: + - enums + expect-inferred: + repo: https://github.com/justinwoo/purescript-expect-inferred.git + version: v3.0.0 + dependencies: + - prelude + - typelevel-prelude + fahrtwind: + repo: https://github.com/rowtype-yoga/purescript-fahrtwind.git + version: v2.0.0 + dependencies: + - arrays + - colors + - foreign-object + - integers + - prelude + - react-basic + - react-basic-dom + - react-basic-emotion + - tuples + - typelevel-prelude + - unsafe-coerce + fallback: + repo: https://github.com/sigma-andex/purescript-fallback.git + version: v0.1.0 + dependencies: + - console + - effect + - either + - foldable-traversable + - prelude + - transformers + fast-vect: + repo: https://github.com/sigma-andex/purescript-fast-vect.git + version: v1.1.0 + dependencies: + - arrays + - distributive + - filterable + - foldable-traversable + - lists + - maybe + - ordered-collections + - prelude + - profunctor + - tuples + - unfoldable + - unsafe-coerce + fetch: + repo: https://github.com/rowtype-yoga/purescript-fetch.git + version: v3.0.0 + dependencies: + - aff + - arraybuffer-types + - bifunctors + - effect + - fetch-core + - foreign + - http-methods + - js-promise-aff + - maybe + - newtype + - ordered-collections + - prelude + - record + - strings + - typelevel-prelude + - web-file + - web-streams + fetch-argonaut: + repo: https://github.com/rowtype-yoga/purescript-fetch-argonaut.git + version: v1.0.1 + dependencies: + - aff + - argonaut + - console + - effect + - either + - foreign + - prelude + - transformers + - unsafe-coerce + fetch-core: + repo: https://github.com/rowtype-yoga/purescript-fetch-core.git + version: v5.1.0 + dependencies: + - arraybuffer-types + - arrays + - console + - effect + - foldable-traversable + - foreign + - foreign-object + - functions + - http-methods + - js-promise + - maybe + - newtype + - nullable + - prelude + - record + - tuples + - typelevel-prelude + - unfoldable + - unsafe-coerce + - web-file + - web-streams + fetch-yoga-json: + repo: https://github.com/rowtype-yoga/purescript-fetch-yoga-json.git + version: v1.1.0 + dependencies: + - aff + - either + - exceptions + - foreign + - lists + - prelude + - transformers + - yoga-json + filterable: + repo: https://github.com/purescript/purescript-filterable.git + version: v5.0.0 + dependencies: + - arrays + - either + - foldable-traversable + - identity + - lists + - ordered-collections + fix-functor: + repo: https://github.com/artemisSystem/purescript-fix-functor.git + version: v0.1.0 + dependencies: + - prelude + fixed-points: + repo: https://github.com/purescript-contrib/purescript-fixed-points.git + version: v7.0.0 + dependencies: + - exists + - newtype + - prelude + - transformers + fixed-precision: + repo: https://github.com/lumihq/purescript-fixed-precision.git + version: v5.0.0 + dependencies: + - arrays + - bigints + - control + - integers + - maybe + - numbers + - partial + - prelude + - strings + flame: + repo: https://github.com/easafe/purescript-flame.git + version: v1.3.0 + dependencies: + - aff + - argonaut-codecs + - argonaut-core + - argonaut-generic + - arrays + - bifunctors + - console + - effect + - either + - exceptions + - foldable-traversable + - foreign + - foreign-object + - maybe + - newtype + - nullable + - partial + - prelude + - random + - refs + - spec + - strings + - tuples + - typelevel-prelude + - unsafe-coerce + - web-dom + - web-events + - web-html + - web-uievents + float32: + repo: https://github.com/purescript-contrib/purescript-float32.git + version: v2.0.0 + dependencies: + - gen + - maybe + - prelude + fmt: + repo: https://github.com/thought2/purescript-fmt.git + version: v0.2.1 + dependencies: + - arrays + - foldable-traversable + - prelude + - record + - strings + - tuples + - type-equality + - typelevel-prelude + foldable-traversable: + repo: https://github.com/purescript/purescript-foldable-traversable.git + version: v6.0.0 + dependencies: + - bifunctors + - const + - control + - either + - functors + - identity + - maybe + - newtype + - orders + - prelude + - tuples + foreign: + repo: https://github.com/purescript/purescript-foreign.git + version: v7.0.0 + dependencies: + - either + - functions + - identity + - integers + - lists + - maybe + - prelude + - strings + - transformers + foreign-object: + repo: https://github.com/purescript/purescript-foreign-object.git + version: v4.1.0 + dependencies: + - arrays + - foldable-traversable + - functions + - gen + - lists + - maybe + - prelude + - st + - tailrec + - tuples + - typelevel-prelude + - unfoldable + foreign-readwrite: + repo: https://github.com/artemisSystem/purescript-foreign-readwrite.git + version: v3.4.0 + dependencies: + - foldable-traversable + - foreign + - foreign-object + - identity + - lists + - maybe + - newtype + - prelude + - record + - safe-coerce + - transformers + - unsafe-coerce + forgetmenot: + repo: https://github.com/rowtype-yoga/purescript-forgetmenot.git + version: v0.1.0 + dependencies: [] + fork: + repo: https://github.com/purescript-contrib/purescript-fork.git + version: v6.0.0 + dependencies: + - aff + form-urlencoded: + repo: https://github.com/purescript-contrib/purescript-form-urlencoded.git + version: v7.0.0 + dependencies: + - foldable-traversable + - js-uri + - maybe + - newtype + - prelude + - strings + - tuples + formatters: + repo: https://github.com/purescript-contrib/purescript-formatters.git + version: v7.0.0 + dependencies: + - datetime + - fixed-points + - lists + - numbers + - parsing + - prelude + - transformers + framer-motion: + repo: https://github.com/i-am-the-slime/purescript-framer-motion.git + version: v1.0.1 + dependencies: + - aff + - aff-promise + - arrays + - effect + - foreign + - foreign-object + - heterogeneous + - literals + - maybe + - nullable + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - record + - tuples + - two-or-more + - typelevel-prelude + - unsafe-coerce + - untagged-union + - web-dom + - web-events + - web-uievents + free: + repo: https://github.com/purescript/purescript-free.git + version: v7.1.0 + dependencies: + - catenable-lists + - control + - distributive + - either + - exists + - foldable-traversable + - invariant + - lazy + - maybe + - prelude + - tailrec + - transformers + - tuples + - unsafe-coerce + freeap: + repo: https://github.com/ethul/purescript-freeap.git + version: v7.0.0 + dependencies: + - const + - exists + - gen + - lists + freer-free: + repo: https://github.com/mikesol/purescript-freer-free.git + version: v0.0.1 + dependencies: + - prelude + - record + freet: + repo: https://github.com/purescript-contrib/purescript-freet.git + version: v7.0.0 + dependencies: + - aff + - bifunctors + - effect + - either + - exists + - free + - prelude + - tailrec + - transformers + - tuples + functions: + repo: https://github.com/purescript/purescript-functions.git + version: v6.0.0 + dependencies: + - prelude + functor1: + repo: https://github.com/garyb/purescript-functor1.git + version: v3.0.0 + dependencies: + - newtype + - prelude + functors: + repo: https://github.com/purescript/purescript-functors.git + version: v5.0.0 + dependencies: + - bifunctors + - const + - contravariant + - control + - distributive + - either + - invariant + - maybe + - newtype + - prelude + - profunctor + - tuples + - unsafe-coerce + fuzzy: + repo: https://github.com/citizennet/purescript-fuzzy.git + version: v0.4.0 + dependencies: + - foldable-traversable + - foreign-object + - newtype + - ordered-collections + - prelude + - rationals + - strings + - tuples + gen: + repo: https://github.com/purescript/purescript-gen.git + version: v4.0.0 + dependencies: + - either + - foldable-traversable + - identity + - maybe + - newtype + - nonempty + - prelude + - tailrec + - tuples + - unfoldable + generate-values: + repo: https://github.com/jordanmartinez/purescript-generate-values.git + version: v1.0.1 + dependencies: + - arrays + - control + - effect + - enums + - foldable-traversable + - gen + - identity + - integers + - lcg + - lists + - maybe + - newtype + - numbers + - partial + - prelude + - tailrec + - transformers + - tuples + generic-router: + repo: https://github.com/njaremko/purescript-generic-router.git + version: v0.0.1 + dependencies: + - arrays + - assert + - effect + - foldable-traversable + - lists + - maybe + - ordered-collections + - prelude + - record + - strings + - tuples + geojson: + repo: https://github.com/sumew/purescript-geojson.git + version: v0.0.5 + dependencies: + - argonaut + - argonaut-codecs + - arrays + - console + - effect + - either + - exceptions + - foldable-traversable + - foreign-object + - maybe + - nonempty + - prelude + - transformers + - tuples + - typelevel-prelude + geometry-plane: + repo: https://github.com/Ebmtranceboy/purescript-geometry-plane.git + version: v1.0.3 + dependencies: + - console + - effect + - psci-support + - sparse-polynomials + grain: + repo: https://github.com/purescript-grain/purescript-grain.git + version: v3.0.0 + dependencies: + - arrays + - effect + - exceptions + - foreign + - functions + - integers + - lazy + - maybe + - nullable + - prelude + - strings + - tailrec + - transformers + - tuples + - unsafe-coerce + - web-dom + - web-events + grain-router: + repo: https://github.com/purescript-grain/purescript-grain-router.git + version: v3.0.0 + dependencies: + - arrays + - control + - effect + - foldable-traversable + - foreign + - grain + - integers + - lists + - maybe + - numbers + - ordered-collections + - prelude + - profunctor + - strings + - tuples + - web-events + - web-html + grain-virtualized: + repo: https://github.com/purescript-grain/purescript-grain-virtualized.git + version: v3.0.0 + dependencies: + - arrays + - foldable-traversable + - grain + - maybe + - prelude + - web-dom + - web-events + graphs: + repo: https://github.com/purescript/purescript-graphs.git + version: v8.1.0 + dependencies: + - catenable-lists + - ordered-collections + group: + repo: https://github.com/morganthomas/purescript-group.git + version: v4.1.1 + dependencies: + - lists + halogen: + repo: https://github.com/purescript-halogen/purescript-halogen.git + version: v7.0.0 + dependencies: + - aff + - avar + - console + - const + - dom-indexed + - effect + - foreign + - fork + - free + - freeap + - halogen-subscriptions + - halogen-vdom + - media-types + - nullable + - ordered-collections + - parallel + - profunctor + - transformers + - unsafe-coerce + - unsafe-reference + - web-file + - web-uievents + halogen-bootstrap5: + repo: https://github.com/tonicebrian/purescript-halogen-bootstrap5.git + version: v2.2.0 + dependencies: + - halogen + halogen-css: + repo: https://github.com/purescript-halogen/purescript-halogen-css.git + version: v10.0.0 + dependencies: + - css + - halogen + halogen-echarts-simple: + repo: https://github.com/lucasdicioccio/purescript-halogen-echarts-simple.git + version: v0.0.4 + dependencies: + - aff + - console + - echarts-simple + - effect + - foldable-traversable + - halogen + - halogen-subscriptions + - maybe + - prelude + halogen-formless: + repo: https://github.com/thomashoneyman/purescript-halogen-formless.git + version: v4.0.3 + dependencies: + - convertable-options + - effect + - either + - foldable-traversable + - foreign-object + - halogen + - heterogeneous + - maybe + - prelude + - record + - safe-coerce + - type-equality + - unsafe-coerce + - unsafe-reference + - variant + - web-events + - web-uievents + halogen-helix: + repo: https://github.com/katsujukou/purescript-halogen-helix.git + version: v1.0.0 + dependencies: + - effect + - halogen-hooks + - halogen-subscriptions + - lazy + - maybe + - prelude + - refs + - tuples + halogen-hooks: + repo: https://github.com/thomashoneyman/purescript-halogen-hooks.git + version: v0.6.3 + dependencies: + - aff + - arrays + - bifunctors + - effect + - exceptions + - foldable-traversable + - foreign-object + - free + - freeap + - halogen + - halogen-subscriptions + - maybe + - newtype + - ordered-collections + - parallel + - partial + - prelude + - refs + - tailrec + - transformers + - tuples + - unsafe-coerce + - unsafe-reference + - web-dom + - web-html + halogen-hooks-extra: + repo: https://github.com/jordanmartinez/purescript-halogen-hooks-extra.git + version: v0.9.0 + dependencies: + - halogen-hooks + halogen-store: + repo: https://github.com/thomashoneyman/purescript-halogen-store.git + version: v0.5.4 + dependencies: + - aff + - distributive + - effect + - fork + - halogen + - halogen-hooks + - halogen-subscriptions + - maybe + - prelude + - refs + - tailrec + - transformers + - tuples + - unsafe-reference + halogen-storybook: + repo: https://github.com/rnons/purescript-halogen-storybook.git + version: v2.0.0 + dependencies: + - foreign-object + - halogen + - prelude + - routing + halogen-subscriptions: + repo: https://github.com/purescript-halogen/purescript-halogen-subscriptions.git + version: v2.0.0 + dependencies: + - arrays + - effect + - foldable-traversable + - functors + - refs + - safe-coerce + - unsafe-reference + halogen-svg-elems: + repo: https://github.com/JordanMartinez/purescript-halogen-svg-elems.git + version: v8.0.0 + dependencies: + - halogen + halogen-typewriter: + repo: https://github.com/qwbarch/halogen-typewriter.git + version: v1.0.2 + dependencies: + - aff + - css + - datetime + - effect + - foldable-traversable + - halogen + - halogen-css + - halogen-subscriptions + - lists + - maybe + - newtype + - prelude + - profunctor-lenses + - random + - strings + - transformers + - typelevel-prelude + halogen-vdom: + repo: https://github.com/purescript-halogen/purescript-halogen-vdom.git + version: v8.0.0 + dependencies: + - bifunctors + - effect + - foreign + - foreign-object + - maybe + - prelude + - refs + - tuples + - unsafe-coerce + - web-html + halogen-vdom-string-renderer: + repo: https://github.com/purescript-halogen/purescript-halogen-vdom-string-renderer.git + version: v0.5.0 + dependencies: + - foreign + - halogen-vdom + - ordered-collections + - prelude + heckin: + repo: https://github.com/maxdeviant/purescript-heckin.git + version: v2.0.1 + dependencies: + - arrays + - foldable-traversable + - maybe + - prelude + - strings + - transformers + - tuples + - unicode + heterogeneous: + repo: https://github.com/natefaubion/purescript-heterogeneous.git + version: v0.6.0 + dependencies: + - either + - functors + - prelude + - record + - tuples + - variant + homogeneous: + repo: https://github.com/paluh/purescript-homogeneous.git + version: v0.4.0 + dependencies: + - assert + - console + - effect + - foreign-object + - psci-support + - variant + http-methods: + repo: https://github.com/purescript-contrib/purescript-http-methods.git + version: v6.0.0 + dependencies: + - either + - prelude + - strings + httpurple: + repo: https://github.com/sigma-andex/purescript-httpurple.git + version: v4.0.0 + dependencies: + - aff + - arrays + - bifunctors + - console + - control + - debug + - effect + - either + - exceptions + - foldable-traversable + - foreign + - foreign-object + - functions + - js-uri + - justifill + - lists + - literals + - maybe + - newtype + - node-buffer + - node-event-emitter + - node-fs + - node-http + - node-net + - node-process + - node-streams + - options + - ordered-collections + - posix-types + - prelude + - profunctor + - record + - record-studio + - refs + - routing-duplex + - safe-coerce + - strings + - transformers + - tuples + - type-equality + - typelevel-prelude + - unsafe-coerce + - untagged-union + humdrum: + repo: https://github.com/lucasdicioccio/purescript-humdrum.git + version: v0.0.1 + dependencies: + - console + - effect + - foldable-traversable + - maybe + - prelude + - web-dom + - web-html + hyrule: + repo: https://github.com/mikesol/purescript-hyrule.git + version: v2.3.8 + dependencies: + - arrays + - control + - datetime + - debug + - effect + - either + - filterable + - foldable-traversable + - js-timers + - lists + - maybe + - newtype + - now + - ordered-collections + - partial + - prelude + - record + - refs + - st + - tuples + - unsafe-coerce + - unsafe-reference + - web-events + - web-html + - web-uievents + identity: + repo: https://github.com/purescript/purescript-identity.git + version: v6.0.0 + dependencies: + - control + - invariant + - newtype + - prelude + identy: + repo: https://github.com/oreshinya/purescript-identy.git + version: v4.0.1 + dependencies: + - arrays + - either + - foldable-traversable + - foreign + - foreign-object + - functions + - lists + - maybe + - newtype + - prelude + - record + - simple-json + - st + - tuples + - typelevel-prelude + - unfoldable + - unsafe-coerce + indexed-db: + repo: https://github.com/ilyakooo0/purescript-indexed-DB.git + version: v1.0.0 + dependencies: + - aff + - arrays + - avar + - console + - control + - datetime + - effect + - either + - enums + - exceptions + - foldable-traversable + - foreign + - functions + - identity + - lists + - maybe + - nonempty + - now + - nullable + - prelude + - read + - spec + - transformers + - tuples + indexed-monad: + repo: https://github.com/garyb/purescript-indexed-monad.git + version: v3.0.0 + dependencies: + - control + - newtype + int64: + repo: https://github.com/purescript-contrib/purescript-int64.git + version: v3.0.0 + dependencies: + - effect + - foreign + - functions + - gen + - integers + - maybe + - nullable + - prelude + - unsafe-coerce + integers: + repo: https://github.com/purescript/purescript-integers.git + version: v6.0.0 + dependencies: + - maybe + - numbers + - prelude + interpolate: + repo: https://github.com/jordanmartinez/purescript-interpolate.git + version: v5.0.2 + dependencies: + - partial + - prelude + invariant: + repo: https://github.com/purescript/purescript-invariant.git + version: v6.0.0 + dependencies: + - control + - prelude + jarilo: + repo: https://github.com/bklaric/purescript-jarilo.git + version: v1.0.1 + dependencies: + - arrays + - bifunctors + - console + - effect + - either + - foldable-traversable + - http-methods + - integers + - lists + - maybe + - prelude + - record + - strings + - tuples + - uri + - variant + jelly: + repo: https://github.com/yukikurage/purescript-jelly.git + version: v0.10.0 + dependencies: + - aff + - arrays + - effect + - either + - free + - jelly-signal + - maybe + - prelude + - refs + - safely + - tailrec + - transformers + - tuples + - web-dom + - web-events + - web-html + jelly-router: + repo: https://github.com/yukikurage/purescript-jelly-router.git + version: v0.3.0 + dependencies: + - effect + - foreign + - jelly + - jelly-signal + - prelude + - tailrec + - transformers + - tuples + - web-events + - web-html + jelly-signal: + repo: https://github.com/yukikurage/purescript-jelly-signal.git + version: v0.4.0 + dependencies: + - aff + - effect + - js-timers + - maybe + - partial + - prelude + - refs + - tailrec + - transformers + - tuples + - unsafe-coerce + - web-events + jest: + repo: https://github.com/nonbili/purescript-jest.git + version: v1.0.0 + dependencies: + - aff + - aff-promise + - effect + - prelude + js-abort-controller: + repo: https://github.com/purescript-contrib/purescript-js-abort-controller.git + version: v1.0.0 + dependencies: + - effect + - foreign + - maybe + - nullable + - prelude + js-bigints: + repo: https://github.com/purescript-contrib/purescript-js-bigints.git + version: v2.2.0 + dependencies: + - integers + - maybe + - prelude + js-date: + repo: https://github.com/purescript-contrib/purescript-js-date.git + version: v8.0.0 + dependencies: + - datetime + - effect + - exceptions + - foreign + - integers + - now + js-fileio: + repo: https://github.com/newlandsvalley/purescript-js-fileio.git + version: v3.0.0 + dependencies: + - aff + - effect + - prelude + js-intl: + repo: https://github.com/pete-murphy/purescript-js-intl.git + version: v1.0.4 + dependencies: + - arrays + - convertable-options + - datetime + - effect + - foreign + - functions + - js-date + - maybe + - nullable + - partial + - prelude + - tuples + - unfoldable + - unsafe-coerce + js-iterators: + repo: https://github.com/gbagan/purescript-js-iterators.git + version: v0.1.1 + dependencies: + - foldable-traversable + - functions + - lazy + - lists + - maybe + - prelude + - st + - tuples + - unsafe-coerce + js-maps: + repo: https://github.com/gbagan/purescript-js-maps.git + version: v0.1.2 + dependencies: + - arrays + - either + - foldable-traversable + - functions + - js-bigints + - maybe + - prelude + - profunctor-lenses + - st + - strings + - tuples + - unfoldable + - unsafe-coerce + js-promise: + repo: https://github.com/purescript-contrib/purescript-js-promise.git + version: v1.0.0 + dependencies: + - effect + - exceptions + - foldable-traversable + - functions + - maybe + - prelude + js-promise-aff: + repo: https://github.com/purescript-contrib/purescript-js-promise-aff.git + version: v1.0.0 + dependencies: + - aff + - foreign + - js-promise + js-timers: + repo: https://github.com/purescript-contrib/purescript-js-timers.git + version: v6.1.0 + dependencies: + - effect + js-uri: + repo: https://github.com/purescript-contrib/purescript-js-uri.git + version: v3.1.0 + dependencies: + - functions + - maybe + json-codecs: + repo: https://github.com/jordanmartinez/purescript-json-codecs.git + version: v4.0.0 + dependencies: + - argonaut-core + - arrays + - bifunctors + - either + - foldable-traversable + - foreign-object + - functions + - identity + - integers + - lists + - maybe + - newtype + - nonempty + - nullable + - ordered-collections + - partial + - prelude + - record + - safe-coerce + - strings + - these + - tuples + - unsafe-coerce + justifill: + repo: https://github.com/i-am-the-slime/purescript-justifill.git + version: v0.5.0 + dependencies: + - maybe + - prelude + - record + - typelevel-prelude + jwt: + repo: https://github.com/menelaos/purescript-jwt.git + version: v0.0.9 + dependencies: + - argonaut-core + - arrays + - b64 + - either + - exceptions + - prelude + - profunctor-lenses + - strings + labeled-data: + repo: https://github.com/thought2/purescript-labeled-data.git + version: v0.2.0 + dependencies: + - aff + - effect + - either + - maybe + - prelude + - record + - tuples + - type-equality + - unsafe-coerce + - variant + lazy: + repo: https://github.com/purescript/purescript-lazy.git + version: v6.0.0 + dependencies: + - control + - foldable-traversable + - invariant + - prelude + lazy-joe: + repo: https://github.com/sigma-andex/purescript-lazy-joe.git + version: v1.0.0 + dependencies: + - aff + - aff-promise + - effect + - functions + - prelude + - unsafe-coerce + lcg: + repo: https://github.com/purescript/purescript-lcg.git + version: v4.0.0 + dependencies: + - effect + - integers + - maybe + - partial + - prelude + - random + leibniz: + repo: https://github.com/paf31/purescript-leibniz.git + version: v5.0.0 + dependencies: + - prelude + - unsafe-coerce + liminal: + repo: https://github.com/jstoxrocky/purescript-liminal.git + version: v1.0.1 + dependencies: + - aff + - arrays + - effect + - foldable-traversable + - maybe + - prelude + - spec + - transformation-matrix + linalg: + repo: https://github.com/gbagan/purescript-linalg.git + version: v6.0.0 + dependencies: + - arrays + - foldable-traversable + - functions + - maybe + - prelude + - tuples + lists: + repo: https://github.com/purescript/purescript-lists.git + version: v7.0.0 + dependencies: + - bifunctors + - control + - foldable-traversable + - lazy + - maybe + - newtype + - nonempty + - partial + - prelude + - tailrec + - tuples + - unfoldable + literals: + repo: https://github.com/rowtype-yoga/purescript-literals.git + version: v1.0.2 + dependencies: + - integers + - maybe + - numbers + - partial + - prelude + - typelevel-prelude + - unsafe-coerce + logging: + repo: https://github.com/rightfold/purescript-logging.git + version: v3.0.0 + dependencies: + - console + - contravariant + - effect + - either + - prelude + - transformers + - tuples + logging-journald: + repo: https://github.com/paluh/purescript-logging-journald.git + version: v0.4.0 + dependencies: + - effect + - logging + - prelude + - systemd-journald + machines: + repo: https://github.com/purescript-contrib/purescript-machines.git + version: v7.0.0 + dependencies: + - arrays + - control + - effect + - lists + - maybe + - prelude + - profunctor + - tuples + - unfoldable + maps-eager: + repo: https://github.com/joellefkowitz/maps-eager.git + version: v0.4.1 + dependencies: + - maybe + - ordered-collections + marionette: + repo: https://github.com/thought2/purescript-marionette.git + version: v1.0.0 + dependencies: + - aff + - console + - datetime + - effect + - either + - enums + - foldable-traversable + - maybe + - newtype + - now + - ordered-collections + - prelude + - refs + - transformers + - tuples + marionette-react-basic-hooks: + repo: https://github.com/thought2/purescript-marionette-react-basic-hooks.git + version: v0.1.1 + dependencies: + - aff + - aff-promise + - console + - effect + - exceptions + - marionette + - maybe + - newtype + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - transformers + - tuples + - unsafe-coerce + - web-dom + - web-html + matrices: + repo: https://github.com/kRITZCREEK/purescript-matrices.git + version: v5.0.1 + dependencies: + - arrays + - strings + matryoshka: + repo: https://github.com/purescript-contrib/purescript-matryoshka.git + version: v1.0.0 + dependencies: + - fixed-points + - free + - prelude + - profunctor + - transformers + maybe: + repo: https://github.com/purescript/purescript-maybe.git + version: v6.0.0 + dependencies: + - control + - invariant + - newtype + - prelude + media-types: + repo: https://github.com/purescript-contrib/purescript-media-types.git + version: v6.0.0 + dependencies: + - newtype + - prelude + metadata: + repo: https://github.com/purescript/purescript-metadata.git + version: v0.15.10 + dependencies: [] + midi: + repo: https://github.com/newlandsvalley/purescript-midi.git + version: v4.0.0 + dependencies: + - arrays + - control + - effect + - either + - foldable-traversable + - integers + - lists + - maybe + - ordered-collections + - prelude + - signal + - string-parsers + - strings + - tuples + - unfoldable + milkis: + repo: https://github.com/justinwoo/purescript-milkis.git + version: v9.0.0 + dependencies: + - aff-promise + - arraybuffer-types + - foreign-object + - prelude + - typelevel-prelude + minibench: + repo: https://github.com/purescript/purescript-minibench.git + version: v4.0.1 + dependencies: + - console + - effect + - integers + - numbers + - partial + - prelude + - refs + mmorph: + repo: https://github.com/Thimoteus/purescript-mmorph.git + version: v7.0.0 + dependencies: + - free + - functors + - transformers + monad-control: + repo: https://github.com/athanclark/purescript-monad-control.git + version: v5.0.0 + dependencies: + - aff + - freet + - identity + - lists + monad-logger: + repo: https://github.com/cprussin/purescript-monad-logger.git + version: v1.3.1 + dependencies: + - aff + - ansi + - argonaut + - arrays + - console + - control + - effect + - foldable-traversable + - foreign-object + - integers + - js-date + - maybe + - newtype + - ordered-collections + - prelude + - strings + - transformers + - tuples + monad-loops: + repo: https://github.com/mlang/purescript-monad-loops.git + version: v0.5.0 + dependencies: + - lists + - maybe + - prelude + - tailrec + - tuples + monad-unlift: + repo: https://github.com/athanclark/purescript-monad-unlift.git + version: v1.0.1 + dependencies: + - monad-control + monoid-extras: + repo: https://github.com/mikesol/purescript-monoid-extras.git + version: v0.0.1 + dependencies: + - console + - effect + - foldable-traversable + - maybe + - prelude + - profunctor + - profunctor-lenses + - tuples + monoidal: + repo: https://github.com/mcneissue/purescript-monoidal.git + version: v0.16.0 + dependencies: + - either + - profunctor + - these + - tuples + morello: + repo: https://github.com/sigma-andex/purescript-morello.git + version: v0.4.0 + dependencies: + - arrays + - barlow-lens + - foldable-traversable + - heterogeneous + - newtype + - prelude + - profunctor + - profunctor-lenses + - record + - record-studio + - tuples + - typelevel-prelude + - validation + mote: + repo: https://github.com/garyb/purescript-mote.git + version: v3.0.0 + dependencies: + - arrays + - these + - transformers + motsunabe: + repo: https://github.com/justinwoo/purescript-motsunabe.git + version: v2.0.0 + dependencies: + - lists + - strings + mvc: + repo: https://github.com/thought2/purescript-mvc.git + version: v0.0.1 + dependencies: + - heterogeneous + - maybe + - newtype + - prelude + - record + - variant + mysql: + repo: https://github.com/oreshinya/purescript-mysql.git + version: v6.0.1 + dependencies: + - aff + - datetime + - effect + - either + - exceptions + - foreign + - functions + - js-date + - lists + - maybe + - newtype + - nonempty + - prelude + - simple-json + - transformers + - unsafe-coerce + n3: + repo: https://github.com/wintechis/purescript-n3.git + version: v0.1.0 + dependencies: + - aff + - aff-promise + - console + - effect + - either + - prelude + - rdf + nano-id: + repo: https://github.com/eikooc/nano-id.git + version: v1.1.0 + dependencies: + - aff + - effect + - lists + - maybe + - prelude + - random + - spec + - strings + - stringutils + nanoid: + repo: https://github.com/rowtype-yoga/purescript-nanoid.git + version: v0.1.0 + dependencies: + - effect + - prelude + - yoga-json + naturals: + repo: https://github.com/LiamGoodacre/purescript-naturals.git + version: v3.0.0 + dependencies: + - enums + - maybe + - prelude + nested-functor: + repo: https://github.com/acple/purescript-nested-functor.git + version: v0.2.1 + dependencies: + - prelude + - type-equality + newtype: + repo: https://github.com/purescript/purescript-newtype.git + version: v5.0.0 + dependencies: + - prelude + - safe-coerce + nextjs: + repo: https://github.com/rowtype-yoga/purescript-nextjs.git + version: v0.1.1 + dependencies: + - aff + - aff-promise + - console + - datetime + - effect + - either + - foldable-traversable + - foreign + - foreign-object + - functions + - identity + - maybe + - nullable + - options + - partial + - prelude + - react-basic + - react-basic-hooks + - transformers + - typelevel-prelude + - unsafe-coerce + - yoga-json + nextui: + repo: https://github.com/rowtype-yoga/purescript-nextui.git + version: v0.2.0 + dependencies: + - effect + - prelude + - react-basic-hooks + node-buffer: + repo: https://github.com/purescript-node/purescript-node-buffer.git + version: v9.0.0 + dependencies: + - arraybuffer-types + - effect + - maybe + - nullable + - st + - unsafe-coerce + node-child-process: + repo: https://github.com/purescript-node/purescript-node-child-process.git + version: v11.0.0 + dependencies: + - exceptions + - foreign + - foreign-object + - functions + - node-event-emitter + - node-fs + - node-os + - node-streams + - nullable + - posix-types + - unsafe-coerce + node-event-emitter: + repo: https://github.com/purescript-node/purescript-node-event-emitter.git + version: v3.0.0 + dependencies: + - effect + - either + - functions + - maybe + - nullable + - prelude + - unsafe-coerce + node-execa: + repo: https://github.com/jordanmartinez/purescript-node-execa.git + version: v4.0.1 + dependencies: + - aff + - arrays + - control + - effect + - either + - exceptions + - foldable-traversable + - foreign-object + - functions + - integers + - js-timers + - maybe + - node-buffer + - node-child-process + - node-event-emitter + - node-fs + - node-human-signals + - node-os + - node-path + - node-process + - node-streams + - nullable + - numbers + - ordered-collections + - parallel + - parsing + - partial + - posix-types + - prelude + - record + - refs + - safe-coerce + - strings + - tailrec + - tuples + - unsafe-coerce + - unsafe-reference + node-fs: + repo: https://github.com/purescript-node/purescript-node-fs.git + version: v9.1.0 + dependencies: + - datetime + - effect + - either + - enums + - exceptions + - functions + - integers + - js-date + - maybe + - node-buffer + - node-path + - node-streams + - nullable + - partial + - prelude + - strings + - unsafe-coerce + node-http: + repo: https://github.com/purescript-node/purescript-node-http.git + version: v9.1.0 + dependencies: + - arraybuffer-types + - contravariant + - effect + - foreign + - foreign-object + - maybe + - node-buffer + - node-net + - node-streams + - node-tls + - node-url + - nullable + - options + - prelude + - unsafe-coerce + node-http2: + repo: https://github.com/purescript-node/purescript-node-http2.git + version: v1.1.1 + dependencies: + - arrays + - datetime + - effect + - either + - exceptions + - foldable-traversable + - foreign-object + - functions + - integers + - maybe + - newtype + - node-buffer + - node-event-emitter + - node-fs + - node-net + - node-path + - node-streams + - node-tls + - nullable + - partial + - prelude + - safe-coerce + - unsafe-coerce + node-human-signals: + repo: https://github.com/jordanmartinez/purescript-node-human-signals.git + version: v1.0.0 + dependencies: + - arrays + - control + - foreign-object + - maybe + - ordered-collections + - prelude + node-net: + repo: https://github.com/purescript-node/purescript-node-net.git + version: v5.1.0 + dependencies: + - effect + - either + - exceptions + - foreign + - maybe + - node-buffer + - node-event-emitter + - node-fs + - nullable + - options + - prelude + - transformers + node-os: + repo: https://github.com/purescript-node/purescript-node-os.git + version: v5.1.0 + dependencies: + - arrays + - bifunctors + - console + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - foreign + - foreign-object + - functions + - maybe + - node-buffer + - nullable + - partial + - posix-types + - prelude + - unsafe-coerce + node-path: + repo: https://github.com/purescript-node/purescript-node-path.git + version: v5.0.0 + dependencies: + - effect + node-process: + repo: https://github.com/purescript-node/purescript-node-process.git + version: v11.2.0 + dependencies: + - effect + - foreign + - foreign-object + - maybe + - node-event-emitter + - node-streams + - posix-types + - prelude + - unsafe-coerce + node-readline: + repo: https://github.com/purescript-node/purescript-node-readline.git + version: v8.1.0 + dependencies: + - effect + - foreign + - node-event-emitter + - node-process + - node-streams + - options + - prelude + node-sqlite3: + repo: https://github.com/justinwoo/purescript-node-sqlite3.git + version: v8.0.0 + dependencies: + - aff + - foreign + node-streams: + repo: https://github.com/purescript-node/purescript-node-streams.git + version: v9.0.0 + dependencies: + - aff + - effect + - either + - exceptions + - node-buffer + - node-event-emitter + - nullable + - prelude + node-tls: + repo: https://github.com/purescript-node/purescript-node-tls.git + version: v0.3.1 + dependencies: + - console + - effect + - either + - exceptions + - foreign + - maybe + - node-buffer + - node-event-emitter + - node-net + - nullable + - partial + - prelude + - unsafe-coerce + node-url: + repo: https://github.com/purescript-node/purescript-node-url.git + version: v7.0.0 + dependencies: + - effect + - foreign + - nullable + - prelude + - tuples + node-zlib: + repo: https://github.com/purescript-node/purescript-node-zlib.git + version: v0.4.0 + dependencies: + - aff + - effect + - either + - functions + - node-buffer + - node-streams + - prelude + - unsafe-coerce + nonempty: + repo: https://github.com/purescript/purescript-nonempty.git + version: v7.0.0 + dependencies: + - control + - foldable-traversable + - maybe + - prelude + - tuples + - unfoldable + now: + repo: https://github.com/purescript-contrib/purescript-now.git + version: v6.0.0 + dependencies: + - datetime + - effect + npm-package-json: + repo: https://github.com/maxdeviant/purescript-npm-package-json.git + version: v2.0.0 + dependencies: + - argonaut + - control + - either + - foreign-object + - maybe + - ordered-collections + - prelude + nullable: + repo: https://github.com/purescript-contrib/purescript-nullable.git + version: v6.0.0 + dependencies: + - effect + - functions + - maybe + numberfield: + repo: https://github.com/Ebmtranceboy/purescript-numberfield.git + version: v0.1.0 + dependencies: + - arrays + - assert + - effect + - foldable-traversable + - js-bigints + - maybe + - ordered-collections + - prelude + - rationals + - sparse-matrices + - sparse-polynomials + - tuples + numbers: + repo: https://github.com/purescript/purescript-numbers.git + version: v9.0.1 + dependencies: + - functions + - maybe + oak: + repo: https://github.com/ehrenmurdick/purescript-oak.git + version: v3.1.1 + dependencies: + - console + - effect + - either + - foldable-traversable + - functions + - maybe + - partial + - prelude + - refs + oak-debug: + repo: https://github.com/ehrenmurdick/purescript-oak-debug.git + version: v1.2.2 + dependencies: + - arrays + - console + - effect + - foldable-traversable + - oak + - prelude + object-maps: + repo: https://github.com/thought2/purescript-object-maps.git + version: v0.3.0 + dependencies: + - argonaut-codecs + - argonaut-core + - either + - foldable-traversable + - foreign-object + - maybe + - prelude + - profunctor-lenses + - st + - tuples + - unsafe-coerce + ocarina: + repo: https://github.com/mikesol/purescript-ocarina.git + version: v1.5.4 + dependencies: + - aff + - aff-promise + - arraybuffer-types + - bolson + - control + - convertable-options + - effect + - fast-vect + - foldable-traversable + - foreign + - foreign-object + - homogeneous + - hyrule + - integers + - js-timers + - lcg + - lists + - maybe + - newtype + - numbers + - ordered-collections + - prelude + - profunctor + - profunctor-lenses + - quickcheck + - refs + - safe-coerce + - simple-json + - sized-vectors + - st + - tuples + - type-equality + - typelevel + - typelevel-prelude + - unsafe-coerce + - unsafe-reference + - variant + - web-events + - web-file + - web-html + open-folds: + repo: https://github.com/purescript-open-community/purescript-open-folds.git + version: v6.3.0 + dependencies: + - bifunctors + - console + - control + - distributive + - effect + - either + - foldable-traversable + - identity + - invariant + - maybe + - newtype + - ordered-collections + - prelude + - profunctor + - psci-support + - tuples + open-memoize: + repo: https://github.com/purescript-open-community/purescript-open-memoize.git + version: v6.1.0 + dependencies: + - console + - effect + - either + - integers + - lazy + - lists + - maybe + - partial + - prelude + - psci-support + - strings + - tuples + open-pairing: + repo: https://github.com/purescript-open-community/purescript-open-pairing.git + version: v6.1.0 + dependencies: + - console + - control + - effect + - either + - free + - functors + - identity + - newtype + - prelude + - psci-support + - transformers + - tuples + options: + repo: https://github.com/purescript-contrib/purescript-options.git + version: v7.0.0 + dependencies: + - contravariant + - foreign + - foreign-object + - maybe + - tuples + ordered-collections: + repo: https://github.com/purescript/purescript-ordered-collections.git + version: v3.1.1 + dependencies: + - arrays + - foldable-traversable + - gen + - lists + - maybe + - partial + - prelude + - st + - tailrec + - tuples + - unfoldable + ordered-set: + repo: https://github.com/flip111/purescript-ordered-set.git + version: v0.4.0 + dependencies: + - argonaut-codecs + - arrays + - partial + - prelude + - unfoldable + orders: + repo: https://github.com/purescript/purescript-orders.git + version: v6.0.0 + dependencies: + - newtype + - prelude + pairs: + repo: https://github.com/sharkdp/purescript-pairs.git + version: v9.0.1 + dependencies: + - console + - distributive + - foldable-traversable + - quickcheck + parallel: + repo: https://github.com/purescript/purescript-parallel.git + version: v7.0.0 + dependencies: + - control + - effect + - either + - foldable-traversable + - functors + - maybe + - newtype + - prelude + - profunctor + - refs + - transformers + parsing: + repo: https://github.com/purescript-contrib/purescript-parsing.git + version: v10.2.0 + dependencies: + - arrays + - control + - effect + - either + - enums + - foldable-traversable + - functions + - identity + - integers + - lazy + - lists + - maybe + - newtype + - nullable + - numbers + - partial + - prelude + - st + - strings + - tailrec + - transformers + - tuples + - unfoldable + - unicode + - unsafe-coerce + parsing-dataview: + repo: https://github.com/jamesdbrock/purescript-parsing-dataview.git + version: v3.2.4 + dependencies: + - arraybuffer + - arraybuffer-types + - effect + - enums + - float32 + - maybe + - parsing + - prelude + - strings + - tailrec + - transformers + - tuples + - uint + partial: + repo: https://github.com/purescript/purescript-partial.git + version: v4.0.0 + dependencies: [] + pathy: + repo: https://github.com/purescript-contrib/purescript-pathy.git + version: v9.0.0 + dependencies: + - console + - exceptions + - lists + - partial + - profunctor + - strings + - transformers + - typelevel-prelude + - unsafe-coerce + pha: + repo: https://github.com/gbagan/purescript-pha.git + version: v0.11.0 + dependencies: + - aff + - bifunctors + - effect + - foldable-traversable + - free + - functions + - maybe + - ordered-collections + - prelude + - profunctor-lenses + - refs + - tailrec + - transformers + - tuples + - unsafe-coerce + - unsafe-reference + - web-dom + - web-events + - web-html + - web-pointerevents + - web-uievents + phaser: + repo: https://github.com/lfarroco/purescript-phaser.git + version: v0.7.0 + dependencies: + - canvas + - console + - effect + - maybe + - nullable + - options + - prelude + - small-ffi + - unsafe-coerce + - web-html + phylio: + repo: https://github.com/vibbits/phylio.git + version: v1.1.2 + dependencies: + - arrays + - control + - either + - enums + - filterable + - foldable-traversable + - graphs + - identity + - lists + - maybe + - numbers + - ordered-collections + - parsing + - prelude + - strings + - stringutils + - transformers + - tuples + pipes: + repo: https://github.com/felixschl/purescript-pipes.git + version: v8.0.0 + dependencies: + - aff + - lists + - mmorph + - prelude + - tailrec + - transformers + - tuples + pirates-charm: + repo: https://github.com/mikesol/purescript-pirates-charm.git + version: v0.0.1 + dependencies: + - aff + - arrays + - effect + - hyrule + - parallel + - prelude + - refs + - st + pmock: + repo: https://github.com/pujoheadsoft/purescript-pmock.git + version: v0.6.0 + dependencies: + - aff + - arrays + - control + - effect + - exceptions + - foldable-traversable + - maybe + - partial + - prelude + - spec + - strings + - transformers + - unsafe-coerce + point-free: + repo: https://github.com/ursi/purescript-point-free.git + version: v1.0.0 + dependencies: + - prelude + pointed-list: + repo: https://github.com/paluh/purescript-pointed-list.git + version: v0.5.1 + dependencies: + - lists + - prelude + polymorphic-vectors: + repo: https://github.com/artemisSystem/purescript-polymorphic-vectors.git + version: v4.0.0 + dependencies: + - distributive + - foldable-traversable + - numbers + - prelude + - record + - safe-coerce + - type-equality + - typelevel-prelude + posix-types: + repo: https://github.com/purescript-node/purescript-posix-types.git + version: v6.0.0 + dependencies: + - maybe + - prelude + precise: + repo: https://github.com/purescript-contrib/purescript-precise.git + version: v6.0.0 + dependencies: + - arrays + - console + - effect + - exceptions + - gen + - integers + - lists + - numbers + - prelude + - strings + precise-datetime: + repo: https://github.com/awakesecurity/purescript-precise-datetime.git + version: v7.0.0 + dependencies: + - arrays + - datetime + - decimals + - either + - enums + - foldable-traversable + - formatters + - integers + - js-date + - lists + - maybe + - newtype + - numbers + - prelude + - strings + - tuples + - unicode + prelude: + repo: https://github.com/purescript/purescript-prelude.git + version: v6.0.1 + dependencies: [] + prettier-printer: + repo: https://github.com/paulyoung/purescript-prettier-printer.git + version: v3.0.0 + dependencies: + - console + - lists + - prelude + - strings + - tuples + profunctor: + repo: https://github.com/purescript/purescript-profunctor.git + version: v6.0.0 + dependencies: + - control + - distributive + - either + - exists + - invariant + - newtype + - prelude + - tuples + profunctor-lenses: + repo: https://github.com/purescript-contrib/purescript-profunctor-lenses.git + version: v8.0.0 + dependencies: + - arrays + - bifunctors + - const + - control + - distributive + - either + - foldable-traversable + - foreign-object + - functors + - identity + - lists + - maybe + - newtype + - ordered-collections + - partial + - prelude + - profunctor + - record + - transformers + - tuples + protobuf: + repo: https://github.com/xc-jp/purescript-protobuf.git + version: v4.3.0 + dependencies: + - arraybuffer + - arraybuffer-builder + - arraybuffer-types + - arrays + - control + - effect + - either + - enums + - exceptions + - float32 + - foldable-traversable + - functions + - int64 + - lists + - maybe + - newtype + - parsing + - parsing-dataview + - prelude + - record + - strings + - tailrec + - transformers + - tuples + - uint + - web-encoding + psa-utils: + repo: https://github.com/natefaubion/purescript-psa-utils.git + version: v8.0.0 + dependencies: + - ansi + - argonaut-codecs + - argonaut-core + - arrays + - console + - control + - effect + - either + - foldable-traversable + - maybe + - node-path + - ordered-collections + - prelude + - strings + - tuples + - unsafe-coerce + psci-support: + repo: https://github.com/purescript/purescript-psci-support.git + version: v6.0.0 + dependencies: + - console + - effect + - prelude + qualified-do: + repo: https://github.com/artemisSystem/purescript-qualified-do.git + version: v2.2.0 + dependencies: + - arrays + - control + - foldable-traversable + - parallel + - prelude + - unfoldable + quantities: + repo: https://github.com/sharkdp/purescript-quantities.git + version: v12.2.0 + dependencies: + - decimals + - either + - foldable-traversable + - lists + - maybe + - newtype + - nonempty + - numbers + - pairs + - prelude + - tuples + quickcheck: + repo: https://github.com/purescript/purescript-quickcheck.git + version: v8.0.1 + dependencies: + - arrays + - console + - control + - effect + - either + - enums + - exceptions + - foldable-traversable + - gen + - identity + - integers + - lazy + - lcg + - lists + - maybe + - newtype + - nonempty + - numbers + - partial + - prelude + - record + - st + - strings + - tailrec + - transformers + - tuples + - unfoldable + quickcheck-combinators: + repo: https://github.com/athanclark/purescript-quickcheck-combinators.git + version: v0.1.3 + dependencies: + - quickcheck + - typelevel + quickcheck-laws: + repo: https://github.com/purescript-contrib/purescript-quickcheck-laws.git + version: v7.0.0 + dependencies: + - enums + - quickcheck + quickcheck-utf8: + repo: https://github.com/openchronology/purescript-quickcheck-utf8.git + version: v0.0.0 + dependencies: + - quickcheck + random: + repo: https://github.com/purescript/purescript-random.git + version: v6.0.0 + dependencies: + - effect + - integers + rationals: + repo: https://github.com/purescript-contrib/purescript-rationals.git + version: v6.0.0 + dependencies: + - integers + - js-bigints + - prelude + rdf: + repo: https://github.com/wintechis/purescript-rdf.git + version: v0.1.0 + dependencies: + - arrays + - console + - datetime + - effect + - either + - foldable-traversable + - formatters + - integers + - lists + - maybe + - ordered-collections + - parsing + - prelude + - strings + react: + repo: https://github.com/purescript-contrib/purescript-react.git + version: v11.0.0 + dependencies: + - effect + - exceptions + - maybe + - nullable + - prelude + - typelevel-prelude + - unsafe-coerce + react-aria: + repo: https://github.com/rowtype-yoga/purescript-react-aria.git + version: v0.2.0 + dependencies: + - aff + - effect + - foreign + - foreign-object + - nullable + - ordered-collections + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - unsafe-coerce + - untagged-union + - web-dom + - web-html + react-basic: + repo: https://github.com/lumihq/purescript-react-basic.git + version: v17.0.0 + dependencies: + - effect + - prelude + - record + react-basic-classic: + repo: https://github.com/lumihq/purescript-react-basic-classic.git + version: v3.0.0 + dependencies: + - aff + - effect + - functions + - maybe + - nullable + - prelude + - react-basic + react-basic-dnd: + repo: https://github.com/lumihq/purescript-react-dnd-basic.git + version: v10.1.0 + dependencies: + - console + - effect + - maybe + - nullable + - prelude + - react-basic-hooks + - web-dom + react-basic-dom: + repo: https://github.com/lumihq/purescript-react-basic-dom.git + version: v6.1.0 + dependencies: + - arrays + - effect + - foldable-traversable + - foreign-object + - maybe + - nullable + - prelude + - react-basic + - record + - unsafe-coerce + - web-dom + - web-events + - web-file + - web-html + react-basic-emotion: + repo: https://github.com/lumihq/purescript-react-basic-emotion.git + version: v7.1.0 + dependencies: + - arrays + - colors + - either + - foreign + - foreign-object + - functions + - integers + - numbers + - prelude + - react-basic + - strings + - transformers + - typelevel-prelude + - unsafe-coerce + - web-html + react-basic-hooks: + repo: https://github.com/megamaddu/purescript-react-basic-hooks.git + version: v8.2.0 + dependencies: + - aff + - aff-promise + - bifunctors + - console + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - functions + - indexed-monad + - integers + - maybe + - newtype + - now + - nullable + - ordered-collections + - prelude + - react-basic + - refs + - tuples + - type-equality + - unsafe-coerce + - unsafe-reference + - web-html + react-basic-storybook: + repo: https://github.com/rowtype-yoga/purescript-react-basic-storybook.git + version: v2.0.0 + dependencies: + - aff + - aff-promise + - debug + - effect + - foreign + - foreign-object + - functions + - maybe + - prelude + - react-basic + - record-studio + - strings + - typelevel-prelude + - unsafe-coerce + - web-html + react-dom: + repo: https://github.com/purescript-contrib/purescript-react-dom.git + version: v8.0.0 + dependencies: + - effect + - react + - web-dom + react-halo: + repo: https://github.com/robertdp/purescript-react-halo.git + version: v3.0.0 + dependencies: + - aff + - bifunctors + - effect + - either + - foldable-traversable + - free + - freeap + - halogen-subscriptions + - maybe + - newtype + - ordered-collections + - parallel + - prelude + - react-basic-hooks + - refs + - tailrec + - transformers + - tuples + - unsafe-reference + react-icons: + repo: https://github.com/purescript-react/purescript-react-icons.git + version: v1.1.1 + dependencies: + - react-basic + - react-basic-dom + - unsafe-coerce + react-markdown: + repo: https://github.com/rowtype-yoga/purescript-react-markdown.git + version: v0.1.0 + dependencies: + - prelude + - react-basic-hooks + react-testing-library: + repo: https://github.com/i-am-the-slime/purescript-react-testing-library.git + version: v4.0.1 + dependencies: + - aff + - aff-promise + - control + - effect + - exceptions + - foldable-traversable + - foreign + - functions + - identity + - maybe + - prelude + - react-basic + - spec + - strings + - transformers + - unsafe-coerce + - web-dom + - web-events + - web-html + react-virtuoso: + repo: https://github.com/rowtype-yoga/purescript-react-virtuoso.git + version: v1.0.0 + dependencies: + - effect + - functions + - maybe + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - unsafe-coerce + - web-html + read: + repo: https://github.com/truqu/purescript-read.git + version: v1.0.1 + dependencies: + - maybe + - prelude + - strings + recharts: + repo: https://github.com/tfc/purescript-recharts.git + version: v1.1.0 + dependencies: + - console + - effect + - maybe + - nullable + - prelude + - react-basic + - react-basic-hooks + - unsafe-coerce + record: + repo: https://github.com/purescript/purescript-record.git + version: v4.0.0 + dependencies: + - functions + - prelude + - unsafe-coerce + record-extra: + repo: https://github.com/justinwoo/purescript-record-extra.git + version: v5.0.1 + dependencies: + - arrays + - functions + - lists + - prelude + - record + - tuples + - typelevel-prelude + record-studio: + repo: https://github.com/rowtype-yoga/purescript-record-studio.git + version: v1.0.4 + dependencies: + - heterogeneous + - lists + - prelude + - record + - typelevel-prelude + refs: + repo: https://github.com/purescript/purescript-refs.git + version: v6.0.0 + dependencies: + - effect + - prelude + remotedata: + repo: https://github.com/krisajenkins/purescript-remotedata.git + version: v5.0.0 + dependencies: + - bifunctors + - either + - profunctor-lenses + resource: + repo: https://github.com/joneshf/purescript-resource.git + version: v2.0.1 + dependencies: + - aff + - console + - control + - effect + - newtype + - prelude + - psci-support + - refs + resourcet: + repo: https://github.com/robertdp/purescript-resourcet.git + version: v1.0.0 + dependencies: + - aff + - effect + - foldable-traversable + - maybe + - ordered-collections + - parallel + - refs + - tailrec + - transformers + - tuples + result: + repo: https://github.com/ad-si/purescript-result.git + version: v1.0.3 + dependencies: + - either + - foldable-traversable + - prelude + return: + repo: https://github.com/ursi/purescript-return.git + version: v0.2.0 + dependencies: + - foldable-traversable + - point-free + - prelude + ring-modules: + repo: https://github.com/f-o-a-m/purescript-ring-modules.git + version: v5.0.1 + dependencies: + - prelude + rito: + repo: https://github.com/mikesol/purescript-rito.git + version: v0.3.4 + dependencies: + - aff + - aff-promise + - arrays + - bolson + - control + - convertable-options + - deku + - effect + - either + - exceptions + - exists + - fast-vect + - foldable-traversable + - foreign + - foreign-object + - heterogeneous + - hyrule + - integers + - maybe + - newtype + - numbers + - prelude + - profunctor + - quickcheck + - random + - record + - refs + - safe-coerce + - st + - tuples + - unsafe-coerce + - variant + - web-dom + - web-html + - web-touchevents + - web-uievents + routing: + repo: https://github.com/purescript-contrib/purescript-routing.git + version: v11.0.0 + dependencies: + - aff + - console + - control + - effect + - either + - foldable-traversable + - integers + - js-uri + - lists + - maybe + - numbers + - partial + - prelude + - semirings + - tuples + - validation + - web-html + routing-duplex: + repo: https://github.com/natefaubion/purescript-routing-duplex.git + version: v0.7.0 + dependencies: + - arrays + - assert + - control + - effect + - either + - foldable-traversable + - integers + - js-uri + - lazy + - maybe + - newtype + - prelude + - profunctor + - quickcheck + - record + - strings + - tuples + run: + repo: https://github.com/natefaubion/purescript-run.git + version: v5.0.0 + dependencies: + - aff + - effect + - either + - free + - maybe + - newtype + - prelude + - profunctor + - tailrec + - tuples + - type-equality + - typelevel-prelude + - unsafe-coerce + - variant + safe-coerce: + repo: https://github.com/purescript/purescript-safe-coerce.git + version: v2.0.0 + dependencies: + - unsafe-coerce + safely: + repo: https://github.com/paf31/purescript-safely.git + version: v4.0.1 + dependencies: + - freet + - lists + school-of-music: + repo: https://github.com/newlandsvalley/purescript-school-of-music.git + version: v1.3.0 + dependencies: + - arrays + - control + - either + - foldable-traversable + - integers + - lists + - maybe + - midi + - ordered-collections + - prelude + - rationals + - string-parsers + - strings + - tuples + selection-foldable: + repo: https://github.com/jamieyung/purescript-selection-foldable.git + version: v0.2.0 + dependencies: + - filterable + - foldable-traversable + - maybe + - prelude + semirings: + repo: https://github.com/purescript/purescript-semirings.git + version: v7.0.0 + dependencies: + - foldable-traversable + - lists + - newtype + - prelude + signal: + repo: https://github.com/bodil/purescript-signal.git + version: v13.0.0 + dependencies: + - aff + - effect + - either + - foldable-traversable + - maybe + - prelude + simple-emitter: + repo: https://github.com/oreshinya/purescript-simple-emitter.git + version: v3.0.1 + dependencies: + - effect + - foldable-traversable + - maybe + - ordered-collections + - prelude + - refs + simple-i18n: + repo: https://github.com/oreshinya/purescript-simple-i18n.git + version: v2.0.1 + dependencies: + - foreign-object + - maybe + - prelude + - record + - record-extra + - typelevel-prelude + - unsafe-coerce + simple-json: + repo: https://github.com/justinwoo/purescript-simple-json.git + version: v9.0.0 + dependencies: + - arrays + - exceptions + - foreign + - foreign-object + - nullable + - prelude + - record + - typelevel-prelude + - variant + simple-ulid: + repo: https://github.com/oreshinya/purescript-simple-ulid.git + version: v3.0.0 + dependencies: + - arrays + - datetime + - effect + - exceptions + - integers + - now + - numbers + - prelude + - strings + - tailrec + - unsafe-coerce + sized-matrices: + repo: https://github.com/csicar/purescript-sized-matrices.git + version: v1.0.0 + dependencies: + - arrays + - distributive + - foldable-traversable + - maybe + - prelude + - sized-vectors + - strings + - typelevel + - unfoldable + - vectorfield + sized-vectors: + repo: https://github.com/bodil/purescript-sized-vectors.git + version: v5.0.2 + dependencies: + - argonaut + - arrays + - distributive + - foldable-traversable + - maybe + - prelude + - quickcheck + - typelevel + - unfoldable + slug: + repo: https://github.com/thomashoneyman/purescript-slug.git + version: v3.0.8 + dependencies: + - argonaut-codecs + - arrays + - either + - maybe + - prelude + - strings + - unicode + small-ffi: + repo: https://github.com/lfarroco/purescript-small-ffi.git + version: v4.0.1 + dependencies: + - arrays + - console + - effect + - prelude + - quickcheck + soundfonts: + repo: https://github.com/newlandsvalley/purescript-soundfonts.git + version: v4.1.0 + dependencies: + - aff + - affjax + - affjax-web + - argonaut-core + - arraybuffer-types + - arrays + - b64 + - bifunctors + - console + - effect + - either + - exceptions + - foldable-traversable + - foreign-object + - http-methods + - integers + - lists + - maybe + - midi + - ordered-collections + - parallel + - partial + - prelude + - strings + - transformers + - tuples + sparse-matrices: + repo: https://github.com/Ebmtranceboy/purescript-sparse-matrices.git + version: v1.3.0 + dependencies: + - arrays + - assert + - cartesian + - effect + - foldable-traversable + - integers + - maybe + - numbers + - ordered-collections + - prelude + - rationals + - sparse-polynomials + - tuples + sparse-polynomials: + repo: https://github.com/Ebmtranceboy/purescript-sparse-polynomials.git + version: v2.0.5 + dependencies: + - arrays + - assert + - cartesian + - effect + - foldable-traversable + - integers + - js-bigints + - maybe + - numbers + - ordered-collections + - partial + - prelude + - rationals + - strings + - tuples + spec: + repo: https://github.com/purescript-spec/purescript-spec.git + version: v7.5.5 + dependencies: + - aff + - ansi + - arrays + - avar + - bifunctors + - control + - datetime + - debug + - effect + - either + - exceptions + - foldable-traversable + - fork + - identity + - integers + - lists + - maybe + - newtype + - now + - ordered-collections + - parallel + - pipes + - prelude + - refs + - strings + - tailrec + - transformers + - tuples + spec-mocha: + repo: https://github.com/purescript-spec/purescript-spec-mocha.git + version: v5.0.0 + dependencies: + - aff + - datetime + - effect + - either + - foldable-traversable + - maybe + - prelude + - spec + spec-quickcheck: + repo: https://github.com/purescript-spec/purescript-spec-quickcheck.git + version: v5.0.0 + dependencies: + - aff + - prelude + - quickcheck + - random + - spec + splitmix: + repo: https://github.com/the-dr-lazy/purescript-splitmix.git + version: v2.1.0 + dependencies: + - console + - effect + - int64 + - integers + - maybe + - partial + - prelude + - tuples + ssrs: + repo: https://github.com/PureFunctor/purescript-ssrs.git + version: v1.0.0 + dependencies: + - dissect + - either + - fixed-points + - free + - lists + - prelude + - safe-coerce + - tailrec + - tuples + - variant + st: + repo: https://github.com/purescript/purescript-st.git + version: v6.2.0 + dependencies: + - partial + - prelude + - tailrec + - unsafe-coerce + statistics: + repo: https://github.com/jacereda/purescript-statistics.git + version: v0.3.2 + dependencies: + - arrays + - console + - control + - effect + - either + - foldable-traversable + - integers + - maybe + - numbers + - partial + - prelude + - quickcheck + - tuples + strictlypositiveint: + repo: https://github.com/jamieyung/purescript-strictlypositiveint.git + version: v1.0.1 + dependencies: + - prelude + string-parsers: + repo: https://github.com/purescript-contrib/purescript-string-parsers.git + version: v8.0.0 + dependencies: + - arrays + - bifunctors + - control + - either + - foldable-traversable + - lists + - maybe + - prelude + - strings + - tailrec + strings: + repo: https://github.com/purescript/purescript-strings.git + version: v6.0.1 + dependencies: + - arrays + - control + - either + - enums + - foldable-traversable + - gen + - integers + - maybe + - newtype + - nonempty + - partial + - prelude + - tailrec + - tuples + - unfoldable + - unsafe-coerce + strings-extra: + repo: https://github.com/purescript-contrib/purescript-strings-extra.git + version: v4.0.0 + dependencies: + - arrays + - foldable-traversable + - maybe + - prelude + - strings + - unicode + stringutils: + repo: https://github.com/menelaos/purescript-stringutils.git + version: v0.0.12 + dependencies: + - arrays + - integers + - maybe + - partial + - prelude + - strings + substitute: + repo: https://github.com/ursi/purescript-substitute.git + version: v0.2.3 + dependencies: + - foldable-traversable + - foreign-object + - maybe + - prelude + - return + - strings + supply: + repo: https://github.com/ajnsit/purescript-supply.git + version: v0.2.0 + dependencies: + - console + - control + - effect + - lazy + - prelude + - refs + - tuples + svg-parser: + repo: https://github.com/rnons/purescript-svg-parser.git + version: v3.0.0 + dependencies: + - arrays + - control + - either + - lists + - prelude + - string-parsers + - strings + systemd-journald: + repo: https://github.com/paluh/purescript-systemd-journald.git + version: v0.3.0 + dependencies: + - console + - functions + - prelude + tagged: + repo: https://github.com/LiamGoodacre/purescript-tagged.git + version: v4.0.2 + dependencies: + - control + - foldable-traversable + - identity + - invariant + - newtype + - prelude + - profunctor + tailrec: + repo: https://github.com/purescript/purescript-tailrec.git + version: v6.1.0 + dependencies: + - bifunctors + - effect + - either + - identity + - maybe + - partial + - prelude + - refs + tecton: + repo: https://github.com/nsaunders/purescript-tecton.git + version: v0.2.1 + dependencies: + - arrays + - colors + - either + - foldable-traversable + - integers + - lists + - numbers + - prelude + - record + - strings + - transformers + - tuples + - web-html + tecton-halogen: + repo: https://github.com/nsaunders/purescript-tecton-halogen.git + version: v0.2.0 + dependencies: + - halogen + - lists + - prelude + - tecton + - transformers + test-unit: + repo: https://github.com/bodil/purescript-test-unit.git + version: v17.0.0 + dependencies: + - aff + - avar + - effect + - either + - free + - js-timers + - lists + - prelude + - quickcheck + - strings + thermite: + repo: https://github.com/paf31/purescript-thermite.git + version: v6.3.1 + dependencies: + - aff + - coroutines + - freet + - profunctor-lenses + - react + thermite-dom: + repo: https://github.com/athanclark/purescript-thermite-dom.git + version: v0.3.1 + dependencies: + - react + - react-dom + - thermite + - web-html + these: + repo: https://github.com/purescript-contrib/purescript-these.git + version: v6.0.0 + dependencies: + - arrays + - gen + - lists + - quickcheck + - quickcheck-laws + - tuples + transformation-matrix: + repo: https://github.com/jstoxrocky/purescript-transformation-matrix.git + version: v1.0.1 + dependencies: + - aff + - arrays + - effect + - either + - foldable-traversable + - numbers + - prelude + - spec + - tuples + transformers: + repo: https://github.com/purescript/purescript-transformers.git + version: v6.0.0 + dependencies: + - control + - distributive + - effect + - either + - exceptions + - foldable-traversable + - identity + - lazy + - maybe + - newtype + - prelude + - tailrec + - tuples + - unfoldable + tree-rose: + repo: https://github.com/jordanmartinez/purescript-tree-rose.git + version: v4.0.2 + dependencies: + - control + - foldable-traversable + - free + - lists + - maybe + - prelude + - tailrec + tuples: + repo: https://github.com/purescript/purescript-tuples.git + version: v7.0.0 + dependencies: + - control + - invariant + - prelude + two-or-more: + repo: https://github.com/i-am-the-slime/purescript-two-or-more.git + version: v1.0.0 + dependencies: + - arrays + - console + - effect + - foldable-traversable + - maybe + - partial + - prelude + - psci-support + - tuples + type-equality: + repo: https://github.com/purescript/purescript-type-equality.git + version: v4.0.1 + dependencies: [] + typedenv: + repo: https://github.com/nsaunders/purescript-typedenv.git + version: v2.0.1 + dependencies: + - either + - foreign-object + - integers + - lists + - maybe + - numbers + - prelude + - record + - strings + - typelevel-prelude + typelevel: + repo: https://github.com/bodil/purescript-typelevel.git + version: v6.0.0 + dependencies: + - partial + - prelude + - tuples + - typelevel-prelude + - unsafe-coerce + typelevel-lists: + repo: https://github.com/PureFunctor/purescript-typelevel-lists.git + version: v2.1.0 + dependencies: + - prelude + - tuples + - typelevel-peano + - typelevel-prelude + - unsafe-coerce + typelevel-peano: + repo: https://github.com/csicar/purescript-typelevel-peano.git + version: v1.0.1 + dependencies: + - arrays + - console + - effect + - prelude + - psci-support + - typelevel-prelude + - unsafe-coerce + typelevel-prelude: + repo: https://github.com/purescript/purescript-typelevel-prelude.git + version: v7.0.0 + dependencies: + - prelude + - type-equality + typelevel-regex: + repo: https://github.com/thought2/purescript-typelevel-regex.git + version: v0.0.3 + dependencies: + - prelude + - typelevel-prelude + typelevel-rows: + repo: https://github.com/jordanmartinez/purescript-typelevel-rows.git + version: v0.1.0 + dependencies: + - prelude + uint: + repo: https://github.com/purescript-contrib/purescript-uint.git + version: v7.0.0 + dependencies: + - effect + - enums + - gen + - maybe + - numbers + - prelude + ulid: + repo: https://github.com/maxdeviant/purescript-ulid.git + version: v3.0.1 + dependencies: + - effect + - functions + - maybe + - nullable + - prelude + uncurried-transformers: + repo: https://github.com/PureFunctor/purescript-uncurried-transformers.git + version: v1.1.0 + dependencies: + - control + - effect + - either + - functions + - identity + - prelude + - safe-coerce + - tailrec + - transformers + - tuples + undefined: + repo: https://github.com/bklaric/purescript-undefined.git + version: v2.0.0 + dependencies: [] + undefined-is-not-a-problem: + repo: https://github.com/paluh/purescript-undefined-is-not-a-problem.git + version: v1.1.0 + dependencies: + - arrays + - assert + - effect + - either + - foreign + - maybe + - newtype + - prelude + - random + - tuples + - type-equality + - unsafe-coerce + unfoldable: + repo: https://github.com/purescript/purescript-unfoldable.git + version: v6.0.0 + dependencies: + - foldable-traversable + - maybe + - partial + - prelude + - tuples + unicode: + repo: https://github.com/purescript-contrib/purescript-unicode.git + version: v6.0.0 + dependencies: + - foldable-traversable + - maybe + - strings + unique: + repo: https://github.com/rowtype-yoga/purescript-unique.git + version: v0.6.1 + dependencies: + - effect + - prelude + - refs + unlift: + repo: https://github.com/tweag/purescript-unlift.git + version: v1.0.1 + dependencies: + - aff + - effect + - either + - freet + - identity + - lists + - maybe + - monad-control + - prelude + - st + - transformers + - tuples + unordered-collections: + repo: https://github.com/fehrenbach/purescript-unordered-collections.git + version: v3.0.1 + dependencies: + - arrays + - enums + - functions + - integers + - lists + - prelude + - record + - tuples + - typelevel-prelude + - unfoldable + unsafe-coerce: + repo: https://github.com/purescript/purescript-unsafe-coerce.git + version: v6.0.0 + dependencies: [] + unsafe-reference: + repo: https://github.com/purescript-contrib/purescript-unsafe-reference.git + version: v5.0.0 + dependencies: + - prelude + untagged-to-tagged: + repo: https://github.com/sigma-andex/purescript-untagged-to-tagged.git + version: v0.1.4 + dependencies: + - either + - newtype + - prelude + - untagged-union + untagged-union: + repo: https://github.com/rowtype-yoga/purescript-untagged-union.git + version: v1.0.0 + dependencies: + - assert + - console + - effect + - foreign + - foreign-object + - literals + - maybe + - newtype + - psci-support + - tuples + - unsafe-coerce + uri: + repo: https://github.com/purescript-contrib/purescript-uri.git + version: v9.0.0 + dependencies: + - arrays + - integers + - js-uri + - numbers + - parsing + - prelude + - profunctor-lenses + - these + - transformers + - unfoldable + uuid: + repo: https://github.com/megamaddu/purescript-uuid.git + version: v9.0.0 + dependencies: + - aff + - effect + - maybe + - partial + - prelude + - spec + - strings + uuidv4: + repo: https://github.com/garyb/purescript-uuidv4.git + version: v1.0.0 + dependencies: + - prelude + - random + - strings + validation: + repo: https://github.com/purescript/purescript-validation.git + version: v6.0.0 + dependencies: + - bifunctors + - control + - either + - foldable-traversable + - newtype + - prelude + variant: + repo: https://github.com/natefaubion/purescript-variant.git + version: v8.0.0 + dependencies: + - enums + - lists + - maybe + - partial + - prelude + - record + - tuples + - unsafe-coerce + variant-encodings: + repo: https://github.com/thought2/purescript-variant-encodings.git + version: v2.0.0 + dependencies: + - prelude + - unsafe-coerce + - variant + vectorfield: + repo: https://github.com/csicar/purescript-vectorfield.git + version: v1.0.1 + dependencies: + - console + - effect + - group + - prelude + - psci-support + vectors: + repo: https://github.com/thought2/purescript-vectors.git + version: v2.1.0 + dependencies: + - console + - effect + - foldable-traversable + - prelude + - profunctor-lenses + versions: + repo: https://github.com/hdgarrood/purescript-versions.git + version: v7.0.0 + dependencies: + - control + - either + - foldable-traversable + - functions + - integers + - lists + - maybe + - orders + - parsing + - partial + - strings + visx: + repo: https://github.com/i-am-the-slime/purescript-visx.git + version: v0.0.2 + dependencies: + - arrays + - console + - datetime + - effect + - either + - foldable-traversable + - foreign + - foreign-object + - functions + - integers + - js-date + - justifill + - lists + - maybe + - nullable + - prelude + - react-basic + - react-basic-dom + - react-basic-hooks + - record + - transformers + - tuples + - typelevel-prelude + - unsafe-coerce + - untagged-union + - web-dom + web-clipboard: + repo: https://github.com/purescript-web/purescript-web-clipboard.git + version: v5.0.0 + dependencies: + - js-promise + - web-html + web-cssom: + repo: https://github.com/purescript-web/purescript-web-cssom.git + version: v2.0.0 + dependencies: + - web-dom + - web-html + - web-uievents + web-cssom-view: + repo: https://github.com/purescript-web/purescript-web-cssom-view.git + version: v0.1.0 + dependencies: + - aff + - web-events + - web-geometry + - web-html + web-dom: + repo: https://github.com/purescript-web/purescript-web-dom.git + version: v6.0.0 + dependencies: + - web-events + web-dom-parser: + repo: https://github.com/purescript-web/purescript-web-dom-parser.git + version: v8.0.0 + dependencies: + - effect + - partial + - prelude + - web-dom + web-dom-xpath: + repo: https://github.com/purescript-web/purescript-web-dom-xpath.git + version: v3.0.0 + dependencies: + - web-dom + web-encoding: + repo: https://github.com/purescript-web/purescript-web-encoding.git + version: v3.0.0 + dependencies: + - arraybuffer-types + - effect + - newtype + - prelude + web-events: + repo: https://github.com/purescript-web/purescript-web-events.git + version: v4.0.0 + dependencies: + - datetime + - enums + - foreign + - nullable + web-fetch: + repo: https://github.com/purescript-web/purescript-web-fetch.git + version: v4.0.1 + dependencies: + - effect + - foreign-object + - http-methods + - js-promise + - prelude + - record + - typelevel-prelude + - web-file + - web-streams + web-file: + repo: https://github.com/purescript-web/purescript-web-file.git + version: v4.0.0 + dependencies: + - foreign + - media-types + - web-dom + web-geometry: + repo: https://github.com/purescript-web/purescript-web-geometry.git + version: v0.1.0 + dependencies: [] + web-html: + repo: https://github.com/purescript-web/purescript-web-html.git + version: v4.1.0 + dependencies: + - js-date + - web-dom + - web-file + - web-storage + web-pointerevents: + repo: https://github.com/purescript-web/purescript-web-pointerevents.git + version: v1.0.0 + dependencies: + - effect + - maybe + - prelude + - web-dom + - web-uievents + web-proletarian: + repo: https://github.com/rowtype-yoga/purescript-web-proletarian.git + version: v1.0.0 + dependencies: + - effect + - prelude + web-resize-observer: + repo: https://github.com/nsaunders/purescript-web-resize-observer.git + version: v2.0.0 + dependencies: + - arrays + - console + - control + - effect + - either + - foldable-traversable + - foreign + - prelude + - record + - transformers + - web-dom + web-router: + repo: https://github.com/robertdp/purescript-web-router.git + version: v1.0.0 + dependencies: + - aff + - effect + - foldable-traversable + - foreign + - freet + - indexed-monad + - maybe + - prelude + - profunctor-lenses + - refs + - routing + - type-equality + web-socket: + repo: https://github.com/purescript-web/purescript-web-socket.git + version: v4.0.0 + dependencies: + - arraybuffer-types + - web-file + web-storage: + repo: https://github.com/purescript-web/purescript-web-storage.git + version: v5.0.0 + dependencies: + - nullable + - web-events + web-streams: + repo: https://github.com/purescript-web/purescript-web-streams.git + version: v4.0.0 + dependencies: + - arraybuffer-types + - effect + - exceptions + - js-promise + - nullable + - prelude + - tuples + web-touchevents: + repo: https://github.com/purescript-web/purescript-web-touchevents.git + version: v4.0.0 + dependencies: + - web-uievents + web-uievents: + repo: https://github.com/purescript-web/purescript-web-uievents.git + version: v5.0.0 + dependencies: + - web-html + web-url: + repo: https://github.com/mjepronk/purescript-web-url.git + version: v2.0.0 + dependencies: + - aff + - effect + - maybe + - partial + - prelude + - spec + - tuples + web-workers: + repo: https://github.com/purescript-web/purescript-web-workers.git + version: v1.1.0 + dependencies: + - effect + - foreign + - maybe + - prelude + - unsafe-coerce + - web-events + web-xhr: + repo: https://github.com/purescript-web/purescript-web-xhr.git + version: v5.0.1 + dependencies: + - arraybuffer-types + - datetime + - http-methods + - web-dom + - web-file + - web-html + webextension-polyfill: + repo: https://github.com/rowtype-yoga/purescript-webextension-polyfill.git + version: v0.1.0 + dependencies: + - aff + - aff-promise + - console + - effect + - either + - foldable-traversable + - foreign + - foreign-object + - maybe + - newtype + - prelude + - yoga-json + webgpu: + repo: https://github.com/purescript-web/purescript-webgpu.git + version: v0.0.1 + dependencies: + - arraybuffer-types + - effect + - foreign + - foreign-object + - functions + - integers + - js-promise + - maybe + - newtype + - ordered-collections + - prelude + - uint + - unsafe-coerce + - web-events + - web-html + which: + repo: https://github.com/maxdeviant/purescript-which.git + version: v2.0.0 + dependencies: + - arrays + - effect + - foreign + - maybe + - nullable + - options + - prelude + yoga-fetch: + repo: https://github.com/rowtype-yoga/purescript-yoga-fetch.git + version: v1.0.1 + dependencies: + - aff + - aff-promise + - arraybuffer-types + - effect + - foreign + - foreign-object + - newtype + - prelude + - typelevel-prelude + - unsafe-coerce + yoga-json: + repo: https://github.com/rowtype-yoga/purescript-yoga-json.git + version: v5.1.0 + dependencies: + - arrays + - bifunctors + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - foreign + - foreign-object + - free + - identity + - integers + - js-bigints + - js-date + - lists + - maybe + - newtype + - nullable + - numbers + - ordered-collections + - partial + - prelude + - record + - strings + - transformers + - tuples + - typelevel-prelude + - unsafe-coerce + - variant + - yoga-tree + yoga-om: + repo: https://github.com/rowtype-yoga/purescript-yoga-om.git + version: v0.1.0 + dependencies: + - aff + - avar + - console + - control + - datetime + - effect + - either + - exceptions + - functions + - maybe + - newtype + - parallel + - prelude + - record + - record-studio + - tailrec + - transformers + - tuples + - typelevel-prelude + - uncurried-transformers + - unsafe-coerce + - variant + yoga-postgres: + repo: https://github.com/rowtype-yoga/purescript-yoga-postgres.git + version: v6.0.0 + dependencies: + - aff + - arrays + - datetime + - effect + - either + - enums + - foldable-traversable + - foreign + - integers + - maybe + - nullable + - prelude + - transformers + - unsafe-coerce + yoga-tree: + repo: https://github.com/rowtype-yoga/purescript-yoga-tree.git + version: v1.0.0 + dependencies: + - arrays + - control + - foldable-traversable + - free + - maybe + - prelude + - tailrec + z3: + repo: https://github.com/gbagan/purescript-z3.git + version: v0.0.2 + dependencies: + - aff + - arrays + - effect + - foldable-traversable + - functions + - js-bigints + - js-promise + - js-promise-aff + - maybe + - prelude + - record + - refs + - transformers + extra_packages: {} +packages: + aff: + type: git + url: https://github.com/purescript-contrib/purescript-aff.git + rev: 6adec6ff048a7876f74c294c440374cd21342d39 + dependencies: + - arrays + - bifunctors + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - functions + - maybe + - newtype + - parallel + - prelude + - refs + - tailrec + - transformers + - unsafe-coerce + aff-promise: + type: git + url: https://github.com/nwolverson/purescript-aff-promise.git + rev: 3aa74e68e3e4c3e38d821375703e0b2f49d831eb + dependencies: + - aff + - foreign + ansi: + type: git + url: https://github.com/hdgarrood/purescript-ansi.git + rev: 7d898732d643a977a78004851112a4417909e126 + dependencies: + - foldable-traversable + - lists + - strings + arraybuffer-types: + type: git + url: https://github.com/purescript-contrib/purescript-arraybuffer-types.git + rev: 9b0b7a0f9ee034e039f3d3a2a9c3f74eb7c9264a + dependencies: [] + arrays: + type: git + url: https://github.com/purescript/purescript-arrays.git + rev: ad760640451bd6b4bdd5d44969940217767accba + dependencies: + - bifunctors + - control + - foldable-traversable + - functions + - maybe + - nonempty + - partial + - prelude + - safe-coerce + - st + - tailrec + - tuples + - unfoldable + - unsafe-coerce + avar: + type: git + url: https://github.com/purescript-contrib/purescript-avar.git + rev: d00f5784d9cc8f079babd62740f5c52b87e5caa5 + dependencies: + - aff + - effect + - either + - exceptions + - functions + - maybe + bifunctors: + type: git + url: https://github.com/purescript/purescript-bifunctors.git + rev: 16ba2fb6dd7f05528ebd9e2f9ca3a068b325e5b3 + dependencies: + - const + - either + - newtype + - prelude + - tuples + catenable-lists: + type: git + url: https://github.com/purescript/purescript-catenable-lists.git + rev: 09abe1f4888bc00841ad2b59e56a9e7ce7ebd4ab + dependencies: + - control + - foldable-traversable + - lists + - maybe + - prelude + - tuples + - unfoldable + console: + type: git + url: https://github.com/purescript/purescript-console.git + rev: 3b83d7b792d03872afeea5e62b4f686ab0f09842 + dependencies: + - effect + - prelude + const: + type: git + url: https://github.com/purescript/purescript-const.git + rev: ab9570cf2b6e67f7e441178211db1231cfd75c37 + dependencies: + - invariant + - newtype + - prelude + contravariant: + type: git + url: https://github.com/purescript/purescript-contravariant.git + rev: 9ad3e105b8855bcc25f4e0893c784789d05a58de + dependencies: + - const + - either + - newtype + - prelude + - tuples + control: + type: git + url: https://github.com/purescript/purescript-control.git + rev: a6033808790879a17b2729e73747a9ed3fb2264e + dependencies: + - newtype + - prelude + datetime: + type: git + url: https://github.com/purescript/purescript-datetime.git + rev: 7f6062346055e654942caed6c44612b59031f059 + dependencies: + - bifunctors + - control + - either + - enums + - foldable-traversable + - functions + - gen + - integers + - lists + - maybe + - newtype + - numbers + - ordered-collections + - partial + - prelude + - tuples + debug: + type: git + url: https://github.com/garyb/purescript-debug.git + rev: a37b82f62c89734934c0962ece3412913020460a + dependencies: + - functions + - prelude + distributive: + type: git + url: https://github.com/purescript/purescript-distributive.git + rev: 6005e513642e855ebf6f884d24a35c2803ca252a + dependencies: + - identity + - newtype + - prelude + - tuples + - type-equality + effect: + type: git + url: https://github.com/purescript/purescript-effect.git + rev: a192ddb923027d426d6ea3d8deb030c9aa7c7dda + dependencies: + - prelude + either: + type: git + url: https://github.com/purescript/purescript-either.git + rev: af655a04ed2fd694b6688af39ee20d7907ad0763 + dependencies: + - control + - invariant + - maybe + - prelude + enums: + type: git + url: https://github.com/purescript/purescript-enums.git + rev: cd373c580b69fdc00e412bddbc299adabe242cc5 + dependencies: + - control + - either + - gen + - maybe + - newtype + - nonempty + - partial + - prelude + - tuples + - unfoldable + exceptions: + type: git + url: https://github.com/purescript/purescript-exceptions.git + rev: afab3c07c820bb49b6c5be50049db46a964a6161 + dependencies: + - effect + - either + - maybe + - prelude + exists: + type: git + url: https://github.com/purescript/purescript-exists.git + rev: f765b4ace7869c27b9c05949e18c843881f9173b + dependencies: + - unsafe-coerce + filterable: + type: git + url: https://github.com/purescript/purescript-filterable.git + rev: 7c5b8c72779997f2b17d12ce478ff81e7ddda285 + dependencies: + - arrays + - either + - foldable-traversable + - identity + - lists + - ordered-collections + foldable-traversable: + type: git + url: https://github.com/purescript/purescript-foldable-traversable.git + rev: b3926f870532d287ea59e2d5cd3873b81ef2a93a + dependencies: + - bifunctors + - const + - control + - either + - functors + - identity + - maybe + - newtype + - orders + - prelude + - tuples + foreign: + type: git + url: https://github.com/purescript/purescript-foreign.git + rev: 2dd222d1ec7363fa0a0a7adb0d8eaf81bb7006dd + dependencies: + - either + - functions + - identity + - integers + - lists + - maybe + - prelude + - strings + - transformers + foreign-object: + type: git + url: https://github.com/purescript/purescript-foreign-object.git + rev: 9bfb4eb6271b151414594cfec669fb4b18b91bd1 + dependencies: + - arrays + - foldable-traversable + - functions + - gen + - lists + - maybe + - prelude + - st + - tailrec + - tuples + - typelevel-prelude + - unfoldable + fork: + type: git + url: https://github.com/purescript-contrib/purescript-fork.git + rev: a5c3bc6f357e97669e8c29c6f79f5f55be0d42c0 + dependencies: + - aff + free: + type: git + url: https://github.com/purescript/purescript-free.git + rev: 068ad8c146a4fc48dd896c58384c312b04b06a74 + dependencies: + - catenable-lists + - control + - distributive + - either + - exists + - foldable-traversable + - invariant + - lazy + - maybe + - prelude + - tailrec + - transformers + - tuples + - unsafe-coerce + functions: + type: git + url: https://github.com/purescript/purescript-functions.git + rev: f626f20580483977c5b27a01aac6471e28aff367 + dependencies: + - prelude + functors: + type: git + url: https://github.com/purescript/purescript-functors.git + rev: 022ffd7a2a7ec12080314f3d217b400674a247b4 + dependencies: + - bifunctors + - const + - contravariant + - control + - distributive + - either + - invariant + - maybe + - newtype + - prelude + - profunctor + - tuples + - unsafe-coerce + gen: + type: git + url: https://github.com/purescript/purescript-gen.git + rev: 9fbcc2a1261c32e30d79c5418edef4d96fe76931 + dependencies: + - either + - foldable-traversable + - identity + - maybe + - newtype + - nonempty + - prelude + - tailrec + - tuples + - unfoldable + identity: + type: git + url: https://github.com/purescript/purescript-identity.git + rev: ef6768f8a52ab0bc943a85f5761ba07c257f639f + dependencies: + - control + - invariant + - newtype + - prelude + integers: + type: git + url: https://github.com/purescript/purescript-integers.git + rev: 54d712b25c594833083d15dc9ff2418eb9c52822 + dependencies: + - maybe + - numbers + - prelude + invariant: + type: git + url: https://github.com/purescript/purescript-invariant.git + rev: 1d2a196d51e90623adb88496c2cfd759c6736894 + dependencies: + - control + - prelude + lazy: + type: git + url: https://github.com/purescript/purescript-lazy.git + rev: 48347841226b27af5205a1a8ec71e27a93ce86fd + dependencies: + - control + - foldable-traversable + - invariant + - prelude + lists: + type: git + url: https://github.com/purescript/purescript-lists.git + rev: b113451e5b41cad87d669a3165f955c71cd863e2 + dependencies: + - bifunctors + - control + - foldable-traversable + - lazy + - maybe + - newtype + - nonempty + - partial + - prelude + - tailrec + - tuples + - unfoldable + maybe: + type: git + url: https://github.com/purescript/purescript-maybe.git + rev: c6f98ac1088766287106c5d9c8e30e7648d36786 + dependencies: + - control + - invariant + - newtype + - prelude + mmorph: + type: git + url: https://github.com/Thimoteus/purescript-mmorph.git + rev: 94bc558ac34184d5236a7a9b2463dcc7551ced8e + dependencies: + - free + - functors + - transformers + newtype: + type: git + url: https://github.com/purescript/purescript-newtype.git + rev: 29d8e6dd77aec2c975c948364ec3faf26e14ee7b + dependencies: + - prelude + - safe-coerce + node-buffer: + type: git + url: https://github.com/purescript-node/purescript-node-buffer.git + rev: 8263037a2db02823a0b47c57a80214382568bf7c + dependencies: + - arraybuffer-types + - effect + - maybe + - nullable + - st + - unsafe-coerce + node-os: + type: git + url: https://github.com/purescript-node/purescript-node-os.git + rev: c1b8e378c395b84f6973e688d9f38bc60a1f6f2b + dependencies: + - arrays + - bifunctors + - console + - control + - datetime + - effect + - either + - exceptions + - foldable-traversable + - foreign + - foreign-object + - functions + - maybe + - node-buffer + - nullable + - partial + - posix-types + - prelude + - unsafe-coerce + nonempty: + type: git + url: https://github.com/purescript/purescript-nonempty.git + rev: 28150ecc7419238b187abd609a92a645273348bb + dependencies: + - control + - foldable-traversable + - maybe + - prelude + - tuples + - unfoldable + now: + type: git + url: https://github.com/purescript-contrib/purescript-now.git + rev: b5ffed2381e5fefc063f484e607e8499e79eaf32 + dependencies: + - datetime + - effect + nullable: + type: git + url: https://github.com/purescript-contrib/purescript-nullable.git + rev: 3202744c6c65e8d1fbba7f4256a1c482078e7fb5 + dependencies: + - effect + - functions + - maybe + numbers: + type: git + url: https://github.com/purescript/purescript-numbers.git + rev: 27d54effdd2c0e7a86fe356b1cd813dca5981c2d + dependencies: + - functions + - maybe + ordered-collections: + type: git + url: https://github.com/purescript/purescript-ordered-collections.git + rev: 313ec0c3556854cd4e4752a77a86b102fc41ad05 + dependencies: + - arrays + - foldable-traversable + - gen + - lists + - maybe + - partial + - prelude + - st + - tailrec + - tuples + - unfoldable + orders: + type: git + url: https://github.com/purescript/purescript-orders.git + rev: f86db621ec5eef1274145f8b1fd8ebbfe0ed4a2c + dependencies: + - newtype + - prelude + parallel: + type: git + url: https://github.com/purescript/purescript-parallel.git + rev: a6be752e44f115be1ec4d742f307bf7c0e14a765 + dependencies: + - control + - effect + - either + - foldable-traversable + - functors + - maybe + - newtype + - prelude + - profunctor + - refs + - transformers + partial: + type: git + url: https://github.com/purescript/purescript-partial.git + rev: 0fa0646f5ea1ec5f0c46dcbd770c705a6c9ad3ec + dependencies: [] + pipes: + type: git + url: https://github.com/felixschl/purescript-pipes.git + rev: e3bdc0b0db0a67e89a717b6118b23e78a380e23f + dependencies: + - aff + - lists + - mmorph + - prelude + - tailrec + - transformers + - tuples + posix-types: + type: git + url: https://github.com/purescript-node/purescript-posix-types.git + rev: b79ff37f87846ca5caab2123cf84148e700d40d1 + dependencies: + - maybe + - prelude + prelude: + type: git + url: https://github.com/purescript/purescript-prelude.git + rev: f4cad0ae8106185c9ab407f43cf9abf05c256af4 + dependencies: [] + profunctor: + type: git + url: https://github.com/purescript/purescript-profunctor.git + rev: 0a966a14e7b0c827d44657dc1710cdc712d2e034 + dependencies: + - control + - distributive + - either + - exists + - invariant + - newtype + - prelude + - tuples + random: + type: git + url: https://github.com/purescript/purescript-random.git + rev: 9540bc965a9596da02fefd9949418bb19c92533a + dependencies: + - effect + - integers + refs: + type: git + url: https://github.com/purescript/purescript-refs.git + rev: f8e6216da4cb9309fde1f20cd6f69ac3a3b7f9e8 + dependencies: + - effect + - prelude + safe-coerce: + type: git + url: https://github.com/purescript/purescript-safe-coerce.git + rev: 7fa799ae80a38b8d948efcb52608e58e198b3da7 + dependencies: + - unsafe-coerce + spec: + type: git + url: https://github.com/purescript-spec/purescript-spec.git + rev: 61d03e67d9981e5b21645026b199eabe6c33b3cb + dependencies: + - aff + - ansi + - arrays + - avar + - bifunctors + - control + - datetime + - debug + - effect + - either + - exceptions + - foldable-traversable + - fork + - identity + - integers + - lists + - maybe + - newtype + - now + - ordered-collections + - parallel + - pipes + - prelude + - refs + - strings + - tailrec + - transformers + - tuples + st: + type: git + url: https://github.com/purescript/purescript-st.git + rev: fc2fe2972bb12e6a2bd3b295baf01577240c23ac + dependencies: + - partial + - prelude + - tailrec + - unsafe-coerce + strings: + type: git + url: https://github.com/purescript/purescript-strings.git + rev: 3d3e2f7197d4f7aacb15e854ee9a645489555fff + dependencies: + - arrays + - control + - either + - enums + - foldable-traversable + - gen + - integers + - maybe + - newtype + - nonempty + - partial + - prelude + - tailrec + - tuples + - unfoldable + - unsafe-coerce + tailrec: + type: git + url: https://github.com/purescript/purescript-tailrec.git + rev: 5661a10afbd4849bd2e45139ea567beb40b20f9f + dependencies: + - bifunctors + - effect + - either + - identity + - maybe + - partial + - prelude + - refs + transformers: + type: git + url: https://github.com/purescript/purescript-transformers.git + rev: be72ab52357d9a665cbf93d73ba1c07c4b0957ee + dependencies: + - control + - distributive + - effect + - either + - exceptions + - foldable-traversable + - identity + - lazy + - maybe + - newtype + - prelude + - tailrec + - tuples + - unfoldable + tuples: + type: git + url: https://github.com/purescript/purescript-tuples.git + rev: 4f52da2729b448c8564369378f1232d8d2dc1d8b + dependencies: + - control + - invariant + - prelude + type-equality: + type: git + url: https://github.com/purescript/purescript-type-equality.git + rev: 0525b7d39e0fbd81b4209518139fb8ab02695774 + dependencies: [] + typelevel-prelude: + type: git + url: https://github.com/purescript/purescript-typelevel-prelude.git + rev: dca2fe3c8cfd5527d4fe70c4bedfda30148405bf + dependencies: + - prelude + - type-equality + unfoldable: + type: git + url: https://github.com/purescript/purescript-unfoldable.git + rev: 493dfe04ed590e20d8f69079df2f58486882748d + dependencies: + - foldable-traversable + - maybe + - partial + - prelude + - tuples + unsafe-coerce: + type: git + url: https://github.com/purescript/purescript-unsafe-coerce.git + rev: ab956f82e66e633f647fb3098e8ddd3ec58d689f + dependencies: [] diff --git a/spago.yaml b/spago.yaml index ee6829c..7304096 100644 --- a/spago.yaml +++ b/spago.yaml @@ -6,11 +6,14 @@ package: - bifunctors - effect - either + - filterable - foldable-traversable - maybe - newtype + - node-os - nullable - prelude + - random - strings - tailrec - transformers diff --git a/src/Effect.Email.js b/src/Effect.Email.js index 444eda2..d3db922 100644 --- a/src/Effect.Email.js +++ b/src/Effect.Email.js @@ -1,4 +1,4 @@ import { checkEmail } from 'qed-mail' -/** @type {(_: string) => () => Promise} */ -export const checkEmailImpl = s => () => checkEmail(s) +/** @type {(email: string) => (addr: string | null) => () => Promise} */ +export const checkEmailImpl = s => addr => () => checkEmail(s, {fromAddr: addr || undefined}) diff --git a/src/Effect.Email.purs b/src/Effect.Email.purs index c1b7cde..939169a 100644 --- a/src/Effect.Email.purs +++ b/src/Effect.Email.purs @@ -14,6 +14,8 @@ import Data.Either (Either(..)) import Data.Email (Email) import Data.Email as Email import Data.Eq.Generic (genericEq) +import Data.Filterable (filter) +import Data.Foldable (fold) import Data.Generic.Rep (class Generic) import Data.Int as Int import Data.Maybe (maybe) @@ -24,9 +26,12 @@ import Data.Show.Generic (genericShow) import Data.Traversable (for_) import Effect (Effect) import Effect.Aff (Aff, delay) +import Effect.Class (liftEffect) +import Effect.Random (randomInt) +import Node.OS as Node.OS import Type.Function (type ($)) -foreign import checkEmailImpl :: String -> Effect $ Promise $ QEDResult +foreign import checkEmailImpl :: String -> Nullable String -> Effect $ Promise $ QEDResult data EmailError = EmailUnreachable Email @@ -82,8 +87,12 @@ type QEDResult = deliverableOnce :: Email -> ExceptT EmailError Aff Email deliverableOnce email' = do - let email = Email.toString email' - { reachable, syntax, mx, smtp } <- lift $ Promise.toAffE $ checkEmailImpl email + addrs <- liftEffect $ filter (not <<< _.internal) <$> fold <$> Node.OS.networkInterfaces + chosen <- liftEffect $ randomInt 0 (Array.length addrs - 1) + let + addr = _.address <$> Array.index addrs chosen + email = Email.toString email' + { reachable, syntax, mx, smtp } <- lift $ Promise.toAffE $ checkEmailImpl email (Nullable.toNullable addr) when (not syntax.valid) $ throwError $ EmailSyntaxInvalid email' when (not mx.valid) $ throwError $ EmailMXInvalid email' when (maybe true Array.null $ Nullable.toMaybe $ mx.mxRecords) $ throwError $ EmailMXNoRecords email'