d2- E(/`%V]W$q̆WɶyZH!S2qfUsquHD@KQKvlDh(sɎZܩqgYҕÝKC~/6%ٖP3Bz0l`9<å c"K9{Ҋ',3(I.Jԁ>ʼn׉AT  ʚ60澞B f X5Mz,%`)[{BO- ŗ"H}ZZCѱCn`qF{7e[?X'*;x-}Cs-e41 >RڊfK<vlK7"ٳZ);KE?<ڐQ-ƾM)(`azHfB::yceA m*h?+H#;@^G%Hq# $ѢFS C5hr (/` ==Ddwheelroots4hɭ ֕b٥  =XlcQ< B_F$0yaVtʓb'0xhM Lqz?7GYg o*ˁ!v *W g:_b Zr.eoΤ)$ Fܪ*g  i85À|E9\~n Uaw;l y;@7_Q,SڦAPC?0TQl\K5PfߍXL]XLJ )2p[鼖hWg!|Zg`N*Hj"qo}!—!ةz"G\q']E\XHU5Yx@'ғsDMdҷ<Twך)'rDcAA/W{/d32 4r&tn]s֯rZQ{֤ "͛17qeg"]&2s˻7g:_!g* j`n3ظP[bs{ 1j[-V"7[͡& #T5_t)7,7ٲoCV̶jϻR}z` &G0l>w[Ӱ d0QE2+b Z8ǭ٩,j6 |g5zZlpųX  2 gWȀlw[ӞHoJ6#]h'a4" ! С! 4 fu{`;i#<^hK9بn .pi U*,]4`Rfurȧ0 !UoM78`N.GME/:%C'8 M߿510QIe]:yuz4!u»6Uat([z;S@w7W؁1ޔ3n;\AY :E2_Kc˭ p {w(SjTZ{ ٧.--E'?*"UbX7guS7Z@ B]Lf[LG&I'1ydjO,aX]kQ~r`> 155Wת˽ }uJ %z Y%0XG L54 U ,}cœ)h,wALPU($zV)S st}#|~Hhr,EkLXP!SX9D<1hO d2tB0I@# A FC'(f.aT;@ ))l O!Ě7!҉s6@S|;4EhB4M?Gcel(/ET |V[O1`].B`Ĥ" 1o2Ӆ-t6a.Υ_鷅$If,=xw *<ݤt+?9C NdY˘Ch>jKq 4 tX'M=4Ds}bS˟Zr',7Vy^记_fVNY6*pΘf, q3CIAX  nHr~'s0j)#Vf%F_{.tJj㉶ׅǜhdTSvAb-Dx00񪖵|Bo̭|䝝Py}JPLԓ~2=)\ގ"3U"s4\'inͽjIu}4lA{!~^3W5D&봨/ŒRTƕ-s6 `z6v7>Qx_YyxU\LZzA _2 R]B Gbbݷ!2^HD' \t} .AC;Wã Y,.nãv1#1)u짓^kw_ď+ON|{7(e\ɉ \sqn鲞, xL O0+2`O=މߖe+ڲ-h4&ֻG]xm vQWu0D҂aU^q)&YNby81fG|;Gl7~%; T=Y-ů qO-J&ƂAدlCBU O.?(tB߆ cړXE/QvS> p`ҍa׍%&ԏWPvďvo|qbO?`wZ䄘@?:d{1sD6jY4NFN^pߙyܙCR~.ގ-zӄK, 3\*Д\T[qE#X]4Fs%[-i4ЧK熴>cO90'% ,E6equQOE!7P[x,AN2OUi%Ox歹IZgJF2߻ MO!~mLz_ahzozԘ.mIXZϫCpKxqa^้*(*uBѵ.\5nʢQwеD5[RI"8ckޜY&Hbs,cX kY))UP#A& )19EQ-$bA} RF*FaZ(E)H-&yյd-|jd jUW_gc(GM_z̧Ѝ#qق RUS5JAuo;юz"a6i8w1Óy%%OӋ8Нt|_UTx ʕ ʧV8%;PGs>Gk1Dz_ҬJ cns[)k)mbA?s%ÑSD"fm=DvXWP@կqG:EeB3L T냬 $M(0"YM^:5l>E 5vo/VT&g< [5C^t[?qyyC A쑱O4k6FTgs/[;{{B6$D;l*g!JD"[Evod*!hkGbۄ!!Hy5N,,L4c `ބIs+-yE,WK\.>Lu2L6-hO}6gkOKSr=D>98v&ֈo|ʋtM 'ʃ0 Gt҇.Bj*0%SMajDhpM*rڃ4Rh4D^ƻDnьd: K-L$, QfIL%]͇hN~":>lB3hOғdA<)Mht_g`[E*ڭl}+=2X6p؆-T G mPYm`-}yrjղai]:e4ϣ4'c:'`!O*?=x&&[&@ZrlsCsMX](,jjo׫-c72nT/w_uo.ᑫH[֭;נU7#/= l@zE{0Ά}o{0tj+`k'a>xY[oE>;qۉܝKSӦ$$TZ^*hVٖHHK^ ~=;Y_,}Ιs͙I"JP2%{ />qJ҄h'N[/wR{{<..b_ov=nt] lL X@V&}6Dk+ de,K@'" b<(7Sgcf c>Ÿ2rMFxKNڬ/`+UN2=UⲡqBvf\=ܢ!o UAZ|C䵇#h~{Zz5I.;ޠd|Y\\Ę73|2:'NWKwuj $ln[&k˃Z^ɟ=vD&if L>iT,2NSqjY[ Nv]`3fs۠nJk2ȫ jF>]>#iOea1a т琓ZtԃQμ|K:k|]煅otIWb1"09YF 3˨*ge.$CgEVJd.Isv}3_xݩwվv:O'iBdѴ"ZPJS% ߞN~|V\MMqZ:?F`޴lV4W໣'~s'7Nbauᣠz?cwB.jyBy(BqĘwyTƨexN5v[#Xp.\>>mZ8YL2*ŕ&1F(y$zCƍ~NUL¯ 0,6gʫ%+M&f<&y$m/.];BϬ/N3pb:[y(VqC)Y(-,UFT-)Ug8at(>摋gfGP.rJ!f=J"ZT4HaO? UHr a0i5lGSq4)SUU=) r\Ç( uʑ_ Y`:y@ C%, *+)2I[6MCMatTo0*pPo1F~xXKoF^eqbvIQ\|hPE V(M $8E?@s) Xg+Qq;p8ݠ/ 5z/L[x^`'{rCnBn/h;-%E07S.nug3m{1psm'cLu\S5 \KAƱW'- =C?ا9]ޏ}2OKѡ8/eQ_l}G1? [;7O8%XHXHTݰۻ) \K=O$E7;-OKhK2=Q0$׎ ]HhxLsITbf_Ғ̌h}L2bL nBx_!zST$[*IkYg9wlP9?D=t8 [N='ݮ,vCԠ.ɲ:h^:Uoya#pSN VO VHJo k=PMvEUENqGϬI|Bbٌq"9Qp}s\V +_bԧ(y'+D-ʒ4SCӌzW ey&1PrH2c,l̈́HLyv 6Q!}ssCuj ":QA1V/2% l)N ָ=t`^dX]0V =洍&$qiJ{Q*Dҵd鸮}VXJ2Uc2}_gR>{M^Kٛc:edQMأN҉kgWc>(WbSpTgn mtby mdcWxrn5kË7E)DȻKEdsn?N4pq!}/}8vH]%엱ob€T힪IrP=?IgQ*H,ƣƳRN0P~eg?D: md^wz|~jR?k%;>_+Ϳ|>fo/ nxgBmoy&$vHO<Ї`Zhg8o5:]؊_kӉj4gÃ]"_ǵ AC%'Z[sbw D8m kCxXoEvsm4-XPZ )R<ЪHƘ#Drl /}_쾠J]߷z|v>owvov'y^ ,َxHdg(dȦU:^{'y<`Ӻ_ Xx#PhLv'؛"-C1ɯ.}KnE'.b>9]~N6Ă'ع#ƾb]o ._6=e ov ;?#6" [O/!#>Oa+9|y^|!b7 !bdsfrJsa1o1ftQ;k;G } @6j#f?bׇ^_ɟcocPe:; N{''Jƣ#2Ȏ$`g!dJ$J ]-g$;3]9rgl'ňfim2vg`Ң(/x]S̄ɍ$(|0FUn:ƒZ$_~q庋&Ǧ49SVIV+I\J Hj\T|)V]]EԐ`c:U --c\Xul\V3)<"/*߳PR[EM9^v)1KVױ9x* *f4PхhIn2UG]HL{k$6pUMż:ߋvNmD-o{`!bPؖ((*&:PTԁ j~Puf [ma Ϡoa/$ϩdKxRMK@n&hۃœxX,HwE !`z!qvwlզ .7;{8w˛%f12 y1b_}tɍ!D̔+1F εB'u[|("d*tDQF /x;_|J:{#mU+<4TjPuJ?b->Bj6j.:NWWofFwL=vrY~ܜ֣kZ?A"xdo$M"Y4֍O(8{ MƯEM3{6>o- rwNLxRJ@n&hCœxX,H?*D6s?EIImqff̛Ƀ;@p8Id>ŒynD|BKlrtm/m^<޳x?;[:] wTxSMO@JH AMH$N]7Rhڒ /mgaZ6ymw>ޛ>@SU 6Gjd~KQȨX"Dh#($4qGDa }5>ߢo(S &A!gV`5gT`8ޛ8ӐŋUrMSa`ɳdoXQ,^vv#+5Ü $0{%E/79LjRI/lb mk)⌎vx.655! Y#]f\r0LѴgCŞ X\Nb4KN'ݤ*۳; > %1ڎKƪw[[W6iYg! @A6L}1=0xRAK0~Iv "zKq J-󼈰Ҿ٬[-|I}yS<#  >\q% QDN,F1B"J2UY!ZU'n}kmrĩGcR|mm|`\d*-A0T{ZQ]۲9 J\oEQtL(փ#`PcℏfњhOKkgFyi=f$}{g\եsu7K]C ax]PK 06bQBo:Xޡ7p[j,kLFm;曜"$4s")>)HLVIeږXfT3}@y b2^3RhM=) 6Xp칈0m{g3}) dUեspfs׶qEs6q )xY[OG>_\5АK(jDUo<hA7~تGЦp̟*.dA? sC}r% "F~BR⋧n{~ZA(ըj98jt -C2ye%5 ۟_{PIKz׏?k7i4xz>md!HQu#,g?gxfB/٨5_wxu͒;Ai{e顽'ߋq4'qVzSCڏՐ␙aowY!8 I3+ 7#ޑxDC"(6^o4^ьgx?dS'x60:g_IV Cu) ޶>$?C>E)܆6K-c/F|Q_JW+Jo18Т%K&ar@<< `~W-.^o\G (ڢ^2QUxnт5i"^qs:lx'բ>e9ZW{8u~wLWy[C#Z^ƺ'm/&õVݮ4O/k.v9] 9 x1@n R`bn<\Y)#恨>G>$AǞi914]L]bv'/3Gg)͠L̊x eu^оrSm_|3ƚG%#G?9 Nl§.y>r9+^@?//7}g1z%|w%](/3 GLG`G՜xs`[75׈ 7=1BYܰyUs(Q.[ ]\q JK?~,NvW)LmՄc /^U_U'XT |-Ň(NQP\%%[^Dg]?C܅A.SDp#:O/q4?݉;6AGF 9r7ȃ ( |pd]7ii1 T0E`I`łV .iurX7` /n 7nf6p+et]l?¯Q>x]OA 06R)XGfQ!xoPܶjf;s@@& j_RbH|f5Yts%Tڱ=GĨc,Dd *x1<ykM0 ̔kU/&kR[bhAÑ !xRJ@nZV[?'`Az|Ц%Ҳ[w֋vLEٙy Dsx7?!h4Q6%YA8o1[U0uPKXE0 s8 gAKkS2OA>ȶgn% gY`O=/2V1YT!ϫc7Nih$(MԲ*ڑ )emror.Hҽ]j^A}z%Fd"2tHSɦǩGهQ[ 1j QC>.AXNp <ݾ*s6cŕm?N#W{lH2C6W䵸5?\ R ߡ5[y޴_-9̱DxVKk1}λm)i @C!А@iaavhQU ]V+iO%p]_0|lpm)`a)ii4 |F1b13A(5x:PB|,ky͑mqLܟ?$ b4p2W/5D?" w4ƹ^zu4瓁iP5#ꯓU鹡O4C,-fioh0N>h֮vS2}k;'ׄoRZ9:_|Qet2uRWQ0-Q;:T$ght^cb1[^ԬuPOYb˚D%ܽ`XBѳ]Tez2L`~SdHf{2EjbS&JMi\hK&xFLC=^ӥմ .wxOf38[ɶZHl5 E⇎/_x|n|mAwW"muA B?פ|gY̒݉.$6 DU匢tzHv8rVPZb`ޜM~-T=Fig"')8+xjWοv8F[dAsbSxe ([E[v +J(Q:*9¢1V0JL/AE 1^i@x]OA 06Тҋ,HୄfQE(n 3If9 #fs)X!$b>B+Q2c{ȏAB)5dl}\0D dL|rtǵ13Z;կZhclnC 6*+llJݒsvP D"xRJ@nZV[?'`Az|Ц%Ҳ[w֋vLEٙy Dsx7?!h4Q6%YA8o1[U0uPKXE0 s8 gAKkS2OA>ȶgn% gY`O=/2V1YT!ϫc7Nih$(MԲ*ڑ )emror.Hҽ]j^A}z%Fd"2tHSɦǩGهQ[ 1j QC>.AXNp <ݾ*s6cŕm?N#W{lH2C6W䵸5?\ R ߡ5[y޴_-9̱DHxVKk@-v4nP搞*(9z?YId$Ӹp/`wVIMYqCFݙ:W4 o h`cc hoiQu]7_2@9LM"F?ўAI:KKuH=%>lY~ 6hx^G\25cҠj|f3]u}^j[at$< M߄$wz@l+)L[oN{#pMZ{@LሦMXW7r}/uyO4in4 ڢZ$ٚu[So|_vX \0e^= 胡9rA IM2%s@2 hFZ-V &y󝏇_ ~<&$ЯIӲMֆ -n9IZI@c~-4&$*N3f]dbDH46'd}̓1!:/eb",Elsuh;̾E~2s3OѦZ_vv) A p|- >v|E| @v\+lPnA cZ0fi\w>O>ŕϳ}kXl:|_C߀.r[ 9BPYt Wˤ2csY`)>Ψvlwa f;0OJ2OelݳAqmcxŸCM2#LNg Yqb;ȷpGE80'qb $(_Ah=W=;:Zս0*UZa_ ]PN)D7Ѳf: O7QQ;G|Ds,""XnUyz9[{B'@uZ=[y1xĶߥd?}w7"F3-OMH( $]jtYz_axMTR#$ H`8=?$'$>un)LR(ß?SN7ꢄ bT5FxɸT˦gƥ.ђв #*BU^{.xdY"tG=z=> 9!GFmEjIJϳ˳}r~0apS28N*1LÖXBϾ&',֕ͦL I Du#دF$@SolE/s.PPI"qІ~$eĭkշ/lZ>.k &Df$c¼>{\zFp0#t?몴;x]O @}kx:- ?ttEDc~;i ́fc)#apX!4bIAuls%(3ي=KŠzDee0V-X 6>."b&>2qkKoҩɲq'Ш-lcJs6oJ xTMk@]YV .B(7В[~@AoA j9Y[{ ۑB[8.= z+c@8bH{8KҴƽnd> Z㯡(Rj#caD͕,_ש)yry9|fEsڡ}Xlqf8,Wr+pK/MOf-_+XE L`5[Z/9l_(6Q"r!{0aLum!606ՍfyH %l%MUp#ӏ;ʂә+?A'?1 ? 5 g"Լ}Ӧx:ulEE׵ѻ]X]p0wer,yV~| Y_'\F9J/M;2{t`ȦVG򾦢9K/Ӄ!~R{럐P4?,<Ź9&@1 }W9'Rbyj{z_?pUxTo0vcYן`8 DT!i)dT*vKdrAH-3*H9CB%̇;×CB_i=5*kmdgJ͐׶9!pxSMK@n&-xO,H xS I!&as0^DHNM-6/7o?ro-@װ cQĽ)1f̹D:A8LC8Ab"N+:YHF9hܧV6zxٯ}ILiri[.(&O^)&-/MqVؕHe"u.no2(Mļ!t>('nDW#" c_#W-x!yYy,{N̍0|;Bt v`&eKkNT\迱 2(e<*:=}~9x[W``K@1SvIqj7T+P*VD+l=ퟗsȗSuF{G{3Za6{Ώܹwf^g _wmePs ^l6<ԄD| sIm]gRT[K"u3I^s @%N∕361"ڄP7&8^r\h㸏 @?1uA/{1i!xr<&(=®]#ؿ]B+ m x }o3I49x"p$B>k0XeWχ]1Q~>{_sC9@ sUUbF =sg> E<c|+yoXey e #">m 1/[SWcoyOgxf=x<;igxڄg/|ksbCs/0agh l- Itc =?CMy,N͑y(cAœ x*hj@0c0Ȅd݋d$ZSv)*UƦE]1 P:5u )ʹ9cJf3G5פqit! ͳI4ETn>`󄵾$/O(dDU!LZ߻t{)ԵHT)TBLc筇d-Mrh2ͽ6'fތBxsȃjMС09cǭ,Yz=ɴ 6H)4[rRHGM>,|[iZN_gQňdB244C_$&Gϡ]05oF$t2CƮ:&6Mj=w{voe&Q׽Xc|CTBrK~ꔷ-d=ƴ g/`h/A"G(FPC>}}G);N`I[Âi8M6!e9˛͟ud%")B B흢q O:4N vERtJ^0'k}vO~oc׊j%՗fR=cU۔*t-:E%uY̪X)_,'W(s^;̽"t8 m#[wM}oũmkg} 8frpZ ⍕T*6`7&HyXN({&쪏 z.`lIêCY\o3"ypGMA*mCP@9}G>.In\d3[]BLFIBX )(cN{LO;ǸW9.}LȰܗn^;bn!f4^;Lc#ǭrM%)tTȡ<\:J P;~% 2B0/e ANzAljC?s>'+:; m>_ ɷˉ,*clr%&鯘ּ?T1IGη^eA@u! |Y H$!^Y^2<1V7$lUz:9#rKBn J "? ˿p^yD46FIls[G[#\12#!Rp#[8FzQ;j[*5hAhc5(Щ@;Bw ! h00#ES`!V9fj@#,`yg <@BC% |i @V )u ,@>3?G=xXkF}3Gĉa;q~=Q(=(y(!|vj){ȟ\p_J]i!T0^o~s 0-˄iۿt0!B = GԯG7Czk 4:,b\G?JN3;\ڶz*&+LhQ&8V(\L6Q[F6\@_`[E,|뮣 l7g Dwuv0eıcmM =D6vP*ۗ\S?!k8{$sN'4dbqGwȕ 4A?}!vf?{ P.+s.޽}aT)H2.Tп<ɘJ]w{D8QA_KYI9P}G>y †fqqSqU!m~<\:eW異 s+Y*0g{u5 J1rx"W jP\(oWdi &[ $jTӰ(tOn-F:Qju,uHe3-UK1lbυF6(]qeB9.y3BVm{<`нsl)I*x>2*2>|8JSjmIq_s9 NUUuZuV"zY62^[*K՗;fk;ag E ǾCБl+/鍿VPv|/-H6'W[xrՄhߪ~]ЖOzĸjg-{W˩7:b?܍m鏆~E9Nq v&׈֔؉ @ۑ[%S0ñ"ZgPeG#]/~,|[[u^, V}'b-J@y~2@SV0xغ.ZEɱ#9)CP_@^My=ؕlc"("72{U%N5_׫ y7DWS,a#h]ڣGQ{: lb[쑆eH! D;ĿMK)jZnɡ_< [fܛ&/s]7M-z^+?\֗Rj`ZAo] _a)Ar"?_|Yĵ}'&C/!~$S7m xZ!yB9 >j!Ȝd=gQh.p^gw^)knB DmI!+D*D(kx -"I GD:(DNRg(ǒ 'xXnE)q^;1 iCz-hoc]£Q 0w3NX2*I H ӯ"ml4,yeZ0ݭVRh0Z?8|j8=Eb"EbbgNHlj2z!0b. v1+R)yh)((V#g"K8﯀sr_?EPkO+ߋkj?3g^$>` 52W()V *ZuȵrmM!|ަ8RF-(A#hC= ?#=F9O)qX;{ >! _^lo2v/M^dɾ 3izcp< C[XdvǼU" vծ_6[!*SD0I c yN mj?b cLqQ{>(Hn/ I`Y >uMRkzP]8v'wZ[GnŎ31q>K$  wPF^t([q;PwS+kzNR,}F% wIj:C/}Fe/˯33Xɦy%I~ %_"Jvdѝ$' 䞟7Kɝ+)r%nYm4$\Ҿ %ɚ1qm^Y; j\WbT$Ѷ؝vv#XEXMR~P:d2}a;]ˬiūuIh;t!tC4no,~ο7/:n?t떩v:͚ͪNvMX=L D6vGxf_;4EhۦS-)ޏ|a4UT=J^mI[ս`)8l˄nmX<~`^T0lۣDu<J [amq'sQb}vgp ,w`N?c4D|^  e͛evմ?ojj#}oBG 6 m [.nx.XM{H1N3Crs#腻jKy9O4hg-:v9n7􍃾ljⱯr?rr^"? e>C[rƋ||Ar~a~^Q+E𿑗ū8~3N[yN &ۿW#b ?NMzZoI/aYgW,xC{q'$P1K 4^~6n:REy"Cd>t˰y*-$J L2"בQ!_Zס_\-V@ D*0/faR#[B^>_}xfba1 ]+5 6}P{>#`S9xW[kF]I{{_@<<,QeWR?'/7D#k7|sMCa ۡ_>}Tۢ"yu*SIphqLK/ aHCh. +99)π-v ^BXCB vNb,sxZ;&?`Mx-Z:ø>%| }l ߂m9Ow¸=m 5Uh>bm`8P r?"wd`Zרeq0Qz Zsbl'Ѝ?ƶ &oc;(CIt &Q|v bm@KY50nMsZ,I8nX`ElӶm}ߤ9oś[1320+ RGۤՑGGc`֢8}/$0H׿=ݴլP=ÄZS gǴ32,#/3l`QU3La,1/ocv|#m9da k>Mq`m{M1 |[ ̇d/ՑecšK7KXt]7!cm"[6L۷/)wȽ@.ωރܻ\'r>!c bma{` &hrt?(UChwW Y8rŧC-Z,_!DKQ.[^ϢX=̔2JenYdD{F-=;2|{gK*Ӕ/ߩ\5鋹&'G'GeM@%'l%T$t?@ˌs: >n83JkHq|LAWEhӓm12)4ָڥmo&uLQ{^qh#iq=?8lٯr&t,dž`^b9)X;VFt=쫃ÆUo74NU1x+)YmPe'vm9\NK̽Vr?ڤKGՌ7򻘛ԏt1^f .Y10lH}T-u~uް( GEwRE!s{ȆeN seUml5ĺ>oc5Jo"sOp7yl$[9)[~!_W  wrrՅ22n3$8)n7򕲃Mj ubPSyӴڝy|_UT|$4֝"yEؙw<⸔+I {Y5_h8y aojoվiOEn(iQnd ֢ħ0J47Y'x&ynbo 7|=~l>W }"8 ]- qT.i{ TlIVfjnS`wP&P]qgy cm Q~34>@{%lO\b<{,m,>_9*by>ȦM @@k" qmPyv kE7})`: ƛ=Id 'GA@iEU&ANj vm:MO~,O>dyttTĔ?<'a!/W1xj/M#&t/x"uA,ۤXb| z?=̲om7LUeе96lėxij] Z0ԍ "dnzmQB>;eii._.OۨWc8gZr]Lͦr͋_0 tH8t DA!@S@ !2dy`rƁ )˒gL4 }!H-yFy0"?r:gZiLv=\M~Iκ@3b&Қ& 55NOҩK zT+E%kb&nYʢmMt_/I<t4%ۂ%eGY<{6XUhsښ9tj&Qz]4RWi/}ϳ5̎&Y\4t:wFsnU*6gaOI=M1c}]u0rnADV!ZBYܹvǃX+Rrx6Y<½ Q]+ c:֪r:d-P&hqEyߦk؈ѕhGmr';/>ٮ"X<=M9 oHyE}Ht.G=s@"Sl_'~Drl,C߽[5ٸr˽ךMC:M/64.I`*p?W4Gw.HmiR0Vph:!tgL7x'2Pn?_\/{*wrwis4y_+Tr)YGN3 *ޥ4VYh}]kZ=y4S;aAC!!%t>ch;D].G踪Wz tE4O(N58Le2[>϶?z|xX[D>su_Bw-liJFB@PXxBHȤ%t/C/RxAH]f3񙉓uhPK'g\9su~2\9'rDOrP9f &?z \׿Zevw2(>{,j_#798^qT9 mۋ#SB":UԩItj#Xr4QnMmh)G8⸁:=kۥ#z ۅ8mĺ'k$#aGXs>|\oR1x0!'%&#̷/dolLR~h WefeԞC;8Ip0:,\E',in%<{]\yXW/ n3ʹPp& HGz/+фmkU'!%I)LMW6l5ƴJJRE9)?1T^|n =[e^eo34kk4 ] ZAe=1A}CBGyB/#.B 4*HO3k2;%y+`0o,':Y~`aMpC eJgpH`f ^ͯ>wg<̷J,CcBni}l}l9Mϵmg_Wmooڕzw]ehJK v{yauhmqh0F~!mvE!чH؅*6#* ueȩsеPW],  ^2:-IHG2K!ٽJkraENJ[O.Ht|JTW|| |#y[@%[O-/ŵmHFb-ep9Ip;r$ץ\䚔+ܔr =,@|xXī}0;=l 9 ӶĻo\%1xv{YDQPS1))2l"e Dk V9Z]; MG%eå[<,Sm, wqxS%rjޝr_iu kP&A=%:+Dt} 'pC }70 x?0Ў~{,+DxR 0 MP'Op EaG[ͷB'^xI󚾴4ǐy><3"a\(@ .D3 IP"q pOzh́)2Bk| V_?sbj'.oe #l vSh9kw̏k6RXDZqʋTyݴ4/R.xK0&ئ8=(1JE'Uk&y<}a@D\=@?9O xQd9xrËN `_mWy]ihGL9!kYc-~}:X,8|pRʲQwZX[Xr=,YV4lD_\6Pg׷]얫U՗3sOQ>s/~Qke_阵͓R afRK.ӧ(웗 ʎ9ψ}#= S[u Xxu @G "unBAW%p/{gD`kSl ȸ#!bNF咠!v?SEQQU\qG+].:5`=O40L4e-ˮK7i?5nFuT٤6ާai 7qXo؃qxH.#eVZ# bsOޕeMM*8xQ04bQxڛx,[{PJң^f'TR02͛d!qFYo/ƴPUu4ed'0J?D{y# CtsgQYjuH%2!eDxV#uC(EN]CrFW {!msqܲb%9ke6;&d3!殔 'C,7v:嵛??xQ04eeOde ɫ'o" B\z˲$jT ^&yl2 $%01+UU]W2ȋ n%YEL[of7mƘ4=cLS7 Әs=o'{nwxQS%`hK}@ЉȌ݉B3/8Xp` 0 Fn%rMlW]m#vrwp ¾{5F]٤}Ip0h`?ddAwꌜ^mnȝdO|\N{T,׾ܟYRyk)u~]5Kο}Eok5kzǵ=s?\s࿷5--.K6(Д~_UNkY(kM9 κmy\:ۮKolUp>S*KM^86Q~Vgp7^2Im>_A?jB}ڧHиqҹe@0&BJHGmw>+z83 z,Z %"h``3aA/xXoE_ߝ?߮;u T!D> AB׽CcҊHU6{+󽻳RB+_ BxWe_b<=XL$#,?o$$O!1K 6BnT `CJD UkבGi!MG-wv졮+w_h,:B?ZRa(d0Txv"Xkb=dHt~]8)R )I:Y眞o<|,o42Z?(q+&jK`ynOM9Kk+5)eJS?i` *|>cT3}q8{q-ʏMHO5rckR#+{Z 9nSKG'}bwL2)n&wk>ƻПOONȎ5Ot:GٚG9)^4H+Jx1,SN\,g(P+Γ'9-y/IZ/qj]@4CCY$>Zo%~Kq)Z *ފ8""YDˬ "X¯N=82{PDZX A\K? MuMT,m-F G~Ѹ=(vmf HA~C{{a0]SVu钷v/}i)oOɕMSʖ! ܍K1MT}J(wU>?޳嫊kbSO@j/i޴N{ 1e_^6̋?*`Nc궸.uq4v1>]D7G<>ag֪|*)>7oa߈iBrz~x/X:xf񡂥J| XZ*mq} x.HUZCQ$o"j,u+ ZjDCu C@ubDC#{촷ck;4.z"9xt6UBF w"|y;ZLJCȶJN|0=ms/&WT_(o/$hp 9#(|K4?+IK,xYOVOHH_#5#&T}b{Ӥ> 78qR;TTS%i}*5>7J-rc}=>7@Q3B4~Wh$OB۴mp OҭfOSF%, +5ȑ&AqK9}^/^pTJb-9]HxGڽX3 -DyU^^~QV$D>Pav8<_+$yEY 2PE9ܯ*5kNhbe+*V*%^Nd7,w0{^Qm[wW[*6o+ʿ:6dR1ʩIօL!Df]'g:Dَp>'m A( `aE۽5l6BaI`>-VCkIrп xTQk0>۲RhǠt{3+>7q;?//cdRY-N:}yhywiI+Y|Fw'-:s^ǖeaIxC c>],B{{k7 BͦDdd;&#D]R=0,hsI@3]N٬4":<-o=dમ#낾mCi *gRϫGib:ogSjhTYR'2O;ŽBԘ'UճZ8FþSNv<+~fUQzjk=WE M{ *^@B;J)kb=6OnծZCVUtN99imZ*}WWԘrRW +ɧ؏ өVNs,ƴzFIB.-$)!-x.{I |I`áb(NUF9@'m4ُ"^W;-j rAr-ߨp<-{{ߏ~ktxVMO@'v>lJ HTqB+z-ũ~rp*oN%j,=㝝yow&I7؝/]i+E:ln}ub\.Z= !Q>[  w 6ĝhoˆAͩMm2d&+}Lɡ1nJ e}&C* h"%֐o`o#ome|^Wx {_i?>*b1j!O OhsL]I]%#v=WN%xst08lg,=e5%9,gڎj;}=`K"+"D /,+p{Nm/Zf8V@&o|e6{(7(a1u(]b2EjNJR̃ Fh*KPO&}j'%vRQxc%h5!12N>_$_dNJZ8u)nd %8i #z볓Z)2. S;Kwmu:{%l`kHF!Ǐ3B)аFaIpUR@Zrیv]|ybKjVXmSUlNqe'^H]o55xX[oEq[7C"R$Cil.kED?6 3Ι62y<3|6{vdlMAX߄L!:hxs?*n҉5GY4&;ņ15!5yY7Bjm-ILDщ a<¡x@{ EJC6_NUa_ |MkŵE v6qvA:Ln[:žyzB߅=3t>'0sOa@#96 `k_c 9B9鲺%g+BЩ6M9dY*Ff /\/8p2an* opn>{6_|-Pg~ QH58ޭ&EIm61m| vEўLQ~MKy| ߏtD˖?P;1WXI`{r|>>PQ;;cATύ=i/˄ԪB6/F}cp6KHgQTs@4!-JI+qkE$LÁu1wS}Y>qC܉k/'PRtɻE{ \UÈ;ja4 .п(Z-؆.IJDA%bakf%Fz3;>Ϭ77έa#BZ;9g=ya8T? /'d|_953AtAt70*I-؅` FW:sWs|^,30`,¸ y>2 ˓?OQ!/>oO~ɞVQ4oqraP>FӔgAp^5c@$yW06Ql^אkQ@RUYsݫcJJ=\WTyNPf&M2U˖kGu5E` u5x453pJD!@Ǹ-vou|K|Vj!( Eqʀ B A_ |-& tS1v'1>D[Ց /cxYo6ێ;/Knkdz;0a[n; $Tl4zȡK=1(Qv8*'H2KщaҿT'b__1Hlv;]5h#Δk¸{,aǂL:}gZfl{@oJ0Ȍ%']ېT*Tv<c١?扐* .)ؙK®F%Me0CK%eU*{!Gckc}/Q3ɦ:_`+jy!nv֩$lf o7a<5|C{П3?G`wX"Nv9W-@ =>Ӻhϱ;+ $K+?̓6ߴsz.ס7f 7myUXU6|u$ǐķopdXW 05w`_32F^E<$g84fq_F-@)$/$CK }~_#;~>ɷj >k>U$?|%lW]] wxʃ3FRdnAj RW/ uAy,K%ɣe xVMo@]%HK)jQ# !HEm)BZUm&$,l<͛7Ozb̶,Lf3~'ppň8Fq&1,vxoԝӎnƎٽ$bt& H>jnfW":6qQM،NeM c `)G|t<蔠#B+o"Zyz"9|UI~žs< ^c5wq86{w D?w{=o>G _"/F44p FƊ*LK<<1Xh-(lg*h^Y&λ0gsxYbA敔9xuB8[q8"a=DzF7kBFEHg(G4]_j=GDMw6 ]!Ɓ/gwFvՈlņKFmҍ;-՞MЇ㽻9(Q\4Ԥ.`wK*UMauVw3OM@{N90HWbP6u [M -aCabAvO75nIÎmVa $m_^b(SL)CDg,dV(-pَ.= :- t pL}kd~ {0h7k*-K}TJ= Ӥ`cF|kwra&*<.% cnFid7LiotQeJ:&ؾ$*U6:4?C+/ xՔߋ@ǧ_^{ xo,x$BAAEJHsm!ז$hd{q7noKj ``v3FD*i:k%_ iTe}v\׳ǃE)sWRbQZ֐MԒA]yɭof<IC#;PA5M3Nө˄L.1cèRDgȯY>}*9Bs3^ka S]04=}G6  f9*%O^053zmԴI PIar&@ݳFs5rg~B99r~1Z_`d+x썘oȫM`+aX[[0|'Kwakэ}ΨX=oKb|—sU{jyW&I䗣rHD݀nd4VD]o+M)*!gj/1])s|Y& bI6d$ %V{&!aPΖo'.ˣ)k޵.QV'"RЩЍb>[v7}^Sy)zhP{˃F?D\-8P+x)9KRރK>%x'xZ[OG>c`=6)M[)RJQ*UݘXrtKAEVTBggΚu+}fw9sfvviA<~w1?]Q +VsLr%Q.K;<*lf?a&eJ +5}ڣ{!M Zipi&ܲ>]cRɓo$m șoF`a2Űu3Q;`q "70}8r =Őlh3ڎmms/$\oXEycm?o.mc8O*Bpp,fSOcmM\Cmבs ǽ\ h_&<;sy~|cb9Կ}>rX=DDϟ$Fw0~_<+v7ƛ~!h,cF5ɗqZtZJ 1v_Ƒr밓 2kX;ҥ1Uݒm%4IGՊY#\|GΧ]$5.8qly) sm5Fs@s٨MꗱJt]Ѭر\ZG%!@G q"?ϭ];~SD?k8Ox dm :]c,='{W7E=}5]Iپt59?ޗPy9 qEE ]aߊ 9#tQ,3Xy[#BrR$"H$W1T:Ι~WSJ^aB,3^h+-ݨl-;E}Q5 V_D}K]ړȳ՛°dI&,6\qM'NmgDFЯ݋\sE_߶Wv^5:jtN,}|H𒧌*`OM0V׵4I3}Nk4QdoA}] jߞZaumkXְ,yz=GqG]foqM;z>ٶh0*ݐ= ~Է o~i.:`R1#%iv !!ǧ@@lJҠ$ {!)+AH|%s/ynxmPM @?A+$ԡKtIq]c;iV7Pq`fw߼yw,C`[t`&XUMRh YD7ahh)|g1-[#оp7 fM]!2JZ>a8@ clR|MZ0j^P<Ӥ?a,~%yyne0i1`lP\g, xՔߋ@ǧ_^{ xo,x$BAAEJHsm!ז$hd{q7noKj ``v3FD*i:k%_ iTe}v\׳ǃE)sWRbQZ֐MԒA]yɭof<IC#;PA5M3Nө˄L.1cèRDgȯY>}*9Bs3^ka S]04=}G6  f9*%O^053zmԴI PIar&@ݳFs5rg~B99r~1Z_`d+x썘oȫM`+aX[[0|'Kwakэ}ΨX=oKb|—sU{jyW&I䗣rHD݀nd4VD]o+M)*!gj/1])s|Y& bI6d$ %V{&!aPΖo'.ˣ)k޵.QV'"RЩЍb>[v7}^Sy)zhP{˃F?D\-8P+x)9KRރK>%x xUj@kweˎ] Cz5\Kמr Bm$Z^ɅR VgXV̎fvv[z  ǫWO(8XǞ2b,7Xn`0`/-i,cM+ZJZ|Xev55, LR+*DR8NISNmvvz΋$^8͙G-5x+X3-Ϧ;:9&ZioegڂA憡Vj4&T׼Wգ ZIZw}ƫsC<>;ef4*Lܛ_*tubmcF1Zi EN-o&UjW!#bAIvޒ{IOKE,k eK>s8(\AP*]*W*]*W~WhMVO 'zVzCZVz/tS9U$~q~n-$N:xwAp.TbXFwӉ M rLCfhVn2#,Z}[EK|'|SxD֞o6dxP06bQ/z+ kAP֋M:bPl&3Hx}"U+$Iq.| teL )99C7g)8#'8*[ #흕sŹ.7$KkNsXL&Jس$ < .3V8CԾ1tj }WCsot9A=}oUvw EL*eqJ JP0hav;:3&511!F!&FAB/>hȋ1@|11h;;s;dz={sg@1f,-[*>kW ~ Nnٗb.`6޿>H\p#w+ͩ ;uoHWTU_0 ÿGďuďO~M)OH\ڬƗ~xCc~??/Hoqد$_%}A<=/YgV-[QG >jc;?vN|%qw$E|*87O?>V> z&j 0;?a~;R,rY[s7C,xbf~EQӦSٙDEӊO?hq򥋆4|4QQETԲ7W4eizYt.c5}Hc^3RB icE|Ĥa뼮DU%bVZX]RA٥"u}B-ZfP-N\kc5X69M:BP+6M_թ*IJL:cvMtL.>:b}ɍ1 2O}<]gj֗Yo=Ow"1يp޾=vMʼwX8rA?q.$ev_HTr>Jnօ@ }bz]swqE?1$+Jt#H=мuyoUuŗ}䐾f#$R"ԕtysю^8`)E7|*E0Bu{8]o# BVۭ[K *4иBO|ӾUb-5ωGOk6H1z|)g6 --- title: "Classes and methods to deal with cell references" author: "Jenny Bryan" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: toc: true toc_depth: 4 keep_md: true vignette: > %\VignetteIndexEntry{Classes and methods to deal with cell references} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- Following Testoft's book Spreadsheet Implementation Technology: Basics and Extensions. The main class is `ra_ref` which holds a single **r**elative, **a**bsolute, or mixed cell **ref**erence. Two logical indicators, `rowAbs` and `colAbs`, which report whether the row (column) reference is absolute. Also integers `rowRef` and `colRef`, which either hold absolute row and column or, for a relative reference, an offset. Two other very convenient, but less general forms for holding cell references: * as a string - in A1 format: e.g. `B4`, `B$4`, `$B4`, `$B$4` (let's assume found in cell `D5`, shall we?) - in R1C1 format: e.g. `R[1]C[-2]`, `R4C[-2]`, `R[1]C2`, `R4C2` * as an absolute row and colum address `to_string.ra_ref()` converts a single `ra_ref` to character. `as.ra_ref.character()` converts a single cell reference in string form to a `ra_ref` object. Note there can be problems converting to/from character, specifically A1 formatted strings, because we don't know the host cell. A relative row or column reference cannot be resolved without knowing the host cell. So this is a source of warnings and `NA`, going both directions. The `cell_addr` class is for absolute cell addresses. It's a list with two synchronized, equal length integer vectors, `row` and `col`. It could be a data frame or matrix (and mabyeshould be?),it's not. Methods `[`, `[and `length` exist. Notob chold mabsolreferences. `to_ng.onverts ato character,a vectorizy.format `fo`n argu. Uhood, thctuallyeach individual ess into`ra_refen calls ` on itreturnsmas.ais NOT. WIP! < xmlns="w31999/x"eadmetaset="utf-8">-equiv="Content-Type" c="text/; /="gtorpandocviewportwidth=device-itial-scale=1"authJenny Bryandat2016-07-25title>Classesmto deal

Following Testoft’s book Spread Imple Technology: BasicExtens.

<>r>ain A1: e.g.B4$$B (leassumunD5shall we?)