d2CC @C(/`֥k# qs#X-Iخޖޒ _$Q8 e^`c"kɂVi,95&K@%S{>;5d-[4"!× \A%{[H j7$rG-)HI& U2^4M|2P_Rd7|u>LM_2N-Bu"rG61t)iёˮϹdcDJ%d͗Iև *Y/d}$5vm@ADH쯯I߶IÍ.GKP[:1e샞آۊ%&m__1nzNu!:Ik+ 9d E`AT2{1r+5G2jZ(/yRp1T nŤغ.(tOR{W"!d7(P"APv+ᴞ-jy!Є͗:fH!8vSʸ KqK@G/ٯt pަjZE ]J`ǗW MM5p$q3Z4@G(/`@U]dwheelroot3hgBf2.eQ4 /i,KDLQ.at5kU85ܨXnG Lqz?7GYg o*v NUY;! 9t>C|s(`  l"U\3t_~C塍Ef-5efjNӌrE)z1 :Ν" gDkZᅍ <=^N10_.Xslg;{QOM ŭڐɢQtvӚ1,/j"qo}!—!ؚ/"T@Wdv*s ѹωYĪf}/m% ct8JPpG 1[Mq/ya!{9Vp)|,i=?T{*$_ptR`㬕 n[ʾH(gsfcͳl#S*ES a&ѨU CEXg 1>NxSU_bs*:$=#e;/Y f ÔNg.*\"@)E/6 U@䔗E, yR eZ zR[ 3  pYo]6$vޔYQ," C07;VeA :/t_cTg=h)fwݔWT||QQàqBHf4ٓן(-|XL`Dj5֋! "Xktj*~2Ru 03N[,ďtwIΆxI_<{bx [ɝJKa1rp"ۼGJsBxDGܹ1=\6?NV |4? a<6pL:#ԐHבߌ$5<u Wy =m`~}ΐF~:aӻ  `y v0 w EVyо+E8m0ŕs߁@E8x{kN(!s) O WCyb״-waS+HlT c)(EIMV0T'|O%U߂s؟! HIr 3|ԏ.DmŊqliX(љqydܸ$m^qNLw1 v m^zpeAAFuAՙ ;:3 uY4tNR]m"y ySe~ψ3ɮ.H"hwt)Rfvsms)ҳe6O MH2NvnT ̉.].upw.,K+S^u:N[@&[M&/=ZԘ=rP ]qy,hQ Щ<"刔Q, x-i5&{I&kWtt 2n a&sv [OH`|`Zq!F rVEB/zt E@S \9{H2ʘF6FL~zɑfb95=48"5/ ᇝ 3)8W&%w] v,5m7\+R$ +kߴG-,:~.Brj\A%ES<\6tk?YravenlibRlibrarygtableMetaRd.rdsfeatureshsearchlinknsInfopackagevignettR.rdbxdocindex.htmlprofiling.RmdhelpfigREADME-unnamed-chunk-2-1.png34lifecycle-ived.svdefunctprecatexperimentalmquestionsoftsupersedogoAnIaliaspathtml00Iteststhat_snapmdlayout.mdsubsettmdRplots.pdfer-grobs.Runits.R-bindfilternew-data-framtrimz-ord.RDESCRIPTIONINDEXLICENSENAMESPACENEWS.md$*@$J|!(4TH$%e&j\Q[ZR/1❭®{.?C pH0,qkI@ꞥ0MV+Wf&l(Aur:[T +OMr ]=PEbXF `rso&O Q=)" 9S0hH $! WJE1xPFd?ar Sk Ln]iL۰g~0l.tl%5k؄C[ 9`*"" |Lc믕Cp]Y@Kb cd?jZǖOȅ5l9B (/`L WMo1 %i)-@BC%zr@*ĭrvİW?@]]gl~ =xm92<;~ou,  rp[ʐ2g[;^1'/d >l])E8MpC$0X\0hqD EĢ}BxS,ANs^%",7O[릵h&y.ʴY ʔg]m5ijḦ́YKE(hk|Q΍vjQ@;0bYEO)/K8 ӋڕPmHwgPHqQ0˽#>C UQX[1:1A/a}D:=g`E`(FfH2dVy 1 K%9*r漟ho$*HtX̡fLV%85QFX L1Qnϱ#Iv6yz7QHE}YϽ̷: O^HY(Dݰ.Pt NH ]D/ —mL a:G~A ,[m4Ф%DPRC(,!بSTjUh]_{I%L.ShY?qF~.mCR,]".:B_-;g77mQK{ieܻyV5K\Fʦ ^\d]˱#i /:== ͷb```f`a@ $LLF , @Z(-%,BsQ_[zsC«߈ou5sUHI8@ۙ>)'&A?<1YsL*R`E8 f]sf]W~e{ҫt6&=|#w'9h[O0d&8m1n|^>o\Fn)57FmFc_s!)qFh Yh q3집,uqKY[ 9#C?8xűչ;0"H?KHE-9s "Zb(7Z,fl8afl%fB;`ЋM o;JB2֒5 YM+ c`dII$Y@iآfFÅEy:t>]H`-9V,xq:,Mryj7k+GRQ)b[=ؖb^QH|@\< olm I}=1 Jbb~ WNTKS0Nz cGK],:+iOd4Ic1QF{@IcHI(ɍyk)gA ¢8ǾeW/O'ԧ g;dT"[į/bj( p`T7gYJf^ͧho؍vP@ a ` 1TA; (jАQD=bkVCHe ԶvѲo Wu ;dgK;.fj9+/~qvPf~0BnC4):đo.i"Wf͊;!־_?VOVy~ngi5FS'b7;{~ X+;']r X-kXl (7{v._L ȭRQo 5`SBg+@DM,р0,,==JI|Llx:]LXЈ"h_9Ө~NH(פ:vΑNB:v:D édHHb8a)\~3;癏q L_x)Sdyil v.1TF"4P__{-ܚFks6[,8Or,?\6=\bA&6΍We)kKڹ;:tS: K.8!3,\_g+H^ѕsǶ<6w&z`[R )r6ƚSXsٝXqݽYIS\w }[^i΍kn]%LIE~[Jlf'}I58-`^J1\;Wٳ׹%k'Dn_虊MRZtKv!L#i*V8~b`aad`b2 1# '-(OK MA I*&%)CQ&ˍd>5`) `aBRʚZ% 5/$~hZ8S+`zP԰Aհe ,s\ܠL t7`~΢r=xAa$Gs=ʕXVr7eRJ# File share/R/nspackloader.R # Part of the R package, https://www.R-project.org # # Copyright (C) 1995-2012 TCore TeamThis program is free software; you can redistribute it and/or modify # it undertermsGNU General Public License as published bthe Free S Foundation; either version 2, or # (at your option) any lat.d inhope that it will be useful, # but WITHOUT ANY WARRANTY; without eveimplied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # fre detailsA copyis available atr/s/ local({ info <- loadingNamespaceInfo()pkg <-$pkgnamens <- .get(as.name(pkg)if (is.null(ns stop("cannot find n environment", pkg, domain = NA);dbbase <- file.path(lib"RlazyLoad(, ns, filter = function(n) n != ".__NAMESPACE__.") }) xP 0 }[;EQuaL֋tX0 I^.C@ޟt!751XF!gězjSbqJ݋S^ăMB 32ހ 9jQL#0$YW( cG֕ߨƮշNÈ^yttpO!WQ|⊌~謢@):b;LP.Vx&QI9/%(;!<RxuM 0'ibQ]@n | 8-fnj&5K|ldr͞⽃8&.aƜ޼Voe fbx]KFrzcF^|a[ZCXZ;-EfUQ"9IkvDfFd$`S@?/"|4]Ɨ>|4z _'vdOG3#s/ /> .~VkSmEf[ݪhɳ+ڼV.2|V7.[ھT]UZGmoU5mX 6BSt+~j"/x4 y]eۈ'3蚆.N_eyK[MS]Mv2OuQer_ycKݥ1pukTl+s Kd0bӚꁖ[n\?Yߪy~_mtXa[7z\Tu|7]4V.32}T*=-nO_Vh Fe*/֪-.CutkSή9L{B䛼i'TTHwUZZa͋B ܉XUڊxkmwF@nsm{dD\lO>JiYe/;sTmghwdz@srdMqXTA/i3vũ}E/y^F[xm.6uu}M&T-8mnϣ ۿ#!io8pUeS* aT+zw"ߝj- #N'ѩ#~jת @T쬻TFm YtZ0D!ϛ/1<3ߩ>Er}҇^h~-d ۙMdx'u{kf"v>Wb;8DCN3 >E؃ aaN1XE^ މseA:(ڣO2sN6g2UťO=L8& h Օ(u-bŗ=OWyqG+)EĶ+%C\ĥKy$ƌCCe;Kѓ'čG9&*x(eB\YNQMpH;IC#ih$ 44FHIC#i44"H_W_@ſu@Wy}udU$](fj>呞V.^5 jBcWjܓ '.&X~ޚyS\0E䇺RU+#AS-)q)s7-`P?niSEUYm_?Ye7IW644xlcɶL6UF!&h8dIpF)?AH$}`BYX,߲Bw스TEQE AܰY;ER] L>7, ނ0&U SŶ@_fԎIP`RՂFnY0`n jʀ 7nLGhƎNWJ%sFDt]tȬ|U't|KQK*:&@2ҡ=| 7W໠ɡ.K`t a3B5vN9*7Ol0.m1±/lUw^>4  F'!gH üWΨtt w1̀w>p   #s 5U@" BFǂAÜ5M"]d~enRL__=]3̬ cT[8O=ʧ'Ⲥoaw/Cy~!>Zr19?ؼے+GyF!2/N$A_YxX@(%?-9eu+ĈmͩՒ 47`e(L!+n /)m wQ/ңjS2 K9wPH~8yPxT/`U`'\ d4@)B% 7j9l&ƻZ f kiOh"G*ȃ2N'J=Iw"%a N.Kkm:K*ĝg({G/%dqߓf^MfPQ9:FJ 82̬06WW[iI垭Di0RdM< iRF>++2LC&iy\-xFӞ>Ya^j$oQ eqRWC‚RN̜ _.Ő$ iF%5zbWX!X++zj]j_|g ~.5_9XFFزAb<sPfz+7%I0z!tz_9 шwQ=*<ǹ V8ʢV8mϓU .fPr,4TlewСxkSiVCډF9h+BluȪXl [v%yqn/Dz|ʺ$qd Q]9Z?BаQb#x2y Џ4,!j-/9f[>vck^5EԔ-Srč IOG `H\Q{bj#8b7>jhI0SKv%nY2ZEޖhak<z(m=/Z߭薤b maɱ ӕI PBUR%ʒ\HP/O_aKV]J8$usawQN\oB&GzAIcP_,˔JNl^d =&Qܹ YMJ`0J~i}QLлzܢbV\g׸ Pi[͌4 A818oIlB:4To!wdɱ.`Ԍu|,˜fY,,O2=Xx.v[Ud4Tb W$+ t_otxK4^X;>.ր74OыUa |m7ȇEwXe owX5j0 tSZtMeÍ3} dIo^jsccK3Lx^byL{ZmMAž$.I/'؄,d&drLpG(*}^xY Quv* W䍟k%/}V +Z]N0$RIR^Jf8tm-뀫\L0\åht.݇K}4\åp.p>\åht.ݭKw)åp>\å{ݧ&cmtgj.D^ӿr?8 2F#cf?h?uIcW29F\EGfV[o{zؚ΂ͻ_Zo@a|S7Q ~A~?[; w[*<7ĄuAf$;=7 _N1m ױcG(YMϫl2i7]`q w/w`d`alyeVVE&E+320piĤT-& xW]k0U'M4M>`Ph) `2cWMٲa/(tvZ '=:ҕ/MXUk ӓSƪ_UY]jGaB-MIYg=k>Z~gRGI8A BqMo6PE6{(AqŻ(C@7l^Kd%:i"nD2v; E\ZjnLٙ=J#F2=b+;ȋb*qh7R귂 ťAv!+BA?)̇К{ۈfw -n/rXa\M|" ݂"2\̐ʿm Q$}e, ݧ3]u5=ЦQJ5= Bߓi;Xaue8ܲ W3zGx g>!eA(=˛U>J7jU: #iuYqrxqhT-kIU;lk0lx>{˘,LвKK;+2[2?', 3lq /g6wK.c/Yú'롐Y h3u47Py켆!iR*<7R 5GrbcšHD=}M~ɱ1 K+M=- \3_I8 ,BaFB tz;}]=Biܿ5Q^n裺wn xUn@]v۹8ͅ;!*$"Ӛ֕q /)a֞MoV^rffM7GDŽh*L)0GÕ!U-BMe?¦z#G\Iš#P6TJc@p/"I!$tm# H&4 'lC[r6':9?h!7NAt~C}!n|.]WckżژWM+j>=oBFT y%H4M?ƣ9:]A)+7D* &ˬ}AQ*Vd=%n!sƞyX$$rQ(0[$=e, fŮH) $.ZKo"Y-oGR0|֖BYyU$qzచU4Ešđy?u*V)Y>b,Ac[/1tцlw}~> ee-{Yz(5]5џ~qLM#/0~y jHԷ\! a-`~J0X9gh=㩦[׸8y". o'kߕ=^tY얷Ho<]σƁu0^osqd4 DCS&oq`-DD[q`y?6aćT"rHRmXXjzIi*@xijWX5P;EIWs*k̺ C+ߖ$񁛻N˪G=Qz6r JIŗ q=<Yabڇ2\=z=>G/ٶ" ~:Gc0ch{Ъ]th&CƯ_IX^cBLgK^c״Q0H30lhUa_ZWP~߃m"9'nxX[oG$N6i4ĉf>䡉*jĨxAZjV}?Tΰߘa:{)|sΙof!$F NAwя%q61C^bf(u"hзXV4g̓3g ioGPh`) U i7e(4yKEsgp:9P\euSX(ecwfRSL)jLI-l2,Mc,ypW(Q|NAmgq'0"g5l6P\|oK帆)~b&b1-lR b1?E P%곐0xpY9f_1?}zx,ڦʜXGM҈{E|+FP'RV"͗?.;p44+SAԋ_Ѹ3Nels#Lk=3fO3{=\ #|ʍyDohض Ez&mF'(Z.(#9y r> rqQd8R?@\Yxs%`>h,lʍUr)MɭPeVcy#8Ƨ1g~6[Rs/#eiS: u؊b ~72RY7Gǯ*jiM|}&x"x1N]Øn'[TST/#/"gB.)2xoxH@ @A@X6~&U+j!q^5=coM| pk >Qi%3`%<X:0@i2@)QqxZwT>L𘄐' C A$$2303!DVmZնZ!VmW?tsϽ3ڻ朳gsoΝBb,J{{zGXW )K'Z%]ݝJH6 \|;NSVJb5E)$Ve< T 2X'^ cG VJTf>!`l1|(]QUQc9,#>Vo*kѷ렯7b^Y"ΪvKlHb& D+B6J #QKvhx:Pv0=ݰ ym] {vC]n tU%J'z#wa՛7=?&qna;(Of w&{%=1f$MNK<{-[bOyU5A9|a}.@^ aG1~IbDBAoz79 qEq!O18L<=S4<%E{ ªk$)p-{ os}ayxBn"O|i3{S r tE.g%~|='}}f3g~%~YzIAoz tL>3Kفי7C}X緄-CՇ]ٱOW7b]aI][/HXGCCļU|)@Q@gw[g ?ߧwzA/~;;L ~z?QEֻz=nM |A'ŢD0bED }_}I*N Hd8I+>hpW\O'lB)F;Fedr"VjS.G@ܝɞJ۸WfWjML.-+8ѫ`>*Y{LUTq㋙]ҔFғ^+S% +#3SVfmeTeGgl~aKD^-x3( &0T9Q+ *NEx]* Qti.3i޸A47fjTS\a2WK#0"]UD[eT1&bp,:NA-CMaV-f}| ujk:^}o~ >K8obut0T!#aGXZyD(z3Pl&DBh2NE!0FRx(>$(ܡ An<)ovNY3kl[مol3p,\s<[|Z<

l3pE\Sy0՟8s~r5g~~{s)^8'8wĩkcx.1fwggfNSƾjuٕcˑ6w!cWWc|}sON)=X9AB@ĉB %4L8Apyr"veWʞM$#3#}:6\Ǧ$ ;tt&1 ځzx(p0xR疖A-|yO;iw<s!9[Ma(8ó|ɫӏMxXSv:o&-ds#|s=~ĕK>/fS|'?a9|N폺ĩDŽF[d8} ~}}%g7n`Wϝowxv9a0^wJrX -PZYEym"[f!;Na_7>[ЍƟcWs^Zxz&BHu6뮃&/P;s?}*aνr?݅uڽEE7p/Kڑ6}VWd7ucA]ٗ}V/e78 z剼W_@^>@9hO˷7>gs؞B~ּFmȣxg_6/AlyvC-wy}׮|tnwNY:"[} $|ΐusAdGϋڃ b/-߹xQ "V틐CC&o0ޮvTQ}vrR~xڑ|t@F!GSo4<9~4 XݺR,<]|,/uLrQ݃j}Q+|OX/:/ _A>Tڙ7k$1PWݼ3̏U "*霐#B*S 8UQxU'kU}]WiZWiﮖ+{(ubZ"/]PE^J+k#h64M-@#V;J0@ l!64.mq@v$n~`/Un'$t~(qcun$8A&8E,s{#C000(p@#&t;\%H=&k@:e1G0Jt|ڍ "wZ QX+}+\u>6|*#s1+xRMK0~؋x<-z?VnJI&HR?vvwO[x潙K3/pE:~ cfcA.n" !F:q8C\ 7G cB\GV>*/k)tȪ/+= 8IʐMC+9zJԝY>dex#=6_\EMݶܔ{emMMkӂbP"E}>I B"BΙ츻ٶQ0e23ߜ3gf7l07} `OLH6u[ͧMNYGA}R_Lw{nДl6->pΐe^ ;^<+q +ǖǪ \&C[-ᘃ2՚'Zs-2'|ZZBr,eDkQcXeXGM5cmcdm m}nئҿ~mpkO^O1 >qADEaja&_*D=t]GΧi%ߨ?oGi _&>MG/sC3>MnNtfN-4/^K\l5 $C֦tH) "x[CANBwwS?\瀸50G8GP o̘%MMl 1x ?1xrKNKO )6m[l؇9KG<_}FUY [\mc5 ωw $1ϯx+u8hJQg< o \;`h]( BusX-NFvvod6Skt`qyIEtz).PZ/>x&0˲_/":1T]ƶʔ=GzLW5$ D@e?E`ρ\H t%ɗ2<\ oe-xb```f`a@ $LX̟  KrRf>|0~ہV[Ӓ u=CӡrgzQ?!(7p6o4U CeYZLR fu-ǖTza0WQX~ZD,Mj2LgIk8'8Ln)dKxS}K`K2X,MƯ}Cs,5WcCtFi>F3^sbzSk5S큜 X g/J\uuZڭ厲EdcmT)'sն$!HjǸRU뺕ߐk-FLy|]}4{~kB{/۱ [e90^;A_?h; S\/V^zwP}4]sB>hhoA c0ixZNG \8!HH!{IM彩 ,`dZU;*_?U9agK+}\fvvfcB_ wQ)#{Vل|avțNxCaV2NʂE_A$Hm=#B$. h'YzPՋHܖJ l7d5a P6%ľ: fmR!hġ(T~ |sgh &1`g9)'>m0 zڨa[nmh/Ai{;,{1r2zC1'#SWĺ3o ?Auy@9A~>mX#!Os  y%5kOwz<"~/P:U(]١)>Թ'3y}_ADR;!3Qf.cg]"D;u]Y.4TmuE9w,{OFcX7?ǵ_4Q+F`ˬFSߥ luN}dsh½bµ'So5n^k!`!x{nOhzh>ڪ"WX=R5ՊCn$'E\< =Nnv]xtdVvXg\(FsR<>K6!>aVfD7 b\:#Ŷ7炊2 2fx`yʻ@bWGm 2rj; SVy |J> r䰥O>m(p*ot#}kC4.R>CAmW rĹz< ~B;J5q!'Sȕp%!G+4 ܃a=mOA"׈Kd&H#\ &I2WԥƏ{~(qa~ꝏ ȬC?9yW-}@Nn'P? V=́,i鳨y 䂥ϡ^ 6WvE~D?+F%\=W8E @8A'#+E~E[;^C]a`p k \ck`^$044xNߍqjjJmc?mΙthڮL]X_,Ix5l8VL&Ν2,vˆ/~oϟd~ͅKbg7?8h!_]y[cU{ AynwrH?b:W/zסWzK;'\8 o6m;fMrbCbEo!HH* lOmx~vb5sg~;c5Y&gYƕGqׅqLs2 x~k~)[ȫ_ ?_W>\=I./͜_5!aiO!??x1{ 4u>%p|6GqV{lu>`rH\#ELLjP撜JLlGC# ̖j2$}zKޖ׫6豆ymd:|HFLy/*#v|ާp1 xD5kN۰mlgS+Wb7Ϛ)lq\\qٷS^x5q@2o"?Ս<{kĂ]1 Isw܄}G<[vG=5nAڇ >x=guzJ=8 {8Ҡw$xSAw? xTKo@А6-Oт8YEr@=p 7q)A\傐ffC"%`~3Sӟ@''i*5Sƶ=v.a:}ÿнp.& EGT,1 IDh~X0>i8qöD$_{^>zON;J+eNNwP?vΣ(p9 &څb^0'%~(^_٩.cE@'Q IWx4VARK&N )E.>Uh؋| |k^fpfs/pm8Mfő|)]?н X=Ԅ\,s(ML΅r֬/olHXRڐ~7w|9R+"+ ؞,fOp/ xVMo@#]Ѵ B NRrp鹜,Ӹ%DvR!z6 wgͼ+13ä':M146'ss2߹g.jd4X㷴ahՋQĭܓ~2b5EWxe4@A|[DxLxDh.1r> Lhl^ w~pBxFh^l;Dc];@-<;Opl9t9?"BC~D]~{)ևscssw( &H̆*DDKa<  ؙ$W7Te*HL"%vS6LC~+EkK7ZѨlȑ}__Qw zab[t>ya<[̽^4fLGUl6a[M\!quWt˼5=y|R>Up X p$r(P{T:"G= ,xVMo@#i! NRrp鹜"LdvB^႐bft6 wgͼ13ä'WW:M14'9`CNȨaiQ[7?F<y_9؍&\[ SrƵhp" yDGcBp[!W`:@f=SB`# rApj"|t;t.<)cc=O`.4k͡C mD*1k/% Z8É@g80LN%wd(؏Gon/z*5 z%(uÅ>ʩ4֎4hAYِ#mEEW_ߩR zab[8F~8'v&M.#vt8JLG{m6a[m\!skߏ&rv.P )3{Pcio9<0~Bkbu&D|<)xwo4ݣn+=qc=VU8DutCy+[|+m0[H {8RwtD.{T_ xVMo@#]Ѵ BU9 ȒDSRUq4}潙ݮ^z1Y6= M_C~x:TkKzQpaLj/PDY&Th˅Q!ҸV -T:$\`v> hì'^@ !%g wл$@/[/tt\?">y/?AC uƽ0!D4+Yӵ| q0R7UdrSƆģI8*lB=Ev]v~āxKv*@`PVJWSQQiYoU4jl> |k"H1_-$ fL4QhcۈΦs\o;k&q|ޜ6Rkf<)'8]w</%kbu6D|<,xpo(uގ~öܲ Ƭ}kC[Aٓ~ַw3X_[GqW - |GNG As o &xVMo@#]i!( NRrp鹜"SLdu"ہ .pAH1oq^eGH7zma0JcNYӘl<̷ϩLvt#Mov8}$8Q) rm*tRe4Ba('\ 켯Ђوw'q4udl/\ӐY}H>K,Xk"8*vmUuú?ضc™g-t}}[[{/.~ka0H k8*P=*K/, xVMo@#]Ѵ B' U9 \N)ndu")A\႐bfv& wgͼ+13ä':M14'% `3S52ZXl-GZ]]Q4(V)~`?pm1"+=DrWRY +# <&<"t C9Ka6 /}̻E8!<#too 6i"1=gp΀pE:|Aa^S~D]~{)6scss(~:H̖*+)ma<  ع$7e8aLyoIB<%v[.LC~k4EkKC:lȑ"ҢVoTX)zmjV?ͦ3/g˾Ϥe P?]{ty&lZ%r.Yyunzb?ִO\|ϸyi*x,fI@{B(bJ؁H^qM;mq*c=g6E(*o}kOE*ߥOc({ caz T% } O xVMo@#i!hA ,V/s9E!%DS!zMA"=Λy*7cLgIO=.3tfOcilNЇe.Em}h>G?687_pVVb6T)% Z_8@g80LoN%wd(ģe4IY:% OHb7l;8sZ(`HKQ6 9VDZK\Jb'mж9md6|shr.oҳå#H=6a-VUȹf/uRk9:Nxw. >q.rsXڲ >Y+X &Fc "i><{Mػ7qQΞ8m;b52QU ]EցEk)R8L,vcam] +@#rt à~ X #xVMo@#]i! NRrp鹜"78QT!żzGHݷoޛәaғ@s ?YӘlԿD[TKzu6,;~ME(j?pmpL|Tde4BA|]TxHx@h.0; a }OypBxBh^^lӐ;Dc]ۇ޿GpK8ݢs>'h1/c5~Ǐ?F|o=h>yqo.-L$7lZh} $'0B;djޑ†&:L@sy,J;uة5֖h) haUِ+mE&'_zGQl(gt6]ц+j W_qZ(5AMbkIsŊWru瞵3/Gs8N[)s{POinzq!,bM&Db<,yo(UΎ~e[Y k>5[oI?[i %GX+ǁe9~P1 x &xVMo@#]Ѵ B' U9 \N &dvB^႐bfv6 wgͼk13ä':M146%asS52XlGZ]ݲxa81aȭܓ^"7shr=! qK*WGU;m6a[m\#r}W>kgߎ6qz/O{)s{PKyjtgQ)ꯄb!-ŚM-dx\=7aIGV/;{zz2oAQqj蚇-з-]I4Va*` 8q$@ P]B08 ( xVn@~irSM N+;Jt;gf:\cLM 4Y(LcUjˣ9;S2J,-GTMٞ7a3V<?Yg;ܢBGX b?!O`2_%f(DT C tJTRH7 Zad%`WBg#k~\g<P1jiF|zv5VD{[M(N4 |m?wC/RFYdES)"Uu׆=۞{5¯Va["1%6?DzO\5O>0qK:OXr6.=D׻РWq:nM~SX/Yoޥț!qq4ޥOa!4sБ8cYb"xVMo@vl74mZMhKKPT.ġ88Xn ǩq? BjF 3~;ovǻ·ƘT=;bLU'e2l.<:8LN Ҁ.bYVZd' %\s|x}"3cL#fag Kqzg|&t{vaJ*getxD%B0KHCG9J_?$CeOk r5m v(hq/QQc spԔ7߃߀_rm.UԺ[DxF,{mY`/ L3; ~B^<9 M߷,Rԧ? jYV$N?l:fW#{tTsxNW#/lJkOYqnpDx@&|&L3DE<:쇄XVN@6QG:ijf!y]H0#3Rr^#l~ZJBC$oJ? tXE{u< ~a O텡I .A"ȫ磑O*nٍNp=`vCW(@`:q"6xq3뿙^FuӠLx {NtNڽnh7vC]7rZ׶[-ϖƋ)־OZJLڎҷH^%ӓf`^f/ar=.wE7Hx/B DD sn4xn,}bU5Kbˢ}vk8 &tzz5m\WB-3l|}_r~B,NEOj9!yץOc'O3=OIl r0Z9x^Yw6tH |kτ4bW_{Պq'w̯O?(oo>')T@]5 0,HXJr‡" Z =xVn@IKP. B~ e NI 8YAI#׳;{朽dLIs4^0Gww{K"5tf+uet݋I|E %,p 4MhJu/C8nh#$V.WttFC=k1u`*pF8 On7[p"}$R"4.( g8L/q!Lk)٨e:;FL/8̧p) udww.@\C!7̳쉅ӯ#^RU=tiHjDmzy_iEFa; &؎&"FrWS>?`/(7 p,ڸ9<,!U5Nj_c/soKNr ezҪZW%ׇE:t$t鲍h|ugl%% m$};Op{㭞d"ej+~[wحlfjlV7w x Cơo mܗ4ݠ- xVn@]hZ!ZUYl.++-&:TlAH1wv<4 g9s=ce̲I9cI߬bI: }XHd4X㏲hF58 ߽h=<'[NL? +%QL?-2r<%݀/-[;z|qKx"wQC#n987q5я%g>>8_+C"Еj!|븄:fsu uq >짰P[я ݡE mD-&1$ Z߃$ @g80Lo$wd*#HEQGTo~#T ZIrZ(`FKQ6V 9V`;^A5Ql(t̥eBh{<k',uY&l5rYqwv{hcο4O\=9 I"Wا=OW% n)hblA$+g {&N=궊^ٳ?Fa! kB[C:~w%X %GX+Ǒ9aP ~xRMO@UKӃ֓摘hzZ!B[^Iq`dvfp' w6'"'K'AcOȸ<3@Z~?|j=iyv.2 , ۉ\1ۀ': %: llEՉ:߬СW8ɇpr|Ǩ>&TXfe%) {\B A_bƕ Xj1oH188 Ck{^'Ga'ϝx? .pL_ y ,Ÿe8NkaY|0H ȽTʚ~ m9.ku^x_V“xk:RJ>W- [Tc!3Gꠗ/0l(&A~WVvƯytdx1h)̀0flT7w x0GgJaիgĠ-Z-v#N{j:qٮt1g;nn=mt2X((̄^ ذ^55iIRo+4Ч+;ٯar٬YZRguR z 2Lj7eJkىJ^ 1f%zŴPuH Gt+)S:9mnӜfn6gLJHښ 1ŹiZ\G~[Jrjj3iɄ[{%˪*q&5q5QsYʦ't*rhsFSN^9(j2 ZNNC3>x4;LjX*1 g5%}Ʈ>gOsX׵+4PnڣaFgN#?eQKgLu-Ǐ(G~67CȨ7eκ83jzŵΥEM{Z"% (zV3Ip9m;^Fk-!(d2 ~¯WnydN@nI9cۇgK[}X}zkiރ]Fѯ0ǙPk8~7vIj>_۩(G(^+n 'OuR0bu͐f[Nֿy{qrVuqg%1]y+'l}Z[} 2kg4d㐛[KN{xy[_drrQ^CA԰o}ROq z DX)У1@Ч=2KHy`X¨GLK2mWW 6 7 zU|)JX%< l[S`[3`GB^>w]e,"kxuKK0ǧy="ABb Z'tnyI<qFp^?D`r*H%NH\r u/6|D!An~[џΐ9Z8c6CᛊSBS:o:;K̋SeiՍ2QGo.ھOCE 2m?!PfHF3eF*pK.y_~S]x"AfxRMK1}$* Eś x )lw)أ^DuLk6xhd^|l/$&K ;JqP _rgxiA`Rd4D6t 7+]XF3ޏY2#1݉Uv;g_|V<$BI8޶M.k tne[uj>Q/XK` ul U/A' 9un6nѬ!_46& xVoPc""1K\L4{S|טVMM)?_ x. w-4rQ>Y1>yy˜ϿlLg& <Ϗ_sS& IB@p pE"…#cWuo({ 9@e'na cR 9 xJx h9Qe u1<Юy89y>((Y59Yߌ>32,j2AcyAʑ]UolJK-Iqk9OY1didX0{n]KN|-)7%qtKYeEz2AFq +TqSlNŝ׹{yӊI\۲rsז;DO)~YWh&KEB>eˋARa>S0qQqG^V1 8)'yr6Fk;_IW)h.-}[<[%?ZϴZ/GŹ>^?W1n> y8z;Ī7(at^{pB:| }?^+8qLXhUe'ed0• `9\X,%Bvi1%?ļgF43YK <{w] ) /b{Aⴍl;)|&eA*~S/(moh*nL*kDzI&F9Ԣmȣ{(>3=;%.lb"KI X:(FmZMB)ҹ Khгܢf)RLPH 왯$=Vs?wJx ^2sy]1 j #%kVoꪁնv6Bđ D$+^4y2dOI5RXWiouESDc|Rj,E;[+bbN5еkxaTBeNӦf;/̜m3̫IJ lP].혰ݲoP{\{e}IQ^U/Q?e}fѮ6$%"qw~~DnqD&*^j'}OJ㧫lo>9'A5" 26 SR+Ɨqc}n5jXi "1M|!W";Ī n4N _t~.q&甬+ڛĻgEkxQ Zxp4q#z>,yF<t-Ngs9k 5uQgsd>OS)k4[h.̊ v>W5ݜ׌sbs^WOD]sԜӬ bM_8KuZQh`a:_dku.a#\`c3Ɩv Bx-17iNʁ3 #~][yZ$<$eDŽ9_B 1xG `L:IH/\cQGVfwz 2Zzʩ+.b&ݫ 6W? ̎.jR uK?L~t\.)a*VPa:&v4~RUaGՑ4Nrz쭲2D%xJrq03QfNՔ*ںީ۲"fRWj՜u>3C5FؕZհRyl*7$GnpN﹍C7hJ殺}d} R62ؐN [%\k"Ym`SFPP1 PG Ԥ}.xs.yL^V>)Jtqk[Nτz:)Ut|> I_İMf+ί2yu-ќ09cp31gcX#Qη9~Xhpd GE - ljhhXSqWĶ1v -8hw{14p%G$a2Q9%Q) *8:(:Aٯ#P#qxĦ |)_j4i:p|Cb =D_M߯yMfy%YYTup|Cb]5g炗Cz9 >;a}rT]DHR"Aa՘hm6 6l#GGObbxAGJ9Gz Ww=x[iSnmcclc}- ,@^!l6x7f?R%nifzfDᝪw{fē XC/;6:X0oÌς,ixɦQ <:(DӷWa Md1g8cCem5goof3K?SrŴșl 0h9B5iMe7ۘC3ꂨ .>V(GN^Lx~ب%vîhSHbZC t/l4F3cD-Siȣ NbFbm@ 5  0 A!K?ΰvH :Gqro98ON@i&I>"3,_<^; K !h%N:o[%5$ᭃ5}9-y߂[}Xc:9ѦBVQGiGf?1c\ĞWfb`l2!vU ϓؓM Lm49Eүdb;: 9$U.T3 f3ŒCT:Jmú߿W$#I_"շscF\Lc.ʽSD+jSRZcJ7+ZgfSYq;uۖz{՚PR~)--wKʜR3D1Ϧbn$%-䟑6 Fj4Ktn`S05y6jU%¶WcuSugbA1mm ?7gxN ԻrIn$YfSEu4Y+g~NR{hfKJ&@*UD[M6k}RP)GrX)ri1R/LkR hMUW%S3BIO3ohh5YȿU0"Zݎ\XHgJ^Hya6Lλpa9f^p9%|f\z>Y'EUNPv=^v fp['\vUxCjS;W}fiל㍨^Y3"7%r_쿢\wؾZ?*.g.~EۓKMNRɹj=j7/zWBS!ity*?"?w<_O- ?&r*ϿKk~?<7jQ <~Y|ės|~*e`|;MդW b1rӫfPq-w j|c?z~P ɏwtz~(7reUb|?(*㦇*~L]gnW}X2bhmR T~ڰFӇG>K(2^dI~cTSl|T(N`ul2`;d$݆[Vt%@>D>Bًl(9ژpa)ȇXv6t/t~ŰSAvJ?fxTCg#f5Qo{e 3?m{$?*>ld<^fZ2gdAPB%%ζ/4{oKZQ5#1Ҷ[m cu3M&~f#ʧsN? 3Ϣ}ť>R)AyKh%]Ngm{>ebctrƎq. 3 z tT;{Rw|y;3gaAσ^0CnLʝ̽I/^a%ʗAgUDM-л@SVҤGf[Mx׾+N+ztvx '%_kFזVؔG |rNG ȣHvbяF1J*_A4bʼn~WF_S~ѯ!uwr/~F_lD7Fofc]+!Gz4}̬S SfB@u=}S%hYW)f=πβʕufB ~ *_IP𼶥Zzԯ%р^o ׀^MKФ*\p9:ۮuƩ:Ҁ8S dW  H[-m.hQN.@ z<V GFeb8p`68 p0\$%+ H ;pEpK R& >2>j= ~G/? ZxUMk@]}C%_J/5 z(XcK%^ Zhu,jgg޼>1p?wΘm/^&Y(|F8sx _+^p2Kl mx$gowPqW<8K9N$<kzy"8rt5YMQ@U${v2ZhwFɸ7fdba2QKC4H%:֤Zcʖ0-q4:#7V2NIej{(s5jin0M]ףt=Qjדa25=#jB{UkT-74<^1J:4J._o!D/ *|;b`;\3O>]ԅ{tCaZ,8g0Z!Y_! !b ^!o#i!Q4I D7lNLJJQߌuCKX鸘9*qw)o_*t寫_1*.S/WW_ZU@e9mRBe8"+!A"VS/(CUxW]OA[E@Z5% (})enQ"&Řwgq̙{Ͻwf {iƘ $-6}',E9jU=795F }R&W?vC LrKB0\Gc+v{#!"a!x'V$dpxM0bC{00&-Hq7^'4m&ۨa >Ax-g17YVʁ3c~][EZ&<$U5DŽ_A 1x먻G `L:JH/\cQGVk^cFe|^zrIwI!s5Z57]֤ o[ eV?[~0qZC阘;;IU~G>:1:oCQo[e=ef-JD-aM6UBaf̜)]O)Uu[]Me߹;bE̤9K|gjno3uRʕ2TnD"+^Ӡ{n 6}7%wc@JѕWҷ}İUPҡ)HV0;lZuǘY:n&sij'l5qwc*oNrpP}LXL7[fH1#~ g71_kwW=;0Q=\|F z6 ?nn3҆.ׁM&aӰp-|e`s)ءWliMֵYЇ-{~ 'Uca/a@<:Qu3$/ϽGS1e91cf' 3:o 6rѳ^910h🿔^ ITj,mJq0wXYt~hr<(qwEƞĜ9sƺ"<pcő'Ep:*BlkimmaM{ȱ'$^&8)8vH[! _݃]ށ:}%*ch3="Gw4YHT@fm}![yϽ^(1a:x0-'}-F:/)~bRuЛʒ| 帮B- =2Q5BsS|ԟLj"RrNk9;uEcm(j{j@^(ti<_m)o\gG0aM:Y-檙7Ttk~[,Ž͢~qB ~ȉ'x mq9xX/mvn-V`Žv'؛zܛEPk҉,(/ =KGAMf>~QRW-]4)Y]Mtd~o+d kw̠_u7G2kŚ<Ѥj)!q'H;I.MNCzOEaWɻ%3vo$9~wETxm)wx!d!7|H[Uՠ_DDeL\xx訇umI7[96K"Pu#IՁ[k _U'-znpt~VnX7YeTǷ$y_Kv.y9:>S'GյMtn/+k1(JPO%lm``nB<"xB>y*c׿Dg GHG8l?ޖTS[76xK+1&0"q88@F Х$T:IBd`n.AK#V XX6 3o5w`߃gU.MzlZlYC ?fg:_ w ">{CUrxq|ϷA>ƞC-(߄` bD~xĘgR`:fã%COR޺; GG aE,!F`gsyNhpSmW=0q;:3XvSB%Z^now^ͮ75WPcojFx=btt香ui)Rغy qT`2NȻ?NfG~x ^~"~M('?YQr7pEJ;<1/,UHC* PF3j3trP #5q0V}QdY%DqO"", 8E2{$mҟat ;Z-lZ6ڦiKzU<ĒϟMd*f| 9?A,'s xOgz8ӳZk`Cpymڛz %M ];G@Vu! &d-wʥMIݜs\NoqSMwC%1􏡉뜿 7@ˈKuw^QgJ_KMwOXu.# ķ*:ȗ̯"'E /,{ıP[ CPzae ʇWk q>p} ip%PgT:%P{Kx_1l ba (ޫ xW[OG00IM IKJմQڗQVTdl5 I[)y*ŝƜ7%n-}̞9ߜ\}b+k {wwoWP-.t'oVw&)㵦 LP&tZ&:Pqo$-r\(sEt֢؊ؒ}[@[7n *||X%u[nccg<y}D hWw }+1;ķeo A.A y[!E{]?=eȟ@އWb?\KU WP&/vSxj#s昱iY7kI\:wCݰkbw'a\ Y8.Ӵv&+D/9Si֠*rUyb,d>m[Y8?huãG~s#×o0g(Hp>-e.Kٿ_,T}\>->xez8Tuո(:,,Im[m7૮Q򺒗ճN:'#~'w%a<gCpGgyr͌k0 n}x1"PPI\ e ,`5hu5:POLܾDuвxBxQ 0 ζn(zpxqx "f:I8 \<xNy-6Vp|s(T/;kkY ;"C511(x 3:s(Y_ K-Y̼7; _3[vY_FqcmVK6"LKu+XLΐ0ˈǠ%ϹOؿ&EB xV[OA-\Š&$QË'| Y`&_bHgviMkufkIa ˦_>2CXHszmbվ$0ύ6{a)KYkK) [iN{¤qKX&,\BXg3J:-2mi$ZtXC(3݂+8$T 9vHwLX{5|:r |gFESr~b,;^xr\!|I[HS62 q/5nґ1I8mg2ƪ1:~gbQc=nGieu-w z~JlBV5b >z}6H)VzArhM?֧jZnOUkqUIKD(Ǘ'݄rJj oI{ԥU7l&5# /O^ 7? haf25m C#_lU'/HuvzZ"$Q;;bU>m6K3m-u,P[Kմd5.m|T5 |vnKDggtiL5`D:Ԧrx7r3G{g|to qu!r/.g^ 52bBkq7s/(KoA6q ]ԕy+ԷvT_5+Xb]>q-9O—?5& 0MخVl7C<VnZuKaG^Sdz[Nԛ4ʜ=IG8p䎬؝*G̏+O:I:ϯ?1~@kc<; zeQc WSXl)YFqE!ț((z F{EA LLvD0܌ 3fDe V' \ْ^lQ1s7*nfs2wm^K,%f7/&r\GLƙWŸ8F2^}x.qsY;0=yx9hYfnfLJV>2iٶMQg&NɉIzǧq;YUj({d<cVg|v? 3<Ѹ.;IS$xɌg\ĔV(F?4gvfwPAFAc=h7遬>$)fi~j\~ ڴzw?|hv{f~"T%Me]_D)u) A9 Qk>bvXaF^A뢨֊2Lƽ/*\gwGbcrrrrq+:W@ޔP(<="< S['f^c@| 4$G E- jgiWU6CtTF_;l \:d]y ti;{հc{yNzxyzUEf'GC8{ sn4'pc 7]~rB!ouσٚC?gc FKy)reԼގT-q\RKh&ޟY:Mɞ䇄%W6kyc/Mu_Ys:b>oo>W/-z}lx\@ƽG>!W @.@L .e 2P 7P nsXpQץפ7lWM W0>;ap?*O '{xZo6|%vǹ;N9۬뽫umwu@JΑ K]aC7i=O#G L|))BH$~^'$__犑I6m7k:'N1(0 IìZܦ_l_o(F((Tc-eB-҄,Qyf.a db}OQ(X(z(;s+P1āO1K1 pc06 cCy= d}5Oqa>0_@0}!ˆ,̀'(c d?}^@ `7Ekߐ/wlB{ lP|@qzz :ОS`O1{g)~{i ?΃+(k !A?O@:!/7)q-wAshK~ dX}*SC:ƿ#!asosFstlOתV-7ʚ7[&)s1cK$_$X. `vUNJcm G+Fͮ>^YI]nD3=._gnY/\< TNm7 [VfGdEo>5RnjCoRG^L"x\F^l66JY [0vw,+kAv%Jv֚Vsy~4z Y/?-˵rc[mϪawݹC]mTM˨! ր$[i|Ņ"oP0g (xUf'`iD")iu.UȐ"/~lmaYFItblm-fljJLH.]r{3ʇWzZ\L ߴsbW-Н&-)Jd @8@izwzi?Jمϯ#HU'fJ*Mo8;nU\CYJT^8cꊉ8# =ؤ羏2.$I3e4,,߱s<ۅ٧,%5a~k/gTm6W86E^%l~ -K$nY&ݢ- Tb+n~;ɯJRG$ތ_< s;X (ǖ(pRl~ݔ=r^ll%KGˣV+[솁-x-l݄W7`Qv.O:V}}Nv&| Z ǻoMvyyd" r>=!a2 ]GqihAo\w3@:H_Z>qyB:+3?0BB-{ֲG9{.b퐣_~"{_n(q O@;Mq!{Db9K:?&qIПt1%$ϏGx8Lzfu58ZYOpb֦ٟFϒ&C!A^탷s^u_Sਗ਼;τo+_o v0*sB[";Ho#pt(e_ yGo_'E_fo hW=F:}q~˾Wh*ԗR + cR@ 2"0䁬o$|~ `7h!( Ҁ%aa%k'p:,*{p½ 1<!e#xW[OG01,4i<4/UJTjkZ? ?RRU;>;쬗>fϜomPdރ=b+m){gwGP-.d'>on Q~y_ouoq<~=u/\}w[ɪ78J89j:cTE(7n"GDZ1Kkw6.O9x69.#>V1[ķ %o"uA y&; wA{}~? %ȟ@ރmWb?p\KU7P/ Sxk#3ƘiY{(6pƹFu TBph v?*yV@6鮷Rz@IE-^\?57U*Lϔ> 4o7{\WYc ژ@3[)ϋ 9m`ZJEwiL#9eki0<.մv&D/9Si֠*p~DXt>~6/ONW'׫=9dx"h f’ 7vg>ir$=-: AH{x 75vwUϞ3gscISB~ h*R)LRA;KXeن%ec!n,K~1KbTbJyJ$O *3l1\Y;!G G!ww;Q1dױXvO'cD] c~h> p)1q4AFr} _ oN%5/Qf +a@bNo"{ -x+?X[ŹFv8I-8?Gv:No|mO-Q]WNw|&zPsuOe3=`ow׼8kxo]tAhZ ݌7^AOTEU'>aQUA#:i)Y`#"Yg `@ǹBL Lk:N-SuW kK6n[NƋn_"pZs^j~;]]}@o<21=c*o&QxmP 0 u(omaoujb';Eδ _~4I}`p*/C=6/e>%c 0D CQ-51TC]TGfQM7n-UIYX܄5֚wC똹 toL"'|RRNU'%9xP @5,<vzn t6#nAp -81 *0YKo)AEDDTip6b5d9-hq55uPL.t'GQ.IH5+\sO4>k}3!5k#}O)1p+IHdQc65rgLh?: xUϏ@ Z .+5fbīmlF +Ƌ ^ MyNi#u:yg13ä;oN3tzV fSk&C|zT: ftKXUBpNp a,c' 1)J[hl) /z/W=5{ЬBs#VGlz<<ah3{C;B ?P,`QĤYVo<tm! $)0ƓO/s US^IQٲ c1͔0ٴZ y= 'k lb \rLߕ/&^V\vJtAVJX*,kgg,݁hwI+9k0h*NR Lg#?c Uq (v'Pr_f0? 淋Zb`6B<~"50˜ۓ[f')A'ʥ[cI;ܕ,L)+cշ㾕*a].וwvQq/5l\7Lkq aͫNN?lK*|n9qƦaZS`eW@58Ȉ&#ɘ*CxVKo@i'TT$rƽ$U(CJRKs ]zv|u"q]@^9EՄ'OO~OZ⡂T~޷*g̸I<.}'0Ysaou @S`'$ZK z(x:l}*b|mg8Sc: Nc8_0N9N`S+=@r XQcgv<[>`w 6BLf9Zϙ'q4Ɲ>!Fvc[yi\vё9PyaFj4eU:[mn{|ݜwU/[s7ʮXmImNZ:9e׉zj#Gջ^Nz+SssIͭ.Zɢ:|+UwjNP#C|,HHvIO+~y*"cm`W :&#??1fTWqA~VV|MfVҁ xgmӟaDžE[`]X(:,[j\l\lCЏ5XwB6ӯx<2~j$aH"; 3,D|wOŸK]0K En|YjCW-_:A;_``ˮt>w1fQz~FE=>r>:ǼXɵAPƸD TƸzh(UɰvWkE1xQM @}ڇxS&AtZJ ׃Х\Y]c8uX`6yy̢`9.*ʓTC}42r/BN0Pd`T愅TV*aP0>$LƗw=T?YZoR5[35rV1[֨G6\].Dx&>pa2JxOK@f-=E[*~SKB="BL2 Ц&y줝.0ut;BK![t3Ћ,hkY% 8J1q^!qE\}}, \ȱHCnK J6w4qqƩfWǵm=N@_ڳAվi޼Trs/ La[X0\"tۚ%xj7b->>oϦCxm 0 u( ;ś xwxݴLalZ.N |Im !._ЛL0E奠}l>&Q#3be z<Y#[hBB 5U^}8B|sIED>͏\cwO0}?4DN1ݭR^JYVX%xXMo@8v|6i6M-  )$@JZvr.TM׋7qXzxޛYgC$A?)磇ѓIaն-xƽ,TNS⒢FFQxKX:%dg `1)Ę,:E~~~~2yUmנ' =\g kW_ [x7(asm!-ow3j74M|dX)d?w샽nȒr%R}'$ZSI kBHn}=>a2Ċt ʚZݽI9tUG-DZ*2Æt]KӉX 띴=w_R ƧJ~~HQňA  kQda,T*Umf&BU[kn,T Uq@\ 8a?Lͫ拏ϒ.Cx9?9G_)tqSI$&K޵䍰gAiYy)SZs51>$jt2?_x}][>2ȟF~&ZrkuKj] fL72IuFN}3 ռ8M7 :.S?o>0, Lj ঀ ۓu= xVMo@^48 .Q ppC&VA\K3k&nܢDz^7_U>`%S;(Xh¯qDx=<JF&; |A,qFE%"[m# 8}t2BȰ >1 #.qӜ=X3仧ih<s{I5[79 XG4޾bL,'RAɝdz_ۥ6ve,$#'R&EDfS%5b>򼭦 kLtp2cnWqњGn6E}yQW6q[K{Иy) jth*UxliߔPMjR+PGܜhr4rf^XaKMvErx:IGoтR.NvÓtX2ZxT Z-hTjgw48HߏyϢr2g6'^^IG4ɯ6)VZpBZz{zxT7]GwvC2xAUSp;.S\ҫtxRN0 uvĕ ӄ'p-Ф2P ]҆Ӽ4Dr8]"'>;ŒdWD1N^BOOE(J޾|a˞qfdNtP:6Ú "?@a6`:WVZlAG; />K[8 e+ˏ?ɐk.$1lfZfR}b`'V,g '_xQy#%E5;H/JB_-TIo6)G%AW#%_3oF &|eP=P !A;扺K<߸Nb7 xVMo@3vāT3#RCݒu؅H\H傐fd&AXz^oN>BSX6p?xs eoQ^sG$:j@A))f;@pH,BK#s, .`Ф,vW)qQ9ˀta`Hvi `Eh"mC9v)cZLj\r=h'8&Ta64Lwu0:?'ڌpk7tB޾#j[á´5L'ӳKUQB:d6q SstTp+ʶmfUkթ?'Q'`IG$5RbEy>`WM.)4|MN1DhRcBŜo-+v/:b!Ǣ֤֡1ܐ@d5Pw2k: k\ˍ| ֤^/|԰7?mP<v-KY,ylAC`*RӠ`@g_bMNx\YoYrM)CHdHtLL.%6K.Eɱ9oqb'A #yC $!@i>tuuUu1SC=\+cQ/w|8ce}EX9el>^L ',i]ܖnF%Guᦍo8p}yY/(`.hhB/tԷrTp\6B?pB}6[A_ A&б]`й+6mڶ:b1bW} ]9D#Dn;vSz;nC>!:l#x = ~݇]ܤA_k7'>EB99>G D&B b}`)R%_1>%ý^p\Tea# Q[łg9[sǧN.=Hy89yș?2qذa,A?\m9sׂE(}O2ñKOY1.HU~K@HᇼesBh7u?i)'5#{FwJ=c8~ED?OhS\ _q?0}< 9/J$c>CW?~UM̻יE8~k8oK;D'K! ~)ԃ_"̽  ~c1r-P5T#9pVrWR\*=OZwrH(#&ٴ[zEt.ΓS'*Qѣ*gHШ1B2\Squ9[&CXQ!r`X k7 PZF]JIZ<ȩM5/Lfq1C ֈlF5n*dj5W䖲tN^YDܡnU(PY̡\4|M^zfL? f@jlFxv1L&粩dzvƤyyLfqQ-8NOΦH[u*.&{-*r-3MQ5zΧ#gA3QߡTx13m*Gm)v\#LEKOΨ>XNI'(j꼛sXn%.fS3EmԹ)/dVސHwCmel6,xnf$NH'PՎNK~Abс3+KjAP_B"+}țb5mӸ\>4N^_VrvK~? 2+\*'s s|*Cc"BJ7T)Y=aI\F4z1,hVdz&3+4%l䑣3 -l*xȡg)cY<'2-EE4-!Or ̲epyOXnyUѣdC5,5vYd^hytF NkоϪ_ztX[LL<'m9~]&k|Q-6e{ TxBeQ\#K Ji2z]9fmwo2t%ɣ#O?(D,$i$qNNlNfֻ4z&CیkD,b\0hbB"/m&;>Х9,=wd^f&$z4w}Ƨ~=̸ԥ OL8*NNX`!ayun`?Գ&~*1P9Ŧ~\+K/c`KuJ\]o7{Q 'lb:?fVR876݂Ƃ<{K'9S$+ՐU*j=͵},к;d z$Ѝ|e»rnE ރv f];#nI{TV$zQ~a52 Ϛ3Ϫ3lfU*2\\$!]N|Gl47`2&IzIMmɖbBhlLouܯKrI,SoM܄˹b&'[04%T9Tj* k͸s۟A.Cz+C8qܷA=xo/x y#PB9[ q(  su*Wrp-Ȇ GvJFB^(p=O|+T8z^5:^ R/B(Fl<*rB!('B*r-aXz.Э}2g3^[nҬ: qc e<}o|9kӷFp?'aIL4gB\4}z[$B)팷Ӫ])*ļ}P Y`ga>Y=YG='ۨgdeVcvQfd)({ &2}aó+9W ϧ`Xπ3.ꭳN>3?q|Ǘg/>p_Fx~tVZuu~Kt 桠h F ڬA>\tj&`'4`+6;1XI"ح^!҇HOpsIҧ4%|p"C\&xy1 /=8'ɽ)i ` I@^їTMZOxX"zxh R26 A-=G:CtQe>NQ5 QGxQ3Iw49]ĀV# Is!1qڤWTKEAőd4ƴ\jDIarLL +".Y̑9%*q0G(iyCLq`GQDYεNIqKhd{Rj>Q/VV|*?N*ܽ-y{Sb:K2oɸj0p -sL(y\dsifKe:+5ρ+cwUaC%[Ӧd@p32N`-d̋`l)fl#<XcV {s_DQ7x\G- {p o>#\Ӱ{-@כXggCsH#maj)+q i6LP% % 񸛤QuF,eSH-dIk*uPy/*4ճ#:fӚ6XTѻ~P5>E M2 N HJ_4")LRn9[rUimͺ2+ZyN!h3EA{_%,V2(Rp]7K=M`7g~eeeKi&n޼$IwȳD\]lq3Gt+xp}Z֤9V>qDm9w~)^/5 Oj ;phaGJ|5yq _w:\lض>t*g?Wb ֏R ]wKt3kwq-]j^@Tl 9P4M]8GQ, #|L[DS7M%z0R 0-hLpڛ)VE:Pu‡䧬P+;U4o_=H*,Ŋ Iٻ9rF8_ɏUMN2!+ ^X| >ܼjh'[5Mf|%u%~~cV*5.sO V5<6xUHuDJG(bZփtDp2>bU /opxs?ɀ:OwcwJv&]Ld uYI{b_ݬuYFlSkrV}|Zi"fc+xc(߃*rfC۠%yu !xYYoZG>}7W=SZ5J/}C>a%^;C+/U%7 0|&(H$>__(.Erڨ R4  ֵ[k rZvG|I{#,ˮ '(-賠Ezpr0(8$ji7?۽8]W:YM#A31+l+[ $h >aW05ȯΣ.@'"@v sل؞ 6FKA60|0l#OE+stk~c[DlCOt %NSguZ,ZFyѩkM@WCE&uAˆv?1\]u#+41wa\y 1!/Ĕ%BO#>d&ngY\$_$Pn]i1iT>wW1)ڈ]뼷t*s۝\iʄelQR:k Bھ o 4]C&gMd^֠زul0#Rؼp~t~T;-[-dvAWy5M\ɠOyC"*v&@#Yo̸EzxҥE,EŔdi.-Mw0OOP]Gٿ:Z}׆(EhTkgk8өрٮ_Tr4)ߏ(to0tlqxs;]NHv8/ FFJȑ|i3q߳N i@Ӡ,9jV!hQnH*1ڜ02:dtd . tѱ3,a mxUn@xƏ<Z`,@ vUnVAq"a?T)<""3>f>|0~ہV[Ӓ u=CӡrgzQ?!(7p6o4U CeYZLR fu-ǖTza0WQX~ZD,Mj2LgIk8'8Ln)dKxS}K`K2X,MƯ}Cs,5WcCt&i>F3^sbzSk5S큜 X g/J\uuZڭ厲EdcmT)'sն$!HjǸRU뺕ߐk-FLy|]}4{~kB{/۱ [e90^;A_?h; S\/V^zwP}4]sB>hhoA cW0oxZNG `` @B CB4mKZUBd M*P}J韪R|%ԕ>;g;ά_FA ˿E!BA?ºZDHK٭7&܅r 9UE0p, O CqRϫ$$>);%jUH\b](O$5_Z^!\* W%%e&c(CY7؜H?N~Hn 6s?k @$ $ _?EۏAq-fqYYs|`WôĨ,}Fbqr 8@@ހ"䚶W~[ )W/1;|݇<"}ߑXx"= }pT/OA~SiAg>`KhȯkK֞5:"Y~oP:Ul)찚]*٢)Թ%տ:vufBv3mLۙ :v _ۋoեwyYwpXШڥj#yP:x.Y)/?ҶaݜlU^iTL7Y6v~)NoŶ2 |Q>xhڅ{FkjPYݫ6MLLG>q#.072 ovVVy1a H٬K1ŒǮa'.Ail bd5ӤUW*zJ\lD#dE'x޸w{|C.NH=+7NYՈUXTc F5[}=$638*1(`|g.0Me`_`lq#Kp3L _:\ ^uO l3x#f`xoᚿҺŐd-G bbXC)vn<8n żPjT&M2}˝¯5'eghoj}$܇ܲ?Y]nW|K^!Ϫp2֞6zqI4S(W.BMzu`GFu{OHuA&VszWxR/zB *;esayФ>|pϡCȱ\s#٩f&SYn"<]`ûM&4"xhY'\FSR<>oK6!>aVfD)b\:'Ŷ3·7~gd4AeWm1qFA@AL!gȔUO9hQo0p*/uCk]Ϛ<'MBf oE%N܉1R> yE. WrȹzIuϹI$+_ՆI$'r iԱʘ8)W\#kLå R •2uo:coTu?Ƭ!nddҏ~d%K?IA^yժ7@NgA@^iρrgP6drks]AQ:_A6v@$W; :w^tM@/B}IO$׀yW$ \ ('!@4A& eFO1nJpPM쨹8zMUԹW)O!ν]xA҅S9&\MePU3̫6NO|o0\ s &ٯ_D]ClNg?nѯ<r*bm,,t1]y\E`ꋫ?xס7z ;'\8 Nlmf-urb=bE9o!SH}_m_V¶Z|p\F4oF{ԘSRɚ*=*#㸆ky"l9Om<0-vPկ9k}+_@~]?%~$G r|{.=E/:=(C~ҽBi)?{>}7GQV{l?q!u;}2B0I0E0A0G#M-Ko`İBD KJp <47P4P  xN# 4F7bUxb```f`a@ $LX̟  KrRE E4@!t 4'άqH cUo(+Q;yMQءxLq cLwxRN l^Y,a6=fd(sG`%# t rg A yd`~ Z9g5CZVQ67 _^ N5Qz]c=e_' YlJHm1 hzV/&gvʱ}DVB 緢'@M T0BҜ҃'*97Z_{=fEiOlN~ ҕ9r* N)|}v?"P6l0E-ݑ7z,)cwY';WEEK99ު軅~+ʷc}V̜W:mINNq, MAoq!bnO~o`mڼBZl|?Eh g'`bMU풏W*+Ǔ<\s{Y∰yBQ'1"N ^̿v8Æg} i(#T2(5@aO}#@]B3- Nb9u/ NaxO0ǝMӴiamQ!mi{Ca Ri +^4ܜ.{g'vEƘl\>1f[_f>E9OujB@q XBoKC]Vc'<o c<'6eK:" ԤE*fiKQŬa4Kc8ޡ1YOGc>51{8NcPG117:?8h~9 t$!s.1.nn;սIhSQwю{=RMy+ZwirKϜm7NaF4T{!FH}`{x"QaM?{\R#I-MWoqRl:J,:mi|z~_&<|sV#m"|lfҺhT6O:D[PnE^a70@0OMl ዾanK&tv˫]t+O0gܾIHR23IZ_ G n(=~-ܡzKS֫"^W3uDw:_6ni:p??Y>YdS3_k7C~C8c+"(NzV;4[ha?i\y-VAsXv~E/YQ9zz_öוdlO."8s @"GBD bd@1˄dB1ku5a`"l:nv]A:a`=cxUMk@][N:ML!&@Hr,^x%0ҟ\p.uVu[V4v̬G&q dž8$ɈQA`^π>nq"rZVxCIHWhq|Z"pZ"WImNǵy2gkCԢ#n6t1[&ٵƴ L>m҇jlk\ak"rIBrG7JS;&"7DU;bf9,NI'"xV<x>Cx}*$7r*1nsL[Wx4m~jY1"ɖbJ } :/D[GXP5| bu7<()|V]ε*tr3)%&)t#D:~;^]aDC~UmFn; bdLv ZmAkB[KP@A{[pL?<]z=yۂ%xYrGm=-ɖlc08$`@$E yl+ȒK]","|@!E>#٤\ӭ9-iuF *:ju}ힹX^^e,?e',k?+;%.,, (D0_`T6-+>9KY88fa7/]cLXmc#> #HqCo{@#eXc9 :hF@3qv {ß?x@ca|4Y:>U xcS ;CƞXH78r+ع /@y 9CEI(J_%}aCBzqr[bW!2/?wA{`t?42/ f{1Ϳb&u҆B1,(QaT)a?@r)bE Y4* OZۻuzXBFh"vRG0HI  WDޒDzi[a30 LvM7c?i>n薪BیPc)x0Z%!fH*Ik3gǮL'NTq햬UݰENbWKF-Ӽȗ~f^O1?`Otm- jRC9Ae=a1r>a2(MwVQԃA!Jږ$G:g`gT_^]{yfoӳ)&c|{%ZRoscW >ޅYo mۭ RxuԆBV5¶T_ʨN2Î,-w-W7KElpΛlM6~4;NM S+wL'׫lӷ1Yn= wl]։A(Yc5)e[|IވX) eTԶ[yV̼x]ڭRe=dm=pxs:Bs"yFZ [9[uւu4ȓ2ς_ LdFo(T=nyEAmym'+NԊ2׌WF"9mAc]%e."FNͩySWYoЯ!<BSRi 2BUŜ_2&<>40rZ^IMy%#F:|DB* E&1ONCᛰe1c"[Z}C!_f,b%/Ce2DnP&3a% "'F}Pz)7.X\/Eܕr2n5đЛC0-<쥷ROQ+pk;!('E37I9) Lgo$_&3 =Q&[q\BK@l'\4kO,y#Њ۟A^q/vX#ui!(<+ƥe>!Oit!4|m +IBV+`U VTm%UV Ag{ݷ2T  e?캸R~@)5}:^O) Wgwb5ㅚ VA$(g8|帆"Ak=Ee =QsBok]@;v1}M9=/ZBOpǾL߰5@>r'Pu?'xdFs?9lm xTJ@$iS̡*,'5 BMKSZgnDڅ ow̼K6wm@#'*bf0 )Db𢵜"E>, eL4[=m '+:k|',ol6>x*мH4)FMϢ4H)|3k9(]C%ڪ;@Dqj\0TEYUj>j򥓚Qstզ:jLRSG*mJ|yp Nw =M8d.8ǒjVVcAi]xXi4OIPzsQv輻5;0kͶ2{/_|e_~Sͯ: Ns7o|xP @5,<vzn t6#nAp-8.DPfν=L *'Dk-6bRt7 ҂ B%\x2*ҝDvG^Ө"ny\U/ ߺzNg:䲚x5I %VtEq8 ),4=mjQ/G 1}> xUMo@]vhҒUE\"$PgzGpԉMŅ.)a&nbz޼}3_=ƘL 8?f4/[:3 }1t{!ͬwm06? jS؝;/\qmıS8Cۤp) x x H{Cz5{DcǤY'M>Xb[|JpZO)O3Zt(986'5 ((#7)(m_$.GѦ}.ݘ BU DBqя2G<Uq٢ 1vLDkE{Q:gm} z7u]vog&zEe>]IroS/韻8o|ܞI6ҬrS8''L$)B.:~2k}EF|BZ`ayjnTV֨ƜG9IS}#0M~~1-jg9-m0~ę5)LWf%3ט'qHgQJdo:s*,*s1w]+R`]!"Wޢb^5ly }' kYܒ`&/> ~-@x;bnUBZK3ӧdZW`>z l)a ֠%G $BxV[OG/cc Y­%)(@yS%"uGiQJK)7iV<>ssٙ}Aa ǥ_>{LǦGh̞V'>>xr ,L"JHh*kMaP&a}J>HM4|R2Cx*SMEhE.A&2JMX*BX!,b eແBV[|>'!gYFG|ڃc'X-ٷ[ kR{{@9H*>CF̴jL<Ԙ3 zw-Ny^rt{fphUɮ/o4N۠*oÔSe'ë{g^45u/á n4O/:yYSQ/1dhG"oC(|Yy˼.$_04b@tzdrbD̾'L{vKط-V$nYNHGwaTS%ChaAIs3G6z _6$g'`I_5~#ɯWCeZˏ里M2ǂ^ʸB{"f__ EF)+W}/3͔WZ]ba {gU$KJVxez.OH=Q#/1ZŷU A3祈6cc B䯡_dY W G5VUcQ[H.w^˻ Rr]Ty絼oc1sɉ3v/)x;WT[q.G'?ԁ_U%1`lx'􈕤ḱ33P4Qe4@\6n}`(>#eA+ya'[ ACŵ+/aۆ xmoAclMM&Z_']sUp4ܡoM1)0%%vw?;;˻[߰zlp4|?=葩 ;9C|OP5FrT{DV.>;$[X)!rxP\Y1RfM}.@^[di"g9`6sx?>WBqݧAn~`+,? MfctJ(L6(^'\JNށ'uDH(jkz&ço0taY-[8}(鍣d&.$-i]S[?tҵ<~Ű8z>b-jr@ڋ7ajWz ڴ2:t[PFhNY#)M3Lj#C{rצw/Q 'qҏќ P+qTTTuY vLΑ1ܬ\T_,D2c4`,֫~rH6**ˠ"R^mJSccfHO;Dz\8r=*-:Τ;lƁT-m殠#p6잳~uklUgn[ T ,Z$h$^fgn[DJ|?h% bbĐCٝgf(Mvι>4E˵|/ִ쌺ܰ'5q/a|*{` 1ӌ| 4-S!7{W&?;c ƯEA|o8lkX?K<0̓iGA2+_WI$5n3I 0xW0ěyx!-,'6˾A̿N\f[!6S%~G쟃9F\OxןX߯#\xu'{3K߇L&~g8w`Y:1b\ S&l=D|dyϱFE=Gо6MX>.0C[fcsn⓿$w':?D? 4>}?٣p/ !xD|l^y[ 1[J܎;GڟLB[L٨WLh,>[4W`(En/-\^hvԮPƅV"*U ce%ʺII dU5mPTDܡI)L^ҫv#GY6g鍩aSi,9#~]<BQ;)]HNw$¯f< 5K nl]ҩں 2Xm.&uEʒKuL DJ} iO+"'q6өݨXj^p<]xi9ɝRv  4 a3W9rO!NSLEbsRmN#hƠ9J\'VU|vFVav>)AJtt:q(9H ^rWI̧օٜTN-36yک1C ЉeP+թ.qnl(&Jeo+Pq-oHy./@0OqfꁎM7Okl!TZ@xBGN<Ǵ&(tB7Sr>gH=A z jOM>Í׸1em5/VfO”{^w@x(2xRI5 O$M㕣,^\gN×TzQo̵] @-_l(A%hq4֤e&5nڄ.x\yK\r %>߂h R: Vignettes and other documentation

Vignettes and other documentation


[Top]

Vignettes from package 'gtable'

gtable::profiling Profiling Performance HTML source R code
## ----------------------------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ## ----------------------------------------------------------------------------- # library(ggplot2) # library(profvis) # # p <- ggplot(mtcars, aes(mpg, disp)) + # geom_point() + # facet_grid(gear~cyl) # # p_build <- ggplot_build(p) # # profile <- profvis(for (i in seq_len(100)) ggplot_gtable(p_build)) # # profile ## ----------------------------------------------------------------------------- # saveRDS(profile, file.path('profilings', paste0(packageVersion('gtable'), '.rds'))) --- title: "Profiling Performance" author: "Thomas Lin Pedersen" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Profiling Performance} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r} #| label: setup #| include: false knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE ) ``` In order to continuously monitor the performance of gtable the following piece of code is used to generate a profile and inspect it: ```{r} library(ggplot2) library(profvis) p <- ggplot(mtcars, aes(mpg, disp)) + geom_point() + facet_grid(gear~cyl) p_build <- ggplot_build(p) profile <- profvis(for (i in seq_len(100)) ggplot_gtable(p_build)) profile ``` ```{r} #| eval: false #| include: false saveRDS(profile, file.path('profilings', paste0(packageVersion('gtable'), '.rds'))) ``` The use of an empty ggplot2 ensures that the profile is based on real-life use and includes complex gtable assembly. Profiles for old version are kept for reference and can be accessed at the [github repository](https://github.com/r-lib/gtable/tree/master/vignettes/profilings). Care should be taken in not comparing profiles across versions, as changes to code outside of gtable can have profound effect on the results. Thus, the intend of profiling is to identify bottlenecks in the implementation that are ripe for improvement, more then to quantify improvements to performance over time. ## Performance focused changes across versions To keep track of changes focused on improving the performance of gtable they are summarised below: ### v`r packageVersion('gtable')` Profiling results from gtable v0.2.0 identified a range of areas that could be easily improved by fairly small code changes. These changes resulted in roughly 20% decrease in running time on the profiling code in general, while gtable related functions were between 50 and 80% decrease in running time specifically. - **`data.frame` construction and indexing.** gtable now includes a minimal constructor that makes no input checking used for working with the layout data frame. Further, indexing into the layout data frame has been improved by either treating as a list internally or directly calling `.subset2` - **Input validation.** `stopifnot()` was identified as a bottleneck and has removed in favor of a standard `if (...) stop()` - **Dimension querying.** The use of `nrow()` and `ncol()` has internally been substituted for direct calls to `length()` of the `heights` and `widths` unit vectors Profiling Performance