Changeset: e81cfd157f64 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e81cfd157f64 Added Files: monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs StringObject.png monetdb5/extras/pyapi/Benchmarks/Output/Input.png monetdb5/extras/pyapi/Benchmarks/Output/Output.png monetdb5/extras/pyapi/Benchmarks/Output/String Extremelength.png monetdb5/extras/pyapi/Benchmarks/Output/String Samelength.png monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode (ASCII).png monetdb5/extras/pyapi/Benchmarks/Output/Unicode Check vs Always Unicode (Extreme).png monetdb5/extras/pyapi/Benchmarks/Output/input_copy.out monetdb5/extras/pyapi/Benchmarks/Output/input_zerocopy.out monetdb5/extras/pyapi/Benchmarks/Output/input_zerocopy_map.out monetdb5/extras/pyapi/Benchmarks/Output/output_copy.out monetdb5/extras/pyapi/Benchmarks/Output/output_zerocopy.out monetdb5/extras/pyapi/Benchmarks/Output/string_bytearrayobject.out monetdb5/extras/pyapi/Benchmarks/Output/string_extremelength_npyobject.out monetdb5/extras/pyapi/Benchmarks/Output/string_extremelength_npystring.out monetdb5/extras/pyapi/Benchmarks/Output/string_samelength_npyobject.out monetdb5/extras/pyapi/Benchmarks/Output/string_samelength_npystring.out monetdb5/extras/pyapi/Benchmarks/Output/string_stringobject.out monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_ascii_always.out monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_ascii_check.out monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_extreme_always.out monetdb5/extras/pyapi/Benchmarks/Output/string_unicode_extreme_check.out monetdb5/extras/pyapi/Benchmarks/graph.py monetdb5/extras/pyapi/Benchmarks/importtest.py monetdb5/extras/pyapi/Benchmarks/monetdb_testing.py monetdb5/extras/pyapi/Benchmarks/pyapi_test.sh Modified Files: monetdb5/extras/pyapi/pyapi.c monetdb5/extras/pyapi/type_conversion.c monetdb5/extras/pyapi/type_conversion.h Branch: pyapi Log Message:
Added benchmark shell script and results. diffs (truncated from 13402 to 300 lines): diff --git a/monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs StringObject.png b/monetdb5/extras/pyapi/Benchmarks/Output/ByteArrayObject vs StringObject.png new file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7d0d34cae0f3249017b7a18f7663acdb961bc40a GIT binary patch literal 97075 zc%1CKbySpH)HggTVxb5qh?F8BQVP<g0wRrcqoj0q*`OfZDJ?BEG^j|YbPY&}w19y0 zyU%@lKYxDfTkC!Qd}b|mkZZ2%#NNL+XP<eaASZG5^ySkS4Cbul12IJm2LBEQgZJ?y zKKxJ0k=K#%51#!!N#&F9@;GVe3qPN-d7xpB!BBree~wsnISOMiS1^)dca>e@7IDrl z7gTnCt-AM|Jb&~Q-T9N%&PR`!cH>=0`|#kzG4(s21K#djxf^`q!bJsB?wIT1ELVQ{ z-uXZ)`_>_d^yEuA_(10D{tKS<k)e=9EAAn~ZLd6Yc4y<x^4Z13HoQ(D`+&PlX?U2w zuTSq>$|{ch_Y<b${?Y&WRT&lWmH)YHDG2jFS6TVso&4{;jR4)9|K2|xxq9U2e?N?# zJ9YlQ_uri!JpG?Xl#2fEBmVah|NDsl??<q!@t`-?A27-%gw^>Fw$}TR(ev?XR8?2g z-@K_{Hju|UF)=YYJ3DK$Xx5k2{OSyum{_VoV?d$ny0Hlt#r2!Bor#gv?psn87CG9r zUOH7(RbM+h<@fgY)9$~!tXS*idFtdz8%NFwyyoWSLgy7-KF^)vuZ@k;Zf+HSwznl` zTEf#FrrcL7wbJo1U|0Wm=Y9ZXCad*Wl?K1l;!l6$V;Ib!KkBb|SGoOcD%`U?V*S^z z^E5OxtLy8b-@iY~RLf6r_}O(A{~YD@&!0aZ?^4{t>ertpzxn9t&<?b8CbQ>c2N@L= zD~<PF0gGOZw!Xf8PQ?1}-(dk%0xcgNrljiCdO2A)KDw#ykw_yWKqgssg&nRj9IJ9& zTPhuIfg!PH)yq_*pBpVN68!b)Sa+rK%Du$%Z{EHQVbiI2(yEfJ8eU}5S@BUkFC{Ew zrZuv4Z+qQnp+7eyI@+|v;=u!7f=f5==(;a)Wh!Te)Q#M}M6m58dt2^~Uyu#Vs`D*8 zQkYd1W@hQ-(ei7ywzhV^e?HVGF$=HSTWeKJle$RGV-=U0kx^OkhWO$|dTMIwVe^SE zukx%y+G}=~1uFYfzT>J~mBu{QWixduv2AgDoQ=~yz7LFz(=CRJCGiO^U18P2hFOka zhf0Lflyzfb8Mkre>Rq(gt~n0iPX);G1}aJk?=Es?DrE#zZH>8e(~F3SLD%S{BUplo zuHAotx<D<++ql-3rPAZo+7T}xkTT~wX*KJYo1C0XCn%_mfA%t6ERS`^t?jFJJh!+F z8VLTm+5YB;-9kUB4_52^!2KS);>!JohJiY`WmyFu26KTNMQ_=Ow6wHl#zYTVol2*0 ze}4is9*K+(4(fCa3@sIo3oKrn`&;8=Hs+6-VQAAlcQ@C*Nzh1|nPn{(>DRxN+?el6 zla1x>PL(7%b^0_%cCGceFq)~h1fk0JF$BzSTO5-<G`F>d`TCx8olA>s<H!1uv9rCq z%oXCaG%VSZE=x~GCk6q}+8`+{9m-|iKV6pl+=IV`G*3pgq9sS8X!_X+>Y&=g1Fh1r zM>iiRC<NWM8dV=IHoexDtriJQm}^N*O>OGURGK;1U5R8?%e!D$WNEw?Td}*Mb*bYj z2J`mx>rY29pUyhWb&HRAZt39o)52grrKP0aeyy)>es=7H;ZUIwF$G0-_z>1IRwkOG zK8MY&)NV!!M{+wUDTx@OmzLI~BQ6+M=`5YCnycMc<vs>+iAKZNxyX5;UpB#gna}lS zlF!$H0ky56)u~3K?X{UT7}lnD6g*<n%Sy_S3*mqMxJ2K4eD7JwIO!18BZrrtALduB zy=BoT6w~6qM6mW}DzNnod)1Ytky0{3!u@?aa&q!Q^8vQ)sX!6K_86{0??bQH(wX^l zrakL3x&qb=vN3d_46@z1%u4D0RXg+9-L>A{XyTWP!on_Slv>5ZENF3C4yWdd*nEFl zY}#`lYdOLIT{_<Fq*XqpL<5Rs#RVY}&v{Bp7Ak&+u4+j9>nIX*tKFJ?iLM#`Xp6Sn zT-2DuRhH&0LuToW-BP(gPH2De!UZ~%(|w%}KNc1iPD5XN=|!X>SeRNPSVIr@SG?DL zrUb^ISf208W?ZS+&7&0Y(ynk`$=hY&;85hY8jV`9ER_%wdueE7BnjEV?LhV@J6^!K zWj4_}kClvBRVIR6kBwP1C+Hj%e-yeAz*{PeIWajoll#_kIJ|9!q0tR$cT#T*pmLmT zg)mu|XSf&z5gAP{LhU+D#AiGCa&K1T@Rqcf@2Ka|pR0{Dks=3wL`m6oSzrnWgay10 zst72!bGr6NCKiW^hF4;vqnThNY#c)|m^)YR!00@6f3P}PKND+R^X;qwF$qcC;Eq#; z!(503u0lm?c_2UW_gs&JR3uw&u2zjlIrOGH*>$UmoYS}|f>o<{hL~QeDTd43BB8hH z-mBAV3;DGzb%Y{0xk^&azb5MFnV6dAmX2$G=H0$ZyY~46&4ck8&!x9Sq@)ZG%VFc* zhdTG}-HRI%<dsxZ3=tC(``Nz%kMla%Ht`cZ)Zj2|I=?*=sps%!3Q#7B{s18D^fkm? zqXtKh9Yg3oT&O6Or&~S$h4iA3$lk9P%N+xsU!3p@3=CYB`<bnlPg=o<zkHmDiHXCg z<pQq4v?pB>Msw-y)YQ~9biI{tq;w=(bCv6QT({h(KCj&+o~7#2(o%nFq2UR26e}<h zd?^|>z)C-w)1)JdXR=hXTe{Pv>w9{7@_6A2u1c(2JiiJ6>{OT&u;et^4`9^q)Q0@Q zxoHzmwd*xR&489#ffE3C?oUolr734BDkj}KZi=fYQO?umlP`#5)5)sN*DT2@wj5Cv zTV}Xdv%jgOQ*MQ;m@(DLbDHa>=X0D7ixYBJ&C{!8E43ac1(sq`$qG}>R+YWXZE;;C zOWD?ulWW{_E1r&y?nx_9D~EC0B_I9m?d|5aXii7x`cBA~hIbSuwk}t+D0yw}oTCwD zQOnaNVrOU1)GjY{SRU1AiC|q&sH&>4pAA?XED&YWF1u1tP%yc)#CrGc-R>L>PSepc z+k`1bfKTYn^x8}-F&P;ngjyuLm3DC{>&?>{$y0x2Sw>}|Ak`dvO=5bb_AsKXjJMo# z7aPW=qY2ZU3X`B%WZdo%-E-yEt%p`)Rhg^+ZE{j!*Ml>nyu7@)BOQIl*S>##VfX9% z-6idFXU~R1l00~I`r_IJ9w8weto1k>5*2V;CXK>W<t$~%FLiZkZX5GX^(}zLLq#SF z{QxP_JaOSdx*n_I8pTh7QIEyMh>3{}n?vZ=e)q@=TwrHnlEhl!ZhZUpEhH)mF?{#O z$D(LbL|5Y`V9*Ky@5|jbvgjBYrSIH%3R9&qTxy-~-qJ%P#l+|G>pi8Ao3g%v0X;pv zIEqIAeLI)|NqEB2+v6CFMJi-justA*(alT61Mly?Sj^HZ&==3Of|OGMn$d^`I9$Mf z%T!{l94U9-veNMfDp@Lm!JQW_+6a$zT<Fi-TpD2}BqYqf6?5A(8IsO;YwMv@CP40- z{yQ2G-CY(=PNi2bUp`6P-rda>a9$pybYK6`UNLxvl%-3!(seyOhSMa#Z8}&&`N@+H zYpbgdb#-;KAX(=J^t}68qNyo@gM)`nGBY#Hz9oy#zhO*J04i3hsi|q{=}|g<{CFme zr}+#FR2H?zue&N(3yoN>(AQ@vvZ6UnvVQ+|$R1~{4a~5Bh^yf6BV{dg7f6Q`N%t#v zTGGrm0!qmWUjWinl**i*HsrD#zKt_!V7Iom?gK!-NJ0{7AOKhvOzC}MYMh@3l2d7a zcT0_4D(vIsd}yWFd~fD_f36mHV>{Ms->ol6^u)~EoGF)A{o9Lu((Ki#5E`l33r&un zgQuF+?d%HIwzdZ1D<MU&%=a}lV{WMB#gV3fz*KE*XlTd+_R9YL{X1o?8j$T<Uta}4 zRriFN#LTFuOGO4ZGu8(lj(hFqiq>YVmdG>BY7c~U(`bQuEgiNpAF1@(uW(zb-cnAJ z3eUmr7c^2UnRF(Uxa-w7HfF2ox{4pi!&84pMM|1pv$rPQm#-&csZ(Osm(!qKWc)7A zD_65*(JC_2x@P-6SrI5Z)z+AU11+q@Ln)>Wn2StcB_<dbzwsie@Ec|jB79f_NZN90 z39OX7yjr67L3x%|X<natLPA28L?E@<)-n!;g_Mje1M)hfC6e8mt0pos((U`R6TNW5 zTt!92;tCQ*IftK=Z{NNxtc(Xm#Ejtc!d+L%r;EcS(rQ~kZN-{cjUwZULbzo~c03Ug zk){sBTL}dJ5~l?56%d80rH)e#XF-#&S56A8ekG|0z}J$Ax_Nhix~F3#QrAtg^xZ{f z)j`UU+eZp*ChmntM5L$7#m5+M=!2NlB<L|P01YL@l=h=DG5?;ZXl_FjTSk~-qSsEQ zC>0xIsuJK(!Os5Lx(h@}YAT)1WHvygle4~-{_v5F1`2C+R`a;&pS_u(J98O{%76qG z!`{!HJ(~w~!Cn?9#q(XYej=-?8W95uB;d`d9<`MF?|MPiTMVncdGls|!iNUCJBYL{ zX<e`ZyTDKwS*OreT;F;NDezElU!tIEVZ9v%w}k@WoRfDWnV!e3&hcAXC`ChDa21Yn zeu?eh@O<ZLoEscvnf42~^uM0WUc!c9wl_ztRiZhJEX=$?6!ih(S&Yeh@2&crCLnNl zqNkFti!&P?&~=wp+pOLiD=L@m2QbMFp_ewhRb5@(*B;Bm8o{-{ua>KshEGUsvF_|X zpP7+^y;h3%K<-fYrqkXZTeyc%?8x-QL{hqJtnvDRX1QG&Te(>)GcT`tyok3h(~Qee zI)Nb&I$`?fz?m&y9mvxO1#UEL1vSLsIIo;N1F_?ZTZ`kfw-{6P@Tg+Z!pdmXfNV(x zRvRw-{HCq~sYMXO?B@MB-*VZ3S#F#6%K+N3gT{+MN>um|<b_e!`@2q-3%e_|17kc- zx;|M%UFmUYs52Te2Vy6tre?FQ-iWYLXEZ2ZYUDKOcmU~a)cfIKh3)sH$2Tw0f$tlM zeEj&aVy-6F>RNYTx*H(;+*oy`p`oF=e`sQ3sBcrAPNhTL^J0sk?ujH_f5-V=$<iu= z#&far``fdLNJcLF7;GL31VM0{Vsn0HV`1(43qsBP_%*kV>uGefwD%a~6Ie7fG=|-P zB2ByAKP$E#*Nx$^W;1FD`_?C5H|^^%-^(;`>U+L+Ij!YzaWG))T)(@!yL7eNMk+WN z#SA$rKhfoQKKuKni){-pauYl^HE?T?P?l=@D0$sifDq+{Ho`QbMGp6rfOqJ@Sq<~Q z`27B?K!27BbEab2+xl&Cf1jKdX4Ht`;!G=CneEgxv{r89b<^Q~z~){8Hq5cXv7H)* zDGb8KZ1&Ekb$_9ewCT6xS9tjN^DT`H4J|+!bV5Qx1A`!CB7A7P1}(-BRcaPLxr&+& z;#1)E;ux4F$JX=#4v8=p4Mm{Bk{Pf%LnY>svW_RtUQXSmn4g)U=Q8UJ0=fJEqPe|h zif7#8+Dg^BT)?e$yWGKQ_fjN0<l=af{M100oFXKQ1T`%Mh~==PDAoLDb;_v0pS-*w z@s`2s-wOls&dZkx@K2pP7xC+t4P0ExYpAKM9S8D;e{Wygb{`M(Ucuh>C_V<m`|0;` zFSrm*mPh~v&^~=Np1ZwaOiB*URFL$10|Ls{xQevOsS<E7+=M>skgD^;We#(SxY-lu zC>0PqavHaFg}X20mi7Ys<<!U+85w2zP`f=KOVKK|G6O|^1N^NTHy4)*t4>AlV!%Xx z?ZI&R%5Rvlxp`S|Jo@DzQO%4zJUvzP^^;{+WfL*Cyg(RbUKM@)0WQ`AL4T-(vUUd^ z-}~|uNiQ&P@ul>}*Q?p;1^V;g3RUc9J5<aE@>D2ztdv2wD**J=SY65mCHw&*Ad_dz zMKo8pS`!3eyS}@UqGIpci_C4Wec{Ow^=sR%f=p?>kT&_u27AhPb<uhT*#Nv22V0Cy zqp~5vGEEXaRZ)yr6h=o!n*k~sJA%J{bZc{>&c|`~3!%u~`|QXOk}Jr5IL<8eW~M~2 z>6qC@VRN-gvp{;xwGdKpx0x-%+!tk3Jb(VY7ho(YBqYSa2sH;{r7tB=I7{f&uR()A z(?si`LUDLy!rd1pA)DIf9Vb9@@p(CGl~@cZmbNQp$PFp4fYPnVF!QgK$L8d)^u51( zOlR-z3;fJ#_pO-lYT!eJMsAaD7>gf2w{z3~OqAaE;`1Yg@Ea<MiJqI$Z~gr2Te$PI z%aivL8szW2di83?C7#DKq>X%lD~;0o=vNo56p27p_szv`;hk-5pk{M9+!Z^!9a|g( z(&fX^;)~^Y4KBw5?15&1{;T<KDL%_{ROa$e0Wq#aZso>hWMuR)axHGOFz5dqwpcP{ zG?&K!_3C+U^r_tt7S>f02GRYFT1Zo^e`G|9O4wtNWfNdmMOit_sZC5=eC~iX2u2k$ zxFV@dP)MlHzEdb8fJVehl^Z?{;Um7ivojy?3IvzNyIPPSMHxA6Tg#T4)5(fb@q(_3 zvLOC>1Wh-&mPX6%hqpKb`k+gcomaIEaYrzps-OO|#H1h>e-~R-;k0D7en?rnx7J!w z0V1unL=H$R>tV`kRYp3xuk(M_B3^qIHo|=zHyCB2g3RMVmgqD}EDe|BIz6FqU#%x| zjA!m|aP^*zcXqG@SDbIL!xlk&MOavP9*h!pd#ljF!o|%ki!sqdQK!P8IsKBUsVR4O ztJB1n<GAxQaHAqkZjrzYu%Tl~`&MVB%5?+<1(omJdtPss-t2#Z+U3f?Hs)Y|ORp$E zN$d5AB5sx-`oq2Tz_qot?iS%c-(QrUBa8?RPC{O{Z*^_0a7QOyJ~7W+I-cLL_thCP zyZv)M=cp7RCb3aBZ&L5n*VTzq5HpB)f|09OS?$-d9#Xb$31g~oTNudaVJ@;9;npEH ze`Br$D%|YPuL-_$C#HSBeihU4$)4l7#=;^aw7Xbjwz)WD23#@^I>&W5A#K~%V#a?V zM$uLJsl!6QEI>6w;~yARzdSh*O!h3+{5kQtl6hduOdWIR?|?*iED#kHwR~&o2ZT4L zuSJp2e*1`GmNFBU^YW<n;aCiVdJg?7+30hjQK5iVW=5W#o_*G}`w`}QV7KS;Qm#n^ z6ss?T4mDoiRj+*fMIEHU&aXN`6_9DH431QMsu&Cgt&6@*tzx)C@Vb&j&3kjmgp~0P zkJIGWQ#c)eNa)rQPe719OY_OEZ&X`<&>snbfy`3N&+7vlkl*e|#-jdyBri?CO19L< z<Ai-Iw`ER*5D*rd6Zk_5v(UMk4-hIilDrsd3UDiYa>Gk3^1|DxSXq#b*)t%YF5i9< zlsDQE&P=t>Z|vXbyY=grLWX=IR=uMvlqaM4nXKpUZxR*Q+WpOu^8NzGBl>&0$U)LG zGLH1-0Tca9u=wbZu@x`i>~M-!PfyR!*+MHcIyw``z!*Dr@znXA<}Lug4;-AF_PJ`6 zPD|PXsU{t9nY-1hxtd05BWqIu%g`5Q5fPEtLo0BDT0+~?q4Nv*wW?qwoh)0UPo0;@ zH^(|%iM3+SIMpLd&KM3zl@l>i>s@O_Asci1AvrlYw`JWQQ)ctVkvAla4yzPgW`^s| zP4DJ<OhkRom8f@s$TV)h96K4yaQ-bByVWLLG(DE#4or61uE6ghlf<E3wzRP2=3-)c zDRr5K*o1}6wx0A}oU0^DydGK=v>~v63V#RkyZ!!9^=Hzr8z_5wYur0GB3mgV04>7~ zuYG=TVy08%u<h0+0@3QN&CQ5!DH5~QpGkA{YIT8d8EKsxs}4YVSmf;jp3XIFbXe;8 zpkVo7cS+FYV_#vq{R<1gSbcqc3o9)wbVUlNYAMgeqAluHH$a47{YP=Y$>J@5d(~Ou zrp~EmhuDLIgL3SMYMOLp{}^*xPDitT4j5MMMjBy{vSk;bjcU)cZFhmitVZ|2%Z!X- zFLRkaP*;z_TFeP*RJ)aEm)nVJQFB{F-8SoO`myQi;__g3bIFn|F;OalB{Q}WynBO% z9Es8h)-tpwL*Bf#Q*hnC-mcUN*UhR2+?9tVr+LxQou?x(RA}UP8#G?}8bnY8nEcir zc@b97`C$??p30lcxP{+NGwJX1%!eR^t?V_X%HIILgBPyX=bPd)5EG-lc8#@TfAYig z3hKAMvIC;QmFspx$zpGaIc&b)vD}71EHr8*9ifOqNol$+u9BtPY~hs^CkPH>csDHU z!Vm<7M)dajtoaIvAfw@8Q>T)AD_jNfg$ssiR2a-7DwJ`fcOX0HZro^@G_QMoc5TGE zwmDhc&k%CV?r?u=VV;`b;Q_z%a?Zjik5T7z-)u*GkK-jU)dQ1si5(wZ*NvAv!SJTR zeYpoVz&y%oyYKy3rEH~;H(mzabPS)Msi4aCIUR_Mfg?J-baZr0z@<iO)6J+KbAtsb zy+Ak5U%aRvAJ+qo(H<h-+}x}>b+LEV&}LHXV~4+yWVzi;s$?j`@LGXEBONDa4^sgc z)I3=k>zkLRlYFQPvukW;^V8O$7gD8r)1mUi<4yOzjx~45GK$df*`)$D$NvOA)d-lC zylXmERgP9OYIf$Cb!I)SAQxvq>VyM0wZ>Z4WIA3SUjPKi(CSFw#q|PWmTW;(b%TQR zuvB}9=7Q}Z8?D{<Pe(H9xerQ3Vd@uS9*zAL<gR9D02cspUNQsvM{1@eoXUa;G6nzN zy_{(s8=H?n$)D2;!BnC}|K^~pqICTHnqp#Xx>eVarOMGPY0-}#t9F-$PtQ!&`_a-C z>erv%{@o*=2H9Y21jC>0_>!CepIpEx=bBzKgMjmL?^vRMb4Q*Wff66?v)gP36|QCu zbVr`E$vH}1g)y&POG`Z#oeE`L&kYryk=fJW*(*H`wr2~0jdPFTRQViV{}@=kaQ^&z zEo}el&y!Q?_%H583ff12-Zqc-$jr>NTOQ@h1e2REbvcnyim7thn8#>N5J}|Cv5^sh zPI=aHP2l4+WQXE$;DLexs5Jy<LqkK2>fc@*w#(P8PW9McBb{<u8PfsO$rB>7nQkJ= z)T^yQi_>U1_{W@cGc!9oJ2_04KP8_cn_dkIh{dq|-K|#Ol<8j+b$0tZj@h#g!1*44 z!y#c|bf79(zekV>BXh!<k(L%6UT!<}I&Z29S~58^GkVCy{$U}>ce-`sqi(fZ#Y`xp zJU=~xSjXnD<7Y^lo*zF$8DQcjd%Fhawb-<$VPX)2`NZe)&&qBWGIVIL!mdBOr?s`- zDYCGvdHcu2#8t4z-4RMkN~~iSEh}nZV7jrET8vn2c7bP81U%Mb#XCbFTpbcA2!jn| zQFeey8eTit-;M8o7CH`^((u#MBWqovgw1f-qMX+>Lv29D-r_H5nZ$`m>Hlg0WO`X= zC4BTCYBqJ5jIgp2eCvX!dqezF6KEYE4Yak~NJ91{k>kLGSJC2;x)s2V-R`EP<<Orp z?u(Z$T|eCJ^mbT4TSocSn=!pP8cJEpnY4i-2W2t|f*Sq#de*jjWG_K%w|snDHw_RK z4(d)C+(;aFW7T|JR-kcgu~}b>el;LT>+7==r^`xS1+t3D);BcFN5lvJysgrk@00#U z%tVI}c|!1xa&PGM53Em2EhIJJ9@8AbJT(vgXGs@X@uJ6Za97KcJ%om!yM_x_FAWc& z)%?}f)#0@>>{Z`W`!$Uh%BHYQb8n7APsPOU`(L_BO-)^1BQuM=`A+FlT6(%vqOhlf zbBPJF7B<HLV(NY%HLFs(OfYI=mP)oE*fb|X_b{5qP*WcbtGbvWq<t#nSV8j^b%>kX zjE}sQks2oy=bE5?d8dK5W)8O^-Us@<zOz$a3(HLqvHD95Z6cv1<V#z*rDGwdNEp=P z7Oq0NqV;vxEu8ZVxSa^QnU>}kgu*|2w;xenynOjapx~M>8d-1@^dPxHC8%A$=8S?~ zTz=kvkqt{gXyhjMqj8Vz$dMzHOG~+|dNm$HrlNWAytemBEtWDfs;=J{5bdeeN?*mz z#GJ(3dDw7X-9`Y$22h*sECn~(3$Co-!zg@kTpWCe*10XWyOKmzTk%hvkRGq`EGcK{ zNDyKMbvPg^Cg8qlvE&IMVd<tw%ii77Q?gZJJ`llPyVpIT-p|iOOhRG=n)X~H7Zxnz z8-ITXshmBug#ym7FV}rKSi%sn9I;vUhFxsasInKOe7Yz*<WFZFx5he<{z61uU0po! zK-ioDUrkMo+#7R`1Yh61%@J!S*{%eNsdJy6M^U`L@@IRy`O~vwGuiny#KD!##mM;c z#I+-V(pX*6+$jsvMe;QPIc<?~dx%Q5YBcUv0_(MFqTCjPS17nGf<RBSg6B?=zFeUQ zQ){#_-?!Gr+4(a>6o}aVarWDDJ=>mZQ&pg-LyX&FniGWF#io}PjJyx`ONRs>1>B7P zvs<&f+-fhQblg#BaUeg@pPaK{!UZ1H#~RBZHu~>a-#?0HHPaT&Ieh4`7AT8pieC*9 zpe-LK=QD1*gfkqo|Izl1Kj-jZ*LoWyS#f8A*Up>=&1uG)Hx**5fMRh!Too2qrvgPZ zDeG`Vi1vltH!lqH5qEcYw=vK`W431EoyVFZm-u#F%zDz_EeDLk6%VAO-d<qW6_j5Z z1<hbp?zy|^`qt##992ihWz`1WfX|PDAnl|;?8FfZ2zbfJ`1|rYM^UM{gF-IB^KHUq z2>Fv-!OD4ANrH=*2Aqln?WGMIgxDbrp3nr)GXqg#JP-%cNGh7c=roRmG&nf80`CD> z!_hL^y7b5ImyObQ8#UyOqs&IIxe*wma(C8N^P|&1jHo=oa;UYHS?@>rbzhX$jIwdt z)+c)YEIY{JVcvhxKgm+|3M8cDojXsFY)wv1*2Ym{u5-w&ykr4k5-<bv#0>JTFJd51 zhnb8``#e!Fd(EGFS}ULtptV&bT4vF<M`zb&S}O|v#MiqFW_|i}=gr%<g$rDsI}X{a zr(=(uIQR1h)f0&38hR12IB&slCZ+qAd8~3+85tQ{fwI?o@27<g;g!Q6v?$4#%Owiu zR)c~M3JN-(@s%rH>+6vHw@dQpyjCa0C1qtD%{<i5LJfqAX)D^7gqVNRgcJBf#;%*= z*`Fa#Q}nVhcYYwB9j#Th#S5qbcd-uS>qRDd9}MLvIgM4h+QF@Su)%saRI&{FC)|O0 z$x70HURTSDv)Tq1x?LELwjv^+yHT@IApE;Jju8cuvTFYPL1It(4?LEe#(n<dMn75A z+?QL=L&Zjb!CVj|zG8C*Rc`?O{pvk|8Eh`@sgF2^KNavZCx<0kz&VeOfnk1mdS$36 zLpe`-D4jb>w{j`kX2j)sa&htPB7u$dc{Gk+-2fz0LG(LSH~5pM#7aMcv6G8`+85oC zD3Y($VJUpf#Ab8VP|&r+x5*^YGh%9wt$cf9K+kdZpS^qct>tr#MGPR^Ku5f1<*^vN zIq)(ySH@@2Zd0s}RkOHj3@CSQ`CO-8l{Q6O{T~-8Ik||L)=0l5oMHTGmr8o0jxGeY zHu!zkhYufC*x%&jRN}TAo-SVE^;=z;o|!S?A~MwOxL9lSSh2>#73bAr`lq?-C-iH1 zWha``#4c`unFk2PSpMp}%UmrJE_}DBzTC{XdTEIWs15LWAi{ZNY^iu#T<rINDABHu zPjO$h*SRB@M}%k$O*#|8+uCHB+uC~H84+TdqUUg{*wG<j!>04Nm$~B}>+jlPdF0VD zzvHHimlc0bu#mhh+Q=&vH1B7LT^OG9q4DZ+OxOaoyL<_ROep-Uu2o|<BbBuH^};Q0 z+7I_$o!+jIHKCCQSRQDfMTz3$bGE{DJ$(oZ@E^<0qir!-_K;_yk~5LxmXJIG?2L2e z2E(dTjMvt_{26{9))L8BWyguy<iRvlr%O)gtx{wxJ2zZnUSr|?vn#2>$b9|PpgAZ% zx$XGmloZECOVC=m5nKmCI;&cw+zp~v8@_(!wd|lZh)76qpLj*)Aa65h(4V7Gu`L3+ z+UVE!&#q=EToB_uWA1Kl{EksKrp)#4-+ygYlUbFeU0%rc8C9=<4X~54nBsfN>x033 z1aD9lUo|>&3bPdge4)tm*b;I(FJ&wSeBlEzv6om%3JPWrvb_-i&`<g&Vn}+L8$09p z4D4~jo;yG14_CYoL(#T|wuly5AG!L#-zR%*Ys>l1o0C0XB_C7axBl)}Dl+LD)*kqF zRXfg8FdSr7Lm*AQ7LV7SOJ%5>si`T4%dbao0s{K`RWcRpf4s?CN(u`B*3tW?CIan3 zvU)vv@&Q$EXa)HBg#tzNEc1dPL|dOl8-RSh^ruMKw68Y?(v<S$DYi`Nbi0;w^Gatb zrXdM7yap}`)dL~hW4d4=#Nf5Rq4vhlugH8iJv1S9nM49qjuiA371_w!UyzCB5HA%3 z-;!<gZX`iZRQMu2=+gn#!>!uGlFTs(*~JQOAh-33j5}!i_XYmhLU*g|cN9D=@Pu5g zEg;5Ns+5jjjWpgr^G<p0{0;^a$Ip5I>ejJUDMKzCEgMqJ!jGg|DXXqQ(b1;ZaXb6@ zUZ!%VrI?|er%y3U)y#P?Ll;#3DbZ;ht?|@C)gEAp`*Xcls<$kbn_NKMJ34=+aK<2- z%iBb<&)MV`2&1+Hv5)D>nTl)O((H5nXK94By|!n_V&_c^4Urg5wVi4(77dCMbX9cD zFz-wdsvj8{NiR!B<q|ltQIY-MN=b2yNk**^lXG*KtcSnq2+Pl%MO82`)?wm)q<mF6 zCe-q@wE49M6;_MLh0Z}XvuG54P2ah7>lWB3b{)pjjEoEx-70mSI1MX{YNn}np7Aiy z6y~kCO6P%gqe%i12AM9_&S*{v2AQZw_7o|}$*I5{#_LJGqf23&)cA~CTq--8OWCsi z389d9(iw8`({+R*w|8?M*S)SVntJ^0bja#2RVgNNL6?u*d;Woef&Q0neM#rdR?Q7@ z+n8?#aJCdad>5JqPDiuE%t)fuehY5!pgo3b2Io9p!pxTv7Q&>I-UJtxIEFK;b=Y3N zIW^9C_3B-a%q!|CxUVGgf=LU#dL?Em0g^$0)J<VbN@#E1sr@(zQF4tko22E-mB#It z=lZfEWoJM5HaU-bGFH27bhoc`=W6k|uGW)TTKV`|4txbyGEaN~nxgBy?^uZqjRkwX zaB!cFo?bGLT4;K(z<|3?UPdMiBxsZ87S6=BBQ{dcOJj@2dv&s&!=S-mdn!F6qxJV( z4{~6n-m&;+FF#o!q~bTUcRzwDn`Qdc?y<X6+Vbe;2T;M46-<~QYY>Uq1o$sD=eyJV z-oAaS7|UbbUk!5WJ*e~C2o{axblKQ+e1c2wj~+Yb=y(?Y#XQVoOG`^(_E}W4;fMMN zu7<U;Rvv)E!4{v8ItSGvFx!Jk+W_Yj+gEKr8(`L#6|SKL?MVeeoW{Yy;V@HFSl9~` znu$^!TujN@KP!);U*C{8u7aRqtgMYJXry+RAzOhYxy@YUx^Ao!{pt+aa5dGxJE2Z} z-g~Q!jvFJzrYXQok5rf8b`Md+-O#Nn8>&I8c0iw{=9L|S31N!!V575O(v5EkIL@c4 z=4qSWS_YG@VrZBOaKy7K+><U_WLk-&;JmAwTNY@?EE?~<Z<Cvwi$f`Hzkeo;sDhvF z11D(SgI(Ou)pMCRUbO$M!qI%AmA&@ENU3#fxQOdoYK*XFh1s{{SE>i$YPtoN1g>8F zY~ii;LE&zDqKF=@%vMy5TS!P}A0WUCum_a~fREo8Gzg5Yukzf*f`|xX`vD27Y;2sK zHwsRsuflP`ZbZkmyVz8z$kXKJCFR3|eaiqMBBG?eGw05!B5O8WZl5v4CB>A6Hu872 zR`N&sAw*`2SJuH`MSDg9T7N+MG(gMQ%xZb+Igvp@?@2-82r$6(udS{&Z}6xWKMBs0 z1AW;$?tPfc92y*)<g_@L6hJMMrIk3apvgUT>Dqn&kD6@kBb)~#!6PL$pPwH$t`&uB z>SavyNJgN!0r-{)(U*Dm1%9+nWT76gb7`gygf@5f!pcfMgIwH)07^c6)dSFz^Dwi@ z@dD1=*=pIUtf-1%fxGCimSq<ll$oRZn>TOFfWC|m@1s=?*>QQMeLk?=!3IM;8S=4~ zt>Dp6=|;S;=Wvb(h-b}ew-UGc%#5(a#6;}7)KogZRgvv!lA?XcRS`dLd3Nox_vtdx z$#B!mdLfrz?={M|#@yw}@*!P~z1bC&l=?tmD?2zi1dP*w@jnIJhiZJ6kEh3Ty1H&G z49J7!9LC{GQ$6YDm#|+4i62vcLp3MLY`8enY#=W_OD#WP4Z;rp#b^C}=}5Lre#d$B zJ+Fg<gDlBVhAhhwEZSnq5_>~T+8WJp2R@R!a6wX1()MSikyfGM8!LC@$TgzB1YuBB znns4bQ=<y-k_s@rijB?3`h5%Yj6`~f=fe80Uq66m)!3`{yU3hw*83qzv(zdV6}LQp z{+uOZeQiw<K2+oy+i>c953l2V??cPs;)fFx6Qo;7fP;W`;q4=ZTcsUMO$xw21%txi ziB)R7Jo~VgT74fLUb}ey{G$SGx!Pth4Jr`$tPNIO@1LPwnsukXsZWhg!}C>)2;~L` zdqYrAyTo!tRV7bbgPg#bL~DD_kG<w&nFzPl=o5Q_sSb@PwdN3d6|ih7l}<~_AVFBE z{osSflFzC>I@CnhfId<2BV|?I-CRQdI-D|?ip<Z?*Th<A<c-KkN*1_`4t#hhD!^VS z5FwlIxg3LeD3xiF;L0#C{^gHK(!Jw2>xUU~RIwwQ+p~%0k`g_rFvV=NtiTLcQG#}c z&@9#4fml^2C@A2z?7V$MfA2H_fin6Zu)az#xoWz)y2eJRG--LX++cmHi1A2rm|`rq zWnqkZmO|2Vv$3l3ij|sOWyp}Q($Z3m=s4mlQcPT+hqDX7{-TL0F^`&SRXj?^&p*7l zGdD4jG~b__J&d)?j^Q#-_we)#|NIDT#um8N9>IKHe(?04x^WwJoBKym<utdWrUu$4 zfX05PU;q8P*kvF!_w_ld81q>B`K~hCsn=+akaC!8rX^g-dw(O6)O>3hSJAn<u`v5< zt0f{VEY-uq!y*24Iu+xqtEly8tCe0lqS$r(pN%{Y4#m>3F+AU*zzho>>oH~Ps@2#1 zOopA=kO5{8E>4!6nn&qM)ez2s@LU>>NU7a$U#T`J;AAgF6S6bu$8P8E`L~{;a?%Ze z(s|6aQNId^BMb0-`f`f>Y=_g5fIB@seRMoYiTMDQxdHM#rxJhAJ{RjS;G(Nt?WO`! zNG_aRZ!BqwYqu|1{LBWJzriXTP{~j+;VAtP{e_ZWB8S`ZdAs$kt<q;HxMhHDWYJoO z)_9?jbnHlam?C(I8!RksN$cL=TyOC44gIj33Bxom^;J4sS6T~x<T;Yui!)aZWss#b zGXOVeXE_DzQbNIN;rZ(I>#Q?mZ0i17Gm(137ha&<#X}!HP*T^w5a5gEvCGTLGd)ax z`SSH^DX^?YZBe%ht#JH&_CNfG=yEp8y!I==e3`Wp3jcWzs;Xzg1)??te!9{q>GiI$ zmmAD3lSYC5D^wl?5+!y)`z%^M1|ZVFT10Etcxdooy*9Ov4efS05Zg=q+1-@}M_dvG zVz<z&?}iR}-62hiP^FCSH2r-be?yS{-ASS+vI|7--J3@1Pym6gO7cSCvrGKDE-gQ1 zXBmONLP3Z(flg>=aO0Von79gn6OPt5pB+1q3W^e@_s=NE^r#%o5-EP?Wfp4ch{K_! zg$3ri*Jneg8Uv-_QH#S7x%M+rF*hGSkK?nyk1GE%6_V}+7*$tSr@`E=4VfgO63%JJ zw9Wz#$Z52sz+pWmh{{Cz3_d@)`2al9OrM%wINY*zx;d0JVtsu*6o4K{Xct#kjdv=^ zVs9u%!qw22)Ovg4R?HWsXNS<rG@tus&K}6<@Q)vFW;ecU!mTI+H$-z7y`|){6N}-t zj2Xy(PeMt_LgV>6SWH5q72?!raj-zK(#bNmLq|_f4^_hC=vHfPF5}F()uiR9-F{vj zDzi<wZQkEzMviI#2X>y<aPt=mN#sqT`U6T~4|OEDOaU+O@bG*A9+iQv0eqOOYqrxV z`5hjBS*L@f>-q7XD46olShKspKw_xWIuR9S^E><uTCi2m)8-==ax113aFP+;`FRc1 zRJM<B;K<Mx5y)xD?X{WQh<v4t0FN!4^BO1yU&tq&@%CVIeKdxjo*gUn*tRnrukj49 z_XI_Njv@$djoKqm#wZupRPru3ICu@xqzQ)Ge$+W3A)&j(TulRLBTm3s?uJ^PMZqXq zO$Bux+MA`)YR1CO&W;;3!(c`i2&9I1*RLvwvHW|0g9&UjM{E}<=DQ$`$FFBr`ZJKH zEuw@%VY6k<%cH?m0!~e<Q;qaYOp*XvY5MhVyMYl*2R|mYQ%QlZLS^QtlosvcKqjLD zCBQn!H8|B*M50AZR9y-IO@i`Bucqp@X*XTtIT?xRfmOq1xbqBJ#-Hn^FLzvsaB+7> zb)mh0@2CJ3T%6qa4``1eU>m9{F9#Qm@&hfPBW!WJepvv>`{k=wrmd*;RU7?UPK|t^ zyeI`-6wv0`ty>QP2T`3Az%TRT$B&(y?_I96n|X_}F;BPp#z4Lv8AJ*yy@4=8+YdSg zlarH%fZ%o$UylD%W_v?L3N4X?6$k~x#6NmpO;SoKq}qL}1tb}I1n31+f=o<IOpA)K zQtrPyYOQ2vSBPrZJL34RfqV&xi(|>m%$!_VVF$KTtafuW9V#>mi2sV^x109e+ZfP8 zmA@Jq8j27-s4V|Bq|pH0W;Ha@&2DX4l86XNpSBpT)(Le0>@f6raF=voKtM#Nf{;)w z&=*G&qjQQ)%gD$GomH5I03oKKVTXxA_0gx!oCyWJFF?5kdOB3kYg=4wnZa5~Nogs- zc6ZYfZQnp1NqcxyIqj+Cs6YJj<;$8wE;^8bp4J@7NYBP5hdK+cR}pg26tq0d#|Wh~ z6Fu;CC^%nfaP}@PE)PJW^k%EcqiUUu1#S#x`8D22Z8lC$B@_;5A#`w19qg1p44XJe zqiF>nwA<h04XB5T*~(#xe0?Eyr5F5<EY`11M?n}!f&DC*87eYq{rN3LXOI@N%_=Oc z3xa`u*L#W#@>102oTF{_X&=>G&E~Occk$_ECAlGQB@E_Mb^DtA^c}V^#Yup;xw$!x zN1rg3AI`fQ!Z-mXu>gif0z*c7>Q=efl5-gP$|MTo@+u!=FxxArIM0y<`Q}%-cON!F zTXMBZ=Of~88D4t&Whqo%_*)1KS_(Qr<Iz>mdV`Xfgv61j)>a4)gBglChIeio;IZVE zDiygf9jJY<4_6VEux&r4WTvMVN4t)wpiR5NfobI(K8CkFBhf3XdJA9@oxS<Ub$y;U zVbK|)KU&1Q2CJQ;ehVo2-5D*sPej05VXcwuvzl^D^k|(N;>K(NBtQGzyLY#Ts%Vin z3W<nFXB`pnCc$8A^aPI_tpo!r5y7T&Bfn}*Dq#}s*B3sn!zU^i`1TmgM4Dc$mtv+O z{hPqRNVG_?x4n)InRO(Ju%opJpk9smJq}vhdnkEmlj)^9;sr9^QCZ!*g#30}PgEi1 zX(c*EQrT+vvnxq3^MsGB;7pEDYXmBHpX*9`@$%)%2ap?!xJtDjZP6*Qx4q!Hwph%C zyO1{_#l^SLDX~$o#t3Lo<sT|@4^s>Y3c7NFkUA{UYey25CiH=KiDM(TV@F=44g8eb z<{|<!Vry&bHvs`?)zSRWn#s<Y_?JndXa6hK;~31VQ}$1<sDT;}FSnnSLR(tGo|?#l zCK6KeDxm5w`>Jaa0S`bYh%wQF{YD2rUYsE0W_Ct(m0*lfotc;zsz!DNd%@BG>{6j! zX7hQ{WN2il%C!jX=KgRxieXs*bDX17iOwEG5z+{=oV|S8#x`3)84U&~Zq>tgp{%!W zD}%3ZjQ@UzXnJ8G+uiOnsZmQ<F!)ZKy*!^`=SEa4<XkKGC>;#zQ4B`>i0GrMYN%3w zX{59ju(LgcCLjttCb!iRBswdDh!~>98{ovhMTqSE63xB^8N&?8PpSvV5)vIPxpoW_ z_Z_5<rb&tK15grkIj`$@6YL^K6jDI<qQfpPrcWq{4ROYO{QM}0O{b!18CSVdKJCLQ zC?rJB!4Wcj0)y##e3E7Q#xBiF!y&Kp@6Sm&IV>7Q#_zCud+VLE>cS8lh(jgi<RU<6 zG#3~&rh4t~oU^3B1UYk>boA~ET>>OKqxB*=V2a6EUSz)*9eqP3QfNgB9kv2wq-SA~ z0ky;o)^-x|b>8@>O&9p^X)yI6wFf)W;2ddJS65L~fNN5OtUYz|WDvlO6xfRCZxS>} zHK_3n8KFwmV<*mq88ik+Iye+#0}+&i0ExI|(12<;b#O8mj6%~*JW@&ypr+{CrXjwA zJb3+pA89ZXw02wHmLO!c7k)3}w4`G^)|wgDfU^Y#&Hg*^S^fO#$M5GQ){RkF*XCG1 zBOmf!)gm5$K8lVU|L>5e)`O?-@1XKFcfB;Ji?Q>dC(Tym<N0TPbN_c-bd>Pa`3oO@ z{(SQ94qcXk_VQ%CpPV(xe^1&E!rXl(B`4QEw!6JOq?}>c95TGCRcggoE&Ja&(XFYO zdHnBVXvcS{8sv+tqkro~hof|$_aWO1lr(^bSASi}_<JmMD<V9c9s-0r+;h2n7Ovv( zrodCbdlc{Z4Zte*mAN@nC90{^=eGNMq~zpGoW^ZIsi~<)M;QJdSCunvi@HjCj~I^) zeFoXt;az`!g4p>>j6(hkv!x)D(SFh;0{l~_Pq&opRqx?FaC58p+Rz{c3;}#!S;5C= zXQZ|6KGG4e;_njBV3V34<oLGx)`FS1sh+JDnT24-N^<`7CFYKm=kFS~b$(w=^Q_<2 z`MAnk>sOOpoX=Z(hC2a%`Sj^i?FDUc252)KNSE%;_sgekK0&M_rv<qT8QAp04K2>j zSFbiuaQC5&jS~Kg%&HE>%}!|bgf<zt<cvkEII5`)^ZnqtyIEerRQ`Y6Jl)4awR3te zvT?Dc*>y%oj~y%7;;|b2m?;NbxhZ_*%BMNY{|*C}(GXv`u25pu*FDzQ*f^p*3!0X6 z;n?5bN@y-={Z|X{=qw5rpw1^Nfm8y<FiUnokxp*0|3$)bBWK8v$@ixpK3qqYN4~zd z&3Yd|N|`HFfBJN1`_ELMxELy+=5Sh6X9C&_a2#`;rCMSNLe=&21Nn(Q5hGSRzvs}Q zP$Xfi4t5rf7q%z2fy9Hy(xpj-+c_%P&9q>DY+>W6#>rPH-%UIa(pvcX^=lJ4RSPl> z6p_AK<+6C(_$z~vxbe90?Pu$iHWsn#vFidNHeO@_miAuuUb81UR=yNic36+hch%yn zab8ag%cgji%m^_%=Ds2X%7@qHJ&R67?~e*}I2NYmjc-$x>-u!GNkW0<CWrw<6+}dU z2f<}!ysPW$t)i`#YBe6NZ{EEN|Ni|^x!Z=>GYgVCp9gEbYm1+Jy9cn#*dEK{>}ZeS zC7R{=Uc*~^WUGGrY#IB`z;`o(XRnTu5fLR-qhk!C6^^ZDL#1PG((dD+TaHS5{WrjG zxnZtsP`TIUg9UWL(|v2%?nfKBPV~!{c!(YhH|G0jX#u{Nz>Kl{!u~hOZy8Yi&#Uot z*;qrcY88%XbA5~k%msr?)Rl&m%o1oKwfo{Nzty)FnHk2t535mCW_M2yDxnLja9ofA zsszO?h7PYGQta(jCL+3ZiGag$_%?X2yTTp<|D7}!pgr<j+Y(oyk}eaizp<Vo5!muA zMZ$4`mX<b$;f@&cELTJh_li)34dQel3Lx&Qd|+kr;=q@n(gkp1eN~>PPPn+a%^#fk z<Oz7#1c?>>h{#4XZv5%)<R1Pg85+i)5aqW{@!N6zMN-K7*aa~$u_m5zk5KdSg@OFm zWO2V~P&gszGy^a&lJn?bxkMl}hyK@-nGaL$>&C2n?CMe|cbE%7N70f~QgpiU|Lx8D z56RwV^X?zT`}q9K?Y|Jj`|p$;pQZ)G+FTjW*CHb({*qGu7c&pZNJy^Tx^=6<5om<X z?5qvhsq<IJ3JMCklf}>ADo`1rp<$}|<-aHGFL12?Xb+VPWhk#8e|ipG`uX!`WcYFX z2?u}2^q><RMR#5qt8f%@`yB*ImaOFDl_N)|TSi8-fNz%PjsITxDkAOb6u4!b-pk+F _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list