From 8513eb4c09fa3e021d9bf13b52af6eb96104426e Mon Sep 17 00:00:00 2001 From: Pierre Hennequart Date: Mon, 20 Mar 2017 17:26:12 +0100 Subject: [PATCH] better cardinality display --- example.png | Bin 55086 -> 55628 bytes src/Command/DoctrinevizCommand.php | 38 +++++++++++------------- src/Graphviz/Edgeable.php | 10 +++++-- src/Graphviz/Graph.php | 4 +++ test/Command/DoctrinevizCommandTest.php | 12 +++++--- test/Entity/User.php | 2 +- 6 files changed, 38 insertions(+), 28 deletions(-) diff --git a/example.png b/example.png index 770c24c9d0ca71dd12e15c8c176af055ff1b1dd8..0374bf5a8c69163cc529f2454f78241bd57a326f 100644 GIT binary patch literal 55628 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 z z#YF1v?j8Zf)|cQcMl<852SiYEA+#@2Ht2y5lER+uEZ@9uDB%NbRn#g1s&@zUgUucC zDgb+*8#D^UK~f($vbC^^KNI=!<43=5P|Ir|N222#Iou(w(EjCT`N&O3>m%~+$_c&< z(0iBIKo>N5Xd`19E+MM|5S}V&?Q0JW2^j%VBZ)_nwqFF1iDkYT@#c9HE)$W(4;GL3 zdCZtx{lg7=^$9TE@=_pc;GV|U!^W}O#wEs1i$B3+5Qv-UQ0Is`R>Kl+#?H1~AWB~b zxF(6&4%ktVx6Gw2Af~dQ{a2jn&93nE3IMYp=|8dyoaE4Wc?O13C`CGxb{Pxt>TJ4J2S1X|0IoK;?rl1KsmhAcz#|k0XcUUVT_S z9*ea#qHAtTjDB(e*TR)NR92pEg>v+(4b1)c- zaF(RH6LF6XI*_D1q!3wf+T?WF&5d^vjw8eDd8Ci{ zg=f`@h~|53W<=K=;By69BTy9}7ZK!Ljuh$~3VtYOtMB_D{=x#9Hq>S5Xz}-2!W&y! z8mw6>yP=|CBzP&S2JV$@2MB1?0l~TqKcsr!09&`Q04%e2(<)kQ3sJIh6PKz#n){x4 z_JFOe;B_=ud1_m#J}niO7Ba8}!J#OQGw?%SJjq=9`%5II{%8X5>3J=db&2X*To`mD zamO0?IA90S2%>p->m`?`-V`zd{*^bcE*_L^(X(pc(h(j~e0v=G5_vhCv=cfO7F<5H zPi-%Tdhf+EW#SgM&yff9bkYIIP-*A@!=FLnVPEaRYrQ`HA;1Ck-h>0aOyQDbUYy^_@QZES3AHJb9FJ7T7VL#aDaId<(s=`aa!D{|L!L;urvqbS@U`sVTyY2;Np_t`5;;B!dhPAUUEM4{JoJ!ot`k2Xg^1~rQERyHRW(M6#uNK(_Y#I zCaa^{CwL-qf54VGx-s<@ks8~uDGKYJH4VB}Em`)%BxwVXJbZNAvjw#`bu4jI+KzSg zAsmH3Hsyt_&~SXT`1&|D^UbbW(%{xY((%Fbf#so(sYNn@q@W8kGu*z)82qx^E^(`% zC?n0M??9~19`$hmVW|gb+O{8zbqZA5~JfDJLfNa=7 zVh0u}_ktEPMeDKK-wFYY_R%D~Rb-242i%q!V6fzSsd?68k$LnU>8oi7Do_|9p!J?& zlnQljeyU9 zxixlupGXawx!c=&5lW7DsIv7>oeE%@{LC4A1Gn!jt76|dP)nrSygLo@7*g&#AYItQ z`*qM$o^I|C$Mpdv`#Z$n)vhLhlJzMESoc08J*w9ZH`3}%gxZ%Ze(4z8m6zNNw(`zz zc(Vnk;`#ZL1G`X;u*M4tx=$k>Qf15075*SRNvz;)_ z;?rgj)rN&xWHMPbrPu-8i3z%sk?Q;Hl)Qh9?<>VplMx7ckV|TPy>>pRNnN>$Ra1st zj*%!=>;1)aVa@UjJ+`1@)HLR~J(Xv-%5mZ0GJRv!e(jXRZjH~z-`P9Wqa<~w5`A2(I1a{^+!TE+lhD!-HZ5Q znLYm_f__Dn-2b0J|NcC#blA~(7AN}#S1+*k<;9q}1gqBh8Ll0(t8pAGG+wk~DD_mM T+I{yr_;pfAO)*8m#QXmMxTKJQ literal 55086 zcma&OcOcdM`#+wOLs2Oip*Rf{LJ22?BbAkrEvs-6va;uK)ZI=hBb%~k_FfG{M#$zU zSs6$6KELbb9*z6{yuZJH+$YZc8qaZEkL&SxT+e%IDstQD*y%QH+O%Ck{;c|@O*BiJ zHc{zpp@HAr4Lbn;*hJ-^E_Y^Adc)q)O`C9=6wbAkzZY|LoSg-zWJagKj>8OQ( z!omH#jtXBaHE+->JkeDA$}Ti`*q+Bsz9^mM558vHe&wgFT4xmC%aIKP0+-7KrE6u} zt3k?XXvWPbqt|FfuQ9Z*ILxcvcFkKgub`kn;k@i7D(aoM|N94V+d+T+onIf+9XGGL zcfe;8Y76H7{^5hK{=cvE*L{S7Hp!Gdob$5J`(Iar`}n`FCjIYcqoNiH#Wg&1ejP6O z(_<;@T3jB>upVnmQ|P>vxp9*a97fJ>Z(Fh!UtJj1_HY5a0M(Bx6BkjPUr_wsSjnFr z$ZQ8OT+E^C{j(z{tKZo%Z~R4p@wpKGey?MTvO?GG%Adc?L?yH&REvG*_G5s;gM3h) z&kieR%};bkwas6@g^Zm433L{|u1c1ZZ6;+Pb=N<`Zo*W9}WtzAgW}+JCPtj5aYmbBEd9pQa6-pdy6+dRNZ-AOSz!G8fxKF& zSKi##PSri3pL6X=uH~oNyz8AN4#N$PTwXQDDe2FB`;-P>{NA=CF+bUB&+mU&cjxiPW}JV-uAN~d*`9Apl3JN zygu|HWEaEy`U+V;?NaXeSVnoCReE8S``kBtf=WbIonU#-WI4rK!f`~+u9#l1qzT?( z!Y^jvYh7?7)7P0xpI`qm5$@2CnGogOb$dIzZ1;rB=qX`->iNV2k=APO)YLI7AtiE#UGr;AH9DGQ{g^Xb{i;Eu5!;rgk8Mx;P!gLn z-kBX{l$o=-G*f(qcbDRCFr`#}%C$QB0s9}Jy_Q}T{s-cF-~uMR3rZ3U~OQXH)YL*b>}u?LVT16 zIU1{T`2h=mgQLs!$3IrjM#S^MHBh%@()}8x`nRFISHH{U-+}#duBQdrF)+POMBMhH z`gy6__nvB^V>z~Gue95=S(ubp(b_^eMFhP)@JWK$0(nR?Uil>YJJWda+I+Wl$Ez#f{mAtsR;di* zMVzfytk~S^>Z)nCFK_S74+a}wy2r?!YFO+%KUqvJ8r03hZ~OJ`6{GY!ze;#XvLY9H98_xxVC5I% z`l}vs$S$vO`Eg2GN;r?d>M3+UVqz~ZnnmOe3G&yPtZa~$O>3BypxL>8*>dl-RJWO- z&%K`Kf4TWi`72aIUzM(0cK&4o_4K2SO5Nj^W;74XgOT`C5Mr^|eP*n|hpL zVMQ0@$uqY_t=c|#t$)75bq1a#VEZ0cR&&_NdEsId&!LmXWu5{Bi8B)RUv3dx?c5e7 zd$qI7-uIic{4)HIj*NUT#$5#3aH^jN%*=#%;N1NVm=zP=_Reww<&a?#>c)Ef((K_2 z&-+nM`@|hzLA*ulklcnN+M;DPbDX^TaH2b3u!C&8N6NFH?hA*AWk7kiK+(tnjUZB^ zG-Yoy*-IC)2@;=HM*7|~@|$sU{q`*C2JkHRcROtQC!D|%uK9+7dCgs!EN+xqosu2v z%uay2AH8MPo^F_KaMf?G*qLQ`yD_Pin{K?1mRdDbJ0Sy1+~%-(CB44*=F!JI(`rAF z`ucX*xe~5Zmut#2ha4bGh?>0JQrz!Lf2PeMQW`(o>$T83RNpzg-F3dx+|W%8zjIkX z)?p^YobA_bgu$bqKNG}zbxQm^UYLIB^RV(E*X7c3x>i`WCVtKuPS#8^2@|yzs&8+9 zDaXLNrM1644BMTOQD#Zca?Gwg-gb>>c;OKiF_q$ z-K85L?sWa#edhFV^Okt!iTix%ud*A&>mbJsXRRRH&6UlqE2gUc`H43H+g-fGOFHF>AZrW=eTAd0pG0ELv$8FphRP|#n7oucfO{!jY{2;tg%;$t$6^f4SL|1P7 zLy3I{3G1sTCWayZ<=q%mOi_#R4dl@{9B;kn7S5fipG28mOtVw@5r^ON;0_z#u*?$t zdCGAZ8lpkr4L!)oCVSkLWtsXD;h#@k)LvbdvFa(Xf0}Q)`Iql+BDOMLRw-+p8@l%6 z(*OA>JQGsE$-`!}|M}M+Ff2A5zW4v@dbkp?CGV99tj9>qo$;^lpP839IB%pM|4i!I zKtA(>a(*9lkJNYmfT=(3f_&0b!x$YVJ>^!q{`%HdJ%3*%BuHfCRREqC|AW=2rfZ9V zH@od%;hhiY8Fu!Z+fy( znhQ`r4dgmg|9+bF!@oWs3>5C_Zot5uWf#+F|G5e#5{JY!g=dGqFOP0Owwe;u>Ha5f z<@)K{{`pqFDwVJ2s`3v=S2K&Eo5}?c*kXKy_3p2E3mFVKj7M9cW;)Y9SNL_M{&gYZ zhy8$!9XuZ!p#P7d`E!tPER68rf0SJpVE&&M#5im@e#CfakyB%qw`}nXeRrOlZmDjrL^Y z>xSlgUtN*q(@uTPe<`QtQm!Q)&`4&X!*Er%%V=|48lX~bz~QcAuO%EG+Lo`iX{TMn z<7)#l=>-ZZF6CUiQgk?Dq9gOo)yBvPuWe;kMlp~HR-;}Sv}G7`8R%r1oI{eqsQ44z$Yk0Mi&7uhFg`d*&+e5LoHWDtAIaljL^#EuY zmOFbuKo9e^KuQ1!u1D=l7s5pA(+j@P@#&<8^Z2kO@z^C;jkG2`V-_^(S)Lm+R}K|E z;Wo<7oHK)f3WFxQ8vp$^Vc!R;^#`gR-K3Iw)UuFywVplS8zP>~Dm)k2H$c3>hidcq z)aN&Oo=Z187C+xH+%z5OF=^k{Xa9S!{jnEdw{APMleO)zawrq)skK)|Qdgab+c`uF z%2|mOTAKHdM7kcB3^9+~nl63gtGodwOfVe=t5S+T)u2#F!2cWz>z01>%4Xu}ds8AJ4ssk-hT;RheCYYl17J zvD#+$7Q0lVeJ$)u-RJ1^SZgjgR&S?1esj%ZVe%0@^~nL0o{v3=K=FEIOi#QV)~yQf zJdo2k6>n7^De2Ku;x=(_>NcI^AMY+E{~ zZF`iw8M?qZYOqlWxGA&YYv0mSmy`%B z7-e5oE}m(SFuWR>|C(=N)N2Q!oLshI5TY)1&S$p&%0=iS|u zXPT432Wh!HFAJ8hX0=cBX+^4YpEk9K@|q6;7vgP2+r+?^CzwulMr%NHJnF zj8^W`1VDJ&(KxDNfJrys5TNj3)zzpnJVTU^xDz_mq;xO-x?HD`b0Xkq1 z0*oyE+i8h+E4GCT-tnw^>rT9R977u}Oqncl8hfqt{WmNKxk;!H*Konx%fN`8zQ>_a zQou@CrYuP#p$pK_IE03LiOGV4UqW~inV%0dq_rrgRD|EigM4z=v^~Svwo!5+oPKXZ z$jNFTKt^j-lP_FV5A(IP1On!M!6;N{lMN(3YrVYddODFQ5L7F_L!itXZAs9-Jc-k2 zdZnLl!}9!b(`;;cd&xk6pmE>W{l&?&g(|td0k;||Ja0}8k;vr~84?Ln%INh0TuAihHXYhU!6615ucy*096n-%&d?YT|h<)|Z zpf=6A8uKj(wqf2HT4|R)1@h_W%}v#A>LOe&Gts$P0vlAf1i+AJmp-8W_^ybbRVS& z^;KszbiBBDd_j-ZfzqX-*uE3XRC#dXWz0gYDDsSXXq#Nxa^J z(Ril+oYiooN4m#TBjURk=N?pXIKSr(?nu1&vZp>BAlJ#h)3>^!ohQ0%BqT3Jsdc}) za#KGoI-&h^_pP#<*RX6(4M^OTNT|F?TO4+?&wC?0Kh?m=-0Lg#DDL+WddwuOHvdXG zMXU=ZT#Y-ply={XM=!aE0ZfTnDM6CcH3z@%h`H{CPM3SQ=X0%nN=_c?a;9+L)cVNF z$1ip~a{OTO?tWo^q^SD&NKQ-l&wsF9D35{Z|KcrYQD!38qE?B;e;mc$_hwD9^c|wo z_E%+);jv5F1f(K;uiG_&FEDABpz!ORJKB^G-yGGYG69?92Ez#+2Q}tRtr z#`YriVqxkvqOf)BHAd&w zzVHQq=yq!VW=Q1z_fer-S|JU~3uVAZ3FyAypzJ=Pa$)uuQ>t3D?`_;A`m@XAB%v>X zOGAxW3$^NpXS;FjFOsQwgG1CFI9`w(kM-h{k32aXr8UpIQ?tc(D`6(;jR(1O*mn>( z;TxSEwf!1w1`~4S!L73%XF9Wucy6pUG}-Pa%N%@k@!lMSMX3S?wxjxLI7?Z%zW0<&14zUuq<{_wFZ$-ccJAo@*_^O2^Q+;*~^fuf)bP z8ujh5^;#@+TPs1BMIP?x@xy`K*E?Rtgz0DzX#;t;Q5JaO{2IM?$@37oyca72^Jd8; zF5Q`hgs)jxW1~gFz}oN&F)tCpDBf+Zf`J2?KC0yjtq5)o&DPO#wRB&Ur;;YSgmR{< z)5Hj&O1(zbfZxt~_kgw7dUonrsEf+vX2QQ~#N@3oLL%QD5~90p%X{l*UL;h$QA$ek z`~*eph)_ofpBBv>MQiVwdaO~fht8%8gV%W zMlH(m1j-6YJLU{p=e!bk+S9IpE3Uu@ci!Rh9vKS!_(+h@oof|bcVS!k6XsD*$AR&r zgvcA*X`1IX9d@}ZJACPZwJ>?w{KNClPQ@;gcv7i{3sUazB@G%Ui6ujEHP}FwrYt=s z1cuEh;`4Hh2@f1?*5@{u{w3Af_x|8z3SR3%jcRzWJ*Q~K=z&7N}HLA&#f4R?hL52tYg2_&uO*zoC82F$bBJoce#rbTwU}+9=vt;zt>MC^hWdR;#hkDPox%SDuT0$xg9V4qEa+*-)_V!57 zsV9$)I`{6>pos`oY~|r-vf_Ob=M$N(aDKfaeCX9h9)A4xJgfGGUd`gM^kP6fS0}f+ z2UayZ-NB+UP69Cgqt=2+Sg!Zpe7qLO?V z{qP8WGt?B_lC3cnHNYNee03ccw%R&Uj;}3iCm7G+RMjaGgrZBeZ`;W%_!>Zn6OJy= z4s^R!N)ifh1ooYFor*49{+6=8y7i58Xt1hsd+hb{{66#K%8|zvNs$Gx7m5lGSuTL zprpyG;Wj&xN}ffsOGEv8W+->8r!aez*{XOnKJ3K~t)ZF_sm~cc;aLoGvnv45zsx6a zczhl_rxoNd(iAhvJbKHqg+IoPR)p}#sCHVTBFk~K`MXWkA7q`7hqfi(Z_&^esa_uxB%CNkC@!2O-AMUv%UVzMC27f>F>b2BScHWpRAve#`2@dD zXny8?S)QA3Zqt)>ZypCDE$XK)-O9P0Cwtg>B5H{#t#P%Dpq}+AWs z>!1j}4j9}Fb>}Lc3~{!R z#RO}>u`ugSvU9yL%MV%ucJcu$t$ z>sUNyKgy+D`}o4fTdF=Pr6Lk#Pxtg3{d9elG)eOL%j?BcStN0_SX16&0uTk0r-g@K zp~B|I+Vc@naE>QTMT>zcRs&5fNe!F?yT{5zKEG<@>GWk^Ax1kQdOL^raPYO=(aRH z*lRxBmBb@k+=I|08vX|GcvLm0`*1&9g;st_3m82YMH6I*|Gmb zH~e)cK>$&sV=MjF{{*x(&8X07RpptxADgxNf%n+8*>*iTOd7+QB&}}jiW3YXUm}X2 zLtmh?4k);>dAWDUg{-0JnC=Q6Q<~>DF6#;8)Y_yuD8{_SAm1i}->9S`XR?x(>%&t4 z1L5EA4SWa2`20%MDdRt(olsK6>}ZQMls}W-5LLvgHStNVO>bBI_80+ zITd=DChrWc8kh{cu+F#~&g!X@MphbTwCKAgXq5p44niM}bz~k4@!0CgL+3hACXq@t z`-F4LtEp8UY5iC*e|_?&CML?1fgpF}3U=E$gi5X%L4o*EGZI{}ba3az{;@=UQL31&uzd;_mVpZmx#lC_>ESg`JG#NXB)yWNqH?oL$K`Hl zli*T-G$;}{9Q&&^V&moYlrfh6g6cf6skh(EA=SQ~0*QUX?<4KW(a%{iGkpiq zod@RLvAedMLN75|(e>S;ZCI5#nZ~D;tSOJFmzMHOZ9DgEX6S~}xTkJZ9tzZ+eDg@R zDiA@<;VTN=&pwa*Ys`Ic?DS{1Pse?Cvv>V_;&-cw)wFCa;^v-;uP{7TnGd`n%}v`U zzE|nuBfRE2D^D2p179Y;_U+&z%X~2A0YOuA5C|z%rO!}NJbAC&Z%W>ug$pJduz1~d($V&tz=DLwRHPdg8*CCdeJ!XpT0iG|m#u+; zfvAFILaFt}hK6 z-j)NT@bckt3A=uudSJvr0WfcrTDjh8pP7Dl@OkFs1AAC%6{B>X@a>D69f9r>>+Q|j z_j{!Ldp+WW=)gheyVRy{t5@lZ=8wUU%%i-nA`+;B6t|qeV36r~F~cI545Ha?$nNK| zCLa7|G5Y&b2$S>>Hy_YxT}2uLqQM}@=!{Ntx}gMUk(q-ZLQZEk>-w=xcp_>1TFS_O zPRXC62SZR}hPSI7^Z!_n$9 zKm@2{u4SA4wVi%cr}DZOH}xh|bb#EwVhxz;?$^UnD|N{ zTql+F#w&+i&F^&%EAMtD_gO>DU6!Vw-vC+Vn!UaKkDd+L$ zqbrKlL2S|mQnbe#0j77sEorl|Kz8v${9a=SVLRbVFYpRM+-OE-J59{R$`j}arb7?o zB2K$C_j#{ar+_J>WV`^Bx#F3Y-0l0sTbW8$rrt2@-ac*dP-p_tm%cN-*f%rqSlT%q zt{1g76Gai0w8nULOvk(0@I@-ZD3h&@q_ttCVpfWv81jS zK`7cRB>dO&xq>B1AFK@qKH4OrZ@MMj0jc>8Q^erM`nDL$ z`@QaYZK0m{0?xiYd*^#yNQGVx_lgO1u-2S*@FJ$3ZqK*;#Jj**vwEKobjBW_^KP1M zt`x@3BkHUdWsOYe9me*#9z1o}KXZ5))#+X-^@zcY^3I~9eSLkQyx1P7?&Nmn77vW< zaRGlPR-yS94+QRWoU*(8iVQf@r4ss^krkr!KR5}LBi4lM29gp=qqs> zsPfy#v3K{DtSZERq|zQYU(H1*7;9Pb;P+=9ozK2piE5vN6;;qEo&a3gTXfd00TlL5 z$!Fk!a5RjkA_$a|O@sEyuz3GK&vt85sy;HZG}#uWq!;l{0_~*Wim^h%-L?Z2wNB~4)6KSKWL4i7Zmk4U{>g8DNf4K@Xlz#vTx?T{|;K=ubc zVB+~AHTD?S^Z^lGDa-BU*IN@WR<6Hgar^+rq@t&heY*HTV4l0tl?CqNj< zg?hak$Ye`kZZi28lAUTtG%VV{X5lXTw+;vDO)So2u(|X>GdUJ?_9D71%lle$t#ovF z`}Db76YFQYN5OP+JTOH^>n>P|i)-nLcaq1$Y|An$ZfeBer&~50w7nOowD9=Tjnu)< zn<*KUfw}Euorr92)8s?zA79ET5B6()Gt?5E?N-;~)YOt4>^&HGRXRd_rqAt&_BRqo z^}jWXv#jz#n5bIwWTrttNd_Uxf#lXln|hB=U78;!Xw%H~eaZ;iR7GW|)I~{`Cut`7`kObGh;7n(+DdwT(`wy`CpVQtC~F2waih*U09@~6!GNFt z($eaHldK%p`f5Y?sA8&RZ=Q8`&-TOU#a6^4h&>#GOIh&x7XFW$26vvdX|rl*qh9&G zIS-{lQf}(g+0ZCm{O~8H*k&@1WWbQ5W_;m;xo%PaUBimcAMZKwT9}YC?J2^2+LCV@sMK!I7HWQ}yiQZVaIkClvhq;i9YNh!(R?~& zXQs~#hIcsQHN+OVm4XUrU(bdaG7yr?Rswi545HN;?u-`Ac}%ycO6LO6*De{3wQ4)Y z`n>g~$F~++Yug=Tx)ZY$W~SC{nxl5@as7!O=BC28ZT^Hi5H4o;Bf0+dX{UhyF^B0< z$|}R2;}yMkpPzQiLdbmq4;3sOD2^8_R0meOuB-lOdwZkrLmH}BuzK-z_-sL-XNY#Ue$`GPEvk;yb?cbVI!LXeuEHSBPHPpzqJ-yqYfhxQJtDH>W_0ci>Gm{{NImUKp< z^dBtJ+@iq4eXc!WQyj_%$h>UO0($pVQ*cou{Q6H-s($)i_9GgQl~Q4V~?bSyxidKwiv1{${484E}j z%)CNpoG#IMvj2MSN+RiDZIecmnv7yDlA}vkC{xm>hXQ*Rg0Bi*d~u5-GC+OCTY`{8 zm^iAQM4&9adiWQ%`>_z8pr3NrBwT)4yOU=?2`@fJ_`+N;gGE1R1@&r>jQDCoY<526 zl9uYo5L09dZxNSdOA}jekX$ebwvIm%tMyug?WQH&4$G2uO-=>;(~|fjej*Ht>Nh=W zH}&M(M)BpxdX4g!OMXh7XzSblu*heUd~a8z{qD45^vNg5Ezds|wT z(=|mE21>oY=@wDNhN%=Sy*!dWn4FagQf5M!!+FyZvexhq(n=`B$NSkb;Rw%)3YC=B zt0sdQKw*x-lN3Yt_XpH3AJa)Us3d8w-x%d>ObSjGye9P(WEJjafoH7?({+MjzK?mS z+&^jQ6yC{y?b6RM?Z$k-aV??y^@Qd(3P9TQvq|%8Nv)Jo&Ic2}+YV|JQSTYQYWOR} z?Vlrb1inv*4!7Yrz4iL)64>#?Y3tp-NUKto&Pv3i?nZ_w zo*uoVr9A^(3C=Q_Vn<&k3aJ#0wu0FfYkoiStM={4p@$#s=Sq*(B;sO*oG(6mHe?Eh zaSsEFcqD)NMAp9KJ*c6KjkyXc2r6~D^*I=dUQg(#-lIU527*Pg+Lh9Q4li;N2KxV& z3~RokLM1MN=)^Gw#YonDX1*%Nck7!%37a#FsWJnO1*enJlAp(rzCt&MNZ|h7QjdI! zW{)k|-_LB_t|)H(*^+R_ziKizqy9$m=jN_#biAWU{YV=D`o*kSx==|#?*innZYcF{ zI)t4S56IJC3H3c+%iChG|Ff!?l}&(vVNn6*De3~)HXJphaWQo!1Z>YL@23OW$NgH)QFtLB(%uW^lo{f-9(pd@0$+@Stity(>B!?0%_K%)Et(LULvNcMHDvU>w&ntA z2sN^#!*RE2UKJ|YNDVq?z^{Kpz(X+R1SHdK=_7Qwf8ZAbJJ_$wLg*wkK zUlHp9rhb!Q8dR|RQds2B{E*D-vZ zxuCz!c3&`M(w)IdVpt-@672hWT6lxg=~#G!C+qpr?z6eOs(d=}LS*f*&b!-$)d8+} z+KK}rTHZ|tb-XJ{R%)Zp=*|+cdCdq}W&DiRMcL|4wx+rAah+>%L!~6Y%nmmgn?GLj z%^4Rtj`qK?ob*{G{wt8)qYJn9S9SO}N>j~YTk?5mPVM-$-XbS~0p&4GA)(w*p)Fcv zLYJH)vO1YuFC?C$58}>IK5vkJ?c;%kQl6%SLK-L2^VmC@&YG3lWQECxuGSkg$3|Ib zSA_aJ*sPUofahO>|2BA4_)w)EE8-Q+f&QpK{&w=wdY-gey3jk9Dq#wSI)Pf8C>l$5 zaM)`L6nK4MD({|T&F_tb^%kvYHIWAp6{~H)7^fp(=rELIP-Mibli_6a?zVjUkRSsW ze@()K=G7e7WNlzYT?jKI%Is58X2>#h8w{LuDIIca^SpWR{6o93+5Sk*A&n5#wZ1l6 zf}Y#p#9+))7>wA<&LyR_;s^?vp?+85QU>$X%YRbf-)RT;1=WdCovm8Bqa1m%aK~BGI2rSEvGkv2;#^?v%T9XDM*R^gNgX!a?b!h4uIOx)gJF~32MO|iMz>a8> zUScLGf4D1T2#YW?6VTRUr}x}lQ6HPA$)bpT3J}tNj{4~`nb5ZT%l%yl(i!>8jZPAN zY=1*Ea744vA<#~zg=`WSpqfr9e^MKF#Bsg$g;J{fEtI3UZQ!+q;42IBDOPHtFM=zF z=Z*}ofX;ZKvOzv>eU5Ta^IOzySObUd;1t(ZqV^6~N&OV;<#!NIHhgV)JOufyIM~MW zkoNhLVk+XzQo>yKBmL*uXWU&GpOBbqJjT-UdlUl|6w|{lK6!lppSDK-C2C==EY|*( zPopmO(EFfhSvdO^2%hg=?4>5H8Bdf z>pH+IlWI#U+aI?M-ht565dX|5=7T@Vxxe&@=Rh?H4J}mZ{nUcw|Czd3DT%U;wtDMN zzuj2jJ7s_}R;AE}BV+mx1GOdg7Vc8evg*CDD^WlFcH{4{dAL>#2_z}?6@yb79bY(h zx?{SpDxeu6;F#MUkWY%VH1eQ z5Z}0xXT8Cpzu(Z`2@NG>fRkV(-@k}E;sri`$rd9v)?WwY$I$%s33nJ_q7}+@1vZ%I zf4IJX-uACmiJ1XTvaW>0uk*hz=&yjzI_r;gR5*8A=XXN4(e71t9dLUihC!hA_$uu) zQyS4r=cmPuD}jAn)OlQ2Khxw7N|$UJcngH%2fv8y>=qXyE@ zcycXe^j~B8^K#x<^98wJ0=eMqJ;r<9pE|QC??0CwDUvy`8LqM@pb~l7B0|C?4@!YQ zGQRvwi~iTUs`Nk9XaoD1sYX(rFPgqY_a#bkQMo(7vMr0u6|> z5$yFLgEddyAU=O^?>N=8ANQEQj>$KJ2&I}qW9x1)wwN@kmtCTjUI zwsES`)9%>&3OthCz&55qOF@I2(e!-&t#HKmhmgHhN5#kL+&;@H_aHfGhy59m6?KB9e^X5d2puf)ofI6cah|6m? zX&IbJvQxNY|Jo40Y?s)=3O3p$M|3R zRgX>svn}GbW}O-%m6vM)bG_$SIMy~&IYj7PU{>q8i3PBWS#q3ihx*j;Ns_RYkZv_T zwP+s+Ka_2zaKsxqE-xmhYv4MNum|$gh6DeVCwd;*Gdf@bZD3)a!1J>3s2_T6k%&pi zVun7^Z$h&H+&rx4r2v`4ia69QdR76)mAy!-9yLhxNyVIkcass1A^(2!G)gyV{VHK? z%-AsKMHvI$F#S?)tw2FPDlPuEH1*qn#O@}Z6liCwb2@rbMbCon0?#QIux)n0QsC;D zMU*`B`f7*;d&anEF0|wqx!`A$X3an^>K)dlsPQyR&3`!ASnweq{ExIcZiCXh>%JC` zym;W-eOCXj;|Bm$MU3I#2i_4>t_h|wZqc=R!Vcajx5cR|9KzSs>}sGlS9#^4^H*4? z&x6CLXh=~%=8{`Tk z#tS_QRhonaztK((9q(g9p&Id_iiGo)p>I_9J#7l*O-(0Opb-=4K;8dljhO4t%(GZo zd>AjW97ZwNpwt9OU`$<=Jrjh``_RZKgqKJbPO5cDKAnIiUpdy$6=Ob8dS~w~hW`p} zKYllQ1|e#zZg8_2xyJAt7PUf$sx`pGTnGil7bFFr=YYpd*ZJ8oQdC0r^CuRfj;KbCD+ciDe+(NC6muBL0i<|V@(JiuU5noblpW@HI3}K{O4-jeDMyHZ(iF%BVPYO)R>9MN z^@!CmW6FJMBLvdBXM=!oEbrb_#Fb8Ra7kXAZy#nU}Oh9v2E|_6D#fHNN z=9BEjt44*`|M?ynL6*GD~G7hH|l$Dg5F$QsnTbYYMa`Yd4OI1Ml#0(D}+ zFfVF8Lu?(4)C~CzD+f=QKhijUkw0e4W%J?>)#SfG2Bw}G;gJgG1brDaBeqr=|ln@I1WzK^S2k+n_{EF zeJ!LZtJ!nluz1uG?f_Dni7%e77f0gaeJ|!XqSpQr6PdN;6VzfRbk9e#8x}w!$wKts z?_b^-+9}IqT|-z6fi1(0c{7h6IbJ|F-rmOc<#v6z7+9LahK3G!E{`S{MrE-e4jewc ztk|&ZsYlp8JF4rv2LT4L?4*7|8`*r{==4!VGIUl&58K~U__ z*X|;x6pm;9*)%24>oE@mPC+JbN|Eb#ll%`{zpsj41JKhn@>vU`C5|ef^|@5a z+JA+n%ZXCCekz==mGaL=xwS1KMG?`FTdQ{~{E9I{fUK5KFdp1)P@W+q{!AI3A^rQ;^ z=~IK^lm$6Rf~i0ouBTH62U-W|YA7h-na*2@3j((f5-qc}u6()Bn0gkE&z>JHs6eU? zF!$)ZI0?!M^d|=P@4?UWY;Gn!{WeYt`hVbt99H=@jIpJ$A4>P02%-N(W+t0c>Ci-X z7XCrf+hHvo!$A}gm}7@Q(Oi`{HH-f}BO!7aS=uFGR!qGC3kd{6q$jow^s!)(B*qA6 zUvQb(6|bpxas2edG^LgYd&9{%O?b8~R1TB?p1YOII3&*c57c(|&`2~Xh9^No4 z#PQ5+CKsx9-E}gmeCTj4oagUS;ivrYBk|)3z`ART+^Plf+#!Xf0bT!U4%xc4&gu?_2+Id>g`bMCH#=MSCo3*2%@3rAH32)MBPnL=;S_l@^v z)4?r>Xzus1EMA^}l;yWi;u5q^jX#m&Jc0Iy z^E;l8yu-qg1MvHxkyA7nJ8=}9IP}7=JBs2t{;3Q9SrHgRy0_3wLqi5tDOf-?=-I{- z$r}<8KLqS>!wOqqad(k|kLfXPqXUm2_A9jm>?+2cv%Ul)%<)wRA_{#bZ&65p7WG{n@a& zWEaGaUVTT7Z_jBv+Sy}+yxzeN2h zW4sbt?`Rg1gra$AzcH-3)qN(j2g9D|&pWotgOM#{JT_=c{hxt?=O9oHc!N$ppY7(kXkQaZlb4g_i}Hvq>@2- zR+b;$C_yfwXK`=g_?ZEuV)3$@?6fUgszRE)_rBb=h$!M-ZL<7`9|+1=T@c2hg+Rbz zFckqm(A%8JubrldHqD#WQLyK--$X5U1-T$4?3dCiJX6;m8AYI;1AW`>~Zp3 zKqoa?)Zj5eZ zYr``;9tAXeqf%t`7lg95!f9m`%}p$2j4Z8HUrC|<@Y+Y{Y$*oSr$=rr zKLN5%JjNLQk2Lef$iCwq(ALpgwm>G?0#&hnKKr)><}Zp&XjR0^jiV{db`fK#shRty zQQqzh#zxR|`pPVkutO&B;ta}rYbhV@d1PIxa+Fjr&{4zdS3RN0y)E(L!C%f{2*JJ5!ryKf7=*95EDVL&`iWQR+xJ&cwa6X@ETK9_ zIqy1L@sBF<=g3x2pi69pKp*sHXs_9cqAN=Z4>e*nu#@o}PGyW<$6a2WMwG=daH{O> z3AQ=J*EGzq%5!RjGR}WeP{aQbpg$Z&3(fSLL)Pu|=lXu*tl-hhY1 zFA5};(y^KZ+6%&5(Z0UWJ%=@WhOtxHq)>?-QF>tuc zJed57E|h^c^8=bx^_a^RY41OtBIudHJCKxWFA{jq2waBUQl8;(Qd4;!oPr?Mon!F~ z+0K%yF&`>HmpRdFxBN@?qoP*VgHX(S)8Vhv^O{q9u!PI7!FHcM7iigC=2c9;xOCIk z2sec!pmgLMA3Nh(+_uIYvnb!bV%9x}B#zfqZFCVt`*21#g~#(cc>)y{Dl`Mc&~Tq% z$<%AtZr<(;K=hT~^~B}x)m*gFE3DH)^;XcEoQw2oAO$l80uFLa#rpo=&k&1^0h}lN zcDU)!RAP3P3O~SeG(iVO66;nejQ|o`Jt`TmK4>|C))b>DRq{GMYxC|E8eKTuiR~ON zq}|fp|G*{C%=B}#+LAPm6n{%jG3ZndB<($A7fnBVuD74S2X+xtastVkcB=>YT#oip`yJ7#G&t<}Np971@% zJqXx0f~Kre;W8TQ7?Hy_&LmWbBTG#g{jDu+%i&AY=f7mA?vqHae@#Prs9Uppf{ zFfj0a(o0h34wG<6r|$!2TC4uP?}pF_S>)s}He2zBQ2Lv0r*=bg+1uOf9j1AnFT(i< z>fT~|?=}9Cb8+l&c!APp#~t_ng3d9h^>JKah*IKG_U1Jrj(==v7Y;%natLP2UN;JKbzZ;=m*&|IoJY`fQ7WKa=aHuU$iY^n z&>vCh(+8^ib=cBv5ZYVbY&Sx<)LxU==5V^nwFz5-Lv_avbkk0sq%H z)E1SyVV@@OS+jDk&Peg?9N|BrEhJc=!Sd7)H}f38!}~6xi{r?Di4{)se_kFxX z85K!sO0w&rs6vg@Z>%7kMyu2BCV{(8YK{akHQlkrR8BS$w4-JdrTN|R~!=IVY zmmRN-bWh=MAs{Wmf}|Wej^XQ4A>6M;{cosg3CbXG!5gyDC1hpLJsyrFy|b!Gd`>hM z;6$Fz(`B;)gb+R1*$+G$w29Bjv!E*KGjjXU65SgyRPUU?B71!QGP<@s9#9N@PR*5^ zh9`Mruw9!g%?|upg}!YJgbK|(=rxD##puS=>(2~hzm#jeEoB)~avB=BCAXe3x$Km` z1V!fk{z8_olEr9<2PR*_fx7asXE*k&YTuQ6LYk?7xh3Y@6AMKhYa*igW;@qk=0?SI z0qw=b4Im0p_Z#lo3x5Bjgz<)M8@YPX-6 z3K~rbFkW*E>VYHVZAE!%8zQ@a(*%w<+dh^93tG&>1h zf{$7Jo4s}YU%Pi|&&u17Ej(Xo@K4)4m`d7gh6OV2y6TVWgt%k1!Y4e!Ik|Phb`6rV z>jA6i(r<58e`T1Nb((?hafj>R4M3GEJ2#d`xx>oQ0a~~W$y}%YuLs9R1};kMGzbh{ zGUsO{OtXODQ74Zmw=CRN`S;3hv}534TW6I1$QhPD63^>m>0@_MN6vaQ6#@5mXs>b~ z?r!oOCp20xPgrJ*%sTr`o2eqeQfeoI@KtnKNb~FRvQ32~+!Evur0|V*SxYDW6ZBWuM3^<(tXKhDns{>yGCx+l~fgF{OVqvYz*&{M}$Y(0;FO;G#1uj z&?(yF^_=l2tGAckcT>)NqVY+Rh@kkM>L}8Y8k&HkQ4OGcGolwH#&I8>Se#(?EdOf* zPitmauYd`4zYcjqyF{<_$x4_C8Tyv2V$?YjIs_W?GErbW9L2t}41M-&tVNWVgr(m+;{xxn6mSy!3l=b4 zl_eLskmYNGJ8eVaHpzyLOgN-%{_~OkjDl;eK+XGpT<45-0{GwhD6Ko8@U}@<{Lem5 zvx&pkcDIWCkA-s{Nj^{V+u!FdD*RA-;wLNC3yaaCh`lL5+dptrlH;RYL!-4Y?SI^3 z9O;{H3Xq)rd+~YXEM?*l)XYIo^lRZMrxwZ5W8NqKOKfB`vqtK^bd06B|M%Xa#`9=K ztKN>ci8B=V^J%}50$g0I{Gj5_^?z;u|K1cr!ga)Vy8(M^vHu3DKOaW2a$d4;POaH7 zeN$$usR-^LfR23mGDG!iGHqi$;^2k{7YA-_=)AP;KcDN%hjjX|Pr~hs(;lMd_nJ)i z)|D#Nke<_a)+%L_UaKMe|udmx)*$9*XM7D;tC9i;of2j8ybd zlqd-uFAXcNcaB`nE5?1p^jy~`EX;RlwnxF0HyRfHjbBbbJ9&Q2Eq!@c#3k8odjI*Y z?_+v&P7f2p?4ou0Zy^lfu<1GAI&d9*w(4FeND#viZMlRc3Di^SoyML=)+ol7%eiGfK#_4z_rY;ueHysw#6DsO`r3RFm3A^(VFr0u zRz7g-`Sg5%2!h}ql-7y*l`MPPQKtDOG?wJQo~D*6VgkpV!+Fz>aH*OJvM~|gD%kwM zfTv4AohZFU1W7r|d5jcl`@{5oNl)kNU1cNLtStP4?bW51wY$~x>Y$>UfzPlUF zdZ&m#QTLMnwy@<3nSBdxCTG*wesa%Zs)VYZi_*Nn8SSX;B~D1b2C?V@&z!(fVlB#$ z15yH~m`J&|kaqM_)okVVN;p3i1}@*~5KnmS0e%t$Q2OXz_*(l(sMuEy$3C%ni(Ir9 zhXjiCLw_)z=+L%mFpNwwQ$3ki7!wSNu*sQf9+_*WUZ!(peizr@3QN}35o4z|KJ9MJ z+h>mx2pUkdKBAz}xkln29p*L?C$10I>lBrBjcpDu|J(2JU5D^@&C4%@X8$jqdHvH| zt5WH{OGPe3AY^^LaQ{8N#Wm@FH=A9NlfGvde)NFu%yHqQHmeC+M^u!=|ONo7fJa;?OBa7O1dsp=yklZHwY#qo z749P6EpU|oEi7FO>PcD9iUhXpeCtcp(;tIpE+Il zt-_G1A^RgL$V%h=h58ll#xty7bPEpjg43$gr-J+i7QvjDIZuAdPz-j4qjRx9bg(qf zYR$vQg|y*sBd0O8wAxfhdAA<-uXb{uR@ zx&?90YtxRgSt^NnMd=vc-W8w~5O8g-$_VE!_C?q1#Er|nL8mtK5g6%oa4hmp%~IS!_{!zkQZH|gmhKrD>}-ESj1LHA*qV><=zFsu$P$^AZj|x@LjJi7f5p_m{UyPY z7AX95@97A&*JY%FYE#AqdJth5!CI`L^yZdW&EUc}0vg$f!?!bs0{pGeGN}K8=-F!v zcYJXxz5BZVaIWCnM@TT~r@Ov)atI#>mMOBtX{HtJEBke~QA||r3CB-ELmQX+Y@>O5 z+}7-jf>C!pV}Z1cx0PKF)8MIrUbr>#M)s~&;N%5vEq7xid8t{^&G?1-(= zRVeOVPg3f=Y9XyViMGbz&1Yk;s_z7!WnbJ`LN9B8 zXZBf2CDcC7Jl$udT4Tj65XYsD9HY!2hCkcwjzB70c;lbt$Jdl*=P%!ZqUQ;0yu3an z&ic<%2A780BmbuC!&$(eY2JSzn`S-H13R5BeFj)Vg#ID4!LsB1+NEtViJ?oT|MJiO zsV!^<&w-I=JBrz8_lm$JkIZ2-yblw1bV4iV?^5*o3i)wX>l)PuiID;)XWG&KbydN3 zbcHJ?AVuZhdKJk)Q28tu@Y^Du6fQRg)!;2!`H0#lQ;xi0UIbU!AEBHwI&4qwDD%Qo zE+xe2Tin6Blkcm#LLuyJyk&FuA7y3bEk`B__0&21O|AF%mN0Sm-tA*~*-!gmt$COP zGmoO>Gj0#}pQkUbgyu`W<^1a&eUq4U5{&D(a8^45zaow^n_)QU?xA`ATI>)&*AF0U z5Ib;UTUfJ5&+s5B*km{hm3wWx-kz$mak->T)Ieu#_5I3cB^Qq@Yb8r~tQCzwnP?Ss zB|E;|Pk4e-0i=Y!cy!qajI8n87d7kKvFoqpDMgz!=F%;_j7Pj9<4`f@Uyt~_d?tlK z=tuP4tJNpCCPD1by3w7?! z85-GhPZ!);KmFq5cQLIqNanp8^OlSDiIMGh#oxoG3Ejl@B?k$xl1%(Fd5c{^d#UGl zIp6fcyB1LRLHzc(W6y?Bq^A;;#yY3=2ZQLvzlWFT%?`;tI|YbTXU#sgg;7oWDVg_QirtOwPnjsM6khvy4_RKA8`2qB7Kg3!NAKpU~?V9NMH9}9~$Yl{d zv})=i#3ZTO>XLl^3BE1cex7CJbEr6E_QP1%MGTd2lBXv$$?GYmV4msm4E1y>1NvW9`?FlyzGA* zn$zz;PCgv8*g+z;IDn9uf~sUciYwDAQPR#hGm{8m4Jxs$kdpUchHYrtddFT2sX3fV zwPSa!-rBMuws(AV$h+`8RUXaZ{F{p&ik>y9M@GXx!PaaLx8^K$4uciS`_lnguLA;8e^tTr5L^B(Jm=){sv{46 zf9St*f~ni1>hQk>KWnW{tnWBfT+u6B{i4&6cGZAh+yOLcBW1?7;AYjdA*s{fPZl;v zpked29ieVedr@znVqor-UHUJ%eT_+ss$TmdlQu?8XBxkLyY!Yk2rQjL4empWR$%0U zp9w*vhjO&@)mz%O4pcU`TtJSSwq=P=6b?_~E<5EYap$V+g?QQTpJ9FbqSf)^N^2f^ zt=sawlP9z&bat$NMdE+oq5Nx}aA_woO1n~^bU!LB*{v-B+UuMLJB+i4Q#!sO)*SUV z8SfLSkpT29q8CL$4Qj0pELp^%Cz?Oti{HFJm$yR5Ao5G|@FVQJOW#A#008NBF(k*_r6H*8=S6M8dwg<$HV8{hMSSLclXC*nAF_?-un^ zaDjzGC$U=~4yB~t=gqzh{d7Qu=*JuD3=Xl+Jlxw%j4iN;OJOmxlAI1%hM&Wnzo+qU z(ELo_2SHSv5vC~-mo(N@Bd`dl!3ZMNP;bb3du%CZ<(>Gf3s*f%p6t1JKft-)%;)RWGaqCez1vGAdI``B`myEIpJik(CPV)rrO1X_#CobCADlX%Lf2HD(G zaE~9uY^o}v3Rg!6?0BK3@xs`#$!qZCLXD^4cLg+1+ZA{78#qkDpd(e!nDPo{Uw(&| zCR+dd?dGSGP51rr(H5Go-oU6_lK~&b4urrYWL;#KlLe}Gd`Qxgqfzn0z-L%Od?l=m z2``?Ye9?*Pdza`;_~bPE*z~;Oto|~feLVkraZt;a% z(0ab|_*c}P+WXvm^x2aW&Kfx)8tKGD1$f=3nB6W~_0lcH88BJgZX^P`viV%n$B>~X zLOW5_e3<0Pq)|&4o~gTdL^U#rI|^?%aYd2oL4~ihcHg5|Z~DF7F(D3tq?aU;*37Ok zKf%xzM!%ZJ;0D7E= z22km!1@sspZX<0?bL1vhxVOP?tg;JByW`Bg zhs0XP-^f&}J!byD4_|KI8}#fAe9A?BOIc|Dt?iP>%Si49BP<~!HvdN6q_1d-C*i&Q zxI|pQ5m2&(!a_YC5SGVwOEMN_5RZ;@Ra+JGP@NfBUt<*T*Vlb~d@t+Fd(zJEY8vWo zR2%5Z?7L#lg@Y<}srV84y?G~*W9gBRHtSF#4(7~aefl)|hjNX-iZZc2C8-6$pGw;V zSS5Xo*gIf1aze(b-`cPJ%GU3RAkTZh_O*^nhTvu&s#L?^fF%O+Rc?De2JKCtiWu7* zW!KKIZ$ARQUXN)=B8D=Mp6i&Qm(rqDUY{<#GO#U^;!U4jeHdsF|JB_C`TsqJ+AbjxmCE2&oiqI;8=Dts&X=Xs z74Qxl!ns{!MjalJ@eLVghXw@7ax#Ezl)!$l7OmwCCvy)7+k+>>Q;Jd~6xM()MP{cG zr;!=SS#esYRfkwQc3#Lf$j2QRmL`kYtR4ICO{cOduY z=p`u01-9KVnoWkE)`$z=q2mvUQ>QoUc=rodwa`;yOeX9fFo>f`p$T*6+Rq$7zMm!g zE@;a!<0MsMmqSr+qr@mBDu(_cr(Q2zZ6(cgL2tZikW9*07q82XGosqn|S zL#hdmo%$<&i%SF+9}V#bES#@h zm$JuepSB4*J;+NdS9}1*7((y{g~RN2e2j(L#gNNH*f{)IEAmcj!n>OZ`@|_|aUYe$ zGpY`6c_s_=G`OW{^CE?fT)U5-tYV1#fR*;C zP2`mYN2HEq*Z1sEOMvU4&TDo!G4gN9<6vFVLO+n;;@#VI7dy||aSycg_ zMbcv0?|OgL;b-H6`y<6x1|x!tbPIJHQBY8b9D(lXrR_Kw6jtQl*SOoxhJDU5 z?bSPWUS38l6n0l?MSjNmXTN^8S$_34z=~b6ooCN}WrY~zZ z!)i6!@M5pN&V-!TH)$9je3l7upxF|?&Ru`?8Gc<+2k7`|l3?FZ#xaC2*$}|z8#X>b z0=Y^%`t1!8AV)SkYO7~L05crn$?J8O5Nb3#5AuMmdW2*_!0&@bz>Yp4s9_k}4qX01J|F33yIsCLNf62NLcWe8v{S=+KCKFymBufGt;{|R7}U&+A% z(23aBI}?LD`SvH8P=Vc)5G+m98Fn&8Ir|?Uzi!`EUsr_6up?q4>q@ESyh6&9Y3TPf zM3Wc1BU!zLYmH-4xihr@U8vI4A%1m$I&Pnk1{kImneujvvmpS~WjA_|36btMyDB>pOU4m0YX7cSK3^JUut@@MJ(SXn;LLXbK?g|RB;k3 zo&UK;#O5_>T&H@A;qByZw)a}zx4!t466VKy&Z~P>2J8$}JQU|NzLcBes_A40@b5Ksm#zV>CG+UF^`X{ zv(xbvqvuXGca(#I6{=rJfyk*AwD?;6+3eKI< zeJy?@*r@Dh2*1YdA#i}*I`+(8*n!w8DmWXpaJP0jIER%>Rm|Ju%YK=)zyFB){(`qd zp{TUpLvpy%z71&h6Yv_!5c3v~T;X_pkeS(kxj2JS8OPM#{Xf1#g1SP|#_T&ovefTu zPL`hOB^(BGTh;kwY8c5j+ck77KQ+I;Bzap-7@mrcqwd9>ojOO?qy2DjeT~;&*G>B< zeQz^1zX_@ap){oVn!3z@T&mAmi))uZ$6h*Ge5_9Sk_&3KJA3#1Tr_(a*&d2Bb6lYP z0Gb_uAI)adf$~N2Sbea(+5b68nx!xwC!=TyLEZQ?(h}a|3n}Z-{M_m?oCvd^b;-hI zrn_U$Ot$7JHHqkaX--S-HsM1A8BnYnzS zn&&L?WChO8;Avo@Q<0!qOl>#i0RU8VHQ)N{IMkx%VEW3*vEiO~@RKQmpn%6O0Th1z z)vyH&O(BUl@D|tE1wJkWq(bD+!`f`G4GZ)<0NLt>oVy$Gi6f=qj!R1xM3Ocu@rJa(fTTeHM*0|+ zp<3_BK8hN$ndgYscqZyQ*_|yXWC3cBCQA0mx3wAICAz9dP-{q*?XhFUX^%LG-cTHw`7YkFVVrpIJ#*nZ)Fh zstOE3Uqv&T7sMMVyu2|HuCSm>*$#CmRf2^_jr=BT^+ZonIv6rRzT^6qyJVrb*-&_ zre84EcT@zhtl-#Tfcsf2K2A-GW#>@3313MmGyDy*QPpu5^x;K%E$TDhXR$0Q6i*}` zO0U#>oO>rO#;o$1b6vPt?o_v%&~Y%O+chD6NR}QjH@}JoCXI-|M)`()6RSHLW5puq+f_AQ|nKY=et>`E_|lY5p&Z96!;f|niu zSSmQM5x3UdABXZ&HPi)QPj6y)Z?E>(H#wi$1dbIgMzE9L!2>YX@8M$G|2r^Q2h#_z zBq(?>e@71?wf_iv2M8hTfheA22MRRB11)=)5-iRR?{`$z7(^z%^zk-2FF7d0I4 z)<%iCAv&EP&M=N_J4^~xB$Q=CccybW;XMY;w+b)EBnIO+nESXEY>uwAt;QzI8F9hR zzY@y*sLA6&WO5`3tY@dnVCHvORez@({0x%+{VNnf|_h@;bxliDV6PC)_UxoX%{$>&UI{Ax}Tk z=P2Rt0!kTuR!6*TLF#z`>b%G;0{E0j_o?1D%6P(JMvORD6OY#gGUHv=Xxl!4!e6o8 zVeop>kUd#4Fa(hiEO`yg~ekQ z5uq3pL0LRlHjA5UwdZF+vrwBgRDa^8p^Zo{xA?^w3gqIodrE<>8?)@zwl5-FoGcfObL@saiztlsS7@A?l##9POXfeUyHb>ja@Seg_1Sm|f2l0x zP21M%*>l=ApTgq3)}hPgG~%N6(CAtSueMOacBa$R^PC&W2=}W-00qPIQvWQdEo%PL|)c-a}TE_`(VEI*Z5aZ1ae8ec!eAntR{qU>REblD0G`50LMUO7MKL@GvoW z0GY1))^{}BPms1KnrYBBKJZp%wu;IWEaba(yA#PMVVjXI$;Tp6l76%>XZ*9h%h$|o z$@O0eu1M;L>=p?4(HDJ)_yHa7AQWeT3cC-fEYv*q@z*ffCdn~jo!CaYZ}TKRnxF_X zEf>&c!H035U8vk~KlnN4i+&nRg4=f=J>o&DhHiUYJIt6U`rI=1D{Js8HHjsU{(5ecFonqqdnJ^SRi|6YzFP5oX+&Lq&KE zZT9CS;BV-^G0d#2s3eDZiZ+)*i?q%}01f&(?*SUE)r&=qPa^Vetc#)yRO!_PCE+jJ z)~LFoeOa1j{uU|6NJTA4$spz*8EM%Tk-g?eT*FnliJI1^3Fy#nH!m|4xxoAP%$Lwnov2kMTYHe*Nu@YQOdKW-kp}}aHl7}NuWyi(Yd;-zHy;WF26o? zUbmf<|Fm^>o2hy+9c^Xac7cSZwno&*LAin}WnF3l^fV+)%$Qm15S%EXPtgKPZ{*#e z$)7}K3`dXg6{f(y=#(gHy^bhVBXTb|a~7c7Z>!o++x%s94^*DV9pHQR0h$jPML+3g zUI&##Lf<1}Ka?Jl)*UANtz5QULQ#jm=^=6^5%pb{{Esaz+Gs@)gfEk%?n2S7>Vz=j zR{`i)LOYvdWf8`4SXCR^UhdkxosRws!TujV6SzQl<8%q=7*3BL+pl zc)GK}v7orq8Ak**FO`I@t81&{a@f*{x1m*Lbn4Y2w-nXty|#=G_1@l?E(n#?==@ms zDP7@Xm1A;BCWa=&nR)?t|M&?gp8VcOPKeH=mz@wo%rm$=BhKZOoQjhw$Os&VKL45Ji6ecTSctVJ)}5-qzVGPUYNvt*1w*0jNS$d?fWh4YqNS~hrIM|*&&rriw7wF3w0#b%%xRxuJr7fG+Ynoxo`M|DJ+y3pi& zBI`Qx^(}4c+bFF2EAJ&UO7p8e1vpNXd}MDM(>Z*QCsxv?l-x_{*i(q>2&;-vmpG-kARDe8oN>IGajJA7FOzUq zJD)G^w)8LRiE&wt4$pvZ2)zX4tE*OzJTE@Re%2hnArX0G~Co-N71-u#PCyaD*u>Pd9^a&95_4 zjExFY!I%BvES#-}m`*#@2$lD*R6MwG4TF@=N%X1aUH86d-!#hJA7CrVMSAClF1U<@ zMvu854|qb#KBChW_@=jjJ@?txSK?e2Q+Lk&dEwixZ^{?D64aXwR&1X>p5?h&7U%Rj8d%8gP7c0xo5Je6e-Mr4NF^(UxBY8wybz z2IZ%Sq)|L)U#wC218Qq2HEZWLb2zLtEy%D;;0IT2ttC(f;_V=KCyRX)lwMsp@%!KJkKc%D&NQ zY^^Ftk$e2ipT2KzzO76ENA~=cyLmH-#STgDeZQBfvI;RAe1E4(`{y3HeKiNIuR9{l zexkyQnQ4#8ZaKQE(!J;9)asy~7M&|Sd}cA3-|YOoD&ar_89rYs8MERvH9sausY$}x zE;O^apZ;`ITiYon7xoc${BN&-#8t)1+ScJ479G<0@vZ-nBin?Qk+NMTTGrBe2bk06 zZmQDmC6j^ybUanQ=i*Xr?EHY_ATo2#E;sjcQCJzAv$9TATYsI`+^Tt5+>?z=E6zOp z`Of^=;dOg6L3K5k_Mtpy<6W<}EVW?el3ubm{GwjGc5H|B)lrjqBl}m1q^meqBq_KH z2)vC8DJfNsejCcZ^;M)!oL1=mr>H)%zeK%TT_zSNu~Vy6bIw#2vNTBEw^i0=(Rmj? z#VyE+e{YZca(X-4UC}`rRH3LA#N(K|Mp7{=5tWnD7wF-=bY_iHXu82&4`izsDAsOkC+Tg<0iV;{7@?4>z^R>Unx@yPd6S^ztjzIAe=V z*{}D8yuQ&byo3EX8B1WwpkQh(@+&;Z%gaZEG{9!heT&lJ-d%e0jb&>516FoXR0b$K z?Psj(nj#H{-JVt(HfLWs+r`>sTi&28vxP&X-29n5m2P7F9!Cmyy%O{3ZCiS}-NgIc zV9FvLnJYKZ!#XMP>h!f@m&XRnNdjKE8l|3;VcVkVT!MQR`!LQU;%_x@`x%a6-G_#f zLsIQ!cf3KnJL-V>#vh2Dw=gXg7D~==mN%l;F3A9;opS6A%IdVQLpbU@8NaHuqgHS{ zuiR4SpU9{23_(53w;D5B2;VL?%i$sB!IOfG{W@NQ&)MfsnOn+GQtn69;`}vk%>%VF z!Iq!0&<3j?0==RW#O2ehsmQdPYWBQQiiiw2s>x%#PP^e#Wa3Tcqsxjojyysja;Q*~ zAg(i+8cgV-J>3&3>k|ohbTHGq&_d9EPIzyFvP-4fv%9-*e!v0QX%AzJXwn7iryoNa zl6exmxDt|_Ke297;Ou*u0r1UjmRkJ<=9p!c=}m&V%t;r10n6ZP3M5RtZokgHwZ8Au z((SDGzET(YSUg{AOcgm6GslQW&3zO^43h(_4LVSGHmh*%4)@RD^qg_EBk1#2dO(Pa zvd(DzJPhQ63Ho2~Zu0P*t9`tIw9qy89k#a%%h)eYoK#*@r|BDfD0N!jIN z{cG~M;@T?}09nj9l7cJYO#;LE>$M|9F_JenVSGO}A>ha9H#u;My zjqh-}Uo534C<%_5c^en)rYOzka>?7cWhO)KH%QpRSduU_^p5xI@_m~Gn5ez4i;vgO z5}2{pNS@nh;g&sNlWk6Zsv_Ij-wt`ppS<{mkMq8WAZzZ{9U{hlGkIh_A7Zj8`@qm} zif6QCi|Ycy*6X)BRj8uevCia&>r;Hm>CJU_{_rWJO1=9 z4K9LI@GiYRo`6Yz0+7Kq4+U4@gh z{sTu+F@d5h)Hwk%ba?yE9$KN}_6knt`bZ7Ln*(ocBu_0~S$=gm-y-YBwfV@S57CyP4WNq{knV{Y1R(kW z1%n0g;BoA3jI~JCim;JhYxdAa#gyEC`87O_edR~iO((_()QwSWzP=K$I9;`$Yst3Q zDu1!1vkBbh>&4X3@JvpGDq{GOg|nS^ouar`<$TV%M+tiPg6*G-)=||v?QFS_O%@Zq z2l~B{$TZjW*9k4VNnm$iCM}VYJYkae(c3_?cr=f6i+%5bfu*%bG=w%mm_gSDE7}82 z89c?{f8;CE^Cm0x1zzMU^kT95AP42whN8XM1}%=4Ihu$!71|j-!u4LMRkCS&uRh;3 zlm5y@kBQPcDfS=UE!AzOzKDn6xNXi619k+~*#V5edn3A)dsuVMT=i1E9T;)rm+W zNk`umBtf!5PgF!-ZWWjx)&yE}rW(``ohbGP?~?C*~Nu8S_c zheuiik{Y&U(g*TWp!y1UT1`hhe{PgtG5-p ze1Fy7-S-qnlSZ!RRHGN;J}e)xd(q&~x#gDKwx$n=lh$U_*K=2iFEK+UyxIPnPU*}n zc*l~FR}T=sV4HAX@l&jH6zTC(?uf#Hw3W{-U6<@@j9Dg^8A}64C24g9hRR+oegVE|OO17}|< zD54p$dH^})o&ng?O}8^gD=5f&#@wOI%02s1W1`gz$t;r_^Hj?FxP8gxSdJ8OLH2d{OII#@0RpiwYx~d4= zmPpO-Ja3mr6@}oa2V%hQc~{#*a#-%gpq=ZR36j3Yzp(rnbd!ACSFaLA#Ag-G1bu;s z??`s@x^+s{dL>?(Yf3@ImM)+g#mz~H*SvXqlVSaaL_q``Emiq?Q=|t2r3)$N3f6Rz z2@}Mw$1937*TCRaGj?K@jH@Qj&A`cbZG1;Wy2cd3IJ0?NMxm;7_|Fi8LI8A;nEDvc zTyWhpT21h$nQ5MDz4|)qvoZ*NCvpblFaCbb&`f$j!W|X^@0Z^fS+doJIK8JgE_Q5C zde^=s&P_D^E6-Z3sPoS63Knii)Nh9tF!7=jnP+t-y2Rj69gL^i4qoIlE+hugc*PFN z%>;RG6^1kJ&oFQFVis$ZpCLK&PoO@JE%I4ZKfs-RZ2Y11ri{oU`0 zyf1>EFQ9;9@Alk~%sx7Q?_f`*+au*k3XZ$pYR48MjPYZ6MP{nR1}NVM;M;V>+Bk8d zam%|AorLu-eY02;oQwRp<;01Q)7lr!@u7^m(`h-lAla=qo z@B5}%F}_WVUstnIH1aQ6q5-p~Rn+evLpzqimc#5Kg|9wbbug9qCeJ}C(Jf5$&24L` zU4$wv6Tp2?-J$>Mo(4BSat>gajJkC%7P5@H9FHfpZDGTXCoGv4Uf342t@gny&`0BM zJEfD|zPI5l0P5$f3Q5z`djO)uLxN$(TJ~il7gE=yxqUV`kZH=$`I3K(>W9Gh0UeaO z(H1#m~Kcp=Risme31)Z{wuLj@X?uUguBt2%A?9x*IaZ zUm(+wUKQF~3|idL7G}VP=9&S=mY+B5HM*RC8G`%6B*Dl?=1lAjdbGsufSD zlMXZ0lrh*zl?f-nfA=c)LN=18IrkFP1*y}6r1?3Xdct5!$?IY)&r8HYq+F{(5yk*AHVzdM$)(3JjR9tglLiw{`$hPa$yTqY(sir_LJ6YhgQ zh~fEbUwN%k5Ma})8%Wn1$x@FSKY7Cd)aZ)*}u$=Ou`Wo}Q0icwLNgmRMS&y<}^ zDS3S4E|Jo3oYRM*v?nmLk9UVkrhl75H|W3Xz&nf(X{Pe;Y0K;@>63cQl)$=-_=Ll` z;Ir#E#-Tz&ksU7l{=paS(k)(HI;)zZdp2pj*;en`gd29u=ys))sjS;wc&%M8lu{@Z zyFN1RFy%_4UB+g<>sQO`(j=hHySqkiE3IQ?E znRWfhSI&BiGwa61#4LIp0~Xr0Js)e2jVp!52Z^H{&FXdhLcB)XDQVN_M;ae!ZhwW` zOs2hHR~h%SDMon+SjjNCB*PJMm3G%6_sm5wey`NqMK2pd*gp4l;>tJBg?-zY{e?rQ zn@=xh8!fv zEAcNrOT1-ia|vHRCc&E#y?iideb+ZpkfOPI2Vi)6))=Rve^SkwTQ;0VWV%dhs0GK) z{f24DZjiU3x6J-=M4K^+Oi>E@*7lVQGPS+Kd)o5RNdCm3$9s%9WC~n()`e~`y?p2K zs;jq_-j^$+dH6&Em4C4dUS)&coy|?L!RLFwRh)Gzd@rD(Fm=N=^y21;Z!dL$KzBb0Mqpm=d zVV&y3>^}uFC<`H72w=Y>GyPQMqXiOSo-rgyEc1xb6)LGLM0sW9L`0YOWd9_gYcrqhoZ5qrYLf+LwVb z_-USf%8Ye4rdylbzCW0X;XgtQEAE5&!y=2`!ed-W9%nY%-^5sr^Z}p{V&HrbAl`+} zJn2Z(5}E->tPTrKAW{uhKbxp}73c8*4Z)*iWSw_Y8WbkuadkN8D34!?GU?;`9wXOS zx25H2YSM^5Hw7oKK6v`lbA4ZKeIqBSvF$Mh*{21f$%a-Ai{iG5nEfES#^V_e{?bAi zHJ?P+mW%@){eV=iRAml0KPl*4y(QL+k+mfA4KzhjpjsV`vPy(wwm-pRhYqCK947G1 zn_C-RRKp5#Wd<_9OarZIOnV$~fJ7mqQ3}ksXR?G1+q#YEwF${$e&wLQPEX~lq`>`` zBtXE+Lpqn3v*CTmUv%j$@$a4*OcCANTG~Ys4_LLm-n=kk17;NyjlOe~(COEN(%r&d z!9k~Oe2hA!RI}QCW*?}X9k776*|TeaeLe(ZP2p`}^{>BmJ*l;{72V`x!aPfOfm-f9 zo9K@o;Ky%lneTJB>~&_-x#b;T1Py8PuDh~aqJ(#hko^Yn8|O5~*`XKNdzzJEf_d3@ zZAyi5nK-_Wr7L%9>)*+Nnf#$%`hf620A`#cIx%m<(yw4Gq5k=hc<@DL2B4K6!Ocxu z;4oss_~bvQD%DQK!#bp`H+j9#^kbs>Z)=1FeIlSt17xb(U#wks6!xJVSSPGr_0rff zS*rC%#C+WG;RBj}+YHdUlXhuE*0joM<3hp5 z8dc(UfB^NhEQi1;TOB&A6P|(7`E*Ha+Jy(}LQmW~A>h9=Ou+?nK3-m(sy}|d=r%u( z+*}EeCuP(x|K!Qa3om$k^cmN?%NrH5m3e4eF=hsI4K96`TdDqeM!WtAe0uleGT2Yf zv*$~A#40!THft!LRO3^V596Dq%eZfc5P8IY!AFOmda;~nYKcn|-Jq5>W6eLeiilpm z@Qy&~F3POe$;hjn826x7t&Gb(Eu3nM6*?Z^_%KddtT(t)YJTQy!r?YP*Yw%5R6JAq!O&R>eQqrneb+dC@X{3)C4)>c2r;8`eKsn4 zo`BC?rG^!cjJHnXKEM_P12T<&!G`km`2~5;rnsKJm(kcwkKXKpK1=vD``pUEuS)qb zaY^W8jAAUh7v8ygTu@b&+TH$SdwrosbYe)`8@f}(30ZcNmm(a^9}(lZ?Xl-dPs7`u zz<;7z#?J{0!FGJgE~I8FdxTzqBJU|t zkCL5%q>hU@`4=@T?2&@%E=Flk<0F;EkmLB+yo%H6M6bT9Q%96o!?ZT-e`+1^55{)A z*nN+{OcAnxaoQ}-P6-c2FD$MXJGRhbdGUs?31EvvXF9@LdML^Mio&774AN13;_|}= zoLuWi52fRefuyQRVen7Jy58K)t+V7!&PIX9^WO1Bs7FiB!eB>&0`_SwQNKJ&oH=`$ zF6{JS=gZ7e%pq1nLw84R4h!6%zOq$2>w9lzOrzod*t-3yC=g^0to-t;8%>HH-)Q;( zJ*)o@qmNg2(9uu76|=&c^aNDG{ktDg`i}Tp4`F7`(^i5#SOA0KlI?}IQ=C#p=p(go zsC)UC-w<2t^LmzG3uGqXGvx1)>W<0$m$a~bxz1Jyd z(}^1}p?iKN*n_FDvLlM=%(d;KM^Pk76 za%#;6L~NkAy#oYR_@RAn+PbOLnlNiw;@y7~9WbmU9psPgd+J@;byqnyQZ@T3)1xD1 z5^iz%BI@VyF%7+oCSo+pn@#ylj=4(Z9vWDMl!@UW7RDtHT2nPv9dxsgT+*Ty; z9DmhInbtG2dl+4g2L;lFja1M3p-k0i`DIdKF5!nmyckitb+r_cn34u}RZ)t@C(EaI z-))+=>g=!P!k;aNd~@Fd=nmGFU!wKDpe~dT2a}a6P%Q2tRN$AQ?un~~^bT6orB`it znSfENxQ`=1yc9w{v>g#D7N%LRzmDYmcpS-M?bi<*(cJFsYaYGy-@I-+_Xz1V5v*|4 z4?tGW=C4R}D9+254y5{Dh<9fjZ zG*?J-_|W`l<_L22(h2tD8GjD3U$64t&%QWpQLh89Ef@b{7W?0;Hrs}0Z_pi? zVmAHksS9_8!y?cDegjTKSH7?E%4hS1126scpW3x)!L!jKoAxR{C7_h}}}Ett0%C0>5VFLS*GsowiG`V&k~3POEV z&pN)o^v>&LJ{d*;^Va1LFk<%idhs=9gy7*F={l*Va4r5R>F-$>YmgF6b=cB{@FMkW529L9Z04s+8m2vm#r#6|{k+*Byji}FY# zpMi@?XpsdO55N|1KrM}lQ(g+==yul~DG4_JPxY}x1+_k4nkn6Tq&KliSPJW!&xwA-ve?d_8VpQwjcI0{kDS1k$nNcC{x0n zCsirr&j*2I_x0%z_02+OFEtGNizPM=#;GW5i3@`CrF#!eakwd%GHkubDf)!q)-U7H z#)w{}))ZVN66ba;LsbAsUEYR8iv`O}~y--Nz@zy1(g?mR!y;Mt=z z>((GNhg5JVj~=qfp=3%WFfY#5c%*%+H{+PLKc!|tx>TtA2GgzmMAJ4St-W{A83fQr zgryHrZzsB6$pl$YN+VUIQXG++5MTq6oYPGYVa)YMpwDAU4F6DX%DQp)5{Hhk@1$`f z*Y+U$)1n_>ZyzFqI3TwqgCW^{TnZit(F-1m0cq$7XyCVa4m{ex7pgK=sYV{a?cM=k zH!rUO47DJ9L}IbY@D^u!`g-Tz%APyB$11L_G9pIW`;mLqRam_|zaZlMyj8Lvr~J@> zE?!IrLwG%9;jRwii^dY8GT>jisWN!|pM_~1$@JCPpDQ>JokO4RffGMB?aC=@jy5a# zC_jJEYm9lc4>iz3F&qY8X-D;c*Lhc;%(x)^ohW#Sks^x%!ucc6M%Tm+T1ZG%-uWsnTDL>Xi4y^tXDGrCQexd`*!qKK2+Q_BZ{>2h;A6Grw>SH3 z#+;6|`=7+GDiSCBg@cT zO^q>K`Ca0{?L%KH_O&d%Z78Q=wEZ&mzx`k>e^5%}RBmR|AUt9#W_mTwwRu6LsKgZa zjAo)Q=^T>Y5vZb0n$4jHq!^`td@{c?$o!9x_EVMHxyK91)XRfwTBw}2GAq&45|Go` z>h(EbP6WODt7g`b@)ec3kvCq-4%DGE3=evm%DjDE)YG&Yo$8S2UNWF?oH$4#7MO(7ps*)jSPk9 z^9^SoY98m*kefM_e`3kEfR%ri$nU6x(h->tU!on&DdxL@DgUhc>J`_os@EH_pF^8@ z@xDt6$BCXO!nD(qMOErb%;gV4)rP~mqs*^_N;gp=8PZxZ_tex@=^f}q7mBIDxl4xN z&4lz=`3c&2>#j{+u{vDoaIyXX;CbaexzG^DYCCDynC2Cf@q*^0C6-Oq1kX<*l~V3@ z+jFT^*`8XD%O2}GYQIOR+DI1;*E;EO#f)=qV*mB!gKd)h(-NK8szWrZdg;ZS?W{7* zlHDBFv?Er`+M{w`^VpjPx6wB@M2wc%?_m%8grlT+a`Eg)A_zOQSvzR;_H#9WS&d@9 z5!{w-p1LL@seM1%ekc&%6Cp55G$&kb*AsUKHKC>Lj}QGFEsf z{ezT0umNZh*tRjzafInZ^8ZNAH{pzb#9!h_bE$1NNOQ@kQF}=-7#*Y1@RMB@n4qu& zI>qNQnau->-r!n0Gs9I6$}e)WMd89_BPLj_n>Nf5-HQP?o8R0AC1em4*VEL{-r)kG zQ6fd0wSTV}!F5^_gQV>5Rj(?o4Ku3fxpe!QEpLsN0Jk333n=CYM|`3E8c~&&78a89 zlW~D*)lt1a$S@cpV+jAyxB7L3##j3PQLdURBMX{$P@H2rUy&c-4>vrSOxy*yve5$g z0BXWXpv2MXWU@7B;8Sh0L4;>C|`*E9>Oeh)Y8JTWieH!Q2yNthDBmTsa;>$l7>t^%mnCl)G zKFBjA$5Ja*Ce&7P+Si0v$s^cBr7VKRPlkK^D)7lis-a0(p(OWxW~nahSfHgKc) zA!1txAgoa4GjDnb@yY}=c%m%Qi+E)+@K8Rys`x?xPMp<}4R|26#9kkN-)l;_Y4P!C z*>)R%6xGct)#yF>>+=(VEygRqLC2nJm0n~6QCr$O`R|PU5^sG6Cs|(~Fa2v%_EKUN zgQnTg@@qIk2hv`p@NYPO1gEz{+5hY7yW_Fm-~YKIJ9mguSx0tgAp6cJWQ*+4FcaB( zWTsQH_ugAJiHx$hh#aHHs&Ly1-|MY&PMy!Me*MuyJs$4&{d&D$dS)V=9Ac2UnY!ZMl6ouij_UjgakX6>(CD`ft zxVaKLa|E|RBfUVhzf}*2X(4*b`@-ni^qr8ack(Twv(>)K!!R^a_DYJoATl;zMCm>+ zX-zZDC=@M`P!JyD7lx`)h{6G>^l2e@hYQa9L9R;dtE55RhVTKVr0a^72HFWcKshlw zHC!rI>>A)>@!6N4RnB2Z%fy)jl|W;L5EBCE|LEuuoIUk?xse3vN(xa=bQQ)Lwcn!M zRY7#uJePU0zk-CD0=dbYx8&}S@)O%#7Ui-i>j6ohpybqxBrd$mNGa$Thyl<~<^uxb zq_)8b948g zk*1mfnU_vuaCR16z6r(iwc;kYqG*Nm7}pE{saNB++ZA&H7SnF!qn$0l>qHy<>39d7 z8#eFnRzS^D=@W3c){!0ukLP+eZD%UX-*C`hwS6NQ95i_JE#MO($9#682rmKbwNIAe zQa*etVjRPy$H29af)T~bu4uO{B-mk|p0D)r;K9pW<$3<;d{}EX8<#f1|8*=xKo?NE z+e~KHA&lomJrmnsnHDw*oG1K|A25`n1F3?T@Wl$$nBqLv+8@v-d7w9_mEwv&wtV8? zF$6Z_6ZRYR=S4r$c0JgUF}gaq|5CS%P7a) ztb0O;_qV}RM9tBYyrk{7)+qVSX;^$k11 zK1h_(8i+?FC^_x|SpMDXAxh)}Y%~=%I@gj1HWx9zy)H<{CFBe1RCs{Em(}m@EuR4L)dK$NYwu~ZQ_-1^wsPoEvsak4^1YO6?gtQ*L@`%l{X8wnFDZV}kWC$U@ zmCGagDT{X(kpk;kSSFxOD<2m0X2+LUb}l632%2M3YO>A)2OpW*fhPL%erw^5MpceU z?NEG^RkBZZCq1=_V-RYWCn-xHz}T#z75Y6yhGk9i5!9ngd2$ryORx`b^|s zp8LCX%?vjj9O zOQA*QvgS?`_vKipPB~1tZ*E)pCvy>!xV*EhL^PNl+_aL+?nWPR=m)t216pt6ZSWT-49+jB9Ab&*DMZ%T{XN?v))i}hs1To&* zh<9oKx(1qfnow_15b$pjl~#47TSG)5848GGrd6{&{aV8blIR?s3aqX~cSo^~Lxo4g z#JSdeuu$(^9JgjMLz`N-ni8WJ2rit&Qpsa|#W~I#J_3R*;M0B5JhwLif{HaEzr|Wm z&O+pq^*!OL(}p6hq~%OVb^r#l^9#@6yNX&FC~Lu%HH)BVY9U;B?C($^M)Z3)(7isP-Z7)^~}B{@T+ZfPhqw za_jvJxBZPMSz`%XDW~Al+l-4Kp2>)dY~cK+DR9v~jkgw5mfclYxu;mshi?&i%M$sw zOEO#Ga@{&Q2hDrC(7SWOqQ4U%Tfe-IJ}&A~7Ql8yF=9AY?2!5%00FUd(Xu%R>%t>w z&;PZBY(iRb8@4d=Ei0~S^>SzlGJ9 zlATRI<@~%yXpxJCc4j8Kf&y=*Jp1hU_>|O$k|p3pISSExKV@nE?7~azcy@=rI9ZiJ z#>o~kN274+x)uW|$3@fIai)wC_CCDe#?azK@tX6v9A&&Jz6Q2^T-$fy*;q9&27 z7CSoNBN>u;YQppDy9tr&b6^@Y{UF;{3^`yR!Y+`xaO6jX{Zf`OnLZtGDslE(7uXK| zKVBELbJDsN5z9j;kM&O~$(@O%h&>zbS7DBa17^)PD8{BXo-7l_nk<4k6x=A&)6n|C z6m?UsmYoUVmm|mWc~)HK3`Btn)O(Xmy|E5AwmKo?<9@|t@Kmh`v|#VMmUP%^8wssD z>gwC~$$MsM}`k+CnO03K+8Wn3EHW9=b`qj;hSa{^2NR+(uu+Hwp)SjD0^XRwf& zc1hO(d&y<45AYt}9rZdfzXinT38}BrYLJo{O? zULIT_%UMKoEP79sJ}Wso#Gh_e!xTZ=<=0EDykLD`#WcmUe2P@+rOY#HNSPUzB;FuM z0O)DCbZ)hWPzCxn@YCJrt?gRzy(?_Y6jN&m3$9LrsP5pPT~joK(#i((CevN$f^NR& zUYQdbSdFk*ZIKO->~R(oerQ0vd7?g_NPk+XMb;X7EE^lJ6%p?7XKf3Hmi5&LWv7Q`;@5*pFPHBe?Wi(RxZ09lkSiS2EaHF`X{7F2Y;WcSmPCpDe@fi`>6ae9_OvQwS4n$>MULf?A zbNcNohx3WxT-U@y7{)vDk($T4K$6UiVjIw)c$sO0QX)X!bBB{>4Uy=C{A21tly4LC z4*AtQc6h>}E_S;Wy_vh%pYiCCSxVU6+rA0rm{BB#tK(UE0cE;aF_Rg+N@#N>C(D&1 zax9q?5#L&h`|2#+Q`GS}`hS8j_PV7Z=4VmYE#|B5F4nI z7f)8+=@%%@#HFl;-rCt)6Lp-W>#p7mqN&})e!FYEBsgo^y&d0TU$ydnciUEOs6#7a1yV3O8Mzt=M>`RPfOu*!G!Ho&b;@ zE$X^o?N%dZ8P+T)q^Q{mTg3MUbg+eiZpPOHeJw3^T9o;KTpbAG$!TfDAi_SzI-5M2 z#Tck+=2$71W~%91v~KoFl5hLzyCh(-HUmmcLV5;DSsjDor}{W-$sn+M#{w6yfUGpjEq;`JX6&@Xi=G&nQ|^J zH8~rl6SDi!cfeoRco+(a@{@>A0;R_2*A+T%YhtI}Z&{%{@$I@KKUE_XSEQ zB2IBX(;&f8J7J1+FW=JL{%|0eQf{tS?vz(lI8?n*JTVFenFi7+7f9{y=}aZpX&Y=9 z@H$oj$qMuLG}7Qoh|y3vF#h=9e}8IDLv(@sfVUm!(WSXkTv)_7gA z^4HVi9%JhpLYAh<4813g3stUH+wG`oTO)QWfjegQ><5NCINsfaXsrE}$F{#32l~=g z6m4oodU|wG_mLD>Sv+f{90Uc)y)NY_1VnQnJO6XfTk!E1`|r;!9emIEO*-(9;3U^PEH?5;6qg73G%z}qV($|EQ^;ye=gZV$AM z6r^V$x?l!-+y~P$Gi^}g;6@VaY}~(xY>2v_HH&LSKJ@UzPyRzcyp+Jvyb9lLRGE`> zjhLX|gNCN*#E{uF`yEx20rM8a%gMV{I$m!h223l;%k86wuD9g(ghoahH`amBn~b@6 z?nK%#YU*~lXXYw{$&gjyoye%HtjvJ)bh>Ivh>0KJ|K((37_{-qJf;ActV`}C#!2u_ zv3*B(oS%>Hq0VV3H@8{?I`ffzTU!L>kciMwini`%2XL+*0*X`Wa2v+9TBkq;OEyx{6=21q^9i!7WngRm> z-KE6nXwwH0uFF{s$%mcbzPAx=sZ+~Rf5Wa&T2gWwN<<|NpS5iZOGBGHjw~H)jGIcB z{Z`4i)md>1?5lB;F3Ml+J(%7=RLx$(VXK`tBbftt50jt@KI~|#sZsV9jS zWPkklu}u@1K)m{^lwr{kuspgB zz;7a2M{KHx{yIc_aBh1m;}LF4sHBo3ll9-BE&H*T;Z%C9ksYmit*jg9Hnf1Q5~C8}wt>4w7Mss>G`J780M9@-A- zJ-iETr(2IYLnPca>W8?=K}M^W2;dFT4g0hS%v3c^@e{9)5LrRc&r1kOJ+Vkb=Zc}AWantU3MLynw|lL4r6)RJ+m#1>(`k9gpUCF zOWZmsgu@@x^g(3G4X{!yaIxE9n$Ga>D3!%3H`PH^HX41Q*M1z3gA1=eel#|-um}S= z2n9p{F9wRQC&HGlfQlb39+SM+Q=UdKwEyph8DH=c8fsagfi*cN_A3m@J!*iX9MV5U zT3T9pbf(c;5HRP03ggE5ipwhWG{(t^6@9q3Ik@}U|=+H z?YD1k)ew?OH`T|+(pH1)VAoklz&Jp@?V`H9P&dRv9l$-G0hlBbiWzMnO27&Si>kIZ z2hwtoBZnY5(?Bl{gRJqPSl;2NhQd`4y>EqCX9P`_L{i#|GDuBz1myJo1VfEQm4l;5 z$`^;xK+27j6!nWJ4kiLkSns9SVrGR9qHmj+Tmxk_x98>W6?BT_>fo&3=_Xox?cCGc zEM@x{%7I&%2q!na+SlJ@!0W)u zh!0==A-$>;b2;y3z;8zAM3X#z>r^SH@}-9{y< zpA^z$ce(JLgvY@<*PX0S(mg6BCP+&GJXdvDF? zeGYpgdl62@9$|}pU_Lz3z;-2xPso$xs(T2nXTE`Fy@|Sk9PP1i-lonE+|2*oX~>Fi zceb{(Q(kQ(^Ub}Gp^L>9mX_;eU}dQSQXl8Ez-h%Qscsu4wyVZ%s5?EK*%^E{x^~=a z5+{J&!TiS`O+s8L`YnzqD>#e1*^a_2hLQ&v{rdXDL78w^W2a@oA=y(ZZ>tR9z1BvC zhX>NZ3kn1NO^iD%;>h~FosL?^ugGSDcI2dYjP>r_t_!11LT62EZA*&`+}&R|7g>DK zQpoyikZ%*(CmbQ`3Z9;w?Eo(69nhG-0_Fdjy?r@ok!mBI2{HVZv4RRkF;P*hZEbD+ zgM-YFai3Fn-!Q{0Ap%FkeY`3<$+H5dw~)wI>M5*JJon?I_`h4F0bc$lfQd%{>qbK{ z{u1MzJ9lihmW^VdkW17Fs;CS=R*8ZI8|#IbJFx`j<>ai??!rl!UQ*IuG}=8r@;MR0 zcD~IakD7aliUnG5a)Kx2xh#Ndo?~GzM{nZe;~SHXjEsN?ND>mRfgynkHxx?P&z_Bd zic~we?A!q)^=3h3mc<;>t%7}fE4U4TEOtzJqeDZPjvYJpu?EPhc+iBP{_u)D=wm{p;*HW5-|q>2`RqLN!QJ+Yzr4Arde^rv zP7WB8H=zDf<$PaLqi5ZKUszcMf+l*Ki)9Idf`XZ&N}PM23Q|%ouL*wcS`^w4tGx=F zE>-&FKC5oopRxCUw>}BioV;^$IRvdIy@+-|wAV;NG+|FIiyCC#s&e)gS7dPD_UlzwzMn*>A ze@1>k27Dzko*T2%({@!vA*|LwZ;&2OK7JILS4C4#-PmJ!@`Joxd z*~7ni;=iE*njd#)n&jje8VTeo`H_hJ?@!6Da46Qa#617q7y0`^@Oct-#VR(8|Gy7| rN7Y<~nAkPGn&daD;hz~cqTHhQ=87YW|w1AkgetFieldMappingDisplayName($joinColumn, 'name')); $table->addRecord($record); + $nullable = false; if (array_key_exists($sourceEntity, $tables)) { $name = $this->getFieldMappingDisplayName($joinColumn, 'referencedColumnName'); + $nullable = $joinColumn['nullable']; $to = $graph->getVertex($tables[$sourceEntity]->getId())->getRecord($name); if (!$to) { $to = new Record($name); $tables[$sourceEntity]->addRecord($to); } } - $record->addEdgeTo($to, '* 1'); + $edge = $record->addEdgeTo($to); + $edge->createAttribute('headlabel', $nullable ? '0..1' : '1'); + $edge->createAttribute('taillabel', '*'); } } if (array_key_exists('inverseJoinColumns', $joinTable)) { @@ -113,15 +117,19 @@ public function execute(InputInterface $input, OutputInterface $output) foreach ($inverseJoinColumns as $inverseJoinColumn) { $record = new Record($this->getFieldMappingDisplayName($inverseJoinColumn, 'name')); $table->addRecord($record); + $nullable = false; if (array_key_exists($targetEntity, $tables)) { $name = $this->getFieldMappingDisplayName($inverseJoinColumn, 'referencedColumnName'); + $nullable = $inverseJoinColumn['nullable']; $to = $graph->getVertex($tables[$targetEntity]->getId())->getRecord($name); if (!$to) { $to = new Record($name); $tables[$targetEntity]->addRecord($to); } } - $record->addEdgeTo($to, '* 1'); + $edge = $record->addEdgeTo($to); + $edge->createAttribute('headlabel', $nullable ? '0..1' : '1'); + $edge->createAttribute('taillabel', '*'); } } $tables[$table->getId()] = $table; @@ -145,7 +153,13 @@ public function execute(InputInterface $input, OutputInterface $output) ])); $tables[$entity]->addRecord($from); } - $from->addEdgeTo($to, $this->getCardinality($associationMapping)); + $joinColumn = $associationMapping['joinColumns'][0]; + $nullable = !array_key_exists('nullable', $joinColumn) || $joinColumn['nullable']; + $edge = $from->addEdgeTo($to); + $edge->createAttribute('headlabel', $nullable ? '0..1' : '1'); + if (array_key_exists('type', $associationMapping)) { + $edge->createAttribute('taillabel', ClassMetadataInfo::ONE_TO_ONE === $associationMapping['type'] ? '1' : '*'); + } } } } @@ -167,24 +181,6 @@ public function execute(InputInterface $input, OutputInterface $output) } } - protected function getCardinality(array $fieldMapping) - { - if (!array_key_exists('type', $fieldMapping)) { - return null; - } - - switch ($fieldMapping['type']) { - case ClassMetadataInfo::ONE_TO_ONE: - return '1 1'; - case ClassMetadataInfo::ONE_TO_MANY: - return '1 *'; - case ClassMetadataInfo::MANY_TO_ONE: - return '* 1'; - case ClassMetadataInfo::MANY_TO_MANY: - return '* *'; - } - } - /** * Get field mapping display name. * diff --git a/src/Graphviz/Edgeable.php b/src/Graphviz/Edgeable.php index c62c21f..e246feb 100644 --- a/src/Graphviz/Edgeable.php +++ b/src/Graphviz/Edgeable.php @@ -45,13 +45,16 @@ public function setGraph($graph) * * @param Vertex|Record $element * @param null|string $label + * + * @return Edge */ public function addEdgeTo($element, $label = null) { if (!$this->graph) { throw new \RuntimeException('Graph is not defined'); } - $this->graph->addEdge(new Edge($this, $element, $label)); + + return $this->graph->addEdge(new Edge($this, $element, $label)); } /** @@ -73,13 +76,16 @@ public function removeEdgeTo($element, $label = null) * * @param Vertex|Record $element * @param null|string $label + * + * @return Edge */ public function addEdgeFrom($element, $label = null) { if (!$this->graph) { throw new \RuntimeException('Graph is not defined'); } - $this->graph->addEdge(new Edge($element, $this, $label)); + + return $this->graph->addEdge(new Edge($element, $this, $label)); } /** diff --git a/src/Graphviz/Graph.php b/src/Graphviz/Graph.php index 90f8347..3c84cac 100644 --- a/src/Graphviz/Graph.php +++ b/src/Graphviz/Graph.php @@ -152,10 +152,14 @@ public function getEdge($id) * Add edge. * * @param Edge $edge + * + * @return Edge */ public function addEdge(Edge $edge) { $this->edges[(string) $edge] = $edge; + + return $edge; } /** diff --git a/test/Command/DoctrinevizCommandTest.php b/test/Command/DoctrinevizCommandTest.php index 547216d..e58880c 100644 --- a/test/Command/DoctrinevizCommandTest.php +++ b/test/Command/DoctrinevizCommandTest.php @@ -77,16 +77,20 @@ public function testExecuteDotFormatting() ' label="USER_GROUP| group_id : integer\\l| user_id : integer\\l"'.PHP_EOL. ' ]'.PHP_EOL. ' user:address_id : integer -> address:id : integer ['.PHP_EOL. - ' label="* 1"'.PHP_EOL. + ' headlabel="0..1"'.PHP_EOL. + ' taillabel="*"'.PHP_EOL. ' ];'.PHP_EOL. ' user:email_id : integer -> email:id : integer ['.PHP_EOL. - ' label="1 1"'.PHP_EOL. + ' headlabel="1"'.PHP_EOL. + ' taillabel="1"'.PHP_EOL. ' ];'.PHP_EOL. ' user_group:group_id : integer -> group:id : integer ['.PHP_EOL. - ' label="* 1"'.PHP_EOL. + ' headlabel="0..1"'.PHP_EOL. + ' taillabel="*"'.PHP_EOL. ' ];'.PHP_EOL. ' user_group:user_id : integer -> user:id : integer ['.PHP_EOL. - ' label="* 1"'.PHP_EOL. + ' headlabel="0..1"'.PHP_EOL. + ' taillabel="*"'.PHP_EOL. ' ];'.PHP_EOL. '}'.PHP_EOL; $client = static::createClient(); diff --git a/test/Entity/User.php b/test/Entity/User.php index 9dd3416..81abaad 100644 --- a/test/Entity/User.php +++ b/test/Entity/User.php @@ -47,7 +47,7 @@ class User /** * @ORM\OneToOne(targetEntity="Email") - * @ORM\JoinColumn(name="email_id", referencedColumnName="id") + * @ORM\JoinColumn(name="email_id", nullable=false, referencedColumnName="id") */ protected $email;