From fd090602cfca343a5d4c0c2bdade008956ef8876 Mon Sep 17 00:00:00 2001 From: Chris Wild Date: Tue, 15 Oct 2024 16:30:09 +0100 Subject: [PATCH] Finish variables and dimensions episode --- episodes/fig/dimensions.gif | Bin 0 -> 600000 bytes episodes/fig/workspace.png | Bin 0 -> 15468 bytes episodes/variables-and-dimensions.md | 109 ++++++++++++++++++--------- 3 files changed, 73 insertions(+), 36 deletions(-) create mode 100644 episodes/fig/dimensions.gif create mode 100644 episodes/fig/workspace.png diff --git a/episodes/fig/dimensions.gif b/episodes/fig/dimensions.gif new file mode 100644 index 0000000000000000000000000000000000000000..8adaa3899f5727fb6e48468369a6c28750ed875a GIT binary patch literal 600000 zcmeF)RaeyiAMgEPz+vbRkY+#{L_k1Fq@?6Ww{*93$I#u~-Cfc!bT>#!Hz?f-`@iqS zwXXf;h{f4(z+yeu=ka<=N=xwa8F+)=A}t7lOdUhha>_qQns!7>rhWL(jp(ayYWEFG z!=#rjDzB#()FI(emDO?8H23|iWb5D)8=06_q^Vi&>+A6Dqb!2}8o6i?J2yS`=kB5+ zFE*YS4lZ&kVLfKP*OVfBw4dJ72#L}OTCnh{G4coJ6t%?1S6W-=%gbj93g$>ibYx}@ z_x8dh4HCw?duwWHoSj?8hla*S^UCWw$A?|Ql555XN(~L;%d0C9-Cj8bK8e}Xg4#Jv zKgP$$L1f}DFE1bvi24OX?u&}Dn25p`PBwOAr2qS)2NX19kRXWlf8T@t@5cl|UJ!nE zQmmvg!-Wnb*8DlsrA{(cS~W|RE@Qtvx;JaxB2Uw%4jVltY}+@^TfF3IR?qG`e5THx zUf_QI0f9lmA(qIY5s^{RF|l#+35iL`DKX)x8JStxIk|cH1%>|UMWtos6_r)hH7O;v z4UJ7dnp;{E>f1WIx)D9S6&-zpL&GDZV~zvkQ`0lEb7hnBi%ZKZt3E&1Ha54m=ht`k z4-StS_l|%6IXh20y|}))y>q*|fBO6H_VF2vPJWLC>j{9qruk4>o7Wf8KrEUmRhQ2Y zM)bjQtp)maCys=DKTQ)}~Ym}LJp<<8#WL^s^RISwaeYGh<Gh2c z6d^#%^ma*ouU&yKl=t>`<)i$_aKoCuA8f5HQBP46Ro77YAfgue@l6Qu^z-u7+< zMzar!fsc|74cQ(^%tn0Qb+yEUmp>KnL>s>w-ig^~%7ueK1QxU)OelPv{x>1)EfpHN z-5NPK_Dc@)?ecJpxvu0TtQ!ou*8(*19rX zfK8q1E|Mt(QKSdqoi5SBBp@*d@dY0-;^1=4(t>P$UVt2Fy8I|Ix%Z{xkqchoQ{nhe zw{FLkxrU|^_#Y+r-OoG3lfmuzjk!Wr9Y?E zeBT$~NX3r|w(rCLj^F4-E#}zhiVi0(6PCZie}3P2QoQ_1)s#< zk~{gVvDUln&A%iX?5h7&@AEmXha7mrh0q87zB7J#B;}1aK@3(Ho$yoDUQr7$y}Mf2 zVoy{~HUdX@{Df--Jw0EY2r7U2XDCWGC7{w=u~nLRFdPPeHvzs_`&w-(XHJY;%U%5#vBX8NwpM{Nf|u z&@205=i@(rI*lR3-c$mQhlKBb!o?qaOa0a_awEJd(Cl-;~!^N#?*l)NhJ{ zK6Phufl|UqKU{kyjK6cg?(ZL`9O$RN+;k5)R?ZJc5u08+w`x(Kvd$)m6X`&U_>w6; zz3p24m32nZm>(V&Pgu<1w=X5PtJvs}2R9~pfrY#w=^v{8h-=6V4~AnF!cftqT)59- zLowknEW$5`M9eJO%Da*Di^YIPhQ+X~Lz<*akVv88BCKXUD0m3u;e}CC{;Ra=Qw(AX z#h#A6OKgg9WOgegX$TT7fxRNuJwb2s1ny<#A(s;2>yb&9b=>rr^tasK%et*rs59J_ zir*bW$pqDC*kEl6#4L3n2su3M6&y}qMi2F#Maub!QuH2W2$_vY*%Ftcl$r=JuKe)9 z539+Hf>SFbiLSt^;(?L2i<6m>Ri)s?7oPNoaufc&IyRe<;7AP5{A1Sswvwv|J@2bJ zhRoh;+!|>{WZm#k%axuyM;H@@Y#S!hZmCPb{b)9(-MkI&O+5Yro&1yVf(bb$4;X7e z{rUCJYPOvUCwMt|p$uKlqoHza15>^KUTDp@Y^iM!M0?6?k(W!N$cpjgg8~D+O`QmL z+C8D>Ajy(BrW&?GRG$WJ1!O=78A&+nlnl12z7bSfzu00;&WRB+AyHX1>_+DJ=sM8^fGw%s8>cUzO0=ZzdTz~ytY&=B*^Bs#>3{aIcpT_D=90|XJidguRZov7G}Zj zenDzPauon{LWbf%xMuqGfK40;_BY#YdZYxOI<^Oj)NUTyo{J|XM!X`H4MHgyvaj+ zj|0t?FsDwUS0>EGQ;RzbU$13Y!r%4>vonBDREdvow&Dqp6)j!%T+#isvQbi@M7(qZo@sdVG*-$=o`RhGuW@wyzth zMqi)i(RyNy>Gn162-}#lf^5GTe68H^`lf8F*{S@azgA4qdVhbF;XqBSt@G|opz*0H znwgENMd!RP@E-RG@}+zEo1O8-$9#dgA0)a3Cq`bFvgjKDs+Lc|(61eG+w@igj`-(X z#JIjJF)W=yaYVGQ>(_L!#rqegm3$I{x)M@(lZJTyK!2*}}8oc>**f9anS zpms{a%c7U~j68dh`@*Zt=}jXybdU{w=Uf!_1+N^$1Z*T6S_`((Lza*6BJG$SUq=@dgP0wuB z5?c)VTLR1Sl&;-HD%j}He4{sABymv}3y_nIUS~FR@v0PWC>~)FkJo1hbI|nHh;ug+ z7q%`skd%vWP7mG7g&AI(zkvl2{nqxkgKO#cc!W&{kd-9APD zzesZWJ-%{RDUsqz^s$+t`s9Y+c4=o-`^MOn)60NfV))zcBEB3W++W`q2kMkq>)lr9 zPk`r!oC1k_r3RCf36lbh5?|p1zEu`Zj7(RrT5aV9O68(o92~~`6q>FrS5Si5wVKyB>)PueJ z!Grdv4Kh-cy>R5kX0Vc>#G5;nC`O+Ya~#F|khe1s&L*vOM%+y(>b3^KyoONiF#evM z#HCxzHDi=DD0bf^T0hDDsRjQu7uJi4Iz}D)TOo!HHBN|FDX}!VBQ^4w9p^)V<`pq6 zK3^okQ4oa5@r^~4DLjg>Ck`v@``a*V>SYKD8o`5`@Nj6@=wa+TCT~U(Y!1HI_nP?J zXpSF8K1(2>hL>o6Itmpza`}%$pH5nXK{K&*GrAjr%?bIYEE$orZ`^A_E5k#iCY7KV zrWv(F_M%c2`~93Fs>GR?58Gdqej?c*>A*QZHI}&tTR6z&+cM4-gkJDIalRKuNH1lC z#}Gs!b>pAH(1Tq*!{t4KbH$@Otw!6a!t~+cHEU=<^d(68KFw=5=6E0~y*aV;J~0i= zF0(aV*gt`6#L;(`B+4MbvXH&pAnD>f;g~*^<|3_YnIUZ1*Vn?lE)*g}qr0w_+!~h7 zTcQZnckD?sHlzuRP98=-kSLMkJJL#*r zxi8(pxmazlLFjoauslqyJbL@Qhvh`4-aP%Syq+axns7o|{%q6Dq&+SvPo!W5%UsmJ zyk&$@1&RkpIRTRgZr=l=c5;DmUBNLLnaQkWVB?z!v_g^c2(ECf?3tVvT;x9-g^3eEF zi(;p?c)OA~yz~-Jegc={5)$-MzsJ`B<;8P|Vh@i}oVZdo{*q|RJn!<-Swv}qOj)2= z*$krib9z~nW?9@LzchMzURzlKx?q%Lxz-@oSw(XxT}n)`Qm}c?3}AO*s@IjO67}w_*`4@tV|U)slc>ML=s8X z7f!L2^pu~Y6+4bqJCE41TanD@+%{>|%No_a%siRsHHWp;zm8Mnk4SE1@b5<}?}dy1 zuGHxIp+*HmPDcx#v}#aTuqiL-lX>z$o;cvKS}ZaGw_MV{bajUwWf-1yla{DjL?1oF zYBiWK2{G!)xA4CZ!aNs|U+n7_I)1NB|3LJuVHy6qyhkv7e7gqgsti%&k=abhs7FMCU>QwROb6yAJ|W*80V7l;<(ROdJbP*`Fl)pN{x`t9Yvpe%94jyOY|Bk=D;FrM zTx|<^Y^!ZAsTXLs)oTB7Qq+>suH4q%fl=7?)XqWL(aVzG|E+`2qht76?r3|*?Q+MY zRrWMlXDN5*JekH%&rY4B&J_&hwbf4Ko6gN|;@bjUI4WKHCqjoAUCj+$r>i`Fp1O|l zyDuYHuD^A=J9OV$y?t!&W}EGP{z?NPN04wLQ2xRoUI^rP1iBX$<{F~)_yU1@N`Wuf zGp*P|L{3he+0$6pLvBq<`L`zlua}0Em{z;j!M>MKFrVdb>$|l|=D)qlczv9I3AnWT z{oK&1A2lT2CRcd)*U9+gJzi>7L|im;~h4qgWvyl*s~5fvUWOK54mc0x>pW) zMs|9i4*7O;`mqiNoOT9T4~GaUhyXPMs2M=b0BQzMGk}@_)C{0z05t=s89>bdY6eg< zfSLi+44`HJH3N8?0ldus-ev%AGk~`lz}pPqZ3gf*19+POyv+dKW&m$9fVUaI+YI1s z2Jkimc$)!86F`~((gctufHVQ52_Q`XX#z+SK$-y31dt|xGy$XuAWZ;i0!R~JHv`zs z0CqEg-3(wi1K7;~b~Aw83}80{*v$ZTGl1O;U^fHU%>Z^YfZYsW1r%5T1y(?T6;NOW z6j%WTRzQIjP+$cVSOEoAK!FudUh-ffZ0-1r)ex0^BqKZkhl$O@Nywz)ch2 zrU`J<1h{De+%y4hngBOVfSV@3O%vdz32@T{xM>1hXaz2`0vB3=3$4I~R^UP_aG@2r z&^CQ+>tEZ15SWIk7}gOQ8muk@{b zv}pkz@(X03NDWm$RBv>{k+1APuGI$C=-?ef7UsImAwLXuO2WHZ6EzGhxlpiSC_K~poQx>7?gVbNPf3;= z)6(xi`tT3O^5DNjEq?^tTus5c$ZQI0bN&b{{ZB8G&u#(7aB8lNe%QHRbJfr0jWedd zc944=e_>6W`y@Ea<3-6PJ+#AY!z(p*5IJyx)jW@*ht5nLoNc4@0>c6Ax^9K`!Vm~k z-!vi^9aKdf9!fh1jkLnix}=We++T{YA-zOU(}9+P3ZhxO2Y$v$(T~8v(mY4T?$xQG z`7R*h6iGweaU`msAUw_8#MmIF{ZwQ0pTZ#hM?w$^R_fk|2;|1hUx>p3oL~0l9 zvTGwKxH$+eO5Ov-Cke@zhQ{&YvfvbJlAva{^^AZ(`jA{J%baWiIFkRoGZW1F)pQvt zGCF9bECRocq$=L}IK|5e7HbZ2QPZ%dK=1G%6$wPge=%8V?lm?|9k|&M+EvArLYoz!q*SqZ)rx`<$2{DIzPPg-F z+n|nyEcy_QaasRPX~qm>>?OMQJxI`5^E@BRR&!)GgDs9i-W)sd;sJB3E;bRPv}aH$y4`hTpu-&sIQaf-cKau*&@oY9)Hc?F7xD$7yUV1RT zgd>lTOm{L@x;on-1%|uBCj9MkC^u73AA0=dUC?saE{6!`qrx2T^{FUPQc=O%J@DGx z92XU$xQi?#c_z`X8KZ{HAk#DNRk787;yoSR&@&>;>s%gMH&k>(<{&SDEmjl-rb~oE zFlpWv$+%&4lW?vAk2rG0sDD?ZV6MVB9ty;Ux^#YlCRo@D1q4R)$nYwt>0`dt|D(Vh zt|%GObib}=%2O!Z5getN7^wGWF6@2y%SCj3c`_wh6UT6+0wGrE1{H@QiJ&`MbYiK> zC~r^7Cwz3UG-;kDxRF}&&jm;_zA*6oK2_xBpdb2mB1}Q0Ik3?(9(87u-17iR{gXP( zMIkkn98J237r|QChr0=rVij>4V=KQ3IYA6}i<;D{Yzc$F_6q}Ql=0T)1SHthZzi;j z|GY1NS*92p5{En?+uK;kW#QZHe6A>F<1kxh zLoMvup>J5%g^Zm$FSK}ye6o1DFLS4TUxVsEs4h_i_J04Jcr_8lb21kRW0go^+{>n^ zeMsim>yr)fQ*2*~;q>Q?i7|E>txr|V)0kk6Cq5pMZsfxLN@t{$;5x6*n2=SO7y=7d zlMz?z&GtnT&gjrkDN0VlCY+$A7fbl5&85mGM$xZ^GVrxoRMfSu44=LWJ*1Y#*}&Wr z6D50z@tH!HOZ7`JBYg^@%TyG%6ur{m%q+?BI&T?%Y^SVAh$i=fzkL67{;dPj3~zCi6(_6(UWV}95{-(YBH|tEX50otLR4ZfdQfn_pqZMd2NnMH9AZLg~&Tw zJeQsQ^ahK_Lv9UtYE0>2-`3!crniG&sf%}~=GyE&{e9M;I&$&M6|O{$<|Q&WjVsEUh$q4J4j`*F`0p;Towt=4wAB*<@o2;yaGBE;8nTzl*_n^lW##`FN62@Njf~pov-y^e759Yi2a`v1>@n%z$|EyA5#S`Z`ntL3w)N)Rw4{to$0Xkl~(OXk?z{^;R%R<}X{coJ^ z!hHSAanuT~J1l>&6Yb+Ajr+m*x(%-z?rVi|r^jT}cviwbX+jBPg7W0J$;QDagsIx_ zZFasK3apU-JGXf2>m#}^O=V&BqBzAf*M+6yOS5P7ZkbceXYOQL(P>=L`yHa{*yIXD z*P@J-Rk=&8iWPD%m#KZo!&b3Qy=+<;zlzii&?xF!%X!^e6vnYA%mIYYJP6H3l+1*5hw-@ON3S2M!_I1X;iI9UaK& ztbW-3?Q|xlXL$CwwU9pdFwjYXN$mEScaX5_j-Na~zmbGxVu5u<;pDyT-Tvz1gQK0S zk7AQMq9)UR|12=@chOJsEj*T`#;n{O_^C8((g)_>}G_NANnrTh^B~0UWL)y9>kk$X@R7mcprLfXH~(YVABiI=2l2O z^ntoTUIK=(WJSWQ?dauR1$FM5)pGddD17+^k*H6__F0OorvaH7OLzU0worg|nnSu< zuw>)>zbkOfx=D^6qK)%Lhh0V<;zl8vMgIFh|7aSy$fzPA5wg?}mWLc-QwzG%pr>ar z)wrQIzldI;{@xf!OMSD< z2*r}Mcf@7*kQW*^u*3FkDRl2++&(Dy6D-&^mmN((?u!{wt9r~TZ^B!5EV_p<8(~rn zSG4Ghgh)i_(q1UpAs3fM!Y`;RY&k(O4NKN9C_O(WvzG2%YvTLmL?62k?QfjS?2OZi zab9HexIB{~d4Lu<} zGdD5lAt_|pN0A}Jq&0Db1N7C4&h&D@`v~8a3Y{!$l#9_9$^b zguzN0t#BscF)+VU=J|m%+s1Kp#E1B22nPRc~RmH z5`UYRYA3(*CNt78cN3NX8TMc5ME}^XmXiriinZuV?Zs=w}vrt9z&j5BR7_ju~yh5+py3q3(Spz(-V}0${}8t z3gT@L))q8r%jmBwg}<)~KcM7LnPt-PhrrMz2q3Yu2LY5VPTlSS7Ftlo%X~>G9^-T@ zMf7}Q3y26lND>_POSz==0YdPRgJ=|@=Ygguo@$XBaM)1bm6yq1N>t&({_O74sOj^S z-?~NlyO~9fQ=2}0SgETY(ScK5um_ZG&`JtL!v8Tm1S~QC;B2bpW&T+9Vk+#-iZ0*L zhIv|RvfpZPAf><%5}RIx+AW@^A08cppM~Q`kHjC6vEoX*!*19XuO1GuS%&;8qnmzY z6kGB)GGy!z(nOc0e^mR*BO&b>jy1zuZCWh9@>t;zYiF)mzW*SI46ZPTR<$zczP_Y) zbA@v}8eNww{b7uWKrLT&%M4773p;?EL9C1XX={lqT#X$rMsp0pYe*jI<`JN+L1|2P zRt&N#3z)ysBlea48!;&&mf0d?j@&$^`X{&S|NS@HgQP-GU+R(T{?w+GMp}V+^ybpA z0qoZ>T-FdV(!d?ZwaARhrBs`z!R$cONH|}vxf2mn-v}zll@maHSq)dAUB$h~m+u*E z`bbbYYKM;ZNPLe{Zij(wa-yX0l=hqcjTHve%TRRnzF4FuxeC7o8rK|#7NC96?2GW( z=V{S>!j#NYHf}Gp{fZhMK@go0)8p~u`)bt~U+Ye7E5WLJ@mGSZ3MO7iE66Bp5g+>H zZCmDk<$n>ao>q=O1PGU@OBIYG1ek3NDsq3@5hS`dv_!Nax4*7$tdHp>pA#)p-)C&Z zs2r=nF3YfQwK87Jcs+3vh-LN87{ANQSbISLb;z?_uB_wJ$=kQPW%YiV@gyn-80<%6 zxXWXus}(7~$?6JMkxNU;?egQ-+?p|{QwTF~BN@ZY>=knE&0kFIRizx*VR;}`&#b2k z2)?H$Nrx-M3sbZ%9Se^ZOIQh6=LzSrHupN_57NW9i_XjeH&M$Bw2!{r50 z`og)c+3lLv`d7a%e6}{Kp3yd)mT|vXz#8&c{_#I;gm7k(A}h8C*b9$IySS&9bgfyZ zt}X4Mn;p|v88bfP9M#B6z=XBLEV7yUBwG_{@WW}}4O#=#t70Q| z&=S<<6idt(iR*!>{9b$Dg{;{dX7tu;2yJzcZG5QUcxXj=$d7fzW3)f1QvNe*AF}bA zV@(|Y@rZ=A7F*WA$iF>b6$Q8+uuCFqvt&p5D?a7PmcOKV4R^DT;bx4wcZ^14j-^J5 zDtTgetyKtkjdR2eyPpr*;SQ}akLrw#7mbaO9gj3eiuTI}wUdwhEJHo$8AI6`ceC@( zT^m}r9^YNV7#T0LvYvQvFzID65-UCNeRZOgEsbJ zJ+$?A9HR<d!ZXSlQ^EGo-;2p6rtj24unb zwPE?+drxK%fm5#fg~Y#5d;Q=zI;`}w`fXBkF8XsRRyK%J?YhLKH144OO zZ5_xq!3$OSBNFdk(@~6YX4$HDz80mPNAFnB{HU)iOiXwwN8oA~MG!y*GwSXP4!{PH;G_U$1ackAKqD0J=2?4np7Xh)@NCHpM)sr|os)+wF+z?rItAO4%k!ckQB0?8>om$y4s3vhJz;;ZgP3s|eWB%El1y+SBbq)p_1C zv_&-#+Bc;{HSyWEoP=0(?c4f5Y@YXRDGwZ~_nmYPOnnaA*!DfT4s_QKe5&{0l!xj< zhkQ06P>J+Hrx4*^^?|{6NIfsuh40z%IRSC zm*MPF&c@SmA)(3V)9%;5XQMghb${d<(?C&J$^Yd8>-Z|Kp7)9^g(f%B|L5SXc zt~qm#?MsMDb)n30LGVIACYCJUiKKfFL`Dz z+2midQ(duhTycG0{it`yr?7ATJ0%J1JJunBhW)5o`XO z=~5?|Dy^EON|&+U9^IR@Zjq;HQ-_Tn6SnOe=Ph1xHLGX$|L?r*0%|BwLxCC!)KH*? z0yPwcoL?0~ITA*)-VqjwXuchk? zr9V;1mur`C(2b?A6ShT4H_&&d@i-nkg*cW>z2t0qfGK2D(x>yK5=aHg8_SfnWpiY* zMwyuxDgY@DNO?fY15zH4@_>{Fq&y(y0Vxkic|ghoQXY`{Fq&y(y0Vxki z`5i(Q=DN)xKMZzC!n;}%H4I8xD5jrZDa48-wTfj41nMni*3+$$>GA9G#UNLRwe0aj zpn;&Jqiukc2c$e8{Fq&y(y0Vxkic|ghoQXY`mU}MnCM_ues`H^Trv|UpvUX zj=!)b&V3S`(z-pey(L-mZ4$ihwdV%49c3rnZdtnHKsc#w) zj1H=z4iBXrghpE7Xk7wQ9+2{Yln10dAmsrm4@h}H$^%j!kn(_(2c$e8{Fq&y(y0Vxkic|ghoQXY`LedbnNXHy-+x1NCM*+xQ@uuwRot z32P}-y;|=Z6h)97o`Q<Dg>TlPEEaeKJtxEU zo~0n0!q$U$vo5E_OeC&j^8y>5+rt7%3Cp9R%P;=$fEOh8JPPYhKaddwly)d>46!pO z#n{zcuu{Z_h~%1~>|3g0iEC~ZStiS%A^QpmTaoj(Z6PdiQavoCLFcu{l!Eu@Qph^s z>0mHekYo=zf!`yAF5~&Zgd&YX-%NEybo0dk+!x)uTmOfPB@`@(0+VVOfhe8PW2zjR zP*{{RvHF~^Y$1>bzAV`aUP3O@I{loAXsMnYwo5Vtd+jTY=DcNOdmJM*G`jwBVM;aN zBGcHzu8TXQTO8!pBrF@yHtXtP%{}nUb%~Rh5#L?l-`&8YpsAGcoH45Leia8y0}^-*1sSI_7qL2INm{<$!KPw zQKW_y%&QIr1}>?P3UezSTswmM+s$4rL@g-F5k@`BB|;Ni;M;*-K)lc^%0+%5Cm*TD z=5bHG+!}%V?#!vI3JInvoIF>^AIg!T_Hd7%A$KfI;EMkhmP0 z{DOrV5^1X>RO(316$R@xQbK_yo;B_gQvo%O;!v$lez0SyA?44+p-)1>JXp2pO+4-x z#H7NB8HZop36xUQd+C$a6s2~b3p%B9m9WeE`v`8Pxs8^hQ3u55Vc|izuVSZtqc7<| zr~NocD&c-fyr$&w?ja_mzk?B_13C4&?-dqORRCXW@T9)1 zJXb0FD>yOwKJ58EFtE|AnShlRor<#%mwT(oilBmmS`>dW}$o* z7S{9&lI1Hm)jpB^8p{f5e3?zyIm?)dOW_#eD`tHD!{Zj`v}83auWDkwWt;V1&#^U0 z)PM{1kTQ;gp*+P%f&*VE;~EwO@qVWM9iQOxRx42Zg(eeSRA_BxrMS$V%ba_nOhpZ+ z{Cb+?OQ*Uoe7CtgTwMgR%j*Bvu{{z21taZ~>`~uI&+M{oH(MUE)CG@?n~N~Xxn#|( zts_s$CDQrh#=fx89TR~jiNNg^(`@9S`|OKB^;k9W_~Hx$sjfVuVL`30hUtTD-!vgLvy1S(zQ_yz<`m_laO{PJa zQ&kYkS{N(Y-INu60~e)NFtpvE*O$>UEzj(u8lpBf&%v?3BVLgY`BCXPXhuhBOoQ;m zzPxB`&g$iMOmApSX`XhyzzBr`%f9U=b8Whn-J+d@_Czpyr7cZbz_>Zr>XMigcR&b* zVzQ3R5{p6+7S;RC;=j(@A11qyofg;lnHvnuO7)c-}sd)J_Z>^HVwJ#I<53|*qww-TP zbwvx}F9#W7VQ_N|y_g(1^yAxavq(8N-h4d+lMm!LtIxXgtFZ5OxGR{!wqoj*EM%W% zL}tYG9{SDdW=04p>;ue@l?7(HkKOlwpMUkDBvNoSjLV9Sof2DLhMzo&3Z5gU{AH0_ zDI$%bwat(DK0DC%D9!cnpiI(gZwuGcajg?ILr?5v2XsH~T625LG8KXoNBF`^*#Zj@ zPx!@lKh{lMRk3@;XN%)J@Fki*Rd7}wbUvl-zHo-BF2xcQr9}WT>|YpwcX; z`p*BBDBxbz-$^oXL_bh>Ns~VnqC>4AP^6JC7?h|$rx=Q+*kj*F>ysfILR%6vG#G3J z3(N%v55s~TC4)7HQNN*j5C>b z1>D=mbADSVVj3#Jjv}_0QV*6u4b)unlHv_cce8ty7-n=EHUuGYtrv=Q4%@8_f00iK zoEp>~f8)`i!BRVHn!$_t$2HQkG+h0_A7@dj!Ty_S5Anb-mv605_hDqsl6_yPZDlIF zF%|MdL;StDt=58`k#trjfB88=#u=%7u_4Rfvq-k3^5!tr~{dnv4m zS&*)?Uz~r0vxw>$qhDk)^0h*YFQG^gFHA2k62;`B%f6~5ILL*_h`;2mOR^>P2r?m` zHkjG?ft+osd}TONX@GB%w4pK|4^hiSu&N+ZP45c$$Gk z_M^lPOm3LOBJNxPst;7p5VV}U@2Yj|o+T;80nQ$2aDxYo<`hrsLG9WtW^PDKFtL!} zIXK7wj;IU5Gk6P7U(Wfw(4bkRuIUf= zS=i{g8y|986><|?{J*@);V6SN5Ex>iqs!unq%`NeGS3SZ&SWyqY`UkP=-2@pNm&oU|*cKv|J#3nC}rw!qf)kv=k$^@-Dq7?W!R2ys%8Xz}mFHdNke8BUyX}Suj0Ln5d-upa{DZ)jT~TR9!+Q z9QA_7!8MduF`Z9YE6@$yKwYblrmcw1GB_$cJz^B?s+NftqEzvwRNOf*sEsc~h9itL zIElZ|f7)GwL8E@A#1*&jh_9@YG|vnsI@2TWqLD|r0yz=Odx1PpwsYMl1YYo^DH8IRwi8c@P#A$1qZCEmcO( zdtUBHT4CA?;Zp)x22dQNRA9GN$+eZ*oALe%FGybyxCx3#CD5FZDZFsQSjQ!Pwoh^z zt&ZmRq1QyW441u4&wN71*-X!h(c&d{WqSX{v7V>a4`Dy`2uY(Bxa3E5mO)!O&gv?! zL5$W25<#y`oY;uz&_m>TQ0g^5)Y~BJkGSwANFr(m&RfYSvkOsAM3`M`h0F zJ1&oJtL`Jku$|6nRCj;V=gP|TMV&{pZVS}rma>-uc{$Xm#!@GCP_dFHP(6@Qv_Sl5 z5K(vQsW`Ip^t$&XiOBVV)AFAP3XZw!Zb@X9S2&X}AqoFLUZPVOND4Wr${a=x{~CO{ z-N-f8ym{ZeOwuwX{q_7o?vrba&QX?YqM7S%QVGkK*>dbJOl>yx%?hhV=`5c!t$y^H zCm4}%2Gpx2ctY-PwW3}zSFTEN;SRS{)7-TMe!dsi9q}Pb+Br0|Vj0&779$XHMdmPRa~FTJXd&tYNgY zZDL*AI@yHOo31nyFID6|Rw%U*F46G0sPg`EEPrWwi1)UWz#NnFPWUlXZ~bb#bXNee zdDw$g(nZkM#c%{2ll+~uU+WAZifeTqRR!lR;*JX6Wi;$;}Pw zPqzVYkdD7KwiD}TC`*0mpsW%S zX&sqj=*=oI`nmWoHA@?s5rpiBcW$ti#|R#AKSolP7)izt^3goJPMITz6*9#^lZnd6 z31Y5sSY_2ZtMRa4UGV?@_*LS$7_iMhOm^tCx26$v@-8x|1~qKPGwJ(_?lH|;ymsdIE^FWv->;X8lA zUqgJ13yohFDgxnCbtWl1-`*KETZ|%0)T0JEde0ax^@D$|*)4xgT~-`J&cy1l#DB|2F>Kt`ZexcwHBG& z?WW|d+_|Xw-|%MaRJzQXm&e>ae64uompyXd$K^FhMh=$2y6{aOtu_9sPG%#8;rV|w zrV$MMzb$kl-t@34?Eb^LwJAF6lzBP!#(DY$m#|uMafA^Yw2fVi7=Kb>$OT2M>TcoQ?qXS=st?{+)YIBqb zDVqv))uxV6uU<92fn4aiY`%JQk+jgpw`^RwY7Yf$W+h6T2)s3`X+nlbG0Coy9PfS8 zqhsu?LZD2Q)!PXP~3FF5x4=Z-HAyLG7rn@78l{ zR*>?J)Q65l_m2K-QpRjAP@;q<@h7UW5=WQ=0%>$+M*;dexQlC>bt;u5(#Ar-q3@H$D3oKTd|ziMwEt; z$a7l0G4C&Lp<6dnWY=D*cRcoYeCc~#(Wsw>GRO|EzIHn}yI7dHLc?ekD8CFm~ zj^IA&e||aHVuPcWh5}|KHgY z2gkn<-^ZaE)TCa}_|)<3`QOiG1^%B2w>N6YJMVl`DE35gcYI9iss8ripupE-HMl6_ z#3v?`^*Rg)w~M{x5q&{_1=k zxB5E2_!|0;Agg1ZV9*U6mxzgFaRtoD{gLkjHAt8QMS=mx4U=E_Bb6|c#47?12!_i4 zU^#_u2s-$kx38Zs(#^`+CFUJ|03q3eYzjVoN=cb#ICWh^Q*XE!xP`OwH%SukGI zN$lLjP5K;BGCI-P@2B0Ko4bdnhF5=H5inLRlA3&9+T-Jm#prOmA(jwt*i`)zK}6EX zpIe5A2fY!|vYwVv26MEE29u+q`_psO(GDiML$XAjp+}7wWdmDsIRb>j+5sT_to+Y$ z^mIxMlcL;c8S5%99)$-g73y`S3y&qaq$L))lX2-y$7&5`GsRyOAw!1mDw1t= z+FgUB%bHxz@KwB!964h@$P?#%JJ?q3NVPX&eTGR64pyj|jHPg>Q)cqi8BOJgEG7x2 zJ6T9c;)SSnrr&6WGZ~a5@`#IAuM$##c&BHsi6^W4P~Ql7Mfr~p#i>94m+9_!FqMaM zM4sj0e6m<2H`JBo>3TNT==3JvCCrriu3t{q^{?`>O zcmsr*1abpJF9wk_4R1^;XC&IpI~0c~YDVLRsQeN~hG1c=vsu(pvP#nWvD&jE3=ih` zqfBLjVx!D;R@vb9#x_vM4MPHltB<};F3yG|Sr0;hgX4?LG~RSz83dHV%y z_qAw2EYH0!sRTY(XFMBzdVhBoHnI=@F08}RQc^bq*Tl(8-H44BS3{{uNVmf~v(vWi zIlJzcqXbG)c47+ul9^k|(&#NEsJ|z`2YUjbD%9iTY$CzZ2{T>v;}Aj&=#OAKwE&e z0Br%<0<;Ba3(yvzEkIjv;}Aj&=#;H2A0IYk{DPL z1509HNenEBfh94pBnFnmz>*kP5(7(OU`Y%tiGd|Cup|bS#K4jmSP}zEVqi%OEQx_7 zvHgR?qsG1Cv-69~q|>Y0A9p`JZ|;Bp`Fr>4A2KG@Jr3=+AoM5nd}X!yyv;}Aj&=#OAKwE&e0Br%< z0<;Ba3(yvzEkIj`XI_*m*^2K>w%g8va@<3aFwg7Db+5)r%XbaF5pe;aKfVKc_0onqz1!xP< z7N9LaTY$CzZ2{T>v;}Aj&=#OAKwE&e*mVX#-a{ejhl=Jv;}Aj&=#OAKwE&e0Br%<0<;Ba3(yvzEkIjv6w+CAI7X1aUUOITzR%o8 z%venQB_94=J1+0X^&81!%7u@t6e*oKQP2_H?!iMM@M8MymLHYB+jdbc&=#OAKwE&e z0Br%<0<;Ba3(yvzEkIjZUY2zmUxo49oCn3bRV~6&E5?_cUmwmF)|BC!+hi%^rP3EhPFQE!_;iBzv;}Aj z&=#OAKwGTh$*4alE@oA-AAH13n4=$*4}XHYi~1J#VM@h(u^Q5vBroc?5Ql(3UPmWb zGS6R^?esy@9{58A*^Ys>0Br%<0<;Ba3(yvzEkIjOqhAHF7canBr;)Msxw0_{B#}#H=s0TAk}4Kl zv8zQmA$evCHCE$nWXJpgff1IoBRF9YI8rGjMkGqK<)WoTjXF*f0)fL@PX4fylu2;l zp?kmLL>%)=K+r?TFU1TaFSaKaD2O~Mh~Gd)%GfAbsYmz@7p5sh=P_-N)F60NrTg(F zNw$lKbR@FTjHDn~DVyLWb%(I{lFSoyvJa#JsIYhg(GA>K&gs2e{MCM&JUfB&!xdq& zNlG3T^xe`Y%4$!k17W)3j%INER}~vS(8@kTPRVH(nKAjD;O}8&$a!%5WtXSga$fWZ zD>452cfnNtJCBf1F(M~g7EBX#8a6!lvVvz%CYp&OWYB82BKeJ_H+BCRxnx9T&mS@f z^a_7Kd=AdqU#AqExZg>bWR0WJ@FH+Y4t2a7M2ThPwSIzpdA7foDpe2LPtzs7grh*H zOqMcIkfspvdEv}Oz5%spr4;v)$HbmDk_U5t5(;JVa8 zR<`S-No%ONN2t9O$^KEPUA^!+5;C_9R1L?sg54!wU(PDuB<66)`~C28m4;zAfZqJ-FT;O*VfA(8{JNu3y72tOdcEo@?$ z#_94z#dZhaGda_!nm)k%NktP_wHvK>xczJc77+-@&u7&%=(cNL3yG;Qkmo}= z#%EXAoXq3GelavY)kAS{?Uyh()J0;El6Lo#9H_dR_iXIE`VMcUQbIvnt{7W84EW;I zym{>xw!w??FKjb^4vlxGm$oY#c}FsCY8hGUd~hXTkaGlCE%Y-VcZOhUEz;YcC?Zee zeo8+6+AWEds_Y5HniX-flWg+d37DH0Jo67X#)Qy9;a<Y(sRt^bd0n@q z5^~~QQat%^ zA}na2Iu*TnkbQz%W>0Outy3DET4+JblWlxr0ZQdHyR9D5K!$)ZvlNG+BsgQUjgHCj z7Il076T$eJAb+bqMUFgfnkv+)0R_3aB>A^iw{saOt(06PJub-+Yrg2;o?^H^ zP80qK()_`Q^bCdZO6x-hVJ2?gfJESMbj5v|R?p9G^y2$5`3T~#Tm-$MzG0#K{26q0 zGcu#P@g(OxPdWT=8cx=Bgi`3tDb|9A&8HdMFn48`&Mp;2vE@a+jD1jBS69||n&Pav zk4|P@!jrY<6?lz}K+(p4j2~X7r@ukll3-TW`ktTaO1nvuK!V*b91`-82-Tp+3XhBW zChJh8RAew%L3->ugOwwn=m$d86!nTt`gEFB?mZ-Iw_eN2Jeg%daVn7TO-!sO3w5n9 z%zlP1r|WVy8GjjLL1^j|kE8?_IYLDZgFhXLbCf&wMpcsg4KD7uw0Lwt`=3)DlE)y3 z%1gSo2)wrgF}{uaQgju=UKL5D-L>V7x8&#*)3;B&wsBswm zQ-urQn)#vVotb>+EpLDjg=jZbdxu^%CgSBFMZNyfjt)W1tMSja(+$uM`}Tc{KigbO z5{niy|0UG&b@|CtvDxBcO>N3gA<`ymn|dNua{*YkA1dZj`<{z86QFw%o-R6(&Pes} z?RXv8)({vNyQJWvjN0mb9Lz;6dx2Zp#?>Ri$aR1D>`B1A-YbG@+4XAc^a#~Ql#Drw z3JYV8&Mz*G)FUhGw>|0&aKCe^g3pbsIIwOfbhtBYhis^bPGLF3?y7zpit5yuKC~Ty z!XLx|wJJd(8{mda1)IWz@{pd~aid76^kQh;_k<8gR7~A&HW&1;*N)8Vr!UA`Ot-50 zS3Rd3X53MyMl`iqRa085K>tC_iZ7A4pBI0Ps6f8K_Ae$(5N%2cK0uIgP4fchq5I$g2tf>tAqO9eA-a5|zelp^5`xL#)pBom5n#J@Rt*vM;s^>`M%=KQjPp(B1z z3VaJ~w5a#4M4E#1Tn7|Rlv&7;wEYeszLBirNE3JzdzqXVpz;pdUnkM|M3Ga5hUX#8 z3ZAK?VLmh6+r)g)GBAJXsD^4tgwjGiIEv}=LWLNwcetVVq{+t80h%v+beQLe8}`PL zx6w$scL=4`g|m6UBt|p@^h)=_>>B1*v%ld0CfMw?WE@jYZHN-k4X<_`J&aoz;>yOJnt?_B^-hP7a<^OYD>h41(%VU<7^gnLM`o~=H7;&Pe^K<3r z*AEiiCg-y+{$>g|ZVEa;STS&GX~n)f`8knzUAte0Vcc5M{R?AxL~FHwIDid(`vi}Z z|7HmlGuLdpv6I#cKzvY1awZ>dB*!3e@uT(lDCnc6;}c@?saYn_)+EUIz-u=ZbKs{3 zuN71g869z8CvN4K<;10?;rvVi-7?-VQODy6x`ReIw713FPf$cO98;VuU?n)n7S1a= z_(X>X{#g*SY6hYJ^CL$MdOr|)^D`(&A}D(=#7ZJ;PcWn>HKe#U#EC4J;gAWX%-Wp{ z$HC}^5fWb(K<^Q0$xR^|&Rem|mTjew(25`J;_q=7ijN-l7>EeR*$eOSj9h2&G`E6M zd77s#qBLpgn$Nx0asE6wMJ##kt}5@5d=ME7iDG4nit`kkxqmx26y?_%HJ(N{6|6{O z9(*)K>~$?2ZiNx4z}I&eU4b5B_!GjeP1Z}o?!M17n-9UIb=SF*_{##%y^DzNMR5or z6*B52`^m+@}x;JNRyCU27MrEX&iZxeZ72A0B_7+ zQUzO=q)*7snZe1KZ<4prF_Y_5URb)jZ%SYmMi4MV9<2|9(9l?v$VH5fL|11me2cB< zFp|rr6XUtLMbgdM=KL`FR7}%3qHavecydgXk{1E#X5mI}U5m0N5sua9q z6SM4(MiXR2 z8xy9>5|cyKVB{%sFbZ~EhQxq_=+8my|h43sQ5D(L*+xkm@wCmp`w?&MdP8F zhY^ymw73tC@^sp@bd@mvelMzO`gK6(wEDM$|MseSsT9&5w4#$ z6$quAW&ILMI2-#>d=SZVGNRfMq1uJ-&{sja3JJA`6c}E}^@ln&ogx+8$6vl-mRk;# z67Q6<*c#Yk7TKFH#d}33hLEN#rN(Rq%CYm5q`xd+N|8+t1sX+B?_!yV@7~KfnA&_g=4bx4L84Z>b9Tb+S3)UplN5fzh zw@3;|YS9*EcDGe{h=e%}#Y9mwb6GbauSnTLK0nMi*x9Cjk}4o>PfnR`d5`Se8PRej z*XAvn!2ZydubGmE)jn-im${HL%Klo|wm7cGi}l5^mv)0R;LllVHx-II_09& z7U6PsGsQ1mqVID9IhK(1+bY>78leV))^P@`7TY#6KBP|d%~SJrn3am`D+JT+%`C(< zezQuDV)l+bG9va64y-z^l`nxmJI+VrPHj4Whjf~+M6Y~CU&m+22^8MQ?DXC3PBzJZ zZ25BXxn{IBuk1l($ut9lqsuy>?a}-V7b{=PyOXFNSnfZ4&@&Jab8Ai^EAGHdNp)%I!$kMAQaTp7B@*T>$Zmo>)*^2sY(^^ zeQda+AVE(Rl`V#@INe?7i~i{4T1!~=DJXno!6)*E*+9k?TSI2!ryhp%(8NY%<~okz zwpHk3ack&lc{Z(Hk@|>*_ei&)Pp`^wA=Z!*KRyZqEVJocvWT6Uw&v7&Won* zY6NSCqnt91Ef>j9KO3|30v0yYt4Ae-&wdY?b14DWZpX zB|U4ev`hI+AtFvV-!b!8k2-Z7nZlATH@31cm0I4Oo86-tq^WgT|Z`%1U zzlws^q%HjN_j$%gTB|*47oEpuy6!*!`m?NKJy1-xctn9N;yqt)O><9|%sRHHxwptm zwc7KSErxjV!_qvCA*c8mTfiTcu7_s*Rm84jdQQSBUpsb=Dm;&~*{*Uz+@!h8drc8( zT@Q1m%y~B9Z<_f7uu`aAn? zA8YeezxEO(4vTwi+s6^zPuH6N4JDu1mU5_J;lB>TKKbZ5REwDWF?c z=!dS|GlDC+c`LI^%D-b`yd&TB**hZ7jz2-aL zrRg9$8ufqB#_Sp5lO2aU1+sN5>GeI?oI$wJhM#}*y7-ZU`cdVN15DLe&6j~L)taF( ze&OqLo?V9)n-Y)3=bLn+FfXDl!o}mmyJJn_6Xjof5j6XQFPqoJ%bU*+tWQs}@gw#9 zk1kYC1%yr<*wDX54~H8p;^gdqt8$GWq7~3;9ladj}t)jj4*)n>oe@n;lmt?zNKF&y(WkkHQz6 z?8%EO_Z$0ASUIo4;Jh7FXTjAl)!XZ^*Z2`eTOB^^uVWRh-zM0o-#8_{Pd8%yn=RR& zeto|C3J-lR7&Jd%uJ86PWd$rZ9jfW6t z()5cfY03NW$>tp^rqIW;LWen?WebUpE7ztB-gm#9CJ93D1cUs3)v#VLO?L9=-zL%g z=)+U>7r$+G{9W>V%Q{3>{m0qL5FtGBAGN8ns zmrx`Mv{XVgQWl)&JbVIeh#qWYT8NB1nv$xThT2LGA+q5+BRn}vYg@c^r>$MjL+pze z*>~*}J=;`~0g1_c1X$!)PxDb=rKw+P>go^__}Jf&Aw-y@qb5eS)3yihK3JdXLfXiB zLW?{bu5R!uZ*njSAFnDI)Za-4r6WxAJtAmOoRNGuT@Nnw#kin7Lb~`+{dcFOz7LuyGl!JcxVzJlhnW3)VmK%*R* zYDb22W3;A?71^yUvrFO&93nDP9KKbA&=?k%6I+T} zDhK>nO-LO?K{qAA*QkvQ3u=#zuR4RJjjkkpY%mG!5MDBpYWb5=<#og?s$!pr@jXxi zdy5$pGaO?)y?Xb*Zxp)jl@FMX%iUOBG=0g-R?@{j_?DkV6KyzKJgaOVnZ(MQR`x!U zYqEk`8*kW+NH>-|ojMC1GAxFu5^p%F27@_Q?S0QK)Jf_FXR?3)Wm!7Gs>R(x)u_(B zrq#rI_7~gv`RCpdAqk1!RVO{qBxy{hFq7M*oOY5YZ=5y;0Yb;b|nI=kC#(7MDG0Na}Ma*V1C_x}{e*8#u))eX*jlIW7q)cASmV zXPlqcF^&E)|4fIvW|r$^2>aYf^GL{y93E$&oT|1Ad!4@YvcmTd>Gs;%`tfMz-|;oX zxI1?}g=mS9-t3tz?icJiuQ;nZ(~j%(D8UU~D9L2eb<7PsR@`O1S`zK{RQnAz9_O%W zt73Z2T=dg=8dDmLD?88T;N<>h0q-$}r+XZ3JX^O|Vc+R>96iQywv=B4HpiGf=UUoL z6do1AntFYri?wT}yx8NoBE7Vq>0GV6_ZO3d@QIl>hO`A&#hcLGtoYaZ*1?#{gGZ&Z zNWGAkGIMw1#+JIp7vWab1qT)lGswNu96 zqI3Qb{X9ta4%w~)<2ls_G}JQvDq@+vJDH1j^0R(mJG7QFZsBK#xg?6+6t zzX8u5SCid?+7J7pNsz_Hs%xVy-(P&2NX0Txaq&%O4F>6S6M{%6vcyZ@uTPPA(!RAT zY$4&%q4HoOAdyJJIQY9X5HAxrmQ7p;r`_;%oYdEP*+ET$#C%%JLn-R>sZheqB?z&( zG_5vWm>B;yK?9_hah==I`STWjxw;JF>-fm{;h9fq;Y=(Rbg!OOZIgbpLSw3D{j9#2 zW|)VL#ugeMEkgDFEYwquGb!H9zHx{8%b|3^^fZRcmkGu=EW%F*n1}E zp~O*gov4kz#AKSTd^_wS*LX_tEPhkT2)DtZLq&?^+Z$!YP)+YX*OFgR*0S%8QPbq{ z_xb9MzCOFtq^n3W5Qugfw~M(kpB6*r?L_cOuM*Piy0V;(S);l}9`kQ<1PX1WtC_Ev z2C9DzL89t!ZYqEBOxdRNC4rLAzaMIjNcd$EHFwFuuN%{_n^-qg+|(l-T&a_Hyx=85@=dnH@vTdz}2=6WI8o4!pdy)lP7>5RQo%fTJJshE@(1x#nwCuaI{)!OV8AI@wIw)Gb$nrZ8c z&+G*v4b}?An!o?q+E1PC9B;6+%ay9!_u>4bEvC^Cbf|5%$-(W*Gow?B zpKU99=PsSUjdnwII{KL$y@Gs5G2NVwL;onRoYQt!LC}`s87w_qfB?jmuWw*EK5__Z|L|7r!6j0f9lmA)#S5DB+)@ zqGMv?;u8{+l2cM+BhxaovU76t@(T)!0yB!s$}1|XzEszwmew{jHZ`}jwk6iLcXo9n zzV%dg^bQOT4Udd|>>rz)nx2_0pO{-%Tv}f7|Gv7hxwSpFz5}!rXerQAprt@dftCU- z1zHNU6lf{XQlO|wj zFH#hzQL8X4=V2O6AQfy%EPJi(c+?ImdQgB-eZcD*!DYz{Kx252=6x^1A+fr~_ z3T{imZ7H}d1-GT(wiMi!g4q!4fZ6;sr~*V2Kwj@q#5@&@BbsQqV00-BQpk1>I86Ed||D&@BbsQqV00-BQpk z1>I86Ed||D&@BbsQqV00-BQpk1>I86Ed||D&@BbsQqV00-BQpkrQ@hgOR89K#jY0N zgyfkm)L4zPksb2~1V&iSj^Knr;7FyA7?CK^mW!4WHR?D`2m}sqIr+m*QYOKHhwlA~ z6LHKh0YMKTzZ5f!yx5*xpdj+3AbtZGDPyB#r5@osT$rX1oyW96QiI@8mF~xzB-t(^ z(viqUGm?T}rEG$i)E%H(3c97BTMD|Rpj!&MrJ!31x}~673c97BTMD|Rpj!&MrJ!31 zx}~673c97BTMD|Rpj!&MrJ!31x}~673c97BTMD|Rpj#SmAi9AY%Q?N5i@(}$lV>Mz zez+n`Hc83Dg1%e&L|N@Abs$W4+|dlK|Egl+2U^)@$SFDPA~Pnx6Z}1_3^@;uzwGi< zTh5CfVI{_Y{|Xj_mbsB zDcneM`?+vvBt>|jzv2f5EZ216cz<1td5Yk=)IwIa>!V3)sJTa|y%ov+Q7Pz_f^I43 zmV$06=$3+RDd?7hZYk)Nf^I43mV$06=$3+RDd?7hZYk)Nf^I43mV$06=$3+RDd?7h zZYk)Nf^I43mi{kyOOIW{K9){C=5Bf;Q!Bm6m?}_6q!6uWEY~tr$yLf8VP~JO?54S7 zb&?2Btkmt@wm}qf;GrAK1`>~^XrrK5c%kCsyV$RMtsz4Q*un!iAQ>vvvCz>nR}ck&gyQc^zcPgQH#;d-VQGN-f)aG?1xYI!?zhM{;2g2g!|e-zlR}>0a0fr9;^b3-5 zL&kVzhmchFcELwmD%>#=9b}jh7P{p!@@NpP{rAyulvxt>v!_Q7x`@pB>P%>`g(LzF zfhB!76~F!`=}3#^gf-;;>&14O9>$*)`ChTRJ13S&UJ_H}T4D8+!Pa%kp*}19Kl06q zc2OTH;bIat5Imv*8XoA^t+EnJT3Wq;&#ki1X))S0 zml`A3Hh;6J4!yuU5d;8-+V{}myG!;I z_^hfsyx#tcFh$fv{-+mYRz&bxyz*I~1nDl`j-T~ulqiXoxu)V5C? zP5VLIhW%s2k#Akr*j`Yf4~X}@g3n^$+)-nZ>M64#o%$krXT;vWEq&ANZwapk&Vk#)g$wK%6xfKy< zl{ECMR`R8UJu#-lTSpm%9#hoQ;CuyBJSn0K^=KRZ=#R;5GV@*H9dX3H-cj?urm4_B zRiUZ0SlcdEW$gMI@)R8LD0huL8otjV|0?_SseXvEYWFy9T%%T04-K%NpGLnq(SRLk zb=7-5mXN;ZP$nN&z|eKWdy?fW7A?cD{C&PVGX_QN)A}l(Nh|0xF2p}Y2A%A4O|I^ zNDGtM^F`}v-FXxHi%wket<6)5L^+MDMjW;fl(z@!g9vO6$o&pJD#fLufl**tIx@vl z5xce#nn{vHNX6y7cUaR%{+H8TT^X!=2p4f)rHxa8SWd}cm;X+c-IS8GmU(j9QS}IC`h6eC!Cy@Gdtr-?md0#Pl*~zsAfy|r zzay`Hi(-ehq8H%q_)HIn9S>srB8>vxZW*pFk0H5QZ6P(hxULMp{7vxywM zpW{Fr67pn)fu1L!8f`!Z;py8?eX}2ZLzToILA9lsbdSyQ(jrn1Q>1>*vsN-khT6?L zbXjS8V8fR&aYcdgk4T^v1_Vwgk6N*M>@JT7;ble2Yv4Iy9k+F7jFbAx(32FN>^q^M z=V1e*!7S@CWUMNs9b$QGmrRGZ@!lD7U~VMv;m{^F(jl;GUI>j$#2Gpp8XgjBuYj)`q+O-hsQ7Lcg;S)|DPWm3;a$Hk!M*L^ zfFX}1RHqdlnH;`$h=2asEx3S_;zT%(35oKhbQ4bFR!6C$o|5% zHDM7COQd+mfM}Xxob{(Tc^RqHvHPb7y6cIEDxZuqEu#)f3X=PUNSZHn2M0$%pFPE_ zjoYGOe`!|FF?bwhl{;P27`QhiC*Jq`>~`!V|1}Y|khyi>4~gp2d>6s;bmN9!uq)#I zr0-|%&L_6K;Kg9)WF9aL4LT6Ipa*QE^siCnZA-d@3`VFqayunRU^p|oz$0o#Xy6)zOFbgsa zsv(cp=;{uOD0XQo5oJNIQ^GAS8O5!jpL9b-2+i7LnBNVFxq4~@-J|ECM_O4$sF%T& zQNm(2eP>=opppgoOVLxmP|du@)}H20xDMnc4G$EG3|tI<=h0TP(xX>2Q&nG5kg@c>bEW^sKp|=+HY-FnD^1TnkdoVA4#j7XkYbN= zC7Z=3c3?=Qx{m)yPUglI3l&oMv72^a6?;pT5N;A;y%%DRk{;LV(7Mkc<>mVO;H~|k z9}k<1+k7UyR5CY9#y-q*CC#_O3%yD&978_Z)+1{&Ea8j0Y707X_F;<7V%)xbw2D=9 z1)JXw-K^t-tPqoste(gPMZMZ#@r+x>PC85a0+y+ACeehXWPIXLO%sGQ`a^kckFahZ zc?cgvPOwSHb&KmETd+x?;tG;O1+l}!bjtU(+{a+r{3pw~iFdgoq;DJbNN0HiA3iQXXggxrxoP)l4%b3 zyu7u_c9~)}AuY5QE*xt!d!etgu#f@2F2chsdWq@3DC{FmAtBoyp@5mgDif`_4COyA zqN6AtIr0|G(C^eOfRh#7pqJXW6qC&re@`n~6N%)5~-{uf-*cUX${#2_rKz`eDg z_IrWgVX92(vLXE6t`uC;`@qJ+jgu^d7f()Wq0(Y{qm*k=B4>TrKT07Pz61Y zA=tdd(+r{*jtnf7X_x8n;=GFDx)E`%Uv7^k$Ns#SmnWl&3d_O0f5xTc1zO1`$@{=Gr^GG_jjuY{zHm7(WRhs#RH23v`sd++^^UAw8 z*W@lDGkLzI0sX`*EJcx}#9T#Y`Q+9>?`F7Cv*;+)fkEZ5KMc#K-AFUFsf{lP+5AL= zJncTt?}3^DL&cX8qP|2Q%37trUE`uH{*$bvS(LfWpsf{_NWhxo>sfB|tG(nWYlG}p zBp(v^Npibu%LQhg1~KpMd>V~UhDZCCJax<2+vMpJhWZthtiaAWO?pW(z7Jo0tlpA% zY`+mAG~YVNj2fwx`P}udt?a^}=J9tP1ka@9Us_P5ay?Z7L$qyy#bxv;Z@Hgn_N--* z9c5{F#m5RZ^5?cNa~{6z6da_@hV3$E!axK)J@wS0-zjtXkKjg=8Rf?n^iq7Pmoxqc z3O$%rZRsbfoTGZrIE=V6aF9=eIMaKDbZ821T&h@>& z?|YjZ-qwVp<=gkx_uGk0IfBUSZn_`B;t=}KsbDwo{a}zJWPmF*TJBdT;rqVX%YiSt zLnXUe=H_u?9BHgB|E;8AsPGIlRn)U|zywcVkvfq+dBlY8bDHvoVpmgQvN}r)he@a1 z{Ol?-$HM9Kq72(3m`aA4H=Q0GD#JFF{qbA}pD7Gd`eLQ7j#{brK+%WT1>ljQbrG!O z%~|2Ch9kjS7CWNMR(fO$t4zP1ja8qtYTS=x_;zUsjm}t(EwUFm7HQDB9tUJ})=NONoGCZ!rG5M4DQnTZ0W50H=f2FTTc!KE+-*D@Z-cQ4Uhf~Af zb`jHmCN(=!e-fAKWjR|P8J_Y_>KG0>GWPcFjX<;dSWCui`p2qPQ5vh-NY7x?I|C}q z344i~jEw3-ibCX$ZACrto>ns`lTN`y zxwLb5UtNX%&RFHeEPt)C%&YaTrEVB7VpScGQ~mzIqe@Sa77+~f(xt!DR&$CsK)6Dn zXNfPU$2RQdU#U)ttMhC>WJ|3srbkUSk4%(aE!A=|)BEDIMon-qE-uZtuguW#55e>a z=1s?!XWKD`vc}H&Sq;YNo8{Tb7UClWI{z)lGt0AUw6U0AOljFK7ukQ~Tc*n%OMv(W z`DGc*ezD--WyNzES6fPjxvVy{h>3U@b>5SixU7w)u^EW^VRN@yP7N$`F0bN@u$2`a zgf~>GuD=&wN#dD)Ce{RXgo^KlI;RQ_$h{s-HN9-+Wy?W<_%hGuBt?g%;T zec_zmjp~V{2#KQTUvyd_#)Un7srxD^K3=m^+j_^&c<+wNc>!a|NqM)Nd6B7Pd6^gh0H{ zq}*?N*vn5ps?w<7FLEujMeMQsA7wMVGy4nJ%)kQE z^V@#=Rq@snPPJovF#>zS!SbphB^?&3N_x|xn9Ms3%vkiSx&NM0Da^0lS`X~}Xe2)1 z{Ih6O6mRzj=SkYYq>{5Ebj&(@ z+oBrsX|>j0qmgxwSIwWiTAxNAJ|&Cq_WF_gm~2E~kBo|q1ouRzidS4uSaQ8a?#$_t zWMqzi3_VD}i1YtudZmjAPnk6Tp--{NgdG7Z2*Y2!@({_~pu8O>qM;?}N-4N+B_btn z!Hk0hUsph4GH@Y$0#8t?#9m2CM|fh(sH!zlynU`_@Cwfp*U%ElM9|Usqnn4t%|k>t6tGSof)Tt0bq732O+^Cr1oTv^+=xpSJW zJQ?)tIG(Lo%V>LSW7?$4TYnxn@4uwg8b{abJU}aFn1o1>;lh|wZ}1r3u5i)p+0v{< zO>FbCO=Gnxa~xLkxi_}iMGFWM4?=@&CmkeMs^w}95W^+WZH_b2=g&JUoexMpQkEJns7HQJc29ZtIzaxW=g*AStOX68$_N$7zNFHcm4UJR zQpUoGciqLr_x{Xg&$EMt1hw<8|NT;^iQ2HiB>c7K-IsJ*iig%PiRhhO_7cc#pL(=} zbZe$smjOa~Ld|fzO zI`hRz{WJ_BC@1JmR2{_hvODa#3jZD5YeaI%J#>e<7@JSnyUoO=@+K*;f66!CW#E@* zQJpB|Z>!o=i~!%ul&3x%Po%g-cX<=l7+v1aji9*RuF%w)PK>}E*Bq)T+^ssj2}7X{yq_1>Xf8wfl$ z`VB|;4Wp+{dH?Ekeex|w!6W+E6H@iYW75Dqksb*e#QfHIxq)=>{7g4mPw+uq)6>n% zOw#@3RcR%QJ9X;BD zSsA<9S%75Sq?n3Yv085#$>kx_?#R3=#(5IzV@`Fb^_ ziy12Vyi>d9y{gEQc&2yZZUfo)q7n5GB0ksw1V4LU=8q#A2#!yRF5GU377RVxek?vG z|FQb!=`U9trk5YD4y3b)ZjMY;nNUk1$+o)=sm;bxfxkHX)KQ@2UfG2G!$X!#3?s1Mc&A@oe%GG}y>+o4mj&3F5Sa3s7h&(F- z$WAgZQBMrE*rn^3rNRuO%fgo{dRotuYw)w4Q7*T|jjsx@u+F2t{+*%Q?|oXsT5db^ zJ$>k==1~6NvWXHRh`movJ9J#?x;mdWAWcL3#O%|dD#~RiQ|>eRVfXYZ19@O zHNM=Si=y_LeQa#_apu_a)<6RFdrDg;J#Cjq*sr(v{tjs8AM-^Gw_@hqs?ZiFHRJ0U zeQ(LUqt89QWriQkBv;v@Z^=Hpsud|6i?NxH&xHqTH~j{tPo-OgN=q@*`Gl+PrLpSeb}DH<77sSBpr>auwbZG zizA5xw!oKwv$y9HOJvxdPyeUA`~0WEf&V^!29CYT3>|xf$cTy%qB0v&Das0EhQ3Az zQ7WS-BRew{S)r1>Qc)_TtP0s9qjj#|-Rs_U>$>xMfBucn^YMB=QnH@3-x`z^Rr7=A z+OL{eU2;l=iNZqSE01$8)d((TTb8L_!)h8iom*b6RP~6O&+V$|p>T&+Ygm=~y?L59 zWjq(O`}?HEMADbP=QSM`%$QgLehvQ9td^NEE0w(awUVH-)-;wfpCnp4A`rROQY`N+ zZdN(ErDd&6wP?ZHJGiBcX}!Zt-sd>uV1vgU&ju^8rEf(i1pb~jZF9<4iYKRiWuRBS z4vXEBy2(p?pF&MjM24RXr)bdo3+qul5B-X`Vke)JUi8TbJ)LZkK1I2|BcI>g%Jtu~ zDW|yiAIC)fLnwjtDd&LSZryeHkuJjHo=<*PjB;Mxv>H4u^Wyi=mc-ShrN8Npls_ZB z2{CHBYk4i1D-M1zX9|_fSR4>ne|-J#TEO(@x!bG3rrcRmSa&F-4^o;w^jp0TRoM8P^|vQNm$EZE z$Mne^iROLStl(!Z?)mUvmFQUZ^cIHw9xs8oQzlqk+EAf`f+=jN6vC8=6+ zD65dQyXSYzlZze5`ur+nBQJ(6r3_{&Br6rhO%+YMcaHXg3V;fL3V;fL3V;fL3V;fL3V;fL3V;fL3V;fL3V;fL3V;fL3V;fL z3V;fL3V;fL3V;fL3V;fL3V;fL3hc=2{@=4$4JrUC04e|~04e|~04e|~04e|~04e|~ z04e|~04e|~04e|~04e|~04e|~04e|~04e|~04e|~04e|~04e|~fB^yw5MY1+0|Xc# zzyJXT2rxi^0RjvVV1NJv1Q;N|009OFFhGC-0t^sffB*vo7$Cp^0R{*#K!5=P3=m*| z00RUVAiw|t1_)B#OjP{$>ipB8`RZWvl23DM&qCkK{if5x!Xqw6MqP0uU%h@KCN?hq z=B(ur#~rO1Ypxn#toF*=T+>x4~*=$+kG^p6?q> z%W_S1#4PTgC{mSvnWVy3d&9I`=0%F8FRB8l3ZN>0ssO42s0yGefT{qh0;me0DuAj0 zssgAApelf>0ICA03ZN>0ssO42s0yGefT{qh0;me0DuAj0ssgAApelf>0ICA03ZN>0 zssO42s0yGefT{qh0;me0DuAj0ssgAApelf>0ICA03ZN>0ssO42s0yGefT{qh0;me0 zDuAj0ssgAApelf>fNAm3rct;0dx~7lCym1SUfwxECOcnb;O6!@_vvYgV7-PrEli2v zP2NN!5C{>B_ohefy7qYv)>W`FWO!)moo-FeV_}|OBc8S)5f}t@{_`BBB&ijLR%y?N zy(!;l5;{mr9DQHCw^H*sfiQifY)n^=_QQX6EX)6H$Y-~PX%c7XCu4Kbl*KYv8&x?r zJKA#Z`zE%hug3^>hdz;IUG;)%*H#1MQteC%EYrxqFHxY&(`pkacaEo z>`~gCybJQ*lePJ|rK$VHy1$B(5;d|Do!%e)W=a$C$`{_U&9W~e=uYIRP0SD4Wixqh z^-D8EDzen4UapWI5%ChDj;Bd`w-(;omBr7@aK233o*c1wk&v9*(c+waT&dI9ma{pG zQ1H!cUy(={YoPq@G!_GXLb#WVBsE_`f{;}7W#Gy^(b{aj0Mqle)s8>{DV#8C9=xu#wPsPgG~)_z+Muy-m23cRKEENd31;u`}Z*s-&4| z&j#B&OFw^z>R6dqxI=rlXZz;8*Oivu2AwLS4Yiz<)N&?G^XZLVd!gk0wN3X6<=x!_ zVjt_jGKf;hCwR@eM}y+UYRBV;&Y>!RssO42s0yGefT{qh0;me0DuAj0ssgAApelf> z0ICA03ZN>0s=)tM6*#0qmEI>IC+{vLMZL>O*r~ID{J?Op>Hg?I_5+7)DuwN~+nm|U z6=Fs;rf@z@crLc&|E71)MmZuVuSXmPjo=?x-KOkQEAg+S@75DXq!BkSJP)XbY z(Z+w_aTj0basEzbwp5s$nweXWG-qD>{g+PMHmMoU&b5{N&d>K?%!xfdEP>2|fr=!( z>jHG6d87Cg4VQN)v(Wc{M{Y>&+f!k*F%^T|1a`cSjY; zSBX(ipB0@VO-+!b-^;Nu(H^y+~aNg6m9=(eWe_k^7yVww2*K6w)LHAuS|CzJJ_WecJbXk zZPmX)D~T5MkZv#2W1ttBa>? z^B9H;n#7c4KNhCCNqza=jooh1{KxDT-YZ3(^ZB6bX2z{=@1wr-;bezstF>>~dzDZ2 zS9Ml6mBjZ{C9j*4VxnE!;(ept=ys8-mRkLv@5G&N5dHY!MAE0q!N?bCYj3IB&4xMq z7?{2uyfh_JnSA7!LwK0Rz-aW)^rIQ?&*KUwBZg1CcCyv?7K*JI_B>~n!ezGezeZoav5Z=HPPC}zQw+aAag9^+;a>tGdL`9%4|`xkcqQg4)A z-^WPEvp(3UB-0zUcHQwTZyO=FpZn%Ot?JX?Mo&e`S`{VculiTC@3%OuL8zS|| zbnk-V1HGwO1LKJ1)uFIeoyg-d*^Zef>FgFKk2P;P63pKEw20+qyv!5Pna;R#PX+t* zrliEWQ;rXO{n0UQaL3ATD+l|%m!7-rzE#fF+K;!;GR)))0~!g6=Bo-n$0biIz9XEI z=-R~2RWG31c&_Notncvt17%4R^Vrb&i12uPS3ONzoB>!@L zE9%HO`9u5354@^a_H{*GOlBg8#YajH=0^qE)A(-Cs#a~|9Rxixn3NJSSpSoxjqcw_ zeA;w5uO~b)@o1gO-Wb-=2 z9%L6~)~D=fAd-UZIrysU85Iao9NhJ!ufbOTRQh$>E-nQZo^6u2bn}f&^TS&!>J$3w z@kCNqITs(5K*^maM(V0(=*-i0Q-3k?a1WE1e{$+F3R@>K=W7xU=bG%9u)6(UFPVL& zVXJ&;R6yurlIRSPqOL+r4;>*fwA0M#I#df%vtQmIkE4dWD|>G3{FOI8n(`Y}D<7ifnXlar0de2L-qgff&!vw2_`Ta>z4uy7%x!zi% zG|y+TnR(P>hm_tmGn%^;pRJ`a8W7l74^WeJ`t*!u_PyrfCNSvqxjF@;9P!_Agv?cW z)-F$l$YV(@JjEQwq^w6|r4h<>2oUH;{}z_&K6e3lR0Wc3Ks%Dr`+ zumiqQgKe~Ocx9i$@dP=SZv7(ds60`bS_5uLX)DJ89MauPybx#>TYfpUl3gnkF7}Y@j8!fwcW~Isevc<6_S?WQZiwDC#Hd zBNrDpZ(jT6_&3Z}_|&mC67OXh+K)bGrEmSwopG~x<2E~c?!u}H`$9ecj$@Nsss8Lc zoht3NaFa+^Y3~H|#&dTLPjdGi>i?TFb*+cHifWW5emQj-_WNi{4pWYUum8^5kjIUr!&i3kRnsm~9=;a(J!Y?vCJN zsvRrOV;5Y_(R{DRtgxehrmm{s)C8^W0_*oswzRL(1-%hOo)M|+aN?|Zl)}%vPl>t{ zIo~~|9K|=;mF~;V7o(I5hHpBy|8ClZQ2=-6NKfmPq>ojf3{yoBDv9XeJb!JKJR>BzPjY5ImojNlMQ97@V%6m}r`Qkmf5@(37 zH&>H4>w1q`W&UTccv3dzP1aNDR^OjFlVle@W9OD(;;Z6})#s}x)okW|NjCnQEKh$r zcQZ3MsH{$<(dO$XNdx}=g5&G&pXeH-oZ=q8EAXrM#vcL8i6#}9u$1x_|JHk6bWF$T zf7>KN6}e+yCAGXR^xcB~cOmoH&+FNLO>-?xT$JeyUWAKI^lHc7u91`NFNK^vuY#aZ$0JHv%|4*3=S$x zR~Xkwti*$*zq7g;4J?^1mQrlun0AYk-Z+QZTqCIn(Fv&8J{zKz+f$ebouPAR}iuV>Vxex6w?6Evt zw+`@iS_l`ZioA;dCu1cgNWD_ZBQ0Vj(r?9JagTV@eq=5B#-p&3`m2LtuA-m3H&eWB z96L{=4wKL2@q`ypBla@7-Q3K#_-ErcmsIXXHwRwB{M{;4ae+mNgc9+wZ{ol0MVXzv zmU$$Nc-Pf$o!en>O82eAULR?m5-GL(Ve4&DwmvdkZ=@q4B@>ioB5ulDEL-)kw)66t z@#7Tz8a4>l+Vw4kje?n^} zTOd?TD<#1uDnTo|oaIirc9HM?aQ5ww)p(Z9?kFzbX=+X=?cj`_R)1c;i_*R2m70zN zx6b==o#$-5BA0bO`|4g-=x3&NeIPI>TL`9^v42g_CH7`*bDtWJFSsUNZ9cu5?5AH@ zNHU+B7364ZeV*m`>n5Uu03E_tWFkGsNLb#wu?63%RUy$%C7mN zdG_G`nhJBFsE7aAw>|12soR%(U7PyQQL%A4@83(3ff?&YR^!Q{y6=gqGs{*2&i9nF zew?`e#bBzl`;cW%$GiXRNmmt;HTC-I_4?Ps_6B(Dj@)Q{`2EiBrrEunUBAQ`dM6*` zY$^0%E%+loZmiC(Ol#FtFtO1%Dj?G!<5%bPesdy6+4uT~^S>NO&TbElr$+1R$%n3Q zzMr`7q4m*94Kv->1I_hIjakOKCo8)Y>vCzN)QUsfuifi*IR3d(pRdze*1p{Tz`Gr{ zrw_3)^qP_#)ejH-JasXb#M?CxTGUsVXkoGSIMLrhiTT7j!LY6Vl#u`Fk0z((S5Dt< zJFV(}rqcL~_R5);Eob!o9c7IiO;;Q*HalARI}r_?Y*(Cgnw%W`ogW)GpIvd*X>|7X zcX_Jsa&g5aqQNE1-*u{{;OL^iR+~LH`8(6ZB8eKSBQl{geN_ z{S%-jpeCRupeCRupeCRupeCRupeCRupeCRupeCTEhQ{J&O|5P19i1+H=j7Yu>5mnHE?O|_n*Hjzy6U}Mb?)PzzKN=+y=q11#@ z6HwD2EphaH_1;R&;{?L=k+LyeJ=zcd*|9ADyCI+58m38{p`VP+MN<~bTy0e4*z9P_ zz3-dYp1vL<*d6*rmUYz&u3cMgXb(_|q!Pc8^KLW^or(_jw`OJL7G@}y?mj8^YoQ=Z zYB5BXm6Wz%c~_1_*>yycBR@ya_KsB`J==`PDmQvn>W*s;?PPl4C{Pnn6HpUS6HpUS z6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS z6HpUS6HpUS6Ht>POMU9)3i%NcFCpr9nzVOo;jLX+{LBpJ%f#);5sMcI$+;aZ&e_M6 zI-PAfo5KhN-^}(EiG;BR%I{8NG2kbJd&x*r^Cct*Nkv}e)s8>{DV#8C9=xu#wPsPgG~)_z+Muy-m23 zcRKEENd31;u`}Z*s-&4|&j#B&OFw^z>R6dqxI=rlXZz;8*Oivu2AwLS4Yiz<)N&?G z^XZLVd!gk0wN3X6<=x!_Vjt_jGKf;hCwR@eM}y+UYRBV;&e5YMgCD1LeT%pkBxX=L zCBAd>#Y^Xbnt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;s znt+;snt+;snt+;snt+;snt+;snt+;snt+;snnak$Qy;I63%PC-c(8|Qrc_^7?;Ibi z-eFHelST)I>C4$B4qOHsQ!QiM)MI>a*BHL9(|H!p*Yw|w_rVTHOn)9kB~jT%eOwC_ zj#=#$R=i1Gsc5tc-b(ma+;U9h=T5mJjh;h`4EG&>j4QUteQLjtsP_6~Y$ld$qzk#I;uB=oUrN?Gkg1($X&3m*w^-X8}6844B z_K&P-u@I}>?JGSDcMr{5XfrHxl3R=xwGz!P54dNuhcuHqx9_n$(96LW(_}OgZ*_ud zZ%aS^I9FRfDm{K*IC0i3-}K3N-N7FYc^6!Pnt+;snt+;snt+;snt+;snt+;snt+;s znt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;sn#LY@ zbniQQSmCHwr}QCj#{5|ct2WtM;*o?9TPLNb99@s}3jjg4hJ5JE;O#oRY(?nNVX_C?C)+T8&n>nb3S0zt&17L(t;OWEEHn-FjYVa$fk3J5Uo)6HpUS6HpUS6HpUS z6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS z6HpUS6Ht@$HCxslWxau=`Wc3z7ygSH*f-ib6fBkS$wcbUj_`vl1e*9>hWmp*{P%JZ zw#gB*%2lW2Ub*{A#Tz`8Y)rg*JNUJgZGam^jJ2@tgw%rqYP&4GRzHPSvu)*sBJ0pC zH4bV*g?K%CiKbTP>-ZC1(sW+hw%vU$&3;}RZyIO_?>VRJm#Uk8;C-KlbVLVG6HpUS z6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS z6HpUS6HpUS6HpUS6HpUSQ_;DmY_r0QJ$Jhvm~G*e?}!reS1@fV;F13D<+HJOo&00M zA!(ZO`6d~u2jLIGEH?2lQ6ig$>QC=he{eQYMl7*z$G81n-@`6+UwdTHd_vPrzN1WS zrOGE(tm54A&=va{QM)g`rpI}lL?bs z(cY*P^3o+RjN5R3WY`-DP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muS zP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP}Ai~1BrR#pda>p7moTn zPEec$Swz|c%$Y6E_mMr44@4J6nBTeTJTIl=%5>>y)DGU$HHI>$+IRT{T1BieXEI-N zb&a+xr0pkPi5(7ps~OE87!hh9A*yM1ca8l>kIJpZ@NEKD!?mu3_g$qcnm9?WUER`t zO=;udl`3!hw`!3@f%10tBRnQ&n4`DI#cTs=0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k z0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k0%`(k>N{T_ zbu!ZGrh|cuLgBGj)$A-OHf)nD^X<%1XXUt>-5+RrYD_vfv`H>780wsMm`@C|oHR_&RCC(6BPP28s0pYE zs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYEs0pYE zs0pYEs0pYEs0pYEs0pYEs40FaFl)&u@89M8=7|Ev4act}=lECWlzzzBK9Ofsn=Mii zp7=AK(5>Qf-}KD=B==gjOId-RoeNha3R?CSC^!~mM-({RFJLmU4QQvlcix=3F;+2^ z?Ld!D&(*xF`+1K$b(DWypxgfl-NsrJWF+LPFQHu|U4E9oBsD)Ox#-ji6I+(7tx@sQ z{)@K14(0$g0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N z0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?NHK}@YC)uz@aPB-j&zi?utiSPY!Ha7p zc1fxV2aAZC%Gka#O^UlY6OPE=y}o7B@qne6;8AxX_g))KiK|Ca?)B{7>Ru5PUg3S& zE=opWQAp5N;7V`uJ@uf7$^L`XDJ_Y+EcEkKDbYyDTfL85Rbr*f()JubTFGLXEEuor zlRIZBwJ1`Ij6~yuVE3mSl{3 zj`MuX%WXv=JJa8}xO(6BzP!*@cZ#DbP!muSP!muSP!muSP!muSP!muSP!muS zP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP!muSP}6f0 zkJb<4ZTyj~%1JTCzn=4+X?{1~`tWFb{?{}|$M{`}$#OnrK7UvasJ2$#FOz*n**-Y-D0?SJ0qc+xa+JPN*vFYW0cE%OlQXJ7rvfnt+;snt+;snt+;s znt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;snt+;s znt+;snt+;sn!a^1r8Udtce%B6Js2ccJg5Tm$z)s5o;2fk+o zS$6R#B`CaV-hQ+vbogCut$Oa@$>kKU?Pi+n19v3Siwz6}1LX;Gj5bk=y&ihK@~_^~ zJ!^CRlhH{mmS(;EI8#EWMoP-E-Be4+vnIFkW}xd^@*A(q?U~eGuBU!lf8V-h#R4?} zH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mNH32mN zH32mNH32mNH32mNH32mNH32pK8@MU6SHY@A)}E#N;JJa^a}8<(;^|$t2*D8{X~*9^ zbXMFZ$L00PqCbh^Gg$s)*Ny9G@)cc&5` zq{d{7bBs^*(#Dm}IyFA}VJ$Y*1=Ix81k?o71k?o71k?o71k?o71k?o71k?o71k?o7 z1k?o71k?o71k?o71k?o71k?o71k?o71k?o71k?o71k?o71k?o71k}_y??L-&_nNZ* z{H)Nc;T_=%*8~c;)sqzU$eT~iUs73Qj$3R?n}7N2n_=e^%a)mF#igAF-M#yT5BzPp zmgaL?|J!`%{E+Tz%HHJ@Zp%GamfzOz?`?iUzh(C#=yKWnb-|B1CW#{-{|L-IiT$Q` zsY@ZQ`$WlwlW%y#8VODAMot!suQhH4y)piMj-q?%Cr}em6HpUS6HpUS6HpUS6HpUS z6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS6HpUS z6Ht@J?#Y(Aktd$f=>sVuAOCQ#H$957_bOQqIlIn&Z#lO_sK=uE*UM{<=?hhtE>>@j znb<6N^ToxVne^LsJm*LZ>_l21v&c=;FSq*r7D>-D8ug`QZqlR1@36#&HaILCWu@JD z_uxXnj=MvfmOD0zQTglc2|fr=!(>jHG6d87C?Wy`yBjD?1g_`R48g27dzeL{s-$=AVA9F2bTZY-p@EM)%59KN z*Oihf3u9L_HaJ~+ytF~!;`FRBoBWNQR`uq4mJ$Nm+s2xPLU{_}7wh!09*!9{(^|Gf z8kDuEDDs zzI^Y-ZntRuV|EMgl_Jmie9(0>W z(XMUrzR_-UyU0~bt^Ut<;?6gSe*ADE=~LxkB#OkWRPni8o@K61<< zJWOL?G3+50W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N z0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0W|?N0X3Cg-^WPEvp(3U zB-0zUcHQwTZyO=FpZn%Ot?JX?Mo&e`S`{VculiTC@3%OuL8zS||bnk-V1HGwO z1LKJ1)uFIeoyg-d*^Zef>FgFKk2P;P63pKEw20+qyv!5Pna;R#PX+t*rliEWQ;rXO z{n0UQaL3ATD+l|%m!7-rzE#fF+K;!;GR)))0~!fHO+ZaRO+ZaRO+ZaRO+ZaRO+ZaR zO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaRO+ZaR zO-+|Wj!JD_DHYB>U}7jwrTKoQjjS8;G!xXlv<^&4s0w-+E499Hm^d~nFuhtT=5g<+ zx!;D3Mp_LcGvRR|U8BPCc?4pXk@F@3{cGb5=4x@$oR87>WZ- z%oeW^gjK%E$lh)@_bc@`^S!~V^Y(^#pX$LtKTc9#+vUHXXPG^lfSQ1sfSQ1sfSQ1s zfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1sfSQ1s zfSQ1sfSQ1sfSSs=_^1R*?mRJ4S3N^#p0=C%i;;(Wn8f^(Q@y8pOU8YmL3<_-_~2^wO9{`-vP!vvNdBi;UNMUWy&f%CH_LST)Q8H32mN zH32mNH32mNH32pKe??6@S&tI5D^lcIPE%D;41ZJ)FD z9>-S)8P(Dj6wSMy@rqeziJPtsa+--g_Pr35cy}pnqHCo{IajY-HdZB-dTRFdwW?*C zOIl}_%nNc-otu(ugU?#6YP{3pEn0W8+FtmlO+L`0CI1-Zn-%>{YKgwMn3?wWsDn>D z`OmX!JPeyTJo~y|kUenoBPHue`>jD)Q8hn!uKlWs)g`A?m?$hHzVbNtQjOqZwq=>> zHLRwQ)4Ap4N>z`j`P{CW9twAOwT4xx-ayT4CrOeB5zdtTFF!HkI|;Md?k z&1#t$vr@^sUn>bZYfWP*^GTw$BLb0YEyeQQ;%1ejTUyrIRErk8y@OlInASVYAA!rFe4MR|b0J>#*28shhmS_bJpgMP&HNaEb=Kzpx&~ z^U$w|D|Yfp=|!K6(9_8l=~I;ZJM#I>tz7>-n{tYK|8Y#zKZFuUpK=cP?bcnFAL$}I z?)l_*#VF_1O{>AvGB17)ZAn~BTKb#rNcl73n-HV6yO!6Ix#HjlbEZ(qjKu+Q^~cx$ zt_4hgp1Zvod`da)V$as>nau6aO^iDO-#;Zq=k5MGbz6?0bLW##*6gln@43Tq;~A@p zpF`%tEV_p%nQKcTp$j*+z8;g!Tz`8abSXQtb9`^+uavaVpN~(qPq}3NHX96GZMf7l zcO~=B%T1Tod*&W56=eQ>ckI&d5zqY9w#eqT;_-=bsMER|lJye41N(7W!uHH=Pz19&tG`>WUlr>h&8j zv2pP?ZzUw&zLOMpE%|O*dPZhecFw)r@YKA*qWi@U9zH5bDkv?lsH}QYU6W8&`@HT& ceM4jMv!>Rzc0fBoJ3u=?J3zbtM`-td0LzpmHvj+t literal 0 HcmV?d00001 diff --git a/episodes/fig/workspace.png b/episodes/fig/workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..708150a1f7746a4ac34830ad9e184b520b3fc095 GIT binary patch literal 15468 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 literal 0 HcmV?d00001 diff --git a/episodes/variables-and-dimensions.md b/episodes/variables-and-dimensions.md index b7c8880..805b355 100644 --- a/episodes/variables-and-dimensions.md +++ b/episodes/variables-and-dimensions.md @@ -14,8 +14,8 @@ exercises: 2 ::::::::::::::::::::::::::::::::::::: objectives -- Understand what a Variable is and how MATLAB handles them -- Learn about slicing and how we can create variables of various dimensions +- What is a variable and how MATLAB handles them +- How we can create variables of various dimensions - Briefly review data types and why they aren't important in MATLAB :::::::::::::::::::::::::::::::::::::::::::::::: @@ -40,7 +40,6 @@ The value of a variable in MATLAB can be many things! Some examples are |Matrix| [1 2 3; 4 5 6]| |Logical| True, False| -## Workspace As mentioned in the previous episode, MATLAB has a section called the workspace, this is where you can view what Variables are in-memory. The most simple way of creating a variable is with the '=' symbol, for example: ``` @@ -55,6 +54,7 @@ MATLAB (like most programming languages), holds variables in-memory. This means ::: ::: challenge +### Challenge 1: Creating Variables 1. Create a variable called A with a value of 3: `A = 3` 2. Create a variable called B with a value of hello: `B = 'hello'` @@ -73,63 +73,100 @@ MATLAB (like most programming languages), holds variables in-memory. This means ### Data Types You may notice in the previous solution there is a type called a 'double'. MATLAB is whats known as a dynamically typed language, which is also called the fun duck typing. This is based off the saying 'if it walks like a duck and quacks like a duck it's probably a duck'. In programming terms this means that when you make a variable MATLAB has a look at it and assumes what type it is based on how it looks. Other languages like C++ require you to explicitly tell the program what type every variable is. -For you as a user, this means that you don't have to really know or pay attention to data types! However it is worth knowing they exist as if you get more advanced you may want to manipulate them to optimise your algorithms or some other advanced use cases. +For you as a user, this means that you don't have to really know or pay attention to data types! However it is worth knowing they exist, as if you get more advanced you may want to manipulate them to optimise your algorithms or some other advanced use cases. ::: -::::::::::::::::::::::::::::::::::::: challenge +## Dimensions -## Challenge 1: Can you do it? +A lot of data analysis, processing and workflows wont be with single numbers but with large multidimensional datasets. Working with image/video, timeseries, tables or many other data sources can quickly make your incoming data large in size. Variables in MATLAB can and are very good at storing and working with multidimensional data. -What is the output of this command? -```r -paste("This", "new", "lesson", "looks", "good") -``` +::: challenge +### Penny command -:::::::::::::::::::::::: solution +Use the `penny` command in the command window. this command will create an interactive 3d plot of a US penny mold. -## Output - -```output -[1] "This new lesson looks good" -``` +1. How many new variables are there in your work space? +2. Look at the size column in your workspace, how many dimensions are there in each variable? -::::::::::::::::::::::::::::::::: +::: hint +If you double click a variable name in the workspace you can explore it in a spreadsheet style interface -## Challenge 2: how do you nest solutions within challenge blocks? +::: -:::::::::::::::::::::::: solution +::: solution -You can add a line with at least three colons and a `solution` tag. +There should be 2 new variables in your workspace, `P` and `D`. Both have a size of 128x128, this means they have 128 rows and 128 columns and therefore are 2 dimensional. -::::::::::::::::::::::::::::::::: -:::::::::::::::::::::::::::::::::::::::::::::::: +::: -## Figures +::: -You can use pandoc markdown for static figures with the following syntax: +::: callout +### Dimension Order -`![optional caption that appears below the figure](figure url){alt='alt text for -accessibility purposes'}` +In MATLAB learning the order in which dimensions appear is very helpful. + +The first dimension is always rows and the second columns. So if you saw a variable with size 5x10, you could picture it looking like a spreadsheet with 5 rows and 10 columns. +::: -![You belong in The Carpentries!](https://raw.githubusercontent.com/carpentries/logo/master/Badge_Carpentries.svg){alt='Blue Carpentries hex person logo with no text.'} -## Math +In MATLAB there are names given to different variable shapes: -One of our episodes contains $\LaTeX$ equations when describing how to create -dynamic reports with {knitr}, so we now use mathjax to describe this: +| Dimensions | Name | Description | +|---|---|---| +| 0D | Scalar | A single value like those created in Challenge #1| +| 1D | Vector | A single row or column | +| 2D | Matrix | Rows and columns, like an Excel spreedsheet or Google sheet | +| 3D+ | Array | Rows, columns and pages | -`$\alpha = \dfrac{1}{(1 - \beta)^2}$` becomes: $\alpha = \dfrac{1}{(1 - \beta)^2}$ +![Animated figure showing a vector, matrix & array](fig/dimensions.gif){alt="An animated GIF showing a vector column, matrix and array being built. It aims to add intuation for the shape of each of these types"} -Cool, right? +### Creating Multidimensional Variables +In general when creating multidimensional variables you +- use square brackets `[]` +- separate columns with a space ` ` +- separate rows with a semi-colon `;` + +::: challenge + +1. Create a 1x3 row vector named E: `E = [1 2 3]` +2. Create a 3x1 column vector called F with values 4 to 6: `F = [4;5;6]` +3. Create a 2x2 matrix called G with values 10, 20, 30 & 40. + +::: solution + +Solution to 3. is `G = [10 20; 30 40]` + +::: +::: + +## Cleaning Workspace + +Finally we will look at how we can remove variables we aren't using! We do this because as you explore data and test your analysis over time you will get variables you aren't building cluttering your workspace, this can lead to you either accidently overwriting data or using variables you weren't intending to. + +**Clearing all variables** + +Simply putting `clear` into your command window will clear all variables + +**Clear single variable** + +`clear A` will clear just the variable called A + +**Clear command window** + +After working a while you will have a long history of commands in your command window, you can clear this up by typing `clc` (command line clear). + +::: callout +You can access commands you have previously typed in the command window by pressing the up arrow on your keyboard +::: ::::::::::::::::::::::::::::::::::::: keypoints -- Use `.md` files for episodes when you want static content -- Use `.Rmd` files for episodes when you need to generate output -- Run `sandpaper::check_lesson()` to identify any issues with your lesson -- Run `sandpaper::build_lesson()` to preview your lesson locally +- Variables are the main way we access and use data in MATLAB +- Variables can store many types of data including multidimensional data +- Creating multidimensional arrays is done with square brackets ::::::::::::::::::::::::::::::::::::::::::::::::