From 7baf690b5352f13e53be5a0d1b14a34b77bc442d Mon Sep 17 00:00:00 2001 From: Robert Herber Date: Sat, 22 Jun 2024 15:58:50 +0200 Subject: [PATCH 1/2] Add queue-in-memory and cron-in-memory --- bun.lockb | Bin 1176104 -> 1177984 bytes packages/core/types.ts | 43 +++++ packages/cron-in-memory/README.md | 13 ++ packages/cron-in-memory/codegen.ts | 9 + .../graphql/Mutation/randomNumber.test.ts | 23 +++ .../graphql/Mutation/randomNumber.ts | 11 ++ .../graphql/Query/hello.test.ts | 21 +++ .../cron-in-memory/graphql/Query/hello.ts | 5 + .../graphql/Subscription/countdown.ts | 20 +++ .../graphql/Subscription/randomNumber.ts | 15 ++ .../graphql/Subscription/tick.ts | 22 +++ .../graphql/schema.generated.ts | 154 ++++++++++++++++++ .../cron-in-memory/graphql/schema.graphql | 13 ++ packages/cron-in-memory/package.json | 38 +++++ packages/cron-in-memory/plugin.ts | 51 ++++++ packages/cron-in-memory/routes/hello-world.ts | 3 + .../cron-in-memory/routes/hello/world.html | 8 + packages/cron-in-memory/tsconfig.json | 4 + packages/queue-in-memory/README.md | 13 ++ packages/queue-in-memory/codegen.ts | 9 + .../graphql/Mutation/randomNumber.test.ts | 23 +++ .../graphql/Mutation/randomNumber.ts | 11 ++ .../graphql/Query/hello.test.ts | 21 +++ .../queue-in-memory/graphql/Query/hello.ts | 5 + .../graphql/Subscription/countdown.ts | 20 +++ .../graphql/Subscription/randomNumber.ts | 15 ++ .../graphql/Subscription/tick.ts | 22 +++ .../graphql/schema.generated.ts | 154 ++++++++++++++++++ .../queue-in-memory/graphql/schema.graphql | 13 ++ packages/queue-in-memory/package.json | 38 +++++ packages/queue-in-memory/plugin.ts | 145 +++++++++++++++++ .../queue-in-memory/routes/hello-world.ts | 3 + .../queue-in-memory/routes/hello/world.html | 8 + packages/queue-in-memory/testing-it-out.ts | 35 ++++ packages/queue-in-memory/tsconfig.json | 4 + packages/utils/executionLock.test.ts | 86 ++++++++++ packages/utils/executionLock.ts | 38 +++++ 37 files changed, 1116 insertions(+) create mode 100644 packages/cron-in-memory/README.md create mode 100644 packages/cron-in-memory/codegen.ts create mode 100644 packages/cron-in-memory/graphql/Mutation/randomNumber.test.ts create mode 100644 packages/cron-in-memory/graphql/Mutation/randomNumber.ts create mode 100644 packages/cron-in-memory/graphql/Query/hello.test.ts create mode 100644 packages/cron-in-memory/graphql/Query/hello.ts create mode 100644 packages/cron-in-memory/graphql/Subscription/countdown.ts create mode 100644 packages/cron-in-memory/graphql/Subscription/randomNumber.ts create mode 100644 packages/cron-in-memory/graphql/Subscription/tick.ts create mode 100644 packages/cron-in-memory/graphql/schema.generated.ts create mode 100644 packages/cron-in-memory/graphql/schema.graphql create mode 100644 packages/cron-in-memory/package.json create mode 100644 packages/cron-in-memory/plugin.ts create mode 100644 packages/cron-in-memory/routes/hello-world.ts create mode 100644 packages/cron-in-memory/routes/hello/world.html create mode 100644 packages/cron-in-memory/tsconfig.json create mode 100644 packages/queue-in-memory/README.md create mode 100644 packages/queue-in-memory/codegen.ts create mode 100644 packages/queue-in-memory/graphql/Mutation/randomNumber.test.ts create mode 100644 packages/queue-in-memory/graphql/Mutation/randomNumber.ts create mode 100644 packages/queue-in-memory/graphql/Query/hello.test.ts create mode 100644 packages/queue-in-memory/graphql/Query/hello.ts create mode 100644 packages/queue-in-memory/graphql/Subscription/countdown.ts create mode 100644 packages/queue-in-memory/graphql/Subscription/randomNumber.ts create mode 100644 packages/queue-in-memory/graphql/Subscription/tick.ts create mode 100644 packages/queue-in-memory/graphql/schema.generated.ts create mode 100644 packages/queue-in-memory/graphql/schema.graphql create mode 100644 packages/queue-in-memory/package.json create mode 100644 packages/queue-in-memory/plugin.ts create mode 100644 packages/queue-in-memory/routes/hello-world.ts create mode 100644 packages/queue-in-memory/routes/hello/world.html create mode 100644 packages/queue-in-memory/testing-it-out.ts create mode 100644 packages/queue-in-memory/tsconfig.json create mode 100644 packages/utils/executionLock.test.ts create mode 100644 packages/utils/executionLock.ts diff --git a/bun.lockb b/bun.lockb index cb23ae1e7b6c59ea6fd237e4d32d2d01f70cd779..624291cecc2a36d267a8d4d5269169626c6437db 100755 GIT binary patch delta 217714 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 UfnF%jJU{jK^{Gk&UfQnxKipDDiU0rr delta 217320 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%0ANcVJ|wQ!F%qnan5(yT zil2?8K|n*Y_vXD=8kf87-?l(BoPwr`XCCP*ONHfNNz*1bl=IMHr?@GT| zzaC44^Y4j2jny8Dy-O-O#eT(7)9o4*8AtojepxXb%de#ta4%bYbVM({hAWPCb6eBG z>m$2;UGkt~d}Bu3(DuyPH(>H<3hSj;arxy!@GNROrV7OJn=OuyaH(x*qo+yBztRyr zF3dmHCKxyL#&D%OD!Lqe4!g% zaeKzu7eHOs7`#0GZJFiUn+qTrjlg36^hdd0eGn(li#hc^z@^VPx#IU@+Ri-QcfKDO zBh2#W>tk4a%&cvkcH%sbSpI^MeS$AZuuO~>nZ<1(KU)OoC$zu5_Ecy8f{rlalc0H>7bS)c&rD@QId>G5$=ql@2jWsmH z5~pYN)rfe}OR!G$Z%g1(3Um_b{f4C$pe?bE>*e#J%UB4#h^3_gA?d(${xk@RzZAyPUJ=m==AiTS+&~7rNq12E`JfzJtLkZ) zQ>uHIvc})WQhQNy77g`JO_=KAXJF|HO`;W@;`f@LUm$M6@)^=*(Ifg{xwPTju;B6+ z3$2Nt!_wTv+{81wEoQO&WaZZ4H0uqw@eFzj%NF^RV>Om8Ogx%;sS_`bWgkzo^*h}c zCpb;x?_dQ%cuviQplSc=QLuno&BoFKfK@b`?_&5Xkp|W&1AK)^`sYs3LaZ!3uL{35 zz@2+ygS4klh<;n6^B6+Ki|*ZlvPjsPs7y6phK9ymS6?Vs~x$be_?eCrcnLdPhXO{dx$?j zhES(YFug*|^BgE{& znym*`5B&UGGX+bNJ15pumNAEg{p-a2PmN58e`xWTH-6#evI~7kKR=Jf@~ae95z!~G zdIw*QZ#v9YP{D8YoQ~z^Aw341jupJ!5zIeX0konSk@=u=q!%J?}h)r&qz3$*$DfWpX$YPZ_%wj^z9)_1 zH;q3fdz*!mD!u8Zx0}vDbx7qulRw3~LqByQFq=OeQh7N3#OLs*BT>bR18VAaJ`!nJ zplEmVC+`yeWY6P|RbJA){HZw}GxIX$!y_Ix|Kg2 zQicCs21lYQ+&2ECKk%nRs{DT8Pu1D3-=QOBF0`_J5=ozRA zd={$Xzfr|IC*($-8>tse5(7y?$qX{hwlt;6`#jSj#-(yzz<=tri_9L5w#S}@Y7&`a zycpFXm2)ot$$wsTBj5-Qshso8mMY)_s4D*mDz8UPOHmc@39}c=lS8V4Ekzao8S`IZ z`mAYrh)z&zJa6CyREJaR|NnB53fGL6k{V%p5Kg=rcZBix}V|B_nkKU3w?Hq3BVLha1sKT!p3&wnadM^y2T zwD?llN0}{^^BA-LRq08Uq_YL=g33O@B1q-z#(zqySLeWO#7OijOs{K zosVY+?JtJ~kjgob|CHe%m4Ufrpqal|9VtL{)kh8JEhLHG=;YK?_k9 z;EH&u`6ntv==?~tR*HTl-U@M*>39nssH-|Z($aN(DiSMDlKJNMcd8)OZ6j5@$rkVL zRN-#2a8echW{Y1KPC7gQw^{(H0!%eKQNylu2v^Eyhfrvp)3XSpiaJ!8%r*NSiz`)H z^UO|Eo%{D2PgJGz5M1ZT;}-u33n!KH$?9`t36`!E&!Ea^h3T^j#UT|hH(RQVUqTgc zmFXJe@0+~=RlF*+0m|p-!LdvIB`5GuNq@8e(#F_zsD=`VsyhFpDt=vy|1TO0ntuwQ z2+2fHS>hJ)zfpB*LyPx+X+dHDHBp*Hl&T;Hn4PF<`h$%pstSCl#XHRWrQ+$v+nCK0 zZyg0m=J=nq9x3p+H8}R9Y6+e~27~%|R2AZxUT{bwT5@zZ@OP>j_a>Zb(ic@iJShs4 zhe848flY8Es>1W^CGh9zNpK`;T;uOt^GH->z_Wwk*pteO`}v>%LrgEQ@PDUDm%HuY zkOt#F5y(fjnvNUKq{Gl6i;$?Q*>t$PW}5%ssWP5r;qOFcJGH+uDlu@6C6uVTMR>^k z7n;9R1$fwOsS6o@Fny3PgLPwws^0giu$_6mnz{^s3x$FP=#M_{{O560t&Ff0!U?7p=zRy zsJuScfB!}m{tNS$s>{ALTPo)^v!zP+XRifGJ8;PF5B^gVh2?9in$$5{s*IxOK4^1P z_hE;azf|e8Ha*;UqAGq{^KXyV(U*#kG;j>68So@j=X)Pi7njpfWu&k0@-Jx!|EXX@ zW&9geMi=5Aa(U0P5LI%cF%{!d(<@NbcRZ?|Dnym+R8-NYp*r@Y@-M=FZ*-o;)2-0zC~5y?~QLW{lWZyMHTNaRN+F3WGZJ}{u7TGm&&e(D&F3v zE!6(<*dNs)RSnXNw?x%s>BifjI;5@9{>BHOO|XZfs@cUTWlI`^>X0g*%gvSsE8**K zXeixa9*L?ZycwJXPO6D%pdn~wA(dU~jRk-_% z>r3i75>>@`5FT<{N#6aD8;SA!o2k~~mdX$NF^em0h+S@WqAK1CaOunDpQvG%H#*X? zqrBg+U=#-$-wI$F!u(JWt8y|v~iRoHh>_5Vkx(yl^P#4RZQlD6r;e^SN! z!MIe-x*ZkYfhwIp%s)ZT4Fc@MLk0N@)siGmY(=bxiq}V#fPU*i<7FRIN1`g+z81cj z{9XCQk=DWTyp`dDO%FvCqAmX^n|8+Aqe}irRK@6O{CLw7QHAe@DqK(Fy-^MGOHmzC zg&R|snM38e9H8=Fi7MiFlz&Or>pxS4n`m~TDxpcnrLrfREmfP|f+~KY=~Ptt-By?P z9_4X6Kw-{{UWOQ z;0@z%p-Og*>3gQ@Y*x71G5{VI;4uw7(D|WX7+GY;d4#%P*vnI)3K&kp^87= z>}ydKaANYs-ea-_xY0ZcQI+&oR0$TD|8%own$9-v%${pnf+~Z1Q5En(H0(0QM4EL| za*vz$Q>g4Rd85nCe%ADP<1d>1ifmW$3jL;NYYo3=!9Fm%((LtSe~hX&pP2or=@+Q7 z{mOK+@hzxI{k`!YP#sdG^P~Drj-LQ3$gij({En*H!7OH~a3N+jY1lNPS&k!7RgfrL znr!}wO43OUj5mns>SQ47w!UhQfE!!gURrTI(w z^e`#M_>h|Ql#?atGUHP5v1ac{Re&q;myR>N%EIr`;C_flJ$R^w z`4%8imC;1wQq^d(*@>!fHyM}8o`R|Xg{XS?HuIN?PcOisPMK@^0IG-!Ex;mF$KRYVKaQ$E1y7krqN+g88<#4=3ua4|;48*oH7-@S*HE?4O5;-TRiCjezrbOtL0I1+rdY)PM3qqk3olhmwJ=*M|NT%^@Id3z zTk7z-|yeJq-S zo@87q-UC%}dKv#uRN?!?liXe7B5_y$%}ApHwe$c>@eI>5EyX>lQaIcEr7FoesJc4a z>~qb|G5dT}#~!pGh&a>&UT6UmRT&I}E92qjpQyT5yV~N9w{X{3xI|St*IKyiO!MQe z#aoej*?1*gZ>#`SUXxHAiK;XvoBxgGFBQKD)#Nivh!{!diJc!KcCXK~yvE;s`4r0Eh=^;~N9)2I%q_%c+Ty29*o^Oq`v zm(7-{z;7B~i)!ZFfa>(y6g=z;96sT%@lcI^MRiD3((PtTb$?Tgs>I6L=#5 zn$*d#RMEPcc2h9y?x^a~6V)LV?`6ENajEJz0988Y7?-LZ=NTW0D!q&9(X;Xx4N!s? zTY$?<#~HuM^lDUxRPpjrHS{D@)4&wtx1nk;hw6~3KzF0cc%Jcj^@93)poH!-52+$7 zG+QdW)NHAG=y9{9s=yOwOJy%MdrzwPOA0LDQx;IFh)YogC^IhA5PB6ATFrl|$vddR zzbp7}RO!5L{!)ei!0du*hx9N!{y31>h zYCKVu?g{39BC7iILY3Yr#!sy-4-V$Xl6NVO%Gn=NhgA6tFg?TcO!NOcResroQ#sDF z@c)6f2pa4HBB&r2TEswIzxODg$}=1+9bw*ys`egj{ui6SR3rU5ROOm%T&niC#q2~? z`csTcWf#^@a__zuNevc*x0z?6D$sPeDm@cbW^+vMLFGTsbUvy>s?%-0sOX@R;sFq~_jo#-`J?wqg0#>5(uQK~HR1v>KmGD=n8h5ktEylN^I;0Bst=Ur9 z-=RwP$NGak_{lteHvI+FAyo$3&6X;G9cKTXhFsPMJTkrH10IPmRYPhiT)F~PrJpzZRns?773XbK2kKY< zYXOG>elZWJTJtYd1qjikidY9#!ZB0@j-&G53)QhF)g5XJ^Z!?6P$;4O2%x;vQT0*= zsyJQvPrc9`Rk)K-)vzxbtkh5y;7nA9RPhIyov2D@i1}ZHDxJ{<2F9SO;T7gF-gv(0 zWaCp%wZJq~hg4HhiP?Kn6>uK@s=$0y_Pwa`D|o;nN>!s$)1|0N{4A=HzJ#h~ubaMw zDuLCg5?*8WyJ&OlZ_NJI?7Hd)4yg(d^L9btPzDVEN~ob}BUBmeV|Ei%hg1nPHG5C0 zbeiF>bki)HRQv$5rNK*wEe-5Rl~F7FRggn0oK!8<4wZjm>X3?eFULS@fxXzQ!lO2B2^!mOl< zlwc~|1*pn#zlDEL!8rD$3jeVAOO^hksPZc{E>(I@n4PE!x40p*k`5d}kE}uEvDPB| zovK0B5l$I@Wa0OuN^iaSOEsWAL&ZODNd9tsVF9E{@GH~J#-$4Pwb_X({*C!>K^6a7 zv%fR_9#xC|WcJUfj-Lw*{DLatcJq*GtnD=aKaES(q@hN>Kw(seR6J^SqKe1hYO#i> z@@b4J{eq@ARI(PRYO)`yL#hY|nVqN#cd&7(GB^xXf^AV{kbx>(d$W%~bx1V|yP%}s zG^sld6`&V-0D2M1$@)p8L$G4J98>9BA&g#$D!;3Zk2ije>2;_Msls1xIuTViH=;`K zCRB%1_RXl$EkqTrsF96L9Kj(~fZI)Hncityj4GkIW|yEkq)Kps`QMAGp&l}Q6ji#9 zqiXP{Q5{b=Vr;4g%M2u{GFomCpEdtP)jH-ixZl6-`?#1MisAv z#gi)COjIwfCLM=EH`eE%s_6x&A`C@!NEKnU@rzM4ZJy~ERL9?`7Pr?DPGh3L;!Q&J zntsw`12+m_--K!gEiyhGRg>O{>i9cV!RA;vsiuMZP^Ejn@kCYrfrm=?gaweQC7wZ* z;IpU_C^vtp`158<<^O`|i>5D`|KDgqlE&RT7U5k~HT}r!^`;w4t56+@szLe>xb!pg z-;>J!OH1b~3-?vyp#Ge00M%%-1^C(mNX56HYLQ>e-fsR<_30mGOI3jgH$%#>u4x?A z>DvHR_`Ojbdl%qPU$;QjSBIi%%EM44&<0fj+8S?Xnt>{zj^=+9%GxxkoB4M)|6XSI zHtmDzkSd>ozBm+dpn*ZCYI-56L#pfI<){ie!E};oA*!0)hN=R^s0w~Js+PD9RYv!t z3b)AYhf$7#Bst{qxOqH*s>VPs^($6-e{`uQM0A0NL;qYpB$<|JyZ$Q zM|CPS=-pb)Nfrds%EsK&$$vuEx@`yUB-1)vBkQDyk1*{e}y@Byj}KSY&aC8|Rz zdp+6~t;?e(b=}^mGHQmZLM`(4>9!AIJY=E%<+(;GWV`MZ#8asq8x5 z=J_rTt;kYPwZz`2nra^(U^f+SVth|}DE^%-{&A=V_lc-7>~8U-vU{MxLzbTAAyreK z7kKan6so?u098UGP#sbgWTg3zHohlSyvxjAs(6>1UV#Qrey_oy!E`;U7PtY`Ar-#` z)m3~3ssv`Ds=*zo3h0c_G5apF??!dCe*{%Q7NbgUDXK#noc}9uDB)+#BT<#{Yj9<_ z()^{$_)X&#s1jal{5@2MRPjDAU56^%2J=V#k}UxQ1*sx{y5c7bC{+P}Hd`wD7gR0w zyYWO-#ygGwd-eGT0W~wnn)(vgL)B!BOq-(0Xg~8$Gi_lsKT{F)j}Q2zoY3< zsKRwdb#(55Ljk)QkgDXzn=O@pH{&N6mnvLOG}&c+$4suC8jPvn=c8)r3oY11sE$Nc zxRG!*mAwE}hWDXb96W6PQt?O4 zmMVOy*-}+-F{*G&3UH_?o<<1@D{32c{pIN2S>xnXWh8fNIQtW%ediN202!zlW=3el>ro##)FoR0XJmQsIK6 zs7_f9sY)D2RkFQ|C#w7#!qrlZP_47}x9|s8c&Yqbnw_Z1_#pE?IPjhudf0s1FZ0wETzN2AA} zO87Wb1<6A7Jm5652bljks1B*ZWf$O31{Yd@krrT2stBVk+!!?ILsWbMs)Ao@nvd#` z%73ESQq|3wT_A^QG6z+O7on=jW2jo@Nwdq$UV*BMUPP7Q%cu^i_$sp#Rq1|YT&f$# zEhrTzNcs_n=7@Nz&$t2F5&HyGCGU=^fG3&V3suegp*p1UKMhrZ`kVhiPDC}>ii{_!3O3!iR27?v>I-#Acj8dO z&H_kP(tFI7%732eeB)B_1*Z3+IxU|-mBA9@Pnj-7bx2j=l0Z8-3L{I&6Jp_;z3&Z=|FKO5B{RX&4J72v!Uw7gv6g6fdUo?=>PdTY@Bc-#t52DhU+5>*jr zz?JYUR88nCoKzXlHCw8S&b_EkyCta7U5+Z9XG~Y1N~hp?96F>5@Pg@!rZ1t&;8j$I zR1sGhe+yN-3RDGLjp|5Lg@4z$RN>zDc0sixP?dDO1(Yga6{-wAHZGO@398d=3#tNs zhbsIwRL7oFgFIl_g82>NSum1}z;@_z`n`xs4B=@ z<5Cs$ZnO8KYPoy&qy3fOeHP&Xi?Aov9RIla|1YWnEhfIY`YB82sRA7Gc-nwe1u8>T z!gBL}9@Px@8mc2v75;VOQaL~6KZW0ns?WbQ{ZXDA)mk8jGTLDQ{xrJ|pNA>oD5`|& z>+>;Fh2PtFDyj?)F#AvoCsnw%W=nOp9EB>~qrHDY(s4M{0$owf**#GmQt{rX3UHcn zsWLnhRR-C{rLu>Z4o4M#B&zV2ph{<~@o|Ao|6gYwH<-sws7iRV*;7#U*;G`ARQ7GC zCZM}eT?-yZwfKAq)nI%L4Z6m3C8~l{nEf^yod0qt;A&JQUW;n9SDF0@sv}WVfKTDd z=u7jLDxI&)-jm9I6aH%HZD^`8{1J!rXVYKNkgHf^Z@d11sbf#7^mgK}u8pSo7FO8P z>`&{F^8`5dq>BGH`%7wi_!$0lNL8=PWpGHEB7e zo%Yc2cdGWP-E5ME(qvM**<|fzlYH$?-{+{^Y_fK<$%7j+5IFu1t=(+0cC*Ra%_eI% zo2=bzl1(dY=fc{}CTlmFtlezVFCP*&oz(4C?Pim;n@!ekHknkr*<|fzleL>o`b$LZ zW|Os>O=^=#9a24vOx$ErT(&+KtKDp}cC*Ra%_eI%o2=bzvUan{+RY|wH=9hV-E6XU zv&q`cCTlmFtlez#UpJe~&;!>!Z8E7lDskOu)oeC-OXXh?{_2!f{uRCUR`=+wbx#cq zcSA3!JJ4;vwQhZP-c-Oyw`eM0;ncb*E@fKXQ$o2edm3QSG(fq)#V%e1h!p|yiU4_T zxxg}kwA%n#=2DkD+Mxc2aIzQZU>CN9Z)53wQDm2 zkUj%YGy^cfRSK*V$eIbb))meKOqmJTDv<9w&jMu50+h@G6!^+*npO8%_s1Pn?grO) zHX-`VCPe9MLfqtb2y7R~xf5`UTXZL2;hlgK2Pkye4lu|8$_1vn_#8lN4j^w1pvWy3 zSSFBG44Ce6ivgpG0Tlu>T<)*eX!sI^P4xya!Nn4`80#EU-zS-#owqS3D0eXC7du zzMCd#qR^e?gQlA z2Pk#R1(pe<-4A%&<=zh%bw8j&V6jVm0MPsaK>h=OC2p0#N`Z_A0ZZM42La zxi$|0(jNj8Jp@?p`*z(!4BV~@>Dv{qa3LY4EF{F%g@h<~ofiQz7XeBZ0iJi81vUxv zdl>MdD}ER-=V8E3ftOw1M*w{u0hB%hc-8F?*e;OsDByLs=uyDJM*%6NfK@KL6fme1 zP%iMMi$4a4JqE~o3{c^g3oH{zdmOOZibecik$1l>!-y z0q?sBivi;o1F8f*bZwplq(2ELdJ<6SDh1XFWGw-#cZEv;Q3RJnyPXRKY0+c)j z_{41%*d)+zDPW^3UJ97A6tGj^GuQWNK%b`prB4ICa61IH3*?jmzH*Do01L|iDa!zx zUG_4-pk;t^fp1)VIUu$ikhdJL)h!2vzIBbCLB4ajh#U0`-WAW_z0IYr05o3#$X@~Y z(XA3#DUk6j;Ac1CS-|*b0aXIOx;Ev2^m0H^IbesY6j&#a^&H@LSNI%Y%5#9N0y|yj z=K-0|14^E+drJ7PWcT&+bZSqVsA2`E|#NOhHfPz%>_ z6|$czl2XucMZ zzZP(mTP3hkAmbgtF>b;;fbs7DssuW@Htzz`-vt!C3+U`B1=a~4$)xZim2jft+=K z-fq!4z`}KaluAHfmt6@MR0${-IK{<30>nN740eT| z0H%Bb*ea0YI{yQZ`42$JKLA7AW`Rut{Wb!Iy5fz1IU4~x1%|o4p91=P3Ml;)Fx>4B z*e;Os8DOMa^ci5`XMmK?0l6;wbHJd_0p$W0yZ9G?*cX7jF93ONxxg}kv@Zc;T<({E zQC|Wo1TJ@}Ujdqb1<3yjFxIUSSSgUP2{6u0*aR5A2~Z_)wQI8(kiHpEv>7nLRSK*V z$od*^tt@fN_GEr6W@H@LoA0e!Xt zO1A=TaytaJ3*>wYxWz5{7O?PJK+1Q3LYMs=V91v*fbl;9ssx;C^AjNbCqU6p zfMQoEuudTBXTV*q@Mpl3p8;D1N?hk(0GYo4N`3*%bDIS=3H19Fu)r1n3YhaNV5h)+ zuJ3k0pY4Fs?SKc|4uS0gIXeIkxkWnw3wHogegiCW*}nk>{RSu(c*Mnj2gH5{79#P z;6+y)P97L~$!(Lo?D|IV?i0bgG=lf5Zim2jft)&k*WIEzfQ5AcDN(>GmmLKRiUP_7 z-gNQ0fLL8XUR^+iTQ0CnAT1fN+T|t#MkNC(1lGFL7@&C!kRJoQ>sAS@6v&7J-ggt? zfbnramB5FtO+7$*JwQ=CK&7h`SSOIR7ht_B+zT*eFThrTD%ZI_AhSN8q(0yiw^?A5 zK))2gMpv8yn3Dq7De#%=+W^p~0id)2;0w1yV7ow0L%>&VQA5DOhJchtfXyzu5nxaw zK)Jv-F5VarYYfP14A|rqJ8n+;VK2z31l?|{O$^y0;V(tY!%q)IyVDkHUpG2 zOJ-FOb6+=0W>q25uQ@?NuDCft<}?TF6o|OKsenGIfYMYz)a?-1E|Aj#kn9$<04!_) zNZAh%ciH;^2JHtZ7ud_i_XouG2juM!NO8*rmI_0_^7sTLGrD0&EpX zbDa+YWF7=4ISA0wZ5G%h(C=VCD_49lV9vpSodO5DzJ~z%90Djk1aPR^A+TK_=TJav zx9Cv7!b1TmhXLBS?85+q4g-`6v~}^;fLLolUTZ*xTQ0CnAT1rx!R4j{Mx_HP1UkCZ zHh|`B0QqeIN4Zr3D+MwR2OQ%j91a+NIG{?PlWWr!klq$h)E3a$RSK*V$Z7}Z;tJaV zrnCcW707a(GXR+xfRYTr32w8%CV_tK0o`12d%&FbfSm#-xxO6$eL4V2I{c8iVxEIa~`(h<If(oIK{<}1jLR6aJtJq3NY#@ zK!v~nmwGgy`O$#;#z739wZl$92vGWM%?NG66%}W`Rut{W=4Ny5i1&Ih_GJ1%|o4#{v2r2Pi!b zFx>4B*e;OM1u)Vr>H=8U1(4Dekn6I$0tR&jlnY$!;#q)L79dX(e4bk_uuLHBc)%E! zdpuy&@qh|}%U$XTfaWIv@=pMab*ltc3S^uJ80RLO2pE4Npi1Cs*QOgFy&IsY8(@N~ z6j&#a)g5rHE9?%K(jBl>Am4R936OabpyVV#f!i#wNuXa3z$91P12CrtV5h(hu5V93 zpPqoyo`9R&4uS0gIlTb4xJA7H3wr@ldIJhwc5lF--hgs}sV?3J5bFcT>jNlq%LSGR zr1b?%ce#B5qxu3W1ZKF@lL5_72IQX%nB`UptQ5#N1u)x9I0Z2N6hM`Lb8Suqq@M~X zIu%gtDh1XFWc35w42RA z_qo3P0e$)dO8WyIa61IH3*-y{JmeM)04y8;NI3(r$Yq}a7<2}pT;LHGKNAo;6OeZ% zpwulFSSFBm7T|H0dlq2SS%3pnDByiJVJKky z(B%4V!_eeYwfeXakbWT{iY_EXrK=QJCy+G^u-+98156nP*eX!vI$s3Hya-To5#STI zSzwbuzu|z5u6Q_L&Tzm^fzMpu5r94;0Hq@UU$`9t+XZq)0={yKMgkU&1f+}tY3NHmrxs)hdFD1%O*Le&ea}1zl zj20kq_w^VpKt%doMv#yzzKkGqE+f@HE=xYueScZ42!)aXDVwFDGoy6@*Q8 zi>?4HyaJFi77%yYV*!K40?GyUa`7txu`2<2R{~Ppa)D(6Y2yG5UG6x*sBwS_fyOTN zDnRqA0Qpw|_HnBORtjWX4cOOBxEe72YCx4hGuLK3AbmWbXgna*RSK*V$eIAy&lOGp zOql@KDv;(nUjxXz22gShprzX^ut}ibwSZQx_*%f6YXLh24t9O71N6BLPV5h)IuJ0{? zKDPi$ZvpglI|Q~1_WhxLO{8|DK361Aa*Mt?^ZxRw_ISE zK-yHm=`MFFVANDVg}?xpIt|c#8X$if;7qqlV5LAt5#Ve$p$IU(2v8+3(6zY@kbWDW z=r%yMs}xu#kTo4J*cDC(OqmYYDv;wk-ww#U9Z+&RV2Il+ut}ib48TxVJOeOi24JVa zFxPh`pwCP|=}f?Iw?kmNK+Y_{NVjMfVBsu4${m1Qmwg9d&>etsfs0*yHXt?|kT)BU z=avgB6G*!gFvjKH2^e)JphDnsm+An`9U$KU#=2DkD+My<0LHlqa{%M#0ICG8c5R9Q z>BWGeV!#AfDX^~CPI|38<^rb7CB)XbgvfWD?*e4r1t_@-P~bKTY!c{qH(-+67EBy> zCzrdNdjL1NMfVV5dkKlwpU3=hi_4w|Sa=Un%I6WH(8cEi2F(NH%?C_%%LQWd0ci^W zMJ{&%V3|OLz;u^-FJROHK>ode8E%z8^Lqgq_W@?P3HJe33RDTqc5UtljK2?1bU(nk zN`dtI0a*_Kie2FYfOP^}1@3a49|TN!08sKEpu}w!$b1mc?;*fESNsrQlfX`a1+MQx zz?_Ewr3(S~xg7$17FM_E18Sht-6zxHO=k6fq>gL!aB?g(sVw#3PMpNI{Oh@m<;iab(T{jPITn2rkCd{t&n52_7EBpA=F)41 zUNU^_GJXTNq1*UaazVXIhh91+_oAevuUoi}A4{Gbzl!9@Wnz%ye(s19Vs*-rGsP z@;JIY`LmS6j`8UDOnx4>Y{tk~@8lr4t4HMy8%2Q+c2(uc--R;DDxOQeAriX3Y`{y& ztHaSvW2l=NYIP_GejerIN0KKtbfMP?en;81*Xf4n2=+aV2kjObP&Q#za#^TeFG8vo z|G32+_h#~O;U!bb-hM9mSl`|^@@sRd?rmrzcloyD6>j|7$wx$I&7wJW_0^iDv6#DY zb@F)1wR3fHB+_y3`+cfuXmxvy9y@&OFsd*Drdq50lP%l=*YVxteL^GL#*N7*sRsK- z9}Iq@Z{n~^a%^7}Wo)|sw zEvl>*Jt=5Wr|}qmvvJvTRmttctQB57Dz;yB2G#1mADY}QX#bkJmQkUp;gsFlL*3di zW+iLlF1sog3$-ar*_!-%IDXY}p9EUaLVoA5 zN2sPj^De$9_X==Rcli&=^ZW^<4iCn4*_OYO>-R27of%4M;;8bENw!)|w_$*&2mIBg%G$V##&l>)2EA5W2WoSxVj5cVVvRJ7cj~p>WxZc#MHuI6sus zz@IT)W|KW3d)|+#!+s4qtX|&mE3e?JNcz0g-Ifx2I9~c#D41vJx^4|(OQJU~3Hj+J zD7Bl`Fcypcu~aqL_GI#Y^==}xW~$Fi%bsf(J3o}t6`+yadIiZSn|Fg#jUVGCw=2~=bh3gO$N6m6cIOXF?%1tU;(7nq-;n?GmV2W~o>>pc0o-CXIx`kdO4XEFf{TSoDWyX&=ARP4n@vh(D)GRnV zf?AXv*fw@nC|Ynxn0_Vr7zKA*+EL`7)5;oeO@1U)Z`fFWX0Gj6_E`Ja-cdj3TBfw) zr@8ob*NMH+RQ3C{emcG6=vcc@{P=$1Bz`)1;-Inx$HeAEqdSL%llG|@22F1nL8f@$ zg=!|!*}iy$`?gE$!PH=?H#U0c#ltm-{q(QF=QCNB6`Kc<8Q{e z+fImGy6>dR!%6&j=tM=-p%*>wDQkRUtV1;Vd1=tGk0qZOG|q0_{!sO>tI-X~X9dAl z&hl;8q^w_`*u~-KUH61-#*3ehQ$63oO*$pEj}4OQQz|}u?1kfUFS#hGSJ~QAVynZU zJKTcPVoQ7%KH{g2Ee$xqZ!Sw25L;0vK6RC^iYr@tcC2?Ky7&8G#twbkEa=<#&|zb) zxRmPLQP%DJ*f*h2L0QHHu}4C?E`@$Rigw!%3P#MqP1kJR6B;x0; zqk=ISf1ICp(kXIES<%Q?%UI})veGfJW+6Yv)lB2z700@{m&dLO<(Ds7WMPho+rSXX0@63f3PpQ<-~$m*@*@56Gz{Nx)I82l%D zSv~z3cjpwh6we9dfw!?AzLiXSYeNTuweqxW^o~15PP(d(ClWb4r{0(;Qv7oT}#bndAG)&;MtgU_VYP z7!N#JIv@8zOUM<~nPKvfCDgjjHFw0)@phxL(A-g+s-7#Nv&h_ebBS<^&E3Rl7bk|5 z=I-EF8MhOF++_0JPw6DVZ87%%r$(6+cA9%=>5}1gnR{&MxOsC{YHRrXWiAErceYEO zm`jPf5rO@$&r>UqZ)MI+wJ<)xnXqGoWF1ooGmaYIUhPjyL zbdHH>E|&Jc7F-D8n2ciy3*+LNi;L3+6ajynP9*;3iV{z3E)h=U6@w&}H^5wRTq<)( z&6QC5s|orfM{0gaNNue(g}G9=2i6u+nk$WaXfBmGo!y?AOO4aYl!Z%nl1gjo%Hb~K z+&ZhJvxMb|U$KN4EMW!QRda!st|IQbxlER>67HtC%;qZNZkfwsd8^Bz zOqM~ay6V7RcFdNu%yn^3&6PJ-5BJ<$1#|UrFU(am*8um%TqT?iwubOtPW!)_C2U0e zlO?Qft}*Vjxf(dFU=ui{^Dv)U=9&`UVCViimbV#hEKW_SE>1Pm95UNArvc8b>TdyA zOg6O4Epa)`HNt7Zt)M0a>LS&|Tx;UBY{AVeZyVeYE}^<`H8jM&K%DloY=aN;M3k*XX5_mI+*K%JI@NnSN(TH zYU{efC8R!`&2=Mw*<4r4+#PqtTsKSC19#P24@=h*cMqp)(SQEm3gY)IT`#56{_hPB zP4>3TeQ=M=^}(sp^o7Uf2H>iOiHl)wmZckoi)C((r5lZljnlz17Z*bW$7m10?e&8HxZY_+!}L}a7o=rt<74bs&z7?FsJ|7Lx=tp zNNJh3S>~y@)aJJ1wCkopdds^Tr(NfPKufnDr)5lsOy=ANP0m1OHhCDQ{W%k|;F(j;z^`!}6Z7baQaIEZte0+UQ)!ZRu|ROy_pyA@i8LW0~jU@|n}EmsVy0 z#MK#vk8ZuRB?}=QE+OFqoG;-bNNnz@rCW?kX6`vowYmh7$I>yt=L1svb19^@gr9M$ z!etO>?gvgQvm7#+Q)#M&6_CwbIGnb4CA87$l20t0@~(nD=3=`|u13~08OPijTw!x@ z&8@{1F&7V~T3849%=w%94R^}U0SV2m$DPIn5GKZHgWVhWbH)-TwS*gSXU!$YvC+;Z zIA<;cPFu1WGMNiBw*?p9Tt;(SafgWOlZj9({W}~8KK~NQV)75-TXnwVlg%=3BYuzz zhd$ZOZ6|)*Tn=+Pa3{^>wDNZ1PMOPX>2~2t*b3(HWB+SQc0(SMc}b|M*#n=scBUXK zUM+eds9@sxx`%r>YmozkY30KorrjfbJ+Wzb&8(V=_ zNSMo9Q=Hb}D&#TO5~t`jcxwx3V+CHvW!4t)X>0BV@du>KL)Z?dEH~jKk-Vz^4km9A zKa0#q*a@eF+=g@Jx>~wBxDB}cgxxLOUE+Ij1qgdtx_iV|;`Hf*(|X;9)wqI$eQ|Cr zTPIlwYM#I3c=L6-RuZUL?k;Xq6GnD}^0HyEe#{(=d(!i0M0q}fkkqPY<`t;|!k zze$#Pq{(N@Xoo98s6$8zpF>$oH`?3_Tsd=N%)P`_FgMoRD_li$<8X?;hH6BLY5z~K zgl~{JEa60RZ*l2y#R(_jv~}+wgVu`AR7>|aakU$Lrr}h~d(c@9f$>cjE39$O=RjS>_+a2jD6aF0q8#2jg*-a7!(n4=xL?GH$uKP`F$;eO6lD(74>@ zbi!fM3Bw;+H$6B#X? zu6lA&`IFhw9mc7BM8jp(^B;YVT0%X+$ZqbKIX%J1Y3{f=J;BIh1)eY$3s=O_oy2J& zv2i8Loi?Wj9c9e9&st_Z=_qINoF$BhD{t+=Yy>Pmq;M?!t{3_va=ZiBg}mRZknHk*59E;a5CTrKiEx4da^ zJ0hwy$9ZY#(&8qWd*!|VONX3n^0j47kDG$4Pv*ClStp)pmhPRoK%B?i-{vynvb(q< zlJ`9>9APG0PIKQZom*F{+$O&xwZ&O*`EbD>LMEN8{K;?5hfwLV;R>1yZRxV(3YiN- zsNIwUSHxU6OP3Q@%%$UxPk5wiGZ!))@rJ}BS;E}7B*YuxA`@y$cvr#E$~Gn*%N*|t zI6rXuB(S{saK*TV(K(ws8t>N?a=-R|vP% z3QT4N7RD_%=l$Q;ir|J*o<1ooT~XW;|DP_Uxng?$GS6fxlf`kp&85a^!6k6H%%!z- zC2{%8sn(cuO7SPZx%B2r;|iL~VC9v;6~YDAe@07K7Fpa9X2NOTmBY297FrX}YMIO9 z-sAL9Bhw02z#A2m=Woof8KVNMNHD^neJ7T1-y8mQ9M;Li?Arv@rlQ`g^JCJURa#hl&d z)M}NmHh=b*D{8I|Zm&67a&Wr3xV+|y<5Yw7aQV!YvUK%vDdklErI9*i@|KGe!4j6Y zgbi_jN8tey^DCHZgo}vNry@>U+!*)5u9TH6T@&0pb5+bW#eKr{Ax~AD+Mm;mKjo~z zYF1!#Tm^GAEOQH76>~MswZzphSIb;0TuoeG%C2p$HLi}OtAo=@xA9^7>zb@*3EPse zzGbd&t{v_fYu%4b4a~L2wTX}5(-5b2)&bWJH-LC^OV<(C!P2!b*9o^PrgBpMElqYt z?hckbu`<^Mw;!k7)EcKY+7)-e(sit}kvXc?XlOzqx+6HkQt9<@Lw8+aZUL zFv#QpWbC+F1Piy!Y9#S+qj7`H1>yWH-B5D_aS1KmaC3uj0p>>Hm~;m7C)rQuc19u9 z`iCGl#o>uH@o|=LD6Th7pYi5~;rf`HU~V{0=ZZ1N<+np=g_VK)<3%iMZ%vv76HZME`d zz~s)K(wU1ZLKV&<;Vzs`V)JlngbRru$LVmIk5hw_J85nKP7O}(w3W9Irv@i?2B-G6 z2=_WF$KN6*E?C0FNHvg*W4PM+Q$mg-7~iqr}iOt-`qN! z+K1c&bMD`eY9NviO|HkOfyg~Fw*jZNAotkZMx5G$++R4gg-tlM1-X~zHsjP5^>=gIa6S?E|FB8- z!`yaUD0BMFR?FCdt4Dl2@lX-j|4chO`P0B;XhOMN{HZ~F1Mx8CcH?T93u|r_0M++N&sbK%VWiTfL;Pk5YGW}i;2A1$GuCESnuVhLU54&Z)Rx`^fu;;!O0QBWjv zhj7U(Z)9_aaTn|g7{%NX+-01uKTcGn*5)Yk9QSoQh)1`C$8a}rJ8?109mlm}A-ixf z&7Hta;A_`zTr6`ZansDj#_6y-h5N$Y@*d*xBeHy^ozwi`bxr3_;{GJm;dBOfgm6D3 zvI5WIdUKC|0GHU@Ib3JlL0o{j^EhAJVO$b(7jWUtCBGGI+WbO_wuery#^`yIp%V+K{-Tx``ePn)< zPe?c$_ZU~e+*8~fa|LlkooBcyM4l2aZ0VlkisIhjikN$W%dHH2ikf?g3&g!u`!8nl z6*6P6q&CdG#+86~WG;bI3x31&UX{kDjHP>vQ`^v|EKbXNhg%SA*j?uS#&yPhgo?P( z+W+s7Wx2%Z8C?}i_yJdvCtCVc!!hZ6LpBasBWprxO!_^O-;TJyEW< zxi7>=;`|8fnEOiHy#VPVQrF}+;`)s@BB4%`TF7_e&2frocYtqTzIY z*Qc+!=t^gl= zahr%|Al)Ey@o+PV2jT{si;tU4T%RF?YDfOKn3R{1bi;q9b2|x;I>Tjx5tf;52F_^W zS#To>Rh#rRa6*$gD{g|NON`UXX2VS+)ItJq9f)VgO(9g?BslFdxmkn+PEuS?UH|pb zno1@^mS7<{nV4glljBO7Ta4qMlLA-9+;0dbos|61S9E1eer&q}ydKc!)~U<;SU= z5Cos`p72nr026y~WOLj)_bU718xK3$i|$ubR{qERVTsI8_%tVVne(`KF~S zj*DvUmbntRFLq~q+njDv@|wG2t`x2bZOh$^1>ZGU8hMq3&2jf|I&{k5rd#GGmQFv# z4a2o2-BWYraHGvV!>O^-QOD_Gd0$yN{XDmquXgRp``UZ|r{Cv}nS5gjE8+gebs*te zbCq%Lar(T&G3iv{&qTYseQ&NR&czpwj^zDlPQUl*Q0#*HY~@uCrS`}E?1ubevIYr9 zaSHB^`)aNxZmgZEznRmI&e!;|(vx)G&FM$yiL796+z)egaGhhBV|NTvN)Eu^CJed<(=1#bxG$cKiNrcl{cg97wnn_~my5O{RlSr4; z(sjkP!|8EL3QN}wcZ2dgxRi2gf8CL{Os2AgJ#bIWrM3cl;-2C3NoVPL;hvjIZ>~4) zjpfZ?t`DxEr3uc^*U|;y^l)M>E}yx9I6a)ext;tb2O;%zLJ13)8;sM#3AuvihT!yYLavaxp*TI9 zkSlC%7)}o-QCLfN|!wI=k!H)VLfz;Cp$qGmv<|A=Bbo4N(Dvn8K6n}K+=wVWI z9Dy@hGiWn zELRuDWbmsLYQZaU_03Jv3|3|puA$|fj8ns0gKLCS1D=9Y!_;FQcT-C^6{)tMXFBRF zueLA^r?w#13df}5;g8yaTpP}f}LOE(X9o$J97()BPmAE*C1Qx7hB znp=QdqThc{AbXiyh@8!L0X@0sZEg`xJ)GqF;Iws%aXQ)P!9{;dw}k1!%)E^oU~Va{ z3{GFg-8d$lW&F`u^a%`l;>h!r777|E!d=or$iNd5$IAfzy3} zi*T;Foy1+-7DXhSXKokqu((Ks^Uduhene}^X912$XAgg(aM_MVxCp0qv{$FhMacMs zOD*%C#FyaoS!QmZ=3Bbu=Jw-sN0X3ng}DR7>ya)o;YxD{i8nB}%G@EG^11_vtTuVr zWHQ1v=8h28&zV^uBYB|znMEuTu;6AS&w7VIl&)2kXE{lk=XyL z{*z4Tp|a#A%Y2IX7F-I#%{W!pY2tsF``yx=!L`Gs)I4)%iATYuA>3wp&k>JmZl|R? zulqk8PHCCB%j5;(I-KNoo4ZI{hm+hMbC-x0gAB0O+-2e)?RWn_&0WF0#sw1Y!x1=F z`E!VGM47bz4_Lx$#MR(36CN~oop?*Wt>h#;WbOv>zFf}o6CO5qleku<030!Qi+Bn9 zesI*>ZCpun$8f>-e|M0jOdhv{cX6f7oiKL~SH|2)bN6v&&7Cs$09Vf3X>$*8<;|Tj z_el4D6-=Hr`Iv+i&7Cv%7p{`I^X8u5Dx14t?kTQ{xr^qW;i{TbFDSLQ=eTOYj{Sex zYKY`?gOrYxx3~*;u@N}XYLcOk-7WkKI7btO+GOB1=+;hLvvqo>bqN% z@R7N1#B~BGP59W{cjDdc``%yXe&F;qt|H+Rb2^s4{rpDc4({Wn>heMU_$i%dmXKiu zoKW`N?zuUJ7;r+HdtojNPOZN>yfhaUH^EN9uW(E{zWlk)Jwz?iy$w!B{f9$NVZpVL z?<{k8++UnB>*M}5$5;l=16%{#dvks`Ex0*+Fz3R3;`XW~?xVSgxX1!?)ZmPL(=3?X8bK}{8%;C+&!KoHHLIiVhaZyOu8Rv)7vxIm!)l3&$ zw4dqRPJE=QMlw2*!12d*#C2sNCXPub0e@QK^c70)gldZu;=Xg^sZU&UiEuy6#WR-} z7mB?4#5Wg!3maR?bQz%l70<@kz;S0l>V95Q@AIl!197^aACAk4W75gUAMNAOki*ht z!l^Ax#N{-X+0sqI>0Mxzmj$Q&J{hNXf#tH|*zN9MnFq-{CmT}xUEfgh;g}45JzrHg z6<5$Q=U|3vOJ7h5nahb&ZOIijr`PyPalFsK6)~3^*Nk-f6phUO*V^da{u`WB=8>?N zCCrP{S#J@pxHZlr+W?ENtZTPNble4W<#=! zNqvdX&4!$Q7b5Bu!ENL&cmuASIsLX*0k;KL9;bb*-}cnWRIak6(@%TD*^u9HRm_#Z zb;G%J=UdfeNu)0a>MmS09D!2`mzC-|#zYNsrEzI+y1%PsdG#$Pg;i^9OQ)LB&8TkW z>RP&TINglO)r)NRfBH3ZHy4xB$oiI0zhEd`lWwybnX7E+ zZsHo7tAbl&7q%wms_OT*2_~DGtVY6qT*Y)XYldUesm`B3+J`PaEiGLQ;#xsnd|H`P z2b0Nm(P?e27H$eo7o;}kY7?I(r~Tj7WF6uUsTy5q+L^0MTno{KroFj(#Cq0Nf+njh*R#4Z4-j=R~-oJ`&vM-W(PD}p8FsF_Pl;gC*#WLqT zW46Y{GZ$n9w!x`pbWIs#dD{}NZYwz0TsvHCTte;tAxNg3_WUVm35Q$44!9Pad~|Lf zVXh=~mZ@N#=SH*Hu<-vX$4HxLc=NT|lNH37kIs(dkwfkm;7W zFL9l2bpe@St{-uoZslg0>rY(!UDt|P<_4J4bz!zSHG1tPt^vINWikkI^LB#bfNvG`j<^~hjf(sEYFgJv_zWeJexzOBD;ze18PHKyS9rZtqiS>34 zSZoQ0<8&s}A-M#n>K{RTo3)Q+mTn|&2Tn)EavXs(ia$Fo-6~5r8n?^bYAbIHZnyXT zZ>`C($h9QYVfCA39;divUTeLeH9?Fg5#L}1-n4YfaoRfV*V~qE z1#wlsYV8h=z*)&3ZHTt~zU5s-{2b+JMITz;604awj?|hyGP#EMew^0yvAMOxH{rBW zf0_!1Kz{2>7(gaAki z$sjpIg~p`K2H8O)D&>WOPzcs>$^Q*Dz$VxRyI~LPO~83&9+43|4Id2}dTBh3My@FOGWy(T$)nk~AjL z@9+m~haI3Xku(O<9@q=}K;s{+g4M8u^<4(bVFj#$wQz~`zXf;TF5H9r@DyIaTVTv2 zxAUIJ87Ra_w+Z2PcKUU0F>k<4P)~k!(pRVa`|toB!bZ|*GywJfKL_XG0$hYka2c+^ zaX1C)q_+XoNmG3?C&DDZoa`|oQ$U?9b$8GT+JY|FIyLE3q*IShH9Cvv4AH~W{E}Zf zw=NcgK^Fs^{B^F^xn1XNou_qN>NwoT@-;ld9tdDNHSAI{NDgyM*boX{ zv$99vIGli!a2n3QSvUvh;R0L?&0XweBF!NXGJ57*_KOoO3el(#4Prn{&wIW`}2$3K%JmvhP2WEOc_6pvBA7^Bjk0<^WzXI-r#1laPB!Q%$_okAA-it~FdYvf^ z%+T2asz6n!4mF@A)PmYj2L{nVbvK!k_NJkbZn7V4YhS=!xCi%vA(7m{V<0_d;xBjt z8vjU71oZ?^PyF;SPY>_(U``L+^o&i<&-83e&%*TROOLhm$V!i>^z=zjmh>b^PmZ!c zR>%ptAUEWJI1o1yw-}XKV3n|*23P%(X0A`XAv6LFH>A;pDuMb+UVq!ta>Uw^qjcrSJmyJ*qD%p?M@3Zsf*YU2MRNtoG=BXg4B=((n2~&4;mV%EcwgB zpTzgUe)x@f>p{Z=wV-aN6V8CyFbC$syl8a%T}WgLnYY3s7O4LMcnBQgOm`TLz)?5` z$KeE=gi~-D&cInX2j~4gyRP}=aHl682$?|R4{5letdI?IfQB0KWm(}s!wJ=ax=;`5 z!!vlRI4iC@`(e<7>0ZzqPOuv^l291X=s_AS$PY9^(DV4Tw-=lWBXequ0x=*a#Ddrm z2d=S?VsOEX2^vBu4#b6c5Fa#zPy$E@i6OxA_jSLnVG9r~=xKk$&p%-)qNSk>l!bCo z9x6g5&ypK{CEdDJ(5=B`(CxrgxDL9y-vV9Hbp^i*x@tcFU8!|p)`eIXUXAQi3o1ZG zXv&5)gXYizTEapeXKJ(`4eq1Ce3k+O__&=FL{`EoSPg4nEvy5L=F^%0NWp(PRXT zL6aG>fQFCB2^tb0#7+3J9O49D0d z&OtZ~f5JZ42%BItYyk~r@;mIKf$j&l#xXerhv5hu1C3*%aZ5B#$!RzPV_3ih$OrkM z02GEIP!x(m3DA%w=^+_kUy?%#(C{S3X(!D%P3y7rK~ATKU^vTnMiF^Tf-s!d)oXtR zsHgraP)B@?0~rYCVlS2Y(#aNIwJVS0DY#^B(joj(&~Nk1zVM zML(|S@soZ$$xM2^2b&eLK@P|X`gQLi==ZW6uoYIqS{M&{0IP?(dWbs$%7o&|T9!yT zC=V5&B2 zLk7@b5^41?F_f(DX^3eg}s#0LFn5CQx^zsu<7&jL^o3PVvS4pF(3Xgmmw|BxEe zg2sK&m=2jBD`W!=(~tu+G(#@P8$KCrkw_uXI1I%=V=t71QlK#x%6fe6`}w;y;6XL0 z4jSk{0~=@{0}WiD|3V=l_(4Pn4PB|EzVL}_$vMLFZ~-pDCAbWyLE{u?T!QV8me#Fz z8uhYc81M!4MWXLfVrM&%9WV(d!!*zs0{M6fo8RTxcHb|NJ1KGXsEL{;{@k8MS*XGyo26`~PmvBEEfCBmo zR~T6oGDBx*3N@h|S*5w)VV%4 zg=uRyOH>($|V924p=zaI{``E!l^t={tL9DkDO(S&a}$*U8*I=x>2 zb!t~1cJ*0TA9eLfS08lsIaeR^G!P!twcG_7&g(rZ^8sGL8&G%h7aSL_;5EDf_dEW) zhmY_DzQK3+0UEzE41|TkPy~uWaVP<$pfspkd3jJ*a&;ZA3e})GsM~mLP`7aP0O8H^ z(&`BPfQKky2qW@FpZYtiFLMG&3+W(ZT=xGn61{-ih{w>2xcVcj|8Z?H*MYh)i0K-H z6`%z1>QD|!GOgacQLuqp*a({g__GzZ!FJdIJ7E{7 z@9ADo=f{5jVUG|!>Y4bMM+I#;>I<;gLQn*X!Y20BO6p=23;^8&)rUsV7>a|sQr4&W zRfC%Fh@J2lp1@Oh0WaYdyaDxMd=H=D3ur*l(CW*Xor$EN9*8kHZN-9kpaEshgL)xe z1ob?;3a8*SoPo1&1dhTn&~xFPgqK;l`y5vf;4WN%%WwrEQ+5;>#qyfOV23p&(hQoz zKo|r);4mwx0fgp&hE6KU!5NC{T4-p<6}kcF(b_c9O@Yb8_4IQ-^B2Pv&|C2>pe3}1 zHqaJ2L1*ZyFS&i8AM}R-5Cnrj?^_RnQ83z5{)t~=_jaP=IY&=~$uJE(FdODT33x-A zo2Q+fLudqzp&2xX77#W(E#H?&5DOa!gWww{>hJIa98ia_&`^q#csZy5m7xmMg{II9 z)Jd!zWQ2p1vk%nwOMQ6Mw@Y1g_JexNsB6}2!a3^25{?OVmFfgNKt0bi=tniss3Yo` zlpNH_NF9h0LLx{E0gwce!e3lVZ^3Q212^C%>}B2#*v$o8eS`jleW3n7tKIxj2cNYt zio|s6ai(#7TL+6^4%2gCH1P>A5&A+u=nn(H4M8vv2Ekw$0zIHB)P?$>zCe|r4Ai7` zbzr63<7hHHXj1oC$PlV-HWY!PpgugO;Vaj^Z*T|HHzzV_j}xj-PBzF1=^#D$Ljni@ zb+P$K+E4HqzQ9+APYvfKOsrl^I$5WHRFE3dKstyE@xdPwKuQ|h0>VY`5E`>Pnn4Tj zFs-gO8tZ*B;RF~89ibC+26d+?2p-Oi+qt^zfqn7XaV;dGt}*Hg^MG&^;TRYT<6u1W zhXLRQ4bJ=*=j|u(6rRCzcmXfr6}*Nw@D|>|-|#-BC-O_bl70hs)mp!tVUe&;!&pq&M_|zR(}k4TK-f z+`)Z61~O5T!d|kAN|CV^w4sn9Y@E7i%pkl8x8V-lg?sP-9>Nn)kBaB;5?;YuP)~{R zFrBhyz&uz4i(x4&)6GG0c4c(Xd;N(aKCEM_o9M`cG{h?rrYFn_k)b1}JH4>3(bP_` z7qSsPqyg*a8V@@~KVJRD=~(ZYZ-8Z71D3-o*v#}6&>Qvj^;Nb3RDeQc8c$}u%AvQT zxu7Fv@J3v*a4&|X7^y2K%8~Q*$=nv0ma(cP8q-Wq8zmDz|tZ#HClTb`D zNCb=F5j=)&pjRV%Krd(ypJ};YL9ar7hv2s#X%s%7w;uJDV_5Koa4-S}!C=svjT6B` zzUg|hH-pGbm<@A4{qjC=2z-Li@D2Wk4;(UI;XC|*F)$MJ(xF~5)C+`qVQ@OkfZF6K z#-R|6@?t_u+&8B6+FkH#c1-)|H9Eat7Y4#YICxKjPtX*a!9vh$Z_8jMZ09)I1I;M3 z9OQw@wC1WXK`oR9)dM~dFG_1%Lxa=cGG%FC2_PY4)&6gYECD5<6qE(MP;iZv zIRl$v3k$l0(@*F6sa(HqC!&CjgtyqIo7m6eVH)gYTL06@ZrZ~hI0}9c3*K zJv?*MQ1lMA1^`F^iFMjzYj072-tX3%%uk^K(~TiM=Un~Q2-#^P`X3F3a3j$N^gk5% z;=(~RZr9G^?m-i3CN@V^9Eb~vAt|H)4Y}^tFzFf=Jr`(1^7xPt5<@ab1*strG;p{E z3UAK^p%e6i{7?W+>*4^Xr~wTqdIXL$eTWs%VALa+9tA^TBpax)qZupO)AEB~LbnEf z)X0n9EV&64O`U1Z;&gFqfKpMB2x2AM|>39k@#TBjG2|JN+l& zES!T4uoqUt8d#ur`Nt8N0D2*`4YY-JFc|c9YE`HP=^+C&Vhh?*!Rb3-1` zD5RZPP!G_+pdZ-RYYEqb#_((jZ9tueKfqR)0vhcwCopoMqk#%F>|zr5N{xTlSe_bL zQUgh9;K&Iu38ugr8q{nk3MHU2Yh49eGH)0a;GMp~3FtNyWxpn7fze63n3~xO8sY36 zoP~3+6Y@hLNDXcc6!;qa;3b8>g-_taw8rDpuzC&P8LlCXsx6I5!{v1ajdFJoG-90w zqdP}KJ`Y#mD%^%)_~Fo>xCWTh*l`_UG4VTb*#CDqmQTP*c) zmC2~F-Ks%#D38;4T$Mq?ZB>JbFbPU9zcdtsGE8R%4YidOvO#vp0l6S8l;9991!X}! zTr0TwQxPgbWl+ym^;A{QRP{tv&r@|Y%?ldcEH~j$wsIJ#cK)em{`al^uZ?zVtJkxC zHCoy4@K0O&zirun+bUM_|FTh=X@5=-4S_+ug2(XEm|d-*Ak&3FV{>UNF1-+}7l0c= z4X6dzXpHwk!)R&PtPk)JK7mHP3PXO4bd?rTL0k^s_;87adj+;DjKcoE&EcdGtS-V0 z&?r?Jm1+`bBr1(O<%83InbCq1kPf{g(33+~150TjsdmsF^nX2Q5Gf5B6#+C(l*WZp zo>!bTH6GM_$i=m06KBd5ZvIS#M4UKcfChMq2O87q1^yN2EyV^bxDN61PyvcSQ78t* zAur^E{NSsQJl->?H~gowtNWkidKUIiejVOh*ev3+VGc}(8KAAyYxwO!SJwg17dk;_ zsKQDWB@Bd&kV)tN63Dw`dX zjolKC@CT=QjfSMrkMv)vtkwVJHI&FO7!D&qLmufrf0+*&=}03RO@K+D5sg|vYiI*) zK_eO!WNVrddTXKy@ka1~_EUqf1eAnakQdU!GB#?3n?Grp*h@lZp51N7o9_kMoY)FF(g@FUa_rp$5?^TWIvmRD~hV2RDBIMpgWG1Lz zRxF4OaUnkVLjq6(^lsT`(uTrmSe+o^8aAgZbc0GbjfA6-Z!|!yM!P8oTF}3g&saYH zJ~McpMzhgKHR`4Qn5(2lquEJ(7ie&q6)+O_o345=5+*};=muS&4YUJ||56fy$8sU8 ztiBw&q-q?O&rpG_nBz-E$O2mEXD*Ys;T~Lq!*B{t!cjN`MW84YhXRz5g)lqhhCGlE zma+@{nU?_aagvJ-vDBAeW2$K6*{j57!W7W!u^KK#!=oroV<-eWxdvz`lp}ByGy=+L zP{WEK!FosFboB`1)vc~6u-$< zXh4y^T!i|81`=rv&7lQoBm|9oP#j7^X;3=~;(DV2Otk`?^h_q?iAKGYG?GDQ=nfXUdVGOAAQdj7v|I4R4 z5%pZ^3B92$w1f800Xl+4s3-*guU9&6E&aFJafhfLs}d&?=Yz-)6*MTs8TR`>)rz-9 z{;4+p_bvaq;qL!!%bT*Vn}fz>(3MMLF=z$DgA1C{26Xn*F-nKAPT5K zi{xBMZ*u9q1`N624lYy$YpeyG#b$Fhn+J)U_GdJ!$$C46WrPY6`+%W&INv4I5b*;MkkoS8SpSp z1!@$6cc7t`G_CzDvRJ720_JI8f~9bh4O2D$PbVTjjpZKl-tK=&teVg`eg9LMqpXAm z9?(Do8j4p#?`o)B4Ki>OG}5gG641B-&tZ$k^4H)18VsO4XstzL;u;J0;(0Qm{xK;Tc9q{Q%Ktlblg7%^?p|W9-XcmLL;aSUpQ^Q2ek*4p`%Eh zPUvLfcD@i93x9!nCtm~gG*-uAbtLXV#wo18RA@`QJ*bcvEGQPl26Y;?0)xv_2c_1~ z0z#%!H(hnheFu%8vCjWZh|GbxFb@{NeG1iQ7>0_Y5wT+>pgGBXIkg%l$>_eyH#yNE%w(2sC}rjV_7H% z+P6A0>U>hy;=12gyV0py!|VTgBvFPtxQFT{wod10o#_;oAuJE-sag>#fmT92Qgw>e z38))!HO9!CsMKraDDF6f+}}DWtzb8*foes(7c0d@B;Ef{BT-fosCQ~w_{g+YBIJol z9Zi)k8bpT}pc7KaE!Eb4;as4OrSIVg$GcWg$9WKkwdQZA9_Pi=mA}!Gj#G~cDdrXn-g75#c1RDab)X=t^ma#D+GepV-gjm z{-x?qdV{^K3ev^$A))5aix!2l|zcv(w0^kQB=ZB2zfNTN!hPYElv(7`>ivQPxLM!cE z`F~qMEzG-|GSpskmZvlSa{Vf$s@K6FLN<@hG?!nm!j*9&$kQFd(T2lAVG1h>Iv`UL zrUGxfRkQS#{edQ?_y%_QR8XzBy(dKNcg@su1|6l-Svwshau=!2FjT+xw-(~vW!v%U zm#D6U>p*E!k}eg5tj%OhCxrk|mq3+Q99RMOf6mB-5iQv->h^aE)UEFVoCEdJI|`dX zEA@Y=X042O<&~!_)vkj}PG^KtZ2eY^%N-w}DpB8oEJowzDf?M`#P}paZlA-GX%?>AX&% zH?Da~r~Lh(Hw+EsBz1Zb=>a{VFO;L=`w()#2ESq7-*ZRnd4aka%zAu)h0GpCxR+y9 z_0@}Y*L(246W_y_a9P~dH*ufSEf4thEJ2Hb>OaG3>b zcc?1vc|Nh={EyHN;Q=VF{*apelz3%|tx4rRA^sOU2KCgehRaMbc|4UHyJEQYlcloj zjhI}Z<4Ii()b*e_`V;fA6MsvnH)q}vzJb^9T#hu_(c0m!n0^T_z}o=4q4IwN<^2vn z0Ot-~KxwMsBSNj`J>fT||0dLmX(c|$K{5Pi!mscJ#xYOtpz4+`&3sQb9 zNE@ee!x3tpHbNWb8$K}?C}cPa(870z1U2}g|bWI^jUUggU~sNZ~5 zzlW*s*u?cR@<}Q}>vxm&jDjCc$ay~aRnw@#%qpB=QKTYU0*kYhpUIQTm z=R$p}yg=sx83=3MR(1dCO zMOnH0kPp0#svav+5PzXPH${3-m=v-y(~HdKlFptPHuxTb{5OXr97yP{O9m5|)8dP!b}M zw=`jK-To_)gfc3TGFF0$PysYguPtbPHPHO(P!+0x793m{q2|lWDgCcyg)Bqq($wcq zbJqSKRi-Vi1Er|u+JxF-bsJKZ7xsK>&Jj?Ls48bZ$p@0GE7MB|yAZ18!{Iv<-^m`) zQJIzL=1ez(OvD4B0r95bP2YrgV`vDCK>5C~hqSje9U^TBM~RhCvLm#Cc_i*Y*dE$~ zhFESz*aE^(h~~E>uC%QvytU^}3s;=5Qtdq7TDVfVI}z0?>RH)hSOg1U0StnHpdqM( z2(`=fKB0!Q4(@MHT&voTP%m+}U-we_Tm^pbZg(kM?K;$hXf z+$-iH=D>6q4WnQxv?9YW!Xe;8L4z%9iJwG#GARAf5Pl-@@h}cXg7Pc9x7-mnJv=-| zK`UlxrV=XdogT}yGHCk0GVuJ(+!#Xn;o!}ya$12x%~v>q&|8*P$U9#v--_isY1yhN zOla#Qr-g`nh|A5eP}8$v7PPXwGtH?S#l2o-dTU3usWQAPs@l?Sh@~}DRm}sfoz`@| zCwpsG;)F|x-e&ePLhVAe&XvShKw(ek)-HedL!uAh32cFl@CfdM{`-x4gm+;BY=d>+ zO(*votOw;&d^2nUy^_0?a0THXgug>C7B3DE*Nas9)Gc5y6Y7(vdy*Z*x5FOLjplB` zU9c1Wg#F+x>@KkV|y?2tx2-fBnp$fYQ z*FXhcCcFxl;4GX2d8N4k=OF?suZ75IC6z}TrMPP03ZZI8%Tb!^pfYX}-p~Q5g=^*= zxDA@=4ZXW(3tok2x2T7WcFnK5MYX71soHo9S_!2Ox$CUjgXjIlJa@>MuMsLh8DD@_ zbgIR!o0k zf=4(`DiRMO{LJ(x_!~aJd-w<{a4n(Q{a3;t@Ev&M=&bcrZpXc#uFtx3USpY|Kyh{R z)a^_-=0&ICkB3ne}*P;le)8X5L`3IpE^Yp8ve)RK$t4tq;2%6>sp)X3x zBus_Y+Nt(a5Z4PDX&^Nu_uL^#Z6(pHl%U*-iv=vnJ5TXHsA+lKU8z%1cE|`>Aq%K8 zQ6|vcmhP(Fd&+m!^&suBZCoyYR}WJ+A`QVM;f7R>*%=I^=eTEKe(<4pv&Q%2F9WH{+(O}eM)LM-QnA8wqmwJKPZ>|+&aN0fq@B$lc$D=~kdG1ofdFXlX7`6Hq(T?o&n8_4str z4H>gqcoGuL-Gt~ymZbh3PYD|{-3ZjHupyy(;pvFq%{(3IPvCcm>1p4^mDAnaX6eMR z8Mc95wkl8dX1~nS*}{9K&<2Iv2(9oxwOciVoos+!>iV_qQieOYRzen}n)tUG@D@^+ zG-?{&BRAv$<*hl@nwpun=0m2@L8s-E_T^yk9woo7y|>zRfPy1KkN- z5FMg|PKVu~3v>omeH6m5pz8niyP>-iGde;(nz*+*+mNZMU;#R0Ltfp~?7M>3>6p=l zB`={Cevy3o0_srNn97Ao}}poF-a3w-)j3Z(Fb(0R{=VyYfbHONAOBb z!OIOH)K_plu^2!+3n^H!Gy{)nQ#<53YYP}9&e~X zWgJSVM?@nDb)f69&`L3i<<-!VFGBGN;4j6u`WVR=~TS7 z>rdk0Sg+ZHnF;l@We@S)unT6w444ic9W>L3Xrpy?Pyyb!_mPm?EYf(VcM?}6`cSy$ zDc=sJ^=woXy`6Y-;@b%4gSV3B5Z7a*1%#o^ z2pixxSO?0x3Rc1*Pv>6Tt*jur4D?WEDdA!m#vWABOFUtFxe}*Xj?xoVul6SQPAltb zPqg0rs?w>KE4(LeZ&yU0HNnM))mp9hoayEA533beA8cc-53vxX(5%(LsiJu|C0L=i z2IuezEKxN*BC06u-qVnUU92?THmFCI-o2;I z(W5VKr5-2!KG5=x5FS&zJWAv+?1w{e5DtWh%PFxpRQx&z!70L%Z~~N9{tRe^+|1WK z{a04tEbcsb>sHUfy>)*l9KXqH?e=g6nZb-P`Y9`!-yPE5f=dxRkq5bAdxHA7!nkiD zZon0|4p-r_O}FGGp(bT?fNSQI&WoO--e&p|JcCDY7c|V>L&E!T&%y_U>Kgi#@Cp0{ zk0UrKgCE-*V#{75Ucqoy`~_iA3V&|XFFk4cy7I<;%cP$BeIR@X@8NGYrnW1K`xEic zRL&EY{gwC^h(r;pFdu#|WYWpN@^z=8Cr;{l|W8Vo`^ zMT^xuy&dTfdVltBzWc19frnT$Oy^&I9xPjl7>pk0O=tuq=D3s3Q|G} z(0Z!^m0t6*LsrNFsyJ1eDoZP*fgCb{DoZQJf`U=cW|g7osjOU9ztr5PFi`+hS@{Vy z5`=y-$U~@w<|Fik@>Ce$O5`p?yaHRTD}E{BkBNt@rE<8kp!1#3bQP!wdWTf4!t1?Z zc9x|ynqL_zS(=)J>i(fJdH`j(ovuVWffmvhT0&E(0qQT(2Oax}T7zC_ zZ32y<0n~%);9VK-iYR|=P`R3?l_}@PMbDd{md)^Pq1OJ_LbM{v7&5KW$$8UiTIuS8 z7Ur$JkmYKl8fv~evw1UmSH!!JU%jeP3kq4F7Ur$3Usp=yG_yS3vXovm+yb<6Zp~;# zL~Ey+-u>mxSQQsCvvyG%P-f-vu8hiPZ%!MchOF}1fmT}WPR?7F(y-h4kBNwM1n+(c zSxq6URqaG+yZlSqUu&(0rSER(e_dHkSJ3|VE<{`4ZJkXV2n4XUJ(i9If3@f zALI&8k`-L`e159ZLrAHUbzK-vd>9M`)vlLO=0_5a_+{Q0n_lF}JlGYd@^mIWpp(D^ zn>ChjJdA@WFbyVJIF)cROajf*iDn_;9GC&gJ(X*?;-r~HbS7xu2e78Ii6PR{_5Iwj2vHkWjDiJbiFx#wFLunE}3SFmW(zEXBf#eJl zugB7!CFE8kXhDZBkA{X#RzAR2|3RGIj|$RoyjtMo=XnN)>JvXxfbShk96XpWbL!Su z-8u2Vp+f?EHJ%`w5u||%wF;4U9IM*n{MTs#z8V8qtDqqddCxIubn)jwE8;iW9pGCC z69dzoP^)mTP@B;Y-o%O@;M-h3(D9~PkOp$(O{t*NM+^P9e5%=<0N)`P)r)@f)12n9 zH(ZQgeQ>n^UyW{|IU2xN3)(blZJwNsn|T6!w_voO=Y+g|9n^Jd4~9+dkto1dV>2qP z21Hig4SNqHndjRiW`NuGJF~R)shOp4ShMzZw#{04Fu*q+M(bOeP?@WjOp`g`p4Jlr zd~;y5Al+G|0lq;Pt<+jVZBULd>8quy zT3Bz(Lk2UyzbNOHyOUQFA?CY-q%{RABUat zetozj(IL4daP8!WGvYhdJ6+`3RNw$=I)c*)pBjAK;r5!?Wa|HiT+n`@5DY zo~hD^S^>W0F$pna3F8vJo_6JMztU|#1^B8Pnbxg+>kh5kH*V*Inlk=gxz?Xr2ly^w zjyC8Zq1JWh`Mo^~ma0=IbAa!9lp5^cgj!(E-*;R}R4>t(0ACF`m>83i^MHzVW)xYo zFjO6OynYH*JIe0)Ho_IpUqc%uVKQs}sWTS8JbX92PlK$1SpqZhh2E2Sq${3Jkf$tx z|0vRFEnXCDd?{A9-3v&UEiiLn<}A)MkDCNJwvd1y#)Dd1DY&6}hFlLwkTWoI*1*ip zDdun&8PxY#%M&A_KTR6mhkSvVv+F^I=j2FN7XPoLP(>X`xAVr9b02z) zs2=}OEdAH|3jd$_O5>?Wg6w5DFL3$^ie0_;ruuD*vy29r19Jv)W@*73RrQF#QC)nd zW^gknM_>+Z-~i7Yl|6|BYHaCz7j?Omu1^CJWC_fy6iYm3NDyj!IM1_DuDA*Gc8s>L zMz(Ntwz+imZWIwX6Wbai)ib#+yBRdpYhkH?+~@tF_f@Pq+P3qYfw^$kzkA zJdsVV=GvHHGspS$G?i>9M9xz{3l9pKqV@ZM$kys<7|=LW9Ze%{>g~-ym2jE|P`HvO zSJd0nqbb^Gby*6X3QC567uooCd8J$lZR}8ojS>qI6sk?VrlL+GN}Z~Ar0r9+PU_h- z`7hC+4ZT8bbyLz#!(%CxoCeS?)O?yY(oj}5nb>}M#`Y^mZfevRP()3r{?$3` zeW#l(J5~G5ynB3TK3L@{cK(I2PpOTA4>cQz60Pr412OV&oJ8`H|YV4oNX=XriX z-_zaJwvxmFbBL)23uK#cJ9AbfUIpHVfM9ZH^YfC2r@boB1(g{c0PzAPpiz8uz5Sa@ z{*{&=C6aq{Z`MJxp%@wOX&q?o46T3QE{JqCu793xb=vLv^|YBf&KrUO)BN9L^e3&q z=7bAPdaZLXUIc%E{o@xlUbt-5u@=8^41ozYZ7wvIv<`+>fM9E&Px^J$fYOeg0fAM< zAk67BVGgayW{K91oM)ohcdpcECRTCYmA<%CjIzMfjsrA#Gbf=dyA?bdcs5rLJ zFi|&(Q;AtxU$r-#h}U`1s9DH|EJD#yR6KkE{2k&CiwbQ=HylSuV+I=vGJNko*V z+LOw?1W*WN%)#Rqip4J)a7tg4Nu}ZR9d8v_@=e7WhTusBWLfHzieV;E3VvxGdeO#I z&{<25Qnj7b?J0ULV0zGwP@SWC5VgL8U%%2k_Hr(LH`6(4R#c#KbG04SztNuII!9_W z4^2CeO|;IIb{*E52b6*YLEI&Np}O?3t@B-(C=bH8@wPhtV!)Om0R@bAe>=8q;NAUQa3Z>xzCa49W z7xS z!&Ufofwq`>5*ZePSLy}|R({&PMdRz0c2`FW!5{*bV-uP(6H~<-l2w&on$JO0zlF|0 zgVi_xrOrV#Y)ju4YR$#^byQELgeO|tid^n52o`7#-l)5B@ge!46AXjN?-eMq!2sNw zjw;$e)w{MV!N8>$n7;^O;AJpfSOi|;qv6^|3`p}Sm@213Zxy2GHy9=#pQGA9iRoa( zNwg~+GP`q#==@Lfsb#K)UcHJgm}tZZU!rp+^^OF7Pb=TPLjdobYf2Z=F9y9lC~cS4 ziyAJ5jF4?}v>X`$D!uv{0sPcc==KJ*F`L5IYwgX@-ExY4sfxiV^xgZScZ~#I*qn~ zbHXM_jigoDqR!yP>1disB+mw0=G8AXM49FwY=0?sJEX;$D&)KzC~d1k*4ywrRD~KW zhv2`6ip;ok7=3uw&Sp#R%E4egKC43WS&es9X!kk{!i>V-qGKz1wj2*5rJ#RxX>wbE zhdK9n$VZ5tj?t^eMWjQ?0w zko8Jc(ye4FQPwpt{QKtlDK%$H2#`A;RapuA3sc%!ZP9!II8u>?6{z<*NRXa%Is^QL zjs(rsp;TxUC@LpeEd;ih7rt~%Q{%+QzJhT=4$e?2$=N0UNd_>kSV{)# znnG5oLf#Dct5)Jr31Aw!fljQ!JdXq%lZuaHSDA2gXAAX^v^%x?b5iXGAB9VfH3#!a&*&9=H*;N!$OpzI!Aok|qQ91c^ za08}0JDp_9l8q$ewcDt`afu?kRbW9~N6y|H%TXCf{moh@&EY8Oz8Tb#l@tz_Ly=NO^hOq2_=p$+3biGpEA-%i zS(Jb|QvzZDhBXjzY@?#R{3f~CMr|L{vZ_k2Sd)S``4&&|pTt5eed@Ip;`fL7P(*2t z5oCFd;b)ydrQ|0HDLauf^_d?h9mKX6wY?d{vy|%>t5EsvoQ!;WfX&BxbpEeW= zwcO_=m*0Cu493u5_XfhGd)tuKuzDIgvKM#ZS+p+wc^XYqiMIE*$K%GRg*{ij+;C?J_ z5fv@wr>fCffNv_7Z&9I>`(6WF_;OSYD4exDms;)trbCqE%`EzD(u5*fXP{Pq0WxEAo|kEM<~xv!}n?Zj3?d2 znA-Iz5mr@OC>X8!l!p%vkz_|YzEA4`^YQ&Yty^H<_F`&Ul-?7Vkkm+6^IVT5pu`9& zro1e&eBZTMdNjePh_1f2r+WLLsta}y7DC0<5v?CYhW{=h&`EDf*bihz&`CUg0>=UT z)T1fi0WdZ!+u#GRY&%mo{8U$=c?Zx4=SN36a{!#$i3%O&uks%RfDeVTM_1}~5WT$X zCU)B&_3j(&s?L9@Q9qV%_-=!%duhKrP{w!oS)l5|=oRY1kEA_>#j~}C;KorkC&g^p zR!CSUoY~}}7*pp3Qx+b-(Pu7X>q%u2EJatkW^Pt!nO-50uEH!m%Q;iXE0vWmQqgTHFN`P0W8pFM?yn^K|0#8Ml=LafyuD)Gk^^%xT={%dPg^(_yCR2hTm z`5A};H*z}*%*IkEd(5Mo_Sl7|Q7`-oTs=aFuEbKa=bcP@IMil8KMh}q0@HT{a2N1EvR03 zuh^&~8g+2_05~9#GBl0m+yIJ57!{dy z2pNz^+yy?02zrJlHHh+bw}7{6Jn=8;2(}kFoyVGgsEeuh{jp*eqZDDh_8ORl*sKI(CW}LOBjB~&r2FFCI zavP0$Q1jc`lOQI44}7!xg3V~)9c_wc->l?0Sm=NMsdEx^&lC?dcP@l>)OBKNI@MS zF^f_Gpzcnm@1Zdc?r3NSaJEQ-XOx@nwy!Wa3DFiV5TnTDJ_N@G8II`|HhpZLv)9-r zBS7o`K=7XTweir7FYfb+dX*pAp%N8;fNIwk2%d_5yFO&efh+zd+B{r9eILM`mbcyi zZUOBEgp9~K$jyZz|3b0s=Cqhx{)xvr=Jx^vl=lr%6{hfq7@62F(4>c2e?zxLLObod z9OYwU)%PTTW$@UXGMsgGE=)+rqzfedrv5f$PwITQCmY}mTe98AhMDst$df%LP>n~B z!i^CxW3=iw?$>YY7nNXkpX5Pv*-)>UCkw@mjUa3Fd%R)tmhTIG%1Ub772zi7ut3FlgL-0=ma1j z!Q){}e1Jy|l9T(ur5DoP3@jg(`~qtNCI7R}#pI9?n||rEa!~iCEl;(c#iuSuE+snc z(64)!p1&gpx>5Yl)z(WsSgVJxK*FPfj-%Rw+@67~&UE@aR!P80!S5S8EREdRdct;2 zR_+RoqF&FyOPv6~h+@~|#9goA``ajV4^d$a)K7p!-i_h1X=`+KNEuIKa7T@L29KA~hDM+Cw+fB1_z6muQI+SAG-1m`Tb@OGPixh1@N?c9 zS7n=4(y(-$15J3YEv(tIlIB0xx@!JjNqe7Xp?EfG3SU*GCr0suNso;1N(xt$A#b;| z@E8Z&i4caw8ts)HgGO&WD-nkrKO804Sa1KK#mfn|6fZlbHn;GZ=H)6H_7d{u%PP_x z(|OSDm)Zh`{;`5zA1)bR=)wgH==%e!1qG!Wi+fm19FXfUO%6F89uPG%2c1imqHxbB z?kwT?&*APBUVY}o$<3#4%$sQM){yJJ&~179+2y!|&y8sbF%hu5(*A{llFmQrvQnIR z()Z|-iM4cp2|S&F=gthlUx%yjI=N|b<$9cbe3*GEBNvdw(sgE}U2m`qxNFVc8Sl%j z6&6nUnQmnthr5^Ob$Jx9I=Re;SE%?~xYu}e!4Huo=3rJgr^zhVz+JiawCk-lC?EsP zFgZ260@xFUk@iCnqPXH!p{$nO3~R_Uh-8sM#1s-tS?4 zNH=FrUt^Yl)BgsNg^%)BOG=l9F&o9Ge_hmb)g>2;{5%lO3D1R~B5pKmmy+2>WbY&a zp839vAL6y^cdbC6HV*k!%%Ye}(H}w5y40F&cRJDNj}ZPpiWsg?Fl!lThzXxW&(lr| z1EQFgXKDeF8X(T7oNR>Wiks+LH@RKpF;T&h{<`V=J-fxqL{P^TsyXRrd znCs{XF=uA%uis2NKY`uz2;jja5&lxmr_H4Mj0uu#59v{mV!vXv+#SlJ4T2wO+-Geu zjr5t)?$4NeJ4&60ZE)6j7S|+PKykOV;;GKbn^V4^hwQAA(>pI6;4EIGxXd|bkxa|1 z`HBgieTUmdYES6Z?vx5uB?8HuNL+VCs>da}fJGK2hv@v&p2#y)>V{A5C{=2Qll_C zy@dRwQW{-7nH52kG%!qagHk;Iis;Q;BV%_72FhP==)m4(pH~AuNb6%fKc8aqVI;yF z*R0q@)AQ+kH9K~ZGqciN>2^L{Zn;>M!~C&R@K!aX3M_3xf$vSfndJ!|1Pcb1H{j9k zG4}YCUa?FJo_pb!*~nOmG{@T|^vpu%N3+d!oteRIrn5K4oGCqdkQ=i)t5LKC`d4-p z@~wOzP{B72vIw zETHpL*P`eGx?VtZPXR%XYbZ42-AXl@Qc&j@kc-{t2QwTKlXq1?wf}0{&yagk51X}x zbdz-+QCR4HpDGJW4jX0T1g>DVGCHq)P*@grR<&FF*7;&Zl=zqDDO9j5EJ3e08fpnX zPX-*bww(QH#y%X9toXLDGy`Zg0E{y%ggtur_}`D6>bEKH4OdeTQc972U_t*_>U<5> zG9NVkh3~40r;{Eq2$t1~<2tw-7E@e@>f&L@nSsjS0{M<5jz$0=AZG?D1Hi5nSm#U| zWhDW8Ll!_Mv{-Sjq}E~9o*g9X%a}EGbOyVh_&UY!g>PTq>{}T|7hksNoIz0x5V&{M zVVQifpt(9!$TH3}|@WfLA>?MECIl9Jagw!-;bjJ;o3R zV%P$};@;~bjq}+K005#gA?P{h=y-|DukC@Vf$Y3q5mdeNveb2tpk7zYsIkKRnI_4Z zaf_;^jN9#c;GZ+&77$9tExkbF>HsQeg;}pjO|3Y&qEbKw*psKu!z|uurSmroIwW}M z*V%?1W#`2shX?e+|ASNsq%VZAkCy;D0$Lup__;Vsbdh`FX%r3s>~dSOM>?rJ;HH4= zU2}+%3L(E``ypC24=YXVgz{q|yj4dIk@ZNuL*PZU%Ce%y-x>4dRbuEhD03f?t$QCO zj5VMAcCuPh|M_qn#07{n-gk${%NnD$I4lh7@nI$Wu0JgM2oND)a;V0l6l0CqC<6d2 zk$Cf_FCR~S(0dn9MhJ^_UlAp2o)Qime;#3Yo1p=*`CeO9k5;0p2Dl%#W`a~C9V;oS zo;JE5gWVBfH+TeHwOF73Gc(he-2g7&u?;_19vL>Egm@T!!+O-Bui!dIpZlgb4KicX z=Tjb5en0xo;3`shYY@2PQGsp4vPF8Ap7my=Ms1Hbj5t9QS(wk>O_of>ecPUNtFW$; zX46rs>aMe6P9b0#Ttw$9;$xA9zfqTs@Nx8SL+dA&i35^s(+%Usi$ZNNLhK@*7s0F~ zQ+`{WXTclCgv1b~hS=kR`i_MQcW+d@&^bQaoYVVIFI1Njo#xr-V7?0gEc#pE_2JXd&U>3pU!+k_!keOiwWf)v+T|#IGV8E?^L=~g z7MgFaQE$K-JG{xolZu!mo3^KbV1}TN<*O$iHEqo_>PvXTsQ1N945?m)y?;3#-De9# zUqA4H%}J64>4Tc4Ac- zfBj66R-GZy=l%vi` zbMXwVDT+xJaX51yAH{d5M8S)1D(axir$+qK;HdDHqdJJ9@GBs1jx2mmZvA^7+a3Nb z2^3S7fET5*hH^o|*yFq)(%?BA$4-c=jk$}1?}K?i;B$9%0-8f9#0eu9N5!_e|7^eo`^ER47B-J=zY z^FujB_Z_R8Fg(f)2|7}Uw4h#76bkHaRED5 zf6U1)6tVHwy3@Ue$DU1F1oEup#5Gz4V9m8_G=IC!c1CHPndZqg@*c0ZHD~2KW{>Q~ zYh>LYk$gQ>a0VXkG{RTsL}~uW${pqm`&UbKH)B)6y?TzCgV*V}Ga9{got)M1-F^dz zq3cbdZhOT|t8sa;2aDx^fUJ+vbo-m$)`I^#jnt*kfe7sz_o5DFJ-*QLZ!7xGF2S6Q zvW^(Jy&2|K4mXKTVi#ce>z3%IV2Hl z#!Q^*@Miwh$Nzre@WITW(a`eZCRRjOsFTT=qUX$?3SvlDi7f%L31Fl?m>8fxC3u zn^_nw+fvDGE|e*itSmajeup(n}E=-YV}HH`3rVM@fq zc;Gn>%%ja=Q)f4DKXQQuc7h;v(d)zKw7U$Xi8W<-f*07kvM&UR<)ed+9QdUkq7@1P z%}HHVXY0z*9RVoDG2uP~Q>UMDX=H**r|`0%@TnKnsw~Fy7Jy7TemOPBV}Ic}>rH^R zG#P*aRbC2@cFnD;-v|G@M@kOXNqdx(LDg5i{yF^bta}%DRX)54bRAU#GXUTUfZ~Jh zgxl;QcKSrp>a?sHeK~e_(D48kHIpSDUy_#x@X|cM*<94U{k_B7F*}F+Wr8S2(P}H( zihP(AA+upu#1ESu+$VpJS+`A4O?3z$4cmO24H~ zV&Phe!hV!^q2$Gm<9B;>ZdcM&^70jZVaQp%hAR^g7xnq=?$28C!35z;;b(NVZhU{( z2v95*P%C9(gQ(Bf|1?2CGV}zysRz?=Pq4vkIob4I!r<{4et$s z#3D$x7Ho&53Z`PHV`vUw#znO%A32~ovX(_}S#T4;Z7G^Hnn>Ns!OD-Sj`bAGqlwIxu%Mv{ef^RAk^USKE)bjiyHx;*dt{}XK$3dq^Y##oGB z#QUFE4BY<6)GE18sGKFV0a+D|u!{cMAjnRG zoNFyBUnNkVfXsF0V6Zb&bGOCvwwwA-Jba$*1*L(LP0`5~vnnpd=E!0=C`9^!60jFc zG~?z&)}L7k0$St%MyW6w&OOG}EnvV!&)puSj9>~A^F&}Q{QOmz(h9|>J*Rq$3r=jYp6a}0fg z`HJJ6DbvK2If4Pf*mQGZF$>98#pg!8{)OCr&4x!dLLy8 z%Zn|Ii{?(7=;zN_eh&m8+Zu~hh}?JKJTZg&9a%#-kmN{}E9sn!xvzI7ETutisD%qE z+3tC4|Lr9;zvl0uQJ2RXN4${?omGYvMSNOX@W>1)6b4QF5_*Z{e+0x%9^LN39BDN& z3prOM&Mo>O)EZR{xoTn#AQmW8&~m{2L~d>?M7P4AvLM~+y68+Rr8vb_29MOFp?Da&0*>j@5o5KtN0|+T>q%KrlV~*n0@g}^FRF6O zK0d9*vN`0E%T*2YQ3-AcxPYom15fYK|L>x+`V8S!`Ihb!%pO(}oPW}mX#wttd?}4q zp}JKtzzMKW7(nt8r}s`w%La2S4EdM0KxRJrAPBtHYdu7og~ht z2K;1)U{0xM+>on5$g%aJ(+r7*^n@WX1Xo}&qi*-8-iZfp-eOJ^N$t}w$u%5%@xLTQ zLQuJ?ZG6`Rnjns%gzcaw9<$oK&iwjeQ^~)DsVC|hj70>**@GiggLc|IFhSIyH0-I> zVrvc0CyZ1(z9H*LFHjIT6E&ILz48XGZj4dgGu7NHO9DF=pZ)RRnFv#flxTsrm`hL8 zt#PNP?}Y0*I3ScUKD`%QqWMsPOXAX6~DzJx!8-%)7NU$YP?|ve`AWQ37U_Q07m<= z?QYyUKF-wOCOb+(O977n!DRV`B@cFNI*}w8nd4-zSF`JG;@j77YI)#_v6HE8J-Yr2 zu>FX^`!fJzT=ykwoBm<~7)dtOf$dg%@~V!xd5@NGRx$q0mZ4kUwo7LYIyv(J6vF@& zX`D@6nJfm4oMdJ5mW!Q&2AS7bni!J(75E(OOC_#o(oDl7&-a3uSz5`Vn3xL6T`|c` zs$#0D!9;1< zrLytPy4!`a;UmaquPNQ&HZf_^m19RxyuII{Cx8dSI^7_I$zr#_d^FN z(2WMVu`Kk|xuGs1w@hy7BpyQH2XsXWunT;ASsFMyK2K)*u*vw7eE!B--RYy|@e>M& zymdHO&m%FS?ol6lxewOtZ6AtX4BycrUo{WOd`%4+;nlDLEC%Q+{s$2A8$rTG`Kfta za@nK!e!({@>@z{QP+BG2l=8HZ&R^Yu+#173m7zdy>eU!%gaoMhKJ~YPpK3b18(Iew zft@%bgAD&cbM643;oTwOOD{ENRFATo9wS3Mj^#@Nun4^Z06dvKM!loqX`mR_vQy2^ zTOKVu5e*`|1TgIVt26;zU25J0XhhIN{4zGhXDC@*C+tYqxOrDze&gVL7Nm=w1;MU0 zLC~x{6>5s=y{T+dR2LykGh`7sZyMNCw?LygSdomltH5{?pL-~X7AMcD)%mqy8FRO@ zfFcy7yv-o+5+E!AQPp;m+QDwKhQ$s1Sg=oZN0waq^UXgt@6YVTAX!~#$fp%)E?SrU zx*#C(PQqqPA9u>zd1zUVIro&v#Be2GqoUK-bao*O1>7&dsh#FKbj6fOmn}4EM2{J5 z5Qr6im$b;JE9TXY!lx4_BVYE^qb0`8LyF8tpT>T9&^9~_70@1|-cJ8s15`DBVMZ16 zqhPEekXw;&%PIkic?`-=YG20t(-9U1VVNa>sv}G4o;sb_=Ka(g;=Ub*507U$8kzy1 z5UM(TK0PMPW_dN<0rH}JRGp|#D!cn^001C6$U@^D=7BV7}r&D$aqSWYropuSqqBSf})uRno)NG1rgP`wXTG>Vi*M1n? zX#)>V`O0FwPHA*@PR|y=C(M1>w zR}oA;>rTX-w?inQEoN>ErLe~$ z+R!$0J+b4_Yr@GaR@V_(kKJN1v(~=|=2_#i#v#$IH1k}`;HNXqi`7MHp8rD6V|9OH zeeP(7_QaJh^s=39q#wwZX(5Y!22*7${rIaxdVci|CJA#5k%rgll>5kMf9H`wz@A2I^1TY>7D+l#u0doBQ`W9DE+xmyFBUS=-F{ zV?k&!P)E)4D7w)VEAu0&v2cG-^DZ4TTKA7QNq%P%5^Sn-h86@MN`S9`n0MW)WuY~ z-A&g?9ZR*l>mmb&go}~%Jv6vY{Gw!6CV07)`HA>xM#s7XSw5*w>c%sA=sIfNG^Wly z&^lK?j#R3M-p+yxa6u5w*T(dim5T$_Zg2^BtKK#dvT?{R+gr9ab{{c`c+I3fT5He~ z87z2?Vb51hX)AkvZA#C3>f$v!n^Esxumlb@BUfj=gXT=LO$&SJjA|TY+tVA2cCH28 z>Vxt#&8U?t%5SzH>ptL0q|Z6%i%@+Ry#*!pL5{(Omb9V|8kQAgeJb1+yjYLQfoZX4 z>g9ke=+=F8#gt1C3|ra=MfvZ@I%5(?XZ*o2=P46{(*u&FR96{&TP}?{a_gF_S@;Ly zn-TP3EE#{-t=GJZr8B={8p6rEKkutYe~?Qq59H^j;U^Ntw)F>V^q(Zw*oAsE7eASN z+n`>hXIS3jX ziVL|`4$QE zI%&G8g9$WoICz)eW9DaA+D{;2nBf1d*yc#K`DW=T;1-unIN}$i{$V-iSiZOpVf6@| zpD~wHoy@31Ll<4>+Xx6)a|lHiT+$5DZyfJ#-QUy|jwZoCfn7?1UiQ=7B#L?#g~ z!Shplkvf6TXQ4zGIe!flGV$iD*S_f^(yO8srhU+lIQrwuQhxtPfFdhRr&&F5(1#uM zBQhU}WU)1a#Qf$=skG)pXS=x{YFg8usA;Lx#EqrfM`A>Iwcv-VO<#<}+Wk8}S&qU; zvSk+MNIRyTqaf?#Y0k`4XL;CDW<2v#kjyFB@(+wirZ$W0WduJhvfm7gamdiExa7i> z#}L{KQS$)r%df`mzN_1_lO!zB8~cahWHTDArqYx|b|c1UU5HFdbiqC)1J#%n{$a|2 z^o+}E%b=RSI1RXK2(22;#P|?8JX%*>b7u%yjnP#Ma2%%Qq3R81>t@U{G&nCi!rmhk zB`n5#s?5^YjeO=THkGuX;bX8WdH}!{0N#_EO{#zHp8)^}1~UT31j+zF797oC#@-tP zW8=rL1=}USY{eY-{RytxF^oF@sq-kv1r!<=*ZO5W%9(jLh`6BBI2LP(i#AVe4^NI` zc|~J&?&=vdZ!B<_M``adwJYK%{w;>TJ&xKwgHQ7BII){e3p?5Gc+qyu4-BqkQscHP z+1hNsuRd+l8V4LAJ0jW#-5~%VA{1`Gp z=apIaPg*?zllEbxAlB5qUkBW*9^Vv0#35m}h_&=}0%+hoN^nB+B~K1jPdh#k0PNai z^x;cB6QLNU(uj%BWodx322S@bmF;%3(hO{;&=B7)WuT-8O2X%sT7CZBeU`Ss<^zlo zNhc;ktn?-IBv5BQrQ%`SFh*>rGVq@&<%N6p)@6gN$0 zkGwid>XQTn-6$~$X|y@0FKbhqPiRUuL2Ewi3Ijg%hR#iSr!*_427Il)28QnZNLM(s z$sTll3g?sCQ?XvMHkJvJO0109KF}4mR4|cjD=~IJPkGl@93PoHFNWDBO9zlXPV{}6 zE~dEB!Q(_h@nIINQ^F=J>IsT7l>#QHLgnh}=K$p~thOb=^hC0%|ju<+H_W;Ei>qXUUl);ls{sL$E(iCH9)38=OguO_S*L z3{1XqUFm^Ig!}X2VH@rtFnra?!V+4ranx0V!-Luw3KOG{0kg>M6?)f{=L%qx;97KIIt)7K-5kq(J&|I8C-sixc_otBWY-m$lLp~dL{z>W- zESI9wg^^jKZzGrVW}zcZzPppSb9^?0SvGj))?^1LG+(Au8$3Z@c2K}jAXzN)m(jht zeu)mN;*RCZE}`&I8EI6CF0yFOE9KqAmGZRbGP1+H=zDKmTIzZcPK{9ddIjj!qIrE` zkqbW(i;xH6uCKH?uupcOE9Q8)zo)Zp-*@3mk;&^T&Lz{!IlxUiNi;W;sj8pefhwiq z^uoWW#{6o}wn zSB}Hj5RlB?`aYt;&R$ESQZ(vc)l&V2eT+?tlq)!6%cHDzplD-=_O}IurznM)xgcL472jH zMJ`Lhy|?@APk&dO0WhWHqpB@S4qdq))W~n`Q>9xUpY{})hS}sShO-jjiUdkvZ|2kF zWPMSbF5iW^EOGDCf@Rw~>?%+ib)|iBdp4a)!%`?nkJ6BgF_-2Yfnc8dmu?Q6SfLBh zh}f>fv!pgHSb$uOT<&;bgMp1Ti?j<-m0Q#@FaSw{JINe!lO&P?O{m{O ztbDPTK)`4Zno#zgx!rBT3~ne=akoj}bZkW#7Y%6YTWsR6dPn&Xx#g3~btg=KL(Sv5 zlQxTVvkgP$i-po*;ix82vnItWb$xNn=tcs#_i**|e>vWE)((0%meF-GZO5``bhyW-pO{5-6bqQ*FdI9hN*L1PqCpVgNpwlLL%Ljq%{}5H)3*L*u(1pYq zrvv)1U%cN=#%*YiiI|h8J$LU24@AFMRO}3&>R>uqEe9FTq*D@}hV6(HFo9w{cl5NQ z31{?x^c7(yNsPRQAexBCxe+Dn6_B{n$wbvx=sIh@ET&Z}(AkeSpvyx(Dhs;30>)Is zB|^MqZY?XU1jj>3v9xC_o|ZQ;MmI`Ggg+{2rOv{b$EgV%dQ!B8to;9Srq^R?<^J>k zjs`Lc`W!ym_bA zueGK%fC$JtwLaJMEZ(|Ex)0_5&O7No*K{ggM`q6BbJ$4pvUTI{Ml4tJJo|#f_kHM| zGVP*9-4}0|%oOPjEYCvPwH%%sV196es5d}%eO^Jv4e&G-poDFp4^Cg;t>H(hF0D9K zeM$uYOlZ$73OGC9r(B9^t_VYU082T+#o0pU>&tW;2brE@ODo3fo$1_0gwWhp39~iq z+%xm`lPa*yw+z2|P@hfcP<%xptBA!lQM*`)(CCPsp1uX)duxx*0 zSM9o*0P>dhf?hwN>p+SDK{YFJ26j8xZzuX-R%gQc3-3M^9Z}uX$N5#XY73Sd_k`mD zi6B)v-DXvlSgq|=s5eArythJ)?kYxWlCUqerdJd7oqjes;>3?FGJ?HTLXlC#HW)s6 zlFjgLwV;FXp+(vBMyKE^R+vN#<|l*5q5KqPVd?7ZL`NovC~zX%JCkELlG22e6w4gG z>kbTG4BJ;>3Q1h0HAxhzGez%@OB1y_VZ-XF%1*e49BJZC@c)m7Kpe9KV4rlRJpf=| z=3x&Vy+visfpz4uOKjrX?1HGfx=w6XW?09E`?X$G1K|mlAb{IdD$j}iYbxBhEPTp`0oa>IHDp?m2Wll>wYW_wmAf2{%AtR!Cq!|E;_ok5qr|}*!zu^=^{Ht- zQNlDt)&(a%fus&5_1-KD`FN_{U$bQsb=?a&Bi)8#3xGh_>Ai?p&8Dv>fQ-l@%8&bL zKxqlc5wxe&eb~4EB$r5pn{wFRh};z4k1c$Mt-^J&Hho*;UiI^z0`l@^y2puB^%0iG zY)agZ;Qs4vbY(vhopSlO2D{7}`wy`tP#2??2QWhHX$Ks@ynk_hUSv|{h- z%-ub*4%%cQ6|uApd&O)YncSzO!=jgOcnLqZl)Zh8va7g_Jt=eK77l#qI`TpiB9Y2& zL0~|}Be+t=k@|em+tP?5I_7JKl3~{mVQ>Q3fC>A=WK0}zpjM5L@#D~Ih{y_>AxmD@ zD?#hYXpa)M=umY&J;NS1U=0AQ(f{v7p7i&9(u|#?Wjji&%H1fjLCKzf{LE)>xR2x) zC9*bwLXU!Q;z2!+Vi^cT=;cxPBrWk-XBJtPH<+0Z$8To}pP{!ao+691hXw0@ShVB) z5Z~%itnCnNR=iaesL*kRZJCFQWx63pV$U%=N|O2{1j+wl<)PFXEe1?Lmn@#K;QZk- z|E^_8LTy-z5L_A$QNl=2GPb{a{XTtDB?&;IAX@9QKVTticwLbZT&fIVT^_lQX!R57Nc<&DIWZ%1?9z?fj)@`FwwYGF*R3zbfD%aL4N-9L7|lJ2^&w7=bK7Ih z6*_YgepPo0U#+)wPX?=Up6cguJbs-=wiC+ANp>|qT*l<{_|x*_J$w8kd(xVnzo zo`o=!wb;iJr=Qi$mVRPibxZo~97LLe1;0o&QgiX-3|s`m^dwhb{?$Q|o9A@q6mcG% z8YtmBbhgN!fWCkP5FS)tFRLqw4vw=5SrN? z%j#h??*bIk4<2GamSwctT<=TUFG6gbKPO~@Y%|wZ5L~}xaxjO{#7mF|q3}pC314Q} z;0MIN~F9~w|C$f}uS?6S%^AoA=_(Ur0ysT>^T-%(oxwz1I zWmoi_?8Ol)m4( zga+l(9mqLIoGB|qBOYQjzfeXK&{_nK@TCF+Vn~M3Xn-A6vTa{!Hq7-HghJX9vn4C!=y`sn7$T6 zRo%ia7cjA*#AFfuc^!V7J44i})<7YUwu##6dga9@ZKQ#aw4bo3wnTIm?#dExc_KbFi}O>_F5||P3YkD!%YCyHznM` z1v17nH$?AYS~}}tdz?A_CFa*|(EPiYvxhfm>s{DqZ*S0ZJi%aY|9~2n6pDwz?xsLt z^FJGBPj;_x0ri=+0Ta!cdNDXp8ut$z@ER(44|K0i=+=?a@9E}fWCzshK9-j(*nb~U zp}escos!oBUCqphp&Jc-07Sg*3Pdywlllz^+q52tfXs{+aU~i60tW$rX{}++tG7+B#q8djr6w$CMFMnwKpW;7Ws z1r&Rv=9ld}YF>HZx%zM0q9qBCOAd@I38m`{i5A1ep8G+gS~u!k{mQ0G0)&vwGY~g{ zJlR8#M<$v0!Z^G6FB0ySKEp1Gf0x2hlQD$uJVW+mW2*fex|DyWRNi{g2;L1AB7D+g ze@e3l(Z~$pBSj{Z2q__py4)L`f$l#?{mvBm0vAt0Ru6fh>uJm-!o;M4PoQ!h0qddI zOJL|pK`$YRZ-N#~^v$Af?5+47q4EXB+(J*RHL$)6Vo#)JsHS|VRV{+z8u1;&2*~nr zuaFbxMOBb|85rcXG~1MC&7rx^OxWT!_}O2RQRnf*p$eVGiPayT8}So|0HLL{zi5a z_>XB+!y5oHH&*8|RlWB9(Ts(I`9_9a4Hl~gKrT5;O#C2o>sN|;r{pX-()4$kiB!2H zF0p+g)1xBAN_I}p?|D{>53;WC;pMvTbxP`!OvTCymnkU(;w_j;f{0A9Rt%pXC>kb6vO`;6nHaLr>=82wcQxG~bS$QAcl&>(eah`bXgI zM(;mnOXOjsRVx0N$di32$ghGv6$Y3xD*BW&`6sguXFQ%x!UVMU>%}n>vPZWZA>(1aV@Jz#C zWyTYX2+@}#ht3?KXd!2UPXg`u22zVcKXjs z2)&!yxlFmXjlRqUnD9eEBTW2`=F(~LcUTAwlYh~h60u^F2kIl$vB?MY%CRum$H<4a zrP6A>iy`l|C6){lh=yY2NK_?*`evJ=Oj5!)MPSkv2?im;D0P$xO8-M9lcY4Wi8E<8 zoKnGhqU+2Lp4ZE#H<>J1Aq3$wrz!7&iLR8PWY3zCx|K5p6D!$GhfG6$B!!vd5Y#a2 z%gRFD94o)JWtU*x3YK-l4q67Nj(!k1q?L|5a$2Ul^2l19f;SZa8%j}w*nZnwZ)R*! zPpH>N4_6=jW70TS%G?@)=9Ak$woe5~*~QHlK9ZG%-q(2Nqu4LqwFz3dt-xwC6SKVg zNUbc8LQ?RPutaxmdA=Zh{k7MePneGrhY2TJfEoDF8Ap0&0e^G_^2`s;s75jQLF(o- znEmQPEAh)P1Pw7|*}Urm|Gn3DuR}xfdfhQ}8*s)H02Btm;=y01o(ihRENItGYZ5F94F#&%H#0cUs?fUnR=q5(+ANJgn+oynL>5?VmJpDy9ucD&;b?G=Tw&HK%DiTsk{}4 zvyd_}^hF9_8lcwpsmNLn3f@=I--SS-FDeaBO)BoyEb@GZrq~Pv8xCnhYHMJ=guZ9+ zQBBd~(Sw%bp;217k&kYnHQ7aeQBl-Ty4P$qqX_hrS?7Wo4Fg(+4`v#!o7;p14tiy5 zyqfpS<``cQTWy6-Fv;<#Xe?!};g|IcOPo8g!55cpCO~C`x%X(yy9e2HCXUK@{#UAG zR?IQDfV{hGm|w%Us~-oAdUdztT|6vNOQ+OmqWS!;7oeUtpzjNS!jO*N?D_jh z-D+2HDKC6?KHeHiLtC)1w&7tYR8YV*=zgyBjVA99>cjSqe@4WeUf5t!=VelRtG1<6 z<-+L72Td5!Rghi0o9l z)<|zneeLum)J2KxFp}|f48?{SS}~jBI(5qz{N3gwuw;S-2G|1n4gk$6Ejif(0~JNu z13!FzD$2^1R@-BlhEn(uoc+3IuMfie+dHs)=dIG4Q(#eiEGvkji|YLhHLL_~g;)D- zO+OYg740Lq$u|F~G_NQK_+x|+H-PhK#d1_-&in8AI?h_O{Vft@D~G`x!NRIR&x-03 zKop!kb5t^r*eSJz4*Cf2AC9qkmaw(fa2a3GMv(Ga@n=z|Lgww_BV_(z9L1)pj$ldQ z9M>GMq2C=bQu#qq1MP7H{d9DdJ&Ms=M+|3lC*fdnaIV(UJ)!IdG{$@xXiT1^1oyUa z0w;AWqTvc8YC$F2YsNE}ePxvlqA5;ja3;kXunvA?ZUycUg70WaVrTe_2APZJUG0iX zs+|ahd{Y1`Q#rJxgiS=d|6Qvktwt@wXFCm#YAtOMJ}=sV}ki&M^38k#w2MC$UJ3n3$x_in~|!$}BIMuA=Xmb5&)_R0;@To0n*?x>bIOSlBU#QSf^Ke#W&R(2WS)fD>Txjb?=U6*Z2D+Bi`y1Mq5W02mij1CPmIIP{_#oGf+ z%bO2He*Yzy67B>48kBM$4U6LfS#Y~nO5f3tx6`x%wJr^o#yN#SrMX#F_yPUc`whgn= znXd^d@o8D=>4`Bnr8G|v@Hg7V9=&LaKOV#A1%3ri@DTV%I|nS-@VT8OYO^(g6+aIp zOx6CAXwmT5^v!!^3D)*{531~iPY&RY3Jy_z_!9H?&CFSHg-|7`8z`|y-Cliu-D(~0 z9*7crpOndkHy$(rbq$uD0wS_S#QKdB_m-7)As<|6mlqUOpaghVslunDaTYHm04N)Q z5*Cgud2QDpb~{eO0OZ}Gq&?}&LC6l101sEZ7#I1W5Oa?*hY@<8PT>I1tnj2(bkP*zOrpY*22@nDAB*gC-`y<__brMZMM8Vkf((wCUzI7NJ%Y1^KQN#2e`^MB{-Z?c^#=93Gu4Vi&zr77Ytn6+qqXc<2y$f`v$B{t4cY1KEc8(Nlurk;57dv${0v4`0VgaV z&9`8B7>H?>raSoufu6i&dvjzW2;3@Q2d`35S};U;Mi8t*OFA6{f|aEwco=GjiY0ky z)}@kb)!)1^GIvEYsf*O z-XYliN6_Soz=D5S)sLxBo}QFVYEjjS7*9C0tOzO2;inZ0tStDTFL{RI?NW*fMJvN; za3~CR7rM=U6`{}U5l(iMAhG4gHmF@CG&YNd;~m`E8I=HGNypejYSkF}&VHp()GdTa zeZv4=m%{JrZSx1RZ4dk*$R4n#xG;Sn2E{hRaD;-ka+7>7Odkzh9DM>b6QO@k8eUoN z21gV-$%V&=U(oKE%KDK}XEfq?U0To24@R38k94=#i#OI-(=YL4Ccw036-Q}?IC;BU z+?KGb%!FkdXy(<(Gy45_cZ)Q|?CGGc(-ncsXsHLf-1T9BZL;V^WejVcIbqAJ4B|Hr? z0mRWw00b@rfEQYDTw}X(|JrXOO#siMgnioiBnsPDf$=Tsh!TU_ z)sKp6H9bHDf0dLrpT$Rt1&0`Cy zdzKyV&cqK#l(PZ8eV!)=JdB{-HL*%gwSkOvst%W<66+gEU8?INHD4~!nwnNQ(mU|! z?kTu00^I9T15AvsdDH;!?~bINHK2F%M(1Iq(B{=Fj?DM-TipPNGPw#W;PC2p)cqm2 z0|*v~1I=5|3-lF`^GrGb*a<}#1aHR*e|7Peh)i%FTjVisuNxree%GkiO$ z1Vz??sMAsc9)_;bVy_SapAtEE3DwYQfvS_ z)WtR{zDq=zm8%~P=_SX21kXbaX%gxhuc9uqBLA3oyHufFL$IOan_yVBZ%5MJNcgbd zq7Am{fBZ&0`nRr!y;vFAa}J-h4FO1I7xbcY)YhOO*zr^wSK{A8!}TF55U@#NFf z3Ln~SDzx?f?Vi0=g}Ri(*T!(C4$F*2c&%L&CZYkYj>5FJrMv7Qb&nnS)Q42)NpJ}h2jLCV94#mc00A!k z!pU#rcz_&E1+#P!mVpgkx(q-Y0RC0tQIemZp)M<73&>Yho>HTMP6s-Thml%{Dekpl z;kopPJ8uCewa3#IQ4 z09pfqe!(LqCXQdujBm!}TvmlOL`(HCs|>@noi=W2*TZue2Vfbls;<-r0I(zy8QfGf z#Ae@bQ=Q2Z&z~OyIQX>~+)~=b;5fJ~J!`0M2!CF9BfOHw%*V7An+@yhE}EdKH8~Lk z4s&U;2`-D@&tG^1BQuAwKSt1TWm>nU#~N2=H(0ayJ%%B@2x+tu9z@Npwsg2LwriE> zb7Lq52#lT0^&Xb@5Zhs?zF*r>TobTg9(it1<}z1IX1t`(vt}5FOgL#oj!pG31r-_D zfD)RbupOn~VaVh2hiFoKZj$abg;1+b`I=$YWnPVJH`nxwh-J+z5z1D731+7>$IrlQ~dk`XC9!JO(~w`EA(tloo@T7vJxs zb1~>YyIt+xRzLFBya}AQ^_&}8#O5^

    !|i2rMnB?J8gg*@gMG|m$RbqR`ThhfK4 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 qcxD-S9lu;Z5xB(OXbN>fwuwWYi diff --git a/packages/core/types.ts b/packages/core/types.ts index c466d33f..86dca83e 100644 --- a/packages/core/types.ts +++ b/packages/core/types.ts @@ -35,6 +35,45 @@ export type SendSmsParams = { readonly message: string, } +export type JobStatus = 'completed' | 'failed' | 'queued' | 'active' | 'cancelled' + +export type Job = { + readonly jobId: string + readonly status: JobStatus + readonly type: TType +} + +export type Cron = { + readonly recurrencePattern: string + readonly worker: () => Promise + readonly errorHandler?: (error: unknown) => void +} + +export type Queue = { + readonly worker: () => Promise + readonly errorHandler?: (error: unknown) => void +} + +export interface StartJobParams { + readonly jobId?: string + readonly type: TType + readonly data: Zemble.QueueRegistry[TType] + readonly delayMs?: number + readonly priority?: number +} + +type StartCronParams = { + readonly type: string + readonly data: Record + readonly recurrencePattern: string +} + +export type IStandardCronService = (options: StartCronParams) => Promise + +export type IStandardRemoveFromQueueService = (jobId: string) => Promise> | Job + +export type IStandardAddToQueueService = (options: StartJobParams) => Promise> | Job + export type IStandardSendSmsService = (options: SendSmsParams) => Promise export abstract class IStandardKeyValueService { @@ -257,6 +296,10 @@ declare global { // readonly UnknownToken: Record } + interface QueueRegistry { + + } + interface PushTokenRegistry { } diff --git a/packages/cron-in-memory/README.md b/packages/cron-in-memory/README.md new file mode 100644 index 00000000..899754d7 --- /dev/null +++ b/packages/cron-in-memory/README.md @@ -0,0 +1,13 @@ +# cron-in-memory + +## Develop + +```bash +bun dev +``` + +## Test + +```bash +bun test +``` \ No newline at end of file diff --git a/packages/cron-in-memory/codegen.ts b/packages/cron-in-memory/codegen.ts new file mode 100644 index 00000000..1e6cc7ed --- /dev/null +++ b/packages/cron-in-memory/codegen.ts @@ -0,0 +1,9 @@ +import defaultConfig from '@zemble/graphql/codegen' + +import type { CodegenConfig } from '@graphql-codegen/cli' + +const config: CodegenConfig = { + ...defaultConfig, +} + +export default config diff --git a/packages/cron-in-memory/graphql/Mutation/randomNumber.test.ts b/packages/cron-in-memory/graphql/Mutation/randomNumber.test.ts new file mode 100644 index 00000000..a252872d --- /dev/null +++ b/packages/cron-in-memory/graphql/Mutation/randomNumber.test.ts @@ -0,0 +1,23 @@ +import { createTestApp } from '@zemble/core/test-utils' +import { + it, expect, +} from 'bun:test' + +import plugin from '../../plugin' +import { graphql } from '../client.generated' + +const randomNumberMutation = graphql(` + mutation RandomNumber { + randomNumber + } +`) + +it('Should return a number', async () => { + const app = await createTestApp(plugin) + + const response = await app.gqlRequest(randomNumberMutation, {}) + expect(response.data).toEqual({ + + randomNumber: expect.any(Number), + }) +}) diff --git a/packages/cron-in-memory/graphql/Mutation/randomNumber.ts b/packages/cron-in-memory/graphql/Mutation/randomNumber.ts new file mode 100644 index 00000000..80b510ff --- /dev/null +++ b/packages/cron-in-memory/graphql/Mutation/randomNumber.ts @@ -0,0 +1,11 @@ +import type { MutationResolvers } from '../schema.generated' + +const randomNumber: MutationResolvers['randomNumber'] = (_, __, { pubsub }) => { + const randomNumber = Math.floor(Math.random() * 1000) + + pubsub.publish('randomNumber', randomNumber) + + return randomNumber +} + +export default randomNumber diff --git a/packages/cron-in-memory/graphql/Query/hello.test.ts b/packages/cron-in-memory/graphql/Query/hello.test.ts new file mode 100644 index 00000000..32e109cc --- /dev/null +++ b/packages/cron-in-memory/graphql/Query/hello.test.ts @@ -0,0 +1,21 @@ +import { createTestApp } from '@zemble/core/test-utils' +import { it, expect } from 'bun:test' + +import plugin from '../../plugin' +import { graphql } from '../client.generated' + +const HelloWorldQuery = graphql(` + query Hello { + hello + } +`) + +it('Should return world!', async () => { + const app = await createTestApp(plugin) + + const response = await app.gqlRequest(HelloWorldQuery, {}) + + expect(response.data).toEqual({ + hello: 'world!', + }) +}) diff --git a/packages/cron-in-memory/graphql/Query/hello.ts b/packages/cron-in-memory/graphql/Query/hello.ts new file mode 100644 index 00000000..49793ad9 --- /dev/null +++ b/packages/cron-in-memory/graphql/Query/hello.ts @@ -0,0 +1,5 @@ +import type { QueryResolvers } from '../schema.generated' + +const hello: QueryResolvers['hello'] = () => 'world!' + +export default hello diff --git a/packages/cron-in-memory/graphql/Subscription/countdown.ts b/packages/cron-in-memory/graphql/Subscription/countdown.ts new file mode 100644 index 00000000..e0cf4d68 --- /dev/null +++ b/packages/cron-in-memory/graphql/Subscription/countdown.ts @@ -0,0 +1,20 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +const countdown: SubscriptionResolvers['countdown'] = { + // This will return the value on every 1 sec until it reaches 0 + // eslint-disable-next-line object-shorthand + subscribe: async function* (_, { from }, { logger }) { + // eslint-disable-next-line no-plusplus + for (let i = from; i >= 0; i--) { + // eslint-disable-next-line no-await-in-loop + await new Promise((resolve) => { + logger.info('countdown', { countdown: i }) + setTimeout(resolve, 1000) + }) + yield { countdown: i } + } + }, + resolve: (payload: unknown) => (payload as { readonly countdown: number}).countdown, +} + +export default countdown diff --git a/packages/cron-in-memory/graphql/Subscription/randomNumber.ts b/packages/cron-in-memory/graphql/Subscription/randomNumber.ts new file mode 100644 index 00000000..2959ba0b --- /dev/null +++ b/packages/cron-in-memory/graphql/Subscription/randomNumber.ts @@ -0,0 +1,15 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +const randomNumber: SubscriptionResolvers['randomNumber'] = { + // subscribe to the randomNumber event + subscribe: (_, __, { pubsub }) => { + console.log('subscribing to randomNumber') + return pubsub.subscribe('randomNumber') + }, + resolve: (payload: number) => { + console.log('resolving randomNumber', payload) + return payload + }, +} + +export default randomNumber diff --git a/packages/cron-in-memory/graphql/Subscription/tick.ts b/packages/cron-in-memory/graphql/Subscription/tick.ts new file mode 100644 index 00000000..ce7e549d --- /dev/null +++ b/packages/cron-in-memory/graphql/Subscription/tick.ts @@ -0,0 +1,22 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +let initialized = false +const initializeOnce = (pubsub: Zemble.PubSubType) => { + if (initialized) return + initialized = true + setInterval(() => { + pubsub.publish('tick', Date.now()) + }, 1000) +} + +const tick: SubscriptionResolvers['tick'] = { + // subscribe to the tick event + subscribe: (_, __, { pubsub }) => { + initializeOnce(pubsub) + console.log('subscribing to tick') + return pubsub.subscribe('tick') + }, + resolve: (payload: number) => payload, +} + +export default tick diff --git a/packages/cron-in-memory/graphql/schema.generated.ts b/packages/cron-in-memory/graphql/schema.generated.ts new file mode 100644 index 00000000..c9298623 --- /dev/null +++ b/packages/cron-in-memory/graphql/schema.generated.ts @@ -0,0 +1,154 @@ +// @ts-nocheck +import '@zemble/core' +import type { GraphQLResolveInfo } from 'graphql'; +export type Maybe = T | null | undefined; +export type InputMaybe = T | null | undefined; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +export type RequireFields = Omit & { [P in K]-?: NonNullable }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } +}; + +export type Mutation = { + readonly __typename?: 'Mutation'; + readonly randomNumber: Scalars['Int']['output']; +}; + +export type Query = { + readonly __typename?: 'Query'; + readonly hello: Scalars['String']['output']; +}; + +export type Subscription = { + readonly __typename?: 'Subscription'; + readonly countdown: Scalars['Int']['output']; + readonly randomNumber: Scalars['Int']['output']; + readonly tick: Scalars['Float']['output']; +}; + + +export type SubscriptionCountdownArgs = { + from: Scalars['Int']['input']; +}; + +export type WithIndex = TObject & Record; +export type ResolversObject = WithIndex; + +export type ResolverTypeWrapper = Promise | T; + + +export type ResolverWithResolve = { + resolve: ResolverFn; +}; +export type Resolver = ResolverFn | ResolverWithResolve; + +export type ResolverFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => Promise | TResult; + +export type SubscriptionSubscribeFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => AsyncIterable | Promise>; + +export type SubscriptionResolveFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +export interface SubscriptionSubscriberObject { + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; + resolve?: SubscriptionResolveFn; +} + +export interface SubscriptionResolverObject { + subscribe: SubscriptionSubscribeFn; + resolve: SubscriptionResolveFn; +} + +export type SubscriptionObject = + | SubscriptionSubscriberObject + | SubscriptionResolverObject; + +export type SubscriptionResolver = + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject; + +export type TypeResolveFn = ( + parent: TParent, + context: TContext, + info: GraphQLResolveInfo +) => Maybe | Promise>; + +export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; + +export type NextResolverFn = () => Promise; + +export type DirectiveResolverFn = ( + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + + + +/** Mapping between all available schema types and the resolvers types */ +export type ResolversTypes = ResolversObject<{ + Boolean: ResolverTypeWrapper; + Float: ResolverTypeWrapper; + Int: ResolverTypeWrapper; + Mutation: ResolverTypeWrapper<{}>; + Query: ResolverTypeWrapper<{}>; + String: ResolverTypeWrapper; + Subscription: ResolverTypeWrapper<{}>; +}>; + +/** Mapping between all available schema types and the resolvers parents */ +export type ResolversParentTypes = ResolversObject<{ + Boolean: Scalars['Boolean']['output']; + Float: Scalars['Float']['output']; + Int: Scalars['Int']['output']; + Mutation: {}; + Query: {}; + String: Scalars['String']['output']; + Subscription: {}; +}>; + +export type MutationResolvers = ResolversObject<{ + randomNumber?: Resolver; +}>; + +export type QueryResolvers = ResolversObject<{ + hello?: Resolver; +}>; + +export type SubscriptionResolvers = ResolversObject<{ + countdown?: SubscriptionResolver>; + randomNumber?: SubscriptionResolver; + tick?: SubscriptionResolver; +}>; + +export type Resolvers = ResolversObject<{ + Mutation?: MutationResolvers; + Query?: QueryResolvers; + Subscription?: SubscriptionResolvers; +}>; + diff --git a/packages/cron-in-memory/graphql/schema.graphql b/packages/cron-in-memory/graphql/schema.graphql new file mode 100644 index 00000000..aea15a76 --- /dev/null +++ b/packages/cron-in-memory/graphql/schema.graphql @@ -0,0 +1,13 @@ +type Query { + hello: String! +} + +type Mutation { + randomNumber: Int! +} + +type Subscription { + countdown(from: Int!): Int! + tick: Float! + randomNumber: Int! +} diff --git a/packages/cron-in-memory/package.json b/packages/cron-in-memory/package.json new file mode 100644 index 00000000..3a3c2060 --- /dev/null +++ b/packages/cron-in-memory/package.json @@ -0,0 +1,38 @@ +{ + "name": "@zemble/cron-in-memory", + "version": "0.0.1", + "description": "", + "type": "module", + "keywords": [ + "zemble", + "zemble-plugin", + "@zemble" + ], + "dependencies": { + "@zemble/bun": "workspace:*", + "@zemble/core": "workspace:*", + "@zemble/graphql": "workspace:*", + "@zemble/routes": "workspace:*", + "cron-schedule": "^5.0.1" + }, + "scripts": { + "test": "bun test", + "dev": "zemble-dev plugin.ts", + "typecheck": "tsc --noEmit", + "codegen": "graphql-codegen" + }, + "devDependencies": { + "@types/bun": "*", + "@graphql-codegen/add": "^5.0.0", + "@graphql-codegen/cli": "^5.0.0", + "@graphql-codegen/client-preset": "^4.1.0", + "@graphql-codegen/typescript": "^4.0.1", + "@graphql-codegen/typescript-resolvers": "^4.0.1", + "@tsconfig/bun": "^1.0.1" + }, + "peerDependencies": { + "typescript": "^5.3.3" + }, + "module": "plugin.ts", + "main": "plugin.ts" +} diff --git a/packages/cron-in-memory/plugin.ts b/packages/cron-in-memory/plugin.ts new file mode 100644 index 00000000..016ea124 --- /dev/null +++ b/packages/cron-in-memory/plugin.ts @@ -0,0 +1,51 @@ +import { Plugin, type Cron } from '@zemble/core' +import GraphQL from '@zemble/graphql' +import { parseCronExpression } from 'cron-schedule' +import { IntervalBasedCronScheduler } from 'cron-schedule/schedulers/interval-based.js' + +interface Config extends Zemble.GlobalConfig { + readonly crons: ReadonlyArray +} + +const plugin = new Plugin( + import.meta.dir, + { + dependencies: [{ plugin: GraphQL }], + middleware: ({ config, self }) => { + const scheduler = new IntervalBasedCronScheduler(1000) + config.crons.forEach((cronConfig) => { + const { recurrencePattern, errorHandler, worker } = cronConfig + const cron = parseCronExpression(recurrencePattern) + scheduler.registerTask(cron, worker, { + isOneTimeTask: false, + errorHandler: (error) => { + if (errorHandler) { + errorHandler(error) + } else { + self.providers.logger.error(error) + } + }, + }) + }) + }, + }, +) + +plugin.configure({ + crons: [ + { + recurrencePattern: '*/5 * * * * *', + worker: async () => { + console.log('Hello from in-memory cron') + }, + }, + { + recurrencePattern: '*/5 * * * * *', + worker: async () => { + throw new Error('Error from in-memory cron') + }, + }, + ], +}) + +export default plugin diff --git a/packages/cron-in-memory/routes/hello-world.ts b/packages/cron-in-memory/routes/hello-world.ts new file mode 100644 index 00000000..5208d963 --- /dev/null +++ b/packages/cron-in-memory/routes/hello-world.ts @@ -0,0 +1,3 @@ +export default (ctx: Zemble.RouteContext) => ctx.json({ + message: 'Hello, world!', +}) diff --git a/packages/cron-in-memory/routes/hello/world.html b/packages/cron-in-memory/routes/hello/world.html new file mode 100644 index 00000000..644783de --- /dev/null +++ b/packages/cron-in-memory/routes/hello/world.html @@ -0,0 +1,8 @@ + + + Hello World + + +

    Hello World

    + + \ No newline at end of file diff --git a/packages/cron-in-memory/tsconfig.json b/packages/cron-in-memory/tsconfig.json new file mode 100644 index 00000000..0037f214 --- /dev/null +++ b/packages/cron-in-memory/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "exclude": [ "**/*.generated/*.ts" ] +} diff --git a/packages/queue-in-memory/README.md b/packages/queue-in-memory/README.md new file mode 100644 index 00000000..4fb467de --- /dev/null +++ b/packages/queue-in-memory/README.md @@ -0,0 +1,13 @@ +# queue-in-memory + +## Develop + +```bash +bun dev +``` + +## Test + +```bash +bun test +``` \ No newline at end of file diff --git a/packages/queue-in-memory/codegen.ts b/packages/queue-in-memory/codegen.ts new file mode 100644 index 00000000..1e6cc7ed --- /dev/null +++ b/packages/queue-in-memory/codegen.ts @@ -0,0 +1,9 @@ +import defaultConfig from '@zemble/graphql/codegen' + +import type { CodegenConfig } from '@graphql-codegen/cli' + +const config: CodegenConfig = { + ...defaultConfig, +} + +export default config diff --git a/packages/queue-in-memory/graphql/Mutation/randomNumber.test.ts b/packages/queue-in-memory/graphql/Mutation/randomNumber.test.ts new file mode 100644 index 00000000..a252872d --- /dev/null +++ b/packages/queue-in-memory/graphql/Mutation/randomNumber.test.ts @@ -0,0 +1,23 @@ +import { createTestApp } from '@zemble/core/test-utils' +import { + it, expect, +} from 'bun:test' + +import plugin from '../../plugin' +import { graphql } from '../client.generated' + +const randomNumberMutation = graphql(` + mutation RandomNumber { + randomNumber + } +`) + +it('Should return a number', async () => { + const app = await createTestApp(plugin) + + const response = await app.gqlRequest(randomNumberMutation, {}) + expect(response.data).toEqual({ + + randomNumber: expect.any(Number), + }) +}) diff --git a/packages/queue-in-memory/graphql/Mutation/randomNumber.ts b/packages/queue-in-memory/graphql/Mutation/randomNumber.ts new file mode 100644 index 00000000..80b510ff --- /dev/null +++ b/packages/queue-in-memory/graphql/Mutation/randomNumber.ts @@ -0,0 +1,11 @@ +import type { MutationResolvers } from '../schema.generated' + +const randomNumber: MutationResolvers['randomNumber'] = (_, __, { pubsub }) => { + const randomNumber = Math.floor(Math.random() * 1000) + + pubsub.publish('randomNumber', randomNumber) + + return randomNumber +} + +export default randomNumber diff --git a/packages/queue-in-memory/graphql/Query/hello.test.ts b/packages/queue-in-memory/graphql/Query/hello.test.ts new file mode 100644 index 00000000..32e109cc --- /dev/null +++ b/packages/queue-in-memory/graphql/Query/hello.test.ts @@ -0,0 +1,21 @@ +import { createTestApp } from '@zemble/core/test-utils' +import { it, expect } from 'bun:test' + +import plugin from '../../plugin' +import { graphql } from '../client.generated' + +const HelloWorldQuery = graphql(` + query Hello { + hello + } +`) + +it('Should return world!', async () => { + const app = await createTestApp(plugin) + + const response = await app.gqlRequest(HelloWorldQuery, {}) + + expect(response.data).toEqual({ + hello: 'world!', + }) +}) diff --git a/packages/queue-in-memory/graphql/Query/hello.ts b/packages/queue-in-memory/graphql/Query/hello.ts new file mode 100644 index 00000000..49793ad9 --- /dev/null +++ b/packages/queue-in-memory/graphql/Query/hello.ts @@ -0,0 +1,5 @@ +import type { QueryResolvers } from '../schema.generated' + +const hello: QueryResolvers['hello'] = () => 'world!' + +export default hello diff --git a/packages/queue-in-memory/graphql/Subscription/countdown.ts b/packages/queue-in-memory/graphql/Subscription/countdown.ts new file mode 100644 index 00000000..e0cf4d68 --- /dev/null +++ b/packages/queue-in-memory/graphql/Subscription/countdown.ts @@ -0,0 +1,20 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +const countdown: SubscriptionResolvers['countdown'] = { + // This will return the value on every 1 sec until it reaches 0 + // eslint-disable-next-line object-shorthand + subscribe: async function* (_, { from }, { logger }) { + // eslint-disable-next-line no-plusplus + for (let i = from; i >= 0; i--) { + // eslint-disable-next-line no-await-in-loop + await new Promise((resolve) => { + logger.info('countdown', { countdown: i }) + setTimeout(resolve, 1000) + }) + yield { countdown: i } + } + }, + resolve: (payload: unknown) => (payload as { readonly countdown: number}).countdown, +} + +export default countdown diff --git a/packages/queue-in-memory/graphql/Subscription/randomNumber.ts b/packages/queue-in-memory/graphql/Subscription/randomNumber.ts new file mode 100644 index 00000000..2959ba0b --- /dev/null +++ b/packages/queue-in-memory/graphql/Subscription/randomNumber.ts @@ -0,0 +1,15 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +const randomNumber: SubscriptionResolvers['randomNumber'] = { + // subscribe to the randomNumber event + subscribe: (_, __, { pubsub }) => { + console.log('subscribing to randomNumber') + return pubsub.subscribe('randomNumber') + }, + resolve: (payload: number) => { + console.log('resolving randomNumber', payload) + return payload + }, +} + +export default randomNumber diff --git a/packages/queue-in-memory/graphql/Subscription/tick.ts b/packages/queue-in-memory/graphql/Subscription/tick.ts new file mode 100644 index 00000000..ce7e549d --- /dev/null +++ b/packages/queue-in-memory/graphql/Subscription/tick.ts @@ -0,0 +1,22 @@ +import type { SubscriptionResolvers } from '../schema.generated' + +let initialized = false +const initializeOnce = (pubsub: Zemble.PubSubType) => { + if (initialized) return + initialized = true + setInterval(() => { + pubsub.publish('tick', Date.now()) + }, 1000) +} + +const tick: SubscriptionResolvers['tick'] = { + // subscribe to the tick event + subscribe: (_, __, { pubsub }) => { + initializeOnce(pubsub) + console.log('subscribing to tick') + return pubsub.subscribe('tick') + }, + resolve: (payload: number) => payload, +} + +export default tick diff --git a/packages/queue-in-memory/graphql/schema.generated.ts b/packages/queue-in-memory/graphql/schema.generated.ts new file mode 100644 index 00000000..c9298623 --- /dev/null +++ b/packages/queue-in-memory/graphql/schema.generated.ts @@ -0,0 +1,154 @@ +// @ts-nocheck +import '@zemble/core' +import type { GraphQLResolveInfo } from 'graphql'; +export type Maybe = T | null | undefined; +export type InputMaybe = T | null | undefined; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +export type RequireFields = Omit & { [P in K]-?: NonNullable }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } +}; + +export type Mutation = { + readonly __typename?: 'Mutation'; + readonly randomNumber: Scalars['Int']['output']; +}; + +export type Query = { + readonly __typename?: 'Query'; + readonly hello: Scalars['String']['output']; +}; + +export type Subscription = { + readonly __typename?: 'Subscription'; + readonly countdown: Scalars['Int']['output']; + readonly randomNumber: Scalars['Int']['output']; + readonly tick: Scalars['Float']['output']; +}; + + +export type SubscriptionCountdownArgs = { + from: Scalars['Int']['input']; +}; + +export type WithIndex = TObject & Record; +export type ResolversObject = WithIndex; + +export type ResolverTypeWrapper = Promise | T; + + +export type ResolverWithResolve = { + resolve: ResolverFn; +}; +export type Resolver = ResolverFn | ResolverWithResolve; + +export type ResolverFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => Promise | TResult; + +export type SubscriptionSubscribeFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => AsyncIterable | Promise>; + +export type SubscriptionResolveFn = ( + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + +export interface SubscriptionSubscriberObject { + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; + resolve?: SubscriptionResolveFn; +} + +export interface SubscriptionResolverObject { + subscribe: SubscriptionSubscribeFn; + resolve: SubscriptionResolveFn; +} + +export type SubscriptionObject = + | SubscriptionSubscriberObject + | SubscriptionResolverObject; + +export type SubscriptionResolver = + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject; + +export type TypeResolveFn = ( + parent: TParent, + context: TContext, + info: GraphQLResolveInfo +) => Maybe | Promise>; + +export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; + +export type NextResolverFn = () => Promise; + +export type DirectiveResolverFn = ( + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo +) => TResult | Promise; + + + +/** Mapping between all available schema types and the resolvers types */ +export type ResolversTypes = ResolversObject<{ + Boolean: ResolverTypeWrapper; + Float: ResolverTypeWrapper; + Int: ResolverTypeWrapper; + Mutation: ResolverTypeWrapper<{}>; + Query: ResolverTypeWrapper<{}>; + String: ResolverTypeWrapper; + Subscription: ResolverTypeWrapper<{}>; +}>; + +/** Mapping between all available schema types and the resolvers parents */ +export type ResolversParentTypes = ResolversObject<{ + Boolean: Scalars['Boolean']['output']; + Float: Scalars['Float']['output']; + Int: Scalars['Int']['output']; + Mutation: {}; + Query: {}; + String: Scalars['String']['output']; + Subscription: {}; +}>; + +export type MutationResolvers = ResolversObject<{ + randomNumber?: Resolver; +}>; + +export type QueryResolvers = ResolversObject<{ + hello?: Resolver; +}>; + +export type SubscriptionResolvers = ResolversObject<{ + countdown?: SubscriptionResolver>; + randomNumber?: SubscriptionResolver; + tick?: SubscriptionResolver; +}>; + +export type Resolvers = ResolversObject<{ + Mutation?: MutationResolvers; + Query?: QueryResolvers; + Subscription?: SubscriptionResolvers; +}>; + diff --git a/packages/queue-in-memory/graphql/schema.graphql b/packages/queue-in-memory/graphql/schema.graphql new file mode 100644 index 00000000..aea15a76 --- /dev/null +++ b/packages/queue-in-memory/graphql/schema.graphql @@ -0,0 +1,13 @@ +type Query { + hello: String! +} + +type Mutation { + randomNumber: Int! +} + +type Subscription { + countdown(from: Int!): Int! + tick: Float! + randomNumber: Int! +} diff --git a/packages/queue-in-memory/package.json b/packages/queue-in-memory/package.json new file mode 100644 index 00000000..e8c60c81 --- /dev/null +++ b/packages/queue-in-memory/package.json @@ -0,0 +1,38 @@ +{ + "name": "@zemble/queue-in-memory", + "version": "0.0.1", + "description": "", + "type": "module", + "keywords": [ + "zemble", + "zemble-plugin", + "@zemble" + ], + "dependencies": { + "@zemble/core": "workspace:*", + "@zemble/bun": "workspace:*", + "@zemble/utils": "workspace:*", + "@zemble/graphql": "workspace:*" + }, + "scripts": { + "test": "bun test", + "dev": "zemble-dev plugin.ts", + "testing-it-out": "zemble-dev testing-it-out.ts", + "typecheck": "tsc --noEmit", + "codegen": "graphql-codegen" + }, + "devDependencies": { + "@types/bun": "*", + "@graphql-codegen/add": "^5.0.0", + "@graphql-codegen/cli": "^5.0.0", + "@graphql-codegen/client-preset": "^4.1.0", + "@graphql-codegen/typescript": "^4.0.1", + "@graphql-codegen/typescript-resolvers": "^4.0.1", + "@tsconfig/bun": "^1.0.1" + }, + "peerDependencies": { + "typescript": "^5.3.3" + }, + "module": "plugin.ts", + "main": "plugin.ts" +} diff --git a/packages/queue-in-memory/plugin.ts b/packages/queue-in-memory/plugin.ts new file mode 100644 index 00000000..8714108b --- /dev/null +++ b/packages/queue-in-memory/plugin.ts @@ -0,0 +1,145 @@ +import { + Plugin, setupProvider, type IStandardAddToQueueService, type IStandardRemoveFromQueueService, type JobStatus, +} from '@zemble/core' +import GraphQL from '@zemble/graphql' +import { concurrencyExecutionLock } from '@zemble/utils/executionLock' + +type Worker = (queueConfig: Zemble.QueueRegistry[TType]) => Promise | void + +interface Config extends Zemble.GlobalConfig { + readonly queues: Record + }> +} + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace Zemble { + interface Providers { + readonly addToQueue: IStandardAddToQueueService + readonly removeFromQueue: IStandardRemoveFromQueueService + } + + interface MiddlewareConfig { + readonly ['@zemble/queue-in-memory']?: undefined + } + } +} + +export interface JobData { + readonly jobId: string + readonly type: TType + readonly data: Zemble.QueueRegistry[TType] + readonly priority: number + readonly earliestExecution?: Date +} + +const plugin = new Plugin( + import.meta.dir, + { + dependencies: [{ plugin: GraphQL }], + middleware: async ({ app }) => { + const jobTimers = new Map() + const jobStatus = new Map() + // eslint-disable-next-line no-spaced-func + const workers = new Map void)>() + // eslint-disable-next-line functional/prefer-readonly-type + const executionQueues = new Map>() + let jobIdCounter = 0 + + function createWorker(type: TType, concurrency: number, worker: Worker) { + return concurrencyExecutionLock(async () => { + const executionQueue = executionQueues.get(type)! + // eslint-disable-next-line functional/immutable-data + const pickedJob = executionQueue.find((j) => !j.earliestExecution || j.earliestExecution.valueOf() < Date.now()) + + if (!pickedJob) { + throw new Error('No job found') + } + + const { jobId, data } = pickedJob + executionQueues.set(type, executionQueue.filter((j) => j.jobId !== jobId)) + jobStatus.set(jobId, 'active') + try { + await worker(data) + jobStatus.set(jobId, 'completed') + } catch (error) { + jobStatus.set(jobId, 'failed') + } + }, concurrency ?? 1) + } + + await setupProvider({ + app, + // eslint-disable-next-line unicorn/consistent-function-scoping + initializeProvider: () => (cfg) => { + const queue = plugin.config.queues[cfg.type] + // eslint-disable-next-line no-plusplus + const jobId = `${cfg.type}:${cfg.jobId ?? (jobIdCounter++).toString()}` + + if (!queue) { + throw new Error(`Queue ${cfg.type} not found`) + } + + const executionQueue = executionQueues.get(cfg.type) ?? [] + + executionQueues.set(cfg.type, [ + ...executionQueue, { + jobId, + data: cfg.data, + type: cfg.type, + priority: cfg.priority ?? -Date.now(), + earliestExecution: cfg.delayMs ? new Date(Date.now() + cfg.delayMs) : undefined, + }, + ].sort((a, b) => a.priority - b.priority)) + + if (!workers.has(cfg.type)) { + workers.set(cfg.type, createWorker(cfg.type, queue.concurrency ?? 1, queue.worker)) + } + + jobTimers.set(jobId, setTimeout(workers.get(cfg.type)!, cfg.delayMs ?? 0)) + jobStatus.set(jobId, 'queued') + + return { + jobId, + status: jobStatus.get(jobId)!, + type: cfg.type, + } + }, + middlewareKey: '@zemble/queue-in-memory', + providerKey: 'addToQueue', + }) + + await setupProvider({ + app, + // eslint-disable-next-line unicorn/consistent-function-scoping + initializeProvider: () => (jobId) => { + const status = jobStatus.get(jobId) + if (!status) { + throw new Error('job with id not found') + } + const [type] = jobId.split(':') + if (status === 'queued') { + jobStatus.set(jobId, 'cancelled') + const executionQueue = executionQueues.get(type!)! + executionQueues.set(type!, executionQueue.filter((j) => j.jobId !== jobId)) + + const timer = jobTimers.get(jobId) + clearTimeout(timer) + } + + return { + jobId, + status, + type: type as keyof Zemble.QueueRegistry, + } + }, + middlewareKey: '@zemble/queue-in-memory', + providerKey: 'removeFromQueue', + }) + }, + }, +) + +export default plugin diff --git a/packages/queue-in-memory/routes/hello-world.ts b/packages/queue-in-memory/routes/hello-world.ts new file mode 100644 index 00000000..5208d963 --- /dev/null +++ b/packages/queue-in-memory/routes/hello-world.ts @@ -0,0 +1,3 @@ +export default (ctx: Zemble.RouteContext) => ctx.json({ + message: 'Hello, world!', +}) diff --git a/packages/queue-in-memory/routes/hello/world.html b/packages/queue-in-memory/routes/hello/world.html new file mode 100644 index 00000000..644783de --- /dev/null +++ b/packages/queue-in-memory/routes/hello/world.html @@ -0,0 +1,8 @@ + + + Hello World + + +

    Hello World

    + + \ No newline at end of file diff --git a/packages/queue-in-memory/testing-it-out.ts b/packages/queue-in-memory/testing-it-out.ts new file mode 100644 index 00000000..40b07234 --- /dev/null +++ b/packages/queue-in-memory/testing-it-out.ts @@ -0,0 +1,35 @@ +import { wait } from '@zemble/utils' + +import plugin from './plugin' + +interface MyLibreQueueType { + readonly patientId: string +} + +declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace + namespace Zemble { + interface QueueRegistry { + readonly ['process-libre']: MyLibreQueueType + } + } +} + +plugin.configure({ + queues: { + 'process-libre': { + worker: async (data) => { + console.log('queueConfig.data', data) + await wait(1000) + console.log('done', data) + }, + }, + }, +}) + +setTimeout(() => { + void plugin.providers.addToQueue({ data: { patientId: 'sdf' }, type: 'process-libre' }) + void plugin.providers.addToQueue({ data: { patientId: 'string2' }, type: 'process-libre' }) +}, 1000) + +export default plugin diff --git a/packages/queue-in-memory/tsconfig.json b/packages/queue-in-memory/tsconfig.json new file mode 100644 index 00000000..0037f214 --- /dev/null +++ b/packages/queue-in-memory/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "exclude": [ "**/*.generated/*.ts" ] +} diff --git a/packages/utils/executionLock.test.ts b/packages/utils/executionLock.test.ts new file mode 100644 index 00000000..a73e5daf --- /dev/null +++ b/packages/utils/executionLock.test.ts @@ -0,0 +1,86 @@ +import { + describe, expect, it, jest, +} from 'bun:test' + +import { concurrencyExecutionLock, singleExecutionLock } from './executionLock' +import wait from './wait' + +describe('singleExecutionLock', () => { + it('should run the function only once', async () => { + const fn = jest.fn(async () => wait(10)) + const fnLocked = singleExecutionLock(fn) + + await Promise.all([ + fnLocked(), + fnLocked(), + fnLocked(), + ]) + + expect(fn).toHaveBeenCalledTimes(1) + }) + + it('should run the function more if in sequence', async () => { + const fn = jest.fn() + const fnLocked = singleExecutionLock(fn) + + await fnLocked() + await fnLocked() + await fnLocked() + + expect(fn).toHaveBeenCalledTimes(3) + }) +}) + +describe('concurrencyExecutionLock', () => { + it('should run all functions', async () => { + const fn = jest.fn() + const fnLocked = concurrencyExecutionLock(fn) + + await fnLocked() + await fnLocked() + await fnLocked() + + expect(fn).toHaveBeenCalledTimes(3) + }) + + it('should run the function more if in parallel with timeout', async () => { + const start = Date.now() + const fn = jest.fn() + const fnLocked = concurrencyExecutionLock(fn, 3, 100) + + await Promise.all([ + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + ]) + + const timeConsumed = Date.now() - start + + expect(fn).toHaveBeenCalledTimes(6) + expect(timeConsumed).toBeGreaterThan(100) + expect(timeConsumed).toBeLessThan(200) + }) + + it('should run the function more if in parallel with timeout', async () => { + const start = Date.now() + const fn = jest.fn() + const fnLocked = concurrencyExecutionLock(fn, 6, 100) + + await Promise.all([ + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + fnLocked(), + ]) + + const timeConsumed = Date.now() - start + + expect(fn).toHaveBeenCalledTimes(6) + expect(timeConsumed).toBeLessThan(50) + }) +}) diff --git a/packages/utils/executionLock.ts b/packages/utils/executionLock.ts new file mode 100644 index 00000000..a0727e79 --- /dev/null +++ b/packages/utils/executionLock.ts @@ -0,0 +1,38 @@ +/* eslint-disable no-plusplus */ + +import wait from './wait' + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +type AnyFunction = (...args: readonly any[]) => any; + +export function singleExecutionLock(fn: T) { + let isRunning = false + return async (...args: Parameters): Promise | undefined> => { + if (isRunning) { + return undefined + } + isRunning = true + try { + return await fn(...args) + } finally { + isRunning = false + } + } +} + +export function concurrencyExecutionLock(fn: T, concurrency = 1, timeout = 1000) { + let running = 0 + const self = async (...args: Parameters): Promise> => { + if (running >= concurrency) { + await wait(timeout) + return self(...args) + } + running++ + try { + return await fn(...args) + } finally { + running-- + } + } + return self +} From 9144dd3de93ce551e3ad99e4de9d2420f328ae57 Mon Sep 17 00:00:00 2001 From: Robert Herber Date: Sat, 22 Jun 2024 16:07:54 +0200 Subject: [PATCH 2/2] Tight up timeconsumed --- packages/utils/executionLock.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/utils/executionLock.test.ts b/packages/utils/executionLock.test.ts index a73e5daf..0ec3b193 100644 --- a/packages/utils/executionLock.test.ts +++ b/packages/utils/executionLock.test.ts @@ -60,8 +60,8 @@ describe('concurrencyExecutionLock', () => { const timeConsumed = Date.now() - start expect(fn).toHaveBeenCalledTimes(6) - expect(timeConsumed).toBeGreaterThan(100) - expect(timeConsumed).toBeLessThan(200) + expect(timeConsumed).toBeGreaterThanOrEqual(100) + expect(timeConsumed).toBeLessThan(150) }) it('should run the function more if in parallel with timeout', async () => {