FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browser

Python files for the Mosel-Python comparison blog

Description

Python files for the blog post comparing Mosel and Python: 4 Main Takeaways from Comparing Xpress Mosel and Python for Optimization Models.

Instructions for running these files:
  1. Extract the data files into the same directory as the Python files.
  2. To run a single file via the command line, call Python and pass the filename followed by the first 2 digits of the data file. For example: python SparseGrouping_std.py 00

pythonblog.zip[download all files]

Source Files

Data Files





TSP.tar.gz

탤gTSP.tarˮ4rz
>@a11H	i	D5
۷g^2s W7ss?Ocwo(}rjV?}!oRWכiYmjߵU/?7????_5?<<ڪ/??y]W{
Y9ϿU=9}:ggg_7_ueklkיߥ]s}W픽_z}1;b_5f|Kzq}户R8z}}Ok[Kx]}f_\qZܣ'no_??!Xw^_G=ktJK=^/wK/c#lj_|E_^zw7
n~}|A\_8/:^z}*n~qw_~c_￟?ߟ}~Cg}Z-(:{P_D	Ws}G&v5.U~׈c;'|6~w5J/z/0Z;3p~".5	`^#&m"*r>!+~%Vz|j|ap-ٿkE҈+(z aꣅY߻\#߈uߧV#ukcW\׸NqzGCWK[X??߱4-?F>[X1a]+M3{UR^ۮww>s>97489>UX:WjJF}AZ/•Z|PkyeK5+!dwabiQJ.}yuV/?D`<ƗXXoEF!#uCBaLAJ;퓯\,_Zbx.p\Je,?v=6Er^^0h3#iGvُDL{x{81`g
/ǀc}cxG8[۱N pݫ]Oځ~m<w 0v	xO+	uusEeh'4@+uh+O쯭m>Oܣ]g-_m|WDbeѿuϾ>ѿq*okb+=i5}蟓_~߱WxG{"ѿVkD52.0^1?ѿV>y)ˉ
_;x|U|_z\*q$o_w#u-_X-{S2IV/,&VXN4	lxud+LcsDVA#e_vVWr}T_k9{/B'.:Z$-?Nnt]rJt#q[u""sz[OO`1*Ec"nҗʸ-Mt$M,5'Wq4-?ItUzfq*הI.y7:Vk8vz1sZg*t\9WPcN,ח浨qB\F^F#
+\LCVR餜V
SXk'ynwV)FAEI,nmreITywyqk-^+
[q;?b%yq=l@W˞Vh˰Vy*(\Oc;R|T{"L=RY#.{y\4.Dϛ嬬zc{)(zb3Nn6Z1zNi;6)qJA7{{bVmax
ZIsب .lx
+탖K;;7͝7WԸ"ȫ3eo7_^DbTI#GSڣIƉ{#骭ܫ?bol0RGIi=~;r}#^mF|VƫDG[JLGiUYUW%?RQHO\sG	`iܿDf{kBdAFjl2ٿD/[]BWB~ZZ ~Z֮81߈k驇ZkZOWѪ*k?d,h| ~z`c{ɺ^+z ~qg:ĚP6e~ma~'h-bC?A;\iK뗈kߵS?Ö́{~j|9x#~!ŶA~j9p{;(Be%>7s>fX.9z~ V_7?onJp-earթ`)?$|\X0sAE} 6RJa6pzC7KFI.r&)Lv\DG/~tm%L
W(oC0+⸁jBM89焝~ĕqI
n`w-7(sʣ+1~h.M#cBTuKb5cݵ2K7ʚ|`{ujTT#0)c*7dBpPBт,BsFeEZ]o8%2ZN1](NX)u<QҢNmt7A`Tl=)-ijm*PL)ߥ竍ҵp]	$
iBlubq3L|. 1mlXSf$N[Ap
q@qJZ6"w8zqǒՍ=
Ф8ǃ\N*tzCy0t/EL-aabAXhœlyP_h];K{ހCȤ9<rl3vw+X]NT❲{xM .]ky_ZICU2EP=sOKYQUYi=-SHP5б'Hy&(f#6j_OɺF,I4

V|ݜLۜfAU2̃&]%=p7~vEDmMxMOJrʠV8	sGȝc9v-j #m#n5Yj`Bk=|LH/'+ڮཅ_gep{NaY)%1 2=h31Ļ-B͑JAJ+˗TyMU?6a!5Zh`|lH筸Vmv>6[.5L%P..BIن28yhǕ͌R1b晜tbVaֻ?`^kZaߑ߶S-[{?boOp|θzʣr-ErkŽ_ƽwЪߣ]QOťѣ$X~a[f|t=nA2J@~]Qƞ蟍E_;%Z,:OA-[:PGVj]uKouؼE8J2P
gs`Ԙw	劭wvs+ǣ^Mdu zʽZw.kG[{n26*<@qףo θ(eg!tV*BP|\BP0}iW: }㈽U]b!k+A1VuŚǶiQ	ғ>JPUJW|DF{TJY, ůbPk<yUQy*!ȕ8:n%nC{qvEGIqn2^=H<AMQu2D*BNGdJo@d:M a2ƇAph%1Hp?kyHC#J<9k0kItuUK&4C%f?Tb~i~$~~$zq.]IV.WJbv(&%lqPDmkVVpJH!.JJ&>R*!`Df*>ruTIbktmH|%rٵ,X$D,Z6+%D:EzPKtuWU'X0WW[%D3;	K(
M/DWcM0QzrEÄT<0)&Z5D)1QIv$%ĩo	nۇfC20ٰy&Dq!SBric48ևjcNQC5щ%0 &T[pM{wI߈i?_wpB^IjU̟bf@MWPH^
xKJdn
p*r`Pem҈EqIr-f]̦2kd1(5?te:q0ԿCq>
P"$'#RyKÎ((̤H(APmDP,ln&+h.INQkPhA(.Q3ČЂɓ=Hkx(&=T%kzsiOqO1TE,ȫ3\E7v~D0+5zܬ
A5bt{-p*	S
q$@ʽsj{k .[yhlM}G;[a?;d	BކJOAde*OoVmE3+XY}C~^ܹ~U(BDƫn-mLʢɡSme
5cGL2bkoUvQ{OVΎdUVehӫH"We/ov:˶7@:^ۛ[gx\.NWNB}UGkARIӪ/!,θp:j!:ղPBq䭬Ce*Otlj~_h,[>) |]h1[5r:;Xc~B{ѨHۛ
fn6vgx%O&\f".ksp.W꿻?p2iq|6ɐ9
lRY:,
Ö"&AYf*\;'$'sNs#_L#5`jxGxE66|mx3~J0UOҌ8'=q]οv!ܩnC N
˖HGA	<ÖQKi!	YBT<3]'s1ڨ:٭iowp8\vNԂe6[@#	oX{8#tXKc>
Ȣ2\bƔzo
$8ZmXŰS!'e	BVM&m*.c؅bV\dM[}Y^H˦Q|+1Ia`n$-3rٝe0[Y[͒0yWMJq#4fmFKܣCMJmK|uᙥr[ˆ.3ñ#uiitD˴	wcyA;O0Q	LVDe@e"]<鷗$M,=]zdO
LvKN.OEKITyv%VȌ'2LyVm{x!ns|^ZK{kpA%[v9Zb:t6(;2GRe=U!(4]Z˝\(&1dI(,y\JגlHq6ŎdXh(6.Pϵ,(oz%j'Y0h=lCl}yۺZ:SMwBکDz9Jtf.+&|HfSp:F>elR%QoBLax+	;rQ0h@bFggZ.{EUkF48M9SzT2.i;{Iчt=3sh'z`n):iY"L;f&mylI2Z;8kYΝMbO|6yOA(L-ԟlS"흢v|bޙ2<6ebQnBnZ_+٨C5c8$IZMÁk	(ke67Z&a&TB*yZ?^(vԞtubSOZ};@l&PUxT6,-wH6*aY]g|w9uK/O~9sd! 5Q9/׉tR2R%2i'&ӯ-p8^dmX7Y	VCŖjN!eJJH#Vg׌X;T!sMv=H	K3r`̰&4T\Hv&$q|m>od%3Ыoep&ׅ,|yB&d(op*YEwLD.qCqҷg|)p`I!<7 
n%g2ViNov"ر߻$BMg̻jQĂ#qAPozhvGyI)'Nj3w[jJR:F^,dZE!ι*yTmoOd'=gWع],|/9BY@4-F sEuD@Ѥ[k dXe|M6fP.iWB{lo"8KX?
 n/u	'Ӆf£VqoBrp}cdm9q%IZ2] WzZ[kce=[5~h7Une26+DZb{H>)!M4`f]py߶^_??<@B?jW[Gs.IH|Ӟ`Z(Gߢ>cEⵧw\Y80	ηg>?D;-C`xwk~ibVÐ~սCQZqXYJx^j(9C=(&
hJ]{io{Szxw.UU$Uʭ}lOoQU[Ç-X[|Ǿ}?b{?oGu?c$b`-0GG;Yף#~oͱ^*`qt޻?z
;1t؊zؠ_NGGv!sQKǭ#ntGXkx~uu⾉h3`V{G_O|#{G7]`C=A֏&[G?BǦk$|ohcqGq.oX0}Xaߛ?b#prCm6֏&GGlȸ7(f)ж/>?ךlΣ#vaΤ6pCtBn
Qz6h[uݛ?7m84+~(握~H5=?r2!>
tPm&j{2ۂ[GЭCqMc{?"n+;jRSҽ#+z6~֋/},uX]BƏ0CPb|+u"uu-6>|CJ>Kv47?>,c@W[}>i}:t}(>[G<>\O~.ݣn]t:d>djW(Lli֫}4&dvʄQ~GhB!tԄlV]_>b
SBo{ނ:QՒO*N'R$*#9!kRhZsBLe	Y6#;KWEк8;WGO!7(OhDRϟmv<ޯJU$c79dG{BG8le*',z'hȥd/'aH(a(PAh#A5cb:k>rCi$*xp`GBqJk#ԡph(R(ELRϲϭo-
Z5
m%)K.(;Ժ+8A
턈{j>5OE*WV 
>z
5RCSzK=[`)dG)zQJ6b0ċM	^q
E}h[~)hW^/((^{S4002>Eᱧ6h}
ng	P&?[G?ZzȕDA.Q!)TJԨZUJ
EW:xu@ĐH
5"+UPԥ۝#U!QC5 X{Z7*K޾r4_F.?zΗR:G쵲ketRBwk^Dz
eSᡵ`0o,Ztj
k7b
GBY:>(W]ݞ>20}hW׫	|+B%kUJ
5.y#
HdHC'WZw_ǭ%H2/,@"ܪԮ;KX)zGmI3#⭷G{{Fd,L^i=Z?BTQvj)8>Z %GB0QlϦBkY(pY)[Bv"|GBw-S``ͱasY85i:Do]1OU#f>ehu>ZZعEZ4,^*hIsa--mho-^-`qMb5N
Q	4	oZ.@YÙQ†o|b5=H5db5mK~1 fAL([BO)BWGE"hYP*SH[˂gIPѲPnHj,dS‚r#g`fQWfziIYnyГrnW!g^(H9X/7WӌǢgUDN9@KM
Yȭ^OErGB!k~,i⵮)=)1tr
aPi'XYdY
\6K1J*j?Z~~G.8eatj,Xڸ>bqBR&5=S>,txu~,$=T7F,8xME6[uf;dWGB&֏ žy-gAY8"	,7;GBFSMYi{,t)G:6mֻ75ߤK9Yh]">x+5Vc1 )<6g,hᓘ?j!AyVJ[p[5[+T~!Gw94XB~Uz-!̪ѳ ҟEKԳ.KmET%#q{|,l!#gMY`,g!nUYꄝ#h|G)WjF"=S?CI>-^3rE[BDrh.b/EވtZ[тUk{GтBe^}GтYt]EiSɿ5ΎrYw?˟9ݽȁUSџH=z-6_Zfҡ7FR,!,m+pw6i3jA@ZXR߭=oQ_8ܖ-N$BW=bGQS*D1[YN9hkkLԞtm9uenCB^*t
1=DRnBW{[2aڰBJT@qw'R'atEh1JZvڻss6u9M^P^U`>yrIV(]@ֻM-
Q
~HlwiJJaV'OI/60#T* ^(3THڄR]A94&qqr".((dE,1hy+ݨѲuLF)%nQA\cͺ4_v޾EvNsiLlHB>9},7;ik-wͭtMٶm[A+nxlTz	~"hϴ~gSh6=ElD9\2A)Stqp?f}mxix$gkg>F0Cj+_æ=8.mb(>7tBye=dÇypذl`ŊVp"L(ncXŝi+5G/`_ce]B}Gr.AC]nUV_\FΠп\9h:v̴,ʖ6e0_͖yT,roT~K6!5ZhS*B47C32Ufvk*ES1s&qBE`;(+3a#rs!"+B7J	fw7#H
S<8^ѡS0t4fyկqr^?E*mٰ*~T0Z(=cx9z9Ŀr݇AjE1h80s=bvzLE0Vː-srhiH,EF.M2ӋrRӷmm}kW@Luz<2Vh
[mݖgf	⵰ ~\+K儙"V/~BC=Gm84mL#tVce6 chyufU|vWw՘gF)G^[R4O[rEjZTRI?n^gv9ceZ2%.@)-s#q=L?i(`ZZ0m~ Z'çÉ}TA^mJ͑ծ8X	,pv;f^kӍ4>Shv	lC^6N&^Z
Z¬ֵ*@870:Ecű,
ݳ'Qj\&wIzroB˳uG+!c_")t^
JS0ޠ&_[Yn,fpz-SX3|r0
0U9$
AjE$8P+_{
0˪*VR-}
Dj
p'?o/伃=8[;jMI,7g^/:=
`]KW^H?y:1=ҢҢ!xi81aY_%!b]%nf`wE
$,>cXқF<=@at(d=x
GQmۺ1N9BэNG6OFˣVT閅u'i֎@9CV~s %A]1S-υo'}%5&qB#rsGHؙ8EVYNHҬ!ցZed,"c)ӜΠ)xVϑf}Del{p

9c0I;ZQwkJ8EљvVrNj7j(p,㱨ks%MC=:?ꝆӲ5IEM;y'h.ཊAdqe:D&(fjjX]HUOqўʅT킓D7fB{ͲZ1)>Pc69)el?.''=uН>Wzˆ?uHG87sF?jbYTȇ#YyȊrgS,Z[ӆ$NVnfP$XNXݘ4r\
w_Y,iqlO(,0LĥObΓw]S/OdDz^0AYҜYGt㵊}ިqFÄq%^oޕGRtBGڔKeC[8X'K
"0TX[^w;\(qVV
ؖWuYh$kd=)"!E@؞*b-40]1xܒ"/AD1eZ+~
}j
BVrH7މs]{CDd#9j
w)%V{6'cC0;!A+O`{%E9=* MoTSĺ5󉪧XZwmwv=p7OBCb!r`k*Y7H㔚q
|hR	5_f:K;-]kAeYXic4M$zfqz$JklU}q[ܖ.'KWDrbSo9nae=pd؋S3q4mqedBt9mɩI+ki5N0QQno|	,!wh!$h&2JuRuh
ēαM՞#E`5&wkv[p䍬Օaံ|F߰-;ތ.#t:D]'!W^ђѮ1 @԰Rμ$NXa(&R1B)yf2)@лIv{8׌/]RRŚʤduW&p&jƴ»_.iG>m\,9J:qTi2;nLMF=diysEItM'cbW	fd|'PO9b&VYV)2'vN	r.ԢkEwm4k({Xagm8Cw+aFI	8leZB)!t_+\f3X1,.(avIBtdlwD\5t5H<"h1e_oH5yz+Uq~a%6$}i-˒~5JSKpL!D۪:;	N5Lғֿ5Pw$&y^E>=Ii)p58JDJ%2=?ȉ}Rr՜v6d-9T`4롋SXx;04vٳ.h~{1L4IiYCg{)J2rIa2jLdf!^f/$6T]&S(Ǭi6"@9Jen:5DeaIgw.FuW\pLU2
&X"tgδe*o`!vu
#2
;+2]%2YI_O&U:fAxRy|˛xgҬdd)h&:Η
'	L%ڜ_K76(g2P\d
(&<v9=!aǕ$
W3
$ex7|ȱ!ѝ׾tu`|t-#	xSsCu,|yT,Y
FE7Zt(= wX"jQX4ĄĚYx=>T-!;qJWDlc*k%w-H3m#[Y(#3G@vDSQl?,yY>	t\4rNLwBjry7nIϓb|Ir+H)cʑelI#bepøEsRWIB9F!j}f:tL-$p=ё|Q^ɛ;5F#kz}U(9)Pb]Pk	R	y!Mqcj<&@4I}іd[ѥ
(u-)@HBZKQR\?o*ze??HJ62i6?Hh}Tn$w>$nd=,)#i_f?Hax}C_Lm~RԻ~{E[$^avP*E;xdniw:?"Jk6IgH36A#.g? ?3AU($g?h0,pȷE2}{J1!.|oT4og'Gܧ?UŦ1h-NŒ{o.h}CP%ן$"L@ I+c%Ŕ9AbYx1A#R1AVfyu?,K`6!tdaT%2z yåo}t$mC݇? K +,}C|1IHPF>?H{1AMSSq14>aJ29HZFФ9 YStcah
jWy~cd臆"љ]#\G?DR.`}~a81A>vƮy~>A~\IG? w|I1AO]n$<RH='?H	wyN~#5'='?%nyN~ޒO~u_M:}N~Ў۰1U4>[PҺ,Mnv(9aI*~hQm=>sF)>9\{}ߞ}2KZWpЉ=$!‰ٟc<ϱwy}m}+B` =89AB&Q=>HHH6ANfI܆>s4`>J=
RP{N}a؇y&?`_|$ #L~B
9!<܎V>A"c
RDZgC³7f4L~@}G?DX>A:s0&6a1i?'?DTU#l Y09hA?(8YG}C\H\!G?Hl&-l1'?,*bcDfk~k#(ؓcP0>9Ph=g?(fx}b!B??HvDCzZ"A!CtPdPg9Aȭ26!tyc}0~?h\O"?(ط"ܦ?I+~܆BAQPߧ?GȪUOPإpil}Ðp>34lk-}C}NB1AB|RQ}-usC,bcåS"ix#)}Nw,ckž26AC1I7F'ܧ?(9[4~.[ hD1Ax~ WBܧ?(]?l	E>}=EbTmb]KJG(/%>ApcC k)qqil}v]X_?H{>g?!g?`ielcCsKWu %G 1⸆0q1~f?X2>A8P~nf?TE>4v}4asQU ;&
C1AcgD}tp)dJzamT/$
$.\y`}؅8LF@
z3OͬʐM94B1a;Z쇩J{T42V>AQVeUW*!.oĶJo5L1A`z~X\5j1(}R~@}_F?h\?F?ە+|~ȩd9A>jzcx+yJp6AF	sRޤ~0\"j㝷
Ea1Aq7~Mȫ>!tacq XhhcCQs H
G5x
7O}g@$sưZK#tM~L;J7hsC`k٢]W8s 7}adH9Pш"q O6^cleLmr~2Ab]r [o
E=?0|rgC5|_f?rxKYҎ
#}Y]ጲ[-1AWc=GT9횧5J.$lMm_TiFAsK/:t_K,4㟇~hxS$SYZw%
(Q
i,yӗRs1^T+NX=x&%E1U\t\*YPxyʑ)TiBUf_i0Z*5\Z4NCڇvě
dC$/QZ^}ztR>\ţEmwK	XmCumkUkrx.*bSG?k2']3bi;bxiT"ވ4{r/!he;LYqNUWeBaRIOvJczTO`ҳYR1%LDأd(kXhΡjF,،R^.
	9
%6zo .ȒjKJ
ʞ~OWKrIh0qSL DqLXy&݉3)5b+uzROVA/E03D#bLʡ@i_	u\/X(4ts)Hѡ}2L7d NKuT]ub3[U^$ȿ9Ԛ)]	vc۝ξ";44W]cMmsj'd#WB2 mgsDᕫw)5^=B~ݠ^ʪBARՠm׷mV5!v#p_v)ʾq.
[ANl16SxUhX]*uԚhh[H?vÞ쇒nl/b;iF	tZ
vS[z!#\bHr_J."fOC:R/'447WgǤ&L@FQʼnEC'hB#WNKJa0TX;qūLT-~
QY *W0b!A43=E/Vc@J22<Ô.F%>z/	X#vE
?(Yd:bՑd.3PڌBf̑:5,:*V>>L)l1HaE Y0,v趚JbB$-&穐W'އX.`llHl°FQJ"mcp=ĚH_*Xl2Ex#c;kkvC+8iK؆aE~#f41Ãs,%Z>:*T/xV*rD5`w
h~@QW8B$͌U8H4հa6mHlM2.죓Tᇾm@qHN3a띸B
`ŕvbwm=?nuot	xtHi*L͉RJC8-Nj㴗F	vq<,"gs"hR+3|x^(Hy:K&*F=ݪDˢ{ANu8^b*kK9
&2EI[StI,>ւ:?8ֈž꒍]u:_DХ"kE-|p-d(^*н#TO'f^xs$ʷUb˘tb^˽(#q93ޜ0{f&B"28ot#*d>3v1H?}6.ttluÈF~XL(evbg1ċ"k>vC% B{oUU&{r~%@ݔؑ\~CW;Qd 47{\%5,fQE.R΄V NEG"yISx]*m
~S^g;peqqZaZʢ;^e.uQWE!Nts]>q	=rDutԄ&J[,gkHd܊j*k675⁒WE$,](9<%cS<.޷8X]2eBcOI-(WAba;ZTUgpi„!T@!5
..̩`SgPim-]]&S=1ܔ9+Z29H#/sW0SQP\CEibpM-qX}SVo9u@n=˺з8gBBzLCKe8sa""]S)wܠ݂
qSc![;"qm2֭ץu+XJ9J'#՘D̹j$KSaHJs
bmtejk]a&Y׸/>};";.UƉ
(LxW)j6f
2֕4b|gMLJMgrː,n#?q{|Ԕ]E~N+kkohllwi5q0yk9J&(UX!M+"rW:9xDž2GfL#֤`I.}[-,#ct
]=}+G8%|VJ'W^@eEN6ԶF'Qpcje`MUC`.;P_DӉ//+R85/q!nY)nZa@K*mȢ[\J_{(zL1W)W0nS[E¿
J,};4h} Hnl"Ummmr_*h.lZ͜ƊDZ	#6A!SFWxq꘍#D[qq&7Ս7qGh|W
"CvV͇mg$'衜z,%RTSv
70X7-UV5v.ʯ徔bP4^T_._-3=KmP-cU}aUE2!ka.}+{آC_lCj,,PI:ER@#ȵZU6Y4)V(6:),ŋOA[VA/vu
'*}*)Nt-eҊb25b)TCE};AuA:=-\UpiyU9zV:%\Ty&b]h"i(*)֥1x!
Z*i]8	n)o">jeԼJ
DB)i(>%[in@zH>3Nb
lZmI!#8U`H;d]!]&ǥ2[	[h5>/3]NnfUQVj[ߊڅ;CT-/bzI<%UoPTaR[n0MX?s	*8@:co;6D.Y|~|XW?Zi׿?@%Xs2]7A4G/O!GvWx:ʺ.,RhxMz/4w&?:dL-@1F	4dU
zuEcI+kW#:HSKXgZ:k&Hqm9217Tm$,F=sm='6Ô!EpJrA~1&*{r]JTeT9ž$AtEz	(a9|Y/{0.kH,ˮ0BƐ`ۅ˿.Fg2iE۝Q:iiSȉo.3GY3Ѵ‰XrAٚŠ{bs3aM_9!o3r,)1<8FGD}D[tB1ӧS)DÊgWР3O8&=ao"1lxI|@ezOšQCEcz-4^4,	Lěf+Px|̻Wѳ,y̤y%kr]k'y>S,Ĭ
&:x¿Uqœ Z0A		A:uǨ_p@rFĂ8b&W{бM`i9ų(`;҉%Lyfmu|y7 $ݎ;#H@Bٙ0qCCQSyrq#ndJ()HXs<^OTI-z
)
a8C;	'ӌA҆z :U2Y`
p!pCîcHQ9e(DRCk6"@)$Y*ktcxd$(<TW>˙sfU-d{&1Yd塼!sy̍tA1%e&l,,1-MT'.Ii2hU@=Ǧ|{H\9M3,t)GT )|͚VE BN6e/`[HO+p8!ClE5V8&\S,X_K9 ldS' 3Si

[بy`2dzcqxgNLA`:
n2s/LCl˨xp٪Lqğ c9 >p4~; w13=20g
mia&f噝2=v2VB0:+Eoj['aѫAQY@qz`C߬V%Q~5	,]1.=c^$aIM6d]#N	'7WtF91ud)XIA%
V!;]]@`D}C}Z9E(sBlhJS`аmtQ\7lbetUJ4dm'6kQ
 $'Z$լ	T!Is<]HIalunpD(Gؑ.`faLA%7ۓ}jx!'';!xu$b`HV*,WåCI)ǵ$\CQýPfy*4&b:yw"u|!R@L1lz%k
Q>>#	Xy}O5
c[|0Ǯʷ˭c4=gINEɓR@>
95]脩Ly3'oL},4U:URŘJF'q:OT8T$\]DJaE4N9:]8PC
Zh2?Yf.'lh&59?˭3Q$ӠhXɑBCd`"SJJ&8$unA!dTZsOp1 $x)&J)笎G)4X%,T\AG(q] *ŷd

MfE 9 Ĺ++AXgt^X v.3ky53+B#0\EKF nq$L3&fT=XIdW~Rx'(e0߮UV(, cALK߬D*qPqU+uvlvBsXϓ(7=9,;_mb:uRq|ΆMRH>2}:uf0GUt&(򃃦q%EYkff)DQ[2x znA[c#HU&쑻L}vzNuTf$IZR0)e24z $ :s-U⫄Pv{cM%SqB$e3M1TpNi=l/Hq@ӉES*UUEZ1vxfPUԤm2a,蠴y͠5AC:LRU OO=94Ո2&@E?Ќ:ab+ry0bkENK%\@h6L줟h&Zq{ؤi:cǒɣ]6K Nc=Z26Л+rPδ3{uAbZOO\qx@a߰odD?Qmg6{qheVllZU2dz&>.(f.Œm2 [q(Rk~nuՕ~ȌӉ<{ΤW\޴.QUp k,<.`M;T&e /g]&^\WR@XvDub-ϲqR .2IcNU7RiȔ鄞[V'a"[1&ǠOSX))zchr)3EyykMӅpc (a RۻֵQRk㉴1LwuWB+%/zJE:IuŜF.39Gf*]WxSN 2a|x0Ŵqbj)•`d]͚m`O+;8Ҡ]trѥ! 8ѓG2UHKj *'ޥade6u@yM 9(K։i4ktI<0'}("ST"#* 9;iVxVLj~O575*JJ^n4TNBAY}cFG)Di hs9@*Pl&mC&@[FvQp|_ ȓ!Ul"ry `N䊉L0Ԕy2f)lҝm; ! @/s[ќ7]ݨHg zctB@h 3GaeKm˓@<&=a͈G|J!ZuB.kB]m;{r-OcQL}&Ì tPr!Y'٧ʰ4SZܐN A*'C)T.° 9|ʙ1rGO|u.5gV`2Q92eYn8֙m4t@CT,}dGRjh$J2٦dD2RUly 65)0c6yp[&Vx[nFSeVYٙuޟepꎃMqeeQ ي?$^\;31+1vZ̑VLK5bZ .@pzHCI9j8BY"OSD] H)\i:历<ʽ _U$uN$ 5Ób" K5!3 |'( HY;'sR1 FwҍFkA61O (oʖcVH r^Jٷl!so7ifZBZ1d%kk3H+ c_ cVB%$1XQߝ 1&9ww=!<aF[y>_(W n/4 > *ЃT&Xah{Ё#ʨWO&¾n%U-L(7@9iiٰagwNb\%: ;:&15E*~0+S1tCtb H85 'س'7v8S5ȠMPQ,k&@W* y)weP8i ΑKDڝ's]eJM)rKO^TTE wr%eJ^H\0/W] @=~E>(WY]l?d4~ ppQX 8{q'fH_%JuV(lƿהAW*hXq]kL*/ܘu;E.r#D"ŝR4zdv7G^lMnRri=+ Cc; _G cӫJB):J0/Jr90>pVWlM :Зk.DUܢZ&d[v~Adz& A݅͐R4{)64c% /] wN J}氄<''n?n j LM%VA/ެ!&u *u9+eܹ] 2*_EH&+7&ku{f3?q>)6ՙ:HПT$MXg8oo6Har:u'ʔ,0ȅ1l4Cpi/S@2ɽ(^n d\f!RM(Cȉ1FXQZtup_ L""mr+vVw-`ǚOtiET{"_Ȕelﮠ2 7OEQgvw4[K"̰n[˕Y)7̜U@)vU;AޒHf=(T\*. Ds+0!t `zG̦ނ vIs坎B 2J=<}-}&TĿ`pP>4-Wj88eԔGL T*ɔc]V@TsYR2"@*WL=Qx}h0?|EP} "W.-=S_qQ V( VW3ۥC@nI$rbI`-12m .§nz#-FE#ޠ„A:fusTdw͟&D62)d }k>JƠ{8fϑ[)4nKesi2BA@7Ywzjr_"-0bvR|IcsEpFc!_x b/ EGuBa !jUPC*4@m@4;b%6-h2 ;S =⬋ !Jv'.~> Dk0X#7{/J.St:/z)LNjhNf^6`0.Gj5fdLiJ7wzyYFuAPu3\,X=.8)&e2XMb ;6[]QY4`li`cV:Ϸ g6E%5[ @mS.o#n+ʒPit9X{iBqlr a Q34@ 8BMQXΙh/cEje-nSI viZ 󸳨om(lnCEzx˪ 0.D74TtT2LZ=*}ȉ8>CzJOI> 4~*!U2eJFnW!uH ִ<1+%Ы$<ʡR3}f&isXĖ&!+Ns5國e{5ILoA0,A(=I޶eiQ5gmr 1Lҵ:ULˇWv .`xrE'##2& 9̫>8SeR92Sb8sҖ,քp63ddb`dKl2I>""gDޒnJ @c7p:U(rW4extDLLɹRm7A[7rDy/5A9ƚF_UJf2ū@B$q0O[p`9qEPư U1b͛$q6EԏP 8":N)8S5~FBXgQ;8ݪN[MGIp(ہ-C%-L|xw .RB7n8Ng@̹ 60%g}8fcEF"y@n:3)ŲQ#S/sxNpÞ+ $=!͖FD+ܺ[E|qkd STihd,XG*BgԁLfF v{2ňpZ@_#K}HPU= ?t ^Q^hb9R2!T ьw72; =ʖi3Ў'|.)Z. n]I\zOr"З)**Gy ή2]KxZ%lCҾL*YAv0fnTayΓ!x#2$Frt^"v5N(ٝ9b'EbDYGqm*'u<ہ &}$9XB(_.yFuɆbrS:y"5̡4͔PY&g^V!vӑkTC$2dF5m9 JP ˾Y/QBhFj:QfVW$b圃PW]R\Fmzf~!%&t7p*m&/ ӗr h;I{%:{RS=0m3ޒR1q_Z2mY8h_q((TEUKq!6 K$og@V|%0DF[`8I͛VpK+' S޷P|%nh$How؋~cvs UQ&T|]< 9ۨX/8-NS eefgOߛgP~"UruYu>3&=B7Un6P%n`#~2TvݻϚdC˪t0w7S.jeVWݭQtEs )k±oC,ؖu`F9і] qyP sⲈ }vy 5Isp-ӤV!gPT#n*n3An58[*X,crh{"/b9+nDP uO1F%K&E7+E_S]@܀h2m^&c3'̐"m͔)%Te9RCӶlH)ts'usD[ RS3c[3_94ǚ]LBX(L™ڕa)^]WN ;H)(C4XӅ0rW -*h˭xduӡI1. ]1 =~Up)BBcy W>P&bB^f!x̠eJH4CtqgxsdۑC[ {mwBY1%-ńef6c;+o3;AR zJB9?;IDnbG50a ®O EМ /JR"Y?;aJMUVJ #Y,남r $de 3Rf+|JRP t_rN}+Ln+TIT7)i)^V̕\(*C7ɈH۴”Sd`,tPRT\f qS)U-ct3MQ o)uKK< Mqk\C79mJw C%G䴒{|`XLӖp;VVbȣyQ'RpZdzhG /WyB%gK :cΝRFTtAT_3*fo2hdUW&q-B`#9F8gH24[7qM"15szQk-b9=I (h ?3SRǤ) 0ٲZs`rV!IHن!Em}fΛBE5kLsRʔ+ p ||#a<p[hdeӨڷk,딢~PGoRs6XԙH p8BTvC- )}T)GcQJidI +os ;Ցb9 ǼM ,#`¥2wl:Bo lX\CKhʠDB&+I Ҟ$Zq뮒}COs݄n6o^k”-UƧw\Z(N!nȇ)Dol
Back to examples browser