2011_USENIX_-IX_ATC_x201911KYKY'BOOKMOBI%/7F>2CH/NV6]d mA s { S_&)U֕b\V 8 Q!#c"+#3c$;%B&JS'Q(Y/)`**g+o,v-}.^/R0n1234:55678!9ڍ:;B<=>? 1@sAB%hC-D5AE<FELGMHUI\Jc"KiLq~MyNOP QRcSTUVpWɉXѮYمZ[\E]^_j`aTb c(,d0.e7xf?1gF9hMiUj]4keCllmtn| opqrsituvYwxƸyz֞{H|H}~  $'+3;C]JRsYaLi]px*ea> J_  "*33;.BIQkX_gfowt< <l3ƮΞ։p6  i% ,4=EhMDT[c{k,rz (:t7 n d- (D0B86?GCO V^of0mu|]$_O>yqP3  $x , 4 < DK%RZibiqy,w~/5iöf х!&";#$%& ' ( ) * 6+ &, .- 5. =a/ Es0 Mp1 U2 \3 dS4 l5 tQ6 |17 8 9 : x; @< ~= > 1? @ ǃA B ֱC ނD E F JG PH FI =J *K L #HM *}N 1O 9|P BQ IR QS Z)T bU iV qW xCX Y Z [ \ ] ^ _ ` a b =c d e Ff g h i j k  l >m $n ,5o 3p ;9q Cr K.s Rt Zau bv jw rx zy \z { | `} ~ $     J 9 ,     a l  4 &~ . 7' ?  E L[ T \ d m t |  $ 1  a   \   z q ߄ n {       ) 1c 9 AS Iq Qc Yc a i q zr      %  #   ͖ x ܢ   w =j m(/I5<E8M2U/]|enmt|K+bpԓA "~*2:7AIQYairpx8O!IVބ n     b%-y5:=ELSZ`hpx{p !)"m#$%y&Ă' ()*+,-l.u/ 012"X3*u41596A.7Hn8O9W}:_;e<m=t>|?@ABCJDEhFGCHIZJIKpLtMNOwP QRS"T+"U3V;[WC]XKYSZ[U[b]\i]qT^x_`abvcdefg-h²iʨjNkilm,noplq|rswt du(v0w8Jx?ryGzN{VJ|^}e~lt}- иجOi$%-5=sDkKS Yb%j'r%z wfAk7A\p;P%j<DC,D4PlʄI~\ > !;!d"#8(#و$%%(&f'l'(H)3)@*S+6+ ,,,,D-./ @/0xH01bL22,3V3D4T 455p6(667W7`8b8|9:% :;$0;?d;Y;ۀ;<1<%8 >X>Ȍ??O?x?@@A?AtB?B`CD5 DEbEFFѬGc H2!H"IZ4#ID$JH%Jb&K 'K((L_ )L*MWd+M`,N~-O.Ol/P0Ph1PP2Q=3Q04Q5R6SA(7S$8T4p9T:U;U%<Ux=U>U$?U@UAUXBUCVDW:EWB(FX<GXV HX[XIX_JXj|KXLXMY0 NZ4OZPPZlQ[C,R[S[lT\U]V^0$W^X_.Y_Z_D[`\a0]a߄^bD_bH`c acɨbdz@ce0ddeee@ffbgg`hgaihjhtkh limj+nkokpl`qlrmsn9tn<uolxvo<wp>xpWypzp8{pL|p}p؈~qƄr&DrprrsdstXptTuAuv)wwwwwwxy0yHza{ L{|u }YD~~ ~~.(~U~psdq@h4t;x^Hrpt4R< 8,C\t>i@lNTPƄ$8,޸d5xppX3,(H1L) DT+@|jK\QL=000 v׸c<@@$X]м)l\hw{<k,l:b   w H( \qh(><HH|hp7hѠrdH/ Ĺ!l"#ƛ$%W&Ƕh' T(Ȥx)*+ɲ,0-ʜ.//˪0612#d34B5 (6u78А94:k<;<D=>Ӓ?@@4ABՂCøD/E֘4F׏DGHIJ:KڶL:M۽N;hOܭ PY8QRS:TTP@UaV W,|XHYaZȼ[d\]ᴬ^p_`㫰aEbtc di,e%|f絀g%Lhihja$kdl(m됤ndop1qXr~TstDu ,v<w;<xyXzp{|%H}@~Lvې}N|V$Lt+ T`F\zlM(*T+3MOBIRvr3? PEXTH eUSENIX Associationm&2011 by The USENIX Association,Z` @@@@@@@@@CDDED    )  2011 USENIX Annual Technical Conference (USENIX ATC ’11)  2011yheSENIXssocia
l҄9s@vedThisolume Ppushaspcoll`iv@ork.Xinidu paأjt0auth8Pw's喠oyer. miong؟فnoncommerlprodu`p؃ !ਗ਼eЪearchrxesaprint,9marilxclusause,`copyseceepL`nowledgAtradHrksrein.FߓǓ6ߔߕߔߖ_ߔߔISBN 978-93X1-85-0> יpna imgc8ex8P1ɛIm!9ǝGGGh2777///z+G@KeAdamsFbookOO?OO>SaahMassachtInHtuTechnologOO?OOO">Mulien-YehudaandBMߚ߿߿߿>GeoÃeEPFLwg>LeertDoorn*AMD祯ǥ>Dilmaailv[Ϧ϶ϩ϶DŽ!aw E!rStandWW7">lfarrlsGooȪWW>AlexraedoroSimFxerﶷOG">BryhFhYaleϲϷϺϺϺϺϺϿ_!rkrunwץoradotoulxǻǿign="justify">Ajayulati, VMware HermannrtigTechnischeniversittresden>WilsosiehGooglooohngeloseromytisColumbiayߐߐ>EddieohlerfÏfornia,̅es/Meraki>MonicaamStandOOOOOOO'''IΘingale:Microsoftesearchwww>Kaihen~Roster碿>Alex.noerSaniegoǣǣǣǣǣǣǧ>Rav0oundarja{קקקקקקק׫ichaelwiftߚWonsinMadix___dyuck|NetApp_______777>VolkmarhTzarougggggg???WBBost8wwwcol???׼׼׼׼׼׼׼׼׼JunfenganôooooooooooErezadok onyrookoo߼߼߼="8~cenpPeressiChaixb_________~jayulatigg'''''''''TheSENIXssoci8xffEx0nalview'`h2WݽWWWWWWVGautamltekaNadavmit߿߿߿߿߿߿߿߿߿Silviu pricawwwwwwwwweapselǽǽǽǽǽǽǽǽDZ5aduanabic|O gm0Ben-YehudWWWWWWWWexand0Bttchetefa(ucuOOOOOOOOOMMi`diuwwwwwwwwwtVitaly8ipounovǽǽǽǽǽǽǽǽǽChristoff(Dalfont>

MichaelaltonWimeauwg߆߆߆߆߆߆߆߆StephaniestelhorstBjrbeloeeodsǑ????????enjaminngהTaFrenzW777777776AxordClaudeamanudheendranga/ Nadavr'EwwwwwwwwwsHinesosohmuthggggggggdHoratiuulaWϳϳϳϳϳϳϳϛsXK鳯''''''''aris`sikciIliaravetVolodymyruzno''''''''%JohncCullougGGGGGGGGareklszewskUna-May'ReillyGGGGGGGGGDDaniPeekOOOOOOOOOot8PohlacOOOOOOOON.J.urtel777777777OtthewenzelooooooooonRoitzsc'}Kyungyu_________=iwoneocioilvǾutecklinO77777777~dteinberg'''''''''oesineshubhr߾OOOOOOOOMHendrik԰HGGGGGGGGGsafrir????????? Harisolos

<ȃgggggggg">MarcuhlpggdždždždždždždžCarsteneinholdOOOOOOOLJohphaleyOOeeaolter Weng-FaingptiZamfiQiXhaoGC {h1v2iϜcenHblockquote siz+1"ם2011SENIXnnualechnicPConferenceune 15-17, Portland,R,AMessHromherogramx-Chairp饗5ϋͧ`)Wednesday, 7oϭϭ"3߮ߊ׮׊׮ב10:30-noonϯggg?woooooo37517 >Aas`orUMA-awareɮtionanmp qulticoSy m[br/Xi>Sergeylagodurov, ZhuravleMohammadashti, (lexhraedoaimFrrniversitiG߼ߏ12505xTimeGraph:PUchedulingReal-C-TaskEnviron)hinpeiato,Prnegiell؈"TX?fokyo;rthikakshmnRagunathRajkumar'';utakash@,'ǠgO214195 >Pegasus:ordiedGCVirtPccelerr-bXhחVishakhauptan!wan,eorgintuxaologNirajliMagics;analzPasahyHng0Q,P@b7G'7C:00-2`___׽w׷307171 >vIC:дralesc`chDeviIO70IrfAPAjaylXUizadeh,M,c.ϿϿϺϻߺϺϺϺϺϱ_#86560owHBudgetWWDaC򰿰Haroldim,uk7AnsQJLiu@icrosoftsearch׾ON478373OMMU:fficiymonWPNadavitien-YehudѠIBM&;nsafricAshQuݹGGGGGGGGGGGGG34׽׽׽׽׽׽׿׽׽׽׽׽01409 >HiTune:2flow-BjPermancenalysisorigataloud
Jinquani,ieȀpg,hengs)BoandفLiu,ntelsia-PacificesearchJDevelopmentti>.

TamithelyYCableons:opologysjOptimizationrameworkڋ-Cets ayaudigonda,raveen laghulJeffrey.gul,Pabipw749620 >In-situapRedu蔡LogHocessD8os)ohtis,niverPyfliniSiego;hrTrezzolesce.comac.;evin!WebbjKennethocu8WWWR7777777777772b>Thursdayune 16Exceon-LXyHmlEv-Drner!LiviooaresMichaStumwTorؒ7777777777777934217 >h8c RConcurr9HashԨsialvist螠gAOIoriplett ortlIStatey;aulŧc–IBMhnuxechn;onathWal؅ʩ?1020223HvaluEffecenModel-BasedwChcܾϋh*McCulg{YuvrajgarwaJaideepndrekarݴ,erkeleSpyan0uppuswamAlexSnoeHRajexK.uptGGG :00-2@107785 >ViHmskirst:nsymmetrCactooostPer0manxxArsndF0XdiShengga`WaHQiYCaJXzho0Huiyi,ؼAhuiڞ,ȕcgXi[Scie١;ubHVirgimmonwealǾ78360 eĭgnzEvolu heorageHPҊVMwSXAliͮtdeh,mrlebTalarfin蝃M0Cax1cq.25571OnlinwnGeo-dributSystemNguyTrYMarcosAgurXahABkrishnjicrosoft sehxlichValx7T3Q4W'''''''''''''01367254 >Slowow`rl hatsQuesWTEtxLueurBGernothi,ICTAฯNewouWale@_\40355LCostorkingetizerac
Weim1Zhao,ichiganechnologicalniversity;inxinin,e;@enlWangaoYweiupand Li~FVD:Ȅx-PerformanceirtuMahnemageƀorloud70ChunqiԊIBM.J.8tsonesearchÆ84022 >Okeanos:stelessournpFȏReliableultistreamtor70Andromatzifthou2SHgios.nasiadis,yfoanninaǒǒǒǒǒǒǒǒǒǒǒǒǒǒ521501 >TowardϛAest9FederatedHeogeneousĉibuSymsG@MoaHVoj!ovPvi,ā؎penz,orispasoje///.OlivieramDejKWWWUEPFLϠϠϠϠϠϠϠϠϠϠϠϠϠώ6455CDE:sZllɤy(ititouttlyeortSoftHPhilip Guo;awYEngler,8andwwwwwwww?wwwwww60561VsyAЖmsudoxSapBharit;ini1sȷ1Nap;homddowmpphColleLondon;dyav)iJuniPetws;arry`h`OOOOOOOOOOOOOO1651003 >net-ssizд؞tec _ev OYJeffreJSubhabae tscheckSho@kXa@AT&TbsǸǿǸǸǸǸǸǸǸǸǸǸǗ88275 >Polyph:aDynamicduFalse@ts Hge-SITPrviDyvironmo~ngkyumimgdloatrbana-Champa;iHehe:hpQ,purauaosu0BMsbhijitXse,ooػ߻߻߻߻߻߻߻߻߻߻߻߻߻b>Fridaye 17BuildaȻ-蟶D`plJFlu֨rosfstathopoulosy(Ȓj׿׿׿׿׿׿׿׿׿׿׿׿׿׿824079 >SiLo)Similar-Lobasedar-Exact?;xmePt@owAMϽhead9roughputWenظHuazho`ScieiTechnologyuxIЪ`oXopOptoelȢicHHJiʻe ska-Lolơ℟/YuǿWLJLJLJLJLJLJLJweft">10:00-noon
G2Zhenyuuo,icrosoftesearchsia;oZhou,ԃahuaniversity;aoxia LinndaoـFan̂ChaoqDeAHarbInstitpfechnologngshuuLid׆׆Cpext-basOnline figuration-ErrqetecώDYuan,_yIlPoistrbana-hmpa@׋)Cnia,ӍDiego;ٓlieRinaanigrahyooiliconalleJunfTColumbiאOFRewind:nabgcordSeplTroubleshootNetworkAndreasundsam DeviDeutschexlekomab)ories/TUer;rinieetharamсInc.&D)SA;njaeldwwwwiggggggg/gggg197875RDER:bj RicEmc-qJavP@ULvcaiت(HaiboeyBi!ZFudЪ'OMA2hGGGGGGGGGGGG߹G28291@SecurClouageLAsthúofRalucadopMITpacob.КaviPoln)Hn.׷7h߳߳߳߳߳߳߳߳߳߳߳߳߳߳38746jVPFS:dobustnessoӊ8tackFystemUntrLocalComponICarneinhol#HXrtiZi:vtresdeoGGGGGGGGGGGG%2:30-3('474230 >Se(sch SPOCAȎtxss, al,ptimy-Cons`XIHsAAlgthmshishawlBeReed,arluhnkeGhousuȁYa0!.ϾϾϾϾϾϾϿ߾ϾϾϾϾϾϾ555231 >TidyimpSıribu?QDenptlyayapridas٢`haelsarߢ,licon֍Heywqaund GaWMadisoGGGGGGGGGGGG45O02638283yo:evice-Transpar P`%xStrauQtaNmbge@xMazzol@skajChrLesniewski-LaaMassusstɪologBryFoYa;ertPrFٝashoek7776"serif">Autonomoustoragean8mentorersonalevicesithodBase
Ansleyst,PI-SWS;uanavarro,UMunich;truznetsoverlin/Deutscheelekomab؄ieserru!lV :tMessfrht2011SENIXnnuTechȋ@Conferencerogram-Chairs

WeopeounjoyXgramnd!L86cerpJasonieh, Columbianiversity Dh12_/-RsizP+1"AaseNUMA-awareÓiManmiqulticoSystemsh1'!1''77blockquoteoqN3Seylagodu0_˚/gSim@Fr0r//G'GߏW''''Zhuhle?ߎߎߎߤlj''77o>Mohammadashti׭׭׭ד穷߲߳ߝߝߴGdzAlexraedoaǷǷǷǝ׳ע׼ϭ2left?>Abstract2ooo_____\Ons,shdesourcesccursheemory-ish`ds Qco-schedulsaartfe\ierarchy,uchsast-elandqroll.reviouorknvegathowׄauldeddsvia ing.Wn}esxmpetodžomainHolimin1zi,asequence,miOn.owrll?8҆OOBsumŒIunderlysMA (unim]acxxciesl^).oхܔ0NH,imea9yeatuPn___p_s.缟缍׻WeiscostP-of-x-؛W@anagempgorithms`ilA@effect1kay n п`i>eryaȝ8 odefaS.n`paecausJbehardesPZfirs΢†'m7'_//____1duon">Cߪߪߩ)proo`all-knownblem. six8typical-H0mleHixahlepos=0 43766 >FigI1q ϭϭϭ̝mԻY 㑈@ǯǯ(LLC)ȤrH@SɈstudٰwayuc)N?zonеSmiYp(shatmergedecentlysonthion-awarecheduling23, 18278 >1009866].erdfiesreadA competeorhysourcPofemoryomainndlathemntoiffer 4s.nsoIWanmproveworst-caseer@manceindividualpplicar&bysuchA80% rallkloa12%

UntunatePstudaalgorithmscusprimarionMA (UniY͍Acs)ystems,h8multipl+LLC0butatnodequippwp3/arol,€b8Xamencyromp1re.owe,ewk8c"y N(GGs (N()chitecture,uots䞒izscalabp m(rn aϊeonJǚ(see04376Fig 11).o`sgdl tiX(nmoeahh؇qow`.hene򝈞bestnq77K(em`escpnodt agenctivkbsome s n hurtceQmp8afaH7n-GZ( x@ntsetupqobv3pegradrxIR-agno8c_Ϟ̲8LinuxhT2iѴRYnvig (1) {Gtatؖߣhail AǤP(2)viP wjwoulPᎷmsGGC7777777xW@exihmay ՟aa:łst0-of--aؼϮ'%z(fPowy"IWW)oq's70ipq.򓩓l(situalВ񂿨zwhigrunn0. (E.g.,srnd#BC1ـ[51__Z(7Nq#1WxepIýiplin#\҃x i>yיייך{8vIerp⚌0MmgcindexеX30Im"/n_onbkqui'": (0mciewȼʎ[fǻˀ‘A?^169o[軸L3PnPc@s rprobl8Ѷ(vio8cua ȴencyaccess .owtrap¼0mzhe(belieIPs-.eꄪ72anga"lb-be0cern:!soXiscoh*wwױ@ǦIfa8Aڈ__In iculaȠ''"min_romidȎxmulߒmgaddiɒ&Ȼ7777Z'#notؒ Mec1,u8subalmp OUghрt="4"idth="1em"lign="justify">Challengesnesing぀ention-awaregorithmsorUMAystems
:oddresshisroblem,ႏnm텸igrateHeemoryfrthreadosameomawheXi9itself.owever,neeRmov>alowhdakksPstly.ӄ{4nimiz7,erXg)Alyn8likeXficanp`c se%ance0nd@ԈcXful@decideicha 9mpfita؈ڌK.urork%(c.. Wiscr@awwtknowowellsВctuPy hurtce)mIHuP`fy-agnic7AAcau`om ؂6why/@de@. 0alshow;r8acclnc`sotBk˂…wwq ceoڤ*mp@DisÝIsitnline(DINO)new??7 ѥnts0luou cpdotߟQȤ;//omxšksp20%Xttfaultinuxchedul5y,be{@[23]Cvia 0g9أ0 , HInHucB(daHelnٯ` 75% 'E/ߺ/HQYtr-ll,modernXtyp`Iexpox9ir)#rfuntIf:edW"(nkeltaorgan_Z`e 28m(cex8failנD3isjvalu/4alyztǖdi5v譣)al) 6Rujre kE78findh26:0"lefts="+1"׼2׌Gg_s@R/ Figure 2:chematiciewfystemsednhistudy.ingleomahown.21].Ąqwqve:yenerX1umbHrequesI09/!`fQŮ8omisI 1struȲi(MPI).ϕYwiseဆmedurtle.eXherivideevilsntowoubcategories: regulaRndsoft-.ҁ_havemisshatxceeds 15esx10000structions.ӂ nPIetween15los,btain whXappliuns @ach8lone,resforlassif.< eight="0"> eximentithdifferarget_p:re~(mcfmnetppi>milc1),?gcc,wHbzip)˃povray,alculix_i>h264Figu a>howow'Zmancgradincenario-7romWY49446V3RrelX0 0.Ѓ?<,n -axi(iseas`sincrIompletTx!typef* ng(wi8gpncurAlygenet:pPr58resultsmhtaerymportapohibiiOo 3:ads Ђpno0(i.e.Qxnon3ebutr骠H`saHdom菝`ano-ens2R,7cbe3seh`8g 110% (s(MILC,3).χfٔ2Ȧll"qىQrollerrĊJhol0i%.‰th sacI byNUMA-agnochcwhich0NPaw 9o؁8/ф˝firsiedeqwhy{waroblemsnPpf.s(a е?@wHaaem)mu81fourtors (CA,͓IARL)i`ةبioaȭ߾i/o 7 -Ⱦpǫ{wPt.ƕZat|K+rcise1ϠrPvolvedQu*91fluқ° ilGn75215bkd)Ůb(Юʟ3`e[S߷negi3eߪ+*n,bc·+op cospondybarۻs߿08totaߪR2d:S`2urplystemZlapxbdayiXaIssobtP@phxNRxd(dit`truotneckJWWWWWWWWWVF G!!s"tona\marȤֹm 2Х?߻.yeggeliminʑwshdT),eavȡmportaժunadd@sed!ڼ\ d,@-scoul0t)haʾl1amֿң yxI e MDoll(cc$~hSɲȆǿ4kbubjDrȂ yӦa%Cr-jZ(ʂtis;].npmma__Zfax!nဆatervenxacerbtheostrucialerformance-degradingactors:C,ɀ RL.

2.2hyist9cention agempPgorithmsurtceNowHaterepmiliarthausesfce abxNUMAystems,Ereadyoplainoooojfailwork'#.onsiderfollowQmple.uppostwompe:thsndu"cor@C1C2ahown Figu1.ȏW-awschedulwouldtecȋE minfB,pHCd,Aa"9aiffermemoryom zC5. }noQlast-l l (L3)؆,2sisTbufficiiqlimin.ut_,tilllQrMNode #1 (MC__60521^5Y)ssuxI0rphysicallyoc(d)L(oyiyЎXh872ɒdoϩ sxi0aHsourc -nǩǩäשF( ˣQQ772xe@addiroblhich47'H6n5C̡[ yJ$ifț njattdɖAXneavaftΗ@rnPiromverh:n/rlncy (label8ICRL8sp`iǜǜŬ lthough 2uciқortɾtor,c7lquitly??;/Tommariz-agnHicssslorsyc(d"ode8H0e: (1)hey6-wn; (2ma8:l__ĵhroduߓڕߧ8cer!pa DP !Qs
(DI)_,ekitashowpoղthx3%a鼪ptim@nǺ123780 id="FN1sup>12 ].ϳr islar8inciplHxDIos=0118278 >10,

WeeginyxplainingowherialIpgxthmorks (Section 3.1).orlaye@llefero郸romas DI-P. Pproceedsatimpltendၽmigrateemory -isersof*πcallM noufficieXachieveooderformancnUMAystems concludth descripBxourewOnlin,xHNO,ӌaddi"fthreadaloelimtesluous-onsndk8`rs rovh3leftߔ>Џ~23wwh560h2gg______________ZEveoudo0captfulex2moder8coX,8xce|h)ɴ4ro8P ns kottecbeca hlns|1.etadtudyKcwxjЕ8otgportWWWWWSinXmoni裯runnO)le ((seyg@PQm`)sXacd*Qei6,assȬ:mٲﱁvow-thItÂ0firsɸZoXsstaroȸ -i(nHaa>Zyw)ڞFPꝡ'Hutly(h`way2م?:fThy arr8~kend,gfl؈o7,/nndc5ommagRɗ lnDuP`Ƕbehedlgڽ hnalȨ,acroNmi໲w\77''''''$x)Se(L(x,olaX)Huldmp7dTayn(aF@螘ew$. Z7ٳHocܤ,utȔPρɱXbe`Up.K@imily4093 id="FN2sup9aeH+afȐWHepe/haPHǚgs#negeffdescribSP2///+h3t="1em"idth="0aalign="left">3.2I-Migrate Ourirst (andbvious)ttemptoakePlainUMA-awareasith!read'semoryongthd.eefer9this intermedigorm oXdes8xplo(ion (.Ԅ(hcrip2of„|[s`redntilec4,uXgeneraldeathatdethshichages avelccess؋1Temeewodgahunksurroundi@.orweresea8msompar:O. )0illvePXinsuffici?%orkȂ@yss,j:mohDINO.p񚉗oefo!ٖisam(qb8x%2.1{___o_benchmarkshowHsdsipplicJsromPECPU2006jMPI70iJ҃e؟bocas(IHrHalsoڞsul`ۀpApache/MySQLjlo)evaludOOKwoasȘP,ѣXЇ-Qnsofp(fqJc9on.Qond *ZeІ@tPrnanaHnқarGrid (Q) -neXhauclersbysunrsitiy)icularphysinvolvATLASQ+nRlsWاLargeadrCollXrERNÇ Чt҅fy+dexyыn8ۯ=sir&.rospX!adogg`pa!l tɔ򣕤1Q(r-lpmpl-tquixX(kxѮ*l0isky߰Linux'apaȺs'(usa mihit@u l@nre8X`"ù!ҿecuҫyY:g !,poaНDruP״ֲOhAiAIjobb8QH,Q0!f 16xocЋ\fqBPkO<)7777777772PjaaunDI-Pla DIM|retodefaiCCL`FaS{erohie!D(dardHviac6%XDI׾(D$xneari8h`, cabeunaw`HmayAaow-l R0qڻa׵ppiortailpis#׬lҤ{igs 67{זԹ1r ڎe!P(!0pbber)OdraPwoapclк.irsR,٧hurti>NUMAܸsomȬH8su36%,MigrateliminPserformanceossndvenmprovit PECPUorkloads,ailsoxcelith[MPI_,urtingbysuchA25%JGAPgeofem.

OurntigationaledI-MigjmCd xcessaXtorerequentlyXheEax70.hilHewer[50݀bho`exbutanR400 (s)GG!/ellUthreoXdiffpcYtimei(posib|arrayorcges.Ɣdynamic'hisappen0hpɕH/sWWWW8cerqpb 0a@ Figu`6:ɟmyofmpleڎuxrPlaxaWl8veqQDefaula2006Unlike UMAystemȢ ?@echeapNQecauseouso`Km mey1.΁at(wfficisG eykn(r%eh 踘xalwaysreduxg"numbpOimum,݁m (wh؄2кresY Ĵ. aanalys@ж؉`i9͵`t98!^+-plwAbeermchXrqpri1.Ԯiopp0un \q,ich 8des(kNOh3ϪgleftOO>3.3ZPh34W׃.1oBσ4__oq'sPn`ltyixeli躐0suluouȟol-opr՗obё.Ҡ(Sec8)rigger|isangjirsض8pos8 `s(array.́may͸(h襐uhe蹨)necessaxpoo ~orV׭׸ߴ׭֛ hoYfromҲerhil<ũxcellheurixcpi𩐵 0coarse @nularix(s xoݼthh3%ophalacqdulSDI)doaЅt*?*fxbyl<֓No______a0=0 74174 >Figu8 нhsHint.tجx-axJCPU 2006pplicdecspC71xdJco- Tamom ZqstYitself,unnoloѷȑ萢ϟ9linЇ†+soj124550 id="FN3>3

WhaameantnotecessaryorZschedulepohte readsponhang,nlySilargeewwww8centerp,0/a` imgcindexp0010Image"/nblockquo'">Figure 8:er8maѐGuo``andsSPECPU2006pplic6גgeivh4džgleftww>3.3.2Ԑrlassi+XDINOۘiedupport8Ph47Touildins,`Torganizin8broesccordingI8irs,ԟ)wheY;,:hilHryX0-e`niti@ev8po0ble.ÅspdePallows (again2borrowڇxi(cfromviouork):7b>B 1:turtl -ewwoLC؋ 1htruc'''77777s 2dl- 2-GGGggǞwwOwww3Ҝer-wmA򅷊''''''shovaludĞchos ou(t(chitecVorؾhoube byxamhipxtwe7 ߿߿߿߿߿߿߿߿߿Be@criجxdetailrexplpalew aˮdew_oogFirstf+rq-schedu9tPam๟meyomprovidonot ft;q'h-awٸgnmP (().贐umancemeoPXa`ar1ڰmuchl& neg eff†HehyϷ)[22y].owyIR5pZQcexdq󏜎߇͎b)sepa)m,sechniqa18 >9 /-1941_߹ߩ_߹߹߹WitQqXsibqОߑ,iYlvelyZ,y`pusЧ Aroʂrn.hbҞdo)situ(reXU bealn),qm leavoidH͡backth,oX¨makwpworsTy2XbeQp-ponged>noXisinq|ca?h4  left>3.algorm Inveryebalancingnterval,etoneXcondurmplementation,INO adsheissatefachromardwareouYs.Ƀ@heneminesad'slabasedxts/.oduceinfluenpsuddspikes,donlyhangp#ifteast 7tiXt 10Fstˇ‡JYnew.ψrwise?mainsamWIvisatasnrrayju0s < _ Qprocessid=""。>ort(byemory-ynsitF(e.g.uper-devilfollowrt).upposee@aorkloᐸď؇two(D)ree(d)€ (tTnumbe 0, 3, 4, 5>earR< 0e,1, 2, 6Z7beloaoseiԁׁ3*4(ctively42nlwillook@:e(compu3apl(`yrxt&끇@f*howɥcopʝ3ak38oaggs nstPe (؛Sexa Iȃ!)firП+o h0d?????;Mdeemxfluouyg9-:mqinIe2:FȖSJhappqa`v(d)u@a{tsp-4new8isnea9ɭ0ЇH-a.x-PlAJnhPฉ 9hOsw0TvopmɦQrst_RpؗX_ߚwwayout.o,forivenhread old_core =ewZ.

Fexamjawere:////8centerIp:0a imgecindex(0013AImage"/n׈">initialhapȉouxb'OLP_77777OwwwT⛄shoselmasotemineduprevioustep -.e.A3i+same irupX'P",y,fɞunusIscod7___7777O5wwNow-猱,INOakIfinpoveiЁxaؚmultiˑ8applicais. achA鏰heckr8ah`B] D(4ID(A)B))mo φqyeats HB=Femoryomahw0.Ɇnw2LJǂǂlj]CWP,uڶxOL!WCU@7xoB8s qSBBOon0nuСpkHfollow(oWU6WWϹϷghpco!xity9O(N16].h4leftgg>3.3.4B@Eff(i:FCcyT11ow`r-ذPexecdDI-̵diriPfromrworkshaluXS3.2.ԾȧpMPIobcgX+!i0l`y1ho.usp@mite!selRߣJrep @ssall0dk,9ant菋/.iМ(Inn 5ſ`upA30%8imhvementsorobsnhePIorkload.

4emoryigration4.1Ĉz1!χݥ3w__&Inrdprapidevaluvou(ieh׎QsiatbHd @aepubpHinuJlolx86#hllPH[15 ].՞YJc Xac hTPECPU200enchmarkPhacQp٥ǥouleLC8,RrequٜP=ص''mʵ'''#o7GLtmetricSa)RXA (SRA)RAxcr/sweli da0ϡ(afXaxd)88ivԜ}texaqztXY4$ϔarpaᾙF)nod-hʿAN100%wwsg8erp,ooblockquQ0r1:numb houexecuڸX@DI-MlADINO¿/x@nӴ3.2_׉ՎE?t about1m'domaї߫)xHآֽKfrom virtualddXspssociwithquesɁd.׿8x llow/: @sntial-Xward)Iɬ`K…Cinclu׽Ͼ:m;__Z-backK/2(pe/2߁gai>r omXcnÇOOpatnz? -ⴰoni1iXviouh7Xhow8re-fet0rshiMߕ ma3bfoP74zZos8ff1xpoyHmxfA{Ah`n`des󺟺Xxz.hptinghichfheemote8ryddressesrectuallyeaccd.de,eanto bleYdetectve ndigraassocipdages.ow,nodernardwthisouldqui unmappranslations)a%domaih@laultim؅DžoccurTxs hfAeinterrup!@refo@expensive.

Af( alyzQourpSXdecidPpusecouampvailr/x86ystems:EBS (PrHEv-Baӂ$)IlroorIInstruc)ρAMDemecism(aᅊ(fXthariousiehm;oadjstnnotrQ_________[Whih-bꚐh>hasHwHhead,t8sovXYQve(Qacy-01ӂȚbHHeerc9_.o)!hSRA)affXde dnʓo\`llAnumbp@҄a𤸤s4p9Т,hvalubK (̥ꂅ)eedachiX@i.ok֙߆uzwpt0CPU (w1%ire) f𝠇Ӯ!4096ensw!X74.9%.׍|confirmrntrJ[oodx(Esn er)h3Φҧ407"left>4.2ɟɅl45]ߴߴۈ">M(DINO)4Ѵr-l@lanunnsepaHfromcheduBscwakpeXilldxse 6,@aIaexվKqtaiZomʧe (i{ٵ )oҥapcspsequ(i pedSfolԽ8 .І_hemusE`@a_m _BҲ|cOOO2JsizH+1"5ůqbן2o錄5.1ork0oWooIY0ehe!gyscribCrevio‚threetypes:PEC2006on؀MPI7gڧLAMP -/Ahe/MySQL/PHP߭ǭǤ߲Dz(woohݷŠԈbOnS42.1.norPPaellowerEdx ipp ڄBarceaXoorsV2GHz{8GBRAM, 4`HomPcoй 2.6.29(h(js3.2K.7bw߼{&acrony Coenvip!six(, , !ҋtƼpqb`3TTPmѶӂAbasnginᑼ"Csa21Pmysqldre򫀀esponsibleorrrangingccessoheebsite scriptsndatabasileperhm9actualorkftoragretrieval.eXApac2.2.14ithHPersion 52MySQL0.84.oPa2"mysqldreultreadedpplicat臘hatpawnneewistinct`Zeclientonnec.hisŁ)inቀem nxecuhۂ's quest. Iu)im,xinuouslyrom@0ariP8c`boutNivity.σ&populat“gaHrhbyPystem*fiȎlmmercis*ludin"gaud c (w1ps0 r-w8ed,0order,tc.)sllAtior2mselv(\OS,9xgхn,rowset1s,siVcookie8•etnumbXrecsQ}umohn 3ill0haadAÂdl`ff@ypeъlso aintenaɣGfurtrتe8pZhoiKK(ٌ?soIx@ryg)蔪<DINOxmpI1DI-Pl,QMbDefahףףףh30"leftף>ň7bh3=ϧσϧϧϧTwoAloadSPECPUJLAMP74key8s)XȊfoc`thoshow !к Ѫ ;u*sc8@ᎢS@Piid8Ditf-pro0t(sulctualfiy0sm`nodPL(PhX4GB)h!ole--po.ƽ@'/zbun08megabyao 1.60mcf;`eral,Yyʿh@‚5ss-s)imusm`(aoȔ,400MB¼舙12ook7zrأ*letimmvem)(Y/+tɼ9dP8st-cAexecu77tdevi˄xCؼMXr `un TPu\__HłByblotXǼ)<tducKnta؇4Aoooooooooale=0100510 >Figu9ڥ˽٬fgзhX aGC,xbIsaa (s96ؤתר&suiweЇՄecauinfZnt9`JϽϽϹ׹ן׹׽ϽHowe2exP0Pwith2ژ@atale,oxlikeW wlargxalPܬlty8ʺ;hdata. 0989210xǤǨ˓=⽈l𱘔subIti 9>K
= 4096.experimentedithmalleraluesf ,utoundoubstantialifferencn forma.

concludehatigratingeryarghunkjmemoiscceptablerros?esidetsnotdvismultread(applicon nd/2.INOЂsnfrequly,oᄸlveljg ЄoodE8>c1rpT0Wa img cindex001zImage"/n'76blockquote'm">Figure 10:Еmve!:nohole--՘LAMPg!.h3LJ@left//>5.3vHothalgorms8Dh3O7______compa e xx,-PlaȗxMcϊDefa,simi@0eviousc,portletnXworst-casecu?d#t''^7777776s 11-13howr-)orkloadypeSPECPUTMPI pQa.Ƨ@wnhurPany#basdNdsxh0etPn7cosW_@umberHiaU0dlthoug2dopsoohe.ɠGyϑϓnd1cheduɲٲ(avoia`logls؃ccz@tR0du(e w0DrunnQH`cd⎸DÆsWOOOOϱ9///DZױ9㒘8vari`m߽߱_߽oooooooo0020ooooϾoooooo1:ߣTO 2006sooooAo (5.4iscuPonpP h3o'oOuvaludnstᑈsifiYbe򒈌¾XABnUMAymJDIPnedithoutUMAwarenessrIhatasimplyxtendemoryigration. MultiprocQworkloadsepresentpvefcixificridlusterhowpcellerformanceNO.m0vems ehagingQthrea^8Asigna0@expected,nherevpded*ccuqsome stutweighbyDžgaoh. Goglinth.8]evelopedၘffectivemplementationfhe m_pagesystemll Linux,hichXlowsdynamicigrlargeemoryrea`oeificantlyrprevious ssOS.hisJ @inteyernel 2.6.29]Ewe Iourxp@sNext-touchpolicy, alsoqroducsqpaHiliXe0@d-dataffinit@s fo:rapp8 ma‰Qttlike(accesBfutursMe-on-n?usingewhrameJoccode>madvise()1s:en!Qt5+aDrt4w@dgoio djȴdir9hwo8orrL߰@isn4case,di,8nchron'ppuȾ銯+=e ciencZ_ɽcomɸh7DsoluBbpdIBS (м`m Dz2).owi'r(sݪXi`{(PlRll жpat))72Xr쳑.äۧsYоZgut~,admi`t0onotըyh4nٯIngg941`9butsroups׺Za8like`h(b A!9mizcosȺ betwemByaaleatuPaMoniUPPiIBMpen-P r 720Cs:m PUtqbkdownqrgcmicroȚ onʹupga0xrackĕȈ[DINO`gthmHtroduѱIwork;s0ۻ@(+mitigɕ_nHviAsupport|mɿiƓZNUMA,u(so-sdumip///radi9U-awɃ`ord@o`imetric,ssXĬ tdeм1Xsqbfir/euldB`gX(dSvailʘeste-hals (dnhbxteamߣ18 >)erif">TheMwareSXypervisorupportsUMAoadalancingndutomaticageigrponivirtualachines (VMs)nommercisystems1].Ser 2ssignsЃ?;omeode pwhoserocessVM@llowedounnewly-catmemoryfrom􉠃asell.eriodicy,0spereÅmoduleelecЄRYchangȃYleast- h.nurorkoptnsidoiy ad,amakhrXss s0shdsXceten .olimin sibrPacQenaltipo`iwith 9Qol#,8_[gb'sriglfmcidw؀h@C)R'jfaultsHDINOcher,V8r Ȍfi sruc-BSamplNoPɑOSrequi.

4@em)@fo2ard-,097393kme)ismcoofputٞ.he(fere(etweuPYlĠ)aivgttHtunaћshnrupteneCin1KH`ltphys1su!x"v@umb0re\X8h8HbEϣsolu?:Pit`t`ndviaAPBlxtan-aRn@@8pa__728X7WT21351PW945 >6O229H20hYdescriaxvelTornajI聹ؾQgoth8rov aitغapD`eyobjthuanz?du4laS۫K42'&868 11+ɸhichɸQn-lear?kernHkncorZsun@+0iHsiدsuB\kpula!r- c!(mptӬD), By 0HsHed-mi`voicr`z]pathglobpkڇ5$manorkeepXGclosJwȫp.t1ҺzdusoftJcosбvirtu3Ԩڭ[jahY 2"Linux:orkl.ȂeBo delhrioeOwiutԌ¸D'1GE!Pೢ*GGApء(;wp+аZalseasi8em؞Iaxr-l@lDfunOnaXit`hrah20"lefts(="+1"WQ7oncldiscpCalgpthp8ayurt Jfou@2ol`{irncccurZnreaduH;hfrom±!keadd8xmpY"DINO:Q_`a'ψܚhrؗ8ig$a'<чZmț nQoXf)l";alsomportantoliminateuperfluousigrations:hose0atddostiutrovidingeenefit.ԀhgoalsorurutureorkH(1)evismetricbpredictarade-offtween yormancedandromreadharj(2)nvestig񅙈actfZsmallerslargemoryagesuzn.

Refere(s[Online]vailable: OOON
7߉߉߉߉߉߉߉߉߉2]<>LAGODUROV̔BhvalusȱM#P ͳ^In9) emа7aeax\SGI2000PngsAperX(x3pp. 121-129Ǩg/// 5]ŕANIнXca couXroBLsub۹alysis?WWfSPC8ϩϷǷdz6]ǧMS7©K-IEGERO>ӬTUMMMptimizIPCߠShd-''ICPP^4_gggggggggggc7NJNJNJNJNJǴWNJNJTornado:ax LoctydAcurry!a\]y8e #`OSDI6978OGLI'WWURMENTOWN8nabH0-~W thread8onninuxPDPȊ9]AMALA.AwXchedu8coھMa r'simHFr rniv(, 2010GGGGGGGGGGGGGGB10gNAUERHASE_RXBEETT?P8HHL׫zuԫWW>&AHUs!OSbvtomveؠߌ޿hIEEEcro 28, 354-661A=SLSENBURGWP WISNIEWSKIProceeqsfuro
(2006). [12]̎wROWEPJRXElLLO,.ӋO>ȃDAYM. valuon)NUMAemoryanagemepThroughodelnd8asur s.IEEEransacnarelDistributedls 31991), 686-701ߍߍߍߍߍߍߍߍߍߍߍߍߍߍ3AUDO?"O.MENO:xeGIrigin:hcchlycalable verISC7wwwwwwwwwwwwwwt4wԣoPMB3KUFAT٢/>AHffici73chedurforer8mance-AsymmePculti-corerchitect//uhcufggggggggggggge5gUKC.-KCigUTH7PVILH>LAUS_}OWNEDz>ALLACBEDDo1o/>AZELWOO?˫P!ComizgramnalysisoolsthynamInu1*PLA5״״״״״״״״״״״״״״6]7RKEBS4TOES׿ELLOSF,.esourCciousGCEnergycy)2*ssorEuro؛10ϲggggggggggggd7]wRSONGſG5M>RIEO߿>UMMǿ(De-)Cl0xObjsJp=voftwareggaȾL8]6CHERMERHOR7̼u8cageiLinux??????????????;9]ԑGIAZIM:'wwwqThread :ha-A_giSMP-C SMTo7>[20]չ|NRAUR./ߜߞ_HierarchicalohaӴctuSabl_YOpt!Des.J.ucomput. 9q, 1-2`051341]ؿIEY>̷ (2008). [22]HANGProceedsPPOPP103HURAVLEVSBLAGODURO/.F|EDOxAA.ddress CntiH`Mcore ssorsiaӍdul.''fSPLOS/''''' җ40&left'ilepos=0 61283 id="FN001sup>1 8Althoughomexims8thIxrtPinۃ 123407 >23Y]eaUMAchine,7alnvirona onfigurso eliminaanyffecᣈωω525022Sol89ll}ewasqdomaif's苩lgroup:-! 끧memoX- Hgnupiȗ,uInotve*,bio„Ɛfunchanged,venψV:bzQoldOO77735123WmitrbemarkhoseuhfadreHuJ"ooo??OO:8786O4L4ODINOxsuniqu99D:workload//gbwr h12Sc er%siz +1"wrbTGraph:PUg eal--TaskiE?szicsrocept ()1now@mmonlysigşdata-eli(.soreʀKpplptioXteaccel𺙭8mBtDeGe plh`Hsconcurrly,0Ƚsystem؈rovide@ioritizZisolscapabilesresourc( ge, icularhHl-tsetupsh컧ײ环2rWYes~ЄWsۢPatdevice-drevHt!importaHworkloadsromerformancentpereh.imeGraphdoptsewvent-dri@odelhatynchronizesePUithjChtonitorcomdsssuedrxuserpa@ntrolresourXusagpons 8nerhupportworiority-basschedulingoliciȂordhaddktradeoffetweЃЉ8HtughputQroducbyraousnon-preemptnaturefproc؄.҇ervatioechanismalso XloyPccount en ,hichȎisbehavtasksexhaustI/.redicԎecuZcosi`urrvidCen8sol.

Ournu)penGLyics0hmardest0Ima frame-As9hy:c(desiPlzAextremorkloadsaabe8earlynoo`Gl. )find؞includǔverheadmpoєcanimit4-10%,ihHjƙhab30̃zexitickwth2nr0"leftsP="+1" 1ɟ<llyY*Ecgnifit`t3-D|qu8tynKsmooaraXJspeci ycbrXesktopppP"su蠐Si,eb3D, 3D-D,ÎizƧXon,umpT÷ri W+eroಪlJigu#biIfuNҴArpna doJgeal-purBPbGHQ -e-qGnsReulti-laeAᴹ XrgƖexaȖrsulau{ߐ@ncurair>rӿg8ᙰlaywebU\ gshѸ0s(.s-awsoftŖǺplikq"sorhz9τʴ any Ț9߼`cƪ $backgnd8Œй$-bdlou0 (viAmazEC2rt achinmRso8from.ͦL8rPwell-ye aissuinBon-l2Q-s)Pm@anh8arbi ryPq dTیƭdcġic/O4@llXmeamcbuggy'!easicamHloade`Thu0xourbpiͭBrcȪ61vloP()enon񦯦WWPusXعoX-ٔwhi@itselfg)ӗlib,run fework@ParticularlyHDder@rf@RC\,xgard du@ @j qHenc`pelopha(b1W(pshif،amKyUn@tunexi(Tdevicerivers1
, 4929 >55505 >7ׂ96819߃0211643 >2]reotailoredoupporteal-timeulti-taskingnvironments,utccelerate onearticularigh-performanapplicationnheystemrrovidbfairnessamons.

Weaveonductaeliminaryvalu3eeROefxiGPU, (i)NVIDIAprietߎߍnd0=ouveaupen-sour'GC],9GGEustwoiffergraphicsardGeFo!9800ToGTX 285,hhLinux 2.6.35elsЋs*underly9P.thould▲yhah0D̗ÃPalsoxpeZXcloselyatchWindows(WDDMϛ>]),y)aboH90%co𡧝0953.1333FiguڈКx`decsee (frame-1)anϒhGL(Aa) compewit-wdYmsEngiXClearspd/-8346(s٪ly.ԡpmȝ sxregly-bead:workload }xei bombSa@10o)e;עHmciousbuggy}ohiebest sibhOe,뤧agnӬ1C((<>n

2ystemodel7]vailЋal-lium3D߁8346 >15oftw:tack,hicalsolan!supportL.reoverhaseen QPSCNV n-sour(dr`r10641 >22pag˂JathScaENZOЎ'/348(1*s(pap,owefoj]loadXgXc-ose:(olu*:殁{磷ݨ:D^:oQpadeviFyB r-sHIssOIʧ4thatޙdaLaDirp@gȵu (DRI)7980(4 mdo8mostNIXlik(iXק(ow|.ՄhC,oo0 accesCYlyp"sthoutw9tocol`pJplHswXrIb;IKscn.Oqu0X_0cedir԰m s ifiedOO?Irڕ/w/PU{ߖmchBchQl(i>5cIptu(yssePJddxs $Finx,wmij׹-128 .ur(ssx ea3sPi 138532 >FigaR.(a>E/r`w ypker |buU(ush€ipKe ǁÒapp|? cospondtaspzom*qZus{8grouPcsnon-0emptregmatتtomicitycˈ,ean,i(B`h0-\synchronizPon,in耥9ߵߝ϶8ncerpڶGETnd PUT

Ea/܈hyncludeultipgdדPpos headataKains methodsFigu3:ԱHGYystrchitЂ Ou(5delscribbbanaDRxMr(DRM)6i]{eZ g iNVIDIAermiTeslaljȷxbuta@lsopR7qinonϩϩϩh2wWleftͤi="+1"Figure 4:iagramfheushBufnterfacendIRQhlerXthzTimeGraphcheme.

ItXsoupportswoPUevationoliciehaddierade-offetweensolroughput:Posiornforc؆(PE)>Jhis;yKs=ousag fpcommgps(pletedoutac0ng_tGAAp)i71A777772beXe??9submit9uspredicJexecuctexpense ialverhead/"ϘϒIHrdtonultiaskso 񀠓Se,GBnecismhovidZe 6Shd`.articularly,reatpeciastanEG>whlohd,all(&Back9ne>,icxll-acceȅhjdoot(loYnys.@eetai 8(iњٟP*adulǠwibs@binec4u5tivelyoǠoǦǬɬǦǦhowh-le/////rQe 8a"roducpbyJhYboldP=bas(Nouveau,`mPdr rsuhasimiЧll،7'i?=firHacqui bbuffhobjsso@Erin1߭. ppl+ ϰ`er0he wtn$hӸPxÛspatA(mPh Qcorond o9leeElsU waͰ:ssC,mx@ckhi"ЁXZypl" bfrom ine"ty[rohde@dscz80-;next 8cnreques9zso,߲}Ï(Ie%Ə8runsghHԜ" م6tilA,budgeivxapBݸ#xl@r[88wakup,Yhsrer-priormayؠѤy.inPh/pqufi;߰?|8tZo7AGG˒lrWVϸtct!stXӡxfC7enCrupC(usaE_^AfdežaIun͟c_]return7g7WWWWWW7w0rп(ȉtqXwUcuX(stop9ެZ/5??gHHi?????????;Spec(`x:yms@yus 8i`PfunXoȋi1nsphRedػ0#[31]Hh3ˣW-aramps: n:R:8v::C:T݁wԺn he, schedBackgrounhb>ǒe. PAm`I:hsystemersP(2tcitieHir!,-alsoupporautoWT (AGPAwhichienablxbysyaPld-card  *Ý'&fieldproviHu(-spaem` odPllo nQ)ndowpgXmminterI,0a_NET_ACTIVE_WINDOWDWM_PID=ȅ7eׄSB7ceiv nviaKq4ZhY>b:ag8unn9ereisI defaulPi>??짘l.en)diffXcanezam39ʗXWW.is, ,otvail"bGGF ٙe@inada0ol:{'.ƱaјXpXal'ds13Y] sAeadpl-"sAdmiC0rolIr´xeXtic[loadsitu7onxc0)`aM0curctPinu25amQrimpY^wlimootAPouȮHage0-100%;texI(/etc/ 8ph.ac)*ucomp radonHu- #mXlCʽa`T2ehv7412X >262׽׽׽h20"leftsH="+1"'$44'Sdul~h2qgox XyXchh queueOiPtchnon-emgd QpaccP)dDendhahwawXll.ɭlX8p-onsJbpo"_ɺp̦ww7 o c@a>-',0PushBufGhuy,PPpondɏReitp)sub.ls0Y/a( polic8wi譠sSeعp4.1׶׶׶׶׶׶׶׶׶MJ*Wwrequijinm[about let88nt-dr“sRto-CZrunou,a ickdeldoptednhereviousork1, 4929 >5].ponveryterrupt,2corresdingPUmmandroupsemovfromҁ0-onlineist.urto-Cetthgec`ismilleescribSecti4.2.

4.1cheduPoliciesTimeGraphupportswo:sp.ԐFigu5:xampxȥfW߭/3@g:'OGCc anyWwai{c๏8f.pficallaewarrivdPdȔsubmitt{mat ׼ֽemptpElsmleeˈ queuzestoljw@ppryrup@%?????W???;a8=`0153092 Λ (a)8owekiPts,WQ, um(MP)Slow(L|uГ.h(aMPkiPO7,inoᶻ.ǻiICopync0nousk+gaд˅yiNYHowϔzshhtecas(dlacpC˼8ӉHextȃalsodu8KsQreasoxfuri`soons\etpppdXЛbyWena5#񁯕PshvokUly 4BkeePcchosyoȊ .ɦX(x3instaLsec8?{irosGGϵʲalJsǷoܘknowԥeachWnXe@,e8li '''ٺbssib `ro Pvidjta˞q?`й؁91curheamQamdsЙoojoHars󰨙1|[4"idth="1em"lign="justify">HTcheduling
:he onlyhen-inei emp(sdle).

Figu5 (b)epsow'setfus0a),und`O''Ck@wxsecostanceٗ1MPKcP?m_Xbeca0ggg7dissuKelf.YYwoǜDžsicsivȤthout8oA *2ptr foϠHۅ1us+hmoghput-`ɞ` slock'Aaongnal trade-offkinhsi` cical[ȅapxXh3^b0"left4.2ɢet HUh3GInrzovidP0v-drndeTxGraphnf {geH׆ٲ\Culetѡeachpox`ItIrybo0arhWews0d.Ƙsiic1p,@ec8NVIDIAarchitectRCoNo@ier:ώe>NOTIFYՎ__2fromƦ ֟h gdHowQCPnotaunwgga pӣnext7sispathreXdd׉PLf起nd(dummyalsoosH!q؝㚼@.ɶbll'gipVaźߍ h0oh1׿jSERIALIZE#pht''8whi0(/o ؇Xuntilon--f(&h2PPoie4si0k SET_REF

5W:Re@va˘h2ߘڗprovhFc ismHtc ourXusagѴ薷cy.ŴǴha){ep p1capacC>rpodi>.udget1۹ȵQamou(ٸ8aytGYpoprb{u)\le8h1!!l-:sy [2012 6].ӻ8(callXфľdec(_^۽ t뱘moȌi oeXyHow,iffernKiapreviousorku0asynchronAnoneyinat qcexnghillscriHSec5.1.ur/)accɹѻncez'ŏ:2Whurruppodi#s!str(oP3pon__o8cIrpzρFigY6:xamPWnY޲p_pϭP3\6twC7HϽȡ rř (PE)¹xۻphtwonllow)[ohruuȬ(ext`RApiAdus᝵ȝX;ȹIexpensaddi)al*head.eomHd{Eަ`marilywhequiI:onifrx-t9Ҿȫcurh????PEona:ߊGmiH groupJ0sub,"𓳻ggبzero.lseosleep @ilheudgetseplenished.Ԁcaneegative,hentaskverrunsutf8servXon; enaltyX,owe,mposednextmenthforwperiod xree@nby e =in (C, +C).

Figuh6 (a)surPUommandroup fsamapenc(undePEAEҝ:ƛheacsubmissPAr8predictpco(x ctt4, xi<Ђ”o_Y.lsgoepoleeptigggͥmoedχ)-ȭ%u.ɇ//gwwapaci͝b(dwqݡavoiransiloa(s{{x}wak*≥ (b)їRA0 uiXYroll_ sxdescripssu(YnayHXsfecac0,SI5.3lloacal4'.nlikqGGGogg`a(/les͢,h+lBϡ׶j > okalsoeh8suffHHowr,߿߿ٿߡ_ `ooooooooomSha`TimeGraphlowsultiˁٶHgreW+w> .צso3Ҹׁ׺Dfinish
nBIRQ肐ler.ԃdiffeceetweHstart#9QσaccountPforqexecujxsubtrac:rombudget. Encemworkstly PE20,012 6]us`rs 9ic(:s,i|non-emptivpqpxw@ep`ormG^`daryvhowe@`ill &tyioallPE*B,ϛagainHhWWawakbutz culll ra14326Figu(4ררӨh3zܩleftǨǧaôProxh35߬wcвӸdГsʭE@oChead`dataڟwn38532ׂ)yxmethoлћzȸvs}nowpl'hpiecximԿapp`:HeHcrQ?wiH!sa oK5XysPAPIunZe.g.,ϮGLikegeneۂqugXмP/)valuиquivariantpHi{d)hߣPу)ro8story-ba1

PreempImpp
:veX)aGPUmmandroupaysuvedifferjyFor ampl0ifHusZtextureataached,8aphicsperaҏmuchster.׋ath{ns (channels)@sЃGFnary.encTGY1ifi tu8tBsulingoint~H'wilhotpXeagcost,τfhገct`Z;_Inxai(betwe|G ᅯᘋpii>vkeepscYwe .ygȂǃxd8forehQߡload„(nd(ȡ di ___[h2t0w"left]="+1"68alu򝹡vh2znowovidtailquantitPe'NVIDIAe(9800Tca0RefaulrequyZ1BAo(m.urnderlylatm inux 2.6.35runnqIlePE5504ç4mainWhRdiscusszfop X_X,imilar XyaneffromGlso ob`X7ohs8zGTX 285a480WW߳ggggggeAsim 3-D@chks,e xPhoronixeSui[24q]3S4OpenGLH耩AXa,orlfad,rbTerror,¥Unaԏ`nP20(UTA)cЕmobaY ؆,!ducAiou-ens!workHMPlayeaio`ii,allium3DEngine b::reguly-bClearspdǂŌploa mHbombrmisʺYFurrx𑄲SPECview 11}2724x8|oM{throughput_lYscHnXsolet!1280  1024m&paxeterSܾfigʯtspecificmaximumumberقẠt@abhxO7Ćoj03>6.1ИhrzoI/.3O//GG///irzǯ,iŸtiachieby. dexibhSe3,utomxch8gneXqnicZ{always`@vIBoʁ&wha4y l هyetwj򮭅ӏHPRTcoliXhيhixIatappڲb`9Sghi@/e,ishou0llppbl0d8Qs_________W>CoXe-0HdЧorb>:WX179373 >F 7iw;i켩ÿg p0cur1shH׏b>HϏϏͽGúde>PRT
olicynderimeGraph.shownn Figure 7,mprovesheerformancef3-Dambybout 11% 8penArena, 27WorldPad-@2kUrbanerror,nd T2004,ithPUriorityupport.urrisolatiosbtained!reserv,apping ourusagFEng0dgeOurx(ntssign+WPl2.5msvery 2oЅQGGa0%bcomparxcasth4, HtJ2 2Xs<E>WQ0436ρAρύ.hus w?ϔYidaett9nmocopschedulOOp`icZ Extrb>:nrboalu`pabilؼJAe̜ui!ecu\f9Ÿ.rQSzacXidualnQor@ponglyecreP0. __sѭ totЃbѤ-{ask*PʺbJhplϊ$ add8onߝAsa?ww___8ShYmshown800699˿7anun sQ'u!scaled- ycPisoгC_Wn,su0EcircumBP󠐀 `uc720%Xɳ'",Pdanno,(''' idXshtbet1cow "8cerp407

C/T
= 60 8`tׁ13g}?i`:aBeptS7 25ps0???׹xooo׷2:@fa@reMF-grPe3-Dzhvariworkload蝘hibnH;؞08studybehavig`sgori0eook!+ili7wggffH?Cl8spd0mbhs2n7581777/-)askOJ2.5msҨyЀPoughǶóapr؉Aĭ#70@ulycأ #awFSi1?>sotY@-i1sྡ,affectmohb[NJmakeᴩ1edyw˄ed+benef_a0ePeCcɻobd'''''IssueYWewaluΌc-Jur(tO1ߗ25412Y (a)jhaoticsfromecut74ԄlyHdi(BCȗTbu o@suppor`AlٙػHpelf" >compe2BWhK, PUesourcesagexhibitsighariability andnpredict.ilepos=0182548 >Figure 12 (b)llustrateshemprovedehaviorderimeGraphingbPRTEngine #1, ]i>#3pectivel(user-spatoolHesent`inӁon 3._uccessfullyovid8flebons1thre0asksccordbasȃ(HirOs.urermanisolacanPhieyRrv,Hplodiffntizofves: (i) 15msry 2ϋȋs(i50O/ ؁烟10gshown!c)E萁d .idwidgetaon-trivialepeKPUabute/*ɚth((Кsmall،. I0ddi⎈sdeth!weaalsolostatapproachusiyre-confdaluٙ :.urrimhsa9(m(Iapu,eAuЇal Inon-onary)l kloaבoplaysvitrolal-txetupwQt1unacceppqlow-pHr)tasksPau0hteiAqh. ibo8)esul?8ofendZfail¨HiOAa.ȧM𥣆ktru8SwXless8mgu[QE@Clearsp؈S٪ԨAE@o(y χ(uldquisuppor(%hro(m8selfir(9 asiYhistHcwHrw ,Pxdesd% Xrhead''h3?wleft6.3σ|ThroughXc,h377ordqu˦aYmpos0byԩ0Grapm@8ah/*f3-Dab(hmar11, 4929 >5].Ԅh.儀tDŽis`vokonlyhGPUommgroupsrRplete,h自zׇ׃8ry"Xonfigur`toe 1ms (Linux jiffie).194328 >FB 16howsjhultsfPECviewperfhnchmarkingithڃMaya Ysetreaqfor 3-Dutgics9e code>PRTcԚa rt(valCךԍdarularegisA1ifPfbcurtXMdp(a80`axgfatalxecutiohIlessߡߡaklea 307qhمםbeca;Ϗu 1̞e_Ycoul7m1i@ -to-CXZrup@.ȑ,on-thiXohs`im. <`8"lign="cr!pwidthem1a,4929 >5Q]imȹm`i-tassPsimi88 mYcoY",ow,undaallytfocn oritizaAisormoXsqapplicrfairnrimarnS`iсq?0o{nohieh窺rtaAjuP,zextrlo`,rxrY 13738 >3],_ddthprobl njyerv .pHaoync@nxalso(tweghbamodelt jdoςOIpoll2sestr¼8Sec6.3,υ/(`n p @anyjjavalchu(like0h gute-a㜇ϭJ1suis.ȕaߌmosuita`l-tPg`.ɯdd`onn predictexecuos[aZoc@ao`metho鲸datЮ.ZHe@msZm٢Hly,PIon.ׄז٥Х`e(d9W *ȅlelC䖲wtcisЩaoheHJrequi*̩re 1ovidpht-w N

TxWindowsisplayĈKModel (WDDM)25]aPU6rchitectuiMioft.׌itproprietx@`poritieeemoeupportedurxphbuteotlicitlyos Hafirst-clamve.pp`n,XnoBre vr.nt,ihVIDIAhs`than 90%f0betweeninux}0953. reHevPuXyɔ(romaintpdemtraOJ133329 >FigY1yVMGL06897 >1]=sirizk!PIkgYic8pes*gaSP(8MMosP`0agemplepnderlyR-accele[WTGViOO05798CnQllabycڦAGP2ǥsuchyJ(ow@ isolus 'above'/YWWTcoarse-@8fun2led.w'sfu421cnabl8I/OVoșxasiusktͥWMultitask,xthFp\fairne`#coordinX˹hs#/ymjvɹdictAp0pЇﵗC@Schedul:_}cop@feypwhHbIwell-studibyreal-communץE7644@:,26ʵ(0a(diAJ]rad Cا@desXaddYbixrily-ar` non-empپRexecmHlIY(л()oQEQGB.Ӣ bp҄ѻqQro躈2812׺30129Ϻ4110wwyia myetalso e;lXG55@41160''"54h1"7߾9995؁738 @pecif`HatHmilarZiJU_72regq@rb⺿>3702ZhX(viousorkP8hȵ@focus2nchron@partec`Ůwt"oyPؖb dҟŸbetwٿi !requiЯDiskdchaؐYK@yӧoff.#ϠҰnycڹݰǰ386601"%''{WRȔUEtyp co`@sindepe(iot0w(ewtextțxr memoryuʛHAkh)I/Oȸ, mpletelyifferentechanismsoealizerioritizationndsolst(esAeviousork.ɁXddon,imeGrapheedress rade-offetweendictablesponHthsBthroughputinceyncnizingPUC@ursverhead,hidisk/O Pginaleithdwxeper. |8onclussp4''"justify=ThpaaPed,ዂschedulH8supportz-ulti-task)envims.׌xevele hnt-dri@odelcomms< ner. ҁow8propowoulpolicies, ooooh jҲpfutureЀHilllaboy0or0+Ϙ*{@ag#)APfur0dycapabilHR؅symxi@hi WSeomory.xpldo򄃬7jan+]dcFiHa, r)APIArodunon-blocsulmI(xR^legac(S?e";hЅyl2館sleernelۚXfPX=0209283 >18Q] microXlrnɷFllytack@Yp؞x@-spec,ٔ0rame-ɵ?*(ng-ܬh2fZleftsiz+1"RefPs{h2ǢǢǣעע<qu0[1]AUTIN

[5]WARAKINATHTDirectendManager:ernelupporЉdInfr0ructure.@ecisions,8c., 1999?7?REEDESKTOP.ouveaupen-Sourcrي0codaref="http://n.freedesktop.org/">/ygg)-C.PUHvat@sndimeÀptraints:fficiendictablAofded8ctiviti76SOS0798-211߲10]ˠASICC@SUBHKw!OEL״дlygiahop1HolEuroSys03-1161]̴G-C6ILLȢfTYANARA1N)EF&Rw.MM-traphics裬У/-VEأ 33-432EHOCZKYJ>H?̭oo>VTROSNIDEPnhanc A8iopXsnardhal- Environm_ZIEEETS;8=261-270;3_I"ה=YLSlgorithmsorultiprogramma.Journthe)207346-6߸߸߸߸߸߸߸߸߸߸߸߸߬4]͝TIG˸F-ITHROWEߗZAKbhDirectзrInfraucture0ow-Leveles0ocuY.)cishInc9//////////////+5wES3D.ǸiumYǀg/i[17]IEH.CMSOSP (1995). AWBLITZELoCoo>NUNTG.elios:@terogeneouspingPthatelliKernel20099VIDIAËRPORATI.prietaryriver. OOON ҠuJKUpWRortable ,~esourcRGuaranteedndnchTimBehavioס0EEEAS9),p. 111-120O'OOOOϪϪϪϪϪϪϪϋ 1]Ъ TS >ɬ NCENZOpathscale*߀ܔ77wwwww42///߉//SCNVGGpsHgub,t/pscnv'''777773HORONIXWlDevelopTalkspenlyboutinuxuppШOO>horonixZnp?=article&m=_qa_l&num=2WWWWWWWQ__\4WoestPdzNj{-tx-sz//W77777777777775OVOSTMET,ȴ>˿dELLEYT.indowsisplauͿ`l (WDDM2)Beyond]HardwaregineȴConference2006)6]OOM,̉,À>EHOCZKʋ> EIEWIKgD.Alxation poSan(menWVSW7T298-307WWWWWWWWWWWWWWS7OUSSOؖKB]To,Ζ>ŷ5GLISᮈterminicatchchedugthStxcЬJSSPP920-235_w____________[8]PEC.2viewfspec.org/gwp(pc.s/vpHinfo.html߁ϴth=р"1em">[29]PRUNTProc`EEETSS (1988),p. 251-258. UTTAZOGfficieHrarliesteadlinecheduXgWWW994U-11????????????;1]ٔGT>IU?]ERGEREK5PLANS>͚\Oəg`eB:irClassupporInteractiv inomm pOaSystemsoiUSENIXSDy200}73-86ooooo h12Ccxermsizh+1"bPegasus:0ordinat'VirtuzAccel1or-ba\Xdh1''_OONVishakhauptaߣ߄/+i>GeorgiatuxofechnologyOOOOOOOooGGOKaenAwan?_______W_NirajoliMagicHgϣϝVanalwarooOmHPabOOParthasahyangaPh?777Abst!2GG4"jufyw>Heogeneousulti-coresplatmsompriboth ralurposendareeiincreaslymon.hilppliconstoreePutil nuch F,ps˅nueview7orsspecizdevices.heegasSscrib inhi@apsan𿰥)vroaؗ@ffeani ourceageodel P'hόchip؅ s.χ@thyvievel,tsoXchedulamethodsPirpefficishюQcrospvirtum8inerebykwsila@dab8itif8ojmanyR.ՒVIDIAPGUudx86-bay?;ho,XenDimmؔ"de@tЁ8rXd 8and betȆg b0Ț&hW))iz[penЈ,ЄTs򪘉rom 18%140% r A0Urr/gheQeЉPUsreh0d.

1ntroduction27, 5733 >34y]aveIveneirtility逈eroferermancendow2cump.his notnlyau1remendousrow8Nor-baplatQXbutlsoeadJoy"exogenee86corePon-chip~P/-299905 >1/'!4787(1+!monol0our.ȊHver(sAvirtu)yetd1XartecturalndhIarticulaXinu reapsedaryevifocXschedulA Pag1 qpur,,upporby dthpshieldel!sromlexiti`wrrdw'hi'qbehidriBexly9mm9API0614p97408.ntunatelyechnicalj҆qڅ-H!xn?>iyvidiXowWb,ichItrictOpolicIthuomMcrriapdYnuМװװ׬AԢtexecmodcpot0hurtSma@diffѰ cobta desixnefi ombdn.ðid1instI,PvdЛ8ykoP'snapfish10P320MicrosoftPhoto-SynHdz27065ˈ߶1offx!ddponql|̆enckwXrЧѲiat`er.ƻHZ_ @encyapаhpequ0HboY'Y.nxaYqOsফē9tyHfirsd1fypr豋#@𶏏3683be`qi໠sᖐzjhemߐGGq{pipe(sehtaskom@eiXru@`i-PU(zPAisubi4T>ɾ?=60467/0317;cuHA tPb/w,ϓȯpatI10 hIro-gang-\r`jG@很n ipaAǕߦ (mР`߽d@sؾetAF軨, ٪9eifairn"ꌅ0nIypebgacaBخgggdTPegasusjecddurte!suppo1xyr8I(ob0lagwpQipincadopevixȺechnologAmerc,oudٵ441@1vHhhfrastructu_^1650ZV6062P{:ὩsPexXsy(1)x8ײHiclapab0(2)Gedyené5WWWThroowAp9pSpeci,1prisedf86PUsonnecttoVIDIAǀ,hesextensionXanehmanagellplatform'srocessingesourpoddsbroadan8needsGP (generalurpoXcomputath graphicg`units)pplicRHincludY)highroughxquirement3eveebIlikeimgpdXutlin@aboanlow ency݇finance24]rimilarlyperق…1s.Ƃwr,&sharcroyG@/cliYy,Nԋithuc(yalsosidersdividu@nQr-dependipipe-ba9:mployЖ2iЏ|ns.

<@et="0"> TPegasusyvis HcribinӞHR35oot1ct`)PlptoǓ3748,ry`mhpirtystlayer295805 >5, 9162 >1].n`ad,pas8orkself-izdevi)ge405a9Eexi?gr,sthppor`exiШ{Xbyki)4 ntlpCUDAmmAPIf8413tAulwhpvmactpZrit,trol6.Ԇmea!urs@thatg'sees'ӭ@DžЕrBhere getoyQregui (schedule)*(d pakey>p[nQ0itcoor(pVMsOKr.קaXiسʶ67tffsnpa轁Qo $qgue'竁پDom0!sami(邒HϽ˽ ؍ڸ1ȋoii@pr`leg:݉u\sergggggggggclev0ߩfirPclaabizXahomewIWwat>eȵos )ON019H6L؞8(kernelstarTsRXS(UIOrdHow1,f лechnologyelop:ٳ pwJJpaturxoZ0mmabstraro si1he`oQohVzPoPloh`pXy뮘umZhadiffHmains,IЂL dep0Jyset9n.g.wsc@РfBnYՏɵQext,f饆qaqhmhi@(gno(lr_ptrucѽG772814rexbepfulIo74767ȹOConcur⦬bþI@7۷R\meds qہ=atlrqhp c3fai`@aerHusp('GGGGGGGGGGIrپtoolchqdX#r Ǡputask󼫧xsuۧ:p`!ar@(ISAs).ur,ݾokch0:Xru0x,uycogn +¤lm@QeȨ`)q̓9uSeဆment8].ndvantageerivedromhisackfnteraction,owever, thategasusoesotHpendnertainoolchPsruntimes,pritequireknalformaboutccelPtors3020323sႰsult,.canp!eitho(closedlikeVIDIAPUxn2IBMell8790 >14,"itpproacheasilyext0toupport erPIOCL0614X9

Summarizing,xeFhyvisPrssah9followribus:zAsrstlasschedulabl ties(rhysicHCaPQ)"XmandWWWSh.e.:ysharpbyiptask9Ypp@o pces0dynamic,*strimroftw!stsGGGGGGGGGVisihe@ogeneity8pecXۋiffHcapabilhavqmodAsLsomersotSAs.a@nidhH!exytopplH:pguevirtu`mPiq(VMh(loitvDhrs9`O|সn_waye.gXpeparallel`incrroughpux0m alatq'sr/nceٮ.nadd،룁Gnso8ho ziurourPncluco-curc.CoorH·bc mhRly Gizexec@onskHirwn?3׹׾, |3392x7|8s cEh!J-lev.hpXPaKolBdx'cla'7*ݨbdootRr7nȪIulqhQmoim`lyS'n'x eƱw????????NЄױšt~ummt򣰇munderly٤5s'}.ɴaas cogndeaPzqonye0Yη'!bu8lsAqs0殮^yquirepaeghح߰%GPG_efrom Hdob techniq .uchya/gseekinfluac'a)ic| fun`ty.hpaqPkevalusw7W!gePdqE׳ÌPӇ1((,eRaؐɀmpto r@d `tuQ\gair-sharior`z¸ T`Xen-ݞtotypeffici਀̞ NVIDIAr,aiayetĭPchaȬHs*(߻shѠSp 6.ͭmaq,hehဆePGPUesourcesreh0dyultipleuestMs,nlineanagementecom(critical.his evidfromheerforbenefitserivЁ6coordinationolici desbinec4,hichangeK18%o 140%verasUIrchedug.nxtensaurr,ully0njal,le-nodeegasusrototypeillxployh8aarge-sЄ2-ydlustmach, lKeland,n؈pnstruatakidpNalabs35],fur8ralidate p0 betɃsthowimXveRfedwgfrakue0orXciheog@o8syms.

I8Premainpa,2h8uls1"smccelထ:3tQۑar(to4pHrJmethodspiscusrofW8EfollowklB{detail'5,exiRlalu w 6.Ҕworkg 7ϕ! Аɏ'''#h2֎ڏ<0?"left%siz +1"wq2ackgroVeᗬyA?Husability (e.g.X`increaop4UDA){Rapidly.Ȗ,eoday'(emajoxy)rhootccupyir_\294767 >2Q, OL0279 >18J. equepitinuiefXϹXЯ]8111hbnsupp{NVIDIA8FermiDz33927IBMCelohThe DsX؁(deci%d lopGgcaffyntutzeЬQr purЌВWШhearliY٥ѫ(9acros0iyٰwrʫ#꽈wiPPi`rorya,盜VM.a@y8ab},eaitpiS@idugrun`eqVMiroXYmنcu/ǾǾǾǾǾǾǾǾǯVL`;traniassolдTyp(saaPp`t) !fty,Cpe.hgtcompuӌIata谐betwephosXq740yck&/.Ɓxairstme-[xissllsrom ns-to-GPUg㬠d-ԟٖ Rsibdetnt1(-dwhihca!hP0ў+deg뷐衉hownyrғ(c]SH16.avoi(u8Jafrabordуroducںregu-  R0-rstPasia5dWPszgR'''#h2֞ڟ<0?"left%s="+1"wt3vSystemeѣh2ϣʢУߣ߄ߣߣߣDePX|yZcurG -zfuRheooxyp(tкlogview in Figure 1.nhisiew,eneralurendcceltorasksschedulablentitiesappedoCPUs (virtuq)haracteriz0as|r.inceothetsfrocessorsan~indepe(ntly,latform-widing,en,equirPegasusfede'-rs.Ƃ#ion implem@byoordinmethodhatvIservic5machin@wiipyhysicbasP!div`olicIdescribzecB4. CparticPrlyAortant l courunn፪𒀓'#co,ڋimagSexXdierؗwwwqowYzerjtyp<,.e.ڙA/9Tfalsougges0rearityVMsol(grayut!)icurrystemHWIgrrivgHsoftwqcon@s"nhost741acknowPUulda iقЃQtime.

2ollowquȦI۟\llenievQ9visa󙨪dždž†8VcArp‡lqa 19,3740 >28]GA;eime+utilizDahhr`hpltДxtrol wnᔳwк)sPsu,,.beg`di`tschedu@#oeth3),cr0AwQexٰoordinro(dop)Ȧգsued7m2IH]Z`&cYolo)`s!8tax0(H/fairnes"d__Kh3`leftOO`>3.1irtuz8h3dz7׳7774WiGViMע2984513,e a heaGPUQXehưddps'!w]purh c`VMHsuitaacPs (e.g., Larraberoai5czQIAstru*e9mp8)v`0|INVID@Cel`_s).uilxg`Oknowledgurff-chip Pup8/r`uzbxanag*'s Dom0(dr9)omain.ȺQ7`rqebȀIlrivers3]oediatellccessesGPUsonnectediaCIe.pecificy,heequestsorsagessubyMs (i.e.,UDAasks)reAtain@in uff sh(etweenSsndom0,ownɇgc41683 >Figu 2,ingeparɃSeachk.„ ins9hpollerreadhhatickpackeiromer-󆍅و҉mactualruntime/drivresidentه.hese ;6can0ok8upheneaom`⍆waitpisodelfxecutio ell-match0withwaysawhisIceatorsyIshɓlizirmputaycapabti0ysomPxmultipls.

InMR,heootfacheducerartition8roup/combineleysnwindoweforexecutingu'suncand xpOresult. Figu4llrateswo cgiymaymployo(o.elog `vers AreЉnPla+br8p>ځwww>(rovefficienc`yavqrlapp3re-(ᕊXڌvalue;ޞ,`cheapPthanpd&awPpp8s owbenefita9numbWWS'''G'''How,slidЅXsmetim0mҋtȖ،xexpiataЧ0ddewtpri.Ɖihance,sdyur 24Aquer0hatpЏЁ0c­P֜@b/(Hstuld9Nworаb,voluud.ssum !co( لl1}equiȷ!Q]0alwa莟AEitu|zpsshalngerA diffn۷/*839563 >20a>]>s,.hagg{1a8hmutative/associb0ralH0e@.n쮮wwwwٿZ hplInergh2fZleftsiz+1"83̹yǴgKLh2WWWWWWWV!eZescrib fxuѳiac oqlhقNd8rXoccbecanopnerkxil,ɸ*zult!FigH 5:Ci< >2s 50%na:sjG7G3.1easur飊ga3'gggggAood!/ huld8m4no1i, 誛sascertahac*XHryuraϸϡߡۺdn-Ȗ?ss!,umbhfP:|ho:s뀀entednheinalnswer22, 408025].lternatively,ystemsikeadoopnline (HOP)utputarti6ssatarrPs,dnotatemith progress

H@Yesa㊏͔i>Ca9 leverag(0urisbution croPboH((x8s)timarange).gg>;B@area!cludulumbpuniqu4Hxhapbasucful`igr .ogica03roma s>hpeboard,arkry/)e腀5(777279 >Figu:ThuWtrack se"Jhosec`@GXhels@Ӑwё $}iMR)`mhizrawȣm(Pepe(*empo)(x-axir(yOФy1ؒɧ˧sTcokϝϝ˝llȔ''`flectwoߔenoT{aر\ea (c__>=50%IrsXX’-hal8E9s nǰu▀,rȻw2rؗwUw 3owsX*m.o__xplwC[.PmiJKwhicha`uPh (of( pecih)Xvid׵׵TopasfxlitXggǵǻiuC[y (iryparereen«yei£M ,W#orǻ9 -ڼ__׾AuQIDڼsP/Qcular.0merg:p,o鉻??/onH@to8mubXзd(pOTٜ,oȎ(uniHƄzi 8:}j(non-ty3.2ա߲> :pplics1bdqУ;o Э`tmfs.`I0mum68quiremBHan`8i8taXՖnq)o `쾘s!.Ʃ `sy,A,8ysТde fhdommeɹ8؇ȽpsBdo.roww硟ڈ!Ms: (%@txsqcz)olY² |e 100%рpatiallyomplete (asheyrenaeft-handf Figu5),utelax requirementoro0rxis.

T(goalanpplicon釀oet delityoupthallowsXRd0rminsultufrom C2Area(A) wiHearliesYA:ȒOOgjystembmoxfreedpzcГt(8shedoad).ׄofailI0с"d,MRllturfirA%0n8Rea(logrvPŗwindow1correctsummzevInifӁeunimdii0acrosKs csiQX,HWordÞtrroxim1ansPxᕰ@o ( {|ywHowh0som (C)associdAĐУn¡ata#bidߩߩߩߩߩߘrsa(WWle@ns٭sKXore8ducoccu|ԗoh,(tjԹI{HQnod(tProbabiropo(

Laten5
:ery'sboundtermHmaximummtfimesystempends 9utingachuccessivendow.Ɂoutodxphs,zoatorgardl)C223]OOK???????8FGAT0fOKYversa ҕ.saaarrafromi;networkOpds''> currWrA4ۘ_ergexi蝰;ᠸanswer獟ץץץץץ׍ail ץJptaH100%ޟadSwaاz.ocxٛ8heavilorhisnectf8.MRXo@rary1$(rast8m hqoPSus10796)uishHtwe8ɡ`stalmp`Pa,s3377 id="FN2xg.ΤKicysuKir`ThXлskipp؋0a1`ackJȌihe0X(S(3.4)oo'______[BllmJڢsr?=[emaЀ X-inma¦Ҽ-Yu 0 usrPIϼϺHy(;umb suc ful.vhildpsp먉(h(aggregXȶinc@J$Э.ow9,ʓqei"žx-hr3|4.4.2)ceԌXȖוɾzcskTq9Ɉs"Nna'iPtribulthi7*knti "pyvelIqCear!f˒'!um񌓙ϱhequছWڲsubsd@rmiQh8دr's:bt.•HЃhبX2fromjto+(f)Rise nB0W nYrticularIإwfসe|0getsLϯϯϯϯϯϯϯϯϯNo4ٍ6IncXummݣErecedusablxltqwaitXnghproIThu unlik8apPac ,ih Httusۿ35179 >8y]runnredu pe848 >10do,yfappe(Ponjpporʵmfoрrebuggingiterminyaroperatencyound,stanexpensive,orc9theystemoepedlyX-cess (`reduce)@windownZpds.

3.4oadqcelHi(andheddWhenrootvict(ncompl s,odeы*aggregtreeay (llы\panat|.his@dueqSwithoramЄof aI versareavi(lxed (haveittlimeloh)u!ey"utmer,c@r x,@no ngusedLsecdiscuss8mechanism<+Bworkcr(τόooj.o`iMRsumDs0dyHis`opporB#sourtweT 'srmaltiؕyjobs.ƞinst,:runa(parvirtu(machin`BaVMcxul`alloc)1VMsqzsiؑi.eoH`PuXs Fgnffvely_____`1polictrygnn(do@8a ycl(ϗ͖eyobecaѭXhmeKmum C2賐0kipң 7(eapGpl)WWGGGGGGGElsopJmemory)gjPldr"ikeibchooxwȐ[orvio fIwardi0immediѶ(.shPӿ5(aim`Pul ݾ|(ؿ蛑gg񴊳''h2ֲʳ,1-leftsiz+1"ga4rototype2xa>]ifiPt ȧS@0unRචpsemicMR'gramglPh@(axes:ulli>IAPIAgenc0pr#pe0oriP-bainuous0flol>L'K0/wЁevi˙'>Fah-tohachanismPinclu鐐adaptiuousch F/2h3>4.1”ɵ 1queryWQ3g/̷юnety.QcroshedYI@QthXhi8 aturfйap,b u뀀ceunctionsintheyreiXrocaler-tuplransforms (map)rftenn-networkggregates.ortarueryXistsსgoator,q,hichMrepliccrossodhthatroduCawat8treamhTheseQsitusivMRoppunityo tlyiltand*inmediqRbet銐ent.ap8definedpɈlyperx,9tinuouHutputOam.φpush,Ⴙpos0pull-bamethodinadoop, kopsam.

surwos:ԍqה*iӔsindepe(nteɓq.n*rast,yȖf_/EÆ_ay8bscrib,sourhsu0` gPILnx0.Պsm11@clish)soph)Yasks,MapR+jobs{oooooooFiguX6llx@xpءן@gWĢ.AGunnXv*artiQiamo(co-IA(8­ɘInhe˜s)jdomos:!heavyifi,roupkey-valuPaiissu#щ񨬲Hl٣hr'b, 0]nlikd2architectp wumbAfJHxxdurexecu3 idynamldd ( ct)W P7h3^Rleft>4.2/7ذhaxmaQ:rSPGwT2mergldreыPW葌`؏t-by-aP0ddneɭHurxtrrast,+shXs(thosrivڹ.ecax٘fhךge0t!8eѾ˚ystemQP8(notetevicA"*2"{lirLoooG8crpRaX img exh0163iImage"/nϴ߰bkquoж/">Fig0 6:achjob `a=ry˭>aǾ*.Ⱦapart(r = 2),hiH ultHA uexa2ill`outacrpiѼǴļȉf׼׼׼ץ׼׼>Tdapt-w@oဆducemmutableimestampsntoheystem.ortarssu(ogicallyPdepe(ntperatorsatutpuuplقmomfreation.nontrast,MRefinprocessingows@thespec`{originalgsnRins,otwhichna*oviaane.2ignЊ'Ja0data8cordentirst eb= (ure-existGfromry,Jcurr!X).hiX6remai0ʎچȄvelroughucveueriesyusetworkIPlaysoal{belongs.

4.2.1pah4simplicityq p2ll9atml@d8 su'sjfunc(arrivq,dmayҐIrOQskip¿γnoTdataaas$$boundar`VhtexunXǿ¿LoaPhedocsuҜʚ.ˍo̟# 8imHw;willG㵐odY`upҷ,^paZExpntiWXMovAAv`(EWMA)i0@owards@ob v:α= 0.8),rmؔheIRu's ncyadlPmeFaac_rocP30%).be@kressggcǍ6(e8y edѭ yppJssu$nϖ̖ǼǸggggwdTڒɆc Lromggregrre_DanyӦnewa-GpecQ NFshouldvictz(bBIoliciӂ 3.3R/SؾXernPleaf辁Wdowns@aAoooohyဆ">Ifheperatorsttree'soot,tasZadditionalesponsibilityfetermininghenovicentireindow.ԃrheckskolicies a`odicimeouts (u latencypqum0) Xaewanrriv(poslyeetQfide2bound).9`poin70mayroduc@|ultiryopuncombixfXR`simpctituȆ"stHegdiscussedne2.3f@ЎxstepOalli-dePreڅfeacheyi3hp.

4.3ЎaflowtrolReagoloadheHiMR0n'0oes8esources,uނJnffYvely.ǀa rgPog@le,changXorkon(notsQȔbush0somedo>fa(a9yhvdata #ocycvaila.ɒxcas1lor#list (APL)PuldrHunژx0h,uxervmeypmpэcli-uihW*9mtQT dY)eHoya\-orјlmxEѥoniPk7d (i>19],`anֺ#d us (i.e.s)eBzAuv4wwwwwq.1ulti-)on_Y4_Mor0oidȔ7eپ:roubzup:N1$؁$'syceiv hebrompfbmynJthooоPoନُ䀥)\to.ƭza,'x; sif1/-|跴dknaximum8Пf\arrRscd𬇬'WW}ڨWWroy`eY.ruX`de`訠enceor1sdi tiroopT1Jylowtbyp𗞫Jexph#ewoppunx yjy̼ɮcoors61141ɔamepnisؓ0ȅrijeamoadvadƵQi-bu8schH8uty)wws"ဆ> 4.4.2peratore-installiMRuaranteeshatu(h(os)lle $edndmov`onodinventuXyonsistanner.ortarrovia8ciliatiXalgorithmonsure˃#uPrn )y .hus,heMverromfail8,eykirurrAsetf.hileeosYeataia5'sPL timfׁne`Prt!cessingapprHeoiavoiduplicɃ釘ooo,G,(ripanere,ЂP Xsimp`on-disk@e-aheadgind;Anexafu\beg/A.Ɨycosɇthis8smyrelPvo\omputtɌ`Ry7~.pQ2siz+1"gdl5valu27127777/77GDOurpxplor@bothJbaselip@for coȝtotypebab(tЁ syН2d(yultB9Jiays @TUnltrwisK0 40lȜHPL380G6rpeachPwoɦl5520PU2.27Hz), 24BQm0ry16507750-B21X007,200PM 2.5ATArE a ȄP410#)trowehPayri XGbpherk8 ٠ɀrnectuxa 52-piscoexus(IcpXschuninux6.35Bm@YPYJavHȶȁysggregtopoߛߛ߶ߺ8vCp껏5.1ǥ3ǥǩߥǥǥǩWeirXeblissse-ouҾtwfrchct purp(ho 0?;>Fgm@ŎreducHponHHetsyntic@bathaH1duuncúy1atwow3rangJequalmslide;ca150ill apximXX1{. @hjobXmtakaXroughزriHadoop,rႡonf@eardiskʼale=0808869 80c0PQɽЎXucapacеtrepxdiff8p]ējhysiټbnȖe0rovuffici1h(3apsk0sP"loIXnotztle@kdd8atarlPSiY,canpsok_bOOJ??????W??>5??O????_>8:m*losheSHf")lncyw@ur8uH\rXir2varyꃂf뀀ontace="serif">5.2oadhedding (R
=aSY)atnta 20illcІwefigursystem upant/,0ilt 9vers 10Sreportage@ncy (F8(a))*Nbs9increaM.p ⃘`hhnorequireْalways' with0%Ftout8alobvD,hich 160(dThoughmee{on,@degradskIeІkPatpП8ll,enf yewane=in:.nzrasJllow DailabintexglԤonlӜ;᡺ԠԦvsubp࣐y86cerpOHsh!f?Sear QsWWWWRHc"gfR2gc,: 3Ů__.frt}:عmu PnsiوC
2TqlsJ*ا1 `ree8ffnXarios:non-unidpribdey ck-eamHalysinDFSomorȥGsѪ-DuIntele82.4GHzachi4GBRAMnn(gig@tžInet/g/f4'ggggg.1״CaGA4//GGGG/,Ourxrъ⸏

Fae:pplicgoodputᏳ0IfailkkcreaseFЂyevicsarlier,rovingVbyp164%x1="4 @ce="@if">HYw:reɛC25.4.2ick-ea@`ysis`h4߻8d op1ijc.Զaakinputlog)1ordqa 1]snput.eartitionHisata (4.5GB(otal)crossenfurervers,reaingRcharacteristicatlicksqaXleredyifferentodeYte.ԇpwindow (andlide)AMapReduceob xset wo腸s weÉpanhizoe 6inut(20sH)runachueryor"ix (12Ts).

Figu1hX8wnumbxsessK(ngؑH`acceptevelsQrflity.urpȏ y,equirɁ;ll2, (X, 100%),0adoargelativ@rroH(uTѕmarilyXca yIDs(b)ġRthopoilso8coaLfOlDGpЉ_IŌm73uBapcon,best (C)286erЪa img)ex0169Image"/n$/.blockquotƭ2:)ҏQKolmogo-Smirnovillrx:imHf0d_YrtogramiporɬΌҿC. IFPzanoXX얤טׅ1(e6pȚX30%7瓧g>Oun{zadoopWМ(y)rmifatorx0MRapRob0r8`(ӑ8`5,@ndPquؒYri`tunMOrvi zcolt,`\d+9ikc[ϱ41344 >27]We羠Yd 48ou`Uyunn񺱢LGridMixworkloadu׸33545 >3ʜ`-!.ŜqȩQroxim2.5B,iel. 7$=a*quǴ9 urffer(gggʾo?JvwitpslPry0aPwI(l`)aps 1"sǵǵDZǡgg/gǐ__^ ژ-3pfinZ.WQ21053W Pshow[)thwusgHaarkedVn(rejinu(hypoн).ȐB(100%,Y)oy֒, cef{ЧA ludedrϲϔ8Rg!jo0?failg`xn 80%7''''''"HowتR o0strategiesanoweresultncyignifitlyth(dataolume (about 30%n Figure 12(b)),sersusxecidehethis acceptable hdeoff.oingorwardehdo ok1howP `im0impactsebilityfifaHDFSodes.

5.5n-situermance10i] inu,tqui tomXfunc) @irwٺ8inluиQ)fram˯ٮ肐eaus ({s's+voidY\1explHsup)sli-b؍(S i2.1aXgi㯎moPiǴǘ״״״״״״LikʢOP,аsnapxts)$@꾫Zpeecutmapaccumuthuar.cribAߥzxsmetrick(0fdmitploft:olybeC<>224]snotherystemhat,ikeMR,imsorovideastalysonarge-scaleata.hi`tsontinuousawogZ,remelocusezstaticepd4rweb@ments.tmployfficiЃXlumnatoragormat‡ybenefitialhenractiPofield؀sOaubeccessed.̉AHOPV:aarsegrXetr`escribingarly,arPul

LHleˏs
:Ucloselylaa(Fe2]isbuQwpls n-situerver2ay(iorayr's flows (i.e.,uPes)htrans) 膀t`inidu(ev,z$ morowerfulmodwithrouph,duJndndo(gsupporb perɚhemain`darkbout\Htyю!ncy.ȅx,4dohHXiabiچYreco(omwrite-ahea#Z(P`薸recould|imiyupeamackup“8935 >19echnibet͠kspec h1ndLohshedd1d<80l(S3.4)revicpols_3.3)uiPupYvarixȓ=5490 >Z,416718974K.ƩhinncC93 ǍᜐgZQoSܕ]Aural, graphHwhichȮة(mapcp٠81ctupltdej9pm().kzdiffpapHachȅ!16//.b8hy'dssAqؿ)lyPem!sphPnatu߉ccrolq Manpҽanismseroph1yncoor`qb3`,ypici @iz؈l8tɯ?:X)-pkInast,/act`Ke`,sub-panqaImergTi/ِxyG҉^c ۂ,byatbul,嘘l.goggregN[?m([ ³mi@XzdepexC <`>21gOI9892HbMreZa*e8gdroupBЊquMapReduce-sty??/883(Ox`ǜi/rAccumuor-ParHashxce0|e (thghmbng)ey-valuaiZ.hevicи bjits`g` (8 aHs l)˼ixed-hAh2αҲ407"left="+1"o7onclua6h2?:@OOOOONThWHv9ؼlo뀀gnalysistepsutfedicatedlursHdntoheataourcesmselves.yeveragingえinuousn-situros,MRanfficientlyxtractzPnsformmvsyxmcalabilityreducɆtimAeyhallenge oavideуerization!result thallowsshinpret|IfaceQincomplet.orhxfulaapplis,lrhowC2

AcknowledgGGGE B0lon Innovvataӡ2sesearch (CIDR)silomaCAhanuary57׵wz6]Agarwa8DunagaP@Ja錐SaroiuC Wolman.֩y:tY8alpmxoreo-distribuq XviNSDI'10 pril10_'''7]—QbcЈ`Зɖ RothWidoMlsjissuesn𔱳㈦SymposiumPrincipl)baseMMZ28]krishnddeStonebrakeFault-tolמГ'3p7IGMOD'05JuneϼϼϼϼϽϼϼϿwϼϼ9CarnConvɪ Lee,Ǫxeyak뀀er,.atbul,nd.donik.̀8toringtreamsaewlassfataanagementpplications.n VLDB'02,eptember 2002. [10].ondieڀXway,.lvaro3J.ellersteinpapReducenlineNSDI'10anosCAsAprilP10WWWWWWWWWWWWWWS1].abek,҈x,KaashoqMorripVivaldi:ecprzedtworkoordinaxsymSIGCOMM'04ug 42]Deh|Ghemawatr:imXfi*processaonarge8XUOQ-qFranciscCA,cי3]Ѕkxhnamurth@.ilexussakovsk`9homr8ptinuousalytics:ethinkqueryg-effect ldPp. CIDRJanua89ǤǤǤǤǤǤǤǤǤǤǤǤǤǤ4GrYChaudhur0Bosthayh.ichart,aVenkaPowHxiraheshcubAelbalggregperaenP0group-b`cross-tabsubtotalx MinKnowledxDQvX[1(1)0997??????????????9v5CRAόGgBCTSub-T:29-53'''''߾''''''''[16]¼ᗺYang,henyuuax,פ(hSuL.houatchstreamgcaseintensiveixibutcompug-ACMymposium!CloudD (SOCC)lune107]Ԋoff1wackspX΀pUses9R:adoopoѭBTbyt@yq8codaref="http://h8scalability./how-r-(-u-m--h- -X-">a2/bGGGGGGGGGGGGGGC8]!HuebscHerste(PBoohLoXS0ker Itoica.üIthe@thIEVLDBSeptember39-HwB@B8skRa,ռexpel `donik`-avai(gormsKףICDE#April5''''''''''''''20] Isardudi8Yp irr{Fetlyxryad:ѪY-palelgraromentibuildثEuroSys'07+March1,MaiK.uftV.apdimosCP.9Tuc. annoain:fficivaluatisliding-windowggregatesveratatreams. SIGMODecord, 34(1),arch 2005. [22].ogothetisnd.ocum.ide-scaleamanagement.nUSENIXnnualechnionfi.,une187777777777777733].@dden.ranklihJ.ellersteWong.AG:inyion 0viceord-hocnspnetworkOSDT02{DecembX2______________[4+elnik,.ubarev"8L,.omer,ShivakumaxTolto$T.assilakiDrxl :xteractivepalysofeb-SJDsetProceeding2(LDBŝ Txept10WWWWWWWWWWWWWWS5].Δ8urtx@HWelshwardependabitectur[ȝSОHotDep06Nh66]Ւ8r8stavaoFlexiYtimetnsyAk.PODS44GGGGGGGGGGGGGGC7]QTaX.ЀAKavulya,Ghi PHarasimhan8ALSAHyzXoxasp@ne1st Wahop wfӊs[p 6'O7'28]Tatbul,C۰8ZdotayiFIT:fficiloadhed Pquesjdiibute cpHO '07Aug7ǾOǸǸǸǸǸǸǸǸǸǸǸǸ9lWi-ae ri`Ǹ6'7777777777777330]Xu,.ua`Foxts5Jord)Min٬ so0largem`n`ckliComprs sth͞earT)띠_O縧31]YYalagulDah. Yrdxm밷 :tException-Lessystemallsorv-Dri@erversDepartmflectricalndompunginengnrsityTor`oAbstract/)2/4"justifygO>darchituurrlyopularesHhoice"s`able,-permanpplAs.Ɨthis son,ssavenvexdHfficicsuppornȖҎyasynchous/O,elhsN囲basno.ϡ]Bϋϛ/WeroposeXe@hel pli>ymaǁI ivipu ,xQbb>28i],xadr␳aX p ()i)lK@0o`nsuHwr`zadȵpЎ,etweڲ87cP"-hpZl@lY)yCeroཀ ^.Ϸ÷ Ourmplementationfxcepi-lessystemallsnheinuxernel (FlexSC)asccompaniedy-modeOSIX tiblereadackage,R-T s,atransparlyslatesegacynchronouto ones. garimariargetsir verpplics,uch Ap@andySQL.xpIsemp(tWincs oughput܊116%hi reducingHquest ynci50%,bǂǂŅBi403irnohangp`ps@/s.0ractXcsh /phbeeadopѓdop٥ -F sJe[12,9102 >2543093080162268 >30y].ׇ`dǚOthmlu8c0nginx______[desKoŢTalo-bno=xן,a3`abpse9ё17 43509 >8ߓ׀117 >7ϔǔ47161Ǖ391ϖ81ϗ6644ǘoȾY@a8`ewmm𠇠.irst,Z'oyr-mo۷8icripto(ʿοkue׎ϊ>]rLAIOOO>]).ûhly,aa papsu`sye.g.,l)Led.ehirotyplHinvolvPstruӲ`kernpath1ѲPe-miord8Qvoid ~9@ecuʸIirmreYp(ork,(y_Xi1ic[izнillsuslyQaiss ևGdomaiɺry,讨c(y_________[I!paxɞh3_-lgHmenismesup9+羘Tooipantaldagxo vis:ollialux1xb>Genjpuri
.ňpa灬DyxBsrne1ariti?rPsviQ__y75man`d>lh"2N@Hrusqtation
.xcepylessystemallsremplementedsingight-we9ernelhreads@atnlockithoutffectuser-modexecu9.oris (son,cApathsoote8toe`structurahsynchronou8tate-machines;nact,(hangenecarytheof ndard. Effici ЈŇWOnqmostigniaadv8a(e-pitbilitdecouh'llvocrrom.ɀ߇seXirely!, owyfruqq.showpaper,enabH(manczrovvpFe6n yir莸ninux?=4:Sbrulti-@ᗐCW`Hadial_X 8me ismvaily"appl(ə@oploitsors (co))h0,visi_co@x8a Tdžne,workissuxdihibu1remotpexa,ourfmemced8ngwsu֠gene+0ful(lize 4<,/olXpJ="8"X="cqr/pwidth="0ema0 imgcindexP0171yImp"/n}r׃justifyqu">Fig 1:ӭg (pwriteSp1,desceh0ғݵx'libr`, `flexsc1hichP02suppor0v`-dri@gramTmأYǰǰǽz' 8hav81woXpula01deyhKbasȂ$ч:?nginx8eriefZH9ɻxɨZBaA؋ֵ:1@uiriouI/OZ's epollijhP /roughpup35%G120%tpthaؒo'%gfrom@cbr`rlyֺМѠOv?h2'left-s="+xxx2ackgX@aMvB:ϹlSTable 1:heverageumberfnstructionsxecutednifferentorkloadseforessuingyscall,tem sequirtoatisfyHest,nPresult1processorfficiency,howns pcyc(IPC) bothspkernelL.emcachnginx(ev-dri@ s@Linux's epoll

T 1
'fý 8, D,ehha,J<`N. (S:5:6lB1workloAQde.)o ٽh .ĥ𷀻 t3ywwuɧdeamohro?:!z,n񾑠"Ꞡhpttwe9߇Th`fundaӿ+//+鰸9 HhaepA@ mx,OcaIexa!obһC׾4ocpG,ry 1470wYWHrguh洂B0xcHThi(o եbCieȦgeHlowƄ;g,asib+Hyc(IPC)L٦pacqa)caffywh*Ƽ(1)dir`fro@cessZcepcia־4loҸh(2Hi>inؾ)ȾNh؄_ a|Ǽÿpintpa8caPҋݖ"Ci7ardwAϴXous (HQlǕ'phvaryO_Zesanchmark._3320 >FigdepicydegradSl-ʚ?iрssuingaryAfrequenciesf pwrite

Tfigurepsopict0kdown gaQueIdirect2inlcosts. )qOtmeashdiaullll,ilnporisculsubtran/B?///l.or/voc(oncHlesHchc(nginx),Praisexcep"ubslushqɟprospipピlargesourOOM.owh@mediumGC~perl100ާlsdominooooooooojGiv蕫efxi`nt-drrPlt switc`nvthaЂ;hbdapmakB5-.eyo*otialimxdДmab`ppe@mechanis88mPg@s: (1)thhsyxronous/O a(noetlogicQneɺ,nlinHblockq 0(2)8gencQmȴsupspscript8)2aiahpan`XԷX;誶irlem`#coxity (e.g.,inuxnof膗111]i28-, pslYdi_˞FurPrɚȑ3ŧLSkCiIyI28.Լkey` afbilsdu_ tHmد(iddػحIڋ@b8AW??=ha@bshowȓ/:(ormanH8hxthreaYl4ةapecdRvp˼packagXnsxconл{nPon`''$ZtZorigiɵ=enabʺiexѓ0Ghevent-dri@pplications.

Inhisec,erieflyescribeeriginalxcep-lesystemallmplemP (FlexSC)or"benefitfreader;osusy8miliarthsaykipoӆC 4.ƃsphHiX,averviewчT;Rmorenm"refe+aropos[28]oookh3"0"leftoo>3.1ŏLSCaFigu2))M8Fc erp߁a imgindex0173Imh"/n/\?>quote؈=: 64-by=[fro?'Olj'''/g?3:ll+sF¿invoc򛋶iagram@%sntixn8bas*hxúYdepic/muniough߹Ѿ2﹮diш)Xccurs⧘opulppefin( ss$m9issu(pfic @ucqmmexterais0׎Inrast,e,modeȬreeܸwc 39appropraHroXnxtc迠inп<#spibility9*riyҔ@pleդ$Ə@)x\.o(s pexe9iaКOnoCdwwsgh4Dzؠ`>3.1.2Ĺ@uplIEk0IIh4WOGgOOLAloD žɘ@l̗supporPelayؓ4G.nlikooo/-onotiula{cit,xrÁvi"eckoc蛺typ{*chqjŝ.Ӏ lway Ѧޣ,`iopurpoh1oprqs 27gum ဆonehalffheserHread. Figure 3llustrates differencetween ditionalynchronous`stemalls,ndurroedplit/llodel.

3.2mplementa lexSCOPi excepq-les/echanisms0h (!ibleӋC)wastotyppanhtenstoLinuxernPwo(Xa>new0ddPÃartik, fsc_regirtask_struct

Despitpawning8ltiponectiveapplcopany(noi(iimefystem donotlock,XworkэbyȌבa,hZremai(sleepX-queuXWR)swev@son,mmediHbeepu0o,lexSCifiȆ,cwakup7yrtnextgll.̅@rQȖPourcomereXcurreLinuxd0ai z(Ђ8`s )#umit]t0)sQlї囂K:<7777777773AHreviousPdescribeQXYyxɥhWKcondpϟ1a5HowRܜ aIbsϪZ1ϒqi .ovoiacheli@t1'gamong`R,/,beginf8som`tqs uPl submit!chabeissued.incndap؇D&ndu8olIndepe(i@LJdiff𭐘h2FJ0"leftsiz+1"4Libfsc1:synchron𻉧DlibraryxviH(Soop~gram"@m(gi8rw(rest8alP{backun؈(wvoY9ppondk˜ hʊ׭׭׭׭׭׭׭׭א| @dgGw`py"O24]nbetw9spwo ia >`itp@velssuѵ(availability)input outPoXatpѸlprQSy|X{XM估uaraX#PcX.ƹexa0etyʖqata)䄬'оPnRstȢpm˯t`ag.ף,5o؍b/Laevi0ۦ thPmodelcloЃk ` I/O 2like(0nludpumbersome(gic1reLaf ___g8crypr Figu4:ŖÜnork v(usٲ@owCں((H_ǑƷ0SCoaignalrnterruptasedompletionotificai.Àπρ0isechanism悠theernelo;y(usereadatpreviously@suasynchronequestased.tofteyme0roughohrpcall?.ԅ main ashFlexSCoesɂfpwwCnd$s `aiЈ(same ocess`permancbȆ9ystem :irec肘inl'polludueswitchingetwe܄exec.

ToverА lacks,3ibfscv@loop`HBpagesurrn 'oinimizejhpCъ9lb$Ponwh 2Npexbdlers8veG.iwork (e.g.,`ynna),should@pf҈pnce\enewW2f⇂؛q_wait()4.1xaY Figure 4;gramgiid¢whicЁdrby lЯ thHe0fix(ht|U􈃳excep9-l;i(ac,o,Pnd,lose].מ1draryHct)wl,(co spoinvokePveAunexhtڌe.urnPlowwР2[ fHoworder:1), (2)_[(3)ata_(4)_edԡ<5t~AsPnQ){ptodpneorX @nblock߶߶۝߶">It0H1Bpay08@lHstF8T3gGfunۈAshqw(]isoƼ h8dmarȹn(eaQpipexu9nOaddiKɧrdAiciency|)choimulti˸W()֣gle)!ʹ qcX}ϻȥ out!orstArd@traK nt-b%syusducumbPm`Pche?Filpmುpe虸{ٞЮ)mer[ߙok̿̍S Ģ񰲨뤡do񆏮ط`fulױǠm޻jNڭ<{turnR^Bראh3zܩleftǨ>4.2ancellsuppH_ac1edFiguX4).orolypCapplmucancel`nd?odpas

XlsHFlexSC,0ntroduc(htatusaluofielda ry (׋660632Wath2,5kernel,heck submitwork"ywsogBix1ȏin-grAQRfird_Cexecuj㗻2corpon(xŒ00hasiHoXishHsi`chYeZaapׇˡH? .σ 4ieagnaСĘ@`ri(׈Lrrupxton@CLinuxփdelsur?:?x/P=0tex*asleepmr/O>wakuptreturnWEINTRandXrkcXdone4?fبichӜr-m@c;dzГDŽםզyreDaasynchronoȸ.DW{qguarau!Twind!tw)"odᒜSXAaysufilotϖ8e(*ssfullyØ+disambxdbהؤbehaviogA/ppor fк׳byпȢUNIXdsaio_z)8crpa imcex0176 `Image"/n羏blockquo'abl:ӘcsgarBӠ8sizqRȘی◟libflexsc,Bli薒!numbs&h2Lj/8left%I="+1"wqa.׆Hociissuˤ~pathQinvolhd(whicorrespo|h jdurnIlE3oOGW>5.1W -orybjä 38iveight="1em"> Memcachedsistributmemorybject 1ingystem,uiltၨnn-lkey-valuetore12].ttypicallysXtozeesultsromlower vicesuch databasandeberscurrentby alopularit1way!improvePperformance:sxabilitfi<.esYion 1.4.5 xxur0rt.lib
makڈnon-blockexecutaavail nodern at'hrnel8FHthreason,iexcep-lesKٓ(hrough xflexscBsPtTwo883117 >T*s)numblincat@ifiedcV,majorOhangdonesy <>(.c)5.2ginx8bӭN귩n-sXHTTP/rsibe-wJ-t;鳷ԓReXdeployЃH30801 >26$msxcyYnvyuaasyncnouR.ninux,+llxq;Jm0.98dhlopfё񹿹D$havhmHr߯ܩ ith[ʹۻAmvolvevhxdᲧd (״״״):ainuⷩhXB'PYXsZgpػ(about 10x) istmpogic////////,sub(tutOcouldtikH8PhliArequeoԟqUظf`sc#W Joci@џ!criptș+ p(su0x,ad[wrp\)strawar :l1y1grammHepaYagС|A.owrׇϗprP(e.g.,|a,᢬kgetts.nee2 .nc8w#spl螱ݖwqinwo llowǪexecuC?ls`ewsetkop>closrcy2'1Нya2backϯ舨hididji axwfaĬ Fin)(wuoareturAvalue,lsolaPupae0o ldatQruc8dens[t cmanp`ewc mentrev@edheseftackllocadataructuresorxception-lessystemとs (e.g.,ogramsypiy t

6xpmalvalua1,Z+fsc"gggϗώϗϗϜ17sՎ-run YnPteleha (Co8i7)cHcharaXric)Table 3;hP4h,嗀hy-thread#A)hTurboBoosteai,jouhmqianalyz3?Abtad#8crp+Fh/0nvolvbox,quesgenebmclin˻tIough1bpseHrk,6.1ͻ h3ߔߺߝߺߺ߬ loadB¿w i>slapenchmarkHat)xtribx]libWrary Fm hncbMgetksoPrr om@keyXdatab_ч1issue 10%(79Äoo&basels (Slld),/if2numberCϸ*yyiel9Ə|a8. Q3cep-l ٢x ὠSenŀkernel:keepusy''O''ail s=0893972 >Fj 5how$putromecutUىs 1, 2J4jvariOcurr*UJ11024 #RFlexSCmplosystemQbatgpxmulHGtddiZdynamXbllع (maximizLlo@itO(sȈéJ64 m 3rentequests,emcachedrogrammXtoibflexscutperformsheersionsinginux epoll

ToettundHtanxsourceilanxm,eHllectpse@alwmetricsIcesso`Zhardwarȃunxs. Figu6how3effHbexecutiwithƎSCxhp`a>vic768ncurrQslapnЏȄXT8mosmpor Aᑸs񏈑Ycyclȑnstru (CPI)5r 1kernelde pbdi8BsetupipummarizlencyJlow0у,mt)oXral@nldmisses\w+J8FcPerp\0_3blockquote'm"5:ompxspMt0__򗳘g)1, 24_!///////cb@գYr,2ygdSC.n ,-qdecrea(29Vobe52%h皱data1Ӱ>/comfromgniXred|pʬ@nsiti Lxz4zn 8t (labeHsd-ꯁxiaȧ빠draPcĸXznsattradonsypmallِead8(occupy嚠Rmakڻit.ױ, (`fogentȹ`yereqtyn@ibu2{omѝɪex@i˗nwxab8nVyIx`3Tiwaypominlyɓyst)qces1xh3߯leftx>6.2ginxh3WwoQ|ecexcepY-lн׾9Ʌ*Hb woorkloads:pBenxa dX9ershtt.ƤЫڂzsulЫ#2obtXhotxafux9XlmHuldZkeeṕ쭹Ptlckxlws (GG)confʄ0pspawɽ\QdwhixautomaУY@0p`ea6􃛞uf(oClbusy(4ߚ////).1choi4gowwwwwtWPTTP^1cXe[@-WοternumbPFisexevarycurr˰󻟻6as=0899519 >F 7H+xput̟OXen>g_Z#؞ᾡsu)7otM\,batg providesignificanterformancemements:po 70%ith 256oncurrequests.nhe 2rexecution,eeeatlexSC aasistatc16r킁li,chieving$12(higherXroughput,how1addedenefitfynamicspecializa.

Bes+ggregat!lncy!inidualnYort metr8whenvaluЎeqwebhrverFigu8 smes슁yӏOonnec`Phichуxaseu llB0"left>6.2.2ttTi>i>TTPorkloadpratXwbuil8re(csСtool r' [927886 >19]zparular, hsupcsessog Ymlhallpensy0m (tras1p8eBXh Oi>closedm)߅310627Fthsd"ӈЬQnumbP xa>wɠ,PnЮrri Pe. GХ de@min+HɃ xsfyHcoh/="8cerIp:GWodifihttA ( uP҈IxA, 0.9.0)ordp88h 8larg׺׷Ϩ Inxri^`н0{xsymЪ8ultip`XOn,QJ1024ڛeuuff0AHfulЪr. ȋii),ow!sepHthousَ߲tha[Hourжtatiimip2U˳ia

Fig9howthroughput1xxecutA12remeasdX`gabisnd,bwhenary|(thtt`f.othraphsҍxrv anatisfyupaerQ(lue.ft؂׏@relxvelytabl@@pnt.oٕPq(se,76Linux @ll

7iscuss:c ngNumberConcur@tystemalls`xi>,Uskpeldoform e@(ZS!sX tupd8pIkryoddo1grow)saxproporzatalw]":hqnp,rmzAon,c(se.rreexlJ`a(rX:0њsl@d(clqxult ǛnnecinfQ{dc ɍ $pagYn6cInusD0uldeij ishdss @:H omـ lsxa)Ppgo_I'cY ȮyMwJpoti2e"-mmunVbutavoi8(acrogOOOOAHabilitytXpsidض߮ma //)Despih(moPfoot챻0ch5p@ñ(coyJnnegib(hunkthousP(ڶἧOodž(8u0:epoll8Ҋ(iW8.1peratingystemupporhor/Ooncurrency
Overheears,Yreaveeenumerousroposalsndtudiesxploross߆c.ueop(straintwellrieflyescribeeviQworkatsirect@relatedthȅ.&p!Perhaps2mosnfluentialkinareaSchedulActiv;@addressaissof9emp"u-modXhdsAturntrolexecu1aUя@gh,p!alockyevCeernel2]njnjÖϖϖόϛElmeleegytH.lazysynchoron,l`libraryCH($"-dri`ygrammaOM4716 >11SAIOiAEclsemblours.owؓ,calAHȚ`exceon-baXt`hxl0Sinmakx!ifdi9et8ڔinucllowġQe_.ec0lŷx0mmunity qechanisimilao˫implemnIՊؖ3509 >8_wggOg//>Banga}amofirȪuȡgenpclnoic4Tr=spx Cг1kqueueHterAva BSD*s6644064Whha6do1ncu Кc@n$pt( (e`icitneedheachypB.n󊘂9s$(withou2peca yGr~ggWWWWWWS`HpdiffeYeetwemany5s``۫ԴפFlexSC[Hќo0tYdecounvoD8.2̊EHM)sbyhakrabt0.,similaroheulticorexecutionflexSC9].heyntroducedrocessorodificasiallowhardwamigr threads,ndvaluat!effects ؁ngAspecialize Qshenynte`Hkernelir1ul-basЁPh0anm`vemup20%)Apache; Xever,\xplicitlyoot!elLBside"fast?etwe؆2.πPurr,ynchronouquiasɍXer/zrupt.

Recly,othÓyFact dpeSystem (fos)ve!xhded hbVsSfuncHtyז32708 >31, π30752י1twoain fnV&sibleHHHsals.irst4(micro-Ksewu4ordo \Tωɡ̟LSecond,cdynadapqr-kuby/l,Tsh8r~,Hpend苒worklobeiorGGGGGGGGGCE$f-фfelS72(ha lsostudixqma~82220w59p2]+rpb˔ile-ISA8ogeneyfsϰ7466 >18Whϖre`ensip-Ǥ8ywepeIfifmechanismatbbe.suchOZelde0_lix-smp rarq躢sp8-drer9yiA0mm빰safdlnܷxgn711`3l(Lgb#1o9i 臺5I/OqiipUNIXxbu8oul90t`wcepbloh8ad h3¸$0'"left>8.3CatchP6,IHaxcular,j9mi9궹estPA-Hht-wrPz)g`>:^dcaȨo!zɦp`reh髰i̸縷">Aɐ_xٳZ-wh9Z8rؔ5*arxrtuz@hy0viһI/addhhmosbassyopia9aparghd rewr`bcoll Xyded)submitRm+Ҽ/03525,Ahbni࿱Ny؟_Zjunc",8ao V syon-automygumnHخlamwlBt0ADz9XVMwQ'suppor0+alOlfeat91ٌӹ19359oook2oooojs@="+1"ace="serif">9oncludingemarks exce-lessystem lHi>။principalerdmit@efficilyupporI/Ocurrencyenxecu.eQcris(radvantag1tradon4??:oX̒qiles, : (1)/Pn)invokedxynchronously,"thateiЇkptor-based, (2)inkernel nintrus)codehany]requireach_ll3)c /IeswitchmosYavoidwhxissuyu + ,2(4)n@Amulticoۚnygrams easier,j gPr-o extgen9suumbhestoep󜰉s/isusy8th喧p|1d.libflexsc1)ߍ G8Ёrary[makour̦xǙA,jFxSCshow !6EȖtgZyؤtwo>WVYwrl:emcIginx[OOOײOOoTivalu^demt*0˯pO߆ަB*rhۡyg.peclIwb"ϋ_³HrTthughputup35%#ʶ120%Ɔ*ocd@ifromqDŽmdժgȠ//Oh2ޟҠ495leftsiz+1"oi10cknowgkGARWAL
[4]ANGAProceedingsfhInualonferencenSETniÁ6 (Berkeley,A,(1999)association,p.19.O7A0NEUGEBAUW,ғ(PTTI>ׇVFIEL߃Henڐrt)virtiz2WWT19thCMymposiumYOperngstemsrinciples (SOSP)c2003ȑ*64177??OOOOOOOOOOJ6OERSHAXΟpADNDON_T.ŠpLEZOWSK_Ġ>EVYH..դH-llnterpsshmmu*sharedmo ultilors.ٍTranpComput.. 9[May1175(877GGGGGGGGGGB7GHHACHARYڙWW׮ULAVARTo:WVRGAWAsynchronous/Ouppoxininux 2.5Ottawa\v?<371386wߪwϸ8ROW/ڈ߈s l((OLS78185w 9]ÔKRABOtELLM?W>ӱUHIG Sprea:mployYHardwigtoXe`PeMPhrOn-h-fly߯߯2Inbal(nference1ArchitecturS|ѲHmmLanguagȴ!ױ(ASPLO0628329210]ļUSCHELP>ANGLazyeceiver d(LRP):etworkxbaeKerӛwu2USENIXesȍIemen(OSDI؍n6127'l1]žLMELEEGND>OXA>ڿDWAENEPO8La'#9Xnt-drn\ϲGEannuXc_Technie@TEC451#2]ƿITZPATRICKB.istributedaPwiMemced.QJou0l)3]ǰMMOECHTT HUKL PRIAG7D arQIevaluSepoll,0l`,:hanisϿwr68̿um522qဆuote>

[14]ROHN2007SENIXnnualechnicPConferencenroceedingsfheρρρ (Berkeley,A,x()association,p. 7:1 4.ЁnKEwUs`(hort-SchedultonhaServererform͌wvac(ATEC)S21031ߙߙߙߙߙߙߙߙߙߙߙߙ6EMOߌQUEUE:enc(dableo8qilityGFRETrack:Q1WWWWWT141153Oo7]ͥEGUL8CWW>¦RGA.Ԣ`EffectѣtextwitpnaGG4thternOLArchithurxSupp grammLanguagOperSystemsSPLOS199)58ǥdz8fUDIGONDAɍINKERTwNpRGANATHAwе>Զ=LWA֨asymmet)le-ISAMPssavgyos.IEEEicro 289, 3826419OSBERG,Ŀ>ʌֿT.ttf ToolMeasurWebSIGMETRICS.val.ev.ؾDecemb؊3137z20]αmLLANALASUBRAIྯORUNVoE.Sxecuzmulti-cores:put-sourcwhwhile?OPSr.R43291041051S>?,ˣooߍߍߍmprovg MCial iOff-loaFunزyitySixhWork-shorpQ2aetweenWVCompuure (WIOSCA$2010$1320''''''''''''k2]пISDSCHE//)Z|WAENEPO,.lash:fficieнQiablȧ(ucee0faconfereUSENIXTechnicC6Berky,A,(hssocion51dzdzdzdzdzdzdzdzdzdzdzdzǩ,3ARIAG'hECH߳(,ȁJ>UHJ HUKLA߁CuERITOp ayf" ᚷes.ဆn Proceedingsfhe 2nduropeanonferenceqmputerystems (Isys) (2007),p. 231243. [24]ROVOSGGGQLinuxournal8)7777777777777737]HROEDEROBW-ERM, ARCHOL-BMLTJ(n֊uslosed:0u9ale/743rd/NetworkxDes &mplem+-olum(Beley,A,S(P6PNSDI'06ENIXssociZ/////////////,8OARE/̣TUMMFlexsc:BibleܣllchedulYwiExce on-Less_llslSymposiuȢQ*(O1033469]M}hareirtualachinetpec ߻߻vmwp./pdf/vmi_ss.pOOOf30]ELSHCULLp> REW,.vEDAŤnrtectull-Condiedcala9netice18ACM?sHinciXSOSP12302431ENTZLAFFA$GARWAactorX(fos):ԾCaAaǣGLAMulti-c@@SIGOPSpp.i. 497685;2?ICKIZ. mHEȚ7ϿRMOWYxKASHOEK?F>ORRI?PMSTEREV'A EI]UDIoZEANG??>oo.Ópy*oNsmany ??:1߷߷߷߷߷߷ߟ8)3]ELDOVIC?έ8YPB///>AZIREnAဆSHOEK,.ultiprocessorupport`event-dri@ grams.n Pedingsfhe 2003SENIXnnualechnicPConference (#) (Jun). :tReable,Ӈ0SXcur`tashԁ siaelativistic m h11 iߗߗߐOOgggOOOזPaulŠcKenneO+IBMinuxologyÝr?ߡߡߚOOwggOOOOא?:pmck@l.vnet.ibm.co 㐏gggננצנננק^JonathanalpoleWWWǪdz߰߰ߴDZOw+@cs.pdx.edu">___϶2װװ׷Abstrach2\4"jufyO>WeresalgorithmsorhrinkX Qexpr!t)hi0allowQcN,ait-frePhearlyookups.h  sad-CopypdY(RCU)eso nt stant-timer@mancHheumberf rigrows,reclaimemorydecreasewxoutlayYdisruptɁ8d. 0l"pula uctur0 rPtivicO0i>.ּooo]ooBenchmarks__Pikernelpxt܏\iluXy2improv125x PrL-w56%#b's ȥ1Xart.p+1ɫ@od/߶Ƕ">HHfxa8ic"ȶhsyste0y 8zt,xcluڳᥨagimeorccessesndodifications3, 3965 >10].ashablusednoncurrentppl^requireosortfynchronizoaint `ternalsistency.ƂAlyd?illec1nottleneckXnshisscaqJny reads proiors.

Exingt_xprimariPmake mutuexclus(,thZmlo .heroac`oot ,ueqpȌYtho0Al tivempleme,non-biransac,uttechnixteexpeOper#,Çleell.unn!8-†ϙ(addiؐ vidipH[incX qance??;///////Onlu ҝO(sR(-Copypdate (RCU)6618589064582ܦPסm anism/gramwitherywPh)e(983ThuorXpaculartructursڥmo`trites;egoHluj(monP嗴2m?suchᬁmosQ-b48h@荼wlink:stsebucketݴsup)ت,Xmovallookup/OurHeviou@aroduc`alhmHbetwe@tang"key8798 >24'51 2,wevXZb8dZy路߶߶߶߶߶߶Unptuelyg^chaapjeiency:,dynamic sizgg/WWWWWWS`c:a_e@PvpnumbertMptoomawlѽ8lo`Zpoe ЂsummmrH,hardwa*jaH vaior/-1c𤰈@PanknOMadvH oxsui1 )figuݪylh9s'seemayMatuntimSѬ͉G*hWR߬߬߬߬߬߬߬߬߬R9 {iutuallus$l{ittA:mpac鴸Priloch*ҹ",٥neowrdz'!(uZ+tyqvYlXspabi0Iky huldexPksisynchroniziuRy-ۧ:mpYȎWLwhؒzSol:t(mouѡTxedacExyC(߷WPLinuxrnelXad ct0-H (d )?>6317 >17?704236121],uthislowsommon-c0ookupsyquirthemohemultipleanddincreЀignificantlyue.

AsurPimaryhntri`ion,eese(rst nooethoblock ɏapcurr.ecau_ c8nyimekeeprelativiHcePsYstaterllrneve0l[spousmisn hdueEperon.urraNvoidHpy`idual-cnodjadersmaint ȇMrefec {iesy htdڍ?0ossi.e !xq ynchroniziPѐwait--2>8olhich hs0fG)s-?b vTP?genXlXdubsutri@(appl℀safeyana@g (clamă-Q萈99Hxa`wtIgrammcdologyZ@ciOg(RP).ҜgenhI,`-X!aH׭vxxXrac4GGGGGGGGGCĨ9phraoo>!9"t+$disagrenrpynRhntwBaiin`'_YǢí7Zw;My:oX@Кym-`𘩗.ɬi@ epe(WljljljǼsu0aۥPertwo eа0epaGch8howṈϱbz?e8oxrans8alway'03s0nifHcostRÞilsiimH73upportÄB "gx趹XmeX*;complexole--?6ʻjexcellڤGC/////////+Se 2ra)algtho̗9ork. 3Wodܺк!װtechniqur4ocr)؅,cospondlookup5 crib鏱,Ж A;isn 6cuss|jbemarf*G@)club(@cro^dl-l/k7yyzulY8fuGϿΏOOkh2κһ407"left="+1"oi2W14].cKenney'sa8orkSleepable҆p-Copypd (SRCU)5675sthCUait-P-yoperatitoanagyerPhich n8ecamesi肔,ovid郱firstxamp(usOLnonclamÃ;HiservsAfunc2as,utitho@requir corresponW8eve0.hilipowardr rfinPappa@юre(itic0d-blackreegg3559 >9Z,oooɍ*hty1otandlanrprnqkfrombincX0!ses.@ꓯ*s(ng@0genǔregxlbVaHcouQhem隐ucture.pgrammbuildh7 .

ב0-ba1/)ypic ymutualXcl synch@izetweeirXQJona:Walpoϕn196 >8dnH ,mbinϓoftH`ransajh(STM),qtoקקҰon.ԞO@0sh-(c؞&,9 alsoow&l"ؔHpldubntirsihOIhash-thponlock@HgooPriattemqP2siz s`risHfix؂Linux땘el.i Piggin8DDDSǾ7742 >21suppor@煫e@2ssow lokupy wcheckHxcuЭqTa9Qhatdu҄Lⵠo@⒈newߒdo`Wiscu(:@seC5Perbertu emX9lti-ϭٿ,PC_tPHtدwelinkl@o itYppeaꈯdWi)aneousH91845ogejalo num ,{18effvenapshot;V煏 UdraHsusagceotptWVHutho2810 >7,02b048 >19߶؀ۣлФWehUnlike(algohm)꽈pensw˶pnsu@as"atomh2, pbarrirF,`XXret02failXMa(p(lihyNirӯОdocuer_Alu¨n-chKlԯ];^somgd.ao,r؟HesseaZ-fre'usj˿owvйPwB(help_t_^gMaelZementedock-freeashableasonomparendwap (CAS)19],hougheidotropPesizlgorithm.ichael'slookupsvomostxpensiveynchronizatioperRsnem( (wexcepf ad0rriers),utu@retryanyncurrX(dific.oupportafeemoreclam,seszardoirs417 >20 whvidwait-for-тimilaroatRCU;canducewulatencyKimRhigherZ8c1Ǐ2371 >6.

Re8ivicw9ningȏ-bucket in.l(dgesestoHYlineHaoffsmallS!betcbehaviorcopؘ;\alsoquie qu†,Hheyogr0fullehPmanhoverlodbe(epolog Iڛؓhtopork9 8ly.ed١! le)trvxom2Smaymakemxe{ޝDmQtombnes!perḤbu7777777773Cliff@ickcLsȦRavacw2;iY8҉X٩wbyeXorf]6nspec8ɱ(s@abossi0ultisX Qra`. (R𫤮,no'Ŵ'@Ї˂.)3 f-K>e90poPti*-Wn9xausal-*By𨟍.ɽɦHaȸ?קliDDDS,-ki/Ĭ4du"=wwwwwwwwwsOap qɚinclu0OrihalevNiryvit ospllHructuh(sqӟ inktSb[sļmedianoGE8186HR, ?=810 >7;ԠA?Xowadkȩ, rp=exl]a!eepun8lyוaorȗ޻"keзivarRfu lgohmsٻH4.3,*9iQre.Ӑeema0ZAɜǜgc`looku@Icwhȶ]modcĂ2U es; lbۗrcuQph-+4].orureal-worldenchmarksithheemcachedey-valuetoragengine (document(inection 6.2),esliburcuoupportmodifi.

3ead-CopypdateackgroundnoxpensivІ"oHZhatsoever:0stomiccomp--swap, arri.(typicallyhclittleɅXoh8 Hn dXpry-uf@xle-thmpleI;ur re,yvoid?:nemun`owwaitfreeexcell` abiywwϖϖϛmʖϖϖϖːpecu芎tlboex erCthuscanot(iobu0gresp(Oammelrtfromieihrmedi1ts via]aflictet.)ԪthodologiНpX-baaׄϜXpriiaddQ Rman!{/Scy.ӗmayptede>(anyՁzرsibou,cXo៰isDlǫǔǫǫǰ+Con9 -޷vantsbiɩ`L|.Ϝll `CPUrch0랩pڦؽضdregz(su8aXojs)aTseticJt𱀲Khehold¤JwS؝qovalue;؈linkJg9݄pport9ACanipuldir0Fxblex35in18mI cMȟinRunchabH@,xϹpublishitI.'.Jg0qu@Z,rHr2م wi8Ňϔռ( alsoEBilH󸸗*cagoptim8crotuPef p;tapos?(!9Hve.unfinished4tooete.hisarrierperatesnservatively:heurrentpǂmightotolfehcXpthathem,ndjelfa#ongHnHricneHsarynrX!runfficibatchev8lclam hЇanglecs4ve(manticllowumorejscalabIem,9cularٌeo(oxfwrt(--͍>ften"`sn(eyon;ecausePxqafXc@nehimmediX(assumsuބc),Qm8RCUPIlsorovidepsynchronous]lback.

How,Tsa zs ۉǕ;ci2;.ϊ@worklacgramTygenfeʞencej29O ii,sȒ}prI.҅??ibuildQI'seynefzpiunic,expep|iz,֡Iith!ilit8W`resh!pecippllA)OOthodology ma data-puctuinvari؝hash*whixiz!it;pcJ8iscussxfujdhlopɅ%Msupenarbitr??:h2 0"left+1"GA4o1H!TIsxhȺ ᛑea@alinkl 1who_k.numbZlwr,xragyphhblookup؉о,Pci9akeRllonew gYߖ7QnʕBoh闼 o҃y"atomsubtut_old)acF-tughppo1r; isclurrиUiRxҨ˿iSn1cosponds|ex)WvHowr!pemܧqvalimpleCZQ[ xRPDSkstard-/ :olli `u1">SnPhot'ӓ1cxΎpl tuR;li'2Y@d,odull&w3">L /8󘒄4r!؅,XmpaR1yɶD犮5">IScuмHtch|G@dppea(Lj;(H09.2

LookupsllravP`hashabconcurrlythG,ncluresizes.ovoidhsruPl,qqu8aPanrHioi0aode, hzPsena7thieaH*eachcha(mІtitho0mto ospobucket.opri gorhxensuOs exacgm@WeP psPintstPlowbephHr9Cdiffe luׅ8(isesydlwhiՊ#Xt*jsᔘell.ҟPwx鍺to@at=מ(alughomЕ_cc,Fndap).ɂϊ[ZT_Cweocopy wa8memoryϟϟϟϟϟϟϟϟϟFsIicity)viXc熈~˫IhangKnumbfbtegqtorsf0qa,oubllvgg$guaratw9s:irsXwhshrinku򡘟|LnewʠQriHfromltihLold;sed$gr[monBase3fQRP{Dratfos:ollialu1">A`cɎLml"28GtGD/o*QU#L<3Ief:ԳbeginnbxtOet;lh ;thrRy}Hqs4">SpW5">Pɹid6">Wai8r{.o*vBcYi7">Reclaim|/JConcurer鵨rxvȵbknti 8lgohmn@pCΥ?sYdropeeca 4.1fure8lpn).alexaȽk/+ Figu`1. i2expҦ'''largi/2)arȼcosp ׶y+_,ؤ' *8iH#_\upOappЬsam{t uc"irelydgbuthwuzihdgeoPsimprecisI߭GǧdzǾeo8er.ookupyor`rȴ7fy{no`enefromyddia fficihylrteXunc׭׫ֻ߫ݛ*noʨ0߻ldable (eachfhiHcontainstemsromultip`bucketsqtheew+): 6.1dvanceolddointernrorimesntil8aod atoesn'tashozsamsprevious.allǀ.

2inIubseque8ӆ[,1NULLf`exists____oooooo3Ӎ'ex:,ypassinghswٔc׌׌׌/lilialu7">Wafders.ΖplHseschangmHnis Q,yoimis6durN*.7="8cHerAp2a Figu1:hkAalativict. (a)Ԣ(initiaptawoUp9oddumba@even.hԚpicability Z,bblack(bCresizHo-dlappropri.ĤedS@ly)wrr-vmey,tqy(c71 bȭÜXx{Ү,imHcisGray sbotQzdypubli(e)fwXw(f)"canh;If`yoccurred/*repeZstep 6hRrloop@ndoAyleav(idiffer)@8Beipp=)в Qmos;u׉livex9">Reclaimg}/ol770A7773q1R7unPper:sconh6Wourav couxfowpd8dآmayrrxoussksoمiIw__[OOOwOOOFexampxpansYalgo0hm@X4.1Ⱦ08gɥR+xh3GERCU-basئsynchD5\ku`viaHarCUed-papprod.ulti!777P1 xXu -NtuXexclonHpihyS8`XcribPmworkloarGas 90%, 9%ǽI1%Fۣ1012810 >7a], \@mpfameHȍsq9騑mYngrȿ([7s Йare--swapWV2 >,߇E8182Hwhi0wIypotiHdap(ortpmance.)showi,htroduc`alperationhatodifiespeashable,ndusequireynchronizwithnserqsremovals.eitiallyidertufficiento(mize formanceegrad+vers(aon-resWPpacularXnocurr9eunning.

Dur@iodfiznewucketpublishtourDrslockPlp8es,husaJ-J-ea-writ0(w) vXaca{ )ryJx-#s7].ɔѓximplestasxntinuXoulrcoI0;owewwrpotx咘if@arefuh8#mediPtproducedy_r.Ɖa'tgߛthisay9v9cessarXovoidxidelays x__[OO8ceripZ aH aux'marТta0*.f΄sCa߼PgtShev(f،k8(0 CiI&xnodGұ3l requencCsus8okup:#b /ɔ8iYac᫊hÇ!ddoysJGNh3Ǻ0"left>4.2a8:Һ Pl`Ph3Leight="1em"> Therecedingescriptionsfresize`gorithmsssumednut-of-plT:locatewable,ov1lnoX,claimBold[.owever,iven8memoryorhichexi(wنpm,eadapttoin .hisawoimasidffects:wernotouonmmainPvY8ilublished,xbucketsharjwiitiz0samealues.<Ƒq~|oHrinkhX=דviou遣%avoidisruunfaders:olliȗsm(8Xns afixcurreЖTߌۑ(thatalyoi3fir㚙 appearCosxli2">Asefor9nZ̑} rieÐ;ߜc 3aa>Waihht.👌see+wd4">S`ə[\p,ޤ5"DŽNohax0ecٙs}beyocomm6'sum/' exp''#maksimil𧊨ʠՂ2sb0dbng@--t݌ត2quiuxilixagqua।@ogeU ly!A)4t7am{f0qWW׼h3Ʃ׼left>4.3arib:eepBSorHFur٪м2lȦmay(ЎDusyBoŠXHufaillookup+Nd@xvidicqȘ4,ry!Ѐ`ccepHsq ;uUBi1onQ%-{1mo Bl)CheckduZ(uper0penaltyэڟointohiXool*acostO߼߼߼߼߼O@-al9 ka paԷriڧ.ie vrelvpAeҺ[subatmq}qhko,syяpingȨ.+yrt'ψrtHd,XدPll-chosSLBkكwwaergtep.rihalevNiryvin!Ӳmechanism䁘B-꣉istpos[22, 7]:heyroeortingyit-reversedey.lternatively,+ucketelectionouldx!high-orderysfash

Weootursuisari(hfurrnpaper,tconsiitotentiallduvevenfortureveg2///+h2ކD0G"left-siz(+1"y5omp@sthχRAlgorxms21].҈u9gen(cnjafؑ#noIbetweey?, nstarn(rea0񛃯ȎsyŝPulaɐ󹰪;CU-tWRr)G(acd"m)K9usAhnolog1yPron!mTpdehBAs`fin@8 ainuxὋllsequyur ۀgif@rs. 專oyAbeH`)fpeȧy;o`ȰaQzghкp0priqٻoryr `lx@𭩒HPdo8c en;U¼XeWexpjhDrcompt4rihcW However,heDDSookupncursorehead(anelativisticashables,ueoZadditionalone AsearyӃ#expensive@meyarrier quenceuntaneotentiretsith1rsize.huwcφςoutperform3significantlyheunningggslighyn‚߄.

Forl-worldhhmarkzchosecachedey-valstorag@ngineeusedIqneppls-$a.̓Eڍgassoci,؂(~upporthkrotocol hPttgdgpairsdsotimiPof 8aevicǗlimitaximumusTdefauloimakexglob@lockpInrulaɗXng(7kuardllccess+!.pGd's|hIrcalability,Pyxich `wi notbr sregXsavai our؛gggggggggci xvariou8lox9𥐧0h;SXBizz.rPnon-RCUߩ(@8AvflexineA_________[Wemplem 8wP-baoj𥷰mod0tfasa0AGET.Gw o+gtthavoidpydata[@kot;\B(mi8?tli:onKHʩynRt-draPraЯxQstrainth7mqfe͚(=' hol?f8temfromrALlookuppxXewritHa쉛"ɒstٯHzAGC8мHHRPder;i:ow”eraA|l-j9mechanismt`ly. т9Ptri(otirrdiwĕ ytb#f8s?釀Jcg////////othVwdHngHI__b1g˥ _hsh: `o:bҷ cȻxSiѻ@addyait-hinSHdl,rbecomar(yerH׺A73qgbexv(deoffccepAexsakah20"left="+1"WQ6¨(hkedology6.1icrob=:cuhCey3ETmpaٴ0P ǑJoulgohm>aln`veȫIznesframewo8ه -d_. ({FKaL(x؃loduAwwʫׁalycludha7¼qRCU,cprY @kli.urmzg ywithpecificseasesfheinuxernelnind,uchsdirectorynt0cache.hisade?=andealevelopmȀdenchmarkingpviron.

TXrcuhashb -resizeccepIfoXconfigurpas:77/"ulHlinx=toesAnitialnatx8`awerwocumb)ioppear:?raadruWhexʤȞ|/OOOOOO///>Ha)b@tIaebucketd@wttategpvalupfrom 0jbound.ti")op hi`ord9t -Ylڏvoi+ne8sy ȧ2 0l𮯴狻opxll!m i8pesulviaڿmessageff__WOOOOOONgbchoose88anX\IpatPaa>뎺X8miss.ӹ`Es@lyf^should0񞟷qanyindi:failurٷ'''''''''֠dzhousc_?CߣbbackAidonecriflectm8uzpatߺиy`mo0icey佨nstЍaЩ0]upHIrXH,ga48tohysȟequ1, ua8rklooweas!g"AWzsi)QװC)rbemarkonaok,hPsP.urmorwaerme)e}cy۸ab8XWGGGGGGGGGGzB(paausٶ216

Ourestystemawontel WmereeonProcessorst 2.4GHz,*whiH)6Xrdwareohlogical reaforotЈ24-support(henceth8ferros CPUs).ob vexability,anb8wiX1, 2, 4, 8{16ncuqe`Houtdditionize4.xhlase+fewщƇ,usinimizingnepasroughschedulpllowfree asoakpynremovableSackgpnoise. (Weoowexpecttermaayh8mewl`linearly enI12mat(umby.)ϘϘϘϘϘϘϘϘϘAxHocZd @ainux6.37ernel0argetx86-64rchiturXPusdefa 1figura (makpđ:ipqRCUmplem`BnonvoluryeempǢǢǢh3vz0"leftǢ>6.2eal-World›us:emced @9,0simulаpisgxuꏦf dri@cketndಡo0ů`ri)Y蒴on@G~Xu(i4^d:inc8put변4~iAavai`prؽ/DŽesqigtbqu!Mrom 1T7oR@whpa|aȩs+collsѹchSթaGacripM`OI.or;ȢK@rWHwafti0z{s numbfپ/20@)DrHampq(/has1firETʼinp8an((qG$spy) l8൒@%÷ctlyk;'Ðc<52DvalookhࡉobRAamoʅԬ//h2ޫҬ495leftsx="+1"oi7°vRsFigu3Ajhiison.`8i98urHivꙩxn 0RP+DDDSma8yBetveضno鞽⺰iyyѠ77t3Ʌ ?1'j~pullh(shx.ader-writerockingoesotcaletll.nhisestase,eeade' evxgetscquiredor A,eto@hffsxonrniny|arelism.

WPb`veexpectdeviafrominearowth16s,kelyu(ossalimit12ardwareoresXticular,ic1permanthpppBroximat50%؂8,hichgrewigincssfulutilizɆark8OOK???????Figu4mؗookups1econ;ou@mplemaDDDScurr@siz(yrwrfR,ecau wouldanisain蚹horizalxis;CPUprelvic ha tablvide5im .)׏yarunnBQest葁ilqIa;numbm Ѥцs 56<.ub-?ۏ( wc8NcXerpdi

Finally, how1eamemparisonorrwlock-basedmplemation.ithrunning,ρ͈Tuffgreat!fXnitiywordersfa@tudeHrslȋerndtruggRbackpQononekgadown 16-k`rk35778esulHHourench1nemcachha>Notedefangi8hiexpeYariminETcalabilitfail@or@ )requocesabeyox.ԙRPL(ount nochty˛لgristHiP+jRymfull 12liesʀP`Ki 46%op"Xse@Rn_^''''8cerAp20߁7.1‹Sumy`h3Ǯ_׮_?__\Orelvihcҵ) +iid@Pejlʬiicro֠Ⱥ`l-lհo؁ɻ@cGBhrpas DDDSa en`56%S16;/ dwarf -wڅᶨja 125x鳱O.ura,jTalghminim"Xactɦtyh߹թmpougcoris@fixed-gkÎ_/#el@n Qr8`hҡبϞگY`s@ic=`ЭǶ#4 2߁ߣxatu68aullh,5Ȁbƾ߾߾۟gрht="8"lign="center">

Figure 8:ETndӀ@operations Pecobyumbofc-benchmarkrocessesorheefaultemcachedtorngineZourP-bas.Ł77simulat4lisoatueCPU.4_;Oh@poihash-tableXqgorithmsmtfusewait- -readIM orupd).ׂ#thisorelyseoryarrier,utmeaxflushingxiHkromHucwheЙ8rurr` icoulhrwica#emje@. XvYcIgramm_︃ߺ?ORcOۊӔzaol,cadQsorזǖwalsol ols:oma8o8Xroughөbs$Djpoint.ɔќ''dtarPdgn:andvancZ߆V ixheiwzneeYସXpا璏//׽///Ե\xkݬ:GI:C? wпQptimay8rYee cضqa0dirPݢMs (je `ʴʟY)ʂopn__݂ojطǥis?ɔY&;u7 eew.owTgE7n`ϛ?pfaY@{g ( ½1locgf+upublץpimpmemobarr0'''''''''#LaؾO1]s a鷙algo8hm@suaֺetyg`1necessari expenssyncXnizi1*picula0Rincludeonon-commutty:multiإCaffprbp.ϣؐ(programme dologlo8gunoutggf,8ca ximumdoexecutetronglyon-commutativeperPons:eorderinghadn ricannotffecthesultsfz:.

Wriginalpdevel1mor(omplexash-tabl2izOn,hichpquirlookupsotrynsecondaxa ciSprimсӅiled;ispproamirrdXat%DDDSslowath.urorknRPethodology؍`atb`i ifiversnxearsrpa. plaose3ame/(|@g(thmsorddialattructuxtpevioussupporIbyCUwwwwwwwwwsAnmmedixa,//owgntwvar0oՒo24, 5103].ԑwill ngereopdn9req,limi jbxkxsthferences8madw)unsuؚɐْqbeinuxc7774h2L0O"left5)="+1"9vHabilityitTTIYAProc*yACMOPL'11 (2011)׌/???ߎל׎׎ױ׎2]ÎLICKC.̑H-FrXHPablhJavaOneq|E07GGG7/3GORMENT.*L=ISERSOQE0RuVESTRoo>әEI roducГGi,eco`MITк 1,ha epos=0934217 >Chapt@a>:esOǰǢquoteidth="1em">[4]ESNOYERSLow-Impactperatingystemracx.hDhesis, coleolytechniquë́0ral, 2009. ׎LPOLPerformancefemoryeclamon YsynchronizRJournalParelnd g 672 (7)Y701285GGGB7ERLIH_0ӢHAVIG΢ThertIMultiprocProgrammMorganaufnublisher0@8,h@ailepos=0001107785 >Chapter 13q:pncurrexHPQ NatuismWWWR8OWAR.bWAl`v`enhmtooftwareransؘȘ.n3rdSENIXorkshop 8Hotopicsx (ؘ2)XWWWWWWWWWWW9'____עװROcd-blackees.Թ!p. 1006ortlStaHUnivhity11codXaref="http://www.cs.pdx.edu/pdfs/tr???ONIMHcalabil踡tdit٪(cacheOttawainuxymxium[June2@ph289300WWWWWWWWWWWWWW;2]ͷ\C5ENNE߫EExploiDefeeu:nalysisRead-Copy-Upd11niqueOperSystemernelsPhDYX,GI0hoolaScie0Engine0!tregealthls04߷߷߷߷߷߷߷߷߷߷߷߷߷ߟ3RCUٿ)formdif(aCPU l.f.auAd(ide,ضPiaanuaa<4SmimplemxHHsynchronousarri.t16996812,ebr6ǾǾǾǾǾǾǾǾǾǾǾǾǾDz5CKggleepableHc.Weeklyew__//lwn.net/picles/202847/. `8/////)eight="0em"idth="1aalign="justify">[16]COttawainuxymposium (June 2002),p. 338367. ׁׁׁׁׁӵIוMLPOLEScalConcurrHTviael(vHPgramqYO8Review 4433 (Jul )??????????????;5]ط h12idth="0aalign="cPerhfontize="+1"acPserifPb>EvaluatEff ivenessfodel-BasedowCharac@izonxЃqh1LjLjp'_YCJohn.cCullough,uvrajgarwal,aideep)ndrashekar,athyanЀ0uppuswamy,lexSno,dajesh.uptaUCxniegoq IlabBerkeley߅߅ߗB2הGGG___Absty7h2__4vtjifyי/>AccurapcǗsmportaHinompuRplatms everPsonsangfrom-awa@adah⤁rvisX.WWtypicallybtainxthr)irirm0uremsablbyhysPu;m)bB dperQaYcous.ehow, (, ear-regr!hniquesqmonuي1liatorkellxtridtPThes(frentPexhibh ederrrώsuinسPsuchslti؇piddenevis`largeynamiconAWWW'UsarehensWrameext<`Ibphmarkwa(mQadvQsoblimXovr.urupi1deKf$شҶ aarietfOOhx8llengpornyr abi耂iumoHneyincQFnsump w"leftg>1 hroduW">ElXaciouesour8 igbPجϬϫh`helP0oatHʦHNH0؞efЩseek9o m0:c8fu1aenergyw@llsPrʰinidu2subsysteȣwlhdios27q],orч252530sor0214 >15y, 40698гش`751167457 >39שAhVgo`cЏhbechiоG଀tyim܁ib`*d(.iݑ{'𾰩anea drawnyqmly.͵ȽҖ8xaHPhiptwQ_ۺvɖڞbeX̿@E xwithojbuilt-fine-gra8d)rml8e[not@Q(exopPB3WhH(iciɡae1abl#BЕը5-0requtig dyna43(DPM)chhprijprstepȹdBpr(@howP.beeboxbyhelatformsholendlsoyndividualubsystems.rmedithreasonabcharacterizationfoweronsump,PDPM s9needsoccuratelyredictowngestilwillmputur{.orxamplecanuide(sourcllocdecis0setwe8heogeneouuncQyimilarnscsultiadios ؋sam'27].

Curreapproachx4iras]H por[itoakprchitec(P+-leveleoffTeevalupdabuildingHmod*EatscribPmtPȗttɃonemoobXvRHdwqsoftjcouns,h肄ЙrG홸d draw.reviwork1󇂇h@focustotuss)learnJechniquO 0g锷19071, 5053],siveautomata1695tocwels~4408x9{ffnxyeБԓyb)epe(ntacro varbenchmarks (seeG362 >1{rjview)gggggggggcHh,enaranyfiniȩri `etyZFhurȃвinc񝨮nuancðhipaJhnt'X13?lpt8yublish(I@dXxѶ,¨NJp9OZdomin]dynamX~Qarg0Qrror.þe !qwell-Xؿaalgore@oyǞtZsubomx(Xshutdownd/Qlows)鰫uϾxӽRE*ifȔ𶁟 BlǸ%T@xabwU,pnu@tXfeЇleta 8gembPse ipalog-to-digiX (ADC)0kmruZacHap覠i@grheRarporhaxmckࣘpprobopX`iiPkjwut)ݵW6144Xsmo*ole-g8purxu@supp׽0980 Whex2di7n臩vid錓itqu0КtʰcosPduoo1spS)neغrdd oPHYno8y)du}so.ͪp,ʅcross-9u'94953,70698 h/ܯbHʚdiiyl/ΦWWWWWWWWWRW@valuOerva3exrnesaMѻ8hindfulAYadّZcyzPpرgoalərow2%)PopX`d͚˭?b@lorkloadzolphribпP:0"> Wehowmpiricallyhathileotalystemoweraneodeledith 13%erelativerrorcrossorkloadPhe)sthttoinghcore,tises26%@multi- nchmarks.Taktoger1seIsAtrocHvasqinu)dynamicllH+usPata8Sraeswtcre0sHُzutur!cosqadvٗ0( xpenADCsacircui(̄5y8bleѫ0p>2ҫY015, 4069 >28],isk/.2525032wi yosσ37507Ҙm8*ar(cuIbaty+Ɋcpɩ5116v7457 >39|eomoଣKdram"SYg1pur9P|ػ/09593(1654ߌ472؈R]ggϫϫϫϫϫΫxe3 aumbȼhorh̚iumhthroug-um ure9sy!irleHhardwa?B. ϩ8mokoreerun ~hȜsuppelo.arr:Hei zre-(istPUcp0zqo0tH+(vimpleime-che '7658 >)LEAPO}61z]hoٳfp-gragoxʁ e ddQ`nʋ{requhoft/gthPQOSernelttribut@jaskC!rast,uo__80ia)*ob s@cHg0gu@ȧΙaſpq#:܉ds!ngTiny_ppl(˜ckg`raoffqPalyؓs K,HArtpecial-ŋ8miav.oreowJdet8ed,ro Pccur/he Pf HЄos1Bspe.@ncЫ0typiu,Py\Botiystem۳erif">Recentctivitynervernvironmssrivenyheb9ationatostomputsystemsreargeldle1]xhibitowtiliz3excepturingeakraffic6544 >3.ence,arrosondlzegue惰moPenergy-proporalesigns BCsedсYtye8߅77.h0que@,oal hasaarieofy-pow͋257 >2SomHppliczs,@HaveesPormoores0platߏm1047550 5Ɛfilineܭ Xh˖ʯ9کinades؇ultiple-inadrcʪvidhhag9%bsol3I򦀴pdti,oturҨ'nthroughopYҕw''imatuؘ0̺ bin[7252蕐ulject?190Ds0s-0fromLuX{ttri=sumprTcoa00iȈ5machs (VM)unr2physZiܼɮ3 exercizspec!Msт1KǾr DespiaumbpX d`ۭtpf?:.ƪ`examPGFkCtanevolt!Ȣkʻz`e2Ices@a@B`DVFSEROpeedup)7.3% @rרowsi'sfaalgorg7405 >6WaĀJ{e惈backtroei@joiJoma75Gdonge67937j,hPoliaonHȼ _[,BCfF443wwwrh2&*0"leftus="+1"Ǯ3Т㬘acdevelop
uringՈ)testpunawщxanzmod)̓8atroviine-gra8dmeasuycapabi0i`in`rd.

I,bsAdirec ws,JnXusalt ismak-elTbasic ahi'ltaapvariousoft%unspo1oediconsumpBafuittяُppriata'.eg0less,",achizbacher(u or}, dqf8tweenral.iscusb(wOOK?h3TYUleft??>3.1͖ pnultyWattsUP14, 105057 >31].ɤy0papч@xpl sp Wesp hHntigq1fpi,)_縷y.2c/////////aPa>OSinstruJt8pyZcypxa-to-digip (ADCs),beXsY͐6Zxxground-88w0i0rtaι?ow༡S8i(,#Falsomewh(۾Whfe*daer,Ws(510%rrIsP,Bd b(sϡϡϡϡϡϡɿи0 ׭1cheduҾ1ifferhogeneouro8seeزHl`sooЦA@Wwipdulingecisionsayencorrect.

Furthermore, Pequiredccuracysikelyoary tharticularubsystemsason1torschsirynamicangandc8ribut@AYtotal ower.Ӄ_thatreominainrlatfornemeasu$tspenaltyfis-phictIAhPWRcomplex,qprocessx,cments.nurestCPUIsumePetween 0.5WJ27W (tit@up40%aer)+-errts9bbsolu.nastQSDiskrive!SATAter,Ȕ8nork,lK(fe`n 23W)};reh(modectoled.ȓver,cs*a gnumby'llaasifiؕmph3>2left>3.3φhea(ity0fP nuȡ@ere@rӈ)sPuAswWҸ x|0ؚغ ps@acacA^ O߮arbiriSح$hn-am:iut0paper@lѦ8(Ѳ8oXx/QdeoffsGGC7777777FiLnsabilrobЦr?.pkey: shouhgenؿ9oac o8sa(.ׯb0UItu(v,`cwork0s8h9xifǜhePoy%bmuvj+agechlid @lexhiP1t_kp[8, 9495 >131107069 >3]`Psoreliminaryesults@latingohisspectndighl tesociatedhallengesithowerodelYinfacefxcreas)variability1hardware.

4Ѕ14 , 101907 >215053].uroalpap8onxst9whe (i)Iseͅ<p@monxporp@ ms (lexHsifitmanyolapproac8(ped)(i(kl4lixinXidusub㞋~.ԟ(t㎠or7hbecause, 0pkrpenergXnX,L sevldapt[donSlY̛y3,Qpf-gra  in9avail//%ꖉtiAcgga(ludIreca`ݢp*dishQ:poor(non-trțȦload*೫pulx:p $followkas: ul0li>yfeatufexkcross-depe ncypTŨfyP}ҋWublisho0ptR/)maphph,iaffeBr lao_>MrntPsuchQc0orabstracwaсu!do!eari`lJht4OS thpfam c1ccha񞯶71ocɱ u/ITsecihescriumbPزj fi data.զytunlYCzG kdox)alP"hѳccu(ediaZ/o:ryB.eg,??gitrucɳ8rҨԊh3 left>4.1̮=[y<`>1 ∊ߐߩoi!ermطI“Wtrroruȳ fsolve0mGparrβ8PtypicdXfsquolurcy.؜p>22;Bp>hiYuPGG</div> orimply x =rgminβljp>).1Њ;1?Thehallengenuildingoodowerodelsoor`t8id p0setf>nstlevaIeatures.nzplatformsonshred,arerexcess800iff(hardw!cou9hataeracked (eveqoughnaHw?;ultaneously).reviork@vercomh`problemysdomaknowledaboutxchitpqhan(ick_Z belidn[<@ilepos=0p099924 >14, 105057 >31].ׂމincreaplexitnrnI9o8rmakeِas!r0Xthacheneration.ors@dheQu8ὠPcritical/l,alsse hniquhperut`-Xlj Ytru"ʉob8|HQmoʊJspo81h8emutuin! 8918 piraiTaS`Xf†N te-of-H-arpgllfqno isanyjsbQearȢedߧߧۧϲoϮooo 8riefdesᨈregXs hexpl,soWWy77_Ǹ_ǴǴǴMANTIS:ťu ad0lopa(rfit|KfurncttilizobtЫfromG(syx̣mP!kso8)inpXetricÅ`runn numbÄ*iloadhoisenceooooooooomIXicularR۸W?oPUon,8f-0p`c1es,r@rnetI/OtexteAbc  ۶:&i忀yclhphxȂiߒast-in-clafull-ӱ7''!hټ8hae нȐeffocpd suitab0sachool 򸨎ȼpoiecaitsshowxo{@yooxredixpHti芀vious-7wQwS`8w9~Rtori@"ong(avP*8r܈ommunAvho mvo()piriȢtitu鱿geLo'n !xawbackrbuilba (S)8First,riidomHledؓ파xܼ6(Xsibsp)HseekTaumpّedhOeachii8`\ici)wҮHcrτ󇭥뱹爗)lud2,٠`) m`somewHep@Y. 8cu @Xplexoa"ߵ8'cpbe5non-vitask@n h8\0sPkT0evas6333rрession,hichspecificnstancef l1

or,imply = gminβ (||y - X||2ӕ0pc+!55;||||Xgb>).<1?Here,4#Vun+thacour`eOagvesetaluAoero (andcludeassoci dfromꙂ).om((ethodLn*dvantouPeIrelil o0domainnowled(PpickuaΉndiut8o qauttic҂sNithmumbera%1cr@quiremȉPa ableow"pti،#vglmnet18]ߣۣh3/Fleft>4.2on-lineȱO5[)w me196///'`WV7WS2i>laQ@ahb : 18804;9>d1}򀃂3.g, levaȰcludIqp׿`whimayxso(;A`owwg??oo?ol +ߏޙth s ht럊~B/ǎ}alXjeBXPA8u$uӚougQ()nackDpickuspar p.[p@BCoptim`λscbyv(dGWW>Suppor(oрn (SVR):elsoxperimentithupportectorachineM)-basedegression.tighevel, @sateyitting1yPplapdecioundaryo@setfabel@datanstancesakenromifferclasses.heЂiso ructaXoximizesepaetwe@two ,ndaIqЊformkificZ,O`func*estimtask.employtrickhleon-larity,IrurouxaOrernelXatp`Žer8alpacee phr7ny 鏸d@nmaH}ȉLxoDmethodsҁ!doPnot 1rse.huxPcorreld,etdiibuacrosm*"libsvm9]Y, ticularradi p 1er`equirpД"RBFEwop!llylhȚxvalitrainA

5ńu;XupQ^h2ggdp4OO"jufyePcol tRsubsystemopP"(ZyHI0lalpelladeaom(reoarsponpPcomxc@avaimobThXW8hich1LNehalrosHarHth(out魈ʥquad-Pe7-820QM?, 2x2GB1DDR3-1033@moaATASDrivPª92.6.37inuxIlpwu`HffȰThddurboBoosP+voidxddPt(tc0g poin0ntrqdhwɮIOS8s쵨Xv(x@8m)쵩titbext9p<и`8numbȸow-tolsp0X,d蘐ccuzcmeasvPousQonnracsi w!ȤX@I{IHvsۨ{IȑfiriСPiɞ/2fp8 sHߡSCMo 땒two 32-inpN3SB6218AQs.i诘xT18~crpFigAޗasa8orkloadswwGwG4yace="sf)6-bNI-v!Xcaerrx0.02%,RXs(뵄doltZؿZ 5`c0vs`hich؟trodua35%,#R@A.04%Hinz"YhBJͽIȸ<ph8zojght="4"idth="1em"lign="justify">Alongthhe (externally)ollectedowereadings,eS-leveltatiHchardwareesn erformancun@sromplattself (`implicitywillseJ0ms \:i1changeab.e raׅc/procC-JsidencywsuΊwwBL_ntuframework.

Fig2 saBzADChanٮ10Khz:per Dsumpsublse`ýur)S/tI8 *thc!㩡(0on-pX9ߓa-48nuityPdxRy7yno8ppreci yaicPfeوLasonmr@rfYi;iI1h鶩introsHngarXPwӆٺؼ#qit0an-tamk!Uh9sim 1ckpcj ogǓĸh3nr0"left>5.1enchmarks34]WP22E32exYreqcauнyzao yndbht morW:UdPhishFq( taixsle-thဇreadedenchmarks.oetoreepresentativeofshatoul1tterxerciseurulti-cYsystem,enclutheARSEC4]uite;isonsistsaangf؆emergingHrkloads,,e-duplicPonnd264ms.elso Bonnie

error逘heiscussion,efinedsollows:

where ol2oksub>iA31].neiofppartP__  symfPSUhpeapa9cc1fl ׋being"umed.瓗,1/Arunnaargumb8expؐIsros8arietyǝs2canXdu@dspthreakeawayhi+4extǟh3VjleftGG>6.1Ӌ`lXϰQ26%5`meyabout 48%#ffൈs.uoptrao!R߱؉zorXKA葛Щ8////ϿϾٽw+߼3߼ۂlǭblockqu?">Fe 3:Ϳ9cyϔϾ(-C`Mresuloads`?'ooooooooog/oool4oop'''% ''_G>Itx,ߨ߳Pbisl\becaQ~ mput imإHwwardsnger-nӵuwiȄH`0iӸܳ execubpficƷPpoor`wggg'gggcanneal,tressApp

FinRH;err8meXybãb iacrossariouɤ%.imila oPU`訌s!SVM-rbf,quipwe ⅫAlso@oìLJd77s[ahinta1p3a`\rHv A ( @)4L3-cache-mis1beփƮA/MsuldiscuPd fxe!expXed+ճ byshowoork3i Px[99924 >14q105057 >31i].rxevwithI7managemit(i7039 >J]oФIplat)8cPer p0a؀ 6??otaϋkMPi-cggf26gggggg 6.2 B9Th3_ooϽooolNextѷa`D,`resh ),eeehat(errorariesrasticallyyarpularenchmark.omesreredicteduite0ll (thoseeYleftfbgraph)ndXroaYoor(tobright).nterePngly,:ordermodelshangwithach/,.e.,r@notonsistenthbetnv0nti8se a0itnehaless6%,ut#alwaya.urntPionthxbehavipؐfindPoughli/polynomial/exp08alpacfits󐑎͐΅k ai0captucomplexaȋsym Hourc0accue{Xorkloads.

Fig7how+acro`ePUpwer.heulntrik.ƝKh91s(Sleep3].Ȩ(e,sYop\omur@idl(whirecenho/.Untu0#climbxb 80%ʈjÓ9uHS9)evalu1ЮdiXbtyɯܗAumpCfmicecebsolu0طtinstane+.stэ4ob#pplPؑbᖂloжmᲐa.ϗnalaut.hiKcuPim0manyᄊ-sidԄvKPcp`)un ׹urA𧙿H;e茨gIfluid(XuД magnitud`7ռmisĂ16WiijW!sI@t¹Ari𕢽sجia{ش?Y𫀒csɵsfidd.ɟD0ash+shн` d۾ (L2ؤpznel(qwe*Uottlenec8ȳXzѲhahnoptب@fea01eqdoH!makȾ@in.Ӌe胉e8AsxCPUAh e, l0qsep!lex`SSD(Hdriv駰oem trdegradC*AduWWB8>9erpT0WcFig 7:͉-accuracyby(M9-AMrel(Ш.1014%6, ȵ@ @150%Owry0geiwߌߌߌߌߍߌߌݏRߌߐWWWߐߌߌߌ8:п{ Sisk (left)neitechnology ()h3ODZ`>6.3ȭS`Dh3Might="1em">
Anmportaconcernhenodelingn8idualardwarePnentssther (,sinpu to,aptu(allelevaspecxof:'peration.hxdvesromtensetwe؃creas ilexity,ndidIstathoreslP(sisXtter9OS.Ʌψ҄or؂!timiz:sircuitryaff銐powhdrawpthoutaryaan'ou9kڋ@Qisxexpnhy,8]Zy^-via2SATAicha2lowut1 :#valuesuǟaumapئay0vA8do@DLdhIc`elf.Figٟ*҈di HщWh;akeaw*gE 2k.pecif_YcroXCBϢk*ɸXIrd 7%aP-phxi15%collectȳ(deaR974YclȼcaY0HScX}fldraw,/.Cckediau@PooٞOخZφin8qgreapb1s//wh2ޭҮ495leftsiz+1"ob؊7iscuss 7.1֋ם/)3ϻϡGign="justify">Powerodelingsasedponnnderlypresumptithat(errorharactPcsfꂺoot!ngevtimPrkinstanceplatform.ԃ9is,wㄨbeeneratPasne-pbyrainapecific,Pd%uItodicpcon^PHy orQ~withsa}rs.hilinvariÈanutur:artgiven,苰orPllyt舘signntaffeC<ߍߌ'mprosors.

13]9searqnmbedd@systemsmulti李aortex3Hcrontroɞrsleepgצ5x107069 >38alsom{\Ъ_flash!sAegwriteo{on7908 >772''''THvPWy sH𸘪abouSmoizPn@pbecaxýEɮpl`wHrosiM.թBouxureoweయbetweewo05-540M?pok88102 >Fig 9llH7׺/ԃo (-1Z2)un@cpuload

7.2mplicjsDPMAsiscussedreviously,jlevelf4cynd:granularity (i.e.,hichubsystemsreized)equirPdynamicmanages ongiiparticpomain.nomases,`ducingnergyɐ9possibleHthaarsinPA roximsumpeكoؑ˓9nyne0Hdegre(aodelchrXЄvideaa>Amis1w saveЉmpuhglatmbych3"doo mally.hxcoulddonehthreadsdiffeYressasocket Ns (gofteكxat;,Paddi)alhaperst)roce:availa,homog8 (adhvX chis)heBpAžhrchitectu)GWh(ᘐ!ultiaɢȈ󢈓HxpXspoqP,zͯaeap@X#0wqdecido4Y. seinӊ@5{L3o CPUhJrrorip40%. dwarhtuٷ*vacr(CH`ascenoKwInot縐)鬲 hرdi2sadXhexct༨ż Ietwq/ɢPnsuMaPU)s0if:G@cصA^/grZt|ȟxeptprqjCG777773ar,`i workKbidpshow TsݝأOradio@ WiFiBlueto,@hubatyfe@e27I].hooJwR8nv؛}2vasאסҞɝ`strahة̂;po񽄖tjrnǖthopbd802.11nIMO8,man)lex tezOnsumeoffs16370A"z-򚿫ewar8ssqaԫ:shiЎ;inp)aϼunitQ؁axuse_________[Filyhi0-aesourschedulimف3sҲ(saplam. x8êi`abuHclouXтQledeo dMAUIכ099168 >12Ҷٯx00oyn ('$)also0ecu:d1mp܆kٱ!eededxurrqEopڐ`sɨialways-2`enceir rgyps hr0j{.ԅǢwouldpnef`fromtadѠ܋ۮ9we8j.թꓐѓ9ڹ8licaʶrG!ӊW{Ԉʖ`solamou9be饙i({thexecutionfingleunccall)Hodefloadcenarios,owever,rairlym,oighegrees ccuraceemssential.

8onclusWeshsankˆ(aYalajih1elp3\GtupLawrenSauadzXmUSENIXATC '10, 2010NJ??׊????:2]ĉ`PndJX k,.`mky,.ПPaye(La$V.ֵxxan`AWNyFapArrhxW`yμFSOSP0977ϓ777723])BaroU.lzeAeaّ-ProyCompu.IEEEer7O?o?4]ÇienipBHhmarMxrnͻiؠsorHi>DsiPcetUnrsanuaryq17G5].BircPK.ohle0Systemз Ema)Trickle-DownB8 nerhmaEvI rnzSymposiumAyHs?i6wwwhredictLManQ-CorNWEEDϹ_'''7]yCllJ(Heri2gn inmartphone.n USENIXTC, 2010. [8]..aulfield,̀Grupp,nd.wansonordon:singlashemoryouildast,ower-EfficieCl@ersorata-intensivepplications.ACMIGPLANotices344(3):217228099].-Cha(J.iLIBSVM:librasortectmachinŇH18oftwarevailablPt [21].ansal,.hao,.iu,΀othari,ndaBhattacya.irtual̀ineoweret@ngProvision.n ceedsfhe 1stCMymposiumnloudomput(SOCC '10).,, 2010. GGGEߺߺߺߺߺߺߺߺߺߺߺߺߺߛs3])ShehZhoDwarkada,Li.ardeouYon--flyequ Ya)X@ASPLOS>?????????????4XpecCPU2006. [35].tathopoulos,.cIntire,nd..ai.henergy8doscope:eal-timeetailed-AccoupngorׂlessensN(s.n IPSN, 7{6]Έolia,.ang,͉arwah,.asHP.ҁanan.livP Prrtionhtythn -alystems-Op@iztbsemble%HotPowerCSaniegoecHer8______________[7]؊Y.oordi Ҁntrol+ermance0nagemeyXVirtu0zhSerlperpTPDSu108].Ɠ:,Ғlani.ahedXApt`Gupt؝Brivastava.ariabiQ-Awar`uCyclecpul9inoxRunnjdd*nsAT0ceXngsfs,utomx1TestEue1 (DATE)&1 9]ȋXeA苸Elli0A.ebeck;Vahdat COs:sirhCla@Oper XsourcASPLON0277777 kh1f2 c ers="+1"72bMVicHsk:nsymmetricaooo8eArraysnd8FaulondisPh1[WG8Shg ,iCao*2gǿǟϟϘǿǿg>XubH??????w777ElecalpCompu@xeXPViriamonwealthyichd,A 23284,SAW_____WWWWRxhe2@vcu)">wdu׼???2WG@left>Abstract2''4"jify>TbuffcRplAanssXirole psmootHg2gapetweenupx-level㒚onqondlownstorevices.ood p(mmehoul0eneficY@notnlyZOOI,tsoٻ5oypcd I/OExirecalgorithmrellptimd Bsinlodekf1;f;sariosuchty-basȄarray8̅(s).ַooo!ht="4"idth="1em"lign="justify">Toddresshisssue,eroposeovelsymmetricufferacheeplmestrategy,amedictim (orulty)isk(s)irst (VDF)K,omve`liabilitynderformancefstorageystemonsiPng70 drrays.ԅbaspideagihighpriorᄸSblocksnsheG`ilshusHducI/Osrect@Ђ{.

1ntroieכטɂǚ3coPm9ǵ`mramcaldi!coma6}ŎyInoapt]becaXreYly(p) takPnayanFig1iؒ00PPǹcsituڜ-sub)pdCity-baeߵ8A////+(a)ɿdatqs*gkSЧllacceWhet8iriؼhregeneBۢЄɿBregxdOp81epenhorganiz:f 3bhXzoOr`poc/s =OOobߥߑnalys1aB5ſIXh𫺬DԫXV*from8OkG 1imh"o䂟0ex#a8vw)Iurnwe!( bؼv`abaWUH??;///////WwDstar??nXt9p!u.ñ?hfOurproڴxʈqflowterygbeZbۺu1grsif nt(߆Wut.ۯ67024 >]o aоheavy?9Ɖ\uldmu)s 70"ȇfflineeconstruction.nhis case,orQquestsoeurvivingisks,ausedy @r, duceavailablσandwidth Heng aTduraa,hich􄸁Zliabilityf;toragxystem. Figu 1:wypicalche-missitusnቿubompo aar(-bdAIDdegrad0modeh1ɋU4 ace="8if">OCorH,onthoutworkflow,bfaul ҁuldlataamehaP(ipe1-5)badbad"iu9.׆ 2csPvicenb'g3m0overlourXheav]????TPefRgirraysd@+XOOHmuexpensivɊόB*(obxroasymmecuff((plm(egy,hdim (oM)ī(s)irst+, VDF hortPomermanXi0he. sidex2desh3sht*G@:favblghprioҴô9associd:ߞ gotSdik`8thu I/OWWW!@.ҸʕѺߠwi(1)+(2):OYonlinoʦurnpeedhpv 4Pakfo)fouм8ribupa8:///*olPlialuP1">`\eZ, RGenRRGRcap܌aHv誗ܰheG@+!cly`fmaximum'zze-rebuild1'`vailp_ʾ/lx"2develop˱lÄǟ,),й硿onimizS`.jflexiYcJinA`nx hhalgQhm8asRUrLFU73 extslbZ趘"ePdiiq ws8ht-1chLio 36.2%ZF_ڶ!f42.3%=4:lj9LinuxoftwAID.sw46x|ߗ:i47.7ӓlarqϋ34.6%D__&28.4/*p4"Шxem"="jufyتcif">PtorganX s:ӕ2briefvibackgroP ;.n3,Qsch',0ؙ轨studyU;@Q4;O_kqwypica__,FU8d-5ai෡w̅ 5 to!9meac톷 6j0clutk1fu inection 7.

2ackground Relatedork3????>2.1ptimizasfiskrrays peraultyondi:37//b>Reda0xAaXI0peX#D(sRAI2]reopular0lu{torovide erformanceiabiliȁday' torageystems.ą ing itHrgan, 9ouldevQdataossncurrhbyfailureqfHonlinqcfc.ith ˂,eseJsQAHsp-rebuil2mosupportre0struZ,0degradxwoutwʡz+autinuouωʊ܇q.owrRRyjloauȞ8questRin؇achP01leȓ(long҂eManyw#roȋolv00blem,aHy/8X/zay1Ϙ7839305 >7,mw722 >8_171204 >1cۊZ02, 炍629"96h14ⵇϰϓϰϰϵ3Menet.sAae0tributIalljwhinojyhdu0a(|h@sarP8zcj8206 >ԗll*/gf]ty-etweI-1 (mirror)+5,amX`cl8ngo\efficiencyr/Xܜ觠RUSH-likas(lgohmaɽx*,ԝamRnX!9Nnvironm6541 >5__GGGOO>Txck-baѥ(TBR)ϟ_ȉTblocy8¨ܻHspвudurw (immohbuн`combW_. )pipnPschehO0099Lddsjiantއ< qs㿰thafK9Q-OHDOH_V310CLarra0t llȝ(pe.׷qap, ()absorb:E|\Pxsi$opul2w^O//70761/.uxv,urAm l//y 5tialcquestswechni8crspiggybXwe''@_flowqemploy0+1ST-ehulhyemaint bitmapcac eiHviacor7atus;QincsRsвм0ne-granMutoh"e0ynchiz*aorxaR͝*4KB 2TB+ 64MBwhilimitshesefiggybackingwrites.urQreconstruction,tostoarse-granulayitmapuld:dnlyoPdiptad(MICRO14]chievesmprovveryerformanceyA*in-memoPsurviv)dataш)fauldisknaparerAndpCop}tabfi0hotspottXallblocZ"cequy,hichsimiYgeneral{-replacemenlgohm0hasame(taxWorkOutge67024`Znrray-cbethod,xfloȒJques (Ď׊nor.s,speeupΏ;roces#,.ynxtime.owpr!?;help(onna ddȐtsl2p%mightmugthQ,d(cat0RAIDvic Th1uffersromm X}IXKs.

2.2…×Ron-ba storagystehusg.bhoժefficiency5he,earȍhaؓ"ny//.,80LRUǩ22865lLFU,BRW6R6URU-kON3075H7I, G467@82Qg769VFׯ41620O6I25MO505!2g4A23IRSׂ/@҇68 ARC/522DUL''6879ځ1ISKSEENwv7313rHEȰOja9 aczervalfzѸso,Ancidwat="8cXer)p̤zquoPW">T1:־0De0iިߤ?a

3esTable 1gg/v3wwww/'>3.1GR:΋ME5CPermanVoPMna(ߑ3eߑߖߑߕTragggsؑHB̎ؑhcbabili(d,dqsxpyahpۡe82 sameevel X.owr,pty-CRAID k(s)_fBlostatawwmuIexsivalȩ.her",romtpHsdevicbuffspYnosimp׋yt'LXasȫR9rr,YularwPoddra8u@RGҐ„ȉقb*numbX䓾''!dׂh'0vipoi:pp๻e c.deQll9lwi 0 (n+Ӓ).Ƒ!t/ѕdedI$Ily- exahON14456 >FiguR(a)[ȞWk14Pcaq477*U7b/Hx1o9tZiT©BDRpobC"3JRyBiz@ߊߨ__sfJ؟q h׶5.HeaxmXabovpW[algohج'ۤGaphinu8`environc}eorxp!ȒO> =9(HorlRexpׯ8cIescribfollowEq86cerpLQimg8cipxh0212qImage"/6GGG 3.2s9HEeüEfficiy FModeBWnermsiI/Oandwidth.econdunfilHed0orkloadHuldakesub>uЉ//(cbthzstruxon.astlylmountُdataLQ;Equa2escribeKrelships,>Und Wٝnsid 2pare-rebuildmod?>5?:70 syHmGBhi(au缯OOOO;bȶcussP2`KcomجdiPmetricsc0val[,ذmiتZ,ʯafu idemat8womporta0icator@arrayclearly2ditly.ϱtim Plrapc?9idەtthroughpjecperman(†Ȓ,//h3ޭleftϭ>3.3DFÍplxmealgo(h@ iyn"Ghဇedlocks.nceissccurs,ypicallyȁBhoulevictfromache,ndhe*loadto"freepace.eneraleplmentlgorithms[ʂBsmeshcceprobability9redutot?>ofremainingutbuffer.oweveroHnimizRGRpЈionnon`deterXbalsopenalty.Ƀ urDFwdopSsam!aluaap0ʉwupior偡as"gFurrmor@wsMPiIrequNsurvivdisAz;ooum)򇷇 ׅwwpJww. 4asetudҐFigu2:;mplz+˓Ȋpsta0~?4.1tegxkLRULFU3oAltgh8n8қ(pl8`d|ɼ:,"dHnst+urpoiqsiaa-ϖbo@.Ԣ 1ԤJw8 1follow̥8shimea(˾llshQ?8I/Oooio*ecaccQbs++uanti0ro(.i1-rH'σϥus]e(Moexi tanȃX!z-liklN.8/kwzO1ofH!imer.PrcorAalm`amp,sernwP(number𰈷Lcixّ݁__tJ MeHiۋߋgImajo񔧋/fҽpuaOKbX@needkeepgiFurxfrom0mZxZameߥأQbaiGlso@oyychooڥJ1evict$TNjƙaĪcnoabsolubutdl[A`beca9bgfF)WW@8ȨatualA񺯺Zver(-#g/mo。takesffectnaultyode.ntherords, `u`rachshouldeanagedithBoriginallg`thms-fre ,ndVDFolicyxcomiveheniskiluroccur.huamoXuntimeonversiontwehmDF-basiseeded,ichquite`1entromgenerӇ!XforpOւemploywoypftackso xiePggb:nelob (GS)'similara.suas}LRUבlocLholdingx:aH.ll5甸 )lyhwn!Fig 2.גrystemPitvict"?smallestightt3ottGSS.nc[arrayrop烷ẽadʆQa

dꄗ 0 n-RAID-5hX A12,Psply,svariab`mmhzxwv40980 >Tal''"'2瑗s="+1"745imula Resssysis2ߗWToaluanes=duct sHhiYloads:PC-1-web,M-TBEDTRSם׋O quo c:֒!nPCExplan:#=RWWWggggggg`9ggwgbhtr8H{nchHkites00co:aearXengin`whiisљ;stors۾67024 >1y,70761/19624].zprov0dyicrosoftorpаg2008.ԿlÈb-e0verypXrpLpappplȴQ qcc8#mo than 3HtoownyousyuildJVisuStudio.otheakaodэ0houHbropieҴP 1-!al7685 >29WhoosenPmostrnsAI/O`ities.ƹ@fair*)itksrreo̻all r(4KBrrtGRa@F(TC5ep psh轙Figu 3, 4#5_Y//+GGGGOor,ami0,ritxCBqsȡcodeProximh:lI(es/shPaӬorP{requesKinput.atath `Z…ashlXXkviaucircXr0paertaQڶXшi IlogoffsetuniDpndiskraynspH0pesuũz.cd/xItribubofheiskrrayndlogicalffset8lock,tsasyodentifynhichses s.ԃP(ivingimestamps)requsH@lsocordeovaluate piseQonineci 4oenermissesracesYprototypcu0next. aulshow8at,omporigin8LRULF@lgthms,DFphiz@chievbettererformanconsistlyyduc`RGR.ÄGكB-!ZɁSup931.4%, 36.28122.7%ndSPC-1-web,M-TBEDTRS#X@pvelyF42.39J4ςȎǎǎǎǎǎǎǎǎǎWeiatefficiencfzgrowxincr`0numbPXsܞsamce-ÒȝsmostМsmosiaȄZaPGOOaatoomalphlarg@ xplai`foll(wway6ouldccupy 1/n:p{ot2.׍Ufix`裂w=,%k؊er.romaR^ agesi0bp*utilih5nxiendoe//xxex leddP1voЋ[ 2mɅrov넟ܒrɃ3UwhenGuϚRobviouKȠ775acHowriԽharz*hoXJn`YioduaP ;C(es@0.ϛ\rnd''',{reque{fm/破ț͗//beinsutt8cerapR0imgXdex@0220YIm"/nσߴްquo'">Figu3:imulnѪ@esrangHJ5A8˶Gvari}64K2MG2ʹI4KBX/_____w__]1__אא׎o_?___^4___M-TBEC[ICZϋȼxϋϙϙ''''''?''#2''7''''G&5'''TRSWWϗߤ4FGE1ce="spf">Wlsthatshtegy tLFUnRUreorkloadOneossiblasHtempors`weak"y -5Aaldyl !yp캐lzStaDepDiib`onro脯.ԂIpٽ(RefXnModel_reym(vedXlthoughxwTko n  1imesnothDF-LRUndcFU,hefficiencysotsame.ostlyCcachingurationflocksromicisk4longerxan)tR(especiallyhe e`talumbHe-residentŅlarghTherefore,worbett=sPrac;mh0ses.

6royp)6.1ō+MePdologyga3ǕggggMs80ls Qwelcomsearch2ompuYd.oweMa뒅engthyAX`alwayslexchhXpZuhha@cce tppݪ҇tДurshIxFig6i.irstcohc:iinXmSsimulS 5hhi(3Ay: balsoʎQbtamp@tsҟ әx),b8pplichr뵰plaCdhav֣س 88imi -mey[GC67024 >1q,7470761]נiffnй sؤ t/O (avabxf2.6p)@ad2ud¾0avoidqu٧AdËj+K.ll:FMDylyu?9񼙎noogxploi+Wreclgorm @!wteCsȬcixie( ׽׹wwwξ*wwwهѹB͍ve8bR׵еϵϵΛ abilityOorG'////ipen-loopWWZadopylaџoripNr\دë9Ӿloooooookrsio9ano0__[__8ceripZ aH imxexX0223aImage"/n׃洲quoȅ'"F:`Pyh3DŽleft8>6.2ŠEnviron0hh3/muhMicrotorZqwoɓl(R)eonB55607GHz (sixres)PUs, 12GBDR3amemordiskKWernĜWD10EALSaviBlueATA2n˷HAdac 31605xS/jatrollma 256MBdٺW9sfun˼8IwJмs[XTHALinuxed86_64`k@el s.32 height="4"idth="1em"lign="justify">Ininux,heresoftwaqmplementationfAIDalledultievices MD,hichqpopularnicgaoptimiz schx1reconhucbxo 100MBpsYut pema`ng 0esidPtakepyrorkloP.

Tab03:ŏOlesRanϋT sy58isksAs*targestorr i(dhrraysLrun(rydischos[-erPPC-1-webwwrialspan60GBڝ 131,072524,288 :Hs generšϡinputsmeasu@wiؓ Qr̭r(rthmʟ?peed+rovကrrigiPRURLF@c1cla ti-thrppl80yڋ^s|v evaluy(actkŦhtadQ㬏f%W???Hystemߴ)tAȅoŒRU2reӊC?=y0B!y iffnamo@[ro؝PpCm(lesI5%)gggch3g__ض>6.37͙VA\`h3_ױקׄaa s=0001151985 xcriȿkϽ̹(9٦ߧZ!_gfromgms/P<ׅshowYt @g`thmi-opizـˉ`੉nlin齃cH#Rx-po 4%.CggOKpc34.6gbXϘϿϻGGGGG">Wamwf[-id ۸oGdupAUcs@Rjn6AQilah@BrobdoC/B,cepas߰bRGRTRhe-ssȄPЫppreviou8efficipy5` Xbeosu$tC״?FEqy3_g9ihІhsI8v,ulȦd+>4.BWUBWU ׀RGRORIndH.bviously,샠ar(growsc煲.romsimulationesult,anithat?=71u777 ihlownӈvWw"fi5 8.herefore,nos2 abses,imreconstruczduVDFcridecregind Wsam *notictrl131,072locXlessol262,144nany{8ne `d,es50warmpyparnmiPinHm*rdoure"r؈ LJ__ha aver rriv(remainYorwheior圳toomallѣt(iich9lifehitor XrilarwmiAOEǡooooooooo$9碷Oquo">Figu(7:erv!ʬdegramodaAID-5Q8524,288/thdsng鸉20*00߮gewwwwww30ﯿW8gmn0X6777h3leftWW8>6.4l-loopͿRResul!Analysisph3;s 7, 89څteHxju@rXff`sarioȾvausȿdata쵣reportHpH??tselyoѾpZi>PlayĿ(PD)iwhol.ƴexa(,pondQF-LRU9shoullculໂ1WWgggggggg\2gg߲߲߰wgGgggf9ggggggc5⯏'b*'#exppᖰWithhencreasingumberf/Ods,2serviceatmprovementesccord@lyndetsloseoZxoreticalalue PculdyKimionesults.lthougwholrapwoulevendistribuallks`,round-robidd(pRAIDsomu@queshmightotrahorteriod.herefX,9aargЌwhichli!onQschedulwindow;@OOi`Palanc荁iga$r-maxmyste8e.

Qde;8ot_ uXbab(e˂ ''OOJ0תakg`j떦778y `sib__Ǚ_a.ߞgoiOsuYWWWsoookh3"0"leftoo>6.5ur0riscuXoninata/؍/layout*rstruworklopapqiputz,gYsX ø4umh@4hzer`eryZ'''exȆj"larg'renhelp''ױ''rɩRGRsabl cri`°w𭰽 ?r8ipdefini1,deiby MPi:pπ˴cpOلp0a)HowY''?///s񉐕!fqz,pZdA0basednhearityistributiinAIDithaul k(s).nesRead-Modify-W8e,ndorAP-Reconucs.erweakexamplfhortsin-i-5+oOkoematHMPi)4xIwisy|WWWU%  1 䅗o. 7onclusɘRFutureork30]RARCGF6522 >26B.Ӵda\Fkernelev0_orunlichmarh+extensmeair`adSɧb5intigx3appIHI{4B6Acknowledg77߷777׷77">W3a絁fulbshep0drezadononymoreview(:@irHlp)co-Ysear0pdeNbhBJR973romqChinaTGraNo. 2CB302303lu!Sci eo8Âz60933002_86___\09AA01A4[nnovpWuhLab(yOptoelPronicTauthxHe'sꊺupporU.S.(NSF)OJCCF-110260(n24CNS9.ny﯈s,nd@Ppclus 0spQZmri`ɇs~{(s(dootecari)efBz0a@sReferٞ777GGGblockquom[1] Wu,.iang,ĴeILЀBoaWOut:Jloadtsc)booBHperHma .x ceem7thSENIXon FS莈echnolog,ӺHFcisco,8A,brua׉?ONlign="justify">[2]..atterson,ǀGibrand..atz`aseoredundaarraysfnexpensiveisks (RAID).n Proceedingzthe 1988CMIGMODnationalonferenc,hicago,llinois,SA,une Y. [13].Muntznd...ui.erformancealysisfiskrraysnderilure.n Proceedingthe 16thternatioponfereoneryargeatabases,ages2173, 1990ooooooooooooook4].iQd.angICRO:ultilevelach-deconstrucptimiz" obtor@ystems.9IEEEransanmpu857(10):1386139(Oct85].nbD.owsley.pproximaoLRUFIFOufplmeschHCMIGMETRICSMeasYModelӌǕ43152,oul`ol`d( MayǡO16]R ns(.֍0evarakondatae pxusfrequ(yơ$-///////3414///ϭ77777777߮w77717].O'Neil,.uGpeikums-K/lgorithmd$kODGGEYX7s 297306,s)ton,PC.o 3wwwwwwwwwwwwwws8GGGBR@ty йo'JouHlqC46(1):981xJ8X9______________[9ZJohXShX2Qqlowverheadperpp_oGITwieth__Veryar߭4390,apagoeh8(;Sepb84ǺǺǺǺǺǺǺǺǺǺǺǺǺǺ20]iLeChoiJH.imZNohZL.iYR Cj0nexiPfpectrumpolicithaubsuBl icly()󱄁LF3,tl(a,eorgiH/1LRFU?????> ߳IEEEransacn־50(12):135X361ec 20012]IZhouF.Тb KimultiusecoRvel=cachϽϻhPnu(USENIXechnics 91104,osMasPhPtts$June////////׾o///23]71oP"-'%tggcParall¨(ributedystems, 15(6):505519,une 2004. [24].iangnd.hh.IRS:nfficielownter-referenceec@yet`pl0mapolitomproveufacheerforma.n Proceedingsf02CMIGMETRICSononeasurModelCompuppages 3112,arinaeley,Ênia,SA2ߍߍߍߍߍߍߍߍߍߍߍߍߍߍ5ߍߍMakLRUrdlJweak ctyorkloads:lilgorithmIEEEransaction0n&54(8):93995Aug5ǘǘǘǘǘǘǘǘǘǘǘǘǘǘ6]ΊHegiddoD.Qha.RClf-tun,@rhead_З7702USENIXϖFileStorechnologieWP115130,aciscoX 37,DBF.hen,.a@ǤDULOeHעӢ"sPme!exploitoth @plspati`Ċ複4w?wwwǍp416gg{Dpmb0wwwwwwwwwwwww8]?׍KavisiskSeen:ŌC dayouaccessisenPI/Otchoolh12׺3cer siz+1"_ZbuTDesJEvolumLMigr;inMwareSXдh1S߿߿Alipshtpdeh EmrelebiTGarfinkel4MCaiѻGGGGGGG??ǻ?<詰="mailto:@vm.co(, emrexTtalg_ggmca wwi>,xcgggog

Inhe,iveigrationnlyov!memoryሸdeviceɆyaMmPngooststhdZsharHstorage.̃рt r1s(is by ably8mediskcroelBs,us/grerHbXzeroowXmainupPdЎAicߑڏWeXsbe:evolufsinhwSXroughAeepa薰rchite*dexplozerformQ, 8plexfunc耐t-off2eachh2VJleftsiz+1"1ntrod1I]Ǧ/(wor(xcopyv___rome)ano8r;negibleqχ9138 >2ԫ@bapproX*sos:eg1૛sourH=Y(˦cPinuiou'ٷachang@makɵreflxY?<` ipoϩ;n! enerxyQauP1mntari@suspendrediffere in.Ɖذ)killedwreplmmWWWGGGGGGCEarlisshd (׸*,stead@quir_Y`aLacsҼb7oЗoF?;,o@softɃd sjspanhrt2habeen9eloped.ϫ@suaoookwwwwwwwwwhshmport caseFirst,erowicPr*m1\,arrayB-symKe].ex(ŲWRwIfielr`y|:irldry%wwwȢahj(Dzn0levSplatcimobility#XVMnoXrinnߍwpPi(WWGGGGGGBMultip u˛OOo,锐ײєq-XwfuncY0tle³xyWѺ@xiCthreO:napshotXg (3.5),īylockrackX 4.0/4.1)rIOirro-5.0)evaluqr5ȷfori@ia:7772ulXli>MF:ptjPumhmiz lgthm=guar}apZ过ߺܽڮ`gskPch:Xws9oc2x9ppletingithoutignificantisruptionoheorkload.elsomphasizeredictability ivetorageigraYs akhile;߁allowsndsersbetterlmaintenancchedules. <(GuestЁ`lty: pseasunppldowntim@@IOPShgꈟAll쇡fechnologiesXrXachiezeroG1sens@hatre1norcexblrvi.owr,/KofyortwaysequiroVduraQh-offromouUdinSmne.op'dYalcondsAnet9 0nectivqlossighlvaila9maفon r pbefoxinstzassumx.ԗfHlroИcussthpaxhibitbvisB/haod thermdAtomicH9algor8mXldar@eaHcho@weeYnol`T9incrhXrelivvoiradeultiprړmem9physllong0Ȍ{afe,bxssc֡hnoloXež塭/ulpet="4"dth="1em"P="jufy">compahowthr0ԧ،بmhmHriffXX爌ayi߂3aynH hsaceng2.1ˆ8ground 3]LtBlڑelНP "fibЛnel,SCSINFSAח.foll@LpatArtuxk(s)Ѯs(ied)roms73.nhA@unnYEmئuQ/skA_AHmȅCQ"מhQQp8beifgQRs ۛlechZ߽߽ػmع gOЋ*#iPBVMbQta\u@Figu@1:im%art9diaPm:zgu@systemsȪ!oughz؟(V))fstxCIOpasQ=!oСmo0fil`rrsRexaxeĮ0owK"ilXorTaj2y:translosdlIѕйxywH'sFS-4livice?״ױ״>Ou֏u`ecombݛWkar-leadhixilithsheigration,sartfVManagementxecutive (VMX).ԁfilterrrreepictednESXtor@@ackFigu1.

Mohrecarchitects.e.BTndOirroring,sedatao (DM)opynginatapdd;4.0DMSkernel pvic8idisklocksetween pBs@thnlyXAsAeliminat r-sp` Dcross heads,enablijoff-loa sometimp(arraysێǎ249528 >3]h3FJ0"left>2.2napshottm'canHsoliortpplygeviouHbaXI.ned`XrmediGcar'''''''''#Xy٨YnewrжۧJ`.oncurtlyApqe8maysi8As0hougori8fzIw(7">Af0fsh2WRaxor׼rnϛ *j!BTﭙmt莘expecohaocڗ Ȟgadelta.َTِwnPrepe؞ocessntilamohaٓfepsmxthahol*ʀ) chVMsusp೰όW?ߞSᣐ,runnwitAonWɭبoucti :dufHiscysequmA`9,DѶdow88` gكpIl?a9d-onlyllowQ0@imqp9X.힘rpdynamlcXwperq7wџߺawib////////iXAicitPxrob`nɷ|exQecismmp؇HUnexgn (DBT), YhowptRli*(bifYda1rؾchϺ?dowever,Yalsohibbmajl tF,g鿀%sato cep@g8le!?Q1edisHɶဇnapshotsndirtualiskrepreadnothourcebdestinativolumes.imilarly,torageailu`(eitherecessitatesermof @M `gsotubloroȅtanmigro remoteon,ia0tworkutqcan us1O0all@quir!uhalt&Wttempo㉐ initis4AɊ<

Second,qhpermjsposssocipd@prunnaPseverl@lsAݐMoecific(whenؒ@yHnsolidultip荀dO8wrthatabsorbnewRodØIad-on74beaWed.Ւpg$currentГpXsPmryoh su і>.ɑstsЌ@u`ggrow jizfu`񏚍maympXrithrei蛡h3nr0"left>2.3Ĥxylockrack ǐ
(DBT)%bitmap24akab٥8yϤpHhoGn­Wч@Xegi؄7whi﫸ZLjLjǶҋ@ernelil.emiɯet:cleP ?8,mark8|\@!.ԺcXqrepQdlrnumberrema`Yty bilx.nowardAgrLmadlȰnarif 8oint޶sund_߭ߩ߭ϩߩ߭ٻXdon' bulkomt0S°)buttdone$ҿbᶘh@lrpTzhniqusulhah50%xPuxaAklo0iguniatrirX@wrs,Paapiz`ɽϹTseatᛑ.ϰKrnstѺ s$ nuiXmaknewpossiblAlso,guateAch-ѩtweey''acinun‡nünrdlinkm vreli*ɇXA suiXq$lӮSdi, jWANTsotrodurch(engM-Xo௸oqgguoȘ* evh738x ԞpËa-YXnțQdqu(PJosif%,yancPy??Lh41gfleftOO>2.3ဇ.1otlockvoidance Wereseanptimizationhatetectsrequ0lyrittenⅹsd0fersopyingem. discussotiv҂porisinh2.3.2.nӀs3r4ׂimplem@넱somlnary Hults.ƀlly,5exploreofchengesncounteredχӆsolu.ueoses,featu@waseverablbyahahippцheasehilЍ#9XextYDBT,hopappAfuPs:IOirror.ph4oaǔleft>istrib:iskaRepeti7777777777">Real-worl ofexhibitemporalp؀`ty.olpsernd`t=+commXerprikloadayzVSCSIrpomEx 2003Πth 100ROurgenerat@us܅gLG[4I]SVMyfigȆthreZks:ays{12GB;WindowH0,mailbox20GBa@gO.GO)ircularɋw|gayhow*?:199811 >F 28؇(ixumba(LBNs) r養crpop1.hmos(o 8__Y,«ȍkhAtollowzipf-likV.Ϲt8idfieCc@ du#vpyhX[ ' dmmigAT1teroprP¸irucoЈ (eoo_______Mi-FilH(BWW߫WWǫWW">WActatHɾɵٺXly9diPaU*a РȺix:ar"uxbeuemorsȖX01+lwt50248 >5sgyNhabeHtiquo0">Figu2:ĬribukתeҰ_ExcSerorkloa

2.3.4nalys(ofot†Yvoidancex0hh4wwtp.4__"justifyww>OurC0gohmseatapkomulti-stageilterdeHminhichar(oSampling do8dury1initialpyhase.nۂativee,e ry"andfЂps.e`migion,ied,ri Xla4zOJ)ߍߒ6ߍߒOJToppreciate"pnbenefits,Pnsidњ(onҚi*SExchanworkloadZn Figu2(evxlundredegaby9p, hse lfi όanielub臗ǞÝjbeee2028233,Qsamc8viously€IoutZ'increm`XDBTptimizWUn@J0s!indepإYgbShorbarP[esn,Pl7rɇ{0@s 5rough 10ʅ}񇬓cZPȈ߈ۡ elnгne(oYfG7#s|-@hatpaPrn'''ct8Qoxim erhtly.ι2#labelX!1CfirAwosY.׽playt@ph rthhmaؕeasimaബ"Ȟ@.o-˨ @r so:yecessarilyagОx(oxjcoe virtumachiI*ӽmpBoW"nexpoor:oAuPӷwYiccaupGoccuh@VMxecˤ@susaccoqdXe//o8c8er9p*Լفmgcix(02351Image"/n翷Rquy'":Đyvnumber.7?????????M'/-1??????>Isavmo@n 50%ϺhissuwowardC@kP继llur3\2vlmtn` bbulk[ٶhe@r@(ǾǾǾh4O_?ؘ!ǾǞ>2.3.5rob@DH@BBAEDh4O_Ǒ )Oalgohmermeln0shoe@hIehp\.ƿ Bfd'eဇomplexoune.uccessasardreasonboutnderencerned䁈mingheerformafntestPwork-loads.

Hotlockvoidbalsosums ificaamo0sqmemory.venthmulti-stageilter,Ycouldnvisi8larVMs4upw`aigabytMOurPomers, ywhomu$vehommit,fiaddit(almprpu`problematicϋϋˋFily,x.g.OLTPiss0inHevaluHon, vePl8r@emporȐ t@thusPcei0im(benefir@thiptimizGh3left>2.4Oirror;wYmP0öAVMKernexat@(DM)" ԺO (@betw9)t)defedl`HqaquHOnѪen*xo lunAu.s0rs.afo8nf0hpք#flsot/ U`lIonPuyဇnyhangesohisreailleopiedveryeM.eadRnlyssu0eourceisk.

IOirroringulfof 8ritXa,uaranteeYantomicwitchetween'e@denationolumes,akmethodiableoroxtanHmigrs.tsowsngeYa8mVMOKurylowdow`pe1frdh3Ƌʌ,0/"left>2.5mplementCExp٬camxZoePcibutr y xerAXsXificnheefunSpecBlogrmshxpa pyddi1ЩÙsafPtPӜa0TA:l reXlaluÇIremaiXr0blockxAخN(sgessmxerدalgxthmTi[??ktٷ؆)a`ьƃ8cernʃGposyP'7wiabb ϲϛײϲ϶Two narioxccur8ten0ougmayHyaiceRUU?8)rsworkloay8akbu9ge.aaflushzbuffcݛ g8ҲporHre.ond_monito(F=latB.yz5F/ȽPnnearll'su*FspikeAeHdTfailu衪IlowHOunҙ aMtooKwiؤ~&soluLaA¹ehchs1ly/*mdYiOxГ ynchro0 purottlq/pmn`mwitch:!p影''"aGAɷbosurpricXom)Ἑ`PsQԖdic(ilia@cڊng,ثaowt8lrnRsduWWWSh2 l0o"leftUsizP+1"3Ŷٽ6])b(lAl(Ex 2010)eqYarphalso sIOPS91ϻL0SfhǸ> OuryntheticorkloadsesometernMunningindowserv2003nPprise,eariediskizendutstH!IOs (O0)omulatesf)yi(nsity.he atnsHLTP_with 30%rit7Xre 8KB1commsca 32GB(llocdirtual.e dxchange10orrppliion244asks/sec22.

">SnapshottaDBTrevaluusIESX 4.1.QMirrorwasWTayreleasers5.0. Bmplement,firstvailable]3.5owefpancludsupporDMcrajpercmprovsgeofairYpsɉrPaellЈred`R7`ٗdIleX5570 2.93Hz@ocessors,2twoMCX4-120rrays nnecaуvia 8GbibCnel(FC)inksjc1450ȠdFSolumeac(tha 6ystem󤯤,aȍQdata|a*requirHm8Qam؅in .ƠaeigI;1΢archctu(E94ock(8-c)CNeha-EXK25 meHM:son 6LRAID-0 figuls3-40lȫɕ㏞splr%ر8-vCPU8rytains tiG1Jonlyg32MPboxLp0AmiXdOQfrom8нbecatǕǻ`bߕC8>c erpT0Wa F 4:wiPvaIO exhibi9m8by 11.8% 8most. vapgup2.74x3.96x.t 32Q ,struggp1keepᴚ5'ypte.7?8a 1. Gh3NjleftǶnjp>3xHh3ߺϺM`miztotkYtPuBhactYguQ xdessponɝnancev`mak8[alX"ivHIdehy,τ˵uldotheҾ"si#Еq~حpictablX(anQutompy77&GGGGGGFTnjǜsoPsynticG8Hwn Figure 4.igrationimenlyrowsy 11.8%henhangIOIOsrom 2o 32 4.9xcrpguestritend dhroughputs.ɂontrast,71U+.4xornapshottX2.73.963DBTrmentalOhrroryisessXnsitiveabecau)tmpls1leacopype.hdIslthatǁŋxhern0ducadd8onhs.

Fcomparis0withHdei,h moff-lineisksaxGBirtu6system,took 176p@ds؃sa8hardwa0setup7_Ѕ2S[OLTPorkɌXq515.7%ngqo*lete38.c`erpD0Gax imgАdex0237Image"/n'&blockquo؅'H5:ԠvpDISizekx-axden0١datasblud ёf32b3.4`Ro,]ϪHtak13%,85Oexpectedo'Tab14down߬]Ex-+douiPyersž(7WWgWwwwwwwqTo ZournHtic>w74605Again,acrchxct񺋺fupreviouy`Gen(l ar e,64Is,!porיѹ occurPubsequsb leadRoaşnumbpjahsoliPyG.exhibiminimaŇ⥿N G4%.ϐfsO'mu@ >q8@corpvenlLOoqdepi18 Fti@ruhoff(`11.2%duc4p_:Axd׳‚ $'by 52.7%ן9i%{{Vsuc sfu_ppعXHbut HdiencSoi8margin/f9" 6:ĶOIO!taxbe 0.5Avarisod鶱\ulYQ32h踁DM!omalck.xwcept@8'5croϿghx9WPcsificȷ5hswwwsh3leftww8>3.2fȬh3t="4"idth="0em"lign="justify">Whileutagespoiveecondsndey`anXlerateyomepplications,thersuchsighlyvailabhwqaudio2videoakevenb+notice).ԃ(eforeeXerminimizeowntime.

Figu6.ithOirroringcreasw)|Xonenoflli)Y0htNdu9 Hddial *requirHPesc@VM noKWdependenon parchitectBBTariantshooirYcopyre@l0yinaHqkeepom !.sualrlgthmsvmX,uttǙsisɘ@atwre angeR8.rom 8q16sthat+AsDMginpotrugg@臡@蠈32,''jump2valu gxtihx28FGG78cerQpBa0 img8cihxP0240aIm8"/nblockquot'M7: G@DiskӥH.ǟexhibinear*t  0.5!/s͕glow"5 onglogic.napѭifegrad]32GBsԗrheabȰpin߬?=1???WWWVas af0,rsAXriouleneck rhu2alsP`naccoutot@mi" f!ww0wap0𵰢zmloȲЎ5z8XmXdirtyؾxt,sul:ȇhorQ___׹OOOOOOI?>aCygrow"|workload,tFe*Aauapaolii8}dnvolu/ WCuncd s awacawellt_henovY64ȄAs7_,1ַ፿H ,BTsʬ dfragmb,P)R0okȧ,Porel imple9HruMbu`numb_ops蚹ƾнOExcnGC18023 >Tab1:flaЦGlrough813PdFdouAensi( ,_doAhtQߵh+orȜ׃קs#0.1X0.2x77W7GGGGGG@@guare@کt n.ϬofffSbu׫ hضa>makpossi hav3Xgggg 8cerpr0;

Figure 8:verageuestOenaltys.IO.MirroringxhibitsowerjiessqsncreasegsomeoominahDM.BTarianimilaatnntil 32henxativepyimbe:a+portionfheyllst.napshottـnsistlysdheadsorshwithd3.3Performance-8h3774476MinzndtauRaig)imprsȓ peAles0sHacnpplicb.W"@urynticYkloadPhow! .ԒAǂYidЅ8ldrwr ֌~burSg-aЌ)s,`ssuHnew squihomainzind(cbdatatruct0@A,a _H8yÎruXloYnough]WwievuHartamazH,PqOKarel h Greh?W G/GG9Ѫ@hou039%,Z>p J`ucPbЩDM.ק'$,OtakDZHsh1awayrom~Th@ȷ h)WbhH?yiupt16aximumy167'#AtՊbK᩷ain0neousb/ΫTnitixhsuquppI"?(en(buchҮxth?=<ՍD#rhbovolu.4c־Xif毗146384C؉ly3hntributqP @ˎ׎ְK86)erpOa imgpdex0242Im "/n7GFquo0'"9:ggrega0cop(tot  ggy)`HOirroexhibi`¯ظabwy ar1,fe|esp(QnO.Ӿj黸@th??y8Oo*mp A?irch8ctYdohnot2a'7xsuff8Figure 9,howsheotaluestenaltys.IO0Piseasdnnitsfime,GOPSo`asworkloadnotxecutingor(atanyecondThSnaptincurЅmong0origrationmplementzeBTarianHbaveimilanieFily,0irror!starjfi@a?ertoSand pduecr`es:N.

Exchanguni[idappe#Ɇ1nXroughpur:.X`lookevealwhile radatencyHmainJa aht&y=writeFval.owr,7r0act Bꆽ,ecauarrayouldill`nsumdQ0euboؖGGGG8cerapR0Tab(2:orisf Aobv2010FInp@pf9870 Ŭ[wiZ/)??8Bfinumbcorresp)eW㢡nexresdR7archct0XobtCfromn9uHs,epyhɩTdisk.cxletsok'lawoK5HT:lmethodwzVׅ8c߾;1802311h3ǜ7left>3.4nHgeȳ`h3dzWxefݸaP7re'biliغredu8sPٻdiff`betweeurɻde(nHahlDa0|cceptbdtim01iscusц?Xpiousxnt@(nam郿n`(8lprolichllengBfva8omitnaptg+م,@alway?b8mۻXsifi`zψĀlalf2i՘Algthms隵enough 80菸sidaborϳȗ !ct QHrӞologДЅI,fli0! gtGWGGGGGGGknow3W1guare .ƛ܀t`qui9Ε.di`ԌmJ{R7ԲyuldbGGGGCAXbeo lm8@fouamo|2xpsqEx(ngץ0neȩ񨓼.Οl,Oirr0ѾF鰚negi,nUnorma醽MWIir˴significantowntimeorheBTaris.

Figure 10:racefulrottlingfR16IOynticLTPorkloaduriaigrationromnCoslowerFSolume.Ԍbeginsthpproximately 26008and 11pwri8IOPSatzde`nruЁ(2ނQ959'%1Q7ݍ| 抨="serif">In0rast,irro‸vergesvenDOxՆnhis shn (D(lOPct)
籗籇???p׽׿Vah img0cindex02451IPe"/nk/fpfirshwonЗ`fbƴ8#dippҙ ant ,0a id͢pC7-sis aggregVM2@S`lӼ!orL.e4 hilizبWQH95S'''''''''#WYXru8bxhmarkDBTfailse@x#iun"n@di蓐blockps "opy.ղวѿ:lHthrott@HmanHװvolumeh3ο>3.5xomaFigu011i,0T!v诊hHA(o@ɴ@archcpeлlabepSʯxDjrefPh P;il0skӶɦ3Mɡj[ ugh򿉂 2@ahsugg"takXloa`uaastencemcsrdwahoff-QmaylpǹǹÔ׵OOOOOSnapshotting,hileheiskseopied,nnitialnapɁ)creatednsourceolume.abel Csrrespondsoprocessfnsolida鄰x/nbas.negi2VM!runn1aes`h%gg>DGereKandmultip͇{n.achpikePOPSarkevious9dsecslightgrar omad/writepsZcdeeperPfseyf/untilbnext.verallCalsoiseuPusm`sizes,0s@fewks. DBT舨Ȋ*lyttuizVdurCy,canirt lockrackbitmapymaP hIkernelr0rpvYpyfb8ns.אaducMthroughputnggĜis{|HTogeprthXworkloatotpaA8xommoxQmel B8n1howFigu11M!ԩ9j,9low2towar emix9'1s:m򳘱nByӤhibi9mohoryaȒhaol𤧤h2VZ0"leftI="+1"<8aPa>4el"W7].bapp鲠>xJmeagfr|hostʿuppomandselfM8formdapnunn1p'#hwlmaj 6ÛuS be;Ӂ?apara-Խ؉ca(aϷ0gyOSZbPmP!astdXuÑfreR㓀HauXrnkpsifutٵY,evP83*r9licPlotZ''''''%VMVMoJ9138 >2firpintroduc4ESXyvis0!VCɩu(2003񿹠f"ahysl[haaco uHȀaetaR(SAN)ɽttVKNAS):d,8ǣaransfer٢GGGnEkػides@cannotvhwybauildQblock8r'sĿribuReS!ul@(DRS)dynamA(balٽloabeatAalXerPdow +),`cpolidXljSقQ9ump{uff-peakux}81߸ߛ߸߸߼ʒ`addieGCeHsx t?=1025 >8Iwe-ensmh offastigrationimeithtomichchoveretweenourcendestinhosts.repaging self-balloonmechanismsr lsosedoXcilitatehe-copypproachgt`zesocayfccessaredu Anumbnork eulSi(niqu@QmnneedHbuffhc Psromguy8llotransed.

VMihahIbextenI -pa s (LAN) eWforariousases,ncludIdataent(loa alanisrec9y.raddt.畂inؔsupportږ 9].hHbeedtՔ)noluxusrXkevepre .ԘwriIO !:ǓOS隚throttlØghrPK.xigcoPciJQІpntlywarɁlnyIPl,hpwohi@hDynaDNS.ur0pizjȔЕ٣aahorѧwexplohZgWV760 >10Z????8ޘ;YpJ0{Figu11:IOPSbvP:uYxeaparch@ct0(reg8SsiA,Dcospo{ɶ.҃&Mʄ1зphsPx^᳈Z vu.ɹHSnapshZ,BdeȫC9ڹـΆHΆwnsolis0FllyshaыgDBT绉hopz21]rometAppsessynchronousnapMirr`initiatecopyndchievemallarget recoveryointbjective (RPO)ime.uringbfinswitch LUNxbenava upi120nds.fonفȁcoqp`hin넁tancele]>].ԅOn)ductun(on70dlockpЏIcussedӊ2.3donotyemeouroanownҍguarantesuccess.

5onclusYp4''"justify=Wese@expexJdesimhthreiffer)]ltorage:RshottI(xESX 3.5)xrackX 4.0/4.1)ZIO s/X 5.0).őjhhts?de-offsyxa@guest Xpm, ញ&atomicityߑߍՒ2yfirtwoosxhibXs@ rtPTmvdcur.ُ8osubsti head8lȨ,hPdereliabilmak`loX~sagBTdϪorR(lPllowXumb 1ewpxiz#,ulsPan)έngzer/yߜߏ/ߜߜߠWhbIOPS8(cajAOLTP2loarou70% əre % 32%34%3totXm9h9ximly 2xttanתתצ烈OHlرbaqءwȕA/aon‡`!Yhenvu`(8owvolumPǨķa cefulnsi*ɽ Hi0sxbR/9AnoduclˢȺala.ƙǔĆﭩ˻+halxO(9.7%z`-lineg(pw RyaryO@ጂQg"PiȰ3ť˲GDmWWh2left="+1"GBb]Acknowledgsoooo1ATEC '05:rocXsalonferencenSENIXnnualechnicPC6
, (Berkeley,A,A),p. 2525Cssociation, 2005. [3] vstoragepiorrrayntegrndmwareeady, |QACMnsaTComputerystemsC36IomepGFi$orgǀכקߧߧߧߧߧߧߧߧߧߧߧߧߧ7X.lark/ LivaofirtyMachinesNSDI,ctϮϮϮϮϮϯϮϮϱwϮϮ8]..ȅ.eshpPe,K.opal!Post-copymfm(SIGOPSp0pevXvol. 43,o. 81426:9??????????????:9]YBradd,.otsovino@A.eldman@aHhobergжHcludps٥t!Т8VEE '07:roceeXf*3rd rn conferenceIexecuen@on(YoNYSA)T69179CM"710].henT.NpSrihidkuliWXl-aw8Ks@aЗloudD7th 0PLAN/t113314411''''''''''''''1].v,Уaspit,̣mXJo@deaaMambrettIponga,.Oudenaar1Raghu h@Y.aSeamlessovؾ /wJFutuPGen)kG. 22C8C90190762]yWoo8RamakrishnA)dhMerwTSHoyCnet:latmoptimized  UnPty)MassussechniReportR-`0-002January03]ĤDin`BittoGraqTymr 88.519Hj4] ogumBr (linux).aref="http://en.wikipa.org/q/<_V:_M;_(L:">QOOOOLv> [15] Theinumolumeanager. ππȃ!WIOV '08:irWorkshopn/Oisuzation
, 2008/_/O/=9]҈@.atterRSanlepM.ederwisch,HitzKleiˁOwaraSnapmirror!le-system-bas`asynchronous ;ingorisperecoveryF2:roceedsf1USENIXonferenxkechnologies(BerkeRCA,8A),. 9aAssocirR2WWWWWWWWWR20PEMCRDFatasheet''&emc.comllral/softe/d-/1523-`-srdf.pdO/////,繿l1].ouche,Week P.oswamiNetapp oi>Azl ortR-3814March10.'h12߿;c@ersiz+1"gbb}OnlineXgrZgeo-x| [}h1üNguyenran(fXpos=0001366265 idxhp15_fn1a0sup>*MicroserSilicHVal񸿸h2WǓleft?>Ab8act2ϼϼϽ4We siproblemahu`betwe stroduHWW layDa@mpytIthat`prئCashackXxdiftlOan0adilydoobjectes8eomf )ipaȉaey-valuA`domad,es#spmanyUs)wm0gainstm߰pro±jshow3mflexiزolesshp)riv@ecis@pȑpoiَxdi@ futuacsfjXbxil9@rjeO#l Yx*QvityromotGC77ϲG77771ə9ggggg'">er(ʊnrencreasinglymportantourverydayives,see`onhemo8mail,earchX,linetoragecalanduchore.hesepplicationsacataabilityh engeatsettorsXtwo0asH.irst,qrsgrownumberfsershȈfg.secondeeds pyიuq?9bXmvable,accumulateysystemsoxctinxmromĎptar@ (alizAeiXxiencxA)resulÌabegeo-distributed,hieaX@yRdeployacrosxip2centrou鎘l@dupoXn0aints,xwidthpowqumpb0)g`.esidesrovid1gy,؆ߊalso(lowADvaharbyerreduc0pxpim@von8'shoulДrightnamg!loِYY0 ehlo.

UAtun*Pnolway8st:,Pt)loa2snb藸d=new_X耐rIP8InerkpologieI*cas{#migro)@a;<٧xialYWb 8 B pa9P f]|7rWp mAab c olaR >1rt16])oughw@B̽zyp+1agإutribuyar-adds7689 ,Ⓢkoz64786 >31t釁4s.

Wevaluateheechanismorigrationsinge-areaeploymefiveata【ersroundworld.urxpȁshowaverlaysmpose@smallheadPprovlexibility*supportcachBȅ.heyhso-baseonsorfficini(methods ÈЇlockloggh.׍׍׍׍׍׍׍׍׍҆ww-ine(fpolshtorigge?XstudyomXlύktrackj!hmjheȄ@l$cpses;eomppߋ;unt,, i0Nlugh;ٓAsonabl(1one mestלללל0לללSummaryc(ribuisZsrromqbuildd storagysteH )any,XthzӐonliacroOrsʄdsՍ`u(Wabac"deshQWpPtocols (whichQ)quir coor@钄Kt;"e~Qdriv"ɔsohX75fromotmailr3-Ш`ducNomȇ oapgainst xmlݪh2~leftsiz+1"L2£gʘ!h27/ ,񙲣)s0mesubjecrashilureSdooQByzan<ؽX@pa`targetetJw©tiϽr񂊛beniisa0TYcb)hievbyn82siaXivlis{h va[1Y425 >2I];I]dXqkJ ntXdur)plakwp(e.g.,a RtXש);`ffic"IQnдuldbQokbeHenlrunb88ɁOsu1Zse:GGGG8;apRimacindex0247!hIm"/6GGGi|ofte‰'rlPagto.ͷref)Ĺ ogoo(r8hRbalo O /ea,M,reɠ߷ĺnowll8)9cthreXarios;lrxAQhpypporxq., /sp0neeؽ@H2.ƺpexa,!cªؔ's lǶ߶߶߶߶߶ߺi>Sd 1 (AHipCha) :rhgo. ralysym se rgOf0eb8copy up*changmadBoip99zHܭdeleWWW2 (B(packingnsia):herenchserakeshortripohinand,oonfter,systemreatcacat(datenh3containYhre 끂(e.g.,emails).ӅHnavelsRusP,Ʉmigr߄܂S3staysormimeo灈rtʇfromancwhitbseveralhys.exR$ixis(preturnˌ_mppli)llp donnЅ[.

Sario 3 (D?xpansA/+lnemaximu9oragypacityƔOLSpd osWS.uthtw@bday8withofJ;bednM genl0Fan ephem9 permanx.ŁWЖrsXfue;yy impldy٢퉗rnewocpoblyrefetc(gb .̥Цt\xluhftirty|{nmd.ЇݝcnotopyCJǒ١loord-z(grA6s(Bf 蔻,uXpeupcould,:exa,aﮁsѬqܨaBeslife.ɒacas(ge٬s@mhLoccultous9sbeca8ещʸ2ú(gn+gHncY ؏o-op:ɌxAwrihǛ8behؼ;awpwheѡYJr progxexcept!j(o9Wwire9Huc5numbf"acces). ophizPA8xhskquiicocCTC.פowishdisruDZn\nsumAlaramounb@;busy zthus)/backgr赩lowioHygggch2|0"leftesiz`+1"3istriؾڍqlays3T(l3.ԚQSxidirt9hoЀsmselv],/ɾǒQcі)Ks;tdiff龐aȺ⠨d 0blemcR@vel775helpsпx(7آendnifieday.

Figure 2:tsasyoseverlaysmigradataromeri[2.helackars icregionsth. (a)nitially,Äin,Xtheairtyac(ataCloȁrb)irst,Hpn etweeƃS3copy߇1߇(c)n,mЄJw;?`Xapedistributprotocol(himplem،enscxjalfwillepIs1KHngoinQadrriope8aȒ146 75aP="if">An iydnaloggsheefranspar)cs+xaiec0fa.דcBclear,/raJࡠsXderneath;zrideiy6(haԂfamekhxoccludwne髷ߑThYdeaustor@ystemseowx #xtťVayhsequensuch yZkobjec ꁄqkdepeQnatʅem.ĩxoxbaxJ2mtlyAno!oewhi`Ы髺ZviewR_BwonhowHn Ǘ812ѱH9eƍr{Ӱϰ8F迉ormitP1lHc@!sÊS hdemȬ%sq ɘ皆prio-ܙOOWabacEw˰Q)ward: (1)/Пf)siJ(, (2populᘊȂ8Ȅ┶^(3del^5b( s 2(b)22Wh ccuA㭣̬e¶qdfludAqi毰otocoXimplemP(xddhִ༐ho aym)nsddУ޳[g@cr97&ԶsinRAremQomiy fONI r`lzW[easyupporthr@saYscribS2,``Pif betwʿ-No`'#kepjxiydox 1;Oz`rR؅wwrwwww8sp,0/a imgcindex(0249AIm"/nǩƽBqu!'"53:t0`ltNomad׉׉׉׉׊׉׉50׉ײwOO׍׉׎4:{PIqacces*ϸ//4omadesign Fig3.hiᇇ not vel;)hs蒱mplԍ???wwwwwwcOsQH' er whi) 0moditya8unntarpe;;eyclientef)Yus􆃍xs]Lx)datapwe؄r كn_0 sidag`exa,puld hxHus[webilC"ccخviaPibrartiimfun2d`ri, bde(yۥool583n4mSlso1ultimsameXques@ffic(cyZs Cs0tyi1!ie:كassoci2at@ew {aurѳt+?d ٵ.ř7aa8aimila oBro@Zmbuck 0Amazon's3ۧ'"356435 >5q]𩩲bӸIMicrosz?>701 >6:.˺o(ңߣۼ1XlnumM}dfiI|oe/rem8s ()J8ppzfMnoykepty'`icxre{asyncnouslqs.ƾPflexibil,allowyi_YBsrpxyl؇g-paicH8@keeprackwh肋w:邗)chang(becab0migid)Cmax)`SmwghcageYnrroscfi|rq+riag.ɟibxexpжB4܌OJ)$doooinmbfdCU*Ж+cooraؽ J_(SH4.5).

Fromheystem ministoyperspective,Bchoicef nularityomesiaalan#manageabil1andPntrol.nne耨,MonldeienoughohloweasonablPSvc3sapacbor774coarsFsohatnumbPunits! eredsmȎ77777777773sOymatc`pyYappQdirorerv,GengIdonotverei methPfun@a.nartic!,ns7h8rdataɀ)er;fГ(m8I0ffP leavbehiinmediatVsConsequlynspomadቐd1ara@weR82lideshp`llabXIߡ߁8`oanQroprorganiz{arousuȄns.ƨ,web腨lIy("preJc8c1Wabmaiļr)jfold猪Iextrly (gWWWWWWWWWTAlsi8 0ifiR઎& tIXpbHa赸-levelocisb?m(`Z2c()0`casӡha6pꮈxYickctu;%shY{poiѾߜorPgj)meciseh3αҲ407"left>4.3Ϻhlay'(ureOL~()׻ϋϷ=honyRɦksepaa@B4ȒKSkmhbs8r(%Yiveooooo_ooovTؽң.edir@orimazo)ag-urn÷bWTWLNӁIKoncstackS~be(e hٵddi7TϕˣOlfollowGn: -id輟&ͺqto;frozetaladȩTat overlayointersannotehanged; An }structuresssociatedthheollowing:

dataaetfxtsrachbject,a uniqueitndtimestampH>TЄunwhenHpeti釁nperU;ptsimilaro*dirtySce. )"sЁdloncurrAwrites slicratany:ځShXns.ׇQpla}9S4.6ייימRead0Rqaٔ>Xota1cliyfir(fsꇽxOf__)rempʊstorrߊ7ap牢eʬnewH͟, (ckQyʀancȇ˗m8!Ȥpmbomlɱ)resp]proXPorresČy.)ρAwisezpha`ehp?oɜertR//+skreerroge&val`ȕ'3Ї0alAϿ, Priܣb0O䰆sc۱;,Scop5ashow(n Figu5

Toimpl"ȁ,quiߒxecuHttime xQrizCoccursO,across,sodo)paIXmancroblsiq^‹o!reh PrxLe,Ic@Xb:玑:Nomad,3)(ҋ`ctoryRiy|)coordinahQ7rnstasmo8outPiefaulolЋ𑊣)faiI'Xexpla)ؚP read wrisW,:yݔ(rentHJ/)e8@anlisctocolemߟ,9bpSp4.5,\hЬ(behavi`Hcsϟϟ˟h3~rԠٟleft>4.4ՙhVkFK5'߯ߐ߯߯ߐ&M/bad9C3t!Lptopsour$d;;po!illongghw'ؼvokoy`pDfrooV;fineдremC_AʡYbecay {ܻ'&3Sǵaccex3hceedB/*3euirM{l8ϤϤˠǠߤClKSometimOslH򁨼chaЦʻworkload.ƫaifФʞvelfs +tartHreturbeؖѻAm(decQÿ9^i8P:ysyP0ͽʗyӼrnewwdjҕ ښ74?i't below.ɠ˄hlyzloxolȇ@iz{!ffvNoonJqH۾pKPϤhichɅmpr$72To 8fŸ3DωyhPspal uniquePset (Sp4.3)ls?do񲧲>CkZ acZtwypН ǁ—--through. (Cp٩ald;;9applicrNom)Xablࡨ",`~eТy\He er;idaed byhe flagarameterfinsertperation,hichdicatese0rZoverlayillorwardriAtobelowrot.olushcache,nvok逹opyOwJrem@WWU/.

Mig?e
JmaK (mhadirtyata)peskprocedur؂/ Ytn ,escribedbh3^1Qleft4.5mplementingsIh3ŌʌWewFpiFig5 Aneasy ʊ@hT9isamag.Ɇ񐰂ђGEask+J@executhrections: (1)cop(ړntrw//1, (2)@+nyritoϑitoand (3)pk_l.-ޔ~.hepWPXn)witptspcauer$/FxH,雂XǏ2GCН|OOK???????{pro@sdescrib`faro pǦXsoM[ comp9occluded.רA8backssoon,such*pa h[nextǞ牟ממӟٞמממCa0twqsoCfromGAZoms//seRdea:al`ȅ__٭[bmoeffici 涠鲩pu2s2alrysdAertaobjPsJ{(iHhi(sincSI$ϭoDz粷a b>R! (part 2)XnXmw WWWKdudTu9 invokexiȁУͣ^tws:OOOLolpli 0u1">I׬׬׬׹׹҅ڢB*ǥ5覌ߘz׫eviously-nworo 7edP mǣȯgЎtunlI'@霨pexplxhappȯ(8ϼɶzbѺ׺йxlؐg"2bP8m@@ص>1shagֿS(laxwhiwouldsulnlospTfircaemp(rpwj3煲iy߳ݿsà^,_Xng*IlefpGawGg`yw߼\woAsaO5/®HC3timizJǤ˗ȿԙ?SʼO)nYse:!tak@R 8dظdefuriϝ.ƿexaQupp%jaPachH`waHmigh;aaZne.ursۭ@eтalsׯor ci‹W~c0rwaitorheerverigrationoinish,hichsndesirable.eddresspromyavingopypesunЃxbackgro,reallowncurrentxecuofQ@laςȅy!ametainer.Ɔ`workPeeedtrictׂׅsoa*yoothangeourc@nd tinspvolva(example,tulde c mX?0r77l{ɍXgoon)JЍ"siysetxgfrozenla+;؋Uenctere 3+exitsitherr(!reesa.tufficyreezÐHQftwo,Hcaus牏rhigZrUho pt߈etwePmllcӂfirsdPߊ.

Coctnٛof
.ԈK,\,Bdatavensurɗreadswritbeequival@a"( us@le-systemiaSh¤xpO)8oc.MP/j{(PQaPr,diؿHbQxcȸHerviibhasichanged8sllowTol/qfini!7n1)are`c(1)rnewgop(2)dQxd߆(3op׺׺׺h31׺פ4.6ec龎h3Drլmhawl`compon@ck`qano level,ll-Ai>,W+ 7i>Wi/on鿠(sible):YIlrL`re treatedyheigherayersingleirtualode.ԁ`migrationngine遐boveRreplicmechanism,ndeatarom'd(ohorAifwerQt&atll.orxample,hatwosr1Zr2f)torag,Qyb p/r;onta؉`inand'rshcouldass2+adva ؅@-levelzixmelyЈ9modular,causdePd[neasiproviduHdiskPratrdes, ؔ8{stmachsHordinZviaaxos24y];drawback benefژvhlity0r(sfinpncЂ !-YcP rindi,acfabstracUow KZystem.<et="0"> Figu6:ңbaGsNeworSFrHiscࡹsynchronousꢤgniamiNDiego1sY0s1ώu46 75!ace="serif">WiHdiHy' viXmap8Xbj/sHraq(Aead)olc;חן׵.d-wri(tocolS(cli`\beߩv?9phys؇бr. ߣFȸ llHӳx0360eIsmparticY@fulhenKcros W!wplȎwomxtesuppor?t. (sTmJourKtype.)¿ߟ'bYeblishb߻zqWshp.Ŵ'ipubsequҷffK޽topitoĵ˴icopie⍲7?epn8ncesdhkR`ihOwwmoshaiᅻhl-boxwhiNissuXمadәʓJdvia(reell-k0nprimabup1iPtamped`UВl''Hު:𩗩AterformSj@haivbÚpced8cribS 4.3|pecificG

Wb0cheb (aouXrimary-backup ed),c0ilPhis+mȒhdsop).ƃQ)sonmigracooraunQcleanp od`yY seJnd𖡀qmmak0tsyog!48ۉk )ilayїQttohiRrGsOipIfhrasЧBoāl i8lef`t.‘ecrib9prov XntualsisPcyWWWWWWWWWW.Di&iϫ٭!os4 mP7(i.e. e!'Rcg[AWinclu趿rd襠currMiPu0bز6yhrom߉߈D(HOQbea*l(Smse)ʼ˅wƾ/iit.w1Gh 8¼ensuʿhlчOOJireturnolys/tb(9͓ gfӮǘsinizability20]OOOOOOOOOO4ݬhicedSec4.4h3NR0"Y>4.7ulti-wxcachIsLFigi7. (bexs! impln\ourtotype.)GGGGGGGGGBCeffic7soutFacr8[;diffоcrpȠs,۪Monкeakgg,ameevualOIAGocxa=sr!iڎ8l;ۺ[bcЙ oheewverlay.henriteccurstnpfzsplits,ځ?9snyr:*datasarkedaunique (dirty)dtnotFigure 5.h`correspondsaflushingache|)g`eceive,nvaliPoldmame iJPusy'ime`mp decidhX@sult,@ntin8allyRi8siblebuso@Ȍs[8downbe.ɉex nj3118167,;MiamiggyNYork,Ve!@isagohicago ich{siscarș.ubsePPreaX(will'from.

8genltocolfolBp*@XOXlevel)km{sub>lNotehatplitverlaysaneigratedsell,singerocedureescrib8inection 4.4.hisodularityakes7alexiblPechanism.

5Holicyfeo-distui
)8vi.eow cuss߁:dataoMhe,jnQdooсAnone-!-fits-all\:Widepe)specificfkcenter9loymh8)ap@crequire".elowڕ}@meyqkeytor)aݘ؃m Pxcons''''''i>D7 n:БmaySewrgs,anymIr1formpr 8zcurrcomp؟suchYMicrosofwhilatalnbastustainx< pos=0001358648 >12].ӆ9l`@cloI1lXer pśschNetworkstswWw0u8mmunwiff ns:palqtwe٣exWn0th ( Iet)˅ael!Tvary.ɜ"edd,hivHownlinkhA©y`Yafixed.ly,leZҹWyamou`=pns@red;exampl8ѹ0Qop)i8@t @>95(H9щյ@liz#r6PddySPv#߆߆޿QoutǽǽǸAcceȶtocol,Wa0erviviwebe @d:DNS-loadbalancing Hac0grnkCe(e.g.,8rpbox)Geෲ#hȝopis:ulliARܾ٭۰\3¿"pXoSubsntѭr7bˣ׾ath'fromWW}H+avbXұգW3ii{ex8ienbecaox$i0غl@laʹۑ׾QinhA[cpfetȥо`RremoO"usqߪ߽uǍǍËytʹdpActab`#imeՇῈsfyHrGtpdadsHowevȄ)@x%m#sZadR]/AgainRbackd0xig olicy؊off߹ںhucles~̽(';also;oq1<޺Xnon-㖬;ǥ’del$ R0b>AŞ89onliXbI0ddi [loymˌxibove,0sYp charXcFxexampl`Nomadulسda thateriodicallyomputesptimallacementsorataivenheocationfec8ccessfsersndjcapacityieachker,s邫Volleyystem7].Ԅ8effect؄athisolicyependapp;torksell酓ovtoe9manH,uthnsultexigrtszackR0th.

Wescriaew}laybasedpre!future?ы!xproviЍhshoWVz(iepk:lwhPliminngnnssarysOuPakdecisk Šrostdo9so`u(PbfiPIfX0uldɖ,\,#choice(0easy;innnomhettQheuricataabehavi`t1sam_. cx0 hreimpiesylnit9whszriggondiheeԀa fXow@:zulli>Counti>ĩpĠromremoNrtaXnumbhqim(e.g., 10);6ɽAStorageerverseataornlaysirecynheocalilystem,ontainingmetasandneeachxtentf,amedybjd,arqfsetez.riteoy!er@ds. cx`memimpreader8mance.

7valuatioHfpchanism7.1meWڍwq3MwwwwwWesiderwWhiof dprace:ulliLock-baanPi>hIÜopi0fromld(!new]kso`JRဏnoted;٧Pd .ףQunH_0mar sixjspȦpoi7Ԉ_cxjooʄ*،Gur)(yx,802ˋOقgfsheP___YqagOǒ"9godifǔǏl(cǔƎ/ϱgggϱ2Ūƽ pupǣWǰǰǰǰǰǵ">Our{s`inxcfs:ouVi(CA),dmox(WqBopn (MCambrid(UKXYBeij (CN).žЄaC@thquad-c12.27Hze࿘cessor16BqRAMl@skprseȋ10,000pmAS:Prunn64-bitindowsӣr 20082.͉nhaigasch&ariousbediHnerk.mplHncbe9`foll,ms';8[p27imgHcxexX0255YImage"/6GGG3ϏhrfplaysznowXuuimpoaH. Ac9yq.ɺHhXevȐAasu|иH=8cHႲ1o.liormallbjˡ@P iffer)Ϊ0x@foHsepaetp,YqamGYtophiPxtypPfavYᠠWϘ﫿ale=x1328097 >FigA9h!resulf. selfirs(r h$,causFigure 9howsensch,epres(vefRworstase.

For ads,situ splar (not:n).ԆHfiiscoverQlayhwhubsequ +ሸfasterSexactatencyhdepen؄)Latadata:fttop,qocal-a-netk=,prwiseWXm{ieoommunicthachccess\until"found.׃m?an/)soaoh(uetrit񈤓xmYnex samlwill=bP0tingaX.li-settabflagminwhe随fenrߗߗߗߘ8~crpꘔ0aȀ imgPcindex02568Image"/ngwvb kquo҅&:׎Aussepal^nanyeographXl9sx-axJ{numbPand~%Ѕ Otsp؃>meas9€Ѣh>on-Pkin-memorytamallJ1BpgGccubecauplowmtoPlxludhhpI2,ar'hHXTacrorcoulultip@WLpric0mo+usuymptضiȯ y H0ot`poptroduarbcoPPmecismp(oY1ct s^(we`0܃+pna`u͈ymc-provisedvh3?7lefty7.4lexibilitymiAh3/t£򔁬fun2@dKfǷñտ[rhXy ;ur,2"cٺHrpushZmHi*hfpeЄ*L-b8gtgdoZɍϙzsupport`stcer,8)vsadith enqs,9'''n׃ҒGĄpibǠw̤SrequirPisreful@sO sxmummarizhqt٫P ϿϿϿϿϿϿϿϿϿϿ7aa>hdeZ٫d`nst2ήpArhvtwefourt: in:`9UK8dom (UK)as0h(50B .Ⱥworklosisuiɻbj:soe8f 2@` 60x!PB(MA؁9aPaJcѥgrKxMAYɘJy8p,إ300bp:bؼμYmaximum/Ahnowouns)i87Ptak8rou160AcopisX180poedd (WAK-MAZ9f diso᭄a WA332+populit/0ybfr`P񴚺4?@GCCfornia (CigrateeracheromAoAt of 400bps.ԁe sepaexperimentsoreadsndriteNoHthin@ist,eompressravelxoanit cenarioaon@mallraph.nmo0listicHtting,usmay0map:locatio severalays,:corpondXsouldokikhgive,cep Zharggdepict inhmwhil on.

Figu10how0plncy'surՓ2referocli8unn9ehalfɑ9datlosѐ%:cJbhbppliwi0Gr.ו[se~itiyʄQ0, leccp.t 600oncvЛ mistartyprou1 Hew$es:қQaܖup'јirAəlHck.oxafxàZdrop≈0becaţnowlyâdu aworkA؋q;edUKMAhich\T70180#30 ob؞"aphenoonV"copias04sib‘)availabЪpopu¦әڪ›RWWWW8sqpb 0a@ imgcindexP025zImage"/n߃bkqu'"_:ґ)n7tween 4.܌Zd$z'%)79篯__ǰϋ1矧Jbe𸨯ӡ 7.ͦ5Tcomple꽨ߋ߷߸ h3? left>7.5erʬsonм h3''''''$IPexptevaluYϻʯ鸂tntain8pB ɶ&0WA/((sour8E)odqXsm(j@׭¿YCsymͩ .((dehn#d2ȹ#s,h2bhx.׮easy׌ۤ޼progrRǮǮǮǒ/ ailepos=0001333175 ߯ow+ulNomlog-bashגє(!̕ycuniliteXwog.ԿOO8givXby"):ooooooooo746077G'-ferFnewwԂz3 ԕ߿}ߨ'GёcaxQducНaerstp8(ldbe(Bdonypely)OgO????WSL'hworawback 2.irsreadndriteatencyemainsighuringigrationecausepesreervepthpourcocuntil/sompleted.npntrast,ithomad,ZimmediHlyecreaseshen…?startileXdprogressivOH,)clients@omchosobjec@0,simeasjargerracofʼnisa؉a&.norrawbackQlog-bdth(itsumthre ЍXsuch⏸widXforew#sone(howSxph).Ԇzmust (1)0ce, (2)hfromoДQ(3גmdestinatuit‘H`%l `toeHsoǖǁ˕overlay{canoitTXystemro[*aib$/+ FiguP12:͍xmpathМyr4>2000(lh> 3eekإy> 7cces.isclaHr:t hcalsifhnvidillPHpurp`nQnssari0repPHsHotl'Xarke(ener1A'4 yace="@if">Wlspri_(sul@鲨wouldxp:ϴͩ`not hXEsin xyh2G'leftsiz+׉7I]. ydedmechanismkgpaRc.uˆRiloginAorh≈50,qromXchn,llXwonths (Aug-Sept 9Feachڏ`taiGtrIPddwhiؾхginiab؁мgeoͿ iAapCAitude,@ngZɯToppeiewۊkha+nؽ' hbox. 36409 ǻs0j·wwwwwselimrrintroducۯeo-2firsXre-01סs(qsequcl-ܣ#2(P*n 15֥J)!o visitsufUANYorkäJ(뵩(YP)ڡ˷rIf.ɠ2xn BzSel(g HۇA lЊSP5,at࿐nula @mporta :篼onrel8Ok Ѓo_Yg py9Vdisetweon堍nex:abиQld u:r0pon…ʾIWrranularities:

Large-DCi>hresholds 2000miles,orpondingoeploymentithassiveata〸erserva 8gerea. 1%fhesnjtracea(visitsatatisfycheria.Feacherty,eHudYpe(tx c@s0bSec5. kc until)fЗ0remoteahos`infromfirst$exceed1WS(), ɏ0).׆epplC—os4Hs(ifG triggered;Bexample,Co8a10sc@ainsaorccesseɤ???7777770Figu013 Xws fssfunN:'1.@aXrel𧰌ttneOOGGGGGCnowiث9effAven usڬic@sxd-xxؗ;bf:Qh6Ҟout7 ou0*beH@oin 2r0 bׄtz_l?r az'h)ailbox 5(timur0pXH5numb@ֽ?ww?ooooo??9760?4?Brappy-axśiȽoYirW,iLargex_ty (MediumA@betwAwonopnxb஻ٗȺ+⾜; yPhB|īCk)R-ccuฉcA xonicy ;re౨mo!wMpobixbyhooB㣸bdeh୨k-ev,hereheenefitfigration (savedemoteccesses)utweighscosǁ,ssumingRelay,odel (SecJ5),nxich{ndpnwidth Hsainternaletworkcanuantitvelympared.ԈlinearkMCllustqpecificseedforosquivalento 100߇d(e.g.,t)recemails)`numberulddiffhnt,rrespondoorizontsbreak-evenoa߁3"sЏurveeapolicy.

Figu16:Ōx芠iH˚Ϛȉlj14^ _]Iace="serif">IxoȜPditr,B may8mitpϘf Hfgrity. t,Odo(opportuni`cally,sasyurtidk(Wʛboxshk(orght? wismZuadapU@gumatavablhw|30755zexplainaCouؤ 8elllodribuDtpvisit;`eyOL!a(n(log- ش7(|aavy-t0Phb,{ew+حinmanyﰻmonoton;ec@Zwljź|previou raph: DayQwxawayhibproty (os@lackce)rFiآXde·overh宿7.Hmhoaȹed.ge4188g6bXmecy-axi̘R(Iy;Bexampl ǦT3 10%"Huhs,Kއ 55i6_?ӹL)-DCr.꺠ed[TimyaX,qui2almo֮chieHsH,__ph27)0"leftusizp+1"ǧbE9 Mnmeismbhae!H9ystems۸Ǹ5966H,60407741816821G23363罟383 2ラ5203 >32Y872J]򼸈=edo2supporBoyck-bd9kn.Ɯ,FS7OO>]owolu䦠xromr ʱyub/65574liᛑorrow)cl@writuׅB(ncӓultim0PHurn3hoPhichsHoordоBpoi`(e.g.,fІ4sacnngeao>],|dYp!nrepavid(onntucontencxtraNomaCephos=0001365872 >34]llows (theetadataf)irectoryoovedromneerveranor,singock-bashmigration.oda28wpclientshoarsorsconnȄ`ope;his differK ce{1arevXu8yeturn hatwn(.arsite04017ppeXsupport8,yhangj؊qidifiprefixpsaڌvoidaces.FSυG740@ͅGGGunkH1opysanhhenpȆ߆߂,id'+st

Mfvirychi8(VM)aellndtoo0echnology,䙑VMwG55823Ëouple9y*laiin؊_896т#.Ԙ'"bouovsfuncpVMOrst.n!ipo,IVMmemАied;pagqfabe!,tmarkأtyiS#ahbsequAyyxayxecumanȅxurldecxpauseZVM,ʠremainYkstaiVM.Ӆworks8r`5 Ctro205(22sodyQ oubecRpfocs)ach hMwheĭ{k,rew);ptribHdt2mddrqudordamos8r(whichdo`lays)PNUT'9257ػӠYrepliccrop*cZa?9sପ]lsm֛IqwuǎIlouϿiض6betwe?HAmazon`g"G617ey`roÀnl(ic鬨EBSollows: (1)rCsnapshofЫS3(20tQn:(aVpopuswit ' oughmipfayri!躉ori@durD'bjYC7#seOO8311Q,ӧлٹ43h5.om42P:]))coxPЬA,cxhavdTCPntsxtutcm anismoy!hp-baq_CommerciHɻrXsolu0HP-UXgl Hp32596ڡonlٸ7ȳ`allyXH[hniТzt,duX׸926Б]ʕ,Qtroltraffipt`w$ nciI>kn'&7402 >8410349)5227 449 30$h (@yrȘHam(auorums5bdXr_,i .neww¹Qfrold޹l wouh XiYHe-a-n0Mpoy.ַ`eyw025 >7]sesystemogsfccestoeterminelacementdata@rossccers,asednYdependencie@whoasmdhenden,Ralancestorageapacity.hiifferfromurorkecaYfreasons: (1)olley'slgorithmomputaloȈXr all10schsparticularie[shouldigrated, (2/oHnot nsidercosingso׉applicable酲et…cDXZ1R;Hact,SȄq-benefirrʼnrx3propomechanisms(4at(ptpredicutu(ov.

Previously,Kߘbeenxte@velyudi芼tQwebrvЙCٝDelryets (CDNs)29z.iY{@`d-onm,oluɞ{Kre@ڟ v{ooooooohY٣5Asexplo(mob0s58043 >10Inraxta@ornwP aarȟXH(e.g.,Istay Asia xrenoue?)hpa fAciPlocswh2leftsiz+1"/)7S77''''''AcknowgsىYefulqxmadav,ean-PhilipMar,marЈhayeeSFaYu:helpy(jɟ0earXraftouhepdinsiehav4dany郇throughoJbwwwwwwwrRefe____,oonb`kqu/[1] GGGGGGG![3]Mwareewselease,irtualCenter,ov. 2003. ml! [7].garwal8.unagan0.iHSaroiu,.olmand.hop.olley:utomatedatal@moreo-distribuclouds.n Symposium pNetworkSystemsespI ation,`s 1732pr0_____Z8.ˋuilera,ɀeidaD.alkhiCShra8yna8(withoutonsensuhPJournalfheCM#58(2)1wwwwwwwwOOOOOJ9Merchant,ShahVeitcXCar@noliSinpiaradigmrbdincalabX田{BransacIsC(rœ27(3):5:15:48_910]9AshbrookTPtarnIUsGPSoegnific sJpredictovsasulti)uxPHo Ubiquitousx;7(5):275286,ct:3;1]ҩ.hiHCPHbject-basprog`mwrvurvey3(1):911240a199߼߼߼߼߼߼߼߼߼߼߼߼ߒ2]ChuGreenbergӳHH@ltOnelivpembarraslyHotopics 0sh0hops 55608߼3]IClark`l.̈iQvirtumacȹ273May54].ƛoope(Rkrishnan,չrivastavSiliP.opno`H.- Jacob.uzBWeaȼCHYeniNUTS:ahoo!'sodataplatPmUInn¼ConferenceVeryarhD!B 12778AugϽϽϽϽϾϽϽϽϽϽϽϽ[15]Dabek:Kaa g|MorhIo؋ide-areaڳ8stor0thFOїPc1!022157/bဇlockquote>

[16].eCandia,.astorun,.ampani,1KakulapatxA.akshma@hPilchiS.ivasubraiP.osshall, H׀gelsynamo:mazon's(lyvailableey-value e.n ACMymposiumnperngstemsrinciples,ages 205220,ct.p07.,ages 143155,ec. 1995. [29].iu,..admanabhan,nd..oelker.nhelxmeofeb vereplicas.n IEEEXternonalonferenceiCompuImun9GA587H96,p2001WWWWWWWWWWWWWWR30].odriguB.iskovsebud:calableyzanHe-fault-tolЍ`storrchitecture.ech leportR/932,ITCSL3OOOOOOOOOOOOOO1].aito,.rolundeitchZMe@SpQAB:uilddistribd (erprisekraysrom㒨odityQponߔcAϕsupforrogrammlanguZIosgs 4858,ct4WWWWWWWWWWWWWW2,.a8anolislssoMhngamaaggressiveE顛Ppaeae-arPfi(kUSENIXȍpsiDesؤImI3023WHjT..nderX.FShmassWorkshopAbõOs 7178?????????????4]WeilꡠBHd8xMilػP.ongXMaltzahCephle,軠-d30732N 6_xb0left0j=0255919 id="chp15_ftn_ida>*h12Ccersiz+1"ojbSlowowrleep,Que`!]h1פ׹WEtienneeueurGempHeiPwwwwwwwoooki>NICTA f:SouWale___Gref="mailto:eI@n.com.au">u, gerhOOOOh2GGW}Abstract></h2> Energyonsumptionasecomeajorcern`allxmputingystems,rom versnata-centresoobilehones.rocessmanuturhaveeedthipymplemxpower-agechanismthe(rdwarndsearchinvega1howpera@cankesefHoHOinimie74.uchˆfocd `a0classA;e-intensiworkloads.18troi
ߩߩߺSѴ($77776e-grhclock-ز*@exersazoj`pIwtiX hmHэmodeږ0Cc@2@(Z(ВⰨtit)ئq -˃H@h@e((7D8ulڵOYrwoheGGGGGGGGGF{twypϰϰʹmaK-of0OSr:izYaskQadPU (9l)⍰rem q:ngiod:ih(i. dp),,GDh8/+wʂdraw{soQssib{}idIA (apHai>r-to-halìA)ggggggSP(Ȩ(arدyfocZrovwYici byapnumbqnileXoy@@[6I, 2386 >83163 >101].ȯ,2Χorklo8,speci(yPECbhmark˴ireT(8real-ldrIddimethodolo 5Cstudi(unfairbiaHowarPhoh ٱoGduxhta.ý tlyXd(rom_"mhyertqcaWcj alysp e(-claюRqnIenq :X-Ans.Q__179 >5wsdromommonimitatiXinhattsednrealisticorkloads.tlsooc:exclusively high-endlatformisaper,eddressesehortingsyook` h΄areo(repenvefalystem,uchsultimediaecod0/ybackPservy(web0ge@Tڄexhibfrequȃdle io((orurstyehaviour)hiYllowrade-off;DVFSpCePoha0*toughly.

Wьa erangv9orᅒtt0un`@echnologyHX䐸n i9ur)ublicR.pec8cyydesktop-cla|bapan`telÒ!i7 870oc`(Dellostro 430s)"twoiltqim`opular`-pow micro-archi tuyAtZ550CfitPC2ARMtex9-TshumhsMAP4cPaboard)͟ssvTab1
דדדדדדדדדӅXpa- p*d1foЦy2issreh9-3uؕvQewĎ-mananis8~availthre4mȖexmehd5nGfin:valun 6tl`kcon:gggg 8c9rpr0aP ,ϙ434 >2]rmDesСJ(TDP)Ѣaximumssipcدo'%)6h2NJ7Hleft5siz0+1"cr energy-0pxpcomput2007864ir HseHusJX)aoogdata-齐sh1 ԁУ aXtgnbnthZ-liiP-,ugg9Ϊ8niXinXe陘,xPmainsaminuxߥߴߥߩMo0lexhadevbma@HYma(l8@o صmpQre{Pa&.ӷL5ȷ`⠁ЎsBellosagv3163`0zS@dF386 >8hardw(uQs!monavail* meȩxҤ I.ՖؕƢ@sa1jup20 %8`achi2þOPium-MPXA255.ȿ0,'SPEC: do(thwideangefeal-worldse-cases.hisimitshataneearntrom!kbouteracticalotentiPfornergyanagem.

In 2002,iyoshit.howeddecsenlackimesulting[runniHarPU8equencyouoffsAnyavschievbyDVFS7].uaeb-viloadlarourwnyXunitasore-effici{hW (i.e. Pe-to-sleep)Rboth-utilisatioPscenarioxH,"systems#Xevaxble 10go؇yiff@otoday.͋)p idstate0(nowO,irsBiXantlyducdraw.urpr,a9icRgrow(oporZtotC,;9imp@ral6pap`builds9previouĖlook֝ Тޕ~clas2retVwimo-Oechanismsh2VZ0"leftsiz+1"3JPM3.1J3_ oooooonaoexplo!reljpp`tweeԎ"aMOSvicawhichclocked,ǻǻǻǼj8ferpҚǁimgindex0267Im"/6GGG">weICumcaicircu(depentsistfea9)fЩXV_YppvoltP5]77777Oonoo3'&bqquo`">Fig1:ossiCK oi7.llmhQC0X#pal1E,Uј2acsȳ؁pǶ>rosDe`Vostros`cTurboBoPGwponr9ʨ)YSadɄs Z2.93Hzl,豘,quencyfnerore(sanencreasedpo 3.6Hz (inteps)epending0heowerequirementsndeatissipati`zrocessor.hiimvele-th(d(workloaderformance.henowuch:f Gagbyirmware.

3.2dltat(CT)Modernsoffmultipi/(`r(asCPI ese (XnotCxhe{aumb from 0someximum.ȋvaluyieldder,s1`lBsconsump,utryexitncifin(,Zpackevel,th 0@ُڄwhi8aexecustrucBeyo)hӁknpecificVm,XȜyu(turehxedx(choo(l{technisoooWWWWWokBecauhaДv{ hardDtex8(HyTrs)iaisttwepӏ )lsaknsizs(n Fig 1 C:7goooooFσʭ AtpZ550,ɊlralgXsi pp0 -savor(Ipucedraw. exa,e,IP(C1y @lock-gǒivityhxOC3(";'sc8L2c9oflushxL)ٷȷHd65suoIyجxQleaګwell(olȓp87eؤq!y0m?w,ǔ827382–)h@totalZwDoo 430xGx1lKsa0ssiloop,(u#/ʁdXnt///8c1p"ρaP imgdex0269)ImH"/n翯biqu 'mh:ɾٛfou!0i(gwwwormssr-hsideϳͲѳ߳߳߳߳߳߳Inrrast,RMpnot@nyOMAP 4iHefOSHs˺(bavws)parYf3.IJY olPlOphfrvariaumbp8s` irstlhder,r-0*taken,вP+howwn)RvoltP/c8gFY8i؃lwrittȰ9ackistq@GGEB|gulattPPLLs`).edworklor`cs8m^8nsi) AX8 رÁ5o|hirфmecrnSтsul:oh Iiyldyhv +-miZڝYaffeditx-TPHyrea࿢ataOOOKh2ϰ15siz0+1"Asiscussednection 1,hePECPUorkloadsatreommonlyfornergyfficiencytudiesnotepresentativef2run 8mosalystems.Ҁwsualexhibitomeevelidlss, (owingbsleepattoerequly.nntrastWWR)intens,rw(aur)execu9.

ThereЄwhosere-ldߎہHbeli rangj5cenarios:ul8li>MPEGlaybackmerndgstm,JBB2005avanchmark/2ooooo_hiri mobi81deskto8T,P!a le-Yadsof;-titask, xcؖ)prolo do0seaha> ultig! hich^``o2sporadicatuБQebhxstFin9thir`o uwritH̎2yPdȎvirt퐘ine (JVM):u'sإ0٥P⡄iMqubϨ8iv{XbxVFS irXägaexamdur m x؅axXg!regarۮcThmeaРanalyȮ?<@emnRt?'ЯwithohaHaccou!``sump(byaddx)5o:sh(ashown<lepos=0001373801 >Tab1y)nnHÒpowsourcahroughme. es@Rdata!orzotWȒhUb0uinux (10.10)q"Kern`s2.6.352±cpuQ frɖs x@*r. Ҭp0om \n0#ouPy‡AqiP6R(`Kobtaf,.tH0vir(n 1%d2////׶׶׶׶׶F\ dHde/FOX니@604H.264pde`tm/h-de`+(HD)vi;C7 X`oloIwmbed,cX2reduc0puoaP a`yunJ HD?applicsXdropp)rIosync -o/ERTOSubhhxXf="http://www.ertos.nicta.8.au">Oaoo(whipmixHTMLgargeDF:TXѬ1a 10(nu0ivalCwarm-upiovbrpdisBbuy-c8𾸼X@Sieg3[400563 >3i]jsepaAin oiV繏gSPECBB2ء'14es¸(1r#nuPr!hTpaf``b0.54spend̂wwwsh2&*0"leftusizp+1"ǹ5ұInheollowingections,enalyseresultsromachfthreeorkloadypes.raphporomsdlatmpremittedjbrevity.

5.1PEGiyback&OCoi7,ecoda`-definii (HD)cstreamlinery PUtilisabetween 7-17 %pen"yfrequency.u@orsHle-adnatu9n,lyㆹcould(allr*s4idPndeepÇhate.ԉ1kransrwapproximhon7e10햙hii!rd mag8uthweb-8.d,eg@ibo8hxob€hhwtp`, shown1RopFiga3ښ*mano@ysystem؄IuurboBoosdÓpdrawC0,feopportuٍ xinvokht(dLC08center!pa imgcindex0270`Ie"/nw$blockquo!ǎ:Ӎ ()nYenergyHnsumpCbottom)ænD-qutyoviV0roesk(l`tPalG@withiffHͭǭ׵>؇ǙǙǙǙ I0ޓݕdug?cyDVFS`eificaȍLsavH8PH*becamulessvtOgeP8data"ǯ-i^~(2.13HzC6.o0ticeab*XVm(drxr8rP0audio/voPncנ/dtwombed%mIR`iroc8orsa((Qccelhardwa(i.paSP).919764򐘠OMž g-manmsarioHinclLinux odBHvegA(8D`mapumךڼXea(circpo`sT,ܽ ( weqskX?@) OMAP̿ڨeam("nwrQup 25%no+.nyؿsrྈde4amhwhix'jp?@ap*d(2l-time)0.P,ѿPiXE8ma yumitز.Ռ׌гAalso?>18 %combioo,PufitPC2WGp775.2pxeb-orkloab`h3?BarroHolzfounGooglexۀ@pemo1j under-utilised4].herefore,oestheffectivenessndmpactfVFSCtatesagenisorkload,ل SiegxraequizthaPesultin GBsystemHpraphY39381Figure 59hows3CPU atieellostroasetween 12-28%epending9f"ncyojed.׈bservaig8ctransi9sgreXrYcemil9conxm0ttimes=taكwithjMPEGlayback.Ћ,(36 saJslHtly sDespijisital gy 8sump‹)minim2low (1.20Hz)'Y(C6)iQn)middle[pddballyfo`duchadoeasGnroughpu 0`А72TicixlsJoule) ax߈,bottom`afZ.

SXlarAoiwh*r7wX`'$tYrovq}dnishI 6ÈfutaPcom赸smarkxߖߖߖ߉߉ߒG߉߉Uembedded-cla data-aPoopicohalso TfitPC2 P0aboars Tkh.ȫveræ ip}uchoะbes@ianق.Ǒ˶tٓ9ndeٻY2purposeYUSBȸp isncleHȮX-pڕ`cor,haaа7.urinviga0Yihoookh3/Ϭleftooh>5.3PECBB2005^(dh3o|XhhaHbh.tX)mey Lrarchy AqscalabilitySMP ҖOahQxlaut sVyback`b-BotalWTpe౜nurQwarehoRm. ngVpap0ximذ30 %prea`c  gginc‰'"aoxtqڦ`ourl8cmaumNJubd(thrGquadQ {bo9.fZha@gibC-,⫈ӢʅAGUXucshow(㲈raphFig 6Y- (aom)kqi)2.13Hzп96Mr(tsiq]}j2a\,xhѵ犢6ZJR86erpOFigure 6:hroughputnillionsfperatrPecond (top)PnormsednergyfficiencyaJoule (bottom) SPECBB2005thourarehouse0nheostro 430ssingC6leeptaatvlPUrequXies.

6oncl@Ʉ0h2?9„=p4& :Weavextendpreviork{-`timisz[DVFSyookreyticJloaddifferepclasfystemsa@recprocessors.Վ]s肖hxthanqbhmarks,showȅjcllm8EԁʓX(r-uЖa.isuggestPem(
`rp,ulerfPll. alsodCsIlylegQctqance,⟠siantЉ̞ ę畯T8ortPit1siY: Рl@J!sc`Uastor(QoS).ƀMPEGlaybackweb-0H7Hduc9OʩnoeasurabP(0zeresultP_\beyeY`rata-*s`i9exp0st-c<1ieppx`Fur invi8neeqfitQfind_??suchڠhHdynam鈁rnȯfut^s_ca1Y۫ea@w[нlow򾶎pnY"xǸdFrom analysiippeaj-llɕbos`U䰁śc*sl2J.ȉ ,+ضHEI[5]k(u atzxڦ—ࢲXJaϫϫϫh2~敹siz+1"Acknowledgems/[4]ARROSOIEEEÀ. 40 JKUMAri(xpslope:nderstItXruntimeectb_\U16Int.upery4Nework,Y`SA,unA2@ACMrx,p3544ooooj8].NOWDO/ĊPTTERSS.ͱDZDZǧKoala:latm OS-leve=mgeme!4Xuremb誈ery09oooooooooo9]װww,:LCHBDMRʽHENKS׽r8cedPU46stDбMereCxNov 1994I132310SWWWWW.Jruise trolnt-dri@ dDCASE!Grenobl%811GGGGG {h1v2cersiz+1"GBb]LowhWSetӁrac*81ph1oiooggfWeim1ZhaoOK04264OI2M1O,inxining520ga3e2g,en0angG4 ǃiao7׃WnYweiuwW, XjZLi7gwW3793tn_id6Dep0ofmpu(ieMichiganechnologinHrsityWW860ם7ֽPeOh2leftg>Abst0t_Y244ooEffitemorysourXquinowledgefheemoryemandsapplicationrystemstuntime.idelyroposedroachsotructnRU-ba1missurve (MRC),hi؂hvsotnHrentorkingetizWSS)u lsorrelhipetweenerforcepdarg allos.nptunat,osfI onitorqxnontriviallthoughpP0dPthVL-tree CIurdynamic؇hoverheadstillsi0@16%` agBJeynsHt`8`gra8@stabltye@8ntermitttraccheZRcporariAurnf}wh'"YpredictȒhb.׊iassiPhardwg xers,ldgaiЗgnifchanXؙ?:(expe .ŀPrntalsult@how,ysthgWWW!82execuњI cacyo:pPn 4%.̀qi)@tcT@8hogonex ܆echnique(suȗ_____Zymbinc9Ճ!swex2Wp+balvim(inou薺apeedup1.85.

1ɣod(1]ecaushsYrSecCWanyolH Qm.nǻǻbuil`P-levelss).Ԥsccessپaol½h 9JلZes.tudi_9emnПu@ (p)8ts𰧧zacsys@P''Hvh8095 >2, 390 >3߁716 >4ϓ9027 >5ˣooo//T///HPȫCr𲙫^@m8tXRivial詐cPbomplt@atю)Xr crerapA7mayBshadhi)oȿnef.ƺexa,SPECPU2006]mpy ׷׷ӷdz_wpaXkaisן֏ƨ.eanVLSynamhp(DHS)0hiXade@ln (chnrrt/g35PhCoam. fexhnoi p16%H xrOBadvaPhbeiù(gurrgSqupPitE (IMTЊdoagnifloPpuya9{9He}Bbৠdȅs1з蜸eYHJCLded@HiyЛe7838 >1ӾudXssredictedotaynhase,heemoryrackinganeemporarilyisabl#avoihvost.atern,hehange?setizef"new. TkeylleЋ<LJskoff.ortunlyXb vhatʍpbility14demandsclosrreldhthsomeardwareventsuchsataLBisses, 1;2 cр.hHinspihut،H?;WHow8DфB-llhow9hГfluctuations (noise))։iߗaaac"x.or8yp9̓" vPbypplicBrfferЛюaprogramolʠoPmdespqui@pf-adapti8meismeT-detxthhold.xpmall!,urɏaPx82%t‰Kxec9urnXme`ꆑerrm3.9%h26:0"left="+1"ס2«XgrouRpk2.1Sx MhҚYu`oi3e:=ؓКhz#pit c9recA`indow.noX;(WSS)n ٹj ourcoitoafficily.anros be0pem(.MESXȰropaX9tegy7i].ěTinvalc@r0ommonit螸Be9maodĪSu0rox2jumbIbaѾrcyʫ.ŰܴiAassoci!thcYde3Hist(i).צ1a?iQas\`tihsuһHn"crem#on@鑀бHBmBtop.r`<+wψpȻz`m.ohruȸarequixppt3PhuuO/Prev earPcО(!rougI manismɺOryvisȾ966 >8L` >3, 4].heSrypervisXcanevokeccess missionfages,onextDesose+illuaultsndeHpturedbuilHMRC.Ƅeachintercept,overheadainlyomfromOtHling(a1Ifistacki@ncehiisoundbyRWSS.hou el.ۋ/-390 >3*8Ppro Xardware-bapP,tteds raircuits.

Hexclusivc40204 >9؎RU9epmate掝virtualchine3construcj`analyzi0notuaniixhwork.EB9968Ӗ9temecismWVMsupportmoryal8.oweH21monitor ps0th,(pecial`l9toloc ty˜yarps\xamplecode>Gems.FDTD10sLIide`xthrough nɎtablfroʖHjumpᕪ젒wcosti'ؕԇxdQevaluPd7773h3L0O"left77>2.2hЩiShXDŽ5ׇTPombin;xoff e96ruhmXX*rwood10512diffh/(ickequencKFourieرslRisN)onde+methothatqui8_ sophtAchniH Pprih.apidlj3713˺#L2|0CP@rPC-rӯzdataddriReger.telHsϸ򽉨઻Prq;Vge2sX="+1"ק3niMTrack_Y27__/__G__[OOwtdemHWýPmainearcptȽ`sp 1temporariPp:qserًԪe-enitKawod ɼxoheadHubial(l6WSe79manismPfuۖSg(nyh)،0aa|dwakepWWnIləoo???o???WeX yȧomp@sudccurP'-relhardw9nliTLBzeȀ]Ah~o3a2o Bྐؕttooe?$rDs (PerxMÖsPMCs)ux8mmodo`wgia ehe{*fromnd8fluctus߫߫߬`> Weroposeimpleetffectivlgorithmoetehaviorhanges`bothemory@mands (erceounters.irst,movingverageilppliedsHal-nois.̅0vi noteheadalue (WSS numb8ofccurresysomeardwarevent)ur!xHi>@ti8ia. 9ickf)(]) = i?=+i−17...//k+?>)/kasfunonsmo񈧈s,(hichiSWparamrnmpiricxhe(x__rhs 8upHxdata,track1lwaysnabP.ϒ9ugh`(t,b>jߕtafmeanÎ(i({f(x)|x:j -,j]}),rrzrf(j)/?ڗaV|/|.ureladiؗ8twed)ZMhistrA@wowCbsoluHtwo.fGE27GC, T(errr > T),tmpli2atZcurrenareshold ooight.s ult sArelaxedڂehgf.exime,ithncreas-,PMC-b‡willostikelyin5system Herstable @8abuurnffemoryracking.n{onryhfdemhren3phile߆phІassumˇalues.e.ύxver-.ԇ0Cnower'!In 8rhwheWSSԊaonQbecau@psenivHnbetilGsid%|e(ׅՐٖX.H0WgffIelf-cbratApdellchy0schancCT/puhabeonoolvromatrodu8aeckpos.׆WdisdХtecuiay əwokupك❁ކđadQroIf@mɧxneededwugaiXzhCn߃)mee(awŸcЇ_PadapInallٚBsemee-deh[iدf8war~madIRvioЎBc b(Qamoгp)gdaximumе)7_sئɠalsIи˰w0ex*(q@ja!1/ۣ:86cpL0Oa( imgxcex0275Image"/n/.blockquo`'ilepos=0001423430 >FiguP1:l-TFIM/ǭŬɭh2Džljleftsiz+1"'!4ɼea E᭒鲆h2Ͳw(Heffpnexour2)e#pHc$nirtuXzenponiX3.4ۍ41703 >14]ypisoopsDcho0B;bX i?Paxra-duχpYrunXXattemp(耈p+Qak"QlexqitGdsac updXBii0,psuhreq)@peh9c2fir@غms{1usnvЄcmissQ!ettcorpondbȨ)^try.ƾ(he-ap7ds (HVM)0˿Ymechanism%doduremulSxrhPprox.shado .̘xrX¿ fp˱RtrigginAfaulwhiЁ8.othA-ς̢Dom-0iv`g@atXabP 300 xPythHYiamCgrao@ateypercalls.iaustomizeds,MTommunicatesithheSSrackeroeceive@rrentestimationndMC`untvalupseitsecishs.asXassumpthatmemoryccessat@nsearlynchangitableh,heӆrwokup,ssameRUisthHogram؃laing.nurximh@q$rplheve30condhForheckpoЄكitial (t),incre,⁇b>maxkeo 10, 520ayrespectHlyicha(mumx򐹌 0.05. All9(formӐequippXrone 2.8Hzteloi5roi(48HTnd)ҁBf 800͂0DDR2.a(virtumhiru864-bLinux6.18,pnfigur1CPUB3t(exceptSPEC200615]avaWS8preworlorkloadeQХeffnAyߓߓߓߔ8~cXerpꔔ0a imgiindex02768Image"/ngwvblockquo@'i>T:1:͝@pҭMRE:SEPCi(ogeiwwwwwwv0tɲe8r8 `eous~:`How,n ஏpmayot dlmopȝ"-uxr fair%pson(esP)[acɵAbxtur`ofVeHcyocabyan̙xAs.ȭYulhJagains0lpQputTexa)ohe8ȽVQBin"P )qdаKapcK7773h3ߜHleft77X>4.1Вǒėh3/////,PPU*twotrics: (1)tȑsavP1''`fyH+(2ÓWQduhempora这vwt`iVPnؓXrrorɴ"e@ppA PMCluyondcout+epzxPBHBlgormmoxUThag\M:sub>0}OI8/+<''˄r0i>-\܀nTgespS τկ0mQc_> =WworwǎǏj7XhlahtY/;ౙGat⽰nҘ{ywGrGG="8terapR'imgc@exH0277!Image"/6GGGߩ߮ߩ߭שo&?fix adapth0hol`hPDTLBi(ahardw`phadetɿiphPree:ȂL1y(xL2well6].orxed8holds, Tariesrom 0.05o@3woxtremendsfIpectrum. σ26803 >Table 1 xwseansMRESPECPU200.ԃh(ultindividualrogramPpHedooo.

Usonwhen=B,mory0a>tk8offearlyeourthtiwiPabout 6%.׃wincreas܃ctiva9fononhme s131dapAiUaha(haȐ svsmallernߋ.l,per9-gorm/////////+|3625 >Figu(2rhrcBub OMTupareachH2ktathؑ::lHtn 0aP'%dis*.X trickinЧin|plotBWSSJnzdataLBisa((pٙy`),)@ly.ĄPhwwssumO (a)ommonRmi0hȱhhD/ b)±wccreH(ʦrpcheckpoin)coak`ctحٵݪ$exa!yolcopŶ(HowlookoqtndowٽhmСc em8turȯB.Ϋлlesqڋdz`mecism羉anyhc8__aYHWs2luctusЉm¶)֎noi0@Ⱦbyswwwwwwwwws , 429.mcf4.2ϫhEval88 Figure 2:xamplesfsingdaptive-ThresholdMTEnhancedthxed-tgMT (b> = 0.2),heeanverheadsower@to 6%.afurrduP2%yuttioffalf!upimeqmemoryrack.4.3pplicationsVM̈́KBalɄnh3777777774Oneyp`lXarioorSS1Db.ws8monito1onen-bashost. 1rup470.lbm: klis0A+D:BLdynamict,fˀq:gǰgfa϶ggg___^80__ב׏o___wZGGGB:ӝ-U_]GKWhend'permaggHgrap 10%uaϽ, 77>bo𵠃H20oexitetsrom.խict8OOQloweQ@4%.ƼhbwTrg2iincre22.963.06J3.56XclT,O2AWٹ1.63,071.85.eX]?Irdi 22%s پװװҰh2/G'8lefts="+1"oi5oncl8)FutAWorknh2wwwϴߜϜϜLRU-Q岈mAnAeffechniqsupportMourHx(m Xpa@k(t?pplic" sifntlduJi.סಀ@l8mittwsch.ntxevaluKwaurol㠰capn蛺suficiҥ8r8Hocd4s.ɐ)=XariooWRhvirtumachs,񦪋WQf 8de(opI0t(lLpBcorrelmovusł`ntsgߖǛw_?wwww(>References [1]..enning.orkHetsastndresent. IEEEransactionsnoftwarengine0ng,E-6(1), 1980.gHpLj[2]..attson,iGecsei,.lutz,"IBiger.valua echniquesortorageierarc8sBMystemournal9(2): 7811797???GGGGGGGGGGGC3BZhou,.АeybSundsaA.aghuramyYS.umaDynamicracZofHmissurvejmemory m"In9ASPLOS'04;s 177188, 2004oϓowwwwwwwwwwwr4].ang,ś.erh(.ƉaplAEliot”osCRAMM:irtualsupporgarb-collectedpplic2 OSDI'060366''///////////*5]Jones:C.rpaci-Dussea,XH׀Ӟy:oniئtheufxachin߀(nhonSIGOPSpQev9., 40(581424Ooowww/wwwwwwww[6]מ1ao,دixZKLu0Li`fficiRU-baswOize c(ReCS-TR-11-01epartYComput@S ce,igan:niversitx2011w7]r9ldspuxPcYVMcSX@Px, 36(SI81192ߺz8쯧tba@cṁNVEE'09#9G9Lu K`hen.֢72accewithyXvis@exclus`5USENIXATC'07OH15277777777777777210]8ADhkada؉OHTo0dstz) *Dmulti[_Proceeds4ACMuropehConpq0ems/{1zZhoyy0DLohhhopASPLOS'04v4??????????????2])(rwood,.ЍlBȫ(BasxistribualysiHoihioxehavisiapointsapplɤ.PACT'01s 31o3].aTam,Ҵzimi,̉oSIGOPSper.yst.ev
., 37(5): 164177, 2003. [15]..lackburn,.arnerC.offmant.ԈDaCapoenchmarks:avaingevelopme!analysis.n OLA'06,ages91906_XB0leftilepos=0001403592 id="chp17_ftn_idahsup>*a>]oߟ/*y?ϟ: h1n2cersiz+1"?:bUFVD:Ȥ-Pernce֧cem 8:Cloudh1ߜߦϩwwvChunqiaT(_______WWWRIBM.JtshResearchÍ 7ߏ߰ref="mailto:ct8@us.ibm.">wwwwh2߶ϕ϶wwǖAbstract߻h2Ot4FaDisk ()aewm(VMҫ° correspon:idrivXQEMU.2o`I/OmulKhti@yxvisors,XcluZKVM,en-HIBox. 8;ho1icolubotȠznon-senonmtseaturee`flexibconfigurability,torѱPnroȴرwithouystem, 1npsnapshot,cryp9qpy-writp}dadaXveefetg. ltwosaIinsXxMкi`nf⁐؇`direct-att.namdicateȍf.xi*ow!throughp@of5249%0@q{QCOW2hhuseЋ-Mark⊨hmQ臲s$';߿/϶϶϶1ntroducOoO">D`YȺyopr777s (e.g.,[Ppos=0001481651 >5)],oxDI~3350 >10MWa0VMDKo654h1줱MicrosofHD976z)cournssfineedВe a?053 >9:Cd nguishPelfromqЧasp@s: 8 ri0іǽDzǽ/F1"izbe8Qas,ksiojqmay@ȫersr FpexamX,ZmarequA ׭׭Ե YRWøgAaIreg:aoglmI# rage,etwork-attachedtoraore-areaU.

ExingmHormatsupport erseet1snne-size-fit-allanner,yundlfunctiontoseparablmonolithiciece.hisan uinefficiencyven comȁ0ses.ÂidxamptheHpy-on-write (CoW)eaturefirtual(sk.COW2,DI(MDK,ndHDRmixrtlockrackawwtdpoca.ɊLhe()ˈiaosHilystemleads Pdoowi(firhۇJ!WS),ich sata0ment'dou@h1/OhHmetaaccessBynHstesrinciFVDqxmakJ?@thogonso eXben hrcinidly,kWPs 9sameeurpoяBGC”"outhburdenތ6H_X$8a iadfromHϡϙchengso؋РAhwisd@S.ƈpecўb,$Hfig`J,EowPTdelega1rely՜:OSha opӧXma窨n QloadX.g.,bIRloglolumWW iregularB75choHft2/(3)4,FX)Rei8yetcggߴWWSYWWWSVMbiyKCloudȜ` -r(,Hl cxluʰ1bo*n senonaMpaperfoc !x3@vrefh|simpr׾׾׾׾׾׾׾׾׾ղ#liHAmazEC(ӌ rmult sourH-offdi9 XBncPia{kavail0ǬZ Zh170GBmPphemerY(i.ePect->DAS))nopdirge.ЪAne0rkNxpens`~@)n௪ sdX(l0ryߊedK, 'so8H(P×PLQ73a*ox/tmpcurwc(Asȅtjop صA]-G.owq, `lowqAЦIȼigrɿs9beȾas˨QEMU9|[ ,ppЇ!aL铪3qln ci)xQөtu!׾waمxRAWIayte-by@Ihysjٖhv07lIˉc3Omaaim0cap*1,needaa_Ygiga)Ӌcroeavisiord0qxnewӷȦro8illȊ<pos=0001449750 >Fig 1(a)____[8cerp굔a؀

QCOW25]snothermageormatupportedyEMU.toesopy-on-write,.e.,  ;onlytordataodifiaM,easnRareways drombase3.d4sstゐtion.Ԅhocannsta nootmpt ASooinptotljdNAS.sing,Hwever,imi pscalabiliofCloud,ecauHaarnumbVMsayp)d [,enerexcessivetworkrafficI/OoTFig 1!(b)'g'WWWWWWSIךton,also?igA@ VM'8@.J3ѢPwithouirؙnsferrdiskeArun(Xup#ytqs"@dualoG$bȃ_\MreЫXownG3h2L0O"left5siz0+1"2ϨpviewџHDh2JYppa foc8-Hpi9 =Ȥ__Y8`detaH0issSec3)9describ virtqday,K(344,z/.055((~6Q5z exa(esXnseaȏnAholicbGGGG8c0erapR2.1ȓrVtDqWrTq3_WIjissu I/Oq@xa +0s (VBA))lLinuxelwardSpbȮSRsp.b(Sdr@hilBAXгh;Iwhichfiwheɇpĝ{ȸQffDW.ӃcYʵ QaϢ52418 & 0YpdҼpliɶre@a V= (

WwqVMads d=(U1AitmapŽvcopy-h(h

Anornefit thpXmakxmetadatampeasitochusQbit؀@ck 4fr bkhularitykWlookuPab`oarxꂗ.Ԅ2fhsffici@p/:ariz1ad0oxqr .Əha 1TBirtualisk2؉one-GCgearnly 6MB,XCOW2 two7128MB0Mjournal.hX?A/|neodified,hangPsavi$x8ppoupσdirectlYonfigurbp9default;1fulpwhichPeinfrequl`HXqflush˒qcanHyclȣre K voioverhpY-pd`no4comm(mpxquicP7ԠWWSXggggggflrovidxshr irst,bϰ(ذhPHw.eHhcurrjorpo{0 gߍcn`ts3i:ٛ?AFi1ncٷncy1wmipalgsampP_[ϸϸϸϸϥϸϸϥRefxnce-couȴ ȫayimmy0snapshot:xtejinJ.ŁOLĻɯntofimaXm4ldyur`copy-on-(CoW) ncludVMDK,#k(akάԔ,)8Si−1ibJ.fqf޲nˇ!Hded1Is+HJ0 mg)ix0283I"/!>ԁρρρ...6Dele'i>jэDmiddy?3.e8mȼd7VRmhysicrrom?^thopunkodifiP؏butǔo_(OOOOOOOOOLIw%uعmsX:l:IeachkC+nQ rб;rorZeumb`/uт.ß8/dsxm:osĔkfrehѿ؇b@mzerozuӿaI|gYPyf ɶ枂肊@eplyb3consis⹐ra(𔉞|:curဇrentiew (WCV).he PsXvirtualiskontperceivedy2runningM.COW2'sefece-cou(tablerackslatahunuskeirnapshotsr:.ecaHangeh[VMAs,urinormexecutionhfL,3ncursI/OverheadupAon-endemorycacheyrast,VD׉׉sWbutoxnoh9W(s?Palr`lookupӐ،a-only doӌOOOLeXhӏSGGߏ''k. L3ՊgDBitmaoupportopy-Write,~R!PtFe 3 0ws*undЌGGGD3GGGG>3.1asic Q/ϲ0WQ3oWWWgWW.WQ=ԤCmaint lineaappbetweenPblockVBAIBA.יд-¹om3dstoB offsetN9DReg`ؐ,o addransl reliHhoOS*!ocI;┊baystemXpar0ٽhnȃ$szjAa [virtuҼ@ilacɴ?ꍺSTiaHawi8aloucpan/@AS`ahpoВ82p NAS GGGGGDc`barg2ةz,psLwskh0difʺPdependȥucrHy(@2fs exp5me?fuis'MYdgbquiyadrԵj9upH6iḝInyhg|@ѐlþ+-eskippi#corxpo#(s)&iviouslyvȽࣻ7bdaryЁۮ!~<ĊdK(fro)mepsoaAte϶϶϶϶ϻ)rhecȑOdeterm00gWso[6j&oϒwis,'returlVMqcinHproc Բ,ckgr,copy"(avyoFuCssamwixgPmoO/OI-on-Rbeharlpvoidneઉex)شtworkraffic and/OoadnAS.

Figure 3:nimplifiediewfheVDormat,0thlybitmapnabledPg1h3džleftace="serif>3.2ptimizations ead/WritePh3τOߏ`$GDOMComparRAWaopy-on-wɊxXwaysncursddiialverhpؑading updhits-disketaa.elow(eummarizPe`xthelnathimmcases.Ԑ`word freeAanoetoie''''OoOIn-memory:ŇxEreped0_prom ykeep pleH-,P {9p20KB"a 1TBZ0GB|te.Νq,aF Bo8yond-J2swheVMШҬsi `sppexpB!7776e鑤Ȣucimum8!ze2fi 1)-qha"unuI ظh2)osti r!tiunnI0du;NHoإ,.g.,gramecutq.îequ8ly,issuPIarget'''SIGcannot믰rHhavotQpP:yojaZiG/ϼϸ/+zero-l/߲߬//.woriglntǛخ4ľIbǝǝǝǷ؏ Ümany 0ty{ս?us;too2search75px irz1̦?nflineidooip򿿿ϿϿϿϿϿϿϱ-zB`fetchϱϱϱϱϱϸddrix뉗ehDŽgdo`QromiԿptegXaa>evɪ0a 8rash,`caa'I7ntic`BX''hظfȹ(0correc#>Zh_nisheE8eڌѪOall,x-edo-wknowHxibe8wwwuh361)leftwwq3.3da0P)vh3M~RzQjrJL NASD8de0:yrac٩{k.Ϫoly,refetchingsesesourcedleim(oopyromASD9heytfbimaghataveoteenccessedyVM.Ѓsintensioperation,staransferigabytdata@rosaheavilyharnetwork.ovoidausaЃy) any(includق,hnd ),VD`n8Ifigulimg Pepeϋwh)߄detected.

Tworoughputs (KB/s):rolbeiorg#*2a0rea(_cappؒuhr$Mleakyucketxgorithm.ɓropslow"@u,drr!ȕ”?np ccurhAkXPomizdecisX.ׄ50%obability,temporar:sfiodHg7؎llaftP/8esumesz&againLlong/psoith.ӗHlarl(בסw!)p%󗿗h2nr0"lefts="+1" 4xmal҉ltsWIpleᩘBnEMU.ursp;th@paon XЖѭBYone. (Mor ab`Rn[8Q])) ' itmapenaxoreta(CokupўKjnal۴ñence-couP)disb. o0,XCOW2o8s8(oR˹gAo0feat͍ordP(faimp sUbic@Wgggggggggdؐ' ondu99IBMS21la(n"1GbŌ.ach;:!2.33GHztele5PUHa5-hra (modMAY2073RCб„ru+ 0.10*Linux6.32-24صKVMl ules.SOr/O'''''''''_Z735>F 4how(ma`PostMark1080 >3ndiftBHecuk1sis;qpЉٞpirst i-c(+gene0npo_se tsacWS"sx Ow0nsom(o8 (,leˆPdappendGo R/Ҽabo850GB2idu0bgfrom 10KBy5@7778c1rQp¸ׁV
istȲJc8klXdٸK5؂GYaccessi8roughFS$@taiXUbuntu 9.04(uci0m mum(501MB)`(2fs. lwayGGGD#VM'sSʢµ8rart&T1GB rooȨ!systemxtitionf 50GBisksormattedntonxt3ileystem, whichostMarkuns.

Forhe IDE-part rouppfigure,JVM'slockeviceses"er(dmageAstor(aaw Uh. vio-i///H auz3Q76rebaeaexp(men_itS777775ϑϑϑϑϑϑϑϑϑFZ 4how(ificaadv8ps!FVDverCOW2.ɓ}creabphasthghput249%蘨@th؀( (byoming arV:ԍטҟ(a))transac77googߟ7gwwwbb`wwwwwwwwwrTonderstroota zndiffereXЀޢdeep8alyskesultsg.ׅPblk0cebtoolǢpmoni I/O ves.js 45%p]!șdoes,uo㬠dswritosetadata.ͫyKaȬseeXihõ5.6songȝ'$VBA-IBAischprobl aslainBec2.17773h2L0O"left5s="+1"bР"5elaWork5],DI'&3350 >10-MDKW765401\!VHD97H6)xl!ocx*‡yk 22M@grC2302 >7.y(nst,"v:'gYdeat"aGnasdeployJdiffƹgaoHviouhsQyAnotudy*,Rechniqimselvredu@׸׸״CollA(ώktopa vcro@Irnet.ɊWhhЗtY ncyi#xc(makXefhظarainxpp #maoXRseekHᡱHMYOH.~alsSP[erefetching.talvesheatefertain percentagefeq8questsxiencehigh ncy.urvaluationhowyatsrdoetproXreliablyetectongȂ.ecausetorHrversndiskitroll@formad-ah0 larchunks hntialRs,`+O (e.g., 90%)aMۈxXnach)1owWhen0׆ecombusy,ҌċBmayaxittle,ttspontimetho@-miss1incHdramhcallInrorIthdonorHwellithʉXieve|I/Oxroughput.

6onclus52USENIXREBck
, 2005gGGGWW2].ò8,.eldovich,.apuntzakiM.amCIve:CbBdysteman0)cturЉ{NSDI_???OO3].a(ؐstMarkaNewi8LBPhmxechne2TR-3022etkppliaػc.,ctob1997gggww74](ty,وmaPDAor,ՐqXhLiguoriVM:LinuxָProceedȵ𬃁Symium[ps 225230҉ך׿g''ggggc5]aMcLough3QCOW2ɳFormat.peo(.gnome.org/~mc/qcow-"-fhtmlcǁǁǁǁǰ''ﰏ{6icrosofXHDljǺgģhnet.Ӻren-usHPvbb676673.aspxgg//϶7]YPwr,¦faff,yChow,ORosenbluOptimizHMigration%ComputersOg002_G_82Tang.VD:H-PerBqOaorloudis longؓsUSENIX'11hpwithJsameitle,vailablet 52 [9]heBMloud.߉߉wwwvices/us/igs/c-development/OOOOOOOOOOOOOOOK10]irtualBoxDImageormatǓforums.vbox.orgRtopic:t=804646ϒϒϒϒϒϒϒϒϒϒϒϒϒϒω1Mwareisk| 1.1_7]vmѝ technical-ourinters/vmdk.html777777 kh1f2 c@ersiz+1"72bMOkeanos:astelessʉhnng 0ƀndeliBMultistmtorpXh1c_OAndromachiatziftiouSgios.nasiadisGG7i>Departafompucienc0i7OOOOOGGfUniversityaIoannina,reeg 2/>Ab@act2t4Synchronousmallriteslaypo8in ilA9avail(fisyms ppltionsuseYmoafelyogРi 8modifquickX8oHhilu.owr,AckshXen ce 9dranulayirata nsfh+memoryqk.expqshowsubUmHleadZb)jhHnToddxssu:aꧣ(m,ropo|ȋu8aPcos萿concurr‘sqRouذ-˼sePlrQ,ddHo(ly/+s(ctІ/+Raut*(Rχnwh1 belaxp)nig؍ؽld.ɘ#4itotypmplezA;pdlopedmicrobhmar-lorkloadntixhrs̊(Kroughrerc.ggW1troduק׶׼ק׼ǧק׼קקԒMpaXspp0Utargeast=yGA؟Yma@ h1du2nl r[1, 9111 >4629 >5]0ypذa@Ra`quq(-aJ)bordx`rdp(0!([ rHqCcop9i! )checkpoP8۱ڤftLiL,71can8nЖ!gagaipۈQ脶?ҩstemeliabilityyreservingcentpdatesromailu;tlsoncreassysav ubstantiallyxductheequ1hoveryime.Ԁmethodsideapplieneneral-purposeilx s6],ational ab򁯁629 >5distributkey-valuto111 >4evQprocessengin_1873X3\andXrion-critic؇wwr20337r.ur mH,oggusefulorheckpoi(palelcZsoultiphours day@fgftan?onY1

To,x?9ቑ(j)9ord؈ؚPporarimHʈɖ(abme8 oyktИ蘐roughputus,!ostpone1【XwP`mue iz}cor`d encerceivns. icnacrossupoxpag`ahX'ãcў—Οpckaredoon.ɡچste-ranrstkÆmun ʌ\-sizlockр烰ul(0놛zأsferpPluڈ/-hWUwhȪ@#dsyncnou0mimhirfici,B?cecut0׌Ybat଑okelusynad8?ၧividurcauz}pnplЬf2ctmodif9D]oc1HoccuphulpȥIn 489780 >Fig ʎasmouYؤџݦ͇فeHWep(orkloa1(B100%؏84i cvary s (/s)Zk2e0backˆ-reaٙnow rK-˶ext3(Sa4Azup4KBgremaipalmhHhhlueXtCc( ienڿά'힄@hhX#&>w(durearL:,ПٰZdt'ǝǝǝǞk8ferpҞ|0a wasǁ`woewϷaEse,sHm0mน꧟"spȞ0ernbout ౥s(Ym谖vcomm5s۸gb517828 >,W9111 >4G1520339 >7 ]ztarg0sak·is DubunneHs_x, iY!hxӍyboBecjoccupyڅac9imhouldesedorIfulataransfersnstead.ochieveuroaleTormultiple dommalrite9tingblockppend theꂰnal.

WeummarizKcpributionss`llows: (i)ÀiderreducAfp"Xurresymzaeh9improyperancfliabstoraget 0st;PXDes @lyylemywa(lessX8Hop!moumodʌ ely-[i1ʃiscu9icas8a?"miz܋si8ncy臠ticsv)ppXmicro-bhks,aTworkloadҔbaseggPcr|pindȔdem8t܊qspa8rُhmagnitudH@s@rYej`UaalelWem)shthȍoutHasP , throughput60heckpohb7esInclus+몟h2NR0"lefts="+1"2ҏ$W9]zaK,pmmitknown/X1odf@h9˄撘stTrs߅19629 >5܌ab roapsarۉlH*- H່it^sub-pYHifQ{Ho.lso,eʐ(PldyvailRy`erchIBMFSMST`0697 >8AdexصݺZ$/O.ism0on-voRAMbsorbcoulH duȬIraiгGo95h6lHowAsolucarryrawback!Hpha iotcqBȼernA Xormaynuٌepe(`Ҹili(balIq(f`1111 >4GC1urOݞsamviٕandom-acqƋlows9՞hةhissue,܈!̡𞯞se(recor8orduray.Ӧ larly, xneeds٘=ln-O)mBspe ru9 _ib0eameneEijh7828 >1,aimhh\w#,Zmou0ڧShl-purwEch@iibu!mIduqddю&ȂPpaq-s8g(E8326 >2w8(u0einetitbecahs8rdwl(aaen”{reɨunl.ecќ8xrotic 8@playirapidHelt#Gm designs8].nhatontext,peuthorsmulatedritinglockodificatioinsteadfntire3sojjournal,utidn'rsiderrperformancndecoverympl=.ueobsoleteardwap@)high(evel 8which!yeXapedbtudiesapopeeenera(rchitectuqitaxW( widthducinurry@ms.

3ӃđwelessgrɍstransparQХ󦨇ʥdinpcripФ"r8MaccuӁspec1Nrs{Iyfromemo devic0Aftimeoexpir;d3st8JmAڈfuZyi#Xid__'''U'''#Ago糧l/Oivit\Wrrvolv.3xs`{}gom ifhѣbestss)xHYIelGBe dPwheBoi`e/7notȗha3qu=)HcQ⮑e.hu wO0o9\tiOcanaXcangh),Swphabeenϣïsx(acro cip/YQwihױtencf<FIi) Teach|ope dehetaup𸳾, i۹leoce#'oR9:yaeed.ӷݲ22amaaddϰӨlyي|,preixv'ip巗wrsuccPsgM_lIad,xgNHowsټ}閹Ox(sǹϾϹϹϟBG\//ΎmHJimmed9ly,maksen IccuȢɨ̨眀cu[A@Pv稲mosbene@nvim𦩿دFQtPmlincludqwGGGGGGGGGBߵߺ2}&y!pD(ri!fom 9|samelockuffer.hepdateson'taveoXack-to-A,therehouldnon-betweenransfQespectifinalisk pation.ɁfirstuchequencesbpagHize,e0gjour entilis-

Thus*handleonsisthya8lvelyleanayxecauseelimcathatthxingaarticularhalf@rouga(O o9z,錷Hi-ipdecid*skipgo όόχorondY@urxpQ,"abowȓiass8o7cchinfrtlybreacip1lowmp0/Vvitysel_h21'&left ="+1"_Y4Okxosrototypemplem`aWgpupmetajaЅd_dbyժ;xsy`mPoduڪ8rup10ordPdhon aftssocid㊔Bۆwt;write9O,/itXt`nsH jvHΊɂPsweakeRermfg`q2*ifur޷ 4pa//7??=z???Figure 2,esewchartsummarizehe siblexecu:pathsfwriteequeshroughelectiveouring.

Aystemallayonsixmultip-levelperzsattomiynipulaAatatruct.ormprovedficiency,gpqQcordޅsxone transaon.efon8v`Icommitxkx a關escriptQthyaagsډjmapbufferirdŸeachwixbhteh;n@Uheadph@nee;/O.ddii,(reassociшGʏy?Tronod襈Хexpad\woTielZtaoffsenlengؖ㭃poioy (ol6245n3i).h8Pa wonzmOOg(fixed(J,x;roducarewʗ: (i))agnd,RR-0(iW匑Ё܉b Ʉ1T *ϪϰϪϪͤG(sѣ+PfhaPlush!ѧMA;Theckn޾߿ habe)ʤ;i-[Eo @loRa0resfromwalد۩f8rashinverrocessurwhi@retriXOi؈ּׄCcaSߊ4ppp4sɪ`։Osm#bropr ssߥݙ .owrRϦʞqnoet:xtl̸ݩ荩gulaTʩydi0ty˸ϔAout: irold80s9v韷[8Vcerp l0oa imex028zImage"/n?ONquo0'"fha`XRsenᆳ0 yox(b)waxlQocccuPq.Da~=omq~Bouaxt@tomicity ,caplaõظ]_u(JyulȣؼY*P Had,liakd`Bwher!Eor ansequenc d2iz:;1J.ʈi?=impliof@ȑɡf8VδPsi(ncyPmi1(er@eߡߡߡh2ם_?Pleft="+1"c"serif">5xpmentationnviron Figu4: (a)t 1Kbpsproughput (lowersAx)aaןg؞ap)s8atrdd,nlikHɡ'hichyEtoh(er. (b)comxisQo Xmainцeexu!}!׃ӈ(cMާbincmuȆ3쟠ncyOJt3NILFSd`rem`iXXdques 4KB#zaa!pnitu`longxtAߚG517 Yj[*׵ҝߺآ;(noxn)poPxdXi)W_:alsrieo{WWǘƣtwocѽs(rtabHLinux `t ()-log-uctdwp[ws21105 >9]3S aXq񢒫éϡǨdusi|2sequraftdiffм@C1prHH0t8Wش˩,@ort3"n/,-⅕aXkbzlow8brespoxt3.nact,ILFSnterleavesheritXfromifferentilonsk,hichay dooortorageocalityuringequ0ials.

WesezPostmarkenchRpexaminperformancefmall5asen(lectronicil,et-new(ndeb-basedommerce. 0applyersi1.5Pthy``ousVddbySL9Stonyrookniv{ssumizset500i1thr (tworkloX10,0mixtransHsdrawiz1default ge I/OXstlietw!128pKBjFigure 5(a)bvatjnXt waste-xsournPgetzhH738tpHAcroPWPqokc i0ntrenrnJoprod9includadatagad,0iNJs熫orddJaslow}.ϛϛϛϛϛϛϛϛϛalsOLTP/(WTPC-C)implemH`T2qDျSuإMySQpen-s@)syhmt(noDBengx1a)f!a20reh\hn,r8с:@`Y3upporeethoflushMgn`o®tT 1 (Cmt/D),bi0 dir| (ea@nit20Prd󢗅3P陸ڱicDiodiXly.ƊlyY2C!Ϧo߃߃߃܇??:ڄ?XD execuJ(ʥcolɬ[-yis.Hp‡replaariPnumbcurJPtYh{@ӡʧoakPupeH)eмXؓZqjX,`Ϭ,hund`d 1wroprce64????8crYpJ0+1].earibetween 4nd 40heumberfrocessonachthirtquadcorelientseading total'n52r520ZtR65Psize 1024y.n 3901 >Figu5(c),alournalalmo@doub؆4roughputiordermod0whhata/(0sctive orwo"_>(d)xu 42%ꆔafic)'J݅?/ur"͏yolumfg.

7onclusionsFutIWorkENTRIDERM|CmCLELLAND'B NOWOCZYNSKI'P>UNEZPLTEMg>׆]NGAylfs:checkpoBACM/IEEEӇi> (2009),p. 112wwwG2ILLA.ďHSGEǀ𐸑eRIAËMANgԌ>ӓWARԷ@echtribuT.eTR-111,ECӴssearchýer(alolto0A,ept993______Z3_RITOgF-TZϗzvLBinimiz ult-tole!esIkȘICDCSM@l,C, w 17318ǹǵo?4] HANG'F DEMAWAӚ>SIEHW.A]ApCЛuURROWϛ8?DRAo1 IKE~UR..igtQ:?RoragUʝ ucturdataUSENIXSDp6205218oooOOOOOOO face="serif">[5]RAYTransactionrocessing:onceptsndechniques.organaufmanublishers, 1993,h. 9.oganager. ƙLINOethinkhnc.Ɍ_XSDIeattle,׋p2006L1147777777777777gb8]СfBHAK0֡AePAC-DUSSE?CGG>GGGGlR..nalysi;evoluRofourhTBs ATCKH m505120'"9]O`BLU߮OIOHHOUTߖK.ԕأLimplementaaog-structuredemzACM ns Compu9S9X (Febj2h2652????? sh1n2cersiz+1"?jbTowardnhe`Federat8)HeXogeneousi0ibdŶн,h1϶ɴsπφoWǶǶMarcoaniniojJovanoviSchoolNimuScisPFL,witzerlI77ߺߐߺemail: firstn.laK@epfl.chi.ethose0atXoptbyhidmHitiаhitieha`nui-*IXrimxa!suchۈtInet'don (Ʌodayas`BGPooW@rgud|yhoulȇrov+P9veidfyp@@al؏sso#t$fun:ty. 8pDiCEp2h;cinuaut𩀿yplCbe8iorheckh7ȶPsroPdesiri.r z<3eh6ssubjenPoanossinHyexerciHa|rstarÊcurr, (FXteCLPolҕ de0yˆpcx(ur9Pgؗhpen-s@( e@plu`totypehquickPctigXmis(figuon,ecurringperatoristakehatausesnternet-wideutages.elsouantifyiCE'sverheadndi(itoavearginalmpactnystem formance.

19roductionfedJhe@ogeneous.ultiadmin ati8KHutonomcr@hirwn jerppolicies,hiensuunrs(ne vity.urr, (p4sp@ch5builtlow r@teum0u mutu#qlezafQ.ŋ{osuHnaturepclu`DNS,lronicil,PXto-Aȍ10Y],resourceŸi8015BRecevsshyElls!rfreliabۢh F$,aknԋomend:ijackvastjorh)ff@diؚAtowYouTub m xypopularebsiunreachpHy Дlmohtw@ps7164 >263469 id="FN10sup>19b#ĶINllengyaQ(i)"CbAҖ1ȀItidi0avhreH\(i@petк躱like`indu8dYPkeepvm)IcurrṠA0WGGGGGGFOurᄌarch)vis顁8ahs۸!inuНq 9u{owྩbдJmɫرil̏.Par@A,Hnnlin`funhZvPdct }po9ifas.eQ.,vimpon2frexp)f2addhXdiy(vaotougccox'מ)i,bOu3^tet窡riHumbдqssuÞ e:admin1dom@Ys _[ǰKMontno``ҰIunډ@mЃGG0ThPahchow9*lo22u2rnecful)ɡCin@mcrp0dariq!erPiZd0.e),eÀmeterogeneityakestifficultfo8mpossibleoaveocalccesstneXd theourcerinaryofrZs.hisynd constraintseenti dbomean@Ȁcan1usexistingechniquf(lilheck(e.g.,21])soperatly.astutBlep,ystematicploe ieven󅘊 runxnpromx snumbPac s.

IɎpa`,(roduxDiCE,0pach#huousl#auto ),ʊ,x7evix romؓhesir8.@iύrelevaXsyubje amanyOinpu‘/$erciohouickreOtʙvom&ith9Wlϐ],ۂHr(SىbcurrrhhDsol2deyp[Wscribur rviҢutli _mwaddz(2.1). Лvi Pni)gn*3)discuP񟠘PenntegZGP򄰨h(3[lu(4totype'0bilAdcrigHm(onfiguPȎQ۬8tXasɅ0rnet-h!tagals! Xheapfimarp𱸣اũhceGG3h2LQMleft5siz0+1"2`г?93o}oo'ooonOqoazׯrapot|faultAiatimغ!boolneedacpmodQٵٽXfederonvironm_________^AQquRqBPunвnjhow"riob"tggregh@ɨrled߷Inur(᐀rmx@athȦhg)ٺprunn򐫼)nEͶyüphereyoubj pissi؈oPrordmechanis𗓄WWWWWWWWWSprc1evexsAIatXlimi(on:Rumb·.ǏYIoulPdex!rel8yt.owexFusudeepcuږa.e!`geeYlikeP0ao᧰Bhi tory*xumulsThuwBvoi3replayEfrompi2ad9pgcXbhibXv2P-qug߸ߕggu٪Pwlo@ t龈a8@ZsufficiEWhiȂ_ɸpcert0acessap"xuiPrno*ht,_Zdoes Ànotllowobserveareachingonsequencesfleodecti.hese_Yneedbedromystem-wiperspe@ve.

(refore,e @ll7hb0judgHhG?<Ingeneralas(thisXn!0doneocxycauaKdo`know,ndassumobtaiCstat0figuraI,orAlsoxpmocouldrunnaiffimplemP.ŀȌlypromhlet]mmunicqwithGur explo behavior.oweverrm adey0؄+satimcesupportheck2rshiprPrvfntityprivin@m#ؐ0mar ar(ryѝaddsq0: (i)0uto#exerciœIaths?ˁׁenVguisp)nxte`ihorizootrohtwork?҇v쏪 ultctweenrties?ǤǤǤǤǤǤǤǤǏZpah3ocuhfirOҡRXvYAssQarouԠ.¨+ourpi!s(c riefrevieXerBsoftwryechni!8oBbasicahٲ`srszó)' h3ΰұ407"left>2.2ackg Symbol8cuٞBe.gI.,ee8, 60507 >13]) `L3aQgramyeHٸinpu02as[.pXt bbraninvolval(8gi0cABtrЄacor оbHꔪBcsdulЃ_akHldown *CɷjnAOo m2*feyRหed.״gf8poHcap x0 8:ԁ,prai𻡿ximiumb8)",9ppCwixwiizJ.'I3.yp񑏐pr?fromkenڐK֪[giv,0I;Spfiuit{+. pCo𞿞629 >798631aria疏pad"trictoþh^,_ES8xDs0le9ovԙ RcularҠ/0ick/*ߩ٣pd)e)ڝOo 3neg_^7235751 >Figu Xعлsm1benefȿ؇P* HÛvenvironm (du:)XH hadu?CclacoonQ餹贈 yL)="86cerp3

2.3nitialesih3߃߃p4ǃ"justify߃>DiCEmploysoncolic$iongineoolvHheechanichproblemfrcisingossidea.nlikPtandard, rts`rfromcurrent,ixPteecause1H(i)uicklytectt0faults, avoidoverhead1replay)'iratdiГ2(`wpaargeistoryinputsILGGbGGFirsztakeincheck.heclon(t`feedsttpreviousobv҆.e.ssage)co[nstra/counteɕ0Aby(vok dler B.eA#grammXidfy?;Ȏ8on1tho1oc

3xpencespthheGPese39] 1.1.7pen-spceoudaemon.ecasppimit,Heview po8readerOL60756 >14SauccinoverRFC>25120?full-.erstrodu Oas߈98631,concolicHecЎengine `3>3.13ՕF1S//+'']᠀bcodealoQ1(ysubstantialodificyCXt8629 >7 nstrusÜQmsPCIL19088#bȨDtracktun-timC@tsLedZrecorSHanymbinpu0hlyhir8anguagsupporhYhnetwor@sysȂsi`archأxegies,ca0;n(rel.ԫderyhhiP0t`pxcIschby#@ЈX'"WWggggg3.2Ю~ٳϳw?">Oisfc slatri8nQCóԕЎ׾׹Ϳ*Uyf@reayFZ;[Jm鮇from8checkӠȷthiaw7j=SndnG/EelKךXlnўenvironensuisolunnThirkGowooriH"XDutomcympklinkH𡪺)epH-exop8PتZadataMmilaash*Anagno8k al.294 >6pnɶ3視(tuno honHdurخplcR,Q۵ԦǦǦæ7Fj f)ei(BGPǽmacert p=. `choos4eUPDATEessbŘPivw?e.ɥpGP,wusеpdQrjؾɘHﻘ9PRpyѡ*bli𣰡АZdow(engӸleam futI/_ߵAQapwouldntiHόɎGAHowe,heffecau8a @vetyvdthJyrci)\򤑟64021 id="FN3`>320j"selyicm-siz rdctre Àmessage.ornstance,heetworkayereachabilitynfo (NLRI)egionfontaRannoudoutesith!irspectiveetmaskengths.ׂaps0symbolic.nPDATEalsoypicallyarriXmultipleaattrib"whiHincod @aI8S,dalueieldatnbCHowever,neRefulAćtcctualՋ$WhЄjitemantPpsistentv;8rwieYinpinot.o㉨approQxyff|inducingCpaceAexploratbecau Px0@rwayْ@.

InhohXlowsiCEYtruc(npu@exercBGPhavi ime :bfirst(BIRD'dhm`t1PseRI(parular)figu\currxЋ.ԎЌ/pour8ƒkmpassN?n(terpre0œOa1rrdġ0fqeor3Hc Areh!Ȥb`aςFino0abpfpermקOwe@Pwell-knowadiffmpossiȠexaravoc!fromAlyQhashpsح(tYrsek}nؘakaeckpo谺3 upbyy<>k4Ÿ:Fe 21.38Providerڳr-󟰄loads 319,355efixذInetQrepla"Xbt(RViep(hudumpl15-mYpdȷr-v.eqix A l 1,2010, 17:28TC)8opdкXeakexaSɼ؁.þomP׀ҭXpHaxmкadop!8ISP"defeg؋ ijac8c@er9p*gs4.1п;3/////,HT iummamicro-benchkPuPo`rd chs s CPUH lorOO׿_____>Mko`headR؋ɹhasxhqua8fy; ha٥:Z©Ied Pnۈ5`JȼSap`nKHm8sccheckpov3.45%iqup̮ orkorDqH36.93% @e (maximum39%)fÀont>

CPU/performance
.eseheumberfGPpdateessagesDiCE-enabledoutxhandlecondsasureyhowuch2eHffectxwhileunningxploration.ԄBIRDrocpaЃ`fig donpae pres,Xtコv1shYsŁitsheckpoin`thatꉨdurok2]Ț؄LcPprefixjack)xpouxdrroPcaault.irsggannc`XhonHblHho0(i.i>.akewhi SBCCW;upamX,do vilt@limعimWWWWWWWWWUThicyIPٷhm)h tbeثr`com؟񿈺PASAXyі`PoǢs hneous5QepDiCEЕ)xercisssIcX(path`chsncludif89Fea(oryX(*checki2(d rbyasis'iyґjeLRI)accep8,mHaPtial铩kor )HrnXDalKphoy8wq 64258 id="FN4(sup>422]sapablefodelheckYunifiedistribut`systems.

Symbolic75589408), '$0507 >13#QconcZexecution߂98631׃629 >7rechniquesorchiev!completeveragsiIc0aths*QNnaqbugsle-m)n#.niCE,eZ_^aase텨anismexploRtat8rtfromIna@onultimؔjudi-(8mpCollabora3moau's |pxkeholders艠beenssimilarQtexts.ƊaY,̎it et.10445Ța p0at8f1byporɆprAa>sfmaint low(um0head.rsoע22289suggeHAinuousanalyz eXyoftwwith hlꖱgo蒘roqu0tyJ YpݛsrP@ocas؎OO?H30i6OJmemb!˦ munhurd@؜sEflawdttacknoўrP +%whsuqdcǭǛNagarajaggWa5960focZpHsIrnvicgu re܋one`d#environ! befߦbeئ`maviR.׫zs(>#jr(oT ouguldiend۔kbehavi8upecco1roduc;runnBJlSP(rorAf׼7754oallblaۼfigu$whi@`wors8QƶY05itboeam(r0242de(Hȟieness`8look*faؖrysPGB,t(lIbùh20"leftsiz+1"?9|6onclusa

ReferencesSIGCOMM
, ɧgϧϧϣ5]̈0min0AikhCHchulzrinn(EffPex(forulti-proviPtDelHryp[INFO4oooOOOOOOOOOJ6].ǐno,Ӑpipou,Бkrxd遈X bE.rkatoZ..eromytiPDetQ8TarghxttUsHoneypotUSENIXcu؊ymposium5ǶǶǶǶǶǶǶǶǶ7].urnimҊSeHe(csJScalableynamicestǮ.chni8eportCB/EECS--123xpart,nAsqofýH(,erkeleyepggW﷯8].dar,!DunbY9Englerlee:hass Qautomc>1h-co@(plex tems gramOSDIkps9224[9]͉nNovak@PLDI, 2005. [14].aeberlen,.vramopoulos,.exford, .ruschel.e-tReview:etechenterainouGoesroNS095].iblit,YAik9X.ڇHgM.ʉ8an.ugsolationia mProgamplGGA3GGGGGGGGGGGGGGC6]EXocasto,.idilouےPD.eromytisoftwareelf-HeUs)Collaborvepxc{Communitie;SNDSSF6GGGGGGGGGGGGGGC7]˘xagaraja,.lirhRianchinir Mar@TNguyeUnderstxaDwithpeori(kjnetHrvicO0048].âQculȒMcPeakRahulW.eimerxIL:medianguage{ools nalysis3rans@xofÜ}Fpilernstruon29OrsL8hHarrol LiptoGammaystem:QuousvolHafHploymentISSTA20]ٵkhP,1L!A¶ЏG(way tocol4 (BGP-4)ETFFC 4271.GGGGGGGGGGGG21Yabeh,ά@ne

Itaneainfullyatoakeoftwarehatuns ponon'sachiqgettXQanother-.nliumsmangist`filledthiscussiofs'roubles#comp",nstalcconfigur fiyriaddependencies.oliminathisyrom,eredystemxCDEsllpoAmonitorxecuʇ`x86-LinuxgrapackagepCode,8taEnvironm equirXXmCqae)leteautom8c#n 6i^Dso0on,|8rootmi.und(peo08cademiaZindXrvs=o)tribu@,moatotypes,Hs8nicPiysduci,PHldۃޖXloyϗx) cl.nwww 1n //G///">Mosm`aÏ餤. tu1ly,pafrom1Kpiecen xown0me)else9fraupВ8al tfFX2ncgot ocuappAmagPin`teeddӢٛǼxcesHOrO)hlibraPڽ,eadاriouun-t8rro!hѦwhgNxilX,Ѯɲoʰr„, bwhich)epobtAlicLb`fferɫqitself$x man8&h"`vaAtran E'8agvæ{@enaas @llXlͻѕlk?wPHriskypcenviX2"1aef86-îZ[1Y]dzǍdzǷTҪbenef ! R,QleǾӟJYH'o9igu,əGHeeliXoo׽_׉҄n`guaptfill6&k,p1o'erhddo(2sfȷɶ.lso,oIonortablecroXNܐ0rtectu0kernel.esp8_^hbedloaIoP 2,( 1rdundȖRemaˀilsromsershoaveydtouicklyestndeployoftwareithoutnstalling8y9endencies.

2DEystemverviewpDž_.pA.@F 1:Ũǭ# 1.)|𕍣³cdeU`crhack, 26sͶɗ(u, 3Iz__de-execdU@iRaccessxBD72.1È9new//h3g/////TTlf-ta8dAə/iequdפȵ صƸprbgfiԎaut!OOOOOOOOOM oooo'ooooo?wtnoryڧLinuxpcFmechanismmonitorQ%throughouttP.׺%qysub-ory P/yroot/UpnodQmirrorQAPgi structP.Ƈ0eftynam(loa8a߿ (y) /usr/x/.soFJyy/(seн+pos=0001570265 vy).ׄ16 mh Ŏ(wa )1'˽environJvari񢗢̼G_.2Z綟G cde-exec/usr/iib/weHer.soUlibrary0qandopeVl,'אЈόt>J!g (seXapos=0001570265 >Figure 1).his[reiabeca@σljϘprobXyoxnotis0nob.3ɜb؏h2?smP>CDE3.1ÍabĹZ `'!3ǘפי_פפי'b>P:bmajh(/ggǕǕýYcopcsinaelf-cHГȢfrkel@nisмHecu,ȶ+takPA( F6teg϶6596 >TжŭjabreJϞͽw{obv4valu8I〯uifiindi븓GopbZ߹ߪ?o*WeA`neYIsub-dir(symboXqk⼊mirr`loZuq0lb0hmڐ>4nLFinXoe؜AꜨstaY2tare nC*ursiveoXoThxs8or(we pticpartiyvercox?=imit*onHbejgdependenchthsinmanQdy1lolibrۈQG[8.c!rpRGa -ɿ,)k@eacHE( s.ӀTksuffix: ![Xckets]cluderis/*he ˀsuffix:.g., open ![at]

Mutateilesystem>:fterachallhatbshemcde}repeatKsamection correspondingppiof++package.oHxample,frogram8nsromfootobar|,nvlsoKpyɂ'!''b>Updat"uworkdirectoryttĊ)Sgetcwd,hfʁuI8ord鐩moniedcess's߄߄,hiiseiaryholvrelviths>Trsub-4Hthreads ItarspawHOIattn thoshildHthtpt(itׁ҃way).}keep8Y:璿shaYmemsegmadss (needP3.2GGremai@le- 𨹡povsueuby׈כwuh37)leftwwq@xecuP 9-eܪy^h3OOOOOOOOOPrim[3TobGl"u;be0siOehkernelYmost asiHdITab1ϋΩbha inuxtem@sHouA0h,rivihellold})(o (e.g.,buntu+2.6.35)pi(klde (ʀe.g.,noppixithinux 2.6.17).

Ignoringilesndnvironmexvars
:yonvion,Tdirectlike /dev, /procCDE`orȊ cdewillRcopy ;dt()ȈawZ-exeM8xeirthinsteaXccesqe`alerssntargechinewwwuh261)leftusizp+1"Ǖĉ4mitaJh2EhutamdꔧeKfailf:ߞߞߞu
  • `ur8puhan*Agramoew (clibrarPfi){1HginP@did:.neneral, nu8col (sycAdynamic)andependencrequHdۇpossi ",nc0mscid.oweeoo΁)dryyreiteasyZ!@o addD-fp.lsof꣉umultipĂAsam77"@iW'\/ hP~Kkernelhardwaarptu`OO@omҢ1bYvMsHd8rosΕ`Xds-rb{ rye(.Ƭexam,tp2010-buntuorkifroml@sx06 (≥5)ق07Fedo 04Ղ9)moutu򗁘today:{ oi@mfu=$eloppxitym@aьB–}-to-ABI.՚whes缒Ƚǧ-ogemb tnIam/J"Ȝͩб'%lAbfdptr8U!حl expliciinvokʬXn.ςϭrca ubtdifferpseȯdMemoȬpыEemoniitsel o؎,iceclu0 ϼalongsidpitlihsymboHbuggpanown Ice8xEwzbashshexnon-dePmc yHheph;arop*ov'sHaOOro$Q>

    5eal-Ь ca1].׭Yexchang`h( xil3??Ac`sixexf asultѵus Dim跠se284T2񺸋d 8sЕF"etegory (ئ{(d )77____g>DQibˀutingesearchoftware
    :hereatorsfwo_tools (arachni5]ndgraph->athibrary960 >6sed CDE
    Inddition,艗for؅tandlleagues'ߒhi@wererig llyistributasrdH-Ce䉸darbs:pads>ϓ2744 >11זsaturn155(8 0Runnunnatiىzo:ven duc-qu09meQinstLinuxX`oldkernervs.Əexample,isconhewan9runmeewpen-Lㆰhiork0chȐ(ITepartmemp𡑝2osBan,ojeterpripWro.ȒquldYރ'"beca333upYiiY`wء owupde.areqnu h,򇐧ONҚ񧗝&] (e.g.,meld>isextf@)XnŠOڒivHobby`sligg>Xsimilaqy:a8HhusiastonlassicK(bio->)aOSmul!9onfœۘϳ a`wlaybRoY׵0lBlpǹރ GoogEph 3Dp c與gR-th7>}iHҚ ߾theut™@exptAuX:nexfcienhJ*qeul1ne'st`ReclyPEjؘ@`CSnfrt!xȾurZpublishpa(iQ9asenl21sinHe(A豸,qbuiPuppH`,qO0t(@ocued)A hequir e-!/SQt"!yOfԽ㰏ϠϰUOanytemary[ Z.roboticspcI絧maks)mPnn/>kpi07[17](lly-M.ӯaw %sociHi_g9algorhmadm?041335 __OOOOODeploy!nBclȵcloudOuewaH y-inX0aa>100-CPUa򁰽0elmɫxHsjobbopologls>z>)0did8tvoPacCCwasPsmin@ggd0espeN.r)/ʀcode>oreateackageyunningisobnsmallatasetdesktop,ransferredhevancompleH ؀luster,Mn H 100nstancesftr elre.

    Similarly,eorkwithab-msuse klee10]ugndtoolromLAmazon'sC2oudutvich0outeet˄machinesSubmitZexecutabrrtsy:€A8aHoushnualros.Վhs‚-)wridowc@psorYroduction,@act0xr׃ȗHendelibrariesmaybtt gpParigg陉.evelopofpaxtrou1ِP0Xd\ hh-ќcrip+psUas no҂닀.ߚߚߚߚߏ_ߚߚߏ]z[8asierolon:ԢcsixJъrsuHviOH_\,%m4dŦFre-csamCir%АThr?߅Q$ѩp J :PcaCoqq0assi%inco(coq->)599797 >2,segfaulhGCC r>gcc/*0094 >3Dmakllvmτ393 >4¶WWWWW׶WWW>ColoraBclAjRahulhӻXdradu8xu)NLTKatunguԵ!m0build0setic @ilxarchg׀-anlnibspi(mustruggltwxea`јuninؘurconfliмky߰gencyl`syhh!ȃcopy.`pϨΤaε9ˎ cpFැHh߇'hit2muPde1inxxlel.imilarlyq;zOM6Hnmo"virt٬Hlity֢vr-osߵWWUh21 onleftUsizP+1",6uexims$h2////////,Ds!raintȯsPЅWW.u@detP teл3052 >1>PabiTo" ?>suc)fyecu@*Linux i bhkǾ`sixpu`ro0lwithre(se䤢~kernels:װװװױ8vcerpⱏT2:Vbyhteg`.Ծ(OriXAum8howeh񪇶ɫ+diZtar*PaЪHdfiruthorNumsnumbershdi8((Hy-coensϧ7CeˀntOS 5.5 (Linux 2.6.18,ep 2006)
  • Fedoraore 86.23,ct7ׁ3">openSUSE 11.1784">Ubuntu 9.10g6.31f9ge5">MandrivareepringoFebh10om6">Mint ߃5,ug׉8/olhpeightidth="1em"lign="justify">Outfhex8onfigurationseested (18 CDE18achunn 6 kdistros), PxecuSsucceededvr-osg.Necessitydynamick:ׅmpzonagainststc0alysisursiveЀeԏldsxlitiesɒablxplibrarfiPaC nrepresIdeP T 2rshow4(bfourenchmark1܎?0hfew(ߠHШ(QnumbK-cQ'ن:n@sesThu8cannot8s3creX*4mp8Qfeve y)mii>.ƪilaras0`{lina(IXy!!worker whyϱ'"+UcnPOOOORun-tim low1inXeaZ5Z f//-꺀sȺ*ooomEåx3nᘑOO&02% - 28%Rrt(n99ȹsystempllu`psed+ca( o2jmkernel`atext󽘺HAвϋ4du"(Ѕ.hah@8pe2(؛s?10X ,"(!yerY(aigoriath2nZ׽leftsiz+1" 7el ɭh2knp8noublishDs,Ч%softwwxura(runnqk׭w ExiqooX#self-Ia0ppl @requiXo侠specx绨exam,acSغmers3ndlXuAedlor.DS1totyp@??>Win(ppwhiT9__\aOyP0[601940 >9]'ϮϮ͘jϮϮϮVMn [Hcialc  .Ȫx ,r9ondbyymonitinl8aew253 >7n*z,&轁bouVjeśaldy(؛d}ouQJmeˀase.

    Virtualachinenapshots eve CDEp ce13
    ], d-replay37584Y-l0l烟451660AcQledg1s:ԙkFoerezZppitcussI(roduci8searH edJdeh'%oichardpil esahGoannadeGAImaنSlashd@pubpit(pourlbugAorfhbhk{ridddlpabot,bird,omZ,wp,hQ,a8os}ed0rihelp.hwQupY览NSFraduRFowship3UذStsForPLPory (AFRL)fChtA8650-10-C-7024OOKP^h2׹vleft]sizX+1" Refcefh2o'߽mlg__w????G?:28oqѡ00nt:š2443ycoq.in.fr/s/ w_.cgi?id=}OOOOϷϑ3]CCm(er46651gcc.gnu.orgz74ρ51ߚߴǚߚߚߵߚ4]LVMgr8679llvmEWUћ6_)׽_5]PchniU???=sithub.@/Zapk/dK'''____6graph-tooЈ7774|s.skd.de/w/^???߹ߵ7]MwarehinAppջh'suidvmpdf/tapp46_manual._϶϶϶Ͽtˀace="serif">[8]IKEN [97LPER?ʍ UERBACH'J'>AL֍FRAUENHOFERYMMMER_:_^P5GOς08DS:irtualxecutionnonmeoroftwareeploy.E5 175185/////////////_Z10]ÖDAØ>UNBߙ8ϖ>śNGLǁqLEE:nassistedn utomaticenerPhP-cAageestsRcomplexymsgrams.SDI8,SENIXssoci209224'''''''''''''W1]ISH,ˡ>ǘUB,Ҡѕdin-speciflanguYy@ce0ngdocataL9530ǢǢǢǢǢǢǢǢǢǢǢǮ2]6UO᫗ϔϡCDUz㱰nterpositogyrea@portable'packStandniPyÖucienceechnei81101_____________33]ʷ5I/SEK"UP-leve!frastruc:latmrusdetѢconfine3NDSSP0׸׸׸׸׸׸׸׸׸׸׸׸׸׫4]̷ϸVENNO/ζ//>΁~70ranspnt, xhtwrpplP{ray Hmodmulti`op:nAIGMETRICP10d5`66ggggggggggggggc5AHIRIM>EBRI7yhe¶algorithms{liff+xl workIn P.t24thAAInfe`Ar8iIl9 (0)Prggggggggggggggc6]PILLANEwWIGHÀIVATHANUoGoo>ں DOKE.apididop йptrExiɭxWS07USENIX`7_UC,.//>˺VRAK.Kinodynamxmonnbyior-exKplo T'lטhopyApFoundsRobcs&889449464ooooo70|0nleftWWo =0001593816 id="FNsup>1p8ATwo!our⠨hmaad h 32-bi@64Zver)awvǸׁg Ch12OLc`ersiz+1"׹bV:rogrammable Sapanhatia*WeHessys,echanismor0strictingccessoivhged onmuchikehopularol NIX.'$,0lows beヘtrain(usgen`l-pur8ѫlangu؂ndiilitatpcommultipxPtem hvinowerfulb"isol.n`eo@reeearsP8etLabhasnH100chacre@Alay @,r-ll`virtuswitxTCP-vant`unrafelyhoutهerep.als)ezd⁨pplicSIwhole-|monitogHVM. descrih `discuourxaCl1l@.wwh2Wleftsiz+1"31trodu׽2׬םǽǝǝǽ OnPf:key nwex8h۾42326 >1w65P>1]HlpwimmAevalunewe!mtࢺXa9A`twQs (eaX@xruXsepa`i>se
    ).יzsyqkabysniffYubsetid xfficdiagnoc gx?er)ogatIs0adi)0glob!3typlhiddfrom,rȟ"UDPrtIPny.urtxe`SX1mЬ@MO,d@рPeg@DŽen a(hardwarem,W sps8on,̒x-V2x82975# 2Dzchroot

    Inisapereescribesys,rameworkatlowyinvokeodPa[via ypcЀextensapreciselypPfy]se)n acces2 inspirby UNIXposophyfreew tem vi`combins8( ؏Q:[enforsecurityoliciXandhieisol*xroughP exiHG.ora,ckeiltlocksubs؆IPrafficpom,rtualC+0withridgaēi{ŗXrn, grep17]olǛrunopma.ta81arse-Xbadmis ntrpɛXlRommpYeA+loXj2Xdic𧒪qargument螅8E e"marymaimxveA @rWo:m(1)xmbl#Sbs9u*arbiȌmlangua; (2Ӱ7nନPi`?;(3)8int`flx ݈cthw ߵ3I.סsetXtc.Furmh BQHrxscasrye nescȱp0eڢ*rawomessrmfoPqYunДxH8jl(Ѽp"e1sǥǥǥh2vz0"leftsiz+1"T2ՇViewbackendirectorylmonixŁJ/qetshenew copir.orach')߂y,kalsopa`rrespondingCLሙ8contsBauthoriz8toseʈ.sust` temdentifierikelice HrDT`nres ialil8(aairFIFOipaNIXomasot)5hfr9wrifPd P's.ŋ!FOith npuoutX)I/-passarbitradatay:a gapo1f

    jrequatGAitcaPnlyeadwritxy燢ccesÜ#Icode>chroot3Desy@ng-is-a-diP912)].Ֆ x0z <ʃdcpʚNaemXbackforhbetweSwqsXn2Äәt,ac4cЧ񳢛rdoma fmanj#latqsupp8(n#0vAobju𙐍)ⷣR`ϳϓwϳϳϳϱpasᮜacQ5l1s (ACPs).n Padefh8)\argup`s@`CaЗ r~plyf=biUcu ٶɹ sӀllowedytsolicy.achrivilegoperationrappasysxtensisssociatwithwoCPs:n invocSdXhc.he 9runeforeexecu filtersZargumen98to

    Figu2ovidnviewfowworks.eferringcirclnumb:gggbollialu01">Alip9cesprit96in inputIFOrNIXomain hketorrespond4articular7,lqagi (misYdhroot9limitcJ$c (e.g.,UIDalanetLabe)xlX"2">daemreadWSfrom'ÙlookspӉOxT.Ɍhј{ ߞ'yCPretur0e euӎfail.="8cerp 0IfT<0dp,jxoinal94">u!Aptr21 ]ype-safeunc!IaddobnaBty bdbetweXA!trjH@Xcircum1@okruC@趱Ta೨.Ťڽ lwv#Aweakmec ism'%4421 5.owr,hlayerocnarrow¿aYYФ&8adatai.ePinhss858teclϞ'Xi() ٯ|oȻjgooorpؽPche+-{omov؁Hya`8po '8diyaPanspit7773h2j0"leftsiz+1"4̰yAnctiveommunityaspntributedumbofowerfulxtensionsosysv8theears.hise onresent8a hatPbeeneployndd PlanetLab.

    4.1liceiprnables:createrv-specificoHr.t invokwithsamyntax I!ks2agPJPninuxgggLjnjMǕ//LjLjimplemrisola th0ghP(ying,mechanismcd#defi!heyinMIincludeieloxaaxn@addP packetg,hich soci sgXdore0v9hyrtkxus, nHtwo*ɁؓDa li,rterm heahoulakkdyfirst 򆘇0iault+ere XyaХs o-'basiIhx:inedstep herkCpl_tu'Eiscusybelow쏑۟ĜWĬvirtuxvS0eoc8ho aqorSmit mn(IDcb Wjd)ת77wComb,lsoproDiJ0ckl˥F꫆@ns%modufPwkernelPnKa0[tookfourd`lopJatillndہisimel述mhs77W'''''''.2mo7777777777">FUSE10]a-bafrР1syHm񿳰ئAwmݏwvst@aP H`Pu tory2okup@expor5Wa:څibrarAn-1p((a}Qd%c#acrip0btanpe@hcHX(/8/Q)ܯ˂n73Qubsequly𭲹hٔz Fll0o`tup2l+ook|ilitj{WheelFSON8768H6Ke-HatribnlaLab.!ʩ\ZinIt ~̔V[authox]:ha8madt sioKihwn󒠍ٸPwe8ꂹzor'$5@2 >2#GGGGGGGGGCUnlik}yù۪xtens*cceʜcUNIXomocket;(i.e.cŧ)rpSQ'#apopulaƪG.inPpoi ߪhpnotenַq+us/o=afN׾n GGcorresdOM, :IemeҀntionedileescriptorverhisonnec9. fusemount

    4.3ocketopsӃԐaext*lets rXreaterivxg3s АulargeCP PUDPuff,@ewow-levelA(adetc.aanra(Hcoarse-iadminivecces#networkQilitȏN;CAP_NET_ADMIN]capaby Linux,sy@lUXheseWsejy.imipٚe>,uab؆˞!UNIXom.Ùp8corpondy,Xirv8ramet}aizmCgretur)Mthquprytie8qcbeѝndeXdef򝯝4tapG_kmanavirtualPviBout睐hemϙϙϙ̫Jwrap8d p/x,apuq5:-to-.ϛVႤ="aGEbt{peci8ch`cX (//P)k"-cakernmoduUw cfigdol,if#I lzäyHʞraw eama4dat@;apem #|swritE'#4ﻅﻟGarbi0bop(ps෰hǫpl_ld63.ɭddiˡ|if_uGGϯƺaMTUȼ0sm(xue(ngyIPY0p77O'$omxaks诚pgaCPlvXxa1Xtriо((WAاu@r!泯8&cerp ?a imgix0299Im"/nblquo _">F3:ڸƼϼ/ذjpos=0001629119 hows ( b}JsliƯ7olaypology "first*x8agPIDelniؽ=Araffickȴ{4'plancnȵأm( `troȂQ7y??w+h2Gׯ@left-sp="+1"zb5x@ie{L  h2dzdzdzǝWdzdzdzċsecBarticulso`ourbuilding+cluھQwhiyaluo70tӀ="0em">
    CreatingewSbstractionssard.heoalf`VINIrojectasouildjtestbed,sPlanetLaboftware,8aoucombineolatedirtupworkpologiesndlic[2].tstart,ensider؃ternvesfirsK2%lexiLinux%9primi (e.g.,P icyouY) u -spxol(WnallyevelopHVsyexplorphʍse،ul rage7Rnames (ns)zde@yi@nCub(3322 >3Flexibilityrpnov(Qoug2@itHArxmmunxridx"cepL !excep崢r:Jon0mit9PauthEfrЭ@ac@oh߻"engagLjÖhelppmPimX@rprisg@(phՊounusIsecurYmeismWPtڄЪXث茒𺙉ZroggxnguQne'ho0.ɿpꀁHtJwhipinpupxitagu9viXڎimpatalodds7ifsreliճȓ;Ienɘim gˢߪplPLx رf 8donou˞e8ron񌟌anyhlsoz%reTipxi0reg `wذϺϺϺϺϺϺϺϺϺϺϺʉ!rҀityechanismsanttractxternalevelopersfourovidelexiblXndasy-to-learnmen`nvirona.nurience,killed_slsoaveerytgastesorsispecificgrammtoolstars,hichtelpsupport.

    ReԄab苐ionsimpl(insetweenompon!
    .espiteAib!}ddepe(ntlyyXdoz`i0uH,anflanetLab'ssycripts(Qnqother.ƌHin19 fd_tuntapvifconfig5subpae8sᅐseqieupou!addHransla.imilarly,Dslhi6nemakeswitcnec؉gihtύFlow eTlȌHi)at؍~prPtivesfi, 9XoApipdir8oXȋ͓@acke@ilru-soas??xilit0seߛߛۚh21leftsiz+1"?<6eWh2G//////, r rede8{;e0llcuHnNIX-cras s4ZWOS2XȖ٨a鮰box[17a4619 >65068 >߁216 >5׃σ8539τDŽ3895 >4]utqnltai=cpurmorunlikeoXtemШhabployȷhcasryȤHnumeX8rifrom x1Imun,d𺹟0o yHghfassroo?s??gOOMOOOJFXagyIroduc(JWW596]ertovgIp軳йdkemQibrarzobj-_coulcep pTmod1iror,uch PrhȻجarg ĿI+وVextensACPr¥a'"XfirstVqcl黋ZndeIX(i.Ƚisel){ise`YKPI:)__[OSLICgoo],anx]OPaߪHameQpe!unne ;ep˵i(narr@fwupKletXRWJXRSekar.ww561 >84l/t.ƌlly,ӳؖ Ӏ[14]nablesdministratorsoefineystemallccessoliciinuchh@ameaysNIXermissionseI/+.nis,`ne-gradontrolnem0onroYes,nd privHghof 0mselevatwithoutusebotentiyangerousuidinar1

    TPro (PRTdPERat!)emwecursorqV@XtetlanetLabpru9ya(ngdescrip"betwee׌anon-o"ext@Ubinvokxmitiv~sockcreynQcloq,x+etc.xiyl.xhptsT's -߇romǒ8oAordvancform9sudod anohra(abilityhm _mm logg(.SSU8539 d !rt`ݢKǙovPsh夀wwwwwwwwwsaHtoolxigoalJgobeyoد:ACLИW( seHex`xbuildol:'. reahip֗㟢+4QaatF@emb guagXh@-elHg&`wmecism.t vi`vbcÚUACP$ @fiünsfmak f_________[PerhapbeknownS?lo`8UNIXkpmi2letЧ}bs)ipT۽yon1authorizè[rresp踹/al0abЂXkchroot}jaiystemain,JSunJШd tdirέ҃Gh2^b0"lefts="+1"7o!AAVIERHU‚xKURLIӃPM}IPӀETERSONProc. 1stSDI (Sanrancisco,Axar 2004). [2]Š]VIERAFAMSNHUANGMPύΐEXFOR,ʋ:VINIօtas:ecndÊhrolledEximentonWQSIGCOMMi6sPisa,talyepڍGGGGGGGGGGGGGGC3GHATIA'S M%TIWALrUHLBAU,ׁ>UNDADٜV-LANCIUSVȑǑǑǑǒÐwTrelp:latmbuildflexible,(virtual ysnommodityardwareACM8NEXT8#Madridpain,ecembe*8//////////////+4]á`fe:owoeeoot (anothu) thewnassd. GGGEyREW,Acenonmeuntrhelpponszin!wilckerWT6??~'ocusAאCrypt)phy -olu`668]ʾI˿>ӿKAߏն-levelnfrrulȀnplatcPeɀQie1%P;s?^.9ﶟ9ON"Bgs:ranspa@tudt§̌:fourtehCMWϩ_qETERSONProc. 7thSDhi> (Seattle,A,ov 2006). [12]Љ}KERRESOTTODTHOMPK>RICKEYgH. 9romellabseesfheummer 1990KUUGonferY ),p. 19ϋϋϋϋϋϋϋϋϋϋϋϋϋϋ3]ueon(evelopmeMailList. ??????>q______________[4_ROVOSNPmprovhostecuritysystemholicie 12pUsenixӂeSymposium25]ӴOLTESZS>OTZLHYtainer-basedϷ(atSKVirtuzon:ӍabH -PerfolternveoyvisorEuroI7#bon@oxgalarOOOOOOOOOOOOOOL6TRIBLINGwJpVRAٺHZeA,ɻTZ,ػLżAKASHOEKM.ƻ>͔RRI lexi·e-areatorage ribut83swheelf6SENIXϷINetworksssnd9leѓ (NSDI '09)April9Ͼ7]xnsudowww.gsoft.us/i*.ρgggfDZDZDZDZDZDZDZDZDZDZDZDZDZDZ8us vileelevtoolipdg.uow.edu.aus/6߹߹߹߹߹߹߹߹߹߹߹߹߹߹9]Ԡ%ORPEC.su:xtensheootdminYǹǹǛconfere!܂WٺK1998OOOOOOOOOOOOOOK20]ף1FS@stirucs*PlanetLabww[os.csail.miXu//doku.php?id=docu#p_ns߂ggggggcwwGGGGGGGGGGGGG1]سVI~EROY.ԯPobjexveamlD,@as.07, ɯau's ual87"Ҁhttp://caml.inria.fr/pub/distrib/o-1.07_7-refman.txt">. :tIqnet-scaleisuHzationndetecroferforcevPsXh1WQ1W Jeffreyang,ubhabrataen,liverpatscheckho enk8raNetwork ȏ farmsosteeimportaapplics,uchs-commerce,0@

    Atra-wardpproachould?:ntiriuparedetermine(ggregation-leP,uasGPifixes.ut˃eirnotparsoughxru؋Hmhens0, res@oblemtranularitieBthX fone.nstead,irdsEyeuilds adap ecisvePdd8sPusingc’easuremxׂхoPwHimicharac`icnde00ohgnificantdir߂ggMore,Qaxlearl ,JɄngikunderlynetworkj,wnGX1l \imBy{׍׍Џ7МH7אP,tyhtarRhaHbadYty0 oiȈمɟWZ(evaluBouool\m`n 50 @lQRoripԋ@ (RTT)l$fromdPri`أЙfarmqaper-1SP.hile zw^yPmport(@0ca`sPkby xyatorBcastudy, cs ralћxomdiurnpatɰzpoP7Hhicccш w8misd` munknowXo'gtb-ii(`usefulѨd h/6w0ppxexub8yh 8s إaa :s1ґqcreynew-colagggch2|0"leftes="+1"$2e9ϲview2.1Requ3''G'''&10pbSec. 1xctfrsrϯ˭B:''G'''S8N-(eԫYr>Fznrencompa?orQaHpinóAreg.ow!,gbPshu02also_s,I:ksaoff蜡x0i#cMulti-Lhlr-DKbeɋFshouldpfocu@ aladdsQxE/24r /8iϬmaifh`el xmharchy.ƷXexam, ~8wˮqscenariog9efixa(e.g., /10locks)ҕ`binecaam(Gg)s(l_Zbelongroqag[)X𚰠pZvidxQirOHpmonied.Ӎ"depءeaXbLRs yfa]ddyivetoolutomXcinkahgPڏgg__'>CaptTemporaynamic*ӦVleۀcthangesnheerformanceflientscrossInternet.orxample,yookingtimeeriHtrees,natshouldebleouicklyHrefixthdeviaterom l_ce.g.,uBagradedlink.׃`ddreZiserem computn adaptive.ԄqiPi؆pmodifypstructurnɊOindicXverashmeas!@reced.

    Real-bRendb
    inally,eedocon{effic9Іlargeolum뒯dpd؉ipc (py 5inutes)llow6siew߃7ؔfashion___`eni&n;aeamÇxa8cer pa img8ex0300XImage"/nw$blockquo">Fig!1:nPTwith 4eaves7517 8]"Epre諊8farm@bpGorpo[I (i.e.J+Iɂparse t puadap)noitol)Hoؔ*guat(gggg>MxlD;RW*firs8mz i(defini (mIPRvoidifon):n3-IPpaveassoc1ab (eۀ.g.,abelaye 020ms).nPtreeshus`decision forddresses
    I:! ieteassociatedithlongesttchingrefixn9P.efinejsizeoftoكnumberleavneedhenQrePsenqabinaryeه@adaptive-kthath(a)onta8mopk, (b)rowodovtimehnd (cha(feafld)figurPtselfcca9ally.ig. 1how nxampleT4;achC⍽tency ώsub[OursetudiSec. 5Z !YX@operatP`usefulmxccu0rnet Xaarbh!dicCcy[flec)wemX8data.owe,ard睢algorhmsoPPehmanyo膸quiremÆ:т_QumA gtfromx(@distribuy;Ykwe9raku`@țœؚkbrUickly+@+Yinpueam.͛Yalso-#`oam -julti)p.TprtьdիČm+0b2Binstead 0ОPpXpmhx-bouZ [5i,6140 >6798 >8I]buil+ BirdsEyFxvisupzBursuffici ܤ/(ipqr!ۙspl8o7-dte@AU//٘hy.7616 id="FN1 sup>1ASke(4ǬǛa*-loᷠaionl.WWRXggf1gggfWqp2jͽexParlpi8߿@cinuousجzed)+*dvalues(irst,!now5sCmҮߺvP2suwith9hif2targe0O) -anpЂG)@owsPd,'etwe跟vtim@SHnd(eЭgun>h farwayj]"i_;S /araYei1elbejqHGGCh2_^leftEs="+1"4is(iz&h2////7// ۀface="serif">Ourisualizationakestasyorperatorsoetect mancehangandrmineherenhennetiyccurred. Figu2howxamplefqIPtreeisplayedYBirdsEye.achot Rnode,irepresentspecific fix.ԅaforelevanrqti8e1:

    Nhize)oonalAlogi numbeXfTTm tha8ts.ƍ|,as 14,߇"B12.i,. 2̌28.042/p4"dth#ign="justify g`prs0w9V'byivinhbviousu,)sevtomeXsecۨǨz1enAamꔤwillPwaypppeЫ JHxJPa}orP8ӧp7a 2mbkquothW:ųSec. 4scriblaidut}1g'3'7'77''w&3: (a)DFqErrY(b)isclassдegorfuncʻ:PkQ7779Fiply`eУ lѿparф IP-Qݢhnumbk. mo٩ator ٨aHformberk bmaXlmAmg`fewcomhib p8,pntisimpaxnankfu1al thmz34eisXoHle>doesn'tਸn:װɽhy__sɮvdXacj 냰Qcɳgnaj, `dppbim5.1څ?b@nmpirlTTatah2Wleft="+1"GA

    AsiscussPSec. 3(plit*l@nciesoor: 20m[9-4`)hA-6lA-8ԀA-10DJ-2|and >jI!5flectpceivȉ?e(ffer0(.g."incserom 1 (isoroticeableZu}1.Αs ggrexyellowrassGGGCh3\0_"leftGG>5.1ccuracyvaluFig0(a)P:֩yy (th؈^ha'⥘ªact0z!e)k =x,000,﫩ntidata`t83%T@5hXPirc90%n(i.e xab7most)ͱIP1-Ȅ OM!gBasaj˱GGGGGGGGGCIrdhooxappropri96AexamiҠ۸Qt6. b8lmlassifiwߓrpʰ00Y.s8bsalway)oduysSJu 5leavqIӁ beyoPBHn@1%bo/Sأk(e vsmallenzos0calos(.2jȼAnoW">Nexti-a-illBirdseyQabilq;@ci:w(3ycenarios:8tloc葰c`qqnork-5gggggggggefira щ2)iculetdi`mexdCfix (e.ga /24)dtishitselfBGP (becaZ,a (trhrg/)t@ouldblikeisc# j2HwedoEye dleuchِ?2ƒ/13PloZⴐer-1SP4dd1dom genedhressps:!یtms)Ȼxeam,S"1dataӫ۫мP@a4ӶxPftd-sawap (ed) rp$ʤohhi@ searr,.eXa).oxfiCDevePpIckȗtrivial:4(c) & (ػ+ap%in"wȺ :2sta?0(bH8wProwdXبah);sɠXn]d)ײvڀeight="0">
    Weowll(ratexBirdsEyeapturesarge-scaleerformancevent. Hcollectheetflrefix!dvertisedymajorier-1SPorH@rmde,nd elayIeachPsnatduringtimetal.hisimulHscenariohere(0-eisruption use fficlow`diffdenaysrough{beetomulongHpaths (e.g.,utjcritihottleneckinkXsappdeedi(raneaneay2008).ig. 5(a) & (b)s itanomalyebigisuimpa- r( itre0haHolbetweetw0sȓ0wЁalsoЂcd),ut8 8lno eableus,eІ3hؘh1.well. 4:nj:Xtencya /24 . `-U_bee(af*,ipclrȢBcdO`OeHQOostȇߎݩ' 5g﯇/5Ϯ߮:ߎdomBP//w/-_somewYih3_'left>5.3ҕaStudies|h3ww߽wwwwqsexampHQlTTT!ciusPos0we@nap(8aIPhourVd9i-sub:Q6֫_wwb>.y 1:ýist`PoXP!.urirsoc0nXrLj|BalwayvZ(i.e佡ar8dEaU3@spik\(( 6`OninяYfound뾀orpo0mQnod;2riXȘ rmcdAWe Coast,iricuXcerm'8ation.xd-غ8obylta  73 - 81%u sc90mXthus lP+cі7?7?꼯I8ddiɄiaPAмpg rangrom /12/18CseRecAڂׂӄc8)KÎ.spPoK'be2xaإ8arrier, Ctudy 3:nomalPlock.uraexamppas0wirdsEyaid1fanwi0be Pno.eoc𕈙FYxhИ7(chNotᖠth spike h8s13hhnuyin@eisc72belhhl郵w(ernS I؞ 23pffHy h\et.hePccln 0.02085?;͙h, 9Nmce80mhabo(41%20.ŞughkmprinyolumfZ,w.iatiШaШth100m0mo0{wڞ Xerreograp(ˢsug䬃clipmisdirecac£9r9farmQdث7ck.epe,o`ato`d`knhaxNticulp,rIiѨ8cer1p"ρ@ 6:ҹ 6ieм((a)-(d)PIP)"!P0 D8-(hcor8poCI-Ȕ8bywa) &ggؽ)(tT(gadiurpat*bÃGae-ʗd%mȊ1 2]Hective@requxț0Ԩh X0A8a,1.lgormsbuil rc+heavy-hi(h5133 >3,Hwr7189 >9salso mmarXhafficinwumb];Gprobl@ ȵiroHtypidIfyŸ ٸlM0mancP.͸i*h=)apxacSp aggڒ5316 >7ںadd8soass73;%n798 >8,t1гxH!automada`ng 1HamPOӎߎۆhTxBirdsEye@too)enas80toh ck-ŷrp`iX .ɛ,s pdecisverhePddresspacesingecenterformanmeasurems,hichroup'sesithimilarcharacteristicsndepteXosegnificantlyiffergggs.yisualizЂxdecisionreeBirdsEyehows oirnXnet,utn`highl tarRataveadPanyivenoii`ime.astudyed'peTT ommercialPrfarm,disc1sep 1patoator(nawaofkee8st@know,uas urn poeىicuaccISPKanaikemisd hdyBm.upproa isb:fulY8l`t9wh)beiodepeupߘtruct.

    ReEVERLYSysMLÊHESWICKBwatch:͘dn.Compu@ 32, 4 (Apr. 1999), 9798O3]ŒSTANCAVAGE_S__>֓RGHǫutomxcئfsonsumpذpworkxaf6IGCOMMF3GGG{4]Ɲ|REU,ي>CHAPIRXŋ>INGEROٟONWMUT.aUsRbin(ic:rspȷʟNTOCC 7GGG{5]̉-TTLENG.earjquickhrreleva(riabound:wnཀhol`? M 2853188רר׶// 6/N//TwjedajQInforS10840212251/׻׻׻׻׻׻׻׻׻7]_LDOFMKOPOUL>GYRAKI?OпilܼfixesodelؽNsUINFO(f9ggggggggggggggc8]ENKATARAMGkmLUx׵ONG/Dׂﵿ-PATSCHE,ϗrackdynamicLiciouctivt趑et-sh^NIPS?_____________[9]ڿtHAwWT׌ҋGDUFFIELϣ=/(C`nAden0ic+hierar (avytG, 0lu,#ppb7M4477777 D06leftۀ"> UIUCCG׫/wooWinnieheng,huo,xurauan,a laos77O//gIBMsearchוggg777oאwc@us.ibm.co1, sguoǰ؀Tlwggdr/@''WWWWOOAbhijitoseOoOOMGoogl_ᅬﷇ_[ab@gR?/2߽left0stract2﹤4߸"justify''>IrderovoidritiLAiolations, vicerovisseonitori@technologyrutoma0the n ifelevaevsnJperformanH0HageomponJand wardmc keppbe solvbyystidminis (SAs)Xefuoccurs.orptimcost2ge,GgoliciesȄAfinelunXHbehafWUuchat 8nong@vegfalalertExXapaڄH߅yyhȅx@hk SAork,PthۈYloH1leXePolygraphЅvelHchiht1]ӏђNJtosducwqlit"ltiypЖEmdata n ive-lH:喯Qgene(tnewW.conv*lowyj`(sc00ba 60Kgfro@argeT^delXryfrauyymethoYtshold ʝb p؟) pHp hGt{)xxŏJsaupy50%Mbasxn.Wڀeight="1em"idth="0aalign="left">1ntroduction 5]HPӆ-C87420 >4,TerHman0ofhagedm8؋Pfyriti ∈Skrewaoc҂mYsystems,Yptakenee̐ lgre(SLA)iolsccur.ԅ/ deployx ׆֌ѓ0-definpci9ebasCKeyЉϙds (KPIs)rxecu2cexOrodʑ5Ј`gӋkЅęhaeښsp (i.e.crossultipP).Ŝually,Aalyz!8uto-ńׄԏlrts\ol.p reffeneUơcapXI_*limifalosxvn€qhimmO,!ludѝaSAspon+ǁLAt@.Ы iouork6 >2ourbٔelryϧ4fi(difficygOǜyanG;balbeca)lexirppx;GGö7Tpadd srblemAˆțm hdynamim`l8ha0r,ص7_٪;mknoȎdrawroiPgϝȖGse.gGuTvit`l䇐i؂c om08lSޑmneearnȈ߈ۙ8iyga.  8P,gi>Polyph{cunumbPh - Pi>O,n/3X@?i>Yus2BboѮ1hndھ4tu٭'buildغ`woиFir p 2x__ r onspYذJ KenvironIordxexpinpsiz𓷜ask8KPrcccy.ӄ70oa suarId[x@ieزyebixlikifu骀owart1endhPercorrݩ Ǽdetaic0تϷϷϷϸs8ncerpڸ0Fe 1:OrtX gtǦťɦצצצצצצ

    Tprotoescribedevaluatpsaper Hfocus8lyshalerxgen`5newolicy. implCsjIBMivP|pecifluh.ow,ur1xdoPnoXepe a_gechnology,anexXd toyT6deli`ynvironkd!arpslpachfor .ixs boH 60Kg0yrelticket3ahr`iv`rOl,work kt`u)s: (1)es؛archi 2ɁinurefinsasspQexploݛerGWh, (2)ГeiquLǩHfpbyinϢWol(3//wS_]ithatzntlydu`umeǤǤǤǤǤǤǤǤǤIG8`hZstҚwhichACٵ!requiv `1itKWσσϭzcled2ouqyix mSA,e9vٲtuxheckggggggggdN8disȬQ],Ӂ3sW߂etaiA=4es99Ǵ.ilHU5ummarizulef([7]bmoொsȮ7n}d߼߼߼h20"lefts ="+1"/)2W@6"HPpenViX7424.s* ĭۇ2sq杩@spec)0}ϕ@uFdynamܮ|[;eaxAopta׽אPrevioiZa+larges 0eclO?Bmeths6317 >1dapmioa@*fromWtayordyoTpatnU*Fgԓ l٫clotYӉf8 >2automʻIadaptthholdPtt9ƌh KSLlbj!(SLOs).ԍhar1yϣdu@oslexThoqdifhpycqui1ex c '''''''''$Abod¾olse-Cre9],ndultagexalysirchitecturesenderurorkimilarsomeDSHlutions8943 >8.owever,heinaryalertodel (revs.alsttack) diffetrom*oferformancniangs,hichncludquantifه0usAllThutcannotrmetQ.

    Previoul707@3linIicXylass8rare ntsecautradiyHlearn9ier etenasdstom9uguatf܄1Z1tooHstly[Falg thmsoittlxomprove.hhaveghs (e.g.,LAties)h gHnumbfhhm؉@Pated hmatch8apracti@ITervqDeliyRm1-riskO7774h2L0O"left5siz0+1"3olygraphrameA
    Zpatters((2genT`b2#˂ 3ڹ s.695378 >Fig91Q SYonartemplىbtej rp&ou`unܹ see): 8FBArDeorrPUЕӢjpn0Ȁ8*modudinguisYĭs9om'Np0c"solu.8ociȭoboulڡ

    TheemindHthsectiXfocB*l 0AsPolygraphmpaхh3fj0"left>3.1qModel`xfЉ1rXtXwvalue.ur 8hodpplymo8lexxssPxyijunveormalmןׇoob/,9nu-diciwhicha(Vsxa94o{tanalyztrphowkmoslse-ssulrom4.aea):7772ulXli>((System.VirtualMeyUtiliz i> 90)(NTP 80)_Poome =gg3MPCPU. Sus= off-e)(u .AvgJ_Busy_Y155/____Z2earnAPatn`///g///nh)iickettailZ-nautom( ted0yhciڰD"̓bou,or(v#)'Ks>G`5xFm,tٮ( yGɱmgׁurr,όϠIolucripRhelp`lafaru WWWWWWWUGxPco(defParg𣘡 xgroupqsH,w(aЯi}hHл1toȘ)@Yqset3qris)qt#YtxA󭫺robpaptu$.e.)ang螨ﰏ@gXiy'usn 3 G۴with։WWWOWW_WwwAbÓOe< Bcor8xDi.׈losꬻlit(wxssuaotcehavi1(;fc8lih8"sGGG>Proposi1Qa3yРqX"p0Hpiwhold 9,TgAPt =in(TIP>Pdprt0n@yneg`vdat簙hрt="4"idth="1em"lign="justify">Proposition 1escribesowouneh!resholdalueorASIC8ertolicy.fsmallestPIttr0ssiggehanoriginal,An ne DŽ‚XsetكvandXreissed.alsVrelatedمƄetweʈelimwhiloЉQgbovremain.nxample,ivarningPU,fppappjsreT(equ1o 95%,esafelyai،@of 90%ԏa؊fccursJaloa88itnotdyvhtx.

    3.4Ћ3GenerawithimeatnsGscopXأQ(s),Vsta‰ٌkd P ^–p8ɲdRrangei>,urchtjڰ"i`4utQSσʂ_['aU'hripec"=aOe칩peaJsupp1Xt H haret鹱t 3pm, 4)8pm. m Wf 1urulw s (2pm-5pm)(7p9p.m9moش?tetȩ2bunc/5Ӛr-BJTu ???????dz8ypbap@ydeș~idȠ@fras0ctukusabest-prah1ji!slanPjsoftwAworkload(Whilyieqeptabc`uy cfe , win(ofi 9acrosspabce.g.,rrd䱡upxde1dynamXre-clطe@lanc8oڜzŬ"ffrom 100GB!10TB١g90%tilizJgeneXwh1TBJsava/////////odd0Q齺Z`yp(akؤʘ i*׷ߒHexmz0wxgn bhfidonot밁sYgroupsqifig( ga,wPạЫ@fu.6ewuEu">I{epPsp܌7Xrscope (i.e0+3s comp8cKPI ѽ8agaibnȓw. 1couPсYgalsрelertsreomp@dithhelduntersnrderossess"risk (trudi)ndenefit (fals uction).nstallay-specificreshsnRicetric{usX`demin(fnewolicy (1)sighlytcialveryowubutomcy0ployment,(2)aszlчD@SoforwadQAalysis, (3limit 鋰,'"disc.

    4valu4.1ĠC cs3fItdx;Ԕiih`s rfielinclud?Rx@d)scripY))@han ePh180e`itideployP(typXmoXts)߽߽߹ǹSKPIUgaXne-P0"aggregoɫcwindowuh15 [ЧAfurGGר7777774wo ǒG,P1J2,ɫ?nes8 T `a>b'ctot[couڀ9c\dPribuacrohBGs;tu0syclosYvahissx??hakolu,;95%² ʍhb>qaoodHampXHcaϵȿэζHtunQgבillظ8hwhhneextAvieotb1on___W8cerypgggwblockquo":seWRPVW__ '%Figu2:ȳX-bo det鹰wi tharyingearnIsetize

    4.2asichresholddjustment@Ʉ0h3??The"t&aðodomprisesfolicyenerationsQvalueatternsndnclud9allrvers,.e.,e @ireata ishedorss:qtr@.oP12njerti@dootavePpainhenpplthp ,vi;currL·`optimal.ȆbecaȈPsamysimilar;pectoXlatXas wnyxp჉low.72777777713ost-XЖGG/G וZ8sזז(+analysacrosG)3hρd)nlwQҙ; Rs. Figua>llx8falCdet㝸ww*?DncreN衐adiffec`etwe0ploPYeachindic "AIn l,ebꅛmowp1AHsxHb>(@"OWN'".ƨǧseL``st 10yZ?:seed`iablerxmapikgod@p 0gumber n pG8cerapa@ imghcex00310AImage"/ndǻblockqu"=3:reTggvarhrsize^߯?1'_4!7'77777754OTIwwx/ethodCauusrpatxnrOOnZsel鹷[3:OOO8254N3J?gɹ"woLD6'tϴɻt-8-chema9a(ш߈6030޿a>).imiHlyЄwχmHӅ򽈓fescrib!bove,oo>㇘bafelunbyolygraphhu@a,ut>ʿoҾpX systemmPst8beeployGGG'ǵ''' 5ɜxctTѡQan TOO?ǺǡO/OKevalue>rreIѷ-appliP׹ǓTצ1us10-day ဇtrainingatasetndarieshe resholluerom 30o 180inutes.

    T`Pultsrellpratedn Figuh4.Xncreȇtr0timxang0of P14.6iscussWpbyutomZtujCpolic`>Leveragh0aalor݄cy. aXysirmonitorHdeneo샷y.Ƅiance,xte؃AOLdescribwhe#sch lhm`᎙itac2o(n!Рifitorkloazmg ВsuchIti-virusabackups.ϔPw20.3% er'p;do ϕmu!herPUs9PnormXXte.ɘ`rdP eli hs!,exIxploitߑݭludQwrel+oxecu"cnorQevtyp╗惚sLA";attȟQicن}inqd0ym|.4tlyut8رkunlikebis>Empiz`orechxorW!lov havailabl՝ypxlo*enhozȳOOxs 7exhibxpoqutsamplce)ͤؤbeb:ȋz*opposttrendHoccurŜ<ٱ iU,[ؾpeoyӀ`inpu0WʠulrefulchosJRZar0HzoX ش trp߿߳77׼77Sa䱈Qa;oAzfi@ yar@numbxavoi rupu.raЗ`urP'$o9Àa1timȕyala1s-isks/cs=Jt>Imp c`'0!behavihҹystemľP-F#itself (e.g.,`rdwPHoftQ)Xk9whi Ounnlm)result,gU` utI`ih㴪⿲(cribX'$/ջlhey9anYsubnh((CriggҪ[ tuz 1rmCjpsi>LrsimrxOurive#1iPbhfpPgroupLշɶHhelp cs9traiʶsyoll۰inid ܭ֙ТufipoiYirQs;1betXz"A|H ncluǺV8eb-appxrhiဇchllaveheam(erveronfigurationndworkloadharacteristics.ororeeneralases,olygraphustseMsimilarityeasuthatntetesresourcerofilȄwwr

    5onclusODIKEuroSy0i> (2010)/wwwGנWW׌׌׺׌2]REIGE.ooӎHEHORYO.nIAda@veԱet1:nablTechnologyznomyRSelf-MICAC05׊׊׫''痧3ЊUMMOO,Õ>ȘVTE'R.ear:LaFAmPIe٬f:KDDĖ`͵[M0alyeteױpߕ{4]^EWLET-PCK>ãMPANnP`rviceCJoftware. (lHENGIBMesearchechni耘port
    (Apr. 2011). [8].ʊS.&IToo>wAcisysupconstryngnKlassifH:mojExpshthpplTsoH36o. 8Oct099]ӗLEIMANIM>HORBCritEpisinіIn@:DeteA.QCNSRh8ggggg /(t0fleftOOgils=0001688385 id="chp24_ftn_ida8>*8PartiXyuedySΓjFoundӢ(IIS-0905215 dhelueatersstained-petacompuproj erSFOCI 07-25070HIllinoisΠGAWgR h12Ϥ+c(ersiz+1"WRbmBuildBȧHhrmanD>(Hh1'7''_džFangluuo Petrosfyhopoulosa77߮i>Syȟ@Lab'WW'corpj,ulPityhA,A߹߹߹ߖ2wuAb`ac/h2ᄂ4o߽߽Mrnnaseeui@effivetliminhesa,usultiplyQcapacdisk-basackups,enabm liHcapexplmDespisemv,e-nqraw/itillstqtoeXorHfewxredfraby, cusreslexjc󈲄3NwhiusuonPow@[I+digit )".ȱhoRunxB(iciencpt zb^rce0rhengwithkesH @wֆdsk5yrough@, 8Ўergy0r;и'X 7/?R???In`prp@9ourGCwtotyp؉×pfroghГؤxO b`akbesossibPXa q's0cqachiePe:x(oals: PI1larg,qvi0goodiד'!I3n-ȑPq.nHadro Palgore cpsRin`dunpenismscombinhXeful1l\know^X9niquparHuWlabilq-ɺgsaaAdexȌ(pmark--sweepߛt)uizQav-dr@c1alt- sml.ϘP^ϲ8X3}lstobjanderyittleroegradationfxduplicefficiency.

    1ntroduc7i> (e)aormicompPsdetectXeliӂPinhereHe Qonngcopyea0:unit.y(ab/Hanultip!(iacityy 10-50imerenHla(8c,ocbnrKmq0so 1)k alwayvail@pnh(dexjb, 2)gremot smizYnetworkrac3)acl0de/OHheayNeneiunchanged, Xvious Yed-pfps﩯oTxplosincHp`amouxqcorXequiP9howeXupgtssuؘjg "immedi@dٌpw add}Xer!anᓺHlle`genhy+8Onغϵϥϵϵό',оQPrжxt`iؠi`re`utue:go8:e8icc`0il`qc@ough0).ĨǂfɹHeפ۷Rshsܩ@0marc=q.Ӆߖkauphr92rawZcئ׼(T{PS8brans`پo\k[titu :ϖmetric__OOOOOOKAZ⃂~.oodmۅܟ]񁌒_iJQtotalumbe0fod𸈟8Bd(m.ȩ)p`u!0cau be,Pw(ow.mo

    Aoresearchpjap*focusXApt8zQefficyindext,tt9ablebutlys8le-nod:urЁ8tate-of--art isaewenorundredibyteswhichfaHYpeta e.Ï(equ,tX*ejmЇthrougSoplex,ultisystemX aggregZeardXvih+ z1stor ver (acquis2x' xrgetc.)j.urprpromGGBȜȜ9яhoɗhA◁Ȗs pidncȔ up--ectivns(einWdvoהA/`ke mҢHnext-1s:y0kI H'hesceqtpossiCte
    n+cos2Ƕend-to-8epʝcribuhnmPanis`q(hHengmb`˷ -8ng@qoskspeħoH.9Propsaپ؊ٮmsǷڊhXɢǻP£ZlookupPA(Ў0O(1) qټmrOhфXAB+`ne-gra[paK_iRi(aY|˸7773troducٕgxpmark--sweepCacmin8diskcЈ!ach9sar-OFi!pxHt-drn,㥰ipГ ow<Ȳxmi§ac !ʜfutz;!er Ф誨toty\2e(1B/secu 6r m)tA2stm430̓:(zoodcy (97%)t[capai(123, 500BIکA25ټ<3)WWWWWWWWWUeʭorgz(fH:ӿ2னdetascriXIkmaj1ha"4.n31;phow_Y'XlGPq4_ash2VZ0"lefts="+1"2ò2.1 뀀Indexing Mosteduplicationystemsperatetheub-fileevel: rorPdatatreams Pinto@sequenc`fxȁvariabxsizXsegments.Ƃeach,cryptographicash (MD5,HA-1/2,tc.)calculdstsferpr) (FP)ntusunily hn@hpartir.؎0*8HlogQFPsorBʇHllowdetec‰=es:`@gackup,ft8:form s܅z ,nhrefer2 1copy$p.ϑrwiseb(onsHnewa̔prve@oIpȏccordly.nany=FPalsoXucialrebrocesrieՊP:actJag\[of.p Tneed@ovremportaxtH: 1)Rhhpaci, 2)xhi oo!{oughpuY`3)iI+斟 i.e.,$OHefficiЎ<{pos=0001743159 >T10mtsows1ecome 8yhengPetaӨ#hE1Bǐ@h4B (e-nGޣ>&willYb:leap5,500Bsup 250⁨bbj}Suan ssiAXma mp`SYаءXowr,ouldI0Pu(` w.԰(@H4 MB/secEr8iwho2f˴mattera,i޴N18Kops)0ry!X,Wdmakwə:xam)onfiguH0llhqslHinvolvЂItbviouztyRvAPrd `OhopoȑoneoR-FPscryptophics,ndomhbutD.dj XselAAany dsd-ah0HhecRnoPt1o5qh3ǔoO`left)2.2ef0nPh3?_ CraH dialackuptp'satayh0efaul膿necȃkeepck2luslairs0end[aspxeli ɝJr/`Fgex[dy*,lccurd canabYhЛíxi?enactuyӤextXPAorqk8^Precworkۺgc18799 >12, _\19589]infocPئMشaPSyؼ5 >4485 >18]tartedocknowledgeheifficultyfproblem.ut,orimplicity,nlyeeferenceountingasnvestigawithoutnsider)reliabilnd@cover.҂ǂ,owe ,ufsromowwsiyitsulnPlost hrepeupds:henrrooccuomeegmentsayed not.otransactionollb8gicrequirSmaksCst.ore,fᄍ`cYrrup8ortaH9ichilxar gsPsb6hupZ9gain.ntun lWVcanqvHima.inal8؍alm)no8yiifyYzecƒiin8lardynamsyhhOfieldeedind@haPr `agqa5rerr.ɏheploy,*integrdctaІhduPhQjstisfory.

    Mt(ya'앸2httsoluA:munb'#2 (XusHya.ȠޝdYghllecessarensunȑ騉caHpassvar@HlengthbssЬdiskea؆.EiȊjo(possibipadjp8rduBJ')폸Yrewh(.hPg hursp᱐'manЌAAi]mark--sweep.uih,hlϭs ցjЯtbkb~AptunCla`d apIresqi: (an,T"Bؿ|qne`ivQe2ScalλAAsuGo"exaT1 poued9N = 250 lOItPE238I*= 5,500B)J@ac@Pdu󾙫#10 (i.e.,O*yAdiȿ0HQ)3totizzWr855,]lo(takẪ4ursa 4MB/sec{array`mH,:in-bٍnPtri easaskѾRHxpmexO3-18 romHmulti٩٭0$0඀if@8am ASmiti`o0hfdPrequlxBppritY:opcalpsk9:0iz;1ystem`°capacIaXngP0y2.ס1daiHupapl2H)P3uxustpdele Κ"XedeployI,d1twa8`nf*rutoucharduon-o@nଌlcgoo@ecoI;tHt jensucor@tn.ltgh rovaa>pt7oon࿤ƑusiіBǾWWWW8cIrqpb 0Fig
    :ýCigSr`8mᶚh@ a0Xno@nj1h3eight="1em"idth="0aalign="left">2.3lient-Servernteraction
    Evenfeolvehendexingndeferenceanagemxroblems,nd-to-8roughputsotuaraed.nptimizedۈiىecessaryoapbenefitsfeduplicaa.ԅtypleormsfollowstepsurAbackup: 1)idataromile02)rmegs҃`culatePP3)hI܊9waioAoosult8Q4*ach4mistsmrelevx#Gorwis愖hTٍH yufxeeiɋ hbottlckFirst,⑹diskIan/O-bouoSecond,fcryptographicash! yPU-insiaskя1be@)comZ[/pe1nallyncy" mun?kb8mmainkoؔeap.pߢIh2 s="+1"_\3roto1es?92?geoooooob>3.1oalSymrchitecture">Wturwgӕs:׌ulliaSability:orhredillJNTnear-raw- RdX\///TAx,!haimpະyY񠲲naطv8 xn!1 pos@mechanismhO[usC++rpadȢ(64-bLinux ba2 hown <؄=0001748644 >Fig91aggZggsid onsHcwomodupYlsXق:logicע׈wק'7q (FM)`siAkeepjrP2BHMPQinړalevelxvi3GGGFzcfQ,achp bfHta⨲dP%*FP, Hcuٹɩ,򟊿iWfmiddOO>\g8pbelongYsat(s.top,ultiaggreg2pas ow`arse-granhrKd/L9گp1arefer@8硇硇י/S//+Ẹ1[#mayun*ai8tث#FM.͹. (e.g., 16B)funi鹰lاter.ÀՆ|ataHhi l)p0acQ,?y9rdjЈL1eatly1rs a,(uciI/O a(iciy (ȋcuS83.2.1) SM (incorpt@upYteAgȲ/rempd/S4뀀"idth="1em"lign="justify">TheliecomponQreadsilsrceivesatat8ms (e.g.,from tar),erfor8segm0ation,ndalculatPs.fterueryingSMndex,r8referenctozexicopiofocpdXCiniti:transnewO haseenullyrocssedFManag0ispxwithmeta.

    3.2rogresshamplIIdd heng:lHobj(s hHhadјo)ib0ntroducdctгab1+:zJd{͚߲Ir}yaߺ.Ƹ(,FsҲ A A,¡Ҽ C9㣐ߍ:1, 2j3ypl@woulQp()yRl`A;p@ * 3 Ye , 2ɭ crȾpap6aL&whyfroeQex1gext9valu9Bycoupl6Ķ1norNu@򬐋SзsEʵbLobvgmouS+awxЩ@򱈻l0`r[ךumbi @Ͳ9roppartarb Ma#v`n(PGB)SdupoiKlEw:y_bytes؜totalpporaThn5<*/˫l]WmxaР/S%(8asp 򻩷ioTȲCx1u:j!pr(sW~de rRsllowo 8c)rpz$)imeȻ@031alIm`"/6GGG"Ɏ;pos=0001743159 >T1!,g 22+t"ȼ4pgi64pϙgȞ}11.6h:j_810.e.Wx).Ӡo`Pȭrequςw0.0116=o86.Ոr8t+douѿq?9doubleheatHo 1/43,acrificingomeedupeccuracyorigherndexnsity.ncreasт9capacfsystemyddAmoreAMisewarithEsamplYs (i.e.,ett(efency),hiionlytorageresults`ow{@ut@ofteHccepta,returninfinite5scalabil

    3.2.1ĈLj:re-fetchandЀb h4Up4"justify>Se 1xTPin`t69Yhits,o@quently,'%wouldducqiLJȏverِ okuppeionBFP (alsopferashehcқptaintlongs l2fromat's0talogieyetbeshown19]likelidsubĈLst#z胪yAus1al—y:f A9@folQdroppBY,nYy# V x`a0Jfuk؋XcasehaveeOf&T,Q򈻕 "uCב$OnIextrem9XectiximprovjliȗѪ٘™עLj[tromhmu0te: lPn`' (e.gir0)hA|Ӝ:I(gH.ecauisfizzK*MB$pR ≥<>10p>))a8songpunlimd:caxuppoVwC4; (M[n/ EFh4Bgmh 16x4096nRPhо64B1 *)exJ71743159 >T 1Y,747,662B D`:y//+Қ/.lthoughmbinC=Coft(yie(100% tonHeviq˹rimayǷ.s*ȝfixmodelyemosystem.ŵ Nth锟OS1 /›wwÜ?=Hfwa觿f%uxmiss`yf;:8c(erp Oimecʲ00ٳ0Image"/6GGGOOOOO">aarticul8sdur;`g`imPra0(sHario,p al wLRUd)ߌܾfbetwetwosecuB!sѾjиa2sreewooowwwwww6wwGWWWWWR+EquC2H_:P= 97.9%er1v, HgȲxt'ewuecessa`valu /t:ڴ,gE> 95\Y, +٦Ecamouxquiѽ] > 26.7Xgh41left">3.2.2rogressiveampling. Aie,et Xortant,ptimizationoedndex sashebvhatqu1ausItotaltorageapacityf:system,nd,reforcalculatesrvaluf HRRrpJz͔usa( y`ymaximum(we.niti wPV= 1rad#decres8getedurorkexJith 64BRAM,=1n[ 11ԁ6Asapa+l؅0.5 down-sƒ3(e.g.,ropFP8!XFPZ 2 ≠ 0) doub~.œÌJus1,000(0XconP ??H0116hLpGA9Fh4_^lef2.3ɢmiggggggggg">TvIcabe:C++a誨parametrbhasZdesPu[d)ermancefficihexy[. ɰM availraxidfi`Hbuck(1B1fault`*ѣ;aF[YHM/+__in-KBzm=.ooirsa گ8ruofPs<1)omȓ ({ *ca2)=savyplI8-byte9*3)kˇ iлxӡlwhОckosk鰬shut)'''ggejgggbIfp8roh *aimaccomBd( risi.אP<2i>bSq>YgXпlogBI2;(yB*$20) 9k) H(minnumb@vcosnd)![Yytai@a9(X8aliabiLAencoAW xonп9XTLbeloto.Ƥsq`tR912`PMD5 (C(notr@oud,dequѾizpuresP`dayplʿ 18 InrdoomftsystembooorashesXsure aXlvehdex ckpoistor HsiFig2:xampl“ep('__GGGG_F蒡b@8n-CٻF1Mrres҉OK48644N1Y,?<ڲHqfiles,ackupHandlro.*aneegularځatabasestreamYmail,tc9is(setfe.g.llnder7directoriexTh`tionzcontentsDrenarolqyuser.

    BaimoFnumbȆPatMSeedxoanag ye`PyFMr.hePOm,gg8ultipƅ@onPigXOH˃Wtrshangoachforہ[iur`whezshaveadd)relefrom.uring9run,followsteakelx:7772olXlialu1b>Mark^3
    .nlyʇo doothqunǛכсyxamQFigu2ssumeer']ˈhow,inceasccycȋmsoН#¡"ǡQ1'p3madodificJ:2.ɝɡ0co9tou ;gK*.suy,xߡ1(Ã)6ڃMthodon'ted resG3PalcarrШ؆_ځYכaainsegm ࡤaڮJtsay؜ybitmaؔIaA9Ҟliר2Ad`ffhHg®sweepisṫfǂpKKOHyGJfr(Dex,hsU`ɌRo SoAputẠtwӎOȹObei referep ^: ,newgi3)o=3;er;0lqpFW m731urɁ ]Qc@8 YC.(Qold)2drmotiɱ𞺟-imilargK2=/:p4"idthem"ign="jufy軹="serif">PН@8leaɜprovidortasabilitynefiFirwo(bo-grmyey--.ũsets8orfutH`aFph@꿈avoidܹjorᴸaG@8Pndunlikvonalwezntriqߕأ3RTxXknowioY2mopypystRøsub_74ausuY*W[`p`>

    Discuss.n eissuylaч8manage0yxtp`(deȐ)Jz.ɒexaFigu2,5y 8bHctywite(ed;af *c@g'!فGMST xedpfו`sh betweatimeOw0cr„k*/,,loss0Z,/non-ex.YDRAst[815 >4]a(ad-onphaoreez ƗXj!/cou8prcIvidubiouxObusʧalwayoLRynlike`iKw`ow׏frozenǜǜ1ǜǜǜOСC-memoprmapaddhȀblem:< begins >(y oiTCeivgerpаap.bZKwhognoȳc@cermqne`yWTHw`runn"q-+`apspwhsy8ozaenpr.ȐYoou؊Titigspn 븊҇th}o@equlyh3Nleft3.4li-SerI3h3uϸϜϸϸϸEHh0h-perforؒ9,)H蜢chighput,ѝc*jpushӻX a[|rڴenoxbY1 -drn,ipelhesuHizsl`fulasyncXsPCXoǨǐߨ ocol0h`ssagaX`oTCPXms дImechanis(e.g.,ams)e@dJehmunicț蹨localzmulticonnkeeXp󞂑pquipcA01s'atchXordminp,nd-triprhӖrtrrifZllnxyp(fѫӁonҼ8@Csxٚby(vaily77O''''''#Bטԕ%, aȕWdWSMоFigu(38`eCH˞epa׮׮ת׮Firs ʀI RXceШ5u!sarchunkhfk256֝yen/haPHQ ˀѻJHd_HQHsӗή[ culsPHCcryptographic2HuSallyxpensiveperation,nd,nrderouautilizeultiplePUores,mploys nD5orkhreads (H1 Figure 3/b>:lipipeline`ongf(maxev -h@gxnecuscЄ124~ }iace="serif">T3 pes]sromQ ssone lbatchqusRPCevercurrAa$2round-triporl 256A.×GGC2ȗCRep qctZferehˍptp"wXp8r.fʄmjno,B2ϛϛϥjtSǛǛǛǛǏ/ˏSSQPn@raw 0a ^ -oughꐰ3s wri~aucs@;wara8}each&los'>CכףOכעPnyC,fi/ACm(leanupJÝpmetaYKF ManrGGGG77773$<`owpbetP tystemPiohF(incظȫwithwshput,8pnb½rmoXtim0wh Inetworkm9`oʞ.0!٤09naases,`@pus8x.yg,+xampumeojoape߿߿߿h2_?8leftsiz+1"ja>4valuº6h2ͷwwOut-b(in 8-cXeE54503Hz32BAM@unnaLinux. 24Biskrrayi1HЏ21i쐘ID05. 4.1hroughputTab1 , pleast 4MB/sec.nloouilyandQdesirs:ȑpt/looH/rvedohnotce@7,619/12,020/16,836yclerespect ly,YwhLccupancyn 97%.ƛ te 3HzPUndworcasecenario!Piincob(isystem (YQBXmItesn(elp)_eaC%a975*XTTiodA(nfigu, n= *fbout 98. ߚߢߚߢϢUniquhata:se eprototypes3847>Fe 4AhowۋDKnPtict(a9numb5ˮȜ@p4,  32, 6a28b25XordIuђ_'sHpahity `cys <͵AmultiYxBʝadd !o 768X??__5__OJTu3immX=xbehaviJjabs@rducY. aZbPifliiitia=)aЏagHe made. !stsisknetkssargmtbntransfedoeX(ʵé1rawrdwarfi@]dOiϛ},;rray (B)@Abyr=amgckloaQP ##W1U3TmaximumvstoraaquickpdroHD3zyYżbecauh@p)QrwithצצצЯww/g8pra` imgHcp0319yIm"/nﳜblockquoе?"߲߲߲ڴ!:ggreg3έɼA ѲɽɲDzNjςʮ6|>]cloX`/a.eefcy97%Psupport 2TB6eve10ٹ memoh(525ª)BؿaſդwaϤϤϤ)achiXeadyJaboH95&8ca踱MhichyWt𿁹uاermainFsegma*@allaomɾ{ȧX@ztherzb(rdlscePrePeʯAOccs.

    Duplicateataackuphroughput.ftering eniquworkloadsourrototype,eeameilesgain (72-oldacheine 8Figure 4).hisimallegmentX dmsndaimobveowerformshentnlyeed8oeferencexiPI,steofhys lstornewest`ress!indexoodiske-fetchbations{1InitiI, wevels9concuri penaltyZsmqrom+r@AtHFPtalog)%, inɌaiEmvi acPsejgb>eliZayfithpgregb1/alv@6.6B/sec264t1ams.גacc˕Yaly,tDesn'ntrodumo@n.nJopr藐GF0canuutiliz`8ybsџqrray!uÈ ԑ'sPa>capaciė_Ȟsatuxed mi8effecfrؔ/yjh!(:/h2Xx.)2becq0bvious:ǩ//fXz΢resststant[8Vc@erp¯oS2rjh)*Mici곐gdesȎ`2)Bkj(''s hcwqA-o)so70Pyҹ:`r (R = 1/10ȃ mfeaiɨHbeX`20)so@macomHison.oti"Xwithset(n@ðoڴ!10)!ڄraworyinuppor`os0500,6HTB.Ķӹi}t$lo>resulQeslar8ꄱAB.7449 >T2summarizesheesultsndifferenceetweenSSDndex*memorythroughput.otice,owever,at!s7includecostfpdatingfyime 65,536ewampledntrihaveccumulated.ess (e)requh"eolicyouldie0faster (slr)t.

    Table3:nd-to-ePbackuptsaaryinumbCPU`@ll̐YB/sec75177="4qle 25BustreamniegmxsPd,eii!@edic1MD5alcqJd"res achnfigur:initial ((0he atAcesairdunwarm;s0r>=16-ɜleon5520 332 0RAM,ynQRedHEpriLinux 5.ԩOOO󨈨cIЏdo`notetuqYn 4=Carefulbv®@veatwoasonKHsxxior.irAh˰Y#loopȚZc5h10bp xparrs.ۃbulkStransqcoheci>ҙXy 2.49 JӓbښXl(I0cpizsiPCcHism0 (sqe.ȷorkƺy1ɍӌy!cope;study.0rd1oe#1/zTdes@ImaassuȇfelyZ/Jnfrructurпorlelxn)eottlePk`W'upn:^AؽmaȞ 5450HrspusP60/697/1,02303191/2/3/WTXespectivжy׵罟QBss#8m75exiDZXRx"#Pnear`efficYlBLT(nenalthHupla)spmi-1ԫQs[0orgzdisko i0bCncurrW)ZpstX}Ђ9̉26MY+slp1ropggregΫ0auؼyxɢ(tFP(talogre-fetng8cPerp Fig 5:TreupоX*aP(mouȴиA*leIZP!qyhogePeg-(3)qjrdl`Әpaci P2>ҫ8Gom1ooo oookYmaj3Xobrdzdhw`tri:ؚؽǧCPU/ɹs(end-to-8შO 9dxequipphundredsfast-seekinghysicalisks,ndtilizYeretworkonnectivity,expo uchighthroughput.henlyoftwareimitation1observedasuepeadocis sider`Hsedarymportancei1itactstinimalxforoxthan 128 currentackupt8ms.

    4.1.2efaUpdateeAritproperty9t1nofteneneduplPsymxthm ruesPiwhВnedele0Xa@iۄhappensmost0ily. Figu5howsgdimeseasXq!synXRteؑI`xcd,oth爃empP1nearulla(SaliwiHiz򃯃ecauseo(ea`segmaʆjdggcwrslyaspo¢7Uߑۤ8hi3GB/ҍ2add0on3.1H.ĀTIshtlow֔ቼs@lsobmofromRindex.âhrѩagulq-もNowOaɜrihar.ȆverPڠd9newprHcesshavitZwaPAwmecisoزجQPeGGG8cerapʬa0 imgHc@0323AImage"/nGdǬWVbquoTable 4:`nfficiysulsuquwou@if*t s@aוXPMZ`gej W߸ggggggg.3`st'nchmarkPdomin dy>I)e[QH(db {ۚ%usuctn amaxcoXrporta耰˺qptotyvid8sut'0uylêpOs(stream7ߌouH#430Ͱ7twom)u mSs.Ӄ׃׽a΍c ialRmipX{0troduXdisk@ekrɾ 9i obj`b!u:withoua,!zwhoX@cal 32E37'G箏'$Al1gh1wac8isomD(caihilityٙp@ad %YtH`.nrticulaИiamx湛s@doiأ̓arȥyp-fetch_'_synЇȡ[set,Ztrue (gpth)100%3G8sinyelikso쪡n 97%]pTh0H„khealxp*, s@i2:enProm*@ter )logG 81hf1fir(mayand.fheirstit, (101`FPnheocase),ere-fetchll@sKa ontainer.ooretic8ymayailoetect 100ver 4096a,.e., 2.4%.

    ForurMWareataet!usedtesamplingatef 1/(,nd mCcx(256B)ordxensu2[cannooldSPkiX.׋erformmultipbackupsYemage,bva%8dupefficiencrunxith yghxroughput8.4B/sec).`teraeximenhowe0,sTab04ps"GE`iden upp0,VM2#VM3-to-.ɈqYas 518,326 4BgPta2,211diskpH`nsteadP(a>2,123,i:us 96%aideal.†Iroduc0403,1new (330,071i`'swsohO3,938Axy?>(@imilarlyzv*lA97optȇ hiasatisfy es 왃xon.hLpar0u:Pcagx,ince edemo𝑚-onAmo9omҙivrbsh3nr0"left>4.3өabilityFig 65 ٟPisbetweanmpػQǔ. -Heam_ccupaegi)܀ض[b̹Aboa~#ioag,unyB(nti8wriX r0om`xhp+l(WYi ohixooP"upȔ8cx0sXhtB9)tleneckx`I/OoHshadowKCPU hYmean)1yemʣYFprobab goorh)he putP///oo?oo/+0$}o0showIg(砄"gAWloidS='tj*zacc)a er

    Figup6/b>:hroughputZabilQtestshowËe)nognificandroXhweetlosfull..ׂHncHO(1)ostmI pera1(and7sisk-bouȒbniquejdupl舠dataackups`w1h3nj'left(ace="serifomparisHStx-of--artٔh3_Ggf_]Waevalu`ngeؙsjoft {q)comthodsprivworkloausXqu`effes:ppdcis(e.g.,ەgc21958 >19] '18799 2").nsqd\cuallyfultlimiref(n(ss(sЦxdorЕa`beca agrejBibhmark3make׍acOir mengH.urI,a (tzer`mah)s rX#,,almsib<[)Qobtai,ploy pnzm.nr triseHi8exerciUiAwayƷIrelveeaso୉reHd+ԑmɲ//]?G⭧GTaLomUpopular2- Gsoluvaipa*Al 2011.ssu蠥8viade?iciy (spx1do؅@ 2numbers)Pe,ᠰtotype'eakǕhs臱HetfiwiPxcepʣNECHydraStor.owr,i  liz(a g8isbu9(55 accelIor:110 rPdes)ordchisximumyЁrawɥO8@1.3B.ϊGB[-񾗾e56Psurpasszl,z c r eamک؞ЪAhaJ25BRAMq 500BR = 1/101l98-cРr N*,莵goalin9߈ߊ)tKplmPitXpotؙذRmQen ZA:ZY~2deHY.¶XosoⲚdZesary2a mugnnAHr(acquian#rgytc)773''8cxerAp2ܫ{:umhy:Joduc&wuivh2Dž׉leftusx="+1"Ǵ5Һ WorkQh2߸S3diearbZ̾hfiXlpl naiR[19,8311204496)]Aftsen ر0!mizѾ tec.Ɂ`y֫:invegZmethodsRer뀀formontent-awareegmpoundaryalculation,imingomproveetteruplicatexverage.nyegradnxHefficiencyassiderednacceptablSuchariy-sizalgorithms,til diffXʅsfyte-levelpaches slidwindows (e.g.,5]),ollhas20133 >1Rabferprintsgf4928 >2b8ndimodalhunk 7857P0.or stanceystemsikeAD2^1418HYDRAst8om5 >4i, _817selHsڑsol@byataDoma9519Hewlh-Packard8799Њ5ta mptiaximuј(ess.owr, `fesPstraw yp (whihisotwaysjcasp0observ ؔof436 >{hs8nodpacitylted.urorksǘ:( wiӟsacriHomhaoreighXߣpl.

    Am8methodquswddq@dex9y @triczo(as8 antlnfromuritȅbz(n sr-Ԯerarse-n1/XGGh(0ine ?yimѥ)ċrrn-matng,uxactuddia,mol!%` heavXehhPtrwo@Ƈ:ҹPtt2@ex@Aؓi uldquiat 74%9(4.4BeadY17R = 1/101)GGC7777777A ha:sAlo{typeacQh߻ߴϴ̳ǰڒXozkno@dghbebbe0nдːbqgg0nu)ox''keHssuviousior *gerelaxte*o ߩ0hreermaj0ch(engϤMovd4ءZhxXs̔dosoquXhtriHeH8rarPdelea*holkeweTB.hdeieldsackupoughpIQcf`aJ.ele&y`cwGcYmxowh1Qiculo corЄ8ܴШ)1 g`tMAD2al Qϻ(%+iweрllsumberfptimizationshatncludepacialocalityaching,ndloomilters.ele#areverhallengHer2@isystemwell:eyPformednltكYeevel ~also脠lbariantreferenceountwithlsabi correctnessroblemsiscussSA2.2.ournowge,zgroupmark-p-sweepp( tru(;ldocumentmanagemp,9resatorro

    Man'sv`d `!nt-dri@8ghowr:iІQ{natuh8lickrequiwet`zeq(c, 8h`I@erp.ipelinȁ1po98[13],u`ڇAifntdifr[:assdtЙ hȚ7τ1x`am @makunrecnetwork.ɃȚ9usXpk-bax,L-siindex Y=lojfunڡ{Beern (Ϟghpord9matlph{h2.20"left}s="+1"ϗ6osPDYAERMAKG>HAIKENRDUCEURoJ.H}WELLPm뀀all>,.,SIGOPSper.ysRev. 36 [2]ŒROD,.چomepplicationsfabin'singerprintPethod.nequencesI:̀sommunecuritysputerci9 (1993Sa-Verlag,p. 143-152ߊߊߊߊߊߊߊߊߊߊߊߊߊߊ3]ĕA]OMAIN.MCataoma(dd890.õ5IOCCHETTӳinim@r8l0ЀhdocupoorxKDD5eHvhCMGaernalKnowlediscove٣9minNework,Y/5H#394-106]EEYTES'GB-Xp{ߪߪfTOSXd߀Xdߪ߾wwwwwwwwwwwwws7]PWs2DackupystemDzy/bfhyiUǀipǻ8]BHTIEReduplicoluIϺy/dVg3Z5πZ5ϺϺϺϺϺϺϺϺϺϺϺϺϺϺϺ9]ʷM7/dzMLERE.`ԣyffecties2dwvirtumachin:kmSYSTOR ܲ:Israelixpõޥץ 1-12GGGGGGGGGGGGGGB10]˥UUѻNGUREAN5C__>ĶUBNICK߁imodtdef0dhunk forstreaٴ;FAST'10?? 8F@ndh 8hnolog[Berk8y0\10XAssoci,8-18ǿϳdzdzdzdzdzdzdzdzdzdzdzǎ317ULKARNЛOUGLI/ƜhLuVOIEGJGG>ԷACEYJ. `Rndancy оSwitarcollIȞ1f0ATEC4OXn/ҪHeT1 l'eWSU SA, 2004),SENIXssociation,p. 5-5. [12]ILLIBRIDGEFAST '09:roccedsfhe 7thonference FileBstoratechnologies
    (Berkeley,Ñ`U91111233IUoChXlU/ْ(JŒ)WVWGGD.ovelptimizSmethodomprP-_nsystemerformaUICPADSgega! 15InternalÐParaDistributedӃWashtDC/)IEEEmprӡet`228-234]EC.YDRAS8-3000ӣ@es. VORWARyenti:ewpacxorchiv@Ǯ2gǞST289-1017]տDNGUREANϮʖTKI€>RANYA/A(GKHAKR5GO^LKOWSKIwGmUBNIC~BHRydrafs: -throughqxhy"t-addressabi?8oST'10Dz 8̂_t51017-17 8]~EGʠ@JIANGHZHOˡߡ>ƭ5/.adAcal exact(network⮣vicCMSߣ?;Z26SymposiumMassfSsǣŏt-14/ 9]?OzLͯǍǯPeTTERSOOҝ.voidishottleneckn`domaxoi'8 8$269-282ggggg/(t0fleftOOg৚X=000174h6 id="FNHsup>1P89Oureasuremshow aveneSDsannot iorhan 60ops/sec??OOH64149O2L2OWi@aronger 160-bitash,ʯXryizeecomes 22ythh eight="1em">

    9le-9?on25Bemory2:@.s8ch,$`msiknow!(adntnӛ(4.4).ntun0(don'taacciRr1`;`ԕ”`tHߞh12"0駜cArfonize="+1"acPifbRSiLo:imPr@-LocbaNear-ExacteduplSchemeL`RAMϖ8hȠHhroughputȄh1w77_o 򇧇WpXia825929chp26_fn1aφhφghref="mto:wx.0t@g.X">____HoJiangߌ<6257?92=?W7?77?ϙϒ??:j@cse.unl.h">777OOOOǟǘ6DFe/ga繬0mgec80326YIm"gggdf8@.cn">gg______Yuu, g/7OGwwGGGGo:csyhua逧WWOOOOOO߱4334߱tn_idoolfomer,azhUnisScienceZTechnology,uhan,hinakμalaborptoelectronics////G@725GODept.?erxEngineng,Nebraska-LincolHNNEhSA'''''h2//(left]sizX+1"bAbstract@h2??4//"jifyww8taĵpplicJsecom 8reasXlyopulartorystemsp@-effitpproachoAbackuparchiv.ostxi(8state-of-the-artXp  licationethodsreitherocalityasedrimilar,hich,ccordingournalysis,ootorkdequately郘anyts.hile ormproducesodedupthroughpuheeis t8xno'datHtlatt(canailidentifyd8usemovegnifXntmountsfdundل?:ack9 f8xI)paperXeesiLoear-exacpsystemXatffectivcomplemXPPexploi achieHhigh 5Hln xtilowAM `rhead`T0ma0aehi(oseR oy pstrБ@resmallkx1egɎ dg`Їra*pckupeam/coguoȃLbXkcaptu?R:misyQbabilisticypton.yudiciЎnhanc|򏔞˕@Nvice @saCapX(b)ontaȏ1us(dex-lootayǝǝ.ϡPerizlval{zn`al-8lThowx9fhtĞ/outAxwR-of- -artd,lWl~, pvѨIloaAndi

    1 neehٙighlstdsß∰@cri#sp-Ы,asطinc0sɱyTpopuTԃ@ ultihunaٻjuniqui a 20-byPSHA-1hja)lsllangerpr`21]*scheck`r߷пvoi 0K`sDnon{}/,I!0(znerkransyDu672919gggggROJchIcrzaer߽ъyHt-0arch.Ʈexam`YҙX800TBassu@PjZbKBtast 2ښv➰gen@wipxto轊mry.n@jc@on-diskZe1 0low@yokfre@ٖiptWSbeЅrHottЛqsu@!GGD7Moolu2immakfuus22qh`pJ`2W r(throughѮ.ԻȪq(marpKɿ}:~lܱ뿠sL-_iзnɽtmHst-of--ar/ǒDDFS߰ݘ606ڶC)S(hWV88 >8L={cexyĿˍPꍡxtұaordh⨼witpob.ŋC.G$@K)'?GDu8(vi(Jϥ}ideɿHaddr膑lencouШaM$e0lX`Sve ryeakocality (e.g.,ncrementalackups).heyxploitataimilarinsteadfwintream,ndeduceheAMsagetractinghaeristicsromʂ.ll-knowny-basedpproachsŃ`inn[3]`atsҁiyo ieves on-diskdexcesounoper. Whsȏ@esas0ificantlyleviatibbottlenec;dpltion,r( llubstipltB1prPhm@@ peta- exa-es2ainbelow. onur alys(hdresults,hP8grha^߆ؒ8mse poorpwhen痝sw2upry7with؝'.ntunlyJzp quiteomhowhA/gexhibd.n9t,DFSsHoun s xwpsKВ)no_\upndo¥OohP7DDžilBAtmouاHЊseφ͡sedɧXequ lyF,"anatudd2̪juiou;'y PensIa 9vAsa*word0Ȳgb̳;HɍCDjoirܤiom``0XanonTɓPXeiLoabѸ-hnear-cOXsyЇ@apxrt(a!He-of-H-art(esRdea1(c؀r̾߼7UanelxSpecjlqd`Wyyroup ro@(orxBsmQkeg3cg`(7gitigu4b@aptu'ҠϹmisضrobabil1c?ete` ribu*pa!lude:זזזulli>BܣhwOgohmJsPnŒ-ggr^bettАoniȳWchaiҾ mu0b _)exphunki easifHjRAM rÔB/tht?χcH߾ҺBa覘tyff(*.?r缠Qi͜*#Țhc(wxe-burnithvspalin0q adisk.yeeRZ3!_ݼ8ʓ(i.e.,as@),ߧamouq`r@nda,ram8numbpacceon-bub@`aplizOuxlvalu[,A貈l-worlp0XwZ3ntRꀒoutȋ0two//--Ein:ׁtCSHlPvkloaddi*.cd*ЉNnlnJ|1%~28% Ext remeinningndnly 0.1%~1%esshan(exact-deduplicatChunkStash.urvaluonsX oProughput (MB/sec)uggest1tiLoutperformshyorfb@ 3ExtG@__ 1.5SRAMtiliz˃hsapdaxets,{cXumescapacityi11/41~1/60"1/3h90espective*dO. Tht+earganizpas8llow.Ӆ2entsackg1mothHYarcH3scrib iturhh͐systemG4Go!ximal 9discusš@ulincludacomparisiwith#tate-of--art'gls5珈verviewreldork,Z=6rawsQsZutlinfuѐ>

    21M2.1ıǰA'h&wq3]wwwwwwvPreviouxthhashowI@qmainhallengpl`on-k@dex-lookup ,bott`eck26q,05717 >152918 >8Y].sQoyx0,ooDtoтf@erpr)quirpdea ppwhichckHf>evhB-spP.Գi鮳f@kھt-thy8mih`ghpuѵCurrlyq@XwoHr״G@aףqvi_,am^|methooooǭDzǭǭDzTmbferʨayB (iD)ᯢpsamPҮximP 0LXhipfulltst`babii.DFSOOO>](kusr:FractcstoP慊|oipArvՌ3.ɿgnif@h8ݦʡhit jals¨PmPJŽnw (n)zhelxcomp8)ɉ2 +noث,➈cos/tҥYhead.parIa᭷]mxv"#aminafʉI0(fE9avelntX-deȯ algthm,imodGN295H4suggesnabb Pulخ8ssumsgoٱ(di(duў<-<߲0exploimaiNѿA,A(`iXnptabpHanȶi@Xarg\pدEity-ij̰i larharacteristicsnackuptreamsoinimizeheunk-loo)indexmemory.orxample,x@meinning3]ploitXs(itymoɅ!steadfocal,llow itakenly(eiskccess""per.tgnificantreduRAMsageyorq_Y-based׈.utoftenailf0ntiun nddatahȈsirreakpuF⏐whosqgrows@@Ʉ ,sultJnec(ythrough0ߎOins.

    2.2mƑa`Lar8OuHimentalbvationseintui,uggespha)0ppls˜eerp(Rt(u g.ymypPl(taؗHnumbW899826 >1.ӎ[s (e.g., ≤64KB)xu3aI805;20%)toashˆbYccQaxc)H8ׇף,קקѢi7ɓH8proporlike`CPequlpIinli᏷10 >26, 57175`oH:fXicau(dHeԩAoon-'ɲPh`network-tocolsbe8l*͙er띿DTh@blh(ddup)manyrrelatJoaeg.םCidt/(gic黔sapardirecbu>$  (i.eXܜradjؤsarp0ivid3MɲӾPtɽse,ad! LT򋚽ap0achalso 8PH2ӔxvoidLe<ײוײ׷A-ϮȆZrg2MX*Bgg6fBw occuppܬ߶I.bviousĥ(gHimiaț53Ӻ׺Ѹduirb-ca%b0/Z@1abac1Phuz0beۧhȭaoQAV hasg q[QHyMcJ᳿!pipeq.əHddiѸg FayۛereviHiHhmayxH ,hi#_Y-ba]3mi):wdunddataj?߳󻘴O!ohouriLpu:៷ɶ;Խ`ao ?m細hkcreas].ospecl*abiRZ S5://///////S41:æ н//< i>S21)nd ׀beingheorrespondsetsfhashevelemen󃏃W? ectivelyhereishosenniformlyroifromin-wisendepe(ntamiHpermutations.et(S) @otesmallest% haintegers.hen:

    AJϚ\o",~Wi>n2ɁǢǝ)$onsiarIbetweǡSؑrؒA0oiǫ.˜p abovanalysis8p8achЙ`on9ailbworst-cp oߚ܁_U fϲՠY,locPtbackupt(mhheaer٢瑚cauytexmȰ0likIthatwop[lbutner#fewiro?z3X8<.wwwrh3&ڮׯleft''><.3әLd!-e_5sagЏ;costpot9Xiss@Imouredundaxᒘhd1/grex۪.eexa{ρ۽Juplicate-el8nmeasu0oury-d&pfy-hhownFPa GD965FagrePseYincntalLinux-sI ul@9o@SI04''''comx`byבC28:(B!inпC) =ax (|

    Figure 1:heistributionf PM׊Hnidatase h.tanes{descXe#characXics1=. ge por59thowy grees8bservPeh1ɏǏ1'''Ϗ2:erJuplicaelhnxddeg="4 ace="Xifilepos=0001849899 3iurzexa``GmisHz%Linux.ʁ䔯fQ7nadefXdtiffncetwee3meas٤ieф̆Pct׋nhP5bdOхrefore, ///+showѪXw?sfficiyheaviZpeH4WDbackup Peamhiwe0cons Broder'sxmn (s`Sec*2.2)׎ofXilomove$amouǘ,spy|haeWWWWInspirBimodalۙ_Z905295 >14],4GOp-LKyʖhdhшˢgwlQSsupalsoϾexؘut[o,ppoi9dHnXpYstudnF4.͆Җ,iLoJsB1

    ThuslargԊN (i.e.numbHsegsHlockm `tyloide}(. ESsqu to'SiLo'hen=1. ɏpov. combiACandmake(tossiblochie ear-pleٕGG (alHhatact'[sO)rirhmost iskcess` (aroup)chunksmyfiles)abY7 :-b`PpproPu1avoiding bottleneckAojIddicthghpu@fS systemsoend8oimv byduKnsi{on-B.sult,ur1sudiciojoig,)asif0ntlyrȧpmancooks monstS4.h2V leftUsizP+1"<@aa>3eIY"3.1ӛ Aweϔview3/ݻ?hdepicFigI4s7sfkeyunPAp,amelFDea (FD0DSX(DSSSBmBiwhich8tu (cer@ܱ1eX.SDSid؂mZM(FDi(elim/ؘ!ulli8PڳhgramAv8ת (e.g.,oj) us'"Pryt `gɟpWFigure 5
    .

    Thnoʗؓssedoxploitww2s-inform&layout9n:disk.6providudetaКphߚkouicklylГ Iuehunks.Ύthat,ncIpapmainPaimhm:ngBqaaccesg-陈ngerpria 6Pll/Boa`ᤡ! '?h3ld///+h3gleft(>3.2HAlgoPhmh3'7As pS2.3,7joly.toyroupI`ongpcorreldmygٳ(B~ȝ'H@ouݭaoG'sYspic''763'6"hupatomicil궞0Aurϻ̖,''777777O7757777777373گ/蛼wwwwwgww̸迠)fea훡,Gmple FqDonJchϕIfrom/)1cbh[llow reisǽwǽculli>P1.ß (e.g. ouamdi8tory)oe2P;2.eP(ȂDsevlpe͂>P3صWKap@xim>sizeE2MB)-/wwwWhe,1#r*eAMhfx-looh;2lpmo诟ararihcbZel0nͿ(H;P31fipmanďҸ+n7dzl2gse*A,z-sc H usX罯àoy4erentatifer[900688 >3i]e!(-* 0rHashable.yirtuP1߫yolvęȁm4takp`s portionȽisp.ora, su0ghᐺÿbunk H~8KB^1mmo250usgg{1quHa\mey.fe8 60-by@8makeyr  theimilarityndexingf 2MBegmentbackupata,hichsonsidered`omic,1TBstreamnlyeeds 30у-oreduplicationhatanasifiteemory.

    Figure 7:Ԏworkflow@xalgohm: helpstect entialЋehunksa0missbyʑw8Oom1}h3LJߌleftace="serify>3.3̇A \h3gw4ߏ߃AsnorHfeatQSiLo,Q/.rouseveralt@ou2saǙintoQdreveeir~-layouXdisk.ncepalsoinim(we/dnuffhcac2system,oaxzeJRAMtilizkdufrequacce on-Ѥ[retah;\?8.yxploitI in)ns˛r-bay/W))blolnrߤߟVWwsalepos=0001859874 楱howB///3ccord>characic_ifp}S1pkr/yr0B4p0x!rb>2`hit /ash),[wilrBho/_e288sׅLj֌8sultab''probabj7Լ1compleMo7When)csom:ooؙؕ3x۬) ERdU-ԥO'Cdu g"gnifzd,ichlevih#ottlene4i!thPgh бt? eٷodj\فsqnmport(\`macerformasuq欭eg.ԠIl3.4ïɩAC8rs

    Sincepf+systeme!ouplicP"r@8toriundБsamތ1)ifamou(*eliminbyt ing-Aߑthahlso zrvhI5aackup eam.ƆXexampi8od ayclumany0a9s`ЁocuلxgoodxndiesT!argestorB0RAM=ccupihash (i.e.,әShow 5)suPg𣠢gdsizf 2paimary-key60B=s 3JЃ(럺H10B.huSusY)SbecomnegibتPҢ9furr sh3  left>3.5WorkflowTxut8ge sp!v`א656258ђ:mVOpro1[0xoҟWPH)goroug@1olteps:T8>erpOEpwH S'sinoߟ1dromsiskxҀҁweAplxzIFOPd1+full(mis￘3(򜸾H`ac օ:pp!nvx(?})Ǚ3[JqelnxL8??x/,Δ붐bou؜˘OOϬlKɥ(ty-enhan// (i.e., sAwsטן 3ss?g64">Af`;Գuynon-gW5''_9w0uff' ,I›'„؞mɩ/_4ƱǴŻp="sf0sxm:ɏ4Ȫ2p8zottimpverh@ٳ-"smEaypermXmparMexactmethosuas÷StashxѺOV?h2left-s0="+ 1"ace="serif">4valuation 8];_makȬlҖins aؔnoveluctuCuckoo (ngerYtdexHals߳ӯH sa_O1hi`ޙDZǰximy 0;njnj0683ĴexploiiyteόɯOOK?''g'??Nolat1!noȿdp-BϺsymu`aasearxtotype.e,ul`shoub鷀Қ17_Xiss"ehpb輨@absoluisonsۢh?s#(agYLbtaxyД!pXrhL-loo elnetric!de`KeȷOuìڵroughp̎0measXtW(' Ied,:eal Ȅ5doxYL/.transferɾstxd//8er9p*ԹفTab1:orklochcHicfླྀC\v.SHA-1cY⺠1c`TJǻЗWVTot@ize /(To-l-D)o@wuyFǵdif01ngth:iNjNjǶWPǬwӛl/*870881 Y'colleXrom-worhseOne!,nc@lLinux-sFulp lyqЗ[87215radtud  ouresearchroup.obtainracesromhisackupataset,eaveuilteduplicationnalystoolatrawlhdirectory,denerat!sequen!ofhunk*filshorD.i`only(eull큊iz,ˇRakocalitysimilarInc- auba ɂcreportedyan `al.24]8collinitialOupȉډ)XncremP@eightembersH8here 391withto251GB⁔e,VQntsstrongyxtGA.

    Linux,ownloaPőbsite6253 >16,nx900Pt 1.3 2.6.33Ӊchatc sma8`Ff 380g19'Cshilsog`Xi`ook647h5ocbe378810g''' ǖّǛBonFusț7φϛ3WU0688 >3Kevalu`zperXmahExtiinnqLHN ulq\󒋝tɁsublixudi`WaboL!diffȞytyplorkD/dHswermI enghowɰx00:êASiLoalgo0hmmpens robabiXyt(2mayisHÔargmou pM+?ow刐8߄nd('ond`Hyxexth-of--artpaЯkeyGPmeasu?h30"left>4.2xplbetween߿LFٿwr877389 >Fig9show0ca`'$o0eAi(,PPag,crp(deze beca1mrw8(e.g.,f 512KB)m9hnȼQenahߊPȻpPd.ϯ3hP# ;C?Dž,M/@杄backupPm lltaӽap`Ӵ:`(i.eP97~99.9%)ٮ0aregardle׌WWWWWWWWWRAlPAߖyci-rJatrc{sИڂzsulInߜߜߜۗtζ蓊acc@pon-diskzex hRAMs)du1d¾ZHT seeס559615).-a-eγ`wu73w10zclearxsuggest,inuous($ݯxc kizeanecomXounterproductivefertainoint.rom Figure 10,eurth8findhat,ofixedlocc,eiXoverheadsnhsely portionalozsegmentj.hsXnsistwithur@tui*mallpresulto8frequmilarityeteBinpu[shich)turncauseaccesseson-disk dex.

    RMoj@cR256MBǜǜǜǝk8fcerpҝ|0SAnalyzb(evidexi:pPumwuwHsubja熸nǾ߳ɸireT'P2roughputRehoic*gㆠPdynamPl9dx<@r'Ќific//ackupOt*RAM)ϲϲϲϏ712ggeth|full-$f'joiJwithɘAȥطmoixrnda@missǚwtxer=szssulcompa5w2`hI////////h3׶wleft//>4.3×pHEvalu^9p(Th3ooo" idth="0em"lign="justify">ThisubsectionresentsvaluaulcomparingiLoPthwothertate-of-p-arteduplic+systems, himilXty-basedxtremeinn sndloc`vChunkStash,yxecutfoural-worl8rsscribinӇ4.1 8sere{.otattq׈Cassumaxk zef 256MB,hile-2MBҀj4hreegmNspvely.

    Figure 13:Ôsamo',z,jGCermsIper0eatalndT sets 'WU1WW="4 {A.Ą愽؄WWpGGooocPerpT0Wa img0cix0347Im"/n'76b@kquoX'":ê0sƕS3 ӝg(B:pbackupڦلomq~@X!wqqwբęʿes, xceptorheinux-setrace,stoesexacxeduplicationateedsargeashable eemoryoutllzindicofhunkingerprints.lthoughÀStus\Cuckoo\otoreompkeyignaturinsteadAfuj-ots,9stirequileast 6yt1eachpw,psultQae0+cd1mwqIddiccordopen-sourc1dfHq[14],GsymČoebotwo]welotyPvanXupportn8exntries.

    SiQonl 1HaritydNb0adRAM,xtremeinnIRc um11/9~1/15YIXe}G͙the@Ȃusaxnhu2J@;numbersmHowe@,iLo-2MB'sefficiencyrwڜ`uYpȈb3~900.Ԅowoxh̢Փrom\tlaytwee P?gohm, i(groupan`rel(d[egmPndrir?haђ8cy!lXtiguoueYד֟haH`skwBhH%f`3ӅinsproaPCOOOO8cHeripZ0#F15:þ ahghí er_PB-sJdir(rWps1 200KB80%јPataᯘRǭc ]؃`Ius17|o༨emADDFSouldquiX36ɻɋ_`tif۾6˴0˰????wwwwrC.ľhroughput8GGGG 90416[a谗WWO׆Ў]obH诂noube㴉c0g6(e.g.,inuxt)One¿WWWW Piev颯uu tfbout 335MB/secithange24~65Tnheouratasets.Ԁrequencyccesseso-diskndexyhunksh'sompacteyignaturalgorxmCuckoo聰ookupendincreX siza<,udverselyffectingthroughput.xtremeinnachievnaQ90 '#158,1571''",ncenneeSK1o1perhmilar-filedluplicx smemory.siLo-2MBaktos\܃jegmen des"ш׊W"1167 5814860 ''#

    Fig 16:ÙQrisamoBSA,b,:ermsiJ()8Oom1%4 ace="serif">Althy_\runsXsH.urnchemanyGDexisKbmuchlowo. estol ࣞgrowJhesul袧wi!owńsRߟmayrpondɂʝiretI(ddieɰfailexplobac-samctyt㨰helpdu ʭRAMtiliz3perv]lay ץѠOOOOהכההҐgnifHntHssapproHfoxivenYalsooQ뜟HcɵйinmiԻ*sy(mb(ynamxlconfd@rs'quApߴBϴe俣IZ,tc.).ԡc:_\HǍih10videobɻɉsgooGhpeZh20ne!l`/g˦Úoh0OOOKh2ϸleftէ!="+1"'!19]rHo)H-bh8"lgohmadopr22о0liYo/(b7dߋߋ.ֺ߃1021epoysgy"p¹=__.oproniaߌ690ۨsweseȚhGv,^-el,Hxed-[wrec1yathXbepaidavoiduGt-loo bottlenepenablefiɎZ؀𿇾masߤDD100606ysȵCIaex@ng  theackup-streamocalityoeduceccesseson-diskndexndvoid Ibottleneckf8linЂHplication.parseɂ!ing15]lsoxploit0inherentsolvel`-loo8kroblem.iff{fromDFS,/,isxpximatuJthatamplCforngerprinteonlyHquiraboutalfRAMsagey.IeliminCthroughp`areeavi8depe:e3rqchunks7  s.

    C Stash2918 >8ston0RSDXsteaPf HDDٖle.ɉperv,GG@i[memorincPtilizex.uckoo@0usedy Zrganiz#,hic2showopffici1n™mAterɓtudysiYX-bd+schemeermsomalHσNwheBuCdata TanqЩ asouldABunQptyoan0p?cYlGpwith Xx`o窏0683evlarlieriOM6559H7I, GD1693 >:63360 >9'201 >4`¯Llarachcicssmall-spSQocu BePknowled@co@8 DS20`2g)Gw-mas`ay`Q idٖ780ar16MBorucXsxatu:Ȯ٪ssi).0te-bX@isinxtX)61rs@'q۸bYvchSp1h rietadpilȷ(pIdreHpa.xxBinn//'pp`nxtradi8workloadowD(e.g.,с)zd(;ehew3þjgroupsn_AЮz0ps,uXtP]_)s p!ecSiL spiiCumulH"Bimodalgohm3HII-ܟInhne ȀpumpMaPcloud9118ġxLaggregK7ruf`e87682,/O936|lashDŽw007 >6gY070 1lsugؕ@aspopuorta h2^b0n р="left">6onclusionndutureork 9ιL@Z?hH1aslou؄mဝenvirondesiP?dundexmQ_h2NBleft="+1"ߥ7cknowledKGRAWALACMԟsxjS(TOS) 3ITN`HHRS,͍gg>ːLEINS. Igamilaritas.n٭pc`ingfYSTOR:IsraelixpإSBson9x, p. 1-14. [3]HAGWATModelp,nalysis &imulofomputerndelecommun-Systems, 2009.ASCOTS'aIEEE@nalpmposiumn
    (),bH9 4 GFM\EHRAOP.P`nttdocumxoutindexti1s\imilaritysearches georpusProceedsythe 13thCMIGKDD'lnference(nowleddiscoveryRdataiYN7HD05-112ooooooooooooooj5oRODERgA.n resembla!tainz݋&!s9lex8Sequys 1997. s&2'021-27?????????????;6]é=EN'FO>UOTGG>ګ^,ؙAFTL:zIawarelashranslayenhіlifespamemohDoliptadriveFAST11:G98wƫIStora`Technologien11USENIXssoci7LEMENTSAAMA6PV^AYANNU/PJ.ecizSANlȴskߦߦܵ1UnnutGceWύn. 88]ij]BNATHBS=NGUPTWӵChunkSt:pCpHlin<ߨusʜ7yoo10uߍϸύύϛ0169]ƴORMA_ǪXESHGH˫0IOCCHETTإn"similasih)ܷposi0ȚelevhIGKDDМnZ? KnowlediscovePdatain5394-400Ϸ10gULL-ATASETe. /ProceedingSYSTOR 2009:hesraelixperimentSystemsonference
    (),CM,p. 1-12. [13]OLLERčUBNICKimod8mdefpdhunk1ackuptreamt8thSENIXqFilend {technologies Associrx8ooooooooooooook5]̘lILLIBRIDGEMElSHGH˙hBDHAGWATODHEOLALIKAG֛@TEZISǜ''>ÜMBL.parsendex8: @`scale,lҨߨussamp(tyoccǐ7Ȑ1!3//////////////+6INUX%-DATASEcodaref="http://www.cn.kernel.org/pub/ux//">ggggl/ǤFFREYM.umulus:{)cloud//(A CdT9)ggggggggggggggc9UTHITAROE7%Hϱ>_ZIERESD.pw-bXretwork*een8ACMpmposiumOper*srincip@1Э 74-187ϽϽϽϽϽϽϽϽϽϽϽϽϽϽ20]нOLICRONIADOOO>RATɋlpnvforxjrndancyimdatawannuǹԸB򙏹6ǹǹǹǹǹǹǹǹǹǹǹǹǹnj1]љUINLOOOBD5RWAR֖0i:newpproacharchivpdoolFAST 2ooooovol. 42]һBIȺhgerbyomolynomialxhHR(黩CompujB(AikeŔ2abXxy8nivP1981i!dth="1em">[23]EN2010Xternationhencenistribute9mpuSystems (!),EEE,p. 273-282. 28Graph7ݤDiagno?Ȳ킰h177Wo׽׽ZhenyuuohaoqDe751߈3߂1phuЈ׊(d״״״״״גϴϒϴ̒0760tn_idؒ7'i>Microsoftesearchia825(T huaniversityǗ043׶Harb`titɨ^״״״״h27ߥleftW>ABSTRACTգ2___4OOs穒p;dKsPtorknxecujsHatodeluntimevP8irorrel"s177Gx,sջ volveHquZ,prx`a`-lxlHclar8ve째uporPh EalR-baopeorEa@ycompЃto.i's_ hineWRpxlldata/giPÏ#traialO?G]GGwEokgte)o脠쵡patareiuctuhinctlyfferrom errge-scaldsuasocipweb.ailor9ߕ܏,Jpthosg guishitselfymbracpbatchasynchronouaa! !llowsoretterarallelismithoutarriers,ndynablingqtition-leveltates:aggrega.

    Weavepplied21NTRODUCTION141, 4808 >761535128߃׃83549ׄ2403 >26υǁ080702],yxaddgen_Iܸ𩟩saY(butjyjϮXu ackyh-'sea6ow}׶י϶ǶǶǶǶǶǶI a@,e2eesausallyependentn,hereciespturedy゠ainypofdges.hquerysslicingoperatorG2v,orward >ind0llricNandransitiveևɈileIback''''Ɋon.

    GraphggregatiP)summarizanotffecay`uɑ80mou9fnmtoexamindurydiagnosiIecug,ach͓associatwitexticnit\)evYbelongo.ńpl#_includeI Xsua ompnts,leH9fun8onysexdyn('"m8Ȃ&threadA'"cetap`pr쇨lAh,ޜ:twoobQ_ZuHy/jf9poi؂bokiseasierinueMau-ϜdrequirUh`arcn“ڣynЈ8Dom@:顈oyٖLouegmJh9ؖYam (e.g.,%hZsXer-no lr򔌥ithosD ޞOdalue{Distrib@dP_Y poвasagsyste1!ddch)nY񱩯!larWR,mill8 ‎fHhlyʵ(QcorrelⳀloݤYccurd,8adbnaP ton)_\/////////,p>'Vtailoб_ Bexhibsi0a)@rqractȸcÎs,ȿweblyOx1hats"a(g)(JP`I w Ñc8y mep33.9of`Qf0`salaiмgaiRoJm[Pglob*synchr@zroundgpx-`kd.ûh,emb0 batch̽Y\, onot[EGsXkHepB(*#ɳtmllllow imvqlism;cyɏ+bul@7ȃrevi workPH[24] arr(Sus2 WUQCs0eckpo0f crFurm,OٖbeɹnnecoB( cross-QmcŇA8/-)[aGxancIna2arex-H2Ix7Ol0򝠻yoȵH3apPpriidataruc.ԗyjcu@valuablRݿ#o(3infleWebuiltotypehli R`etdriXmincluBerkeleyB3390,COPE/!Dryad11, 9141 >22],nd9tself.erkeleyBseplicatedistribuakey-valueatabasehataneasilyinkwithpKions.COPE/sBproducntensiveomputystem,hich clude9dҁV߆execu*engine ()8eclar(queranguagP).ωshownoffe0iHiagnosis:orstance,singPG2raversterSsummarizex130ill0-Xtexrapa2@ous!268econds X6paceTheptimiz;@ҀRo'sar/e:epfsynchronodelBparti-levrfarupactHh30ormmvementenkoxasouraskWelsotudscalability1check-poHrhe݄Benabfailu r(`y.

    x˚?two-fold.irsttool,GB3fficid-ylowy88writ_Yi@JboprelZa+/*菹idk@󤚟0ȥ8elyxħG࣌wǢOYarget[ rYtypҝhurchcicwge|[It#qbatpPgs ?nɜ5ia萎cstpaXiorgan8ڲ2_YLCopr'1:(kߡֹʼyportI1lX@qexamp*x!sسhВîߠ3˾CĨxfoch54؊Ҿldet"5evaluasxʍ67hs hworkPly*cludOp8???;h2T0W"left=s="+1"2ODELb2.1ex PathTG ׋3radtrea@runxqform(e.g.,ogs)u|uredบinvolBdiIاhgotugh-ju)ep.Ձaaapeci tag (]a𾐭id)apȦ0xJʟl8I,, likemiϧ@h褁ypendxXPreva14, 4808 >761535128߃׃8633 >20ׄπ080ȁ02702]corYadd;hcomQ˔maus@hipɵ'hAp-bakPoften(kow8aoN!s IX-r(ayPreflgooalabetwew2n!nables,heimplicity ofnbstraction,djcohexiinvolvedHupportingperas(G@. Yeteffevenes@ath-basmodelspn!in0btstfyYassumpb:emb)is s0requestcupoff@tBetweeatccurAdiibutsystems.orxa,ilepos=0001933083 >Figure 1howsiecec8aXia A4.ԐQpce؈lief)appendPaocaxac`(l` 2-4).h@aenoughXmul .6);batsrittỏk11Y`war=`se`dariIdatg 2ȈYOnPersR@lnGGGDtz@tixːfromo2׍ύIasitdifficI@ؘ$Peinsi(e.g.,Ih̅nlyywiXe:f, otothwo msoȢrrewyJampdX"  Ș grgrappHlreadyao@extpreviousorkdsipۛoi240h261]wwwwwwwwwsG<>22.2œG's̛Kembrkioncepts:causHtyڻaggregL` urbI^(m0p0e(i)0llowة-㽠fi`evab)(i ummzunti(細 n ؤxhirchyotrouQspofurin-dxnalypϭ">XgCxaka8rgetpre\vertex_Y193308XFigq1Kshowsmrang;a@XntZog\PbR(e 3)ynchronireque de(sgi>dɽВ:0eAчpassoc d҉,hdA}OniBRzbelong!.ultiOb d.ȉTincludtccIdu,lIfunwe EGGmHxT]threadǦǖǦǪRecorewdgzゕY.ĺtypÌ7foiFɫ9X i n(1sHqsrwardXpbjɔcÁϐumAف.erk saIcross-k5ƮӉqI<!imgecindex="00046"lt="Image"/>nd d,Figure 1sync9Hdicates hronizationfwoventsromdifferhreadsaorderpnsexclusiveccessahdbjectuinter-ecuIfalloughconnhXhs@theame (e.g.,猧b, jWWR).

    G2HierarchlAggreg0summarلXmat`pȆၼql@lh3Ɗʋ,0/"left>2.3ƈ8xwithWRCompp(leKciaisuZtostifHeasible,hp`sona#xiĂPoftenffٰpra`cenaYwaZIrб__lq.uruxpxe聐show!ghdoẒ8a,KtypbemmhȨsubsym,ѲwiahinuousAptew0тlЪqor1o@ndlЖ/betwea0vo9-@@anyxan(fuՒ.uchcou`hneBخ_Yxrfȟϟ -ȱ. yroducopЦfy,eaȕו,[efœʶ᤯燋sourhJbфOp\spashgz!жƅ:$*Pתnt;ԛzIn Fig 1+m8JhlesQs rpdqclass)aia}funаzAed-۳ecpxcanatlXl:0t-fur2xmiWˠǴultiPoglayؤOH-ic:%behavinalyz8RPC AwOS|sockerٚ="8.c`erG:ӑph,Ǵ`> G2hierarchiggrega.heeydeasoonstructadensPgraphဨnppropriateayerfhUy1summarizeystemehavior.tinuousegmeHevHsthsameunitnxecuR˅؃dd߁aingle0gher-lplertexresulgs. byefa@tacheatuЈ!codrulocۄllfor_onLJ OIcomizable:u n 9rag0domaknow耨Apecow* euYgin0m(e.g.,derncepers)romw.Fig pa`Jexamp0}whenbugg)repldiibuҎiSCOPE.umbH sc Xtot2-ccorph锩ic蔼3srr0occudurawrioP,axpar߉߉߉ۏTspm8in8y: clearlyXr|as Ia(Ou!m@fied{selhǠRzoo!eYrequestuy`ehn ",ΗNJǔwch2'|0"leftesp="+1"ba>3ROGRAMMINGh INProHmm!GɜRtwo2:GAP( makhdiagnosɯ P.ןefS5o ribp?p,iH`foX assǪ'8cerA0#:ixrcXnAIm$Ͼnİά___Y޷Ϸ/'2Ǎ?e 3 Goro{3ϧ/>3.1O3O祯G 7495860sqbasicK?.ųqVexTV,E6 RdescxqdataXsoc?qexuмxlogcodDrum8bσσψ:Aǂى8mpÿsourcinӡ.8:2furinشallȣgggegggbAHfJ,qSp`Kssrc7ProotPHi(pwarhrxcka)s/>alA dens0ʾaer-l`lT(l 5).iXkorig|, tlabelCball(turWn-un!itabel.he AggreFuncallback္gatesontinuousequenceferticwithsame (line 9)nto newextjhigh-levhgraph10) (Notetructuresetermdy2

    Fig)4
    :ampleiagnosЏries?=1jO4 ace="s8f">Allos8perator8 builtnoptwo( ibuprimitives:GTraHsal 1MapReduce. /.startawHSfollowingdg0forward, Sori-di@tiony.(HnomizTaldvecl ,hichds mputaIs,esssؚaloep@out@urϋ.࢒xndmap棐aXip.etailЏheȏi0howqypodLlefoӌ; 4???;h3y3.2ÌBϗ]!Vh3_'o'כ''$ExtensibilitXosakHfea!spro@mgBSligi>Hiprcalʳbo@suoaner,ob2ed.גr)8eOH INQxework3i].NetdȝPwri|X ourf,'slQȟa(ymlsu dicPh(CP)&ya!vs Diff37792 8ex*s;0lXomಯpraȬ ϲ7T0firstJyЖx@logeo@dӬperrpt. {ۭsW8nCJ* hXinvok>+sedaimPoH0glmaA̜h`f sPcu0<poi Dbmion U󁀒-lviaoonMO.ň(Bex1SϘɣ8mztinuous`ecu´يˆtarpi袝,sSeasilyd0ifiٕ`end?nsXlbin slower- n-normOOItԂiYߨRe*lsout`袐hs(feded,)QoudridowȲhm@cOKi)ބ:atٹ9WQE-Bƕ(b)؄ h2LJG' left s="+1"_YP4ISTRIBUTED

    4.1verviewIn2jobanager
    (HpHnquery阸ubmit0.Ņ};udaemoni.Ԛr𑀍؄vf phؓyHmmunicXwith!se AinvolvPmultiple $thatxn0ɇdatalow[.ilepos=0001940834 >Figp 5how!p$-ll-pa(lys,n377924(b).ɆHb5:יI,lic(,ierar@xAggreg,erg8CPdnȕakcبfirst 4QiaUs8"cli3onotearY3qPad autom:upic.oLRgge}DXsal,\9tbnsumJcre2!routpuwdl (cular,xr gghuff(YcA:oihP ;9exylo:\huc>idH؂us`FuncRback v)ie???Ჩ#WSQdi(cyc(DAG))HviouأPqus,sap/RDryaHGJpr0qu0iffؿtyp꫖`poloopbarxr/+'s'ԁ)uistselfromo; (e.g.,Ф[gc9978`2]sѿ0abwayFI,opyc_x,?qatchynchroniP#?s;ly, p0"hy0iz8aeQ.edex(ir!, Ȱظ!750(benǾxWim ayeneff()lemhggoptzldJonٌ1alsoq𭠷gǤ88mk1xȷnפפפh30"leftפ>4.2”AsɔInǯ@hb(ha WWWnnt@uakeiwardxa9,xAsesta*_(excepfn!eherenly(eartitionasheootertex).orBlocalteraq,t0sraphxplo3romoseicesollowingausedgunti each@cross-;wixutynchronizSrsf8 #hoprax.henPisndsyrepotojobanagЃbpoinp lisof/jrur/n.ԃllotif 7301availabilitH(J.inishycurrentO(8etchVnew:andӑnexItox@veIwaget axwtbee ti7

    Figu@6
    : GT5xfacpXexampleω1ߊ4F GE1 Q="serif">G2ForwardӛphbaSs.urOL,OrPסҮpqoߤS0M/s 5, 6HAflizR,invokOnOu8)D,xT' d/wX/PocX09,x,du²utsWYOYoc4)Iedcurrܟ=2odonoKcalPtOoPt:tin!ation,heorkergainpplies OnMessagenjdestinertex 9currentound.nly sedoemoteartiRareahrandadevailableostepofHister.f`Xcompletȅ_\,etch􃿅D6for srom߄,st8ewT1procȅshell4sav`|׊ӁithoÅA.ɍ;f l/nvokeFiz(l 16),ichsuyiduxutpuetrHrs0phasQloct empty[HcbecauЂӁ)gen 8during/ 1).

    HiHrcP0Aggre
    1ealufxposaa-oriXxi0r!mo8evid9imPЃal21ale=0001951770 hgu 7:ptimiz/DZױըױשױױױשbﱏq צW;max 1-3)Rlx5-6datXtruct8pss9H ĬQinuoueg٧ޭupاngu/,, Kgohrough/pely:ÄτϺDŽǼI^XH҃ׯ!x޿Jjh36mappɸ[i>ȮLRjskBeca!??9ھways WnPy0tOOyw 5nes.ӝlarly,in#>croed)thPord1Rem@VjG8pV)liaouollowӈʖ ߶'i'#popul dF,Warrivt_E8q73exworkcheckOe 9HϺȴpoL8(eVe0-13FtroadcasnewdS}4-15)'''''''''?''"7''7''''G"Tab1ComG2

    4.4ailureandlingG25MPLEMENTATION/)2////// vidleAoohelp䤡o iagnsymT1 Py@ mlanguPd (@cɨj߼:P+libra01brewP8zcapt +8Transstid.n Ft-EZ VisuStudiodd(cxvZiz_____g___/C G a`ؿprpXBrevik,.g.,phpath-b0dalyo@ildgfIؓi9wchaװ4trurgȔ4g ׸festheOrequiX9*0ndep(typKedg8!Ydhphoenixۙ_[94247 >5]Qje :|(i.ec )¶iAsxdcauiscouyutoqy.Iwǻ9wfigu,8flecʌ!ic꾈anXbetweeocoO۽s7υ !Win32yHbygRd!izAPIFaNjǐ:窷 _\;fowillis xkp@xѽ(.մhirڒ\Btext(NCMsg)!makznٝG2::C"CtxobjЃ5@dْHLog(EBeрۂSzyiy,H aP2delXjmacrٖ__>Z++4q lifetim fqϭOO8ceriXimgpcex035BIm"/6GGGS2ߧI'i!>Transformerhatonvertsawuntime-eventtreamsoatabase 8les.2CodeLocʇprovidttextraazcularlmpon,lass,uncIPile,"lineumberf2stagenerr~ProcessInfo380,9I莡,ux8d,amrxxsonE:ainwaboutincluding钘typYandgef 鍹ndpoizphysicy(mp,'ҏIWUpayload (e.g.,prflognt)_pWWچQ=̆IDco9ZHi tincdefuctur(lanPB(oireemw.licQopaicbhly?,ؚggregof8eiary1Iww0srentpaceugtra館£Hchxmemo09fasZ.

    moni xϐϯh exchang؅ h8ll00yAcڀͺoup@ȼ:irɸnoؑY߉۴l1ϐsfrompiggyback[ZGadowilxhfe(oRr02~To8ke׌ff8Ş&dvܟo"iscar2mᎪX edߔlSsibYglobbar@uzlewe@cPȔ!XckBǤǤǤǥ~8fcer Х :nimCsAc`qcs#jeoFuncܳRulnumbualAncausc0ePiFfrȣ˜ nfiguAbXrewri, v``1 XPERIMENTSND`ENCEշ.h2777777774We`!li_YSCOPE/Dryad,OJitself3BeleyDB.uvalua8mpQnswKllow9่:)hat#yW?)ow6.1Ñf!pplying2 Humanffort. Table a>rtshetaticsboutannoooQ?q (s8ystems.ornstrumentfuncYs,srite؂paonfigurs `binarypopecpamesfirehexdHallhreeaseHу׃Ո@ي25inashown؋ .ސP׎ˏ׏׏֐ُ׏׏׏TasynchronousdgQndrHpondXusalcoprequipusourcde.urxpencItost؄' saevpdlbsmnumb com bmidwzibr8,PkA.וfewQ0lxseachhmark.@ntookh_H(.ɒlhCOPE/Dryaj,eiorge3\؄hpdqrectH`@CrePros*c`new+,Xpassџ9+.u8*bРqX!ften (v(dur0agnosis.ĐlhpXy0ptuXorepecies:o deoseWWWWWWWPRuxmheadscmitڗiqarrprevi9work#ќ̈?[?;96912 >14,74808 >7'61535128߲83549׳2 403 >26ϳ080702]. ȓ8srcgo诂/"rhr04̨-(e.g.sXnd/eive)hi`lwayzsed\gacyQp8tflog۹two p`roduicelowd)Ƽ (with۹()thir3Dfromߪj׉篘+porCinvoUsh?!@ocierrfailI򇁹xgh.ƳQʬthretribu9l,hX?0.1%)GG execugraphnbU>wahbvIf`hwnepedKafBϩlʯ8"dynamictechniqu)89472]167431 >TJpY(c*Ppta$G2

    6.2erformancevaluationThisecpf2Tab3howknumbers9edganderxx菚sampxexecugсromu(argetystems.Ԃނ׊xfarewthan3ventsecauselll-throughrepicitCfunc#񆇌invoCinstrum ed a>فa`pecifiin/-0529-XaHSrcbe숡:SCOPE/Dryadnapt胠apageoЈ20illÈach(databaP (DB)approximlyreimawCreamRaw),uoboDB)p (t1.5)Jassoci(dqȓ(including(t)ouIon30%Atotal7.itrequPacsed,)AImeyХsensߥߡߦ8~cr@覗 :ŞWRboutw]WR`fwǬoooooEȔeW)gggcwith 5770nd`pri@ǝç.ŜA9ylcul2warФa@selProМQn mpu39-lhlggreg'%70643 >Figu8/oxrunn4Hjopizturned-onoogen*yHst : 94.5%finishP5Yonds,j󌥢up-ryircle)k٪'100.ϵxeht Dchn7tIclotHpoiPjob,ielhuh2up13sr.ҍepsz"result1,9lsoYЙt #(paȹx  Pcurrencf|.ƻexa@e,ox7ÍӛMleft2G,J9ughosporeimabܼy(ie(od˜Ѡlow?cy! Binspchi(rأלDǹeffȈasi1xA#qtaXl85 HexcepC)er le:n(0.01%}߽߳O'GOOGb񸳬3charaHr;ordɨhq-ょGF959 8numberXؑhedgQremHa(ᰊabstdurIwpRscxulXcop!`ouriPtwepmI+u1xecuYѲRsitth;Howr؞~0olHmun1segmFy؄8lotS7jotI/Orefl˸LfPt. suabB !ဇmiddleangehenraversingheortionfzgraphorrealryadxecuQ.Ԃ9afterroundime 00:40ttartsorocesXOOIcorrespondofinphase,nichobanaggaЁalkyychinefetЄtisticsioritem@aributedle2Pall8ncuPncyevel 60gis 7.23.

    Figure 8
    :Џ܉{aggreg8PperHce1ω62///lj׉e 9How#Hnts, 8edgehremary0oFq4''SligHihrpAe nditf󃈥hcombҫ:woxmensfirst@xnabhBarrPmworkCheckpo9[e {(NonB , x/C)sexJchoos QStoyOneHop 'i>PTvRk8oplyWxyptr(ysu)segel;3D +ulPur2cx#beisdurx;凿2T4how{Plvϣˌ:1WU`lysaryad2J;Tupte;Rfair!045_亯6 1718s#respcly,atyakpproximЗanumbHnOJGGFҿ:o@'H2se 62-63%du en(2.701)Jh7oP67Tdataheqfo: (i)ᅡbbenefihwayF,Xs̺Hce(;Rjsif ntѩglob(from 20v2߽PS j111o 6?rremovņAՋ@XcuhmanWRar)ecauseurartition-orientedptimizaakesrocess-earisPtween7segligible. (ii)Ѓi@rfacendatatructurhareffectiveorggreg(with 32%ed؆wseeingargeocalsl`s (e.g.,ne 7.7illnedgyonly 2,895mot):hoP'!dootatoxisirepea p:onOverhea`fheckpodAhowrequсOmuch.neHopIro0loweh(5.11B/sitots؋Paamou`stዸngperiodomxBatȃ@7.18C,rhasigh siz han)tnd(߇0963.

    2߁AddInludPmdiagnosols⯸dQW, iavigoqdgxQlYs (ٿgwalker), 8we_fzarfocusq8ificiz8taskpsuХerr og0aly,rн 2ťAwgsʁ/pisp鼘Sx3.2ilп 9curoSh yO8fo[y tim`eca8yCcoc0` tQ0HliPGA<-g@ʎ - yw1aԈӎPқ0rgcwp srgsi-10RxnoomʽadFiga10(8!˿р(; (2R Xibetweؔ2m)furr8ponfunׅרh`enAcquireRowByIdʃމѫ)rowa8ta1{imakey.ϡ eaɜ !ဇtheableidotaveroperndex, 9resultfbugetroducedHransformthatausڂ reationoail.hishance regsp m comm0ourx0iesPaierarchicalfxnalys`betweewoimilaHasksofteffectiidentifyingos. Figure 10: devel' *׉1׉="X?>9hce="s8f蔈write).erG2ci> xtime 21:27 e0Usሟ,ɜ@8` itshrough0(8ps,rk[OOOL???p pPackwarPlistartfromWhry2l*arn{9irbyӊ`(OBy).axup͎pkOHle,؅",XxRwasUPdeleH.Ȃwȭjҍ*outhhappen 8 Cin:Rڨ' l"2wryaWhВȊmo0psamawho(ntakeyw@ 'qrh`n ipedgw(h`ellҊgggeretur)avBOt17g@1;]3Zy0gwalkerZnavWeraph ,fzgi>CgketaG>mCsao_83ii7nong beJjanhm_4">Tљorigafs HpumyagЯq  AtA proct׬Uc3paPʚ1,2cc3m2pQfur8rrill-dMV%"x:.ur„ay5inёҎlߦ۫umptysynca"o s (Q)e5`6hodidZiv²brr(a73tgg/ϜW:25,Ⱐ߲onlaZ̨ral/pn4"idthؽlign="justify8ac`ifinteractdiagnos involv,(specific er)7Krel" G9Hguid@withPxpertnowPgItQ` po𿱻y"ǂsJtoolЋۇٔh*ly.ays;,iabili誙llow9rA𤌩hiefi

    IHtpns225])troduxedgesYo .

    ComizslicingmputDeploym0'ceTdataceJha}sh chozPsee:eam(in@inedicdՈrod (ĒPhplink9М@ELATEDXr׀ORKh2׺׺׺׺׺׺׺׺ԢesAdrawXspi@(Ȳ)a˚(evio!ȟsoȗgos:(ecumodng,trib0d g/xrt9>EM;capts rhaPr PGgraphlpan0# uJ.taclearprepath-baanaly)[14, 61532403 >264808 >7߃5128ׄς702]oftdefطquٯevYriggd(pirst.Ђбhhe@collechroughnsXmߊ]vi dlos8pinHQz-14, 264808 >75128׃ׄ83549]ouldeppliednheseorwardlicesndreentegratXo2

    A pgeodyforkcus؏diagnoahsp(lyegac8ogs.Ɖexample,it.1292ăachinearnْHmconsol`!detect-sca؍̊ bl[SLog959 >31:tra` xvwithߘXfrom`arebuixexecu;!thatdusam*hxnnotxschemappuarhneedod,3)usuy0def:P-ro`njnvAufficie8aronsccuy,recoȑn׌׌]achenges773'''''''OuhceptYinspirbym>O527 >ŠanalysiHierarЖ@ggrx;slh?lynamicDz052lughunderlyechniqu8diffnt.І߈fa``data/troe(den8movarias/s em,s8ntsihWyNwa ar80nuXy!ortrxi]ΫwDošfEngxage1̽iDryad/2LINQ_141`a>, 5830+SeЛ0Rank398|aeb.ec lxOnlg2165׋CactiAigjǗ als Clo!ud910]asioneeredheonceptf testing 8aervice.narticular,thow:ymbolicxecut =engine@atane)allelizin8cloud.earqPameisiandlieve229׈irgorithmorearnlegacyogs pAmazEC2hadoopgf8911b.

    Dapper07057racfrworkes0owverhead, a[ransencyЍ`ubiquitous ployment.ԃ@ata 1organ/d9ree,h(achodeepres`basun@Ѕcdpan.ŁɂstoBigTsoferprogmcPIPsellQnot.uo`sstrictهq-Ideldoes`upport pph0asalpyaoasAט؊{401 >yHTA-demain0udibusystemss(omdهHaggrhfuncsȐ criprlanguagxTniioRflcrecordsyiPdihomЂۧX7; h2lefts="+1"OI8ONCLUDING`ҀEMARKSA[7]..guilera,..oguljL.iener,.eynolds,ndHuthitacharoen.erformanceebugging istributedystemsflackoxes.n SOSPCM, 2003. [21]ADOOP. ߀߀ڂ. 3Sh1N2censiz+1"b5Cext-basOnHe figurR-EJonh1oo/DQ1Ypliane0355733bRinanigrahyWWsi>Junfe1770366724547o1Chaderbowski<""/i>5, Arunvijayumar<z Saniegob///+1//////////*692/3E3G0MicrosoftesearchiliconalleyOa830Og4}4hColumbia )947/GGCorporatio////h2ǘ777777iz0+1"bAbstractoo h2wOw,4fdjustify>SXwareXiluresueo figu rror`HcommonplsypuXystemntin+growargando plex.roubleshooghσs Aajo@dminicost,speciyn Plȡhepropenondetectedthouthfnce.Th pappsODE-a0olautomXcs 9gg.upa(HbasHHid萈invaria`accessu#dicthevfollHҏextItequinopurcode,-ficmHics, @heavywgram alysiUs*,㬠sithghva`u8XԔ#vBeexecuX*n`sovi=efocponiagnoIeximisufuaalgg9oneQdeploy0chinPaddi 20-rrw8educpte@environi.hЌ2zHth-loZogxromothsdesktopk3yieldYfalX؅vate1efPiȼmakiHeasibe1p 8nagebكoxdᆵ"leftw>1tOϵ/ggmA;7 .p~maysultcurHulnerabilѠw@,( 0isrupBڵun:Pty,XZchangUIxincorrQ7]脛aatp9ȭdO@]6942q, 92982051396w61849z,Qѹpsol9u`o͊)sy0o rAs@h,9h (e.g.,t1w-ccrip¬Xn)unia poy?@h0viC)PdrawbackftPlHdelay8etwe0ocrp@Py71Z,uc9damHIst@sϢϢϦRϢϢϦ0tpa8,aim:>

    We srWfp;itHpimportaPOSRnHttHHFur菰jiypXl@(essedroughellfininterIsuchWind@egistriehthure nPX)aslaYoxes, transpntlyce ngCheckiOY)ev`s (zeafh).hproaphtw:doxnotquimodȄQ[13]auvirtu Xsׁ6129ғGGGGGGGGGFfoc80Ty4Poto9Qn0rticulaYe^LnalyzmlaHmXdxctrrorihȔ>h0pgesbmarkethhGD8368 id="FN1sup>14052h;. pmyAd0n2echniqu(e.g.,86633492Ax)عs tll϶϶϶϶϶϶϶϶϶SedJm߳haYerpnHDiff0мDzm@h`rafowtThejevolx»riٮsoftwp ǭǭǭǭǭǭǭǭǭFiPlys8X`_Zout\STfXosi!hC!h aynamic: ref,M4LwriN!, $2$)?fӿP$Hrxt*,'le" ͟xȥuinvariarulXѶ1? ⇉3_Zd"ollow.ODEhennforcesqseul`andeportsut-of-contextvenasrrors.yrackingequenx,alsoabricheriagnosianoo aachndividual.ςdetec!!,tSsuggesossiixasedn T,jexp`,Ҁ…*

    Wemplemȅ0Æst@-aloneoolQtns"inuouslyhpdesktopHNrion.t`btendtpyrzfiguraanag*atajnvironxOualu,othxu=Sprodurvershowtxt-Kap1h8foir1eatures:ulli>ApplicSepnt:sri@pcodeߘ8tic heavywr)gramalyoenes;Qutomcalstr(imor!80%fmosҟsweudiedEffveXcfu llڍ-worlokB96.6rominj3x!Yri4Ncohor's57C}e)iteSiFn)??8steafew줂wiXnoBrmcإzlarmpFurY76 Ϊؐ0.26arnixbay0.06s呧Low` d7ee(umb٤ prrinPTCPUƈa#(T1(99rt)me 0.5%-16GB$/28itbsMط{ (xr#;gohpjȦxcixtо((viifocعpfgoo`radeoffhʁciоqBx0@jcr.ͦ)p*takHpl8&hene !Hifest.Ȇ“񫙻actuahexecujоbnEt89hemPGGGTh`paaorgll0firXdissHld kqSl2i ׹XARegiahLxamp/ 3rnж#af 4nHb8q|(55)ʰۣW6`shvaluۿul‡7ily, limitXfuP0v8)ehJcludeo9)h20"lefts="+1"OI2W2]Ain0!(f@ck1zdepend14]utomaticallypplieshexistingxoepeatedonfiguronrroryearchaoluindatabase.herLog<7720 >33usXstnalysioxfer$ecpath d runtimePmessagoiagnoseailures.

    Anormi0ofols@mpaqproble"ystemhth)؂ۉpinpoi(:oota`h04342, 5139 >265127.hey8cussnapshotf!es,(d蔨Tlhorה@?acrossa8hHtiHfeasiexte؄e-ro({detec,uxpXmen(w(thatuchslleneelargeumbfalНhitivHdu✁noi (e.g.,љodifAlegПepes).ɂtrast,ODEPasabout abs iLjƚdis)so0avPnXcff-l`%xgworhH(ver,aȍrequiФrZadmin(@␲?=x(F (cXfur*aid%5 yimporcZح(炷Tocognizhϱ26469D!lexpencHermput?, aulty s skhelpKAydamlop`,speciPpl8cyus(9-unmoniHNײwwrywwwsSoftwiiǖUêeatp.ѴBllCEr0pmur'soo875740411v'n akus)hum閛psycholog`ufxirur_9ro sط9thpr@fromccur, bڵF\IoҼa»ӵary{banaly.?6G093174488 >2/7325 >32czupdυυbɉzepurc@ execuӮhlnphase devi*Ɂ*[`flagg'WW߿ggggggeBAmdicta1patnXbshsimiphnefitrun-tim(-.ow8r, P'"AAad@sifntCd@gqcib[ac+evolv0riskxducoutضrulFurq_saؼHMsophacX79h25(qnon-1rminBtexplici)ැpоmriJ͐H,M!0or,heavywšwalgohh(thathmonhmRicultHBuhWi@0 1pennabl"eodaptIdynamicnvironmentsnline.nontrast,heocufdHifyingqynvariantulesabACODEoandmuchorefficiequence-analysisethodsoperate

    Priorork (e.g.,8, 914815])assosedvnsitionbuildrogramehav)s.heystTnepth-2ohcodeall pphoh'0GBcaʌti1siength*prefixesᐸahflexbyex8vehee؈Cʼnextsh2Ǝʏ,0/"leftsiz+1"ga3ackgrouA`AotivajExampleT 1:n'#DGOW_wwwwww7ww׌wϬwwu2pvgsmaximumumberQupds/Xs/day (acr 1150agula9desktop@nth iod)3>3.1 ߤ3א穿䣿Ha rz ooxsoftw,0rdSيsetYbmach( kitasdiffer:ystemmpntsKpckó//GGG$GGGo'jorganJhihrhB,lؾmbla.ňؠouni Xidfi0by0kex_value.(/(qpB߁߄nam:m`ain8i!subGi8/spair,maph.Pah2`Љ.Ȑafк*wills,73;sˁbVĄǵǵõWgen`c੪Ben2#abouP@Perlpplطr/qp@aecutRHt:\\bin\ l.P.supporc30s (e.g.,ÒteOpen),ʱturnL(B)sucɠHiluP fulueryڷW (gl/kfetxassociBI1WPrevioutudhavh0caѭȆ:perrordxxcorrup[88567].ӵDughmȳ,inp(`Jtriggunexؓo0Lleacan(as e3s0zhHٽ n 0angH "fromser-interfacehanges (e.g.,enurconissing)ooftwarrashes.

    Whileindowsegistry!ilitatfiguratihaccess,temainhalleng detectndiagnos'errorsuethmplexynamicatuHof.ԁnumberentri@isugeabout 200K拨a0verageachinepthincrea269].ur8rmor`6updhlrequ8.shown@15 >Tab2Y,:chbePAtethous(s0probdaDespiteeYlhcA(alsSutomc!-OIi`-4=openYmזזזח{8v9erp◌0;Fae 1:wX١x0wgeivh3Dž'leftww>3.2otivExa(dh3o|In3e,ellODE£OOaal-worldףpatsٙhoe(i.eswitchzOSmanumode)Giv@RGruyackgrouask,shoormyep_-]n`llardnPiru( stoppeheckYY.revi odthlpcaHbeca谩ya8̲m.ontly钩mayo Bed,securityulnb!apamоed.arϳthcic alert4xreseymportasafe(GGGGoT'Vwrr aovQgram8spٮXexneٺ756540304*adaalue NoAUData 1zeeyײײײҳ%WXOOO=O?_OWPK = ![HKLM\Sware\Policx\Micros`\T 2)nexyrmiHlevt:.ρap@oHnitp#fr-4Howe,urimps(DXwougeѴ154llarmsesk@/,un-ptxypumber//OOOOONn,idڼHxupinvolpof0ac!45s l(Byi8‚FђYoc8rtstampsZfppissubn svchost.F1豑R!45-j8tpOpenS0r...Zidinmabouti"ndowspdate.ext, svchost.exe

    At28thvenφω NoAutoUz (hhtedn Figure 1).incedonotisturnormalPecuacQhyk6Preturn Syfound"Ћoheck@@m(cop.owr,ftcredXxData 1煻s Su,ausGGBXprelyXopoupurbs{ee 45-poccursrtHCODEleaat!rulXfrom.nacula@itidȞfir`273s (ӘO.huspnerr@cas(sfuldetecdeviraddin(1)xp Љà̀tctuyappenY(2)iproYvtime (whichblrXtx`pinpoiroQ(r ޥOOOKh2d0g"leftMsizH+1"4ystemϪPviewdictaPHowr,ʾ𡫦axA1v3aopizҤĽ@porafii9affd.ÙnglyYn 0aЇPض 8geumbȅGSX[exhibiotehdiТlleIhz two@ÜȪQǪmaoluopϰ˯GS[xit`dynamicXfm,;mPeifolh*8rȿm뀁z@nli~cis:'ul(li>Effici>toshouldv"eowimingomplexitynrderorocessventssheyrriveQreal!e.heumbofegistry݂osnIDp106 <(Effect:h@nltool,ODEeedjduishruerrorsromolatil enignhanges/ulpeight="4"idth="1em"l="ju(fy">WmЄatandomonitor1eost(depe(ntly (Sከ8cusse u8eploy7cxr(zednagxfhdaters). uctureintwarts:)ll,moduBn8alys(Fig12BothunimuleousX*pipeѓ߃writ&oonk hemacklearn0,tS,diagnoZcГhharXYɚ@keep?=; erwise,t`ybR,xXYmunicethod0twee#s (instsockets)Rfqbcrolvnfrequence.g.,hfewe+uH)X >

    23].ɜcepIllsA`aurhhxis蜨mn͔Uiodll;8670 id="FN2H9 qQŢntafowfieldXCa-(mp,gramamɅٓpy;ntiȟqy@m1xecuta(,ɭargus ID,؜ZKey,aluD,gypxOh`QuX-)2tu)߯߯߯߯߯ߕ|ް~9#cludFrj`'dʦEXeiZzI/sCpA-DllcaufaithfuH2<'cfٛP.ƻXact_,rp01ΔoenabYaȝ2395 >18Asidѝ8iclƲ]#8˨p407ataknputӒsetra"s.  34109 jshaɉɼ,YPbɒc9y^yXPw.Ԃexf9hav(bv:swwthAeextrHhbeAdжwordh2bL8eRnX߫`alwayȵ´#woyR(W n-}icasXw 0cPg(Jsu,HajoXfxortaerrorcapt82wwouXxɬ)XfurRrxBumb詐occurr;ڏ^aeyld`rde Plhmalȵplaunchroupz4hamsabpnamA(gus8892 id="FN3hsup>`9A艱(ڨueasrovHacrop߆¹ilyDJupddiodic"рy epochsndtorednulesiysllustrat#Figure 2.eefines0timeeriodhewebservxnumberfvents,ohat( Hsearnfromxヰbpplimmedily1nextk.

    Thdetectionomp@(takYset1eӌɆ*moIXasfviola!,modxformcheckoilit @gnsd~HquenceexpȍRegi`yrihrcauI,!actual܂\. !t)two@descri5̄Confyzccessҗ'Pout\Cwithabeldgmhjsepa wwﮇghPBAlexarζ˔d.ltgh73indepe(nt rR,eaC{oA 0enBaϴ(by,tainXnQJmemoJro`2,updZ*increQ.אyS47.3YusJym٠mom'ǿǯ%3''''Ǯ>5.1ƞSGPwq3_wwWWwww!ir9ɮ9ؾHtical,H vi cXiyXweP otPialBlengtho fQopo?haluAe8ubrXnuifH8maylrage Ұu@blo Pters۱87309 >3]oppXs.owI,ˁ!nosirbecauYtdiulo-rmAyԤwchoosb(opU (e.g2, 4, 8))IHful=anY0e (ph؞s @hapapPԴhni0Gsu?91822 >16C٨lexerheyypԽai"Hin٪[avaihlurY@eZ0b-de*a̲Regi`arɻXrIrd0ǓlonlyadQip~2077x7|lgohm.ipߡfymbol؂ĵrnpat`mHhirchhsgin-. '#4004Fig 4YRxamplul"eserivedyequitur.heowerasXettersepresentinputymbols,ndeupp߁toPnoteڃ.

    Figure 4:nxamplefNierarchicalules.esohowBflan parHhesi/-1Y??????W??<2??O????_>5:lj8ratingrpYevsrc T1DurQlearn,faulpochizHs 500KSPwhnp(fromou4aysoriffe!AXyz*iI0aneouslyp>p8oʔ|Mdy[aqapng,PO?pq}t/.addiobvAawwqtask@ccKa8rsman(.ixߪ+yal07Iouldඨuв9aPnoishWueg1mper-Z? (opbetweඹ8`d)show`n 41 AOggggOOgfyޚ,wPrؗR6aǜʮ W0cJmhheहgrammSg abcdblockquo?"}6:òtructzri)idpHAi`ruQdgH'%777776WXϼږa,B wh ai>Sx teش9erj؁{voidt0AEtwikrepl2IndxPppfo>2ׅwao!g.Ȧ8cpexp爏fewv"ဇentsomen,ecausehisxpansionay ke Syoonger sequencefx.oolv FlatteningeierarchPb>:Ԁsecopmodificatً@todefaultPlymbolsutputyӋ8iturev8&inrdxȃstructtrie 8X(illrhdy<ilepos=0002040042 >Figure 4)ens:learnno`ohortseleVnlyf@sngthabo ae-iQthioldl2(݀= 4) s70ys= 5We l'anOa𛀂upp1Althougeul@ocesse pٙforward, rr8Hp EL.e.,/)I#7eZa8invQdask.nOOOK,ARb1cppo/2-xP3S,ׁfur.ODEHkap-downrooaver  re8sps O 8in𠴋step#setnjLwiXgrethȗͩϩϩϩh3~leftϩϩ5.2ŦTCЩh3߃efgwWromX)s,#edb¬ormfixetO߃mPhrgroup._]3190^6Yw#Ixamp(yp,nod(}QRegi0ycR{(Xd abhash)[Bdidg0sansi2betwetwhsppyK em ϿϿadopo"0vciAtapures.irsx\hipsdifferVvi2basivgбpSeHfoutany?hmXHۗliciy;er (w;path=Hpoint/-amizdatH0mqacxAbYxǹ shasufwellprpicpmX vH(Ȑ`0reducs1(bylf).eanwh,3Ttiȵbʑה#nsEnIJp!OOOOOOOOOO3ҖėJo/9-Boc ⇉ppearsoe0rul.owever,)reayxisasequenceabceZthatidtccurJtlnoughDselectedspopular.nisaseansition77Xdetermin(ic.

    Forachewcrea,ODEesheYtaGn₨heckingagaipupco@g }sextpoch. Figu6how q-marpros.o1sofey)s成c9(:wort ot99ʅ6rrDDiagnosis

    6.1ƫeН tiveupasȝ3OI9-GXsithhold98bқfҺ@ӟ0erg&usu azmحmaamisoreal,.׺levalupara(S\7.2ﭝbwq࠳rhni oduPA'0??First^қ(terɩ~hecoӿY;(i.e.apxed)do@noppnafuoO?ڞbpbybvo| 8f"monitɼ lPbuPr (seo 1)Bsۆs;1ɿ*idea0@тLxhaloocorrupofegryeys/VaKr eyqespondR0یu4 u(/gaiOwi`Yerhap<(ng(捈Pange{o777ooHxzmultiɿgene@,;車b:Y@rlikemanifeɎm£@o`caou2"zlwaytr Ǽou8PrimHX1.1)GGGG{QrHm9Xcoo0rri>:Pgregi,romhlc yaP{{u{ ӿ`sxwoO@ntic(yJboth"eameey,alue,ndata.eanonicalizedsershenomparingegistryQs (Morationouldelp,utseyoth`copefhpaper).Ԁitechniqueffectivelyeducȁnumbfalseosi9y 30%nurximents,oughQPXurnPof8orrivacyPncerns.

    6.2rrDiagn0sCODEsoovid0rich=mkaftheJdeacessiolataule Xtext ⇉ev, Jknow recisY܍@@ctҀ{iϕQ.up量aeway<FirsLl ratptonde()howψͅshangPtrackwhLPh(t,odifiԙXtca !oooiccs(Plast/+8alo ithzxmps) ri0َBekXfrentacᦀWNmajority3eeo0read-w`e!amX#.nacPȃeal;8n 2.000BchinюaPzקժhyp.2en9׈m___o_[SedggiТ\tpťon@gardI9gram'oou1hah"dminɉr3didaѱoveryauto-upxдB3.2Pemp NoAU7v@2st-ba ap迈
    do(n(EQlacomIiYsteadlЭݎȣJ `ckmX-Key/s1raialarmfnieldAbeobdxenair\isonpplimp*byøwetfiu@p)heu8tics!crib/6n+cablB0wIٖ̽ult=3????>7.1Đ>R!CoageOI3߮i"v> WeirstvaluateODEsingeal-worldonfigurationrrorsnd(omlynjectedeyxrrupas.Table 3:escrizfhe 10producPW%1 7.1.1tRiEʄ@荴h4?T8 iscover@bycwasausHotbardware21],hichnexpJfKone-author'sesktop.hiaddsrapH`skinsoɔnetxplorer (IE),modifieoupgistrrelHd1YHKLM\Soft\Classes\Mime\Databas(ype\App.ksuccessful8d8ruvio`9ȓItart-t$furr vid0diagnocormӇhelpm8tool H)9+wuwwwrAddiaeanui7d 2Xroryd1ese]welfromsystem-admin0p| ؟HiaɖBxour!wheǃ‘ggcPWpowsyi@.WT9479 id="FN5 >5p8nXttot@tpviol|ַ/Aeapcouldn't?<-]ڲ2ϵϵϵϵϵϵαoo2b0ggre wp(itAdelayxy.𹏨ّ#3ccupdo_zhappzaP1rZד8.y(S. 6.1),alarmAort#>

    Indeed,anualnspectionuggestshoseddi(viola!sreol pos vesuthhlyorreedoeocause.orxample,Outlookrash7.1.2xh!CxTovalu2豈thatfrequacy(≥ 2imes)a ( artIminNo*tdoix;SHnfigur{t@onhnrnԔ|9su0asicnew /V@renۭsooha۱(3Isaearn rulAUpdT8I:Inte8thplor0(IE)ihhb2maximumumbpߵ𭐰intydeskW8gramsrrowaHvyilaunynE vis@hbtX8nlPfnn[twoou`(z葲peI(m Xw7u, ؝AEe85=l񯠈:cz<behednexto+8&cerpOHKEY_LOCAL_MACHINE\softw\aI\rloginTheseeystoreettingsboutheynamicallyinked8brariesorandghurpplption-layerrotocolndyXpodqubyE.urexhavB-corrupЂment,@eletaegistry AutoProxyTypesatsyaXmcnterneH -upچHxy@tec. yofxismaytriggerxspgrame icgpinhhichwitchptoȎpHconfigur2{didotepeYRm????examplplsoust`irecfromrror@掰هArequimnps m8fs.

    Table 8:op 5sonsorausingalseositivesneachine.he PerYolumnhows, +t(5tegoriepfarmsXatneummarizoverl=fromLs/OM1y_4Ɓ ljŐce="serif">Weurrxam timeibuti1fwarn@seneryODE. Figure 7y;IdesktRd"gestumb(0.96//dan7105 ),ly 4rocessrraotal29Wdur740ourmon 30 s).ohaclerP,n0likePɞH0saconfamodifih1ev80wwwߞ"V:ΐڒXh mYǖanalya*iff8𐂤{~xr(pfouRВzintofewyp(wt8606e8k9fSo0m (FssociӗQEnvironmV)ڄedBcsuÇs;oIJRehU L@,EîX7.2.1sisHnityȱh4gstud'sAworkloXiŽ(Кxho(i.e.þoccur8Цrrequ҃@qole(ѻpuٔzsCgg6w_߸߮_wb>W}?B. 747105573how lO(8imlownШn.ԈQbe|l0rravthuirgacЃnoisy`o alu&ym`Aprogram| Ῑ0!.moUrun ,2r!u;*'', 12ǭ5Ƀ(ndExplor(.exeS-߫jt#ivity
    .siscussedbove,nmportantarametersheup`resholdoreItingrequeandn~sces.evaluatthsensits9adesktopithhighestalseoe e (0.96/machine/day Table 7)./,74757 >Figure 81 Xw ultwasxpec@,aargdecrea .sersadministpocptune;wto de-off@t ionSv7

    7.2.2mpactfoftwa8UpdxsFh4ONp477"justifyOO>u Ή@modernompu蔠Tpr imbetr0changXrog'onfQon-acItncstudysזі@,*GGG-GBu}log!ll2omB10sRou0nalysiSthhrn @- ljϞifcorhpond RegylaxpifibyeYWindgk)(e.g., ccmexec.()חinstal )msikGGOGAmo\78sH)CODE,ly 5eduoGTverago 0.017ppܭB0.139 ɐacro@to 36Nxȓȅca*twonvironmvariHpl̀DLLjayhhavbm-numbnourpriwteHfixup;dewunҬإ,8oʥlexȥ__ǭ8ceripc e ĕojboducS-rulAhi!sihem)Wz.ƴexamplAf@larOfficXa,׍ҲܴgramHch10%n.υwisȐY" hOO??????>fur2mXZus!wu@`s:PʊDServPack 2935]updclu8 200ac@.tpfecY7厔applic،񶉽moi20,heyD:.lookve ath@ڄ5manylajor\":tem0arSb(keepy{elearEino6>ddI )617;1lxR ߋܽycaptʼ9nkspB9fac A3ح OutqOK99683 id="FN6p>67.3erformancevaluation
    WheneeployODEnnlineode,heretodically (everyinute)rocessesegist؁ntsrrivingrealimthePU8heads sm-lh an 1%" 99Hf‚withᄰaksageetwe10%-25% (on AMD 2.41GHzue-comach ).ԄPcurrpemo{500B-9:.pאӄ\sargecausedaint sepries, e Hroup. FiguX8 (bloizewȌYloIE8about 2-3dongghaft1ay.ntrastnumbcbepoundredmillȄEЂ72dinctp ordmagnitudeɈ,ug(g53qe(c^ckC-acpictl9fxosth80GqrpaXcusnmp.exXzrun;hȹ6lHwhwi`27&res999.77Ji04̮/////////*OfuroXa moHrata yet1bnorqfazcp.ypi@;srdwH@oftQhtqJdworkloadPts@ario,couldf9ǝtask`om\ajr訡mgR,wӻ~,tru0nghZ;rimultip.߾80659 >Ti 9ңgrow]\(wcreyase0syon3.x8WD48Table 9:heizendemorysagefentrzedrieonstructbyalyzingvXsromultipmachines.B jisonitorafter 3ays,Btg`averـnne.

    8iscussion8(h271„5p43Limitats:otlfigurrrorsanHeteCODE.yoxchangeXoGBdatairccessatnq`y8;ioducApystemroftwar1stІj/setupimeo]xsel,(exteڅpro:equen0`ro`M,ȒX0)L__comparRegiy/,ahHPperlyՙИ<.reviousork26]alshowogyres(s referaticoj虰amilarɟJϑ͝1causUwithouxnntH@ Xer.ȅ,ur`aluzhڇ such ϚezW,̧hPWindows,HbeliȚz'sndѨyXhni0pntiyYgenPo ˝formatIPUnix 2 /etc/o,ifpplicˬnAow m@qui8-nrum[h{Gxce_+O'}ployAptp-altoolunn,rxdesktop(ga 5 adminaa|߹ݝ-iPrpo8etq. (expᨭ2be9T HqsȦo9zfowas(.irs؇tlue౑deal⢨ri@ fX@ositiveSepdnȯQsp꒡500-900MBemo8ohead (Ӕ,ɯ)tineedpWʋghibhV40523)hir9coQ8zsuppsReatuP\shofonctϮBiwhixi(er!d-@ttЬFu":ϱAxri)s%noixplov@gtxgra[af9,锩#sSpu(sloadi.ur`luniQ(le۸enviJs-sif`knowledurimມIHcdducIarticular)maeoryHholPҋɒ.sibilithKank$aQȂanЖa`cp exam=.exel`>GGCHWWWWWWV@Yi0,+!a(gunbi889quhx0i rul,Hrqhomogene\ olp}GCA?·s (see6, 7.2K7.3O@chen0iJ:R(ta(inK(e.amqIPHd9ŀPPX@Ⱥ9- 1pg pl0velautoc semi-c#echniquesonferoreachine-specificonfigurationataoranonicaliz.

    9oncluscX0fBElhYp$DEng(ICDE),pg314, 1995'Gooo?2]͘ttariyHJ.ƷxA|?9tؚo dynaminfu__\9USENIXsystems0үֻ(OSDI2010ooo'__7____"3].ȹloomp/trade-offsash9l覂]C.ACM13(7):4224267/O_K4].üea.Ԇ@qO푸geability774FHopiczdepend ( Dep087﷧ߦ߷ߦߦ߸wߦ5]escripOffip3hrvi(k 3paref="http://support.rosoft./kb/923618">GGGEZ/ϭo7776].ļ,HPY.ҼH,@haikh,jXZgc @eultagnoyxploi*applic)atup22𦏱Large st\adm0sP"G (LISA2339G[7]G hiQ-(WN.oSJ.-WePWhyCs "ragiP!whatedoboutt:tudyYWindowsegyromDSN'048]yHa,.RossbacX0Vavis,ɀyEamadDzPerrLhea#nd.itchel.mprovedrroreportingpsoftwarehatseslack-boxomponents0n Proceedsfe 2007CMIGPLANnferencen grammlanguageesignPimplem atix(PLDI),Xs 101111,J. [9]..ofmeyr,yForrest, Somayaji1trusIdetechsequsystemall؋JournalCuterecurityk6(3):15`80, 1998ggggggggggggggb10]ndows llo.1nrvOXoooooooooolSIGSOFTӀюѤNs+30:306315,ep`b@6bMcCr.sp-esuffixre9Iuж`algormJoulAACM43(2), 19767].Nevill-M)I.ȳittQIhi`rڈbusequs:0ear-GGDrHX@lRResch1997OOOOOOOOOOOOOOK8]QO.ҧPFerpظb romolyQalHarvardnihsitypohTR-15-81 (1981b7777777777777739]ʙPedstone,*.wiftKB.­had.smputxoiagnosـ bϹϯohHoopicST(OS03߹߹߹߹߹߹߹߹߹߹߹߹߹߹20]-SuRAttariyan[`F@A Bash:rvi#gurationanagementithpengystemausality Plysis.n Proceed`sfw(y-firstCMIGOPS@mposium xOsrinciples,xs 237250, 2007. [21]ytecotbardwarenform. WWWWWWWWWWQA
    . [32].uan,.ao,.-R.eJi,.hang,.-Mband.-Y.a.utomatednownroblemiagnosisthvehtrps.n Proceedingsfhe 1stCMIGOPS/EuroSys Apeanonferenceqmputer tems (),ages 375388, 2006______________[3]Č]HW.ioL.ԍ)pZhouS.asupathy.herlog:rroryonnectluhfromun-time wwuInnatXalArchitureupporhgrammLu*Operh`ASPLOSx143154ohR0left ilepos=0002616 "chp28_ftn_id`ax0>*22, 6 >3a>]74Jvnj׌89>10ʉw'ߑߑߏ33109w2PX1head xnegi(, flush91buf0ry H 40523gϘϘϖߖ35508g3DiQargum Ytlyto@РxecuthEtaskAppXsИxlaunmaؙbooAsta zfixT,@nyv ph 2desktop7ch/sP_wwǥǥǣף40912_4|4AXrYrn0,|takplne(o''7715755SosXquisYhardwaetup 0Ҥ( ڠPssoXhducǰϾ߾߱764606<6?Outlookuhkseeyreow#s0yendar basHTcur#zǸ߹ڹ)w [h12Wzec er9ize="+1"x="ifYFRew`:nablRecor0Re TroushвɡNetspiPh1ϸϸϿGGWQ;AndXsmdsamQdan{gwwjooߏ097ϏInc.,&DQSA ##href="mailto:srini.seetharatnan@telekom.com"> <a>Abstractwh2p4"justifyǃDebuggingpeionaletworksaneaunt9task,ueoriibutedtatandresencef blackox ponentsuchჰommerciProrsZswitches,hiQroorlynum0abloncoarseJnfigur.ԄdtooletvX admatoisimiprovidesCaggregXics (SNMP),ampldata (NetFlow/s1or `measure1Xnghhos(tcpdump).nȄpaheevgespli(orwardarchctsEOpenY{drecordreplayGsapabiiؐV-(powerful,pcurrRpach.אt @Hb>OFRewind ]ensX),ulti-granularity,ehrals0cЉ[zinpHithine00dynamic,㕘SoeJؓHtro u0gblpB rodusofterr, 蜐f-paH " te.Nצ秧1I'">Lifdsp)manyf(Car(أ(mizbp-AhoojhilenrgunsolvdqCQdxafolnecdotxeQ:tұ:ToЮe)fctob`2009xשү)StanҐ b(@bvYnCPUsHn1Rosc`been 25%100% ghy 30 8`lo8dqXupim_whehunaccep#Cu%g{u andX:KB1nclu:a(hp)a0B0xhcEvؙaPyЎŤ1Hchannelccouldohءhtф욜sx Yarame (num9of:ck𿰜hdout,modifDHi quجh߷)h2reQoɼpuzzr8WOJe (fur@riscussAHSe;4.2)inha0omƏpllespn຀xg%.Ψutyp(t8bl(xdcye.g.ommerci<[middle!thlonBarsݽȽin8umпYvimhd-lsimp輰tocsu.ftebehavi0nponЦ hIunhsxymeaa`e -plaYdQ{HneededGG߻GGG3Fmore,_Nlstu a@irȊ Qy.ͼYre8W1X: [33]Zvalugenlafbu@a|RinpoH;ri~IhнfullD珙tcpdumppe9izhػunsгduhol0CЕ؆ <e Ovai@ԝHVLANJport.tAthusIulo f e1IIhip)˻sabx9g#edetweenultipleortsrevices.

    Pr@ousttemphaveotificantlymprovthetuation.racingrameworksuchs؀e35]ndetreplaywu88079 >11senhandebuggcapabilitiesyervasivenstrument!ـYrȅhcosys,u وdoyurdldueo#caofㄈginvolhea8powerfulol(vailab@inJcext9diXi(applȋsatX`determinic rd!Q;,iowarddos茇46, |1702 >24z.Ȇver0head敀-Xaargwith薈ataat xhibxblackidbox(clossouroft8txremareachWWWWWWWWWSIisa@,Ies!awrox9pHalaupȊemerlasfarchitectuЙllPsorOes4,ZFo7G584784 s!_s&Yrol nycis-makkfomˁ#. 8doso,ychhgmy8rzFhXЉ੺Xcommod1Y-throughput,fanIW'glHntOOOOOOOOOLWiss,S2pqqOFRedalways-onr, -PM,.g., Bmؒ8Indeedip*tudPshowi/Raccou0ZHn 1%5H95  99ob@g''78110,DuĬHload-bnc,acro(multippϻ$er"nenvironHFXankZ ȵsp)W,?\@`77ê ЫqpPtig5ausinte0dencaExcgIPevi7n߫߫߫߫߫߫߫߫߫DurY=7120at1ph@ro ulYapp4Oimari`moQk0ssu}-produSxStann8rsXЫXrwiscusc whe( syHmnsefuinclpng:xhCPUfxrorms8nlouh,OX@cketye@r8rqgas (m4).גȾddy#рnhich OFRewinduccessfullyinpointsaultyehaviortheuaggaIPoftwareoutingaemon.hisdicatesatnotimitedoox9OpenFlow-specificugslone,`tanxsosreproduce@retworknomalies.

    Ourvalu0on (SecJ5)hows (a)ytoolcal@0leastsellAcurrePardimplemzs,bcordo0qosendueerformana؄hghppachieved,`d2c7magoverhead ync8nizo(C*-W 1.13%fltalanhrafxOOOOOOOOOKWhil!,v`addpor folIke@bv:ߓߓߓߓߓߓߓߓߓڞ(1ОpA I=0iOOf0iblh)؟ɌBvoluhhPirtouature.owr,Quyed:QڠhaϞʑil*It ɣaocrelPsubparts,.g.,prHacket؏0rs.y Pvecritlset@HfئʈXlnye"CЦ?y@eseenmB8toyצצצצצצצצג2P(imissomlnearyjdetermini@clayP__mpti,ٵZgainsJ desitێWith0rp4,:0J}devK0hswض "~n״3˖P{QX9ĔKٵPleÖ,caserapidpeXexiٶ@Idiffe:s (pamis/cohooks)d("aerror,xtbisvlo@izeque 1ooooooooojInmm0b>OFRedbibeknowgirh)Qch0(Ip8tifplirt(Qwacenprhnomy'zcЭZhasɴxarietfhud,lShowǸ"do`niȰ@babi`OpenFఝlerZдdun8ra h2¿$0'"left sP="+1"_\2 mystemeAh2ǽ8hisੱdisؓ)ct񾺹`environ٪ɗd*oalcomponihAonnsynchП񬑐色urϺϊ?3ώώώϺߺ>2.1ň /bsswq3EbaDuzʡg' 0[289],ԬJ_^6566 >41\XFor 85847 {a(d!zxdata Hnle:(sche0m` ihkeOng'0gHmviaxؘl}Ȥ,Bخ;Q.ЂKparougr#dingules
    hat matchincom)trafficndssociateemithactionR.eallisayerfetworkb`subste,1higher-Ӂ:perO6runn)onop!iguest_[Figure 1(c).

    OFRew Evoughotyictly8XlmoQsplit-architectqdeploymspeahUto Ӕyer,reأadomainenvisP tanc2/*Ysuch. !ine, #ampusuilinfra uz5-10~, 200HttadGigabxlink(ȏh PSannklOGB/sטטӘh3gG'8left>2.2esxoal{Non-rh3ߜߜGgߓߓAsrevious p,1orArayunҠti@qusuavailablisaim Qtox"l:flexibihff 8lizaystemdo:autXroot-caulysixihHhelpȄpromp Add8qly,cCiAyuarameqٽ@YИorm)dmini2orhonowsPXsariXeYdebugذ''''og>Rg:wahJsJk+c،nʮc-sdoէ`M,zX lways-o輸o9)moniu(`spXfiIㅕfI;0Y¬ppo(tI0Л/'ǶǻOǶǏǡ⏯ߌߞj"CB!׳acros߲^FÙAiffer ron Htopology (ӓ"HGnt)睢sub-selꅽapoi2mapмHohpcQXincludeimHݣinveHg 1r@sutпX0llow orwaskiprrPvIsM .Bis脭bxeen\sasΩtXدz!d(xtڸ_0/ñ!aPY-defin8`aŲPypes),erЉun,Yninb_:awasYroduci8Ǫǚ߽ߪ߽߽ߪ(Absence)mueT8oppo ost-ori{Siвiv貘9do-k vi8ctz@blackox!lA(mane`saryXu.ɀead*@er8PI3norkhavi8xYarge'Kc P૤(7arhig)oHcг@xnlib0tBe#ဇon-deterministically,rotocolpecificpachesusteaken.

    2.3FRewindystemomponentsp4''"jify??>Aseenn Figure 1(a),heacefur", ņ1,uns xyn2substrateXntrchannel,.e.,htwjwit:ap!originaler.tausceptmod(planessag0tovrecordingrePydelegsf guest fa؀DataStore.haX`lozttdH`gula :orts.Ԍ`numberЂt0!Pchosfreeject)availabilitǘǘ”טBotdbroowur0rXwoul!,Qdepictؖϖϖϖb):iyQsasxHahdȒ8, ȑ(dIOI`yс_mtiv///_/.Rb>:gdcaptsqf窈dith' nXorkfia@a>desd nslUo8uɥrvaxsirrorg . pbynam\ly߈ߢ:ӧxnddiy,low-based-samplɟLuǬaWdШ|ag''W''R4Wre-inْ2c dy젃sӰjenabdo-X:debugpg2emxarwardmHe4er+lי״גi>Gдsס,hiȳorIҊ? h3ή¯$)%left2.4רT4S vh3_~Wht@,qprincipl sic fullKs桀everyackp?8th0pr@)8ioheaفerm{weȶЀermanceWhowlq//҄ooooooooo>*FbclafiH;xfnWw)PakjciodecisnHa𶀞竾Pcgori lude2ool=Ϸ́74'&yI-ƨarbiH`maxpHillQQeomIs(X=0002114238 >Figx 1 (c)챳IȺuJsu9ien Hmappeir( Vtyp ϜqоSgyCut-offsAn(􄅆roaرx&@0firstغxq8ea71.Ԧ ofte":mcriticxmeta-hbeus̺exudet$[gc92246 >261]>#ဇ 2.5 Ofreplayperationodes
    Toupporte8ngfheiffere itiesnvolved (switches,roller,Hdosts)Xtoablgt qbackcrioOKsevl_&m!:pANgectrli:nis72, + directtowardsR.3ordsubstPessagfromlocstorؒ .ԄɋĄebuggaorpplicaYl9R,thoutefor ߏx-z, `9network.҆datane fficQnotqud.??://///;:WCWRm;Qnuceach'sflowɟin0time.orJed,zguP3OOwwwwץ>qhdrWuspetadersaptuyD`K(u9Pregen 0exacPscounthdᑱIQummy pay-loadsuful8?, depHrnyGGoooooϊh9,K|SsƉ#comple,PXelive@clusfnȱoladdse?;eIrafurXweakŵmayMtcanʭ- ebasHhsourcrh yp FS,ni>re-m@2`ʄXiZ٬Lmaryea9ssgoكg)articula-trisuXonlyleva>!ȺڍWeoriH0alȋiжhimudiffirme,aȁfigu;'jdob>OFRe@bBgAelyt}`PkpmultiMψ,erPm зHG'''''''''">𻁲[,alspdAZ؟-,sinvag;-W0oass#ဇumeightlyynchronizedlocksrowatencyommunicationhannelsetweenur OFRewindndhe DataStoresiponents.ccordingly,eotsshatzreمsubstrh كguestfaces,فrsbyifferisuarantexp@se.ψdesignoeqȉXfol` p!s: (1)ԉ ntrollankiable"-perv. (2TmOOeach ividual,hasasonJmean.PR

    )j/q (e.g., 5s@(LANtup.) (3VdX˒[fromtoviaswits nesarifulbuufficixX99.9%fHgarrive).trequirbegeneral˙r houlpofxpl~ߜtwo.e fiɊ_&`Ѝ. R i:as蚋sOag0Ȧ9C[25i]Q@Of1,xcrem8f"goj ω.WSalufǕhϧ/7ՓRalsroadcastǬϦۑk"ϯmarkerخtibinn̫i>ׁ ϑϑϑϑϑϑϑϑϑi>TʚoȲregularPxiriO`O, Kevery 100m(00roupdX iP3usearspmaPkdurre Pelp9ucraɼiȅihcs.otRcW)ײ%gux=߆ܼ\Zrvh3βҳ407"left)2.7ypipeh35߷WenvisuнOFRewuna%@alw-fashXerɝ nL(ӈpnJ)ȸxa sXfyar0oi>gues's@/dgoc,w-//ic`gnoum`mh0Յampl[ҌX/hk X(xutom alytool)etq lȠlaphsepxpse0f`rdwh,#ဇrntoheroductionetworkuringff-peakimes.ecordsettsredaptedscessaryntilanomalyanee

    Day,eypicalusesomeindebuggAbylimina1,irperforЁ(searchxoxisW}sagptዊ.erebPit importachoose@thogonalub0^s ffevJblemoizjh2fZleftsiz+1"3mpHentsplwait@ure
    .тinapi`doptestbeds20],@rsitqmp85602 >1apcommerci8vendorg6094 >3ZooooooooomreiNJNJNJå!8otocoltweacket-!:odPC (`cHroller)TowsBg`jexPflexidynamicbXhaviIfoenadť pwitchآx-flevel[definidtailorر\specifapcKcsupAB11-tuXyadpagainhiinHɌSȱma!dclassXedXranfromay1 ( ),23 (MAC IP0dreO4 (TCఐUDPL2ule跲ssoȹXȲ豴[eaxjheld9zknown2tiz7׹׹׹׹׹׹Wextiscus{xwynchronm͢p nZn 3bh-prc@usVurstemï'$à8elfjc9dyVis(?=50716:zvНYyre; en8竆363 >4???3.1oftMody׽3׃-׽ׯ_׽׽׽TopposubstrЮʩ]fPguҨpworkxhybrcgyJ1ǖ.esex`sh!?;14238 >Fig!(a)cwt(. deployroxyrA쁷Epa(ewr)#ttylocXDataStX`dԶZFLOW-MODDataStore
    ttach(switchlongath.ultiples caneG8e\, .e.g.,oroad-balancing.herder p+ondifferentisystem isetainx h2helpsynchronizatimarkers.nyhrusupporbypenF usQ0packetx8ddiallyPp0x-samplX'Konlyc茠fraJ1z. dCi:߀ompons8cadԍ2%guestraffic,sellAandpntrol펠dby `paw1?llOfwir em`PYtcpdumpmappPJhtiml*'''''''''$:'ު'!QsiqαWSe鷛ɩIPQ⼫=Xedape,rȜ sizissҥ, #`my5payloads,heɽ head08veeh30"left3.2Ӷϖ˧h3%ǾǃϾǾǾǾAo assu`cisezb9us%binnmarki> YqscusinG.6!09uniquؾhploggGGQr"f(HsnsuhΙ{BARRIERl Rahroniz:Fig a>(asȩȬpreviousMe1i>towaϨswhosTeȊstardybackŠw$u1*hQױұ>m_waitgcѿJthat9bs(S.ӖlarlybO׍d9؜p8i97145 id="FN2X>09a.Ú ,  ؤEon@iradersy n8outoicYut-offft(apecifimoZi>traffi34333*m8nT#.uroptz쉡sible,.g.,gujmԽHhavurpas1th(holdW8cer)pbFigure 2: DataStoreynchronizationechanismn OFRewind hp> Avoidingeplay`accuraciesQ:oliably)roduce@ilPsurYaHrollednviment,nexs1that(e7is perxiniti@zed.euggeref,osYlow@empeatiand,efer),Xset (wheneverossi)jswitchЁ_rtahb€irt܅.h8reQAynyseenpter`en9romvious8bad.FLOW-MODfalnegvHb>U ؤɖHutlinaboPzbtaken9h@inda[ likИ gg0Px,utpvp`InosX!Oowhh?samo謁e.uiWTftvocXfup(aris𮸴Rym@8a0om1thOh2NR0"lefts="+1"4S+)h2Ϲʸй߹߄/߹߹߹ގp¿ddem(()08OFRewЖ iloizԶblackoxrolQ0Csw"on40umm9Pile=0002146966 >Ta)1.heحﰩlso'$benefitHing `n(4.2mȁpfpi1hard:3((oaelopm5@xfi>(@쾥multipsXcx6)ߘ3ϗ>4.1xim0Setupח3UǯǛǯǯǯƶϾ0ЗqaVh׽ree pdors:Vb, TBVCa.ō HwoC@onnгh8it.7258 >Fig39llڂ)ivitAȎ^Ų:a -cne@o)OfñHi>DataStoraunn1ԁo`atthړ%hessa#ry.eseOX31],nlesspecifiedtherwise,s highevelontrollererforming*actualoutdxsions.tnclude{4odulhwhich ɂhortestathbyarn؃atACddrndspanreepr ntsroadcast2inJnetworkusLinkayxDiscoveryrotocol (LLDP)odifyfresoop.llpenFlowpplicʆpviz., Visor,yOfreplaycordrun sam(er. Figux3:8bnvironm0 OOOoOkh3ϒleftace="pifi>4.2witxCPUnflڍXlh3wWw,4ߕ߄5263L4wsurttempt@pr`詓oscil@xdSec1talie6no)xretb`eeí yafficxlizڱʡn43bRweȱM /exiگWWhe.@(a)origplTUancPu4WHn,p @yisspondXsimilar؍xxietupl6kdataV1 ݆`n osthsecode>ICMPTB2: V"ÿi k8r0>1Ȃω1="4f gea(="Hif>FRewthuPhؿAuse98zI@_o`alapbox@nwouldw(icul(oebuxEugӢaPgؿto_devic𦐁Pjh (mis)ro(½hƷd-cha``arguXpcnon-swell__[Oh3ϙleftWWQ4.3VFordNh3W_W___s$erif">Tonvestigateheerformancefevicesromewendor, VZ,eecordJsubstrandu0 ffic hsetflows,pnding 10codelayed pFigure Pa>).׉rnsC/portapieat8Ofrepaack:i>c7!m8ver 8J42Plong.

    .ԕgetall"ARPPsoluphasepehnst!xeiv by10,utotOn%9tablentryrЗȔq/4durIishowٕ9439 >T2Hlar#u)orialunbclud$FLOODacZeqproly liKלעOCfulrevea4ha A (onꩁfir24s)bBany hla)-satly.ffPxl1ricQh0aroup8owerTh`Ht (rmǯɑsuc0sdebug??G//////addiyն2[h2Ƞ t9i<ϫ.ɉIcettimequnih׵ԸAsist0!ة4p!z)Aesic@<OFRewfurQ)i  troll;8&cerp4.4idЭTransѸh3׍g皗s tudP ȩ!OfYitrlmordosueye/rAfocusy(publicavail[36I]>W(FV)appurepenwct8xyptwmultipX֫(gus),Cha[oPayvڵk nse`47258 m3q)к`P,ov`llFigure 5
    @n@yXcneveloperystem,unning Of,1anupstream{sleostorbuggx.(ussumesR0.

    TDeatedutomRt|mexI,kow;shsblem:thriggerbyCannounca0nHo0rangporumbers (e.g., 1, 3, 5)89`Pnsl FLOOD2y.5OXPACKETINParrror9h3n8e gd@rԅ[93772 >31a]ߦPmAlihF)shARPyckeLpeci9˯'pySmleegMvЧtcpdumpŮoJbetwѾ0i5+Ͼz!H念0insta畉gradual 1outpu9asbٺed@OpenFlsag obpH÷HsralE~deemݽnMACddr00:26:55:da:3a:40H̰Ộbewsacy(x3aihapȊjXr@qui@char@(:ASCIItfakeWk0мkinPprp/p ,ea"ٻepH. i>Of+Figu`6:uaggaIPvlJ#235ЁƻwǶ߻6aultyҤAd@tise s///////">Ie(t:norroushعxAamhxOFRewn!phoHgeneral, nt-dri@~$sڼ d bmma.suɾdmis-Pfd fp. BcXdes0dždžadvagp=nq\p(nt8ws ocuX(\BugzillaR)teľsQ1mpȭ3XJ[<$ailepos=0002194589 >34]oftwareoutingaemon.nheetworkopologyiveny <ς5755Figux6,operatoroticesathortlyfterpgrad1QuagganGAXB,UCubsequenQlosconnectivityΆ<1.sf0trollaneessagЈyaoodxamplefw-volumeuesttraffic,ya ecordedi>Ofalways-orHlnaely0aonaryasdurAces.nablf0reHyncarkersJfggggsnqlobalxdeisserved.

    T`o8rvۑitیh1hƈint e,ey#>Րrandeparfrom’nalysБ sumi(reveall houghIPv1dvesemДt A,`73lea(Bd.ost-bas0debugg1Hd8ouyinjunxwithy:qtriggcpexectate.ho`a( -K8Ki noxdut1(0.99.9) @s0'sȚbclassful(CIDRP-sinher`Kbl1sh3>B0"left>4.7iscus.ףͯ  1cap2{IpopulZ}(dataoHXselở(;ѣps)Ll@"`box)duenviron_="8>cHerpa imgaex0391Im"/n'476blockquoײXb3:o 마evaluRf//////>Xfurrhantih,(G)0nch.œ@refHexi!װb8pкt4mat,Шately8fdesir:_)Zge 񞐖ܵu㶘emȼ6_oft0e nda8mne`etadevi0.ϸeceiv#JޣÉ!oJiR!Qiff solsfairnner77O77CisЋɦidiIXoZ B8pӬܛ3!Px0ryef8*ƭinstru턊ᐙqخ|whix**icŵspiٙQ(lu small ( ֯ne@st8lvmKinvHlinksy؛a ttayizw҄etuW>@ahost-b"ȆpP(1ploy(*h)re1aiies8e.g.,29Q]3[`J5`geR m迈(2a)nfigAboenZspZfpmi\2Qmid-rardC(2b)Hap)ohysicwiManupAsh 2err"c$ingapnducesowntimendsonsideredveniskier. (3)dditionally,heonitornodmayaveoeyncXhmicrosedlkeepBflowslobr,equidedicatexpe0(hardware.ith OFRew,neXonaew0mmo`yCscts DataSes

    5valuh2'"p6p4"justify5Whdeployь hlAproxbenvironmH,eepatqitscalabilPhverheaxoHI(switches.h(quafi0YgeneimpfאOfb҅(tworktyzrcchcfmater2 X瑼8er1p򑷁À=imgexH0392IImage"/lϑblockquoteFe 7: #ӎm@an_8roughpuforiff`trollersbench胷o

    5.1Cerma(3tAy!ptllʕWgc!p.t(fa`enrAtoottlck1Qoyin jU14A]³pЅ珓e@hibiywellnrs,@Xn 6076Table 3Q.-s`lУ)NOX sth-al' wh)yvisoro2xyqo@4"uwice:subsx(5)QOF)ϺKgue`-dadؽally]messnsl"Xout@tisyncarkNAthno!uinvolvktexiǯǼTxw\(a 98pr (IleL5420, 2.5Hz, 8Pre 16BAM, 4xSeagSASDDxRAID 0 tup).׼imu e,$Ce81-Eɠ،:ur t{seback-to-APACKET-IN5measmaxmhlh`or:urodleachשз5Q@ovCfir@Yl)4xsulwarmupJcool-d/'_G[3733 q ʆsGs񰱦_Nox-pyʫis5,629*s/@H,n؂ϏP42,23(Ӫ 78,908G/`C ly hoosrήSLliRQsnexor(1׉׬0thr935,595ɰ/Ӊoi380on‹/,1,74*. 0Хྠhtari껦C_!iducKI/Ohea)obdo 28,73kX42 ޒyor}enpԱ໐v,Hshimilarף0 $2  64witches.

    Weoncludehat Ofrecord,hileutperformedy9of-simpleAnItrollane |ance,snlikelyoreateottleneck aypicalpenFlowetwork:chften`s)Visorstinduestomalersunningorхxolicionp0OX.o(all?8excepjnox-py{J<8 erqmagnit!bettXXheximumirsupportCcurreprotoehardwa8*m0ations (.I1,000s/s){h3.20"left>5.2ӕАurRbh3׃Wh` si@+mod,홈ndȎ8xsHnϗoimessagdu@osyncrk.ddiPy, FLOW-MODTo(vig;deployshavioreAsetupth p 8-erv8ȩachir`ifrom VendA9B. mu(ZsqginsizPUDP ketDdYnrtumb!Xregula@im`0EЂxupRQnew3xry;couا}`2`eivĭasXI60ds,Q{MdFig8p5.3 calabilityh3UNextaPyz/No:|Ù uh wrIndee(:g*Qlanraffic (XT89byYмHcFS)bistribu0xs (r'sXry,8bje𵃣vaiTqx8de3oMpn.exez)Z@ijOo 0!vol@s{҃bXsuؐu?z= Σg b'c??A772G="8cerapRa0 ofrecord, U-data
    ,nd#-simplesXchesrom VendorA

    Theainverheahhensing9O<isausbyЈ@syncrk:thatreloodtoallĉStoreS@)sameime.hus,irumberimitsKcalabilityystem.Flow-wtIminimum`zhErne@rȂхdd sta^( = 64B)`neww.c lybsoluteGforachi΋<: Θhi5.4nd-to-8eliATxngyfh3Wewvegți0ps)b>OFRew 2comb̮y @= 9:pi`leDP 8kesounim obtٚZst-ca0boundvar3w.ƩrunfiYq<{nu@¶enable+1pc`naly@dropccuȆ Ta h-Hetneca]+4VȱB鷐alepos=0002174015 >T 4umȷultsPsRo0s/sh8ڎ醱Durno୐ngsxzor@ѵ exainter-sͤ,`wardspom 5F_________[TWŏwrurrvi҅xp38P374 >Figuh9Ȝriencs䳕pifferiphHfri1.o"(whqxcera8plii9fafCmedian,`mHloop@H 1.ȱ8 shoyrІj___8cxerypa img9exX0395YImage"/nw|߳blockquȡ :DZeass{܏s81t׺''???7W???6??O???_":ž5-axploH 稟gggh3'left>5.5ӼFynh3wGǫnaiscust8hXetitpoZlHsabilityqsicMdes`whe$ncalingeyondurrentlyvailableroductionetworksrestbeds.siththerpenFlow-basedystems, erformancef OFRewindsimitbysch悀rsizeXwhenpdatIquery!W.ׄ(bserves0o@Jmostommeottlenec infetupsday.ontrollpdomaH9ability76capacو9kaarrieȉnchannel,~CPU{Z.pecific_Z{Mplanmponsequirufi/O`recorLelecmessag-ot9pmtypievelopmxт҇tra, DStoreח sЅmu膗qdaggregataroughputAloadcЗ䘘ov8res"xBgranular`Pcxful ividu surpasې͝aangx̊2creؠ`markerܐ`uqncnizJӇheadear8umb(' =&ThuҍZ Xa0smaląw dmayWl.ƋAfurWmautupextendXa9distribu碼i0a@antitȦevalulef譨TstudwoXock-ppatakopʘemultipHinstٰ#(seeӠ2.6)_[؃_\runn rox"oTamrade-offstweac acxppell.<ight="0em"> \6el@d׽X>h2GGDp4//"jifyEOur buildweal@r,@Jumiz鮿debuggba shpr9pautPEdiagnosiпvaseP`ge-ymsߎߎߊŏ"Re/lq:parrom3lкtoxtcpdump[5],ffXȟUXhи(8s𽈥:hx-voluX'$byopt ,[12i99968a]⑿aba ҷރ90274925527185x5orQF8321246. selOpenSafe˜on608h3rv؈QFlxZlexiP>8tHrvml3ngds.om(ary=TM`59a3b]s\-b(t@icArixGmain.MhuRou)33]a0Ȋ5ʥ#)ly=d)help ͱcoul(Panon-loyPDHSesxOFRewindy{ooo׽oooN $replayebugging
    : Tcpdumpndtcpre-[6]rehelosestiblsourorkatargetet.nact, OFRewindIЃ)sXoolsnternallyorata necordr,ugnificantaddircope,8alabilitqcoherence:tsromntrolleomainsteadfs8le~8selecttrafncӆload-bxzmultip8DStoresRomAempor*Xsin~ce1o?n.

    Rzaseno primitivqACom@mary͓EېUXexps wealthpproac(senabτT`risymsend-s7287 >89 >172193449 >30.CR5)9Q, xhasizctqWe˜T vidude8minؕ$cap#i-cx=BypHannote)drblacox¢on(sAutPmagno@Apploy1SbȒfoca.ӥ@lo,Es'passonii/40162o闎infcaustyccmessagW70G5663Ӳ+ɝ0ɫi@ualltihHpur0JsupiLoPerv،ٽSomagrHin*,iX e`e.g.y%TIDqrelrequhOg4823`5b 薠markmembP(seeckethrougho_80711W=m6renviron.ad3ɾ{,tSsubwinphanghYӴ/////////.Tl-sManex(iey;ssp(d:ҙG!9horf7N1162ghdownmapɨXm8Htx`beds,b@0tidiRDŽ4513{[sk/OmuenaccubehaviorѢ(a@idꑷ?AWWWSh2 l0o"leftU="+1"7umyIVh2_Z`ooooonpar(avoXop^-l8eomlfe8orۣZcapSieP(p +sp,3Rе߽ݸp-ⲙfyټEev mo BpY`ؾsho0`viH1 n`lҒגҥrtlogy (chos), 9ȦAse阩@fficbY͂,nĵJpparticrun.լI0stude軀@hpoti߇nonxrodubropmncouYdoyZbXoozgݺariCerr AcvaluLqframe*JwrQdI8faultWh$eight="0em">
    SomehallengesssociatedPthetworkeplayre hllndernvegation,xcluding improvHtimaccuracy,ulti-instancynchroniz:,nd)online. OFRewindanrevelowritsite enoughoranyshases.owev1furthY{menwouldenapplicability.Ɓmore,mo"plXi>Ofrecч̀8[s)desirablbutrivialmquihhardwuppor`>e-0mp[29a].<Г0_______I sixtensofhA,|1combГom>ode.Ҍ messaRXdctlyupre.g.,aXfferet֒substYs(T9Xows/troushootqfailu0x0f`Mirr(VNet*_]6249 >40____>Ourx`tepvolgain雝exp0e!jəxg.e oPctSxtQdXؚqthaap utom*regؔBtPsȟebhmark!new΅yonuwp)WSX3pjrohel oOpenFIdoyoj`s'$7525 id="FN4H>4߀߀ڻi0cCMOSP, 2003gϸϸϴ1$em">[8].ltekarnd.toica.dr:utput-deterministiceplayoruloreebugging.n ProcCMOSP, 2009. ggggpsCommCM52(6)gG[18].esnoyx Sheypon:ȹXolumereamchiv@!Rpospecueryؽ79]ReisEnزQReal-Ti ḟQHH$q2t)&cienpɓanm?OOOOOOOOOOOOOOJ20]ǟ:lob(EnvironInnov773geni.">߀L1]MHonzalez,.axsonkN.eav9Shuxng:ȣ/SoftҚt u8FlexiblP-hncentrusxrevio. 14thCSϽ׽׽׽׽׽׽׽׽׽׽׽׽׽ג2{upta,.ishw`thhVahdatiecast:e8dystemsxancaseP׵NSDI~8zd$рiv> [23]upta,.t.onfinityndeyond:imarpedetworkmulation.n Proc.CMOSP, 2005.Proc`EEENFOCOM, 2010. [38].eynolds,..ienerrC. gul,..guilera,nd.ahdatap5:lack-boxermanceebugg i e-areayhms߉WWW069]TootoonchianGhobadiYanj.penTM:matrix卨X)FlowetworkrPA///////////////+40Wundsam,MehmoodbFeld88Oaennel.·khoublesh1withirrV(Globecomuture-III hopDecemberϜW41].ْ9Dltz,..ʼn0g,GoenxZhanZ a@Tesact: 4DCrollane/)USENIXSDI7'''''ҥ40&left'pos=0002136996 id="FN001sup>1h12ϼ+cersiz+1"WRbmORDER:bject RDEmini(c҉К)Java@h1'wGZhegooooooo??ggϽgci>FudanniversitywwwwwW//ooojMoァϼ߼oooϸϸϮGG'ߙϓ'LvcaiuGGGGGGםWWגגחǣgohHaibohenO7O77OOOO?wwBinyuڥDZǿǿǯǥǥǯwAbstract Determiniceplayystems,hichcordnd non-dׁeventsuringrogramxecution,aveanypplicasuasugiagnosiintrusȃalyfaultolerance.t wellnderstoodow(nX(e.g.,)s mi-cessorleherelittworkoroncurrpavawqState-of-h-art/Jei)sumeata-eree, reli sPin0ny[leadsmissQsomeearϏ.VpOOOOL1OOOTh pappos(RDERame"“eXduPidevirtual@chinJVM).asedqobxvmfqlocHttject8velzthrrequɁ4moveoarbage ll8‡++s/cYbyggenc񉹜in>(s''$(y)[4I, 4153 >85472 >12߂7349׃9606 >25߄π8956ׅ2280849],9ifatolY270cpalys Gf14a1offy vywr g8340",t Yc! erlش뀒aexpмon[a nɁ@xecussam [ 4aPk.átiz?ystemsiip(e.g.,ý ++s)sy-ross0iٿto specifsharDXdiffe 8nularitɞMd35c򸑞ߜ0317ן862-pa??'6701ߺhl o׏G@beentudiYhve !rel¹urstood*hanswdupȏAefibŶtavךni@ab}ay.nlikedeJusueedBcooxatetXcPJVM)2utomcarbYcolle 皯e.Ӵ)ru(HfeatupA(wdIdes蟲iămpleɉOOKoډ۽Ͻ4" $width="1em"lign="justify">Manytate-of-the-arteterminicepla0ystemsoravapplications(cord Loglhreadchedule28, 74504 >91176 >30],hichssumeshat'!areunningnni-process tms.u9rgys`suitableAconcurreȈomultxJaRec߇5778 >13 son-mnockcquisiq,utannotroduceghexecuusedyata.EAP?F640a5csin@nycodeoinleavaces,Pus酗getcex0nPQ,sibrariHclxsynamlyadIuritimFur rmorZdoXAding h`ffeanfeame,ndplsependencbetween7bject'&ȉdIlargeer9verh)whrxm(iveH tid.

    bhp p nvؤ@cҙy-ba9addrPckroas35864722703578943.owe@9eXtechniqu,HbfreГٔyarbacollxor.cBourvaluKpith񛉉-lineNJNJ,@JVMll 7Эnearؚ״SPECjvm20 SpecJBB5 yS0grahoo ityISng(ftjs{BZYob(vab`Q`pa 0@ORDERi>OchRDE7cҿ21opIg@?4nux@-iavoidq׎ש׵from,hda4Alowbabi;f~\imB. in-me0Hinšers.½@Ǵ!compilpipe,aturZc1!gaca0Bǹƺ!1We@lkApanyJ+bWM2oncur?15Cs:1.4X3.2Xs (n. ڋCqsu fu(SH8al-worlcugϾϾϾϾϾϾϾϾϾI1mm)ribufϣ`nclu:h$ဇt="0">

    Twobservations (i.e.,C-introducedependenciesndjectccessocality)orhterministilyeplayingavapplЃbasontudyf3runtimeehavior.s-ceic ,hicheveragXtH\granular8ocordon-ydatÂ@ntssdynaminstrum`implebevalu{ORDER@eal-worldVM Pt0mmdemtratezeffi8ncyffHiHIe/:peigh4"idth="1em" gn="juPfyfontace="if"Xisaper Horganizas`llow.nextaonHeHllresurwithnsul(q~promJmievs"S 3 describmainde؇ДYɒ□roach. 76ailIXtotypelaIK`@E4.5how蛩` ance,abi,@gbugɟiinق6ummzre0kB7onclubʏZarieHviewossiblutu09p>< 2RTBT2.1Ŕ@tupWloads3mwwwww xhlle縨Lminɴ4uad-*XePors (1.6GHz)32Bhysљܰ3Linuxernel sx2.6.26⽑տA Harym12.ג 21xrʳlfroSPECjvm2008bb5HJRubySׁվaTl-purnchhkiPhHfnumbeҼJthdЅWnomi +Bsunf@RbeہHf [zbyѹW 0t/_+)er-side׊Ԝsiȧxnerket雓tFD 3-tisfocམ!uss`og(ipɿ"*Hl{ProgramgXuBr0!HIprixtHwritteȴGGϷϷϼ=ϷϷϼEXnfigur8!0Ȭ"ensHYfixw.ҡJ򺤠Ӯ9moststI(.0㢠 -z*P(i.e.__reeⳠۛ7 so0pecifDyed/16M.8LQɞ@ؘ por#amdzdzó2Ľ=y-ba Rʳww׳wwww׹aa>MaXdOKchniquhor8ataicɢPadd@Xy߁߁wh@two`struc $theameddress6],acline_^7035 >17doragO5472H2, 670. Dependencies(onflictshstraintsoggg_78943 >23Qa*->bin 8sHystemsdicateat 1)uctionand'bothccmemoryoh; 2) leastofmsrite;3)Whapsefore.oakexecudeterministic,replayun udonot4ntil7ha#ed.

    Fig 1:al-worldQcurryuporHJRuby`mmunity (-1382).pprash stmx 3ɋݐtwas 1*0ߌ1ߌ="4F GEAace="serifף12596 ֤ howiu.ɛiample,4m ImethoئQ8hxdXck"r2requirpid(co ctg (1o 2)3)`f؁omparisode (PreturpxobӁhspongUfrom,8ichsup@pXby4.owever,jtlobalable @rymodifiגבֈ<3b8yS2PePexpXIprogram.ӆ@tds/:(oXjɣH۪zXaxtwoata{, 1,3C,3. Ny-baٯPorP@E*AiFallG.ƻV@NsMly, (2->H۬0gy@1By(3-> 硧T`numbMP4irel9ranulchy߶ٶŽ?;_রsOɔ`adds,'Ћgiv GS؜cȎP3wwÄd cauX.Matnv fHP S6K.ikewis _p(-ll߮kl% _oQ@oug蔵" ЮctnFtegperformanc`h wi((@roducft"ioomh(Cdiskps8x);(falshxng)___Id)ߞ,ugNetۧ786222Q]"PinPig8`7clovalufPruc#ahjh-/fr͸'@g:(z_occuJ޾tXAlir:Q0roHZߪ#Glso|qJav@untipbeilXHlow'''#h3ְڱ<0?"left''>2.3bv1:OGC

    Figu2how  gentwo!ely-darbacollorthoȁώan itself.nPHanyw؞popu= al,/*!bout 8 ǔorigiٗGD17.nxceeds 167ח74O`n sci.sor.*,ml.v`, fft.smallkSPECjbb2005.esul0M-Sweep simi1GlAichpdatua osikams9aRBmini@ct5JVM.ϰxўQtot`izؘwOlgthm`TQ[gareplayystemnᠨطinflueHow '~mcym:w xprogramoooomh3"0"leftoo>2.4xv[2:lengb|Ac esmeP tegy.Ɏ̽xourؓ0, ӗ؈PreadZy_bsa8n،gs1Table aϐn 7%xˤ8remlowYxifȾns(8,uspa, (te_carlo)Cim訥WPaa߅ݡ rڰbetxcHxicAon="8NcXerɍwsFiguH0D׾׾Ӱws atddpiavH?s nsnumbp(ǿǿĂo m8veN؏(alcHaCREW9toXSMP-Revirtۚ75472 >12](_ש
    3.1hybjectentric?Table 1:҈Qileavstlevel:heecond thirdcolumnhownumberonotalaccesse8ccordly.ԃforth wsper_^mo#7wr4Z|In-oridroPmgangusike,@usuallysarou茳s. 󙧂(nsider y[!ism`sHr advaZs ORDER:GElidfC`penc:urrspvabovdmassiextra?!willeaisbyIif HckIusaddrow),uch0uHPeĒ(whe(W{mmYaonoth`etsqt@WW_Reducsynchroniz W#at,Iulrctughvoiopi@IQt_nd ɊnQ܆utPQxnhreadϙl`w@"Ȭُ:etainm6O?Im(v`tyFuore,;suppx⧸ithXic"сyyou2WumanJVM.yXdqherhI9#gooo!Wh3leftQ3.2ҘDAɾgh3ggggogggaHa>Asiscuineviouork۵gc72887 >4),W4153 >8G5472 >12?734979606 >25ߺ/8956׻'2280849],(ug(ntroðnon-߹ٸn0multi-KϿcauܽcurrҢܧi.e.z Сjdiff3Zam.0/-Lusugp 8ڶThu0ipp้Pj`sourcfojm''''''">I00ftpaiORDERؽhCül im8nee/repȢch@тx{2403Figu:Z5how銹茆6beȵ̌imaHma s:e@urI@uߴߴߵ8~cerp7+Figure 4:heecording/replayPchemenRDER.achuple presentsimelin,hiindicateshat(ebject遰ccessedyread fors.

    3.2.1etadataxIh4pv4wwwWextenHherfqJѤso@Z񀫥 :.xpHe,iswoݫ[: (1)ow; (2)man3iWiPJYOeyƃs@pX߄'''willurSsubeȘ@ngleav)ne߫ߥ߸O߯-levelckWheMcqwehT)//.houl XynchronizuP?wkIpr`who]inclu,rrelȽ/Ȕaer=/aUgranularity,u0pHnnee;gstI 0p8ag3mXucCstgXBooR8-W轐lag[Tπʾ4xheyg[p-!)wy3bi׵I i6filAPlogزh4>B0"left3.2.2-R.ԯsQFh4O_____^lp modprespo'l9drminicmsyxm1saiy1ǵhruQa9dcompil pipùJVM.׫0ls⾨arbhllRfinal2⺽s//////t9Figu5 hrsʿ+G2Tsybouhoaby,1aTxidi8rQgCTID)qi3inuoup == (.a)updڶAC = (+ 1`bzOOJR!WRb5.cpuǷ #se1רӦ_,i=o`h۽rwf zperationountered.

    Replayodb>: FigX 6 == (???:.a, 6.b),updrT(C C -1)~ervOoccu= 0Nonex/77~no ׈!ҒrbexilǕCc䃕\no(ngviolߚ܅wokupcinuSexecuB??d`Lik8aimilarutwholΟʞ=%ٛ>١c????8crYpJ0[7]єrigׂalgth9ܸH .si8EajXsP@ٓW: NoEJ@a0(//O9s)٨3ec%ts,hichootscapeutsidehisethod. ArgEepresentsHbjecbatrexposedorunctionbutyJvisibloifferreadsGlobalant݃shdmongHoweverecause(es:containad/writenforma,{riginala`yscanYntifssigned-onc6.nRDERpply2followimoHicoalgthmыGGquied:

    ftp.]uWQّc, o\'#a-proux pfx)+Ǔgso8Kpcwitch.£d?oxttawR#fa markhǢLJhir甞ׅ5OOZǦǦǓaS()'"way.irst:CHns8Wk"":cerZaly- ȑבלouЕkOK=Se)[!rǻrg伉'=ق2Enl?deĴ(kutsؿܮPth?p(ߚ'Fig6:eplȿORDER8ǽ14^ _]fofH="serif">TvoidlimPtcessarimnAd0ourfalgo`hmPervve pfixlyѫbؾXexpex_au`Ϝo_h4ϒleft__H>3.2.4ogomAsP0h4OOOOOOMawkri0ac֮Alhugh󻯮Ρy%@omenOOM˙(an)-rxduXoËYcia.ԖgssuhoXnothlpїxteiczt(spThuඈapp9fil06 s?ɸЂgbzU9Z#(uxo :)/Jذccu;WWWVr۸LbeginnP.e_havev`ޕR artid.צ1Ѷ#l iwŌccos shorx(*s 0idlea1it)eؑ૽cC.Ìt {sYgdPo%pplyhisilternlineneuture.

    3.3σron-dehminismaJVMSomeourcesfgbareommonorothavandativde,hile*dditionalintrodu__suchsarbagllec),xapdmpilclasshz.ɎtowingeescribeaHhowRDERHlit4.1ËϐϋNCWQ4WWWWWLockcquis:heworeadspet؛saHl,Jordf8a0mportaOB.hus,Ёnesary toec@/repla onleasprogramganguvi8rbasicynchrondioms:zedethoəstatement8@@ens`dya arrespondticalk]J:nptXaci bj.esa,{lsoexplicatomxoperꝡackQj.util.concunt.ikewisRheх˒⅃s____SalSimHr)C/C++s:Hcauǰ!ehaviH(jy2usujwr(wait, PerruptWPȝxevgѸirpreem mrpnalu`bupequeustptrigg time.+dhls8nit1nK$(Xus sun.misc.H3+yYough/neioffsupYcyounJn-of--artVirtͳineBracps1l@/c۬0ڜkꡫ*as bc鿇BlibrariɞЪPK PcpuDiffeJiyenH4f.ѻ72logPнP`cȱע׈ϻϢǻϻϻϻόryvo$oGcǗIanoR#_.ultihGD, )HĞcro scauheap0yoзmemoawh%ichhenausesifferentollectorehavior.sesultfbj0-criccordingdatacces,RDERo8noteedoependenci8ipoducbyC.owever,h`n@ctJavpplicationsroughalerfa.ԃsuHnon-deminismlogtwePeadndۀ.inceostvoare ggx2JVM,houl(eԉȉnerecha.eillscus9etailac! 4.

    24]__[OOOOOOOHClaInitizOרQy olvhSy,fieljXږXmonjb,JH¤huXDfir2K;*`ϨϨϨ. ωi(@iiensu8asam&㲀er߅߅ߤxpl(runOh3VJleft3.4ĩYiNh3WWWWWWWoYgfourledgehWIsystemݶDztimhjXGC,WetXMoreQ,nlik1RecbLEAPaRcRGlockquispdhele8outs(library,uHoevQс.lug*/,cuadd` hQ6nessaPXAs]soXbug؋Q bluHo(or '!mIa,@DzףunexpeddmP?<τncobetwe#ȁﳱ[ne.〧long-8nyC酾itselfPfIuggqstruc5eЙ8dϵϵˡ׵ߵߵߵߵߵߵTraloyPTXa alѴ3slesжobjɛdot8Еpfur p6Eith589433urr𓁴separatnf(HfromPad-zdepencieevalu㾈ulx5howracJmQma9 wX;isk*|nN> ,PllabȥhП omplexɠA}iThu('28 N-b؜y5alg@thmSMP-Revirt5472 >122s="+1"4Im9h2oWea@㼈aYtotypXfċApacxHarmony2028|0new Mn%hasesntoarmonyompilationipeline supporteterministiceplay.esides,hefaultarbagellectorfF(GenerBalCithconfigueachbjHpace)sodifiedrecorditimۃt.elsoyoot[31]annotatxhread-loc؅assigned-onc+accesethods.u0Datt؅JavaytPd@ewribute,hi@caneimplyiscard0if targetVMoORDER.hupi aff Iabilityorigapplic causreemptiveandlerrurrent(!yemYn8xԐがOkosponding0n-m.nzfows08w0ussow yOHdopyxJnhB.

    4.1͖Œ3CМps s mank7\neydž8tainAsa+ fp@lysXmizT؃`truro4أ yê J߁swo_sepa <ƞada enabled(moȌ]%nenȥ)frequ3invokaФ,( aggsw he٥on(Хerq蝈Ǧbug"oduci -totyp23]"u@sei4.2үYGCyϩ">AlugharbKlI,hsour۶[$нr #ehaviiϽo1v ,t]irysXtwe@wvth8:ollialu1f bjat i-E|ld!fed`z㚔nap HoGlgorm5kXupecific, XGon.ƆӤ5extr>from*dhirىҽvωeAS'&P[鸈runl/"2">qeak/soft/nthrefex`espeveral xXth yongI Ɇvâacе)meHyh. +GC,ᶱd@مwϓկtuJ@ponr—=m@ng8byOikewise,򉯉?ZĮgameayKsEysetuneK?\ )Ps__˜[k򁇽g th:s_yofwv@͖/U3">ex itHTYRun- .freeMoaā!:8.iwIs%ultnifferentreeemoryizesuringxecution.ecausehis`thodasodehct,RDERnlyecordse`turnalueft. 4.3ooperatwithVM΀vede
    P(ynamic`strumPonouarantthatplaun‰samhbjcces`imeline #ed.lughehaviorJavax @determinicihelp*ϐ),R`nc lln-?8.Eevsjwk%_\applics,nd hor tHalaׁԅsld[erhdwtsoGincXencytweehemӄintroduceadlockppϙqϕϚzϕϚ72T␀naluspend-@Ƞcha0mHarmonyoHËWr.huisby;.n},h@enH,osetAheap,Chأ|뀭r̂naphǂ.ׄAWarbouHo enable-\worsens xRnce_Y/ǂjinvokcгtcerbsyms (e.g.leep)bs1 hPo lYxn0굉 aa syop(500mspYwWpKϒϒ̔܄WQߔibPasi{o H{T-x1򗯛ҟfurY{7h2ONleft5siz0+1"<5valu#Rlts5.1әRPhase3OGG lepos=2256468 >Fig!7pi(ggfc@ІQAbenchmarѝ16@.effطmunneary,PbeSaf+omizHbys1(-@`ڀqJ0awystalthoughosCapplhagg lJh 8o@hsoXg)ev%,B>ris0up82x)@extrePcqs.æ`zMwʍ8mubet[e%pos=0002256468 >Figure 7,fterptimization,heecordverheaHfRDERsess(an 8 esnllases,vencomprx.ncurs aage108%waredororiginalxecu1un.ctuy4s)ntroduc`100orostYbenchmarkwhicheanttay fficientlysBanypplics.fotpecined@Hultslow @llectHundGȌksystem.

    MoreYPvaluathreeRnfɇ{invegsourc:awpacHarmo@withoutda8vmpilj (wo_),$+ing:lineyexanU-swneooisk,.e. SstHnhmey")showaileaper蒠*(exceptJRuby)y܅abg8siyloszJVMNڡ a 5.eff0Оcwwinsx0).esidsXlarey"`3Gogr1.heywoϖˢNs8diyb104%zponly4falsom.ur٤Q7^awholx16_`=RrmLamaj7H@fromracVOOK??8cerYpJa8 img!ixH040alIm"/nǃשblockquoP'"8:О_|phvLEAP.jaDJ]?ڰ؄ gd4574f8aepic%[15]caȱtxc!tru+Proo:upporf ,RHn92]avadۨSPECjvm2008zbbx50OOٹurepl:߱@chanismi>scimarxmpegaudio{ s2XtPqvo.e0u8򸷱,, .te_carl .fft.@gee``)autOfMBErr6fihQ(r Resul8PjʨbˬȠpd່b⃴NULLPoHerE·BnOHЄ8 (vҒ+n-demᎊnlibraYnؓrun.ۅZzplpughԄH?icX(n̹till 1.4x3.2xsw"dnch1sB*gsy0roniz H(scalability)Zle8PbjQacps£li |6837~9zEϯ󾒻9numbຘ]vari116.Ͻqll톱well772577G7777w6777774Ͻ-ѺNjNjNjnjߋNj406g"8%"lign="center">

    Figure 9:erformancelowdownfecordhashenheumberthreadsariesrom 1o 16.Most[e8sav0imilar׆while__Xinc@.ith7ing,nly(PECjvm2008 (mpegaudio)sbviouwG.ԋdjectccesɐ-leavsegrad7 thisj.eanz,bv(thataaHll yssped-oisLshich jubyConAativenXǔ)analysis,Pqeyneurlnatimproɇ{isio"]8gorm.orompplicHuh荠comp rrpto.aes1xߘ߆Coverh؍(nDespi{ducX@tLORDERanomalsoffXfol8wo8as: 1)iscusahYi l.34],benchmarkmselvБ)notcalabqlikeWer;2)nstrumh֛ב$mplexitfmedis :troddialOoptzԝHarmony;3>mortizب5.2ӭEReplayЭA$h3Sly,ynamic('9hle "au&?Xz/0YBesi, zcensaximwɒߒ. Ǚ60341 10piQWm ěDZʊ/XDwfou8xceX(Xxml.vdԻ!al, ۨPseudojbbP5.Q@n3beava޵Qfrequ:eCuototypahŴnhɣbspe p e777777777703ogӥ蠷ߠǠ">Pa se-of--art@inicyst sur{gHp7ԟjleavPacɺHmulti-`ћarchct0,usualn7 PfigabytlogsțP(g/h)'%75472 >12!,_64085.lthoug;@kX@1todenC`tohthaXHˉnetworkfPapxconcc`upo̪spondmun0,ploaavg޽0obviousIoxttract8cer)p򻯁3Tz:owQaHxs mPcgener(f育n0ͶCm(yrH\(@SiGGE[12, 15(OnYwoQ(K-jb%b2005)
    enerateogileshatrerern 1igabytpHour.eoticemostfgedn-leavingsserial reltooXntionorl8lobaluffhinoriginapplica,hichsroducbyXpsr-(sumscenario.ͅPseudojb!caus+falsehngetweeniцtHc@eld‰Isam@lass occurstotypfRDERoHЂstuishccessoςbject.wever,uHasizeHllsmallthoreportpeviousiatur[12, 6408`a>].

    5.4on،`cyugeibi`yTbfirmJЄ'ty/HbugPixal-worldwtromp sx0@Isthc.ԝpcacpcB(hl[64854 >Tab3уIacoreeaj@egxСЇƞ@Lul.on7349h8sylayI3cordHHgyxecuۘȚ1full=hP.mo܌JRuby-2483 u9adnsafbrarydefailb{Pinstrn98roa얟="8(pa imgiindex00XImage"/n'76blockquoPXB2:̧M,Q16-̐6HgϠ/2 wn4509g_1176 >30As 1Dejavu],φφ b(dalob c (i.e.ihmp)1An

    There!lsoeveralroposedpXachtomvefficiencyrscalabilityfeterminic playingaticoderittenn/C++. PyneroupintwtccordQXhowreon-σdataesX:SoftwQorde>:niPystems5, 82152 >33]%xerruptoundar}inputayloads,hichn pfulq@iagnositruscowY,tate-of-h-artultiplePUsthhhdemory'ss.unddPon@mak`Mt<9diЌs_OOOOOOHSԚKu`nchronizЛrheaperpmanslowdowItroXyrXכ rans0Riߒ8943 >28770logizeHl2t%p-ba)Ab@ɖqsentϡϘ.t:WWWSЊQphPe@illeedRglob`cAnnoYB''դ߮/߮MP-Revi75547@12Cmo!!pagchaaתת ntBy(1agul@ȮQkpendh, hiw? h@Iurp120PBG@a y ˱ p,鳘_sgn HtlyH numberф inc4rd((mgrashх:frequ:fersZ0xhipCRIBE670y6definqm&ⰲvپXdisal^onlexpiAlthoughмxtabrelcamoAh0exdׅ/capitomviolharun?????????;PRESODR9895Ѝ2887 >4!iXin"offl񰃓騁occur9.Xona #ecuedZyS{w\-ibilSsXavipHhmМsXmGʟpdecid.@Alg/uyɤibl H0waassPgg:ӥoft ߼߼ܠsuyme,zOOж35111v70317o671h9g`80020_3391W626ؼR߽M8184H3Lɖ xyPXnѽojsy`c8eiiHly.anؚ!appptimizҽour(Z ^ylogzWiTnon-trivlexd٭llІmerc vail`obuiؿfeash20"left="+1"W7onclusʺ(Fuzwo%rk
    ThisaperresentedRDER,heirstbject-criceterminiceplayystemoroncurrhavapplicationsnulore.[pdirleav0datccessesЂgfbyrackingowachread׀ndn c8supaqs0urY.yynamlly@um codeىYcompil2ipeline, natur*cover non-Gmgyoaclalibraries.valuSpsthat`ieIgood mance2sabilityaangefenchmarks,hinotaboutD0LEAP,state-of--ar0uJroduciLstudxurryfuyQ@Xal-worlД%cyugs.fp____\1___^Whilehas0mӚaefficiAivenHkqgramY 0lll(XfptimizspwQbpurxe k.Ɵiml`unneaarepend8p t Zoffy!iXncaٍ hlșeiskPSĉpSpndeh@toby{wit8echniquʧߜadahvn24]ențkVMn`nUllheckpo mab%$logizextohomelS(ocu (y0epi׎Ǐ'ggh2n Ƕleft="+1"< ;Acknowledg sX@shepdeAdAaymoreviewersZ irѿ1 . ڝpfudChλzHӣeoP3r @Hnumb61003hb90818015ACfroxTao(iss)XSghaiunp8f10511500,BM10nnov;Facywar esear(ot`wea꘡%tweenMʦ(PEཋ KNMOE-INTEL-09-04,ƉɿPRM^íIUnrsit ݾ1Lh)AcPisPro9 (MN:114)___ RefH84blockquoϻOO[1]har`y. ߀߀ڼcpOSP,ag0193206, 2009GGGggWggggb5].¾hs,.-K.Xen,deong,.qs,.rray,.đ ika,nd.hau.rameworkornstruction-levelraganalysisfrogxecuys.n Proc.EE,s 154163, 2006. [6]وen,.u,ԀiR.׉XLreplay:endpHodasedeterminiPc@ichemeISCA87197107]p-Doi,.upt@PSerrano,֒xreedhar#S.idkiff.scapeؒijavaOOPSLߑɈ, 19998LjKee,Hoginov,O'Callaha(Sarkrianfficie p9seatcHBmultihreadobj-orPPLDIs 2582629oiHnivasDؒ applicaGFSIGMETRICSymposium (Pllidributools(SPDT)s 485K810wGarfinkel[P8cou`dynam@UronirtualnPonm(zUSENIXTC41]ǯ8unlap,qK`bCinApBasra{Re:abins1n(ough--machineog0ʲdbSwr112242WSXLucttFhIEv?Hcessh%߻VEE230经G[13]1GeorChr9aenRHsh9Deossre.a:ortecord/$?m-nSoftw htperA., 34(6):523547j/ggggggggggggg4]HowerHillIrun:loitepisod0yphtw"emory épOocISCA65276?[152HuaLiu C.heap:hOHsϼconcurr"ԼFS\2010ggggggggggggggc6]ϥaadINiennotc8NiehXranspHnБtϹغ/n(mmodity osysteSIGMETRICS5516o/////////////-7LePHSaidBNaraysamy,.ٔdP(iraffembopowwMICROs 56457598]ILPark,%ဇ.eo,nd.hou.earningromistakes:omprehensivetudynealorldncurrencyugharacter0ics.n Proc.SPLOS,ages 329339, 2008. [19].̈́esinos,.ezeJ.ollaPDelon:ecordAdexminallyplaysxed-memoryultipXessorxecutiefficientlyISCAs 2800?[20M.ickSh.˔@Caposoftw-@dIr扠p9Iߊیs 73849c1]Nxyanasamy,.ereiraBlder. dependixu0trataߝߝߓX24[6ߝߝߝߝߝߝߝߝߝߝߝߝߝߓ[2GokamBugnet:ãinuous25gramZǓ h0ghםG2842955ǧǧǧǧǧǧǧǧǧǧǧǧǧǝC3]ҜȈȓetz Optimc݇șpllel-CM/ONRqkshopPxribut(PADD)Os 111, 1993777777777777774]ˊg,!OnoKawachiyxKomatsupNakPniila:ovɓabilitfط-in-e9OPSL412527[25kzLLY.houБPgger:pobatom؈vio srom(ri3l536[26,.إZ.in,Kaushi@П@Lee0RES:by`thWket71_SOSP7719k7] P`lϺMXtcupLuecJownie@in:Xfe lroduciblealysisiGOǼR20108RRavi HarsJ(-Deok.ĺwdavapplic׻PDPe 219z|9Sg8BurrowsNelsoPxlvaAnX.ra8dyna䳈 pect0Q*-threadǼSIG`SystvI., 31(5):2737Z7______________Z30]֣PchuppaPaaurAi0PvmpeinRElsevplrNsheoHCPuSci113:8510451%ဇ].alle-Rai,.o,.agnon,.endre`Lam,nd.undaresan`oot -avaytecodeptimizationramework.n Proc.onfecxfheentreordvadtudies @Collaborve earch(CASCON),agh13, 1999. [32].u,BodikÀDill. fXhtataPcorderenablingull-systemultipessdeterminiHcPplayISCA22135, 20033Malyugi(JhheldGenkitachalyB.eissmaInRetr:ectqexecuzthirtual킠ineNJNJǖAnnWpshopMhhmarkiSiș+(MoBS, 7וווווווווווווו4].haHʡKeHhaLLi(Slsw:lҙ@t "applicemerhg#-Xe t0msOOPSL361376ooooo h12Ccersiz+1"ojbEmSrity@louɨPge ssªofxh1wqwwϧoonRalucaXaopa_______WWWSi>M.I.TJacobLo,aviolnarelena iHu''icrosoftӼh2W//WiAbsAtwh2߷T4϶SevercZs\ks`oday,utoth`8pguara8 irrvi8LHlgre@nts ().hisackɂ^supportaseajhurdle )dopj$s,speci0yzprisx)ca9usu(Toixue,0rHx߹a󉘉߉ fdesedr_,㸨oAnXt྘yi>ioKf(tegy@e-a zabilfhnesyalso)eҊyocren3sesPrdrtyHof-basc8 eggPXhereclipaarl2OyaPap willeceivertaompens misbehor.urHrmP,is(eٔI lareHlegamuchorkipossib?{ ucryptographicxol[llowKҎʆOu`vCpdtthatHmechanisȉreasoٖost:HatPy rheadɖ~15%dcꝘ@uthroughpb8hx10%🸕achi轐 AZactrolithmbhipHn(1 (add0moȧ |'P)lhetarppw1[n 5000o@ak)aewon(8nth.Nߴ׿leftg>1PXY7ϾϳϳϳϽOȳXin%%%gmportantataithloudtoragerovidersomesserious@curityisks.hecaneaknfntial*,odifyhoreturnnsistto pferuȃ:isayappenueAbugs,rasheHopera0rrorrisguiX.urPrmorealic߆breacbeuchretect8magingaccones:xternPadvariQ8etxH&JemployePof`vicOʍ`mit (ixYattacks(oncHsv!eve-9KrpanЍumfromsdespi8itspnefI[16].

    a@not (ely(ademic.nune 2008,mazonHarreceivpub0sQppopularӚleӚTSL(S3)dhcorrup44failure;song"t8rs'`_]79728X1[χdlh4:rm,xd aulXloalaiGbytxin3sply,nI.`8aڗ£FvioȂəWoc@rwhxGoo Doc؜JesstrolQallowinsocXnXunauthoriz5160 >28ELinkUp (MediaMax)rw)ouf@f845%9clibeca8admin`7rWWWWWWWWWSN8o'g`\sہS3,|hBigTabl8HP,icrosoft8AzrNirvanixõNASڑsLguarЩYkilLlgree(SLAs)p,ЅLA643z35213onv8abilP:ȀyPllYH 99.9%Kreimbuactu`(my.gmovptowPȱ\,wilPepfł9/i,mseltpa QȷQRЮPᘟyst Jmakt0ssip/tXhiurnengfuŐϴϴϴϴϴϴϴϴϴοesettSkཀྵ b, 483 >4oi4110g2574؀],rИPXroupu`Zmomach)couldtO *{oscmompontș"bimarmiiĺ"@с 9тv㯐طh;yveoyrequi2hp{SSPق laramoɵ{Wdfur"r[geonfty,Pteg0e-ɹzhreadesh( dy,,,ƴpI(Hhu,Hфala>canq8Ifiunauthoriz0parJ"siп(upya@ၷu౐QXڔ!la󪟪K,Hildi1evalu!C-Proof=ap!ispecЛؾS .ϒ{n`lCameisjYRPr#whG eWFs. (Clit%ysotncludedecauseustomersanrovidetohemselvesyncryptingatay rencloud.)henablofofsAindditioetecviolasndpresenY usork.Ɇsfachat dis!lac\ma cli8s;3is,C-P!,5frame.ׂ`ePXRsuchaXkey#o/securit`nLAith pthreeQperties.Î&nowst!shinancialontrQwhipayPca@summon@forllired;waHassurDwillZbackHgd-up8compenۑicaeirGsfeiteВou,Ϙ*claimxsmallermou damagXoIHfpsPignifiXvlosݑΔ+lh9T:(satt1,mess88bi8ӕ˒qu虲ykVO f.Ɛxry]ϔ?exchanngpbe ightwe1u؋ocolify'@eior.

    onls2,!systeX`8olebw @engineHefm scalabilxl𩮩1 kIWF˯S ccol.Ыrkӭtpybowe-ɉzEfhnsRimeȰ7,reд؃hbeeУڨm9argureadiextend؞].u jX`ip`ظhxoffloa8|B p8i^,pTitɟrex, ȵItriⅱ0),cHùXamX0delegjgى4|Җ8emploryptograpolrom rature:ch˖/;iB Ȉ rYbrx9lsoigroup;xߗ٣o blofamesCxowsasad2sʚOOOOOOOOOJejappl@lcoul9nefiռ:HpartnPҦsourcoreitor,v, son(m9q tr -cqncy (@inxuliffge& var$/organxHppud).ea 0Q)numbpx?翉Rxa8YD`boxrvi8s30orХeackshHoldArHlr mugMuh bXel 2006xȁِxQ`AbyhJepnYooXvedfrruc.F83JIndy500.c]stcb!@Any7sol܍m limermaimpac¾totyp-#WP9Azp22]BS9qrxHXSmrԾ!oughp0ȅȓSa?ymicrohchmark[l !90.07ڗ9h (~15%) 3r#qon(~10%Odؙy f^ma' .naudv a,da`48܌Qship(lrevokCqmi)*Pc%eodeepositoryfePlargeroprietasoftwarehatnvolvedon 5000evelopershfeweconds xnth.σ(all,urvaluationshowwechi*(urityerties @aasonablyst.

    2etting(Data)wner8i>who`rchaslA83!Q@ersethsinrhome@yZl"2Hvider3)sZrgix dw)Ї()2mployiwpfamilyembfΈ5/wwwww?Won8on llowo*}miss؉ʞsyp z/.ūĒPDYrolst (ACL),ipa8|iӌB. (O)(iemءѢprganizP :addـs.)htalkaboX!9modPڤS,(8legitimate#˛@ѨyrequirhWssu2a7well-kn`blicHKexᴼgc3>2.1ؼtodelϸ3׼%ϸϸϼϸϸϬv0Hreuedq.tay@turrbitrIBe fromR"urmore,gnot8nhȃasorresponל֦֡yۮkXé.Ȣhver,!attPoubtmiYhOZk,obnll@>nׅ_˟a>becaalonghimϸbφwrfalsٰOviolaR@ourcuyaٚO'O߯߯߯߯߯ۡpmastHardyptograpSpt"itool:1ungeabil1unxhohss9pas-p aXHchyi-@Panq-wfuncщuXhަ1jma@csymmetren .2oϥϨץϿ''''''">Letirdefiȿ1ðPro( ȵxConfpj9(C)hold/#il/ `тKf˿fҽsJIgR(Ieach$ȣ UHexamplW |reploкjunXWe-z(WhLom8zanp8awaH(ɡ0dXDsaH ՚torw?;Fhny(Fsfsů^xi%ttedrite
    .otehateannotuaranteeachlocketrievaseostcentlyJibycloud,ecause,ponwollel[Xor2,߄end!have/mniffer rder0e@rkelaysJarbitrariRSsurequests.nsteapaimw:lacommi (fwhihacknowledgpkcli, Pwillee)Sbeisibleuringad.olatiIsectyfX@r邘heXIWFopertiPdo !hold.

    CProh|followyfouroals?????????;G@ 1:Չshouldtecb'ssi@g,reshnessx*-YXzabil .vidonf@ntaP{mselvhencryptAdataytore }y2~ax:lד@r+happennyY@sy@mx irem0s: (1)ZvincXirartru};(2Oggzhaccusofhewq3s'OؓQtrolscal(avaiZa0Sz)targe0erprisizeP mayhundredts@2mygroup$paby .קX译kownfropath1maposӫȃАs.ςsre0(ifiz)'akdisbu?9@gh chngbask7777777774!ma( xʦ3ӯOview(BlockIDC)

    Weutnsidblenginepngftntoeepsystemcal.Ԇdatawionly sroupembershiphangesndudits.othaskrfflc끩htwb,selleehӉH 9us,sotveQranyKaccessah(i. soHtXountsecpt!otocols (e.g.,(m࢔Merkt(xultip up2we)8c`erp0imgcindex0411ѧImage"/6ަ႟GF quot>TFigu1:ayo𘰓ya`fami(YXi>K
    Qre, sub>S4Cprol<&/div> Inhisection,eocusnly(ccessrol;huchRsider atHloudoesotodЀdataldyuthorizpu`snrovtalernbsteviewso:mechanismenforces"pertiseparateinӇs 627.

    < 1frownaddxremovaromACLfblock,ABgai؉ los񍃈77777Wedukerm milydescribKsetll󎸒Yhavam .  gxitsQwiswitchqa hfer.Ӓe83nticalAs0neHaeWwq"anwvery,ygߟAs(onedk(trph.+time,Iingo mKcheǕۏutoulȢstРyunsable. thfollowurI`ipAf ififfloadm(rk possi3/_[16cerpwwwwwwpReadC.ounad>stor8𬧯(encrypuru0stpm pher,.g.,ES)cou9{ot5crHaHBi9/ 4.1r"h1*.Ÿƣ*x/:wwww-8ϑϾ??????Wripב׬achi*+kpublicatsȟAs.ƥ邐GeV{caRxriv91T߁ۥ knʩ,clu*^,⢈ρon)sra𧀈s⮠.ŇQiŘB!om0).otalo.fsersnheroupKeyHtion18]schemeywhichequenceakeysaneroduced from initi`xdcretaster!.nlyown8OLbLnext҇,utyznowinggOelarlivHhs}(forward+cy). Forblockmily,glx neocloudain mB p@a.h[cxQJjatallowood𔂂.e)+:shar{sa`ACL,onPrrespondsaarticularits' @03366 >Figu1llrat!layoh؅旑TpurЍїkvariouermfˈexPinptɔwwwwwwwwwsUs9broadc Hryp'݉#reacHsJozH'ssAd؃}waZthablooaߥxalث 076yɇwrit7gexPpat`ȢțoWo؎ro8eve(agivْOK awhoYauriz(Ϊm`s simpiϕHit oPrs.olؔm,.g.,thgirqshnxm,beyH+copj[aperh3VZ0"left>4.2rant/okImmedR cʾ'sd3\aha|aPpiec:mز(G LazmeanԄw؄QҾܿZ"beXf4Gaco lྀ[13]:,new9usgggggggggܔ9@phange`xndergH_(XisP⿳on@i؈a0,needb-R-\2InqtrPmembhipW00dAkincludZ.scaPwtooxpens(Ptinvb`*9xiliaotiXy:nPamouiHur,xAfutPcaHmciouãc@i1ǟaIwhiؽhP#.nstкxϧKzfollowW_____˙rotr(ewarvQye&achfheamiliesorrespondingoaffectedCLs.owever,blocksithPose*oote0bee-encrypIrightway;yan)lazilyg.ԅownern股supdateyPewinformationiseanHworkB;ha uPPmbershiphange indepe(ntUnuYfilin?<.roadcast ȃcomplexityOq(),hiwexpmanablnractice, (XwillhowQS899.

    Wheuxccessak,h8eher"s!readWWkQlarg*(WVcu8wfo4Ԕ72.Ҙ> aidoHin@nyhswritrequir PBur8vocbQpushCs,hto@mSrqaddiAal=sea80istorߧmakeasier,qcrw)multinix-likeroups onauld΄Qss atundOR٫Iyc#eesidU s-XypblicboperRnvefbecap7dguЉKpro+slh!dQh20"siz+1"WQ5ttexas5.1Ӕ(\h3g'r &Eachttestationonsistsfacatenngomeataields,nd(edashthesG@.inceeresjaturessroofitsmportaXtha)eyeon-repudiable (e.g. uniques21])؁ 17609 >Fig 29llr(s `ucT߉.ԁblockersnumbercurrePȊ(forrite-zabilitybhainfhnesdR獈g``aąh i=<'Upreviouw.

    "8cer!p0imgecindex0415јpImage"/6GGGWGGGG">I8ppliAoothuؙge?/depends0tnly(//"blso%horllǔĒZˁfar (becanclud,VO)WWSHgWWWWWVWaywo׆9`A?i>B4coxctly{˙/yqmequa(oۥ 'PTϗcreaPyptographicbetweeA:Dcom yfeasi inق$a hreJw. cspcX`":aXwi(ihgyxscribXS4hvid e8ywwwwgggggcpurcoouxrom)ùaheadibe PAzpcoulX8dLxmԽ!.žL褐ucgbYGsh,ǑyA?bCgP0rw ;rgbiv xasPudмȵ:oasavQ'Dg(h-.ɺ)B*up8maka8qu!WRknowXS4`m8 (romcnaargeield)ǠBQhb v׿Ӳ+GGGGל#产nselliired.ɰ㷨ro`qwah -ihzabilfreshnesW٧Pnee??=o/Fig15.2rotocolszEx`n pAosGeta:ϼϼʃg get Pub>:

    ClientSeـireew (t@meta)"Yc* ttestU2oudIft'sirrect (QaSof,group ifickeyessature),baB Z toȑ(to8hwithoH)w 3 VyGCaritommiPxnlyheAa]sgah2n1~leftesiz`+1"6fxtyIHg(yɔh2ϔϔ̘//////Is@,escribCtechniquutosi.ԝv`ehexxsivereviou@or oYwi8lingȤm;azexplow a0Qouromha8mform@zguara03yvpGGGGGEOK(C).sxoearpachiepby1htscryptk\c .oat ouganQgAin :from܃RH,ْducomecess9rns1aro(e.g.,encyreadaertY´Pȓ Xtpl˷maskJwr[15, 4850 >27y],efЯzhtocols蠲ayeXoPu@cd3maknRmo•oOO (I??X3lrol (S# 4ei@aṃud,@EJimil@y&zus publicava8bl91'rpecksksJཨalwa(8irǾ"s\axath϶ϲspan>get' GGAIuxطr@.ɰQry:O,eaƷ`owed/peri(0invx1,ooselfֆmisbe9or7AгrfraXh`W0?Ph;:ȫbCojchangaX׶Pclaiamy APfelyaiffshouler,_)xhib ownerDrϳTsu bжJdatݟݱcluHs|dzwh2Zleftsiz+1"GBb&>7riteerializabilityndreshness Toetect8viationsromׄ{,heatawnerodically auditpi>Rcloud.ԁformsBjingrocedurteofachpoch.pׇׇׇׇׇׇAuccHful @ertainlock Hanuaranteeić큈ed zwI-OKH 8Aparticular///assXoKsomrobe1ed,13ne0notheeveryo{fDs Jsensve˓c 8aoconpmean;willp]impo8nt??=sm(畷WanhideraX0whisinccsysob(vIis.owyfalldknowxact Ýs{featښ#'\Mif1dicouldn;abmisbehawithegar™odUsnntrasz!bloigousbecauxyƔ2attest,zרЖ񈤂Thuwe a xhniqu𗈨@on rXhL*ea[)rmkk(G.pecifC#when:?? prf14!],aаg:clud[plQtextImetabbۨWJۻHpedesirש7chisetiH76438/p]9.ohas8prisa)urp8Hu ,e:seci鼐h(aggiryptograp(ݍBߢllis -Pianeariom-,ɵ8yndoZtprp agstLinpsh:O (tүתsS'd).)qmakpVgeirr0 putfulJw0chanȪy0oTptڂPP3AsPnbeex (viPmeans){kDlfunauthorizpeopl________}j1,is_Y!`ei8frȔ.Â,^t70vep wp@ÞIsorm(qdqgrٹquxs th1߾ԹZarrѾapximؾұordS"ohǵ!Ȱȧ:㭀wYnAtqGs(sfyqu{(1);yenv2?cJ`aque<0geoۋsoؐťyil0mPcioLynoҽڒĿТg2[籰commepAxndg gfrY_וmsk/ovid&ttestationsornyissinginheequenceHdhonloudilleepopiedur"fepoch.lternvely,Cconlyg`؄ ns'atathoutigpures,hichЅ(rectruct-demustoriless.Ƀ+>notrovidese?dsenalizedncompliauditXcehe.

    Oowneraset?'ȉperXmsheckwrite-ability*fh(0whescribeubsecbelowfЈۅSOcreapaerkleAre”yentir(agexchang?thatgdamevalu薱discar(omكded.ԙ؆'hiutefficipuiybloqjwemodifizrootOOK1nJ؝,ђ+upp9famiyXҢ2embershipsInxࢁXsx>makus"public(Au2utsourĞtas(e.g.oX8eti)gggggggggcDuopȧIaint(px0heore)ofԦHh`-le mxleavigoroma(icalpos 2o0rahoookh3"0"leftoo>7.1ץ (W)R0mma؁ /ruָ7XpibmɎ yUѧil;mɗةhry OnZa//y i>kl((roduc[20i])+ÎinistQviewhiffkX`mpl0copy=1[laccer1{oinho7CȔRtwopedy˼mitJ5witsamߘݟdi>Axrx!0pظsbH|OnؾJ{pZzbetwee{smal8Ilae.ʹXo{ƣojb`䂪r+el8je( l½''''''''DetX|Wiol:>E}Hdo P76Ƿǣ߷ǻfollowTmxaiIhyhIhsassum0u8eP?geroչy1wner Ihesńڗ!ervOI{whiA9xtGG77777b11.ywresp輸+l&рizabilityequirementorlocknnpochffheloud'sutttestationsmnorrectrithain
    .

    Proofrirst,etsrguea-&implies.ɇd spsty,釈illakeurlXaxnoultipleۉsameersHumbe ndiskipped;ۍxe,ʌoma^ 1Nowprov.y.iolyx@per(occurhe8iqؓnpdatooldZe a.upposY`uPONP:ʘKawm 7.2Ƽhs (F)Rirem)_ud7>ury9epochkm` @pooachr"QrղComxcoct (basط|ݣ6iven)Jey/- !Cwodpal)cs.irst"عGɥaloNsegetpu-Ioudannotomehainbe(eti;secondoi thatJvaluef႗hecursivelydsQall`tory?esO.

    Let Attestation,dBneceding v.ssuhviolatedfreshrequiremywhensw؂ hrpЃqo,u3nsmycJ9tradic;urposus,w(qAHper񆀑-;Hstead,C咃egav8, nkorder.OmpXxLnIސ8ftepcausn@zxwih1toğ.ę?t-suppd7shardkp䟻unc(oracle)ڟǟǡ5on`bXC.whichp(LǒJg(n hRks,ϓÌw›1__X ti?;0mebb'shn T,siblY׭wouldknowÃQ$Eo r„ ۰UR/@0ProxV⫑F:a7.3iscuon

    8mplem`22]plat.urSconsistsabout 4PineC#.renP/p+/h醀rYromo,pimakit szadap2o(systems77o7776Bgrou`.irsteivejneedb6713 >3؍ʋtainsponyAY֌|-3us8 blob0XqueuHvi./iHmappӂA (nih b.тӂd bableagiॸbetwe.ϞϚT wt7webҀyerroles%ruPnirtualcdifferimК SH2008. ۋtan`aa9mmunicapsl8e1HTTP2Ѓ*79nǃǯjw(vins)ӰS"s uarapXheb"Ab collo sam@urm,Cs(y`yP datxralthoughiuspecюpaffinity pBo؅7777773fmoduCr/c0nHXh-librarȖ exporB؊+؂oP Bitselfh0dCS)@1askBnhparty#`oBAe!@zarm ordKalgormnc 7׹{Llahowx̩9Z@{ӛse׻y4նn \va u!ozbIDopZJȆ sI/gnWVPod8lؕ p`Ay made????8޴YpJ0imgxcindex0416`Im("/6GGGLquoFigq3:nd-to-IʽHx؀w(XHncy.apbanpPE\currF蕺csz΃U&Theryptographiclgorithmssedre0.NETmplementationsfHA-1orashing,ESsymmetren*nd 1024itSASign.nysechhsaneasilyubstitutwHosecuP8fasternes.

    9valu ioverheadcZrsozunderlyめtoragymouity
    Pablishher58nefitometonPostnot؏X@inxamiA9oxmiz '&AzqHeleca`ofldapplicmmggg777777Warge lAxpri',ourcode@posi0ieМ9evenmall,!1liH HteȈthtoleryri(-l@ncy (wh PinHsultiffgelovarious/organizp`])ggg777777QdeI&ÊowsseparabilQ@fivߦ89,P@corIond"addi:ewproHty:Л, њpnfidi8(C),њgR(CI revtwowe-٩zW fullF)bwieowǤacb`@؈J.Ƴx#exixssx@inIhluoPU, 3.0Hz[4iBAMwwwwwVMicroPchmarkb>Jobpva@ػYGgȒX(-b :twe(ϼ'sata*🃽ZcoromkٳhhxdodepIurree"balsoclue(vexѡ$ pudsubtrЯ]ﴸroP-trip p-to-ѥ WWWWWWW&ͨr 50qd diBbpks (4B):dȼ1b8ɭp. Figa3`仺YxhAhr+o&requiӳ 7W1r2г, if$BhhlMatt ;EhainPsh ƂX WU߇ Rch8H yмx≈ 0.07-R17%ꭷonl0miniήPO; 14%#8Spimgcindex@0417YIm("/6GGGϪ<߻ޘ quo ߾ aau4:Ţeº@gh`wٯǯLet PerQ,mak.ſ)@sis࿈`cess(0.5%pnXork rS(36ɩC (62W t (1m83p0qC As꽊web rolmun)A3u‚ȧqnodeIaȀjlikeжX? r˛aff0gp2coȅѮX,utQh8th"нIuyld׳םodzdzdzdzdzdzïׯ50282g&ure 4howsheffectiveproughputncurredHurystem.ԁgraphs`generat@byeadingndritbargeile (sentonelou@orker), 50B,diviJitsizeWQduiof"request.ׄdeasmsecausybetweencliYQ{baottlckresul`wesimiorSithoseity (almost@vllBh) canpyap/U (duoryptoicpys !ly)Bqes 11%y2%,hHPsonable.

    AnmportaЍ4scalabilhb;ehx{added*obtainaIPkЌAz!ڋИ!ce25(gsearlytaHdeploy,H*arxoXoPݐYfreespawnQ+)@rupnaelJeasu蔤 dwo0o7uonafterpreviousFished);0ex8iirepXman@sBupai@ΡsHsfiX1oP`(QSnumbo . Figi5oB\GEBXabY1٘mak8plncɓib''ndepproxim8 8ǧtdes0tocolBѐHclҪodi0rblocksǟǟǟǟǟǟǟǟǟM,Bwy,zaccesأؐ8phX@a>ulsup!Yicѝxrme`϶yhb8f(ocQXXdotÒ* y.ɛ䁣squrox E ڂA"m@WT7305V7,ptP഼ilevqٰa鴆hYmiply׆ӬmsmyȂUaGEyYrpris)100,mees,羰p߾Am訐 d"eY@rPHɟ$listOOOO8czipZ0imgcx041BpIm"/6GGGLquot>lE:Яex ѯ b8{њGѤX/19ߎWW'S6:uY(ceonewnnode''''''!ApayAwhXa['sCLg@9nnoﺸr1m(aewekȨsDshipromhviou((exed)MиbS(p0U؃YapxXn嵱w'Schoos`ȧcomroadca8rypӲty,0sdataFx0OIxXoDsum `0≈ 200A𹜻'williǓneeb39ǭǭǭǙ//g//+409369wϸaexa(i8akabo4in@Ҷ85

    S verhead
    totaĎ9lock)CProX1120itfRSAatu` 256/+short?s (Boneh-Lynn-Sh`am).AzxyarrartQ]m9h 8ÆemakejؚʇB+24 * m*:؀؜Ѥ؞`ℓ.Ȍ d–XefficibroadcaHencryp`mlinear^remd8isouHposi y H(pИlow)ou@1maximumalx___[waH4MpwA30lgroupSre,g)W QlesY 26.4B fxm1zأȪ3ȗ(k4withA`٧¨pnee+keepSЯꮇZs(gnѯata ≈8)?<́ %pur__]`o8erPx'15GGGlϨϨΦquoaa>Fig7:rSup`epend Ǽٳ\cczqӟeR nxsص)WwriteЅ1Macrobhs o8@mownڥ1 l_e odt frequyˆ˫trolobtaXhy/.simK egoftw(whXa88can(isse) h@:50(dev`(FromQ ПrevocHnts:R=lxle\:08dÄ:τsizaf؂QscribedDquro:Hҏcbirqows֙߹90w@<il9=X2357305 , hystem__r100, 64ed(particu?; f_\+mh,sug|ȅhaveP0ſoo1 ȹO1.6T2ȈϹcapablPdl9)3/jappli''''mǦ{WHJ9iisiwonurprojecx(YpG0ub:ubnaiSptaouBo gtim.ӃcodYtegyapes:dabrnqou@prruptwhint8 .ĀoGalso 8efiFӏ7Ӷ''ent&er"> Table 1:aximumndverPtoBrequiremsnBerpochorlss(thteastneliutJest.oR`sRubyhails,hiST/(Scriptaculous. ?=foXface="seriforeabenchmarks,eookehtheiq(frcommiptofxڇOHsix탰fromuly 2009Novemb`,n Zyeark008@eaarenHtunHnooggtrs;owe,kmicroLjcanehey`(milxrhwrites.׃sH7yrovidea0rhsinsizeBIf(ÌC1t:;:@nQlayis, ing`parwhoseЁ虸al namx;aluappria. Figu8y󌐓@resulboX.ԕ Y6ߔ14%2ɛ3% secup tiX9HБiPurmod8vˁqjaoodedicAч_8lichons.TabP1ٺ#amou'y߰low,n 100KnӆȸtiXchoixadeoffetnWQaudP.ϴ`s lepwhixnٞaearG.hortss`iloThAppasonspeciyi!rmay@rnd-onؼynenothvP`0_ȼcps@moRտн8ncqi9@rimpln,PwrPPgi˴ǺPufficBھQ 33illy;betuЉ؂lxxon!›9ڭ09ah8,caus蟐!rp uؖrpޙ*8cherp0imgc(ex0423ѼIm"/6GGGGLWVblockquo￘aa>Figu8:pnBzacrobenchmark7he&ight="1em">
    Fromheesultsbove,eoncludeatloudProofa8asonable rheadndsracticalorIltorageppltions`thecurityeeds.<0h2:0"leftsiz+1"ׇ10elatedorkTwane idPinurart77777gExi0ngKystemsa.oday,9reIpleth c%s (Amazon3,oogPBigT,icrosoftzurNirvanixSNAS,tc.);owe sdootuaranteTBprosoņobeknowledgPTahoe31)].teer-to-A7HallowsscheckatategbI~accesstrol.ȈdoQdetectioh WF,`r[iVofsף>SeƈᡡDS>0U݌gd77483 >4Z,g165`g948Xoj18818wr2574 >2pnmi8$,frȐh8thrPmaibuclbe WU;ppertie`Abecayst胲Hiesx, ny`a8ffpet±0Rk:*ly@Y7hpsommoteX8Ali`s.ײlsorguąaaiextendڞachi‡!r@Xhichll8r0I˧pwbهnewTꇎE׽(1) y7veisbehaȽ_keepiYHo(ͨۂy.-fsu&enqnanciabetweeM`?regardI~ggggggg2)fthcalabil򷸏cruaspgش8lPrpHiimp㽨Pud.ϵ he`xeleaa>(3_?h⴨ ()bothwe-! zTJfreshn;ThfddedicPunoudiQmembphippangeXMepusorkan??2277777517776SiRiUSOOO>]q0hapn,r |Aa/-Љegdata.P qty:wo`reaa(time,lXpXbsequ8PwiHdr)k8ir'so9xXءs82weaktypF:et d:btaifԃldyH0xrval.urmx,QҤizE^hsepнmýBJ x7mk6s.hXckFupPQ,Ծҍ/Bss, 8pMerkrpY4dУwh`newe`XsҥetY,X\#`byHPa&ndsfsersohispproachouldotcale.oreover,onsurereshness,iRiUSequi)yre-signepiMerkleashyewinutoreco8.Ԅa(asonabassumptioneeliH,Hcaȃ axqnecarilynlin llimG@in,,canefeatQirciermiss(XUnauthorizedǁleteataӁnatta d'ns؋Pwritingmetaf`mil0withdownAeckccurfSirius'xrexexchangsp(ftwand owZruny`moQystemmplementasuPasFS.n ptrast,lourovidalway8nst({choicJnodPiyanjuy.in y.doف]ofeedoset).

    Plutus18]ishrolgPut蛢lskH\d,zact10wnkask̠demms``ompterpr HsHsfРesx eoyee0Wmb'g+bdccry颡8pblockmiPxchdistrioinvolvM://ϏϏϏϏϏϏϏϏϏSUNDRǏ2574 >20ìіoffforks( y9hacn@che@thnapshoZ ;(VSLs)rSCaographicpes.amaraJLauh277 >19nvigh Btechniqufulcὸta2y Rpev(POR)15927 ,76735 >242595 909i0XX7x (ussubPeaؓB"`spؾhage) q!6riJc]Ķ5544penabpacifio| 'height="4"idth="1em"lign="justify">Suchorkserysefulorrovingntegrityfrchivedata;owe,tnotufficie`aslicloudystemsolution.hetha)pilecorreandetrievabon:doemea$swillspowithrequest.Ƈexample,HpposeresobW؆Ɇsuccess8lyso2n,xfewJsariouslocks)%;? urn/((junk stale)urnochanismPlcheckthis.ajeaclkGaOReeget17]äЁiz5544 >29hapocalabilp.͋0,Ydee-}9fhn (,AofviolasJxperties)KinncPo1ꇾ(2beca7sۢfail.astlyZaҡntrolOdesxȦman@oncuI iffX:.

    Byzantineaultoler (e.g.,78423 >)K֏2exec @remollicg7umbȄ(fXmc)@(a㑀afrbHp ܀1setg)0zcbelosar.ɩɆFו .urm襜?likexX col`XdeographyRuDdribsoftw鷡crashomimila oϑxpa۽FT[m0iXԈ%h+indeecreapМHms߰tZah<0nd,CBs쑪paRݳzhxunȖKssu".he.7725 >8̳q,@epHt8t,`i"saHtred-hardlogiroЌH0v8wm Ximb xScommitǤǤǤǤǤǤb>Seudipr8[Logs.ҽx!giၱimʻHtsyXmpeci PZzexamn389 4xۙBhs􅑄`caAC ؁SHhird-A誠a[t᩠oldusYQtoken71TeҙbeworkQg׌m5942 >30lߍu4537p6سɲ pchwencryp雐pؿ)d oHiut`youtssJdo)xBrg'fr ܮcc մ1)tx|rol (opkowo)#ypT endѝ8Top@izʺlmiddia7nipu0orZZupxqSLXҎomi0WrF__[OOOOOOMx@H&"wp `viJy˽p>viooO11õl WeroposBofsfecurityiolationsornteg,e-)(zabilandreshnessoolguaraeinginLAs. HbuildeloudtorageystemhatetectxvesWs0epertibyombincryptographic sAaXlay!obtanfficie؇scalabldem trateCPddseasonxrheadDadervice.ph2fZleftsiz+1"<a0a>ReferencesMAZONACMC0i> ((7)gϪO3]INDELgD>HEW/Mω>׍ LL.xtendOIfile{UnpublishHmanuscript1999ggooo?4LAZO χunixOOY3OǻǻǨ׻ר5OONEHAGNTRYCWAB.olluResistroadcastnZwithhoriphexPrivKey@0L NpComputerӺ9ce5wwϳ6OW`K.J}E,>϶PREhAIL:H-AvailabilityIntegrqLayClouageBWxWǴǾ 7]ASTROWLKOV'8Practicalyz ine`ultoleraZp؁HveecoveryTO02Ǿ777777777777738wHU(-)MIATIGпHENK>UB`OWICZJ@tApp@-Onlyemory:akingdsari`ckHxrord:SOSPWWWWWWWWWWWWWWS9]ī D,ټHVDHAw__CH_oofsftpv5viaardnessmplifYTCC߼??????????????;10].-hMO.ACHAM?N.'!ggSirius:ecurrX8unstrH`NDSϾ׾׾׾׾׾׾׾׾׾׾׾׾׾׉1]ƾ RDOWSIS3ata 'corruption?, 2008. [12]IATProc.fÀo (1993)ggggggggggggggc3gUWK.epheus:roupharingnd(omcsn ographicileystems.͉er'shesisIT, p9ϐϐϐϐϐϐϐϐϐϐϐϐϐϐ4]ǐOLDREICHODWASSEӑ>͓MCALI_S.owoonstructҊFunc`JACM 86oooooooooooool5ϛSTROVSKYR.oftwarerPZsimulazbliviousAM\. o99oףףףףףףףףףףףףף6]louhecurity 8lliggehPcern/hurdHforoogle,icros,8ywww.xanfxg/">/gggggggggggggggd7]ʥELSooohK LISK.ORxofsretrievabilQIlargIniCȮ)7/8]LLAH)MREDELES\WAMINATHANRWG_Q__>_XPlutQScalabSeƱIS̟0UnHdtorage%USENIXASpDoooooooooooooom9GAMAR'LUTgcWorkshopӊЕ9OOOOOOOOOOOOOK20]i,ʺROHϕAZIEREĻ__>NHASHpUNDRu>data8posiyOSDX41]ICPAeABI_0wwqVD畚.ֿyiR0omunIEEEO%ؓ߻߻߻߻߻߻߻߻߻߻߻߻ߓ2ICROSOF`COR ATIO.iwszxONZwawwt/OOOOOOOOOOOOO3icqX0rvicegreement, y WWWWS/p/"g׌ׁk;ϾϾϾϾϿϾϾϾϾ1e'm">[24]ETERSONUSXXAST (2007). ׊ٌB.ompactroofsRetrievabilityASIACRYP86CHNEIERB>˕RSEYJryptographicupporSecureogxnntr`edachines_Xk8{199ϒ7IǜǜǜCeRBUNA/yOnhe㒰ualrictyprivaxinmrl.aNDS/////////////8]ԧHOMI.oogdocseaksuatal, 09codaref="http://www.v3.co.uk/vnunet/news/2238122/gJ-I-J-">OUW.nPu@c&*BDDynamiRtorag,CloudutESORICw930wEATH8POgE67,пHU-GUBI`WICZAntiqu:xploiQЭ׮JWide-areisbu1CMIGOPWWϷϷϷϷϷϷϷϷϷϷϷϷϋ1WILCOX-O'HRڸww>RN箺Tahoe -pstuthofi@symZ8__Ymy.org/~zooko/lafs.pd@7773?????????????2INDOWAZURE>PLATFORMz1SDKװװmsdn.`rosoftm/en-us/library/dd179367.aspxv ߼ػ¼$0left!pos=0002316 id="FN001sup>18*Proof'sttestationshouldoteonfxdthOIfromr{,hicX8differemechanisms01g ch1&2o˼lcXersiz+1"b jVPFS:ddRob`nesso_StackF!S"cUnLocal^onsؿH4h1׉ד''׆߹w϶϶CarneinholdHermannrtigGGGGGGGOO??w?;i>T( cUniversiresden,DžyIp''eight="0em"idthdalign="center">, haertiga> AbstractGh2OOLp4"justify>TheirtualrivaFileystem (VPFS)ۏfpos=0002462886 >1y]asuorctonfitityndgrqofpplicationatagainstrongttacks.oinim@tredmputiXbase (i.e.,ura)t' ha j,hermallsolCon؆microkernel-deuseplyargylexn m;orxa!,!@vdovulnerabguePOSseparvdmachine.owever,ses8 Xpsobness`samthdxwero@ crash8iun-f.֕ופ~bוףǕi apadِHkǑdama@canHcle@shutdown,y(pusaourn(mechanismetwea1IӏG 1rop2umb8wneei0ntPsi8ʑmc*Merk8h`ewhi0st`a7w\@de:4 ʝ+mony9error-Hneco fxaslegacs ordthousؓcodc bPtincrebre:8n 350Zsecu-clXpXv.\showxccept•RnceppecxPRuHDͪ2A˷left777>1ɦodu2g/G/'">Bo0su`cXܭ২HX82b`ڲemѧbXo@(0(hun˕7illqlikePBexploiweakmjeodpp1F.ply8s؜x1s)mobdevihurCv3h!`h@whhogno hlmo*ireports,@HצQ4vjhydri s2],SBˁ__3614 >3\pass?973 >4latextssag)WU429X5R9HjXbHks灗608 >6ituhg50oo,b8ntia0laimsif躀vulnerapOܾrnd,smartphX!slaysevolv`powi!`Hr8(f  pَprtп m*.Ɠ7oc(PkllsyJۘ,tird1not(xsetroXX' o轹view,غlsubjylquiremI@τQpuB+hfiшhLtra8r(.͟Kpay1&jGs.Ҏ`revthng.eyf{ n(`etwor(pubhiFi,tc.(Yer`uk,̄9X򐢻* Xrd@ye.g.,hm1whviXaJany)oo???e¶???*AeQpha(zfsera0safe`~-ʷ3arps'asednmallsolatikernelsricro.uchstronglyeparatepplic"s,utlsopeingystemomponentomefh[7],)nhhyvrs,ntainAicuncyalityoupportirtualachine (VM)onitXndegacySesuesaBGHcritl8nun irwartm (built 7lpcȋVMs)8arerotectevagstсsfupttack0nriveoHr )farge,(suffntcu7RexworkGF5214 >8A, 7631 >92芐sh׉behh3⎈-cor8ZedreusentrudTfnonߑؓrebyducA)iu (TCB)sprordf0gude.

    VPFS jQ:ƛ`ӜsbMs.nXevious㡀:ge2886 >13w8-s0a>jlgQwel-arpٞpؑPttfidi9integiu`Gata.ץ肃dPi[/-0-ar盂㔲dinuxרinfrau.n؃ormwim (seeǩ39699FigyʗЊwrview).ssﭟwhi8mApenet`wiМruptegupЪ!oAcamXIce:nipuˍI)dethroughhe8um`Htx+nYxlpUntunl0LCvailabiµؗm4;ɮn8cleshutdP;exl%sy`ح@qesdI)iber9mo e`dexpʽЧ󼾔hedGGCHWWV1WWWVW@h ddsڶblȴerµ 8nA߾ɿ(bOMdesbb@ho@S﹈Pdڄ?siPnбdiske.g.,ourng,oftp09800)!H lexjdiu`geЛڼ/-641778432:y8seᾯ7133464859x5ImdaX0Q(environti8haug08 foubpȲrrhⶈt-byubsփ1 sec@8t`l߸3305 >ItqIeػimaЕh@oXkeep*inȐ yecpPsu}|0ordYw r2ploitaڍZ9Nixl,~OOH"eesuip rs0ariowhnotajxsopt@F@prareas8ߌڌrh8Xwq29gine)fQϪϪ˪Chu.ԴHworkpH(2"paqmakP*ol`\>s:׶`xXgeIpftit

    Synopsis.npeollowingages,ir`viXrequirXbackgrouourecurity툠lbn1s("desBoptimizsSecc3B4,spv1 5,`e-ireldorkWn 6WWWW 8cerqpbimcindex(042alIm8"/6GGGTblockquoaa>Figu(1: jVPFS1ashsymrchitwithtroisoam(_]1_ 2.1M3GGGGGGGDyȰpn, X(arigi XsX*[WR462886 >];summar here•sratIwhotryoromئfkz,ܵPA,ب!f0hnȥєndatd#r7Cmeaat,fHuth{,jr㠀芨bhghyϛνno@†njboЃ(2)rmetanameiH`empetc)[_m-p1lePYcortSW䢟п@requi Ad0anP1whe@ԆWi up-to-0prevʒfpbQl9͸outeced. SL-basAӯ.’WT?:}may0ܹh.ǎHshxenousdЬ׺S,mHmful4it;ncڻpork)@H.Ξr`l@b￀mcx9hey@nHax8coopu.Ƀbinfrauct؃f70t5yyq__ 𗑽ltaneiaغtrH0@cGGGGGE1GGGFCϪYԟ"񿴈cbe'ignificantlyarderottack,ecauseheirsolatedode-basesresentmallurface.essum1atYyirorkhrrec,ro`xll,houldecureoprocessfmobileevic9th^extab fHrnfigurationveenamperw.

    Hwarkdsljanis PdicranipuQڈ'sstorage (e.g.,flashemory)uthpnysuful read/.t8K-ist bk.on%#ce,bequipp@tr(p`formdu(TPM)16]\mouГ8_XjHigXoyXm-on-chip (SoC)،.e/m!(triccertainoft񎨑⁈eanҙt, hsib)ugmpmarosP8eRMԊZone__679X7[HhnologyWWSXggf1gggfSecretey*9BxtraJicosqoBhundxdousankdollars[ iuctivSimiPwOIgingotooR ⠽.aka r8vidp8INPrencrypŠpbenefIqJ}uriwwwsh3&ʩleftwwq2.2Äo@phicroy(h3mEPiͱЉZv埳s%91888, 9)9ws (-ў9ѡoffli@kus.nVPFS,ES-CBCnLfXntit`bloHlevehe2ffici 9pdsǺǠw׺נw׺׺׺T |Aziqu@(سYnhnXMerkhtre?9874 >20.ºoon3ڝpxne a0ina"v!rYcomplefs;(Buar@a)!rA¾-onerd̒JourSxT(cludbxmetaa (namepetc.)w܋ؽPpacho`a۬Cdome(9rreis:(ngp`reg@gak떷`xp;e,inde0Y4)Rܴhmpic ЭWPx.՞ҸDHMACsom70162014eadpYd vulnero0ll-bɢğdefe޿׿װ2siz+1"3ĕPg2gǴĪ?۾8oWWT>sؚ`way siEe`o. 1躸%RWcanissrhpcileavHgaimJ PimK ѫbIord prȆ)rȺthІa `llengإgoals:ollialu1MakUCut.бɲ Ѱth:dpplػ1 }demHlhGDavail1ӎ77muecty-cln 'mustedentifiedndsolathfromncritical,otQallytrcomponsnfficizpectiveay. Secureooperation.espit,hewoaroffile-symtack ablo0e.herefore,tea8somHnmesbingnsiXseupds6revealP!processb__XwhithouteoXdiz\f{ality,tegXfreshnЇɇ؊/ol h3eight="1em"idth="0agn="leftfo`facxserif3.1cyaradigmAfterrashon-diskructxygstoragetaenough𐈊Ph`Merk8h`reepann 쏸a2metaidp_A_^8cerypja imgXcindexP0425aIm"/n琄blockqu'9Fig2: UŊt:od@cءfod)quilech!@Yrmedi聊s8includrootЧ{d.nadt@ppe -sumrowjourn@csPyptograpboux 8ߝ777'7??NaApac誱‡x©mee@hLm0ensth)lega'mPsoldssnapsh୼ě@`aG,ngHafirmaA@Yhenpag!tus,͟Gm (e.g.newې*q)dM0oȳ@?ڨk0S(i.e8y1)eHlatomI:xt,'aY<ܭteح?ʛP,sp@iouyacAi(owisbeG,reak aut͢.

    ProtectingJournal.)eꀣwㄈainsnformationScriticPtonsurinXy,tpiohalpKetooPoeepRperrncenefitppendrecordobnotqui8addoas2o(retaa (e.g.,ik0royMerkl).e[?yinoushashAxp.ewNwhte膫XhewithincremuiPauhhc„!pe ،xeenabl3LJck؍rxv gy ss,xirX"aandsetkepam-resis@alPmemor0؅@nkHanttack!hotryYcomput8eAl`e`fidᒩEsAESCBCl,y(fDQsXmeawell-u0ood),xple,hMa0hwari al.TDB19]1wihdiscuskcpnulؙparmhYSa3.5yllow`dmxuctQse@8jVPFSEGsH3 3.4wh362leftwwq3.2rchiO8view~h3U[builʊ!uri ork2886򜲯iaѝmechanismt. ו11774 >FigQ3ivI8$sɽ9top0yd(ۿicy amesp(!9ty-ss{iq+y`m\TCB`d hSync_Pager`hlotneasXppor a_`(. 7ؿхybuffȽ0 neeKbeaoT(vicfrmppl露cinflQ[HYough0qiЁsu@ass ()fquxdooooooooomIrxvoiJlex¦physگrhhdi`xycbasXPmapXY]virtu0priv ?m (seena)un-LinuxyTothuibetw@swopew"+sh8lonasn)m̙)__׷O8ceripZwimg ix 0426)Imh"/6GGGbkquo_#:Dge9-:Ԡ-ow-烈5WsiHTer,reusWW hw񦚥Txn
    .Ɂceivfromrequescy-reldinnshemkfile-symalls.ԉis, rcryptographiyyrotecdataɂitainpappendsor@journal,xh aih#,o.VPFSakexs( (ex0YOI,hexploiua@te3derly_

    Commun`Irbqu1:Qple! f@cw`with/Єߦ1 M-Depencic-Ϛ)owsirdy5ortobjav8`mizᫀHxitPhTCB. <pos=0002416662 >Fig8 4 lPb0i(d"- =:____︧ǩ''InodeY: iyNYbyPhowi: gv}.ɭ,Kalsoro깠Merkubtreprct'x;3itselfqd#נpp ۉtopeeG8cerapimgixx042BIm"/6GGG_ oonb'рlockquoteidth="0em">Figure 4: Dependenciesmongtandardile-systemataructs:ntrinirectozpointoodes,hich჈associatedths.heuperb-likeSf)VPpcontainsprootashfMerkleree. Pathnamb>:Z„aseferbyy*y%Ps07yB.Āorm(hierarc0al Ysp ,pGncanw8onlygular,utsoprApy] P\ipح/Ǣ(ҭab٨ves)i0nxsEpvo -aCcouone-bflayg cxwhebeen.execAlgthm 1ma0s9ў ~̠?ߤݽإaQ?miH5 @ursivendrAsٿ0ord aƿp_#9,nHF(g(x0!ol).϶awueYљ?daۙ_uяze0block ?ga (sextagraph)m8Vcrpž7img!pex0429Im"/6GGGϡ="1ϡϡϡMuo"sÐh()ink`8ous(i.e.ir`(PNo@o񹀠ma(o:free-í_nnot:0ibecau!sqity-tlideleg+)funtyu apsym.so,8plic90ar8!M rᢥdgepi ayorst,Ykmpzero-sizoooookW1U›eة@`ӝJAleafȧMerkY9hmʨ?3fiOpؼPs a(Xr-s;1 fowəw:ooolo lialu1">Calcuwox ȨpЪXs0l "2">EncrypP,utipro*uffehd m a3">Pr_}.":r;U/2ǦwwwwwActuy&q8s)ɫPdonHP? sCstp8xn|r'рnsurestomicityflockritby(forcingheollowsreeonstraints (note0atXischeme P1ervativendPntiallxpHin termsqBarriers;eilliscusptimizЄHr2commonase,clud mtchec 4): Updatedashumusteachjournale8ctuJ@axoilter.ԋunderly1legacy3systembeadwa@H"B-relJ,Jexampl(cPfsync() l.ShouldUcrAperrupAoper\iniٓ Txn_manager,imonor})W eei`r (a)newy0sint7caniusau`c@uJ, (bC oxv*𚒂uśck!st!availabp4corxponron-0kerktynodOF3">Besa{eXimrmakph9rHk8ststorhecaHpo( 2=/bp64"dthem"lign="jhifyacXif">IsQř___guaradZwizeqIiow1.oT:soeeriۓirndaronfigu#" Xa?g14!]WHMetaBs.ì 2gaboYi}previousfj'sFdurIreplayЋ׋ןȗhswq0aXmur iff0ntfromőjPHǁ®<ʕpɝb"/0anyTzarXor A-Hפe0flusɻwbreҝ`elf0cuapx+origiI(rehXviAocessar8C؜Pxnotlog'W.ӷflags_^8dɎ˹Pu,rh19wtypحc؜>C^,OupHs`𹷹cYcx\fȏɿ9.ow,Htgrow0defYeȔePctivjVPFS-structHdOL70462 >22KԪclhagarbllqon,hiY@ladsiR*exitTCB (i.e.,߹)W˗"пP ocذXhxOncQӻ8cp@bupsxals׾зTe_pȈPw#_iAQE߈Hxecufowrteps:|ollialuH1">ProY-د@uibmQáyegacyS(li2">coPPaeci\nÂї9RTj3">Atom9XswapuЛ͙ʴʍеcȜʹ򡯨/NoZ8b=mAPpartsuppoΌЦ '2aboalgthmoȠ*WUs0 y-cp,P9ha` debIiYQqmedipsaf.ɶeasseea )afuretifromo8-

    3.4ecov`FromrashesIfsystemddeed1,ntrommodityilm02rst.nce1ageaseenȐhand"virtuzLinuxbooup,tc1tartts Xyroce؃~n8explaib>MAaÖ&q.t 2ime,ync-manr8quPs)Txn_՗*rSjournalhichay߁cp rМ(fo.ZdecrypGCstform'salmximplemh#vPdh0egr)fhn.Ώ@Xawe-backPegiLpreviou1BnsupDУsucc0vןןowrassumpmaytld,f ssfultty(sebؙelYS 2.1),hardwafail,HoftieutsTCBam({uldbeadyAsЬɍerrrepor!applx&+蛈qaible慝s r0_rwitȗormxQZbehavpHdescribs3.3rwisHt1pX:layǫǯϯϫǯ>PROur-lPlrme@k)Oy>s:olliu1axa>To5sincsh=pecifias󓊊ѥc񦈼`yXlogH8liG2">J"inclxxmetaalockp9fy(sor,S؄FZwp}lap ̆/r______Ri 2Xc*atZPgavonڈtiyusdune~Px-Hc,ڵer. meeهԠcop1/+fin`72(ny) Ҧkiϖbe(cspIiMO[co,py Ѽb`oder:

    FÃs.eplayupdat=sor alockBpermHsimilar@tYaboalgXthm:܎size)wH,hash-sumPڑHl%iPMerktree.otp9lwaysItvPXuntYed,caȎit(nxr rMora Pa,@ppHerQtؑXsAgene`ei!urrj1How,:-not ai*est ܍reachtabQ`agOo:0Hlay6multip8B_is.ԝepSync_manrkipsut-of-ڕa `slfin`BSVTItإ(qPs0/, Phig` fЊH˞'C.mpbehavTxnޚ:obee-ɔsȚprovi'I;issЯHѩxV*wi0pdPntuallW hHalumx(jVPFS'zisxcyPcismS` 5.1B6WWCh3Z_^leftGGA3.5ʹDil*h3'%''''''&Nowtroduqvariou@yp@ѾHHak l`rook @h?r0z؇>f@tyۡȤrVnin@so:mYrypНxpayloadd|lud8tY­passۢZPIs?! ڏP(rlraer{U /nxce ar`ulahkeepoI&pѴJcoQJ1oqirFur1mxrH(ڴ5)Joиo8ev2%:poCwhi@+y. 襪)ccepdeoff,caȁttackcoulllearnb!QsXa1LinuxM??ϮOOOOO>I՝A@calq key8"d'chəro`!la׽ProugomecretЂUituasouxaonX.ymbedmedi),gqAdesbs`;5Ptweewԃ7shșonauXItoge,Qre(PF@hnKNatur@remHyÍCreliparkBe8aeam (THMAC21]P0does). 'рAsesult,ync_managerannotetermineromashumsnheplayedournal,fntrustcomponentsithholdnyransactionsӂiendf‚|;oingoouctitute@ttackneshness.ytorlatestamper-iPnteal@memoryefor roccurscuchu :ZmarkׄnXt)rworthypyerv8υ.or ЅXcas0,pdYgashbehHonly؈acheckpP0pplicasay qu9aWua8texqitethrougbfs()-likxbetween?ts.

    In Xototypemplem`,a`r8dummh݅h3nbĆɅleft>3.6͞)FileÉHars4piz2׳׳׳׮׳׳׳tuilyxwao(oИggnifзxXhЪG/O`ducdrac˶yund`d׽_______b>WriHBatchA.ΕȪ'8ryp:blockbuffµtshxa,xXӵn p@H2appl exaitȜahronouP(e.ghѴr)()).„¤!ommun%ab b(Pz qu0ew脇sXecaucoa(numbfԈ1^ieneftwofold:rsǽ9Relax(cOKAaftP2ךsu2r$(afxDin-ǂ+Oܽ؁fllowsksubm`IthosaghnpP+workloadoت&I0؞!iXgrow m0Ftypx@ Xmodxexcy-per -ms'fVPFSaneroppedntirely:xn_managerndheegacyileystemaypdaten-trudtorithoutforcingriXorder,causeew alocksonlyreplayonceothYirashumscontreersint;toesotttwhichsrst,so8@ZZresdur.ncompleІsf -atre d ifPM@ationxdHPЉhmaXllQmbinSDbatch,tthuxevI/OverheadloXtoPȅ`redώ,;2fadd9almJeourAoccasScheckpoiЈMerk؈`odes.

    NoЇ func;it@or# pcrib axi!mlmoX-nqons.yncRprovi tdicИhe1l3xs;ʁriviyruYb`AИBurrA>@pȘїnullPGGC77797773Out-of-OҔ.anyokqueubufftak؝tim"xces0hem.g`*;PpYreceias0hronous`epe(0pYXZ,hlaRGi(-Hn"flus_]{oulȪ!WWWWW'WWW'>ExploirEInfrasctureFȠvalu,kSe2 50Rei[23]bNILWW71196P4TurlyϐW9,!POSIX()iR(c Th비cuara`گ3Imetajxa havBab9Tu` n.owt^ַ፰icq;ys:շPm Жȍ4certaGdo1: (e.g.Ȳ `upxRWѽbe8eodɯ a٦L)wwwwwwwwwuTog-dæensph#Nh2WWWWWWWWTæsaЬm dFiasco.OC64937microkernelromL4milJe ոoiso8d*unusc-h)apabil𱱙necI𻈯accessup8q hstzibrar!Ivi⇒Rr-)avi0ѽϼ4745.hooksgp0,-li(Ver9¼L4Linux8836,8tuz2.6.36| ou݉r񇳸ck3>5.1Ðlty3ם׵ם׵Table 2howsreakdownfheourceomplexityjVPFStack,hichsrittenn++ (cryptograpibraryoutinereZ).ll0gurwegeneratedsingavid.heeler's SLOCCountۇ7372159 >27 ].ndditionoubsystems؀@dt,$alsoeusnVL-treȈmentahatpartTCBIany4Repplictripproximly 800h8Icode.ԌBVupports-CluginA`قHk0GG.

    Sװ:'!t?¾K@.ϜWQ#lȸ"yHǸ}q+@Yoa(ٰmuch,0caxn>(whpximp1,3ze)Hk,vq^B@mckh3瑗wleft''>5.2׬2Perceh3OoDusp8y,ocuu valu+򭙩a-xbhmark coverydil`'dwPfigu@dorigii%11]'xwo0Hzual-epxcoض2BDDRAMreic.*oQx256͂Bphysi`iڈڅ)stordiumxa 8BATAsk (SamsuHD080HJaSBlashbenchmarkPFS1a],oeanoughlyompareagainsttsredecessor,oo.nlxtatedtherwise,ll Vsrune imesnd esulaveraged;givendardeviationsorncreasconfide. Table 3: Permax,ison8tweoriginal sfkusingerh"isk (figuakpfrom777])'GE1qWWWWWWoWWT2WWϐϐώgW7WWWwU4RExecugwvj/1withIoutourend,=dnLinux(e?O4ThZput>.er tes9tyrittwo 1Bsonnie++r (see 45663 ũ)metadatawg,-chiev38.453.1B/ryp!pltex,9pecly,GGBh@zlDBu@rlylegacyzy`mHRYip(r3$,⒈ghy-prcʂ«t:fft57Phichsloss58mPp(EnoWWWUclea ss(3242)ϗ77b>PostMsua8nticwat "modifinle`largeumb0.ԺPM-1Luy|Ұ>aȣoоn 5,\ize;ewilobyreHymHly-cx0orkloaڒeshowsgncan!al.`h.R,i2tPan(Z8h0.v(aȌOO h9trhbur؇12rqstorxdium$-nsڧb߽(he@G446089}4q,8554 >F 5visu8ª vidR݇a 1.5xwo!abqac0QVexu@ehavior@e lf`c()uerrequi]@sixn98magnis'']8Ferp_img cipxp0433Ixe"/6GGGblockquǪaa~: BXultөᨪHaоs; >exalu xecuB[zstȼ2/GE1GGG GGGCNIL0drivflashfox T(h(xdurunnMKrrdrmBPr(3f

    Untar
    .Ԉuyc(imulspacka archAwith0andsو pargQ (kiloby 2.3pnIt(P)Xr~hheowPost-Mark0mPB(ІaumbXy_moh3GMWWWWWWVH(I'funoQ7W@o@૔趰lrdwpϰ>S&sIǔpmodetxn_(Xerlelflogga A)HYͩl (abo707kaup{(point)dido-cycaaonly gi p .yncsussfulplayXArfromBhns(聠o:byerH ppl؂oмref ' 2irsj,T<13Ǿain1,761SŶlb.;r6Ŵ 8ecau؇QAykp10,;Koe8YNOENTrrܴſ4jedHiȷno8tegR*fd9Sث>1disqXhcbehalik+gl C'rzCheckn. örash,v`reڏ +w9dz-9lookInam`TrohTcAssiAz0`ꖹlRiHlɩĩ ht5middbhmarkLinuxji¡Ǟegac(g.uhsctL@png,ILquick"%eJij%GA* ⼐ti,ousPf٦d0ndx8mϵC1F I,cn_m*o!2,710

    InJconfigurutilizing*hardisk,eiFSlayvaryInumbersfransacintwnournal`dVP2covdtho|thxissٍ:.edoweX8sosext4񃨊zriAsgotn-0sults:xJparti1,fou8aheckpoȆrPهt,utne`miyopmizcdeSooereasHthishavior:ayroduceero-siznoyЗn`Ysync() ٙ1 scriptDuoqg@0,hichlaSp4,xn_managPuntar(nchmarexcep(L>systemHde؉ɔQ9C/,wA@tena(currXly8vPig( waysmakliab Ipooook_h2tyuleft]="+1"6lbWork1]*rdQoe0eadobneag`unclehshutdso>FaS+Cxixncyy.\lDY[h-l8letadataeXAmil roaHhyۘsuWinsTFS.ϸY0iudY3/4=Кeco9tbk=ir.oogode,8x9p om6417hs.he} full-Jg28cshٿbzapy-0 %prȖǼ0Lfirst cIin-rypl(iɷ/frepн(dɘrbrehqMɴjunIp,vmalwayspagᒜroo(As:1(rh)`urAh_Ypcantwwsgggggggof`59800maks`~mXȻt'ored.heeydeasoppln-placepdatesuchnrderhatn`minorconsistencioccurft`arash.oinsreuaraxedbealid,owever,lddewetaPa (`blocksithsh)ay9mixㆈrelaxationinherent compbleKMerk`tre.׀fi`otur ceoftt!roaplving*robustness mHfPFS.

    Yjourn(pschemejatklog-structu`[22]set symarromГQypeقQ$s,iechanism)splinAwooà lexarbageXllecBbeTCB0Undtor;xg9愲tDbaseӊs(TDB)WU69 >19Rٞht芲tsaSimilaf.tsoKaPensЌIegrity.ȝՒJ@ym؜cg!res9onsX velopers.dreexytiv9fuƔmXyas pQte,(gwwk؎̅p?27648nifAbh@fa}>oXPeXW qt+PlE-d1Hn {monohicdeQ{SiRiUSon3058 >30exayzerkߨr_ȸ8(=sta0łwO\sunή𭧅>4191S1delegbmanq(ȭjӽinfuWmbesZknowledg4doHhav`rrecxr''yAnfreshrs?????/???.NonȦardö7УkwFe tGG73743ػCfefficiYmeнPlic,pec(e-be0Ӱ`0+cbenefexpsGϪɨdsame8TYKguateNIL/h2N⼷leftsiz+1"7clh^h2gggggggdWuilt,X_w t-chgwhinimalaurz(H):requih@325 ȸC++ꎒyx cfuncptBv/,ciKagnitu`hXɸ-`dinuxI̴ɸhvh ]tre_,(Htrictisolthrougdd𼰴kvirtual-machou)0.'m)sʼRhys}mediu_ʳHmakex*ٻ0ϝ9Ft`loczby좰us0׏zb8vel,rxucYIlH-,wwhushpbux'j;outHؽ9desB0Ychmarkseidw`showo`mArobgXPl@(hutdowns.tuccessfullyndeliabhrecoveredromemporaryamagefterow0loszstrongntegrityhecksidotetectPorruptionsheecureileys,hichasayoopfeiserFSaardsk,rILFS,log-uctdinuxemxmizflashge.

    8cknowledgementsEuro '08:`oc3PACMIGOPS/y pe0Conq#s 2008
    ,0H 8193,ewْPY,SA,R.YWwooo?2]eͨhaKernel`0(MoKB)X. ///* A!6gǖǪ'ǖǖǪǖ3]ppIncboutʹʳp4iPhonS 3.1.3BPoduchN72$.aً HT4013.''$#February 10gǡǵ'ǡǡǵǐR4]mov<3G[s]assaEncryonϔwww.y u.bwatch?v=5wS3AMbXRLs>oook_Jul909WOOO_5?????:0H'W''#3754'GG#'Augߨ׺׹׵׷׺w6]adailbreak -guad_ipadjp/-r-.htmlρρρρ̞>߽O߿7Fiahicrok.ocdt:ooj.tu-dresden.de/fZ//-׻8]yhaHHohmuth,Peter,ermannartig,Jonathan.hapiro.ducTCBizeysuntr0@pp0nts mall [sersu8irtual-mahmonitors. ProceedXsqElev(hCMIGOPSuropeWorkshopSIGOPSper.yst.ev., 40(4):161174, 2006. [10]arshallirkcKusickndregory.ang2oftpdates:echniqueorliminatingostynchronousrinhxafilesem.n ATEC '99:roceedXsfannualonferencenSENIXTc0C6,ag242pBerkeley,A,(1999.vssociHon1]ijayan(abhakaran,drea.rpaci-Dusseau,jRemziȀhnalysisevolujourqQpYsga05gggggggge88WWY5WW2Paleurora ,ardroblggggggggggggggc7RMmi0hSecurityOy -uil1 *Zongyߺߺinf.arm./help/topicmdoc.prd29-g-0492c/PRDGENCC_:z_s_whpa.pd׃׃׃׃׃׃׃׃׃׃׃׏o8]ttlaz@Aryptographicˏ,դ񳧳Qmunicss 9r1993ϾϾϾϾϾϾϾϾϾϾϾϾϾϾ9]meshh8warHRadekֽralekillhapiro.owo[@]DatabasUn䮵ſ~4Symposiu"O@TDes0ZImplem J (OSDI)DZh35150,aniegooct020].(erkle.rotocolsorubliceyryptosystems.n pceedingsfheEEEymposiumnecurityndivacy,ages 122134, 1980. [21]ihirellare,ananetti,Hugorawczyk.`ssunticati@Us@ashuncs:HMACÀxtru.鋓Bytes{2(1):1h5a96ggggggggggggggc2`endelosenblJohn.όHerhout.ԑhdesimplemxkpaog-uredile  SOSP '91:ɔ_[ttehCMДperrinci(trNeworkPY,SA 1.3]ei@FSNameebsi(archiv2007)`cod(aref="http://x.T.org/1023172417/www.n.com/">i5]damackorzynskiZAlexerargamub4:apabiliti@asnrsalesourceccx㰨roln4IIES '09OoWpQIsolcYInteg) Embedd8S#s 2530??9?ϵϵϵϵ϶ϵϵϸwϵϵ26]Xן۟__Yos.inf.tu-dden.de/L4/OnPց___YOooooooooooooool7].heeler2SLOCCount!.vailabHat:רםdw$sc!''$Ww8]ڱ/hub.openribin/view/CommHty+Group+zfs/Home 7Wǻǻǻǻǻǻǻǻǻǻǻǻǻ9].tein,.oward,jMeltzUnر}|tecUSENIXechnic8@ferencХ799x177777777777777230].oh,ȉphacham.odadugu@BonehiRiUS:ur9RemUtorHװwt10thtwxistribu ty (NDSS)Pmposiumgs 131145,ebruary!3ǼǼǼǼǼǼǼǼǼǼǼǼǼNjC1]ҔpPberg,GolgkS.leimaPalsB.y)Des Rimplement unfPInnovRsQr\s 3`3i1988''''''''''''''k2htopherrost,ikeammarella,ddieoh,n8weoshyeshaPHovsepi4Matsuok(9LeiځPgenerzOmȽ cies]SOSP '07:9fwy-FirstCMIGOPS Ope(ratingystemsrinciples,ages 307320,eworkPY,SA, 2007.CM. :tSemanticsfachYwithPOCA:tatexs,oportional,ptimally-ConsiAddr`AlgorXmh1y1 Aeyeasureorheucca Delivery@tw8s㯠roll1costY infrauctrequiredo @veʩitsnds.papereake8cloooktohefficilysiЮvideosrombibraryPgnip $CohyilargeumbH relve8unpopu-gene`aa!th0n!o eGߺ߲gU 's itialrteSdl@dribuoXnclsdha1storjol4Á8dwXpadalanc fҁacroQnt-–diunsf.ԂdbothiirmorH`xŗhJd.כusimpלnot9׆rep`:o_GGweabPmprPurψ"whetol0ulpgheoddrvcdvX geoxphicctyPenBBdescsol,0llSPOCA (StPl,roal,py-AAdd@s),chpduxk xss95%1n 1%,rr8hsӜЦ480%ShbysiɌ 999.6%.nli ц(|ismHۼiHsearPoOnc`7ϻ"left////>1roد _g">S$I/Osxsk.֧B0media,hweb谱)photoXۡ on@pu؏˼, soEs0+TO]accujbrowjn7Sgǰ߭tqperman5reposipy(`cfarmmadepatta3iٞ8gLg(((n="justify">Tourtheromplicatehings,@eideonteispreadroundworld.o,henliqrequeststha"non-localeecP rtoavYeupullromremoXclhass,pyapit ly.

    VdeliveryfaxxqcauselemtfonTqinfrructurPched@m(ant-e5r.Ɂ:beccess(fdisk?;3McYshtts0ifn tlow؊atrievetoragxarmPdρ!pHtransl@sxA0upgraPnetk ons2add[cÊ:dr`х?<]numbȐxoperations P8qInhndle.hugoocA ϐrt؜ncyghpu@bottlineYahoo! Ppfo a brao20,00"tats.Ƣk, mak`bout 3Aday 38uniê which ow botal?.lsbej蠘argeypڞolI54( 1!ɞ1/UmbdPthۅA0zeɲ{filȋhdifulX(ycȝY򛈍׬׬׬׬׬׬׸ϸϸAraiwarxte,hown9<Іppos=(2480659 >Fig 1,VIP (VirtuIP);balanc[hpbua -roAhFOex@9n)๙n`ɀܣX禅ĭwma8failؒЅWW7manIi by0ot؜ĶtemlreyH؁c''''8Ɣerp0߁imgindex8043alIm0"/6GGGǃLשblockquotemS: geusrdо6/,RA4Ȧн_DzDzDzDzDzDzǰQwouriti__^wndu.ntunlxp@8so谟oZrm,smip770q@`le.χ@Ocopiou`p @mȥIndZsI8ed1bottleHk6exh+ghpbePUʇ_bultildOOOOOOOOOKIѫ7^behȯ,ypi8)popuHwill upkip?orham,7776 l

    Maxzviaĉ{racalhanges.tsiult9keeputer'snowledsynwithʂuѕfr@-end ver.urr,if_\PYal-timatabasʘ s,lookupr(aon-tHi(lacyД(,Pdeploymяha(*oneeraiq!Cility)twoerŠjs`И0lyka`Ndecis9@w plp*note`, Xre-locւer IclTɜ/*algor(m aK朸imvehtQw oIspi،me)hi(0e0Xhtowardliev9diskघghputott8eck. ac82o ,ow YrgxlHbygoodG,Hca_G!cypzar)th8oXcircumn,layp`-m 5ϳtil!onfHie g1-wo@`虹Eautomc?9` lhhssaryOurne leaybu,h.o#atogeϝJ2e0d Ffol ;:ex9es:///*olPlialu1"'"ʸjdmgcxh0435qIm"/>cetO@li78277sWWWW>eGt3"_____OOz477be!g/ggggggToqő72qmoQsYneHڽopularPȼ?l׺׺׺׺׺׺׺׺Ԯth aHdeschePOCAymZ⿈requt8debra sׇ «,s0hhrIaewQ(tahoo!p5s;xk߭u>W7ͺd/{@lobal󺰬ozweb-sloadPYsrelm(vemȑsaw soff--shelHȼxc輰(oliddeployflexibiIW>zɳxQ Pfa@hl0;=8dl^effic liz:ȶ(mecHism>˿HPwfiniyӜ`a sYG*onsoftXate5/h2nJ0"l(eft">2equirements F)e 2)''''8cerAp20߁imgindex0436HImage"/6GGGwLblockquoaa.:ģ?9C?H;Inomeircumstancestighteeasonableoermtheoadf`ssing ver9distributeditsearest@borsnly.orahoo!,owe8,؃aispa waPed.fꅊЂxallsntirely (fewy y,qyayscndil well,㉰taominoffecɅXbrpswnRKool.heree1critical3wwleav ,_Ќ0mollmains,roportiPPo irspives. (<`ilepos=0002493165 >Figu(3(cceptꐇ1.)

    - 5e福WWWWSAirwqЦih Waris@pma_lЛdo8nec؃ؾpulςςϬ*вPerZPflwX$bal@`ecauXs˼pZpopulax۵Indeedx yPhotancould[eyQelfc陈yet%nd/ĜAخtrafnY?8ʁk4C8>cһpT0WimgPhdex`0437yImage"/6GGGLblockquo i::ЖleLpp-Ƨ`+ackȹYgsysteHxcep8sк,+xamphsi8yay)ҽ3beyoQiO@(0evenȞtweH7InȪx尀eams(wowثre( mmeetHdana_ҵduc4k'tehoutput;؁ρɁlཷ1 `WB*wyvB)ice.(рostequestsreormallumberfopulaXreadontent;owever,hestimanysproXQongailless.imidistributionsgUlaveeenbserved*o icese[18].

    Tbyahoo!pothaiinglr-endpannotndutvideo. outmCaecxismo@moY2s1n .ewxtrapcmisshroblematicKbe`mpletelywhelmaiece '''''''''&majoritfR,ɛ6Quld (ha)D䏤Mree,t1(ymportaњω raddrX(exal!'spacȎltghurאigener*homoqous,_-wdcl0inevitab!IdiffPUex@yЂGacro?netakeac@ʃσiĦxǃ?????????:OplatpmdeployЧ8@ȟF<orld, geoloc(oHZunϰe`cti`xmhremoq)aڢtrptgraphiȅRbeBwIclim8clos !Fily,a 24/7/365pи.וܠ8ela(c:(J1ɋخ-rrunnRymal/afaulQlntgcefu´ә*xuca''' h2ֻڼ<0?"left%siz +1"wq3Ϻview/(font>

    SPOCAsonsistebeyond8ingeterminic.rp-eversllccasionallyroputfhelerueoagesrainance,რnewςςbedded1refreshechnologyincreasapacity.hen:lactivechanx,tAunacceptable mappi@*Hwhoтc.ndeed,optimalcy,6shoulXre-afrom$w…lesslef@BoinτPrordYfߋare:` af)rߏ0nocansomnj.C-ID.dos4sxv@dNSubn((yahoo! u0?9l?VSaesol1aB@apeciСPolaripk @ZebrayrehؕXriaO''''''''"DurQ utPMG#;ireci$<`?Xǘͅ. WP'sP9bemb!Dus(aRLGמaxHį׼h2^b0"siz+1"4 ;Algorm21]em`kgoodattructur82jkiIrAsi~in,8aP+b?ڋHUntunHly,t9no0bH)fShYwayQstopFaBpngX4/////////+Ra1@H_QSsn󊗏(17fdس).ŝGAǯivhir,9iordrs*keep fix0nu /2μexpliahew ed. Ysiؿ4)un*optz;  binllg;Jburr)o8@fqtar a?s_CivPokuponlw oooװNocfhayohc ropuc/gg548969 >7bRw"XОzֿrie@leReca yZǞu*gy)wbo d+s')w7rimp (filters.

    Ifeiseemedopular,進innefhewoloom ,5will achXlocally.ot0lyoesebranableoreffectiveeographic*ingJalsodsoxcoupdelryrstorage.towaksensoa(8vnt-endzaata㈸eratshǃ#9ЉGGGy P)~ `unԌrequestsroutihomeeOOOOOOOOOKdeminwhcl(Ahpa玈n5asonit(x.POCAOMHtҊꕪDwwwsh2&*0"leftusizp+1"ǚ5ԙAlgo0hmFigh 5A ȷHrwqwoul iWd.ŵ0t cre-/(1uդO7;Si0lSfullsQiremsѭmgΤҁi0n`ؿ&parsshace_\*詩r7pyrdicapǾǾǺOOOOOLA Ʌpusn $]ѓhh|+th`ʳTta3pRzY]`nɫ'$761'6!roalot`yOꆀ\he UaGfsun֕,sp߉P𖐕Ygail(yh笯׹׹׹׹׹׹U*t!Is3Zbac5%romgngisuaay cgrȷЖtfailXsaddirxov,Ͼ"GGGCh3ǵleftǨDz@>5.1ƅغh3/wIqfro(nt-enderverails,heortionfzhashpaceatasssignedopdbecomesnFshownn Figure 7.equestsouldPveen8renormalxtilyaЄXa@gaocti`.hisAniPpropertyonlQeontentill( -rout;ortsba@c0f.Ã :notzinu oُd os,hichllowoߏhuizeffe"acitdž.

    l

    Fig 9:h8aFvidl Keeping@histogramfeceYYouldreaterverhead,ndinhyaseotswXthemportaqueXon,amelyhererefyqloamUo77dund9copԂbformassaryoecidebout8a(radeoffvailableyIstmer׌׌׌h30"left׌>5.4emomanagem
    5.5POCAmplementation 'sonsist ashinggorithmsased `thetandardseudo-romumberenerator.nxtrhircumces,inearAgruesayvendesirableropertibuor rip trafficofilenayreuituAi.pǏNjNjǐNjǏϏSieachzq C80-IDseedourThustane `arbiprily-l,eterminseqofunimlycatxit`val_WWWW_[Wher0-endxrvto8pool, assgatoe@olap`thyr@\Ye pg85represpAw.p(receivBsa2,Ԏ-sԛύ!2@til EWbemappx.1howlogȅ @),,'"IȌ8func#`to ()whireturnDwhuHluxkB.ailu0*alsoflect#___8fԛ9cMؖf`edZwill|nullMڕxgfallЮ4O/ߴߩߴ߸瞏aewWddCloaHvenPAm`Hes.מ mea8*Aakso@m$exѹ05ԣ.ϸ̳aɷwgdownrs~K(h((re-_gb8Ncpdiimgix0445Image"/6GGG">Inrdllow③ainlesRihfup ߗ,ztypicyoY1%25%0dep` Yacipagrowth.o`ji;8ߜJsV׻Ǚ nLhavo߿ٹP100<-GBױ.śșHcausegiblh8ncy,agru؈Xsosimple|riocc ¹wish# fX Xreh`bshrink¢/+fraiizɠ2Xrpo+f1rupcX.ow@r,parsAcre(ougo !yؙoeean`Bytxw8/enjl-moȔtiixiXiAxyboutun€aSexpPfabeᕁXpl heavoiQuP G6Ϯ??blockquٯ0aa>Fig11:ataǦZdT.verylapses,llavedeedsrehrownway.fHrequestrivesorfiYwhicheNroutera1

    Aream5ai>NBYs n ival_maydi0ib"manyAnXs8Gy!pxsincoԕne1nougbtwit ͎alasؚ0itok'B#`˓h2FleftEsiz@+1"6aluFYe 11ɮa1 2ȨhalPf7amouht0orșdZbeep ximlyoublingear-Y-QGOWh`Ho !eae, d druplcoulduYI(t @e w"nX;1sup delPbhwُsȸ":ca coذelnot 1limitIObgbϸ1athrڐsЏ@100%PU늄Xmx8cpisWhPOCA,ojmؿrdwA蛀9QOOOOO`b$x}environm!tha oadal( ) ebetn`VIPv'siguncdemin(ir(;r YӺ㸰yᕚosim ݻ9regx5d.o* 1on 9ǵ*aȆjhHxaxto-Ayhmhi"șguatxi"addresp8SonmryvariraQsm;hՌLYnc胗smoXYawalarnumb:ʙ17/)lpjJpnt-e`FvplatY,nXrsuTzedx4 ѻ8msol!IquiؾousﴇO99%ycccanyPȦ髊ofآoughrippopuit g(`tAron?.bɃlne)h` 7@䰸i)lpInXزЕQpcwoѧ,so'ahow͹0]"Ly:ϱϱϱϱϱϱϱϱϐq0.019奄9j_3¥" mecismidfy1suYz%.a)cherver'srobabilityfeingheext

    WithPOCA`aveenblreduHcacXmissby 5x.ŀenow+dsew@diapossi(usualon?elocasteaflvXaol)alsoၡcPsnwa`gPglx diibutxclPYfr-end.urс^grHhm 8V90managPЕthsЊJmuiP8nA0ym%.ecau automcadapdiff(work9afil8YȀys,AnonAneedCYseparatЋȏ oIepWeevk`solidQ11linppфX뎲llowufurي`mplG<86cerpL0Oa imgcindex044zIm"/n/.bkquo8'">Figu@12: outoftwaImv:s

    Tab1howsstraffictnoneIourataens (S1S).tYprettyHss[d 0.7%`Flasorkq0.4Down3/143numb would[beQb@er,uLPrvalit'sAMSiad(sely (@thos#@aittxvariكlwhoPap @reduc/inb8lm1 actQfen.rom(tJ(???9),also_؈i (1703/7y21t102dropixtrihiJxfigurations in-PexbagIcorrupafreboots#8p407img@0451YImage"/6GGGσLߞblockquot)a>FQ5:nc߫crosll(`$popul(Xd230r 4cchangȫroll@oȏVțaio@fekIIno(1mX@dracxevzsȦi ytЦv/disk+.ϩHTx5.5)ond{,g eZ!sequencmDXobtamaptxZ(0d)erpT0Wa imgcex0452Im"/n'76bkquo'pab1:úZH`M!DFlashЛSISata [6.1hurnԻ0sȵ14, 4269 >22].

    examИYourpooMacroouplrdiratؗ.?440316 >TabbP[ptic romsk|623φ߂_memory頑y$multi!hreatYhis:ɉomehx0=movhmakXoom,!aacc XI3seoBDAL -LODb8.2PysiPO:%@out.Ӥlarly,!S1SǧawoulhXWindowsediaЅY(WMOD)2ea8u/fAU3 GG2.5hu@[GDžƲ3.8۞ook_______ibiggerumbadproj0BVndiApBysiw\h8`:qbenough/h2F:lefti="+1"ץ7elhdork21iӽYURLphm xiehq sh- Xde軂estXsolpaxAelPn(+dicHñDo8rwiocc@aꖐIyzmaHsiAlugt𻀾Ysubtrac(侯˛鴸@vfR-if(ЀngY-manageatsb`8balancfaul oler8BxfYPmi 9'm8s)pVIPdoאӽ^(rob`9iʛKnli8tr0286 >1!e Ҿjtyp.҄NS a؃w.heme d!llA˸(88(cȶONE-ϭ8205.hxQi8hap9pj(Plo)ad,utootseheggregateemoryfclusterfficiently.

    Caching xvicesuchsoralCDN8]ndkamaiWU51846 >15[DNSesolversoirect؇cproxithatro k.ikePOCA,y:@unmodifiedyexcellAdistri`opularE.͈(Z'rasadepahnyques`forarious@canllu fr-e؈iePF`threasonalwaysholocal׉[ 1b8^cerpʔt0wTable 2:taticbochurnim mJk@wuyωωωωϊωω5ωϠGG߉ύωώ3ωωωϧĉ߉ߧOߧ______^TЙr8(ǬǬǜoneig̚ity-awa,i(LARD)F2158@6combinooperHLwithI@Aeloadalangx-ptilizonbas0jЩZbytidYP0ons*.F/^fun`s ush@(Ն bj.׻lsoxK)failu؋bsamPτʼAsx adds9׻06172,ϼz4523 >23ǽp37550,gn弐Էxshፈp,:hasȗXXɿہ)Jrdmapj.ow,Hli 32hof,K_1#pleteedPo`belon-ppxallypaɿ0tween(ow/Wpfhi`уnexȳhj*`nHorkuhChأg729!9b.n(ad,+߉fiqoIproporqalهca؋tsym>48539 >27100(#ɣO'gitiR9 03Pp\m)virtu }.;nseIf0phys)/cc@hidollowargra, 𓸁Y??xthatedbXyulti8Aes??wwwwwwsRUSHW014P%,:sclwsusurp, ؠ optim)ٍaƯr船hڃsecre苢nqaanec(aXshifromelo͆3c"wq.)dypickhheaȧP Peer-to-p@7Qmosmppl0񧊿xn ǂƂ:(ripa`ׯqui0dif Q.ƭxexa012005echnRpapGiakkoupHadzilaco'968( )presentethodfnsuringhat(eargestection)partiedddXspacesoore)nourimessize-smalln.onsideeomplicaڄnollrversavequalaity,iruaranteeorXo eightfoldmbalanbetwee!est-loadndea,eleach's>.

    Synchronizationoolsikenis[36]eatamongevices,ndttempteconcPplicashatavivergedueiYurreedits.indowśP 30041rMeshwv1558 >13tllowooldPrachinexFI'$seaneXslug-inrodBase.roo 0400 >9{provide1collaborЉworksp@pagatPutomPc@yTaroupf.`ls;ernwithrabilitfocintermipntPnectsome., 21216102 >287003)gro| moh`ha@WPfree,Z~uchscatnot0Xhbyupstream`nd:aroad@,xploun‹U exi',(aawayomaenvi0.ϹPrcluRhiz53(4=Sophi_916x3z]hh8 logpgramm0compu\ stb'tspvPhh382 fbulkctransfcos@e9uٿmbinNIi`GC(shipp DDSeshݢp(𵗵ymdeltol؎M(DTN)46 6Ϭqbeiew0a man*ap򗩿(i@z.ԭUndA0ctu0ǟ075 >[ (UIAsero-(figೂna9r s*ΨH|ryIbrAi sh@pap?v350`20;sketchɽЙ$^sJul𶚜2ce-bXdeasiityudTh{ tribubXvi񫓸 ull‹newƬIalgorithm,upporspA@X Oplug-r(Jyp;˕#fbehav)psvalu1 ___Zh2t0w"left]s(="+1"4 4.1verview PodBasesmplementedsevelrogram.teepsrackf3datathe Hnularityfiles. Obliviou(ondeviceypyHowr,supportplug-inrchitecture,yhich9pecificSmanagboliciesanXdded.pNjNjNjƌɋNjǏoNjdinguish between activs2stori>.ӀncludearrXs,ediayersob9phonaAarunʌ^oftwarviH|ir0/caintast x ; itional߆@n8rPlPrBluetoothUSB.Ԕse`feholdormx]poolIna,mZ?cp[ЙP߉ޓ ggommunicate29n`orkhexcp.hena ς,ߞbattX2Ϣsam/-yӚy?.Ĥ pagsurpair-wi(̓sǫǠǫǯok (threAffఠ 1: (1)egAq.I, (2)i>"repPaZ`(37meta ltghogțseparSllًxɜ:'s#[systeHݰB=#rypto-p4alundHHhdirory77/'罏MUdescribчmoP)RsthBknownxPirpacxa]loস籏j`ȽYJBce;loxwiÒlAUC[y9strH}m8hPubꐪ$h0S 4.3.2Sohoccupiby˝sr踐ʉue,Ѥavail.Ղhprioro1E.inu@moni(t)ؿ{eekoeepor29<>min4.2interaNext,;owyp3-A2upؠӛhimizkvolvem,!squd.ͻXy,ed,ech-savvs*pbhchanhpoOOK___/___BDRegrڎ9. ̜(n0A|firYasydg8sȝЛad @l9??DzOOOOOD(a€,tion.torageeviceayermanentlyisappearueooss,ailurereplacem.fႭhasoteenonnected恠anxtendiod (e.g.,month),odBaseromptsheserytPelxderegistHit.

    Dataecovery Wha730c0rfilesed.ԇinmstha0wi0oOf`particulX tvna玘G@ing4softwanچTxnbtainspiof2ropriatdurAeachUh>E@rnPzaB9fault,sdlic:andiaccessr s,.owe(withc؜(ial" Ye&,Kiecrypt2m@jclt@chno(@}Altively,W0bputomXdilug-ib>WarnsˡȓwyȉPunabsbecaAȊufficisp`=vitZspecitru"buddi)al k7terQsǥǥǥh31yߥleftǥǥ4.3İerah3= two Q&eync iriew%syexchaniH.irsߜOImetakn_demin9Hnyhe0shouldAЧZl@N`Q tepOO4OO'OI.1͇YtW4W )sVfollowips (Kpurpo9illomtPubsequiscussx):wwwwwwwwww1.ִ8Clock:c)BᷤmpQknownxghlalu@3Dpool'sjȾAAp9aϙ. ´сromm,x76seta[@bPne so돮ludGBo8r`x'&b߲߲߲߲߲߲߲߲߲2.ï,0Horyl8pa100ha`beVbetw2pa𯼧§Htime,urJ`*aximuroughpuwe8nHorkressPy'O''''''''' 3ɻ`ie::urrpyљys_㹘dsoph@Ipallplug- (S4.4)Ja[WWW__??_WUI1-3"ldU޶(ǰǼǼ.ӞQP KerasR,__C(sh,iz lێh rnunih yiփG@h v (V=P)default)r񴢫ڈAga(OДP)ϽϹ>5&rep ak _Xi€,nheool.oracheplica,tsize,ontentashaluand]drecorded.

    6.everseapfniqueiles
    :aps_^o:set1whoȇmatchq.hisping XusedQdetermincurrɊtion셰l}dataڋrsidHthatiffeBmayXve`l. (PodBade-duxpri0n.)wwwwwwwwwtEitems 4-6ainQnumber,i`respond;device'soglock 8atimeeӃwapas@oXimalltincludenlyHsubW???=h41WVleft??94.3.2etancilibћfh4ouoooooonIstraٖpwaommPcAkwэɚ)carryfu8m9pnect9Theyqp`irHctX(mo ̡?h,ggcnrginL%ŨalsopporohholX߅ (Inac}Behanbout 100BexZailimit,(n MsagMalreadyj_PwritP.)ӌs_75ZWypluoamou(PtioHrgensuog8Sntusiscy,fӋ7Թ`PبiLJPԸXend, seeplw~nee0YupX09ُJpurp,0 "@known Gl javailablpd1U@(i)4bytlikeb(h@(i8ough!q [磙ک)td\xc1erlpohmmaxzJpuse ȯ(mӔBg0jcn@tresiٞxiff@лpzǰ_HѼ''_窿W񻮏anyLthǀS陯tȴ򾕺Henы_G ai /d+yppearЭʰyϒhav)anjrѢPsZPiRj's '2vߊǦ!%'surBf>teP(-.ɩ)J6fromjh4v"0"leftoo>4.3.3Ҷ9궚aand€,heneletedromourcevice.inally,လay replica,okeoxforno@rattelievessoremportant.uringtion,ataatransmitincryptographXealormndhashfachm'sontensttHensugrity.owodBasterminac1ashoulder1YsPscribSe 5.

    4.3.4ĊrecoveryAf8loss failcaniԔ`oHmus'quesoҎn̂ܖ[r8Panyilspxibl@guid(by,c0deta.ԙmostav(a xsad.ՆBspehupFaroce؄appriat}sndhAanP+compy'Ǡpived`i0tPinu,#\poolepeol{tim"wXhrwYou f rd"@w85Ҩ,//O////">remؓj8frepWfГelȯf!s (Xdefault,= .15).׶A͆Ya,AsR ÷ZfirQAmoit saWn쵰l,4߷;havw` (domagned)i85:sdi!shn1pohyC}cy:~s3Yepenx͋automcpag!gvcurmo(7165505 >2].uʖintegrJp=񵜼߼߼߸ǼǸ߼>Un`NP"BdonoHp7ߒuld`鳜CglobuHormMj֮wrؼ orowiq;acط*lok(j၅roltrȠImbarvotO !RP!ym>DtRsan(DRMȢMedistor Ij'may9tHbypyht.sug0 map sairo^H,fpp€,ly,hen)oliciesppropriateoriv(mediaypeanemplementedlug-in.

    Archiving
    :automaticallyatchblarge,areaccessuil(e.g.ovX).fuoccupyp`8evi`thatsearitsuggests0collectiptoifferwith ff@ʍҍves,odBasep)">C-speciymc,exahepДqan@׎externzep3=nsJblhfaymusic.orersesubset ncRsm.ƚ instancw~olimib,aostc0dd`ۀfrequ )pndom󋂉QorD_____\1___^Arofcept@eelopJ'"smXfʥhorৈmhiTun TIiryroup100P0 JavadyPtwoSDApScrip`:؃h0raܩGGB7h3ONleft7714.5ecurhIh3߂߬߬߬߬߬߬ޤ`uA"sihannelsxcommunmo0-ȳool.׵ޫproduc8"5y, keз(PlenRxHparip(.ճsavHresxasswordPXish}etadataZfpt0ryptographsealhmlG0n P80min𨘾riskexposonfidjsilen.~8Bermiss𛒺G -Rbez*bh3z_?U.yfaulmana8%'hs;drgㄣְ8treeam0O9sHngdlrolho(holss 8lea`yʂwqbetwediffet2F)mpuP.ftZolÝhν\Ҽ|snotoSߺiiXof`Ϗa0tZȟXanre !¢xNhohh2s@="+1"?d5Ҹ+Q2''''7'''$WBsumbXlgo@hmGder- rnp0hI Z,H9F?opportty,icsoodnමlABm r ofآY-optimqAge(zon,WTnev@arliAhoo^"Wtur uڭPsijlue.)xioPcl@Z 0ekpquBc utiSЎv`re赙Vtowa̼ԌnjŐO)takdvay1shuttغYtrans1C]cl8"fe.g., E`ndpcr- @ À,caseshilevoidingegenerateerformancennexpected seemhdaunt.nstead,e@cidXtooseptimaleplication!laXivelysinearsiz;problem.hi pachin!design Hssum`onxboutymonfiguyndsag8atterns,mputmsolu[8atme,zh`vaptabilityPties.

    WhverwoHvicn,odBnPzo݌multi-Hpg)lthmovth towarPgotqs`rcurreЌjrlik9futury+sifhɐ0phouldle0piporPureccorlyIn l,n9firs8ofʙ/̗rvanHHitcnt0| Ksubsequʎ؛X aul,iAy pe#ctualoc'tiffifroP0wd{follow9,criȃڠmoJtail.ddi€IX,rc0fouhaechnBort21]h3FJ0"left>5.1ҪbjveLet DpaxciȿԬ!FC፨諀#+.ƫhdw aQHܗkmJXermmain` 7ӥuit˾˚U_Tvoiitx!2y;g"sxr)z.ͺohhtimeum`sfyOO\ullp?ωϖ',nAvr@ qrom;t op€,timalfheresoiileelection store-s Inrdtoplvailability,lug-insavep⁀providePi>ty'bthatsspsIeachevicedDa(tfsGlik?=(d)OithouldpreferablyJ.ԇ@c ,-iaْ nXfinednumbhopi(*mat،9enex0ssbygi.e.,8Ncenterpdiws483wr5GGGaPsir(goal(atTPodBaspls 8,>AsuafollowingapertIas0sfied:_Duz_]A٩,ymaxly&p)exisG>A/Amo8/(s+ܭ'&,???8hare;Kgډوbyusefulh3left5.2roblemrmulCh3EIsyst,ff" XIȍhelCobjIv-3larHmeticpnstraints.Õak`nsukψ˱Ha@(mizね8ct؆weroup0quivXclP؆ gorȇ;;1sam}!yۋt8,X0"sp8fy(htotPamouHspccuhJxv˄/ThsifntduvЊ,Wnhino dependbu߼[Maoo0o`anysay77/߶ߺw߶ߘޒJnb0ygraph ucaktwe!pai0tiBedJwb imcostdata1nsfxUCalc!um&peInd.ߪiwÉaxoȾxypaxIWmc؅9{`*heavily;PidumeaimȿӺtX8ppte8ise21]//+Finyʕ7L (cop@movte)odBSerYegeneraqusprɩordHacertcha (e.g(ox{fromB^nBIC)esow;iޢdodקbyt۫ǼE)Aqwencuombolpcri0plouldxecu ?nip*Kpu®.ǝZɪhӴgoжopxDDJso€,nt>

    Theptimizationnvolvesultipletages,arrowingsetfandidateeplic+plansXach.irst,maximalwtor ksomputedas0availabp( Zystem. `n,e悸durabilityy̆)that iev-palliles.exǃcostoXoseminumQlinkhI[nӇselectmoremahG|finׂՎOPumberanecessarygp(PodB`ᐸxec f:res/,#py8,ovy)cascurrentlndeviPefficiencydoo0onsidSwithprRare/ (Fewte*jcpr؄`.)`trib bǧ socidd arBT,exteX)y` wariq.ȦdosoextiHSineaؾO okhu\ǴPpur/H(no -upYKxrun{on{h2.20"left}s="+1"ϰ6ňntevaluz21a]637777>6.1ɍדwt3wM À,ismplementedsser-levelrogramrittennava.ostfheode (48,512ines) platform-indepe(nt,ithexception9amallmount (about 1000`custom{achupporჅ (Wows 2andigher,acS).ԅȅspecific[dealsKzingisk`namfiles;azcurrplyequires0at ragvicexɋYystemterface,ʁactivarebtou 1.5ytea.

    RunnPodBase (uskepphoh XgamAnsofeasi(,HNaddialngXefHt.׏eourtotyptrr؂rade-offetwe (earxgoeca8tanRmajoPyю=Qstudy׋׋ӋNjNjNjNjNjNjIcxloy0 terver (2.6GhzMDpon)CPLEX 11.2.1PmmerciLP h)AputeplicCnUsAsp˜nstؘ㡐noundoczyςᙨp,FabJfigurzaoc,freeWackclp3]O rate-limitPorky/O,rȀXnon-ceunsngle-thd0avoideoprp&@@`exht ,waiensاYs詸@`Шsw}b8grHdWWCh3\a]leftGG>6.2ÖyUo`d5a 8umbhan`d .ɺHudyun9psȄ:ranafrom 270MB2.5ü8c⒪macտ!ca(ityQmo`PF􀌮ᅧ9\uhQHowe* ׃I(e.g. USBhicameras)pviaXmechanismwwwwwwwwwsPol a plاsetwekthirsed"sehȷ180/4largegldu7qtwoHnectrimmedi specul88basi;Ȥjpiz+back8undinnce,Eeȡi8«eaӖ er-ָ sP8id;TQavailabilcc;rqcn"جbe (Yly)h,]oitintdoh=€,"0">
    Mobchieqh8tor-of-ZO,iakkoup0Hadzilacoseak opqstencyriton,ow)uptwiinimumt -mappwh荥Zler.ԅurrnscs-ƕ㕙Ypropoon {ڄhash)[12]ass0xdlopu>wiuwamja0ngP+.tx@d8orky(Ce}47924 >4sYPlaxt0RajmGE2503@7BYb)inhatxin9blj?5510913;bu!ϋ&rquj,.nlikePOCAك8;amHecism(rz,hul ole0c 0sɈyslwayPWclclis, Xn[uunh20"left="+1"718񝉰8NSDIs 116.SENIXssoci2010'϶//ωω϶O2]..loom/timrade-offhash2۶QaberrorhpCommuHACM13(7):422126x97'''???OOo3 rd<aref="http)://www.brocade.com/index.page">http. [4].hankhunthod,.anzig,.eerdaels,.chwartz,nd.orrell.ierarchicalnternetbjectache.n USENIX, 19965].KmaniEAunY.uaQR.ˇalaY.-XW.ne-ip:echniquesorong vicenhcl`erf퉈ines.CompuNetworks29(813):101910277??????????????:6]ǒeCi0DastorunJampB0KakulapatLaksh(jPil,ӔXivasubrVosshallWgؖynamo:mazons`ghlyvailableey-value VSOSP '07: 21stCMymposiumOpRsymsrinciple$NewٍPY,SA007`Press7].ƊCao,ʟlmeidZ.rrummary+:xe-areaeb+  gPotoco࠘IEEE/Transacti9h8:281293unei08](reedhude0a 8Maz9Democizc8XublythraxKNSDI'04: 遘fXnkS?.ed;Des2Impm2s 18,eley4.pAssoci" 9GiakkoupisVdzcoAhload`0inX@nousistribhdash0йAguilPsp8,di8PODCOs 302311510]IHHonickXXMilHush:‰ed,ecxiz؉ޖa)repataaΰ /1PhuntGoldszm,KPMukherjelxrneoirnet vicѵ@Compb|30(17):347357, 1998O2]YKargerRLeTYoiXgrahXLevine^Lewin( ᵑdoms:?olsligohpotztldڶeSTOC '97:oc ftwy-nhnuala7nheo0czs65466NewٸPY7_Ǹ____________3A `ٽmBxogstaУPDhh(a,Iwam2Kim,atkinغaY.eralmi.ebιĐ*WWWI'99Ǎ h2ȻOIWrWq203121Z9.ls0orth-HolЩIncgggggggggggggg4]yLachurn-reyapeer-to-Aњsy mMkshopSuHvSelfRex tiveӁ򦔹922B3GGGGGGGGGEc)kquoteidth="1em">[15].ygren,..itaramaandʀun.hekietwork:latform (igh-perancenterppplications. SIGOPSρpyst.ev., 44(3):219, 2010.

    ,ecezplmreӚ88aC6hCM/ʦerKp/ 122W<0leftwwilepos=0002474568 id="chp33_ftn_idasup>*h12׽3ԑer s="+1"_ZbuTidyFS!Si`HSmistribdƋHystem@Lh1G//oDennFetly׸׸׸׸׸׸׊WWϸτϸi>Microsoftsearchie`iWW߾WWW׏׊oOoO0href="mailto:f@mM.">ǀoh_W=))"center">Mayaaridasan Microsoftesearch,iliconalleySwaminathanundarmOOOOOOOOOOUniversityfissin,adiso??gggg?;s@cs.w.edu">oh2/leftsiz+1"rba>Abstracth24"justifyߴ>ThisaperescribesidyFS,pmplendm xt(utedisystem trovi8pDiXecesxyoPatarl putaKclp.nȺxyreaseenxplosiestHingHg8modh,harPnoth2ZFrequXlyrprimI/Oorkloa`suchhgenerabydpecenginxMapRce,adoop 0Dryad( h@-throughx؅ial#read-mos.ωYarge-scaύύȂavemeXdoeet sLs,abdGoogFS(GFS):ن$DgoiHDp.S*-/*Xpopulat( - (ossiIchi@ yggregI7زȰstorPol Hcа񩛱-"tt˵9krXBe-Bᆰ/*xgraB/typ`l`{f0e<+=0002630424 >9q]?=20913Drw?75086|oȩAitražHay`dty*mPIGׅ5109 >22IVE2564RLINQwv76778zprG0*ila)ndault-tolerancehileemainingPlativelyimple,heseomputframeworksdoptIilartrategiesor/O 9loads,nclud!llowpropert.

    Datareoredeamschripacross„ ster|ersoatᇐngpK道logicalncnonfartskYf-syHxPʃachinj8bCڂŠtyp @eliz Me1aiAbpވs equenti0dsywcesawheppib execBa&J)؇>IrdIoet莸rixbwidth modityardrHsB`madpWf}. OoifyAuun??:doot mHne-gr nsacKÎly, f|o8se8Yreplacqan 8LiXaewp`ankin-epoJx@/'qeveGGh] AumanM b77:暀kYaghowr,':mHwser.f1 r[habe`outhir,`أamdpm ϗǗ8vi v@be navapRutomp[re-ub-WregeniIub`}/zpN4"h="1em"ign="jH(ce="serif">D墨 odXl Zsuppoth"yXb- ,-through, 1.Զe҇ Rr41]3GooQFS;(GFS)31130 >111 Hop dwqHDg62925`6,؅Wj597P2[.nsurpriʕٹi<@sx:eta񤬎rc xb2se1texfrom,lgcu(noyff8l)l`(\;+@:exaY owsfdmidd۪CchurraappenmHiɤ3: ugpdeoff8twQlvaB-ӄ|s08280Rcb%adMq5pa!kӪ5reli`a@co#0Nd(c(acknowgAclix0ɡ0p>only

    2idyFSsage2.1ďM3Ǘ#Aardh+betweehmeta).[storHblobВcomputePtXs"mmutaonceriXn.̓owSpbinformrsets,ayhsonta0semanticaabouy*eه3,uchaearzHrelioneneX $ooooooSos(ҟlareamHaҢ@xequepareajatom8unit٦Bundero2ym.a( plhmultir`vidHa8-tolʐa`ЦficderrHwcs˭K xP,suppo0QLbhipai8corXd9ЙpݱIYlog.Բ`!Rsqui8EsmIcr@GnvT[@85op(DximiaWindows-d-ǺǗ_ǺǺǺŰЕ7lcaaifi9񋣀removfromadds;Tc0H9Ȣlong-lHdLhemb08>L ; ۼnapshcpҝ{icuȟ,Bbܠr'sK.átPitlypPnuQШ8lo ޳iВ{n-optzlѳ, IپinǺ:_eٹP|(sibxie)ep.̀9ex@qeSly,1e ,鎩Үqxdele`yphlP lиhX䦑utᕕuliބat garbage-rr(failur8WhWy jiQǽo8al schedulyɼ?deL|meta𽸈akey-valu.́]Hlu׽leng)Ȕ`gerprϾzamhtoY.ab[7]ذLfG "{Pee}0bactup pt)@bitrary lobμQͿǦ"pcrimqsri*mwqgenbߴtypxrdPKh3 0"left>2.2\crns) AliemayeadataHainednidyFStmyetchingheequencefartdsat8mprise;,ndnx؂8athoirectlyccesAeassociatwi`rticular.hiscdescribes-onfil@rBs localsystemQ(ler iunatives (e.g.,TPSQLerver)respop؈!r.ɄccaxremotI2retur`metaʎAtsnowledgTnetwork@pologorovid*Rreplicasclo(tIя9ׅrioritizpks,]{oro\samackCfinalh!noXr.="1Toӎ,firdecshichFwillHn,TnewmptyifȚiaryӟ2asks pre-tesetϞȜGCJ.ׂsh@,Plhsx]`aǡgS0p:ꀉ!PypЏ!G8M(unnohXum,:hpvailab*Rthpi 뢞dbeܬusupplyYsgernXAYoxzsisi*j۞ immutIsPle,examp duJleexpir '٫8вX0Zșy(subtCrsGGGGGOp~5ultiіSF؁^ָ8eabeemitҧ8T+Bspon]azilbyte-0@ijLlibrp,$g؟eZ,M oa0,osiaaneousQt&__OOOOOOLxsiwźdus'%aj)ifferen`behuGHDFS.Σac ePadvages:GG2ulXli>Itporm/Owi0pَschemHmosui,.g.+i鿐om!flabyЕ@SQLױ

    SJsuxHDFSG@XmahilibrarieAlthougl71yroviralugr,egaincityTa㟺maklazyWefaultpotiloHEs i%h1un8lyy ler*̥pЈlmo:unjt`!0kx$廙duc9xorigipart,bre-rucdHlyםكu@(kloadlog,iɆ*aem0(JhkYst R ؛!tribum.׭vXrhnnd-to-8ό̬ѯhoi@Ύwwmiyb@(8(do)<gruAJWdinfra(uctygAΡڰymal:negggggggggcbigg7benefiؙcurr,\seyerpoTI/O(9xf k1aXe weedi*.Ӹl`llowX:achedulf9D@-spuot0rYأ,denrvo@0x1rbitr褢hcu򸘴h`ldcCfRsOfrs9maj`deoffmaxJ cityɑ}lhgPrhtC -rpp(feasisÌbe yu}Againhddh Dh3NR0"left>2.3QLatab1]how!ȅ8(me )-warehoppKps hsiblo iev@ubstantialerngaiingcordbba0raHrnlyQflч.׈XeljResupportSQL",omddixmecismsquiAretrof'sagHDprovid@:our ignhoIdoptPpint acreadᑱwr@".nushtautocFQ-only߂LXr@emro(mtargep%Xromntde, r,ryadLINQ37677 >28clA.NET-to-⊓`oPbhybrid홲hippqutpqwmscrib refHdȕ.

    3ystXarxtectureFig xpaia{FloHaonfٸc stȋXCٕ' l|fo!Bexs .'''%3''''>3.1͘3EהׯmosɖixW] H;aɎm sy:H-daclo?j1nomoAZ.u2icrro1liabilityollHػHcou2O=ult,iעֵЁS6.׉ȺuAutopilotҁS L̽24815ȃfO9ἣ!>usPaxosWV3699P8SalgthxF׾!es0 susFSrеnoicitroТ) `Ȓb?sKURIcرani baʤþirthshe@y"nys/i1 q#.Ϝ0a-OBmd`'aXy8L.ɹCً'nowmpty,XlsmproXinuh`ursivuphihȀ؁lnon-B?Xopd.׫ׯ׫ׯׯҢck΢9nӇJF(^2 mCE'qXpfUspvailaimiخ2_@-ypend׽pq?Eﵘcbаxnzfou1s: ReadWe.henomputerransitionsetwethesetates,csak`eiheistfendingeplicaartsored that&,roth.ffrom <*ReadWriteodonlyt,郰ׄre8assignxXH9ijǃǃȁDPress:ll#ncluZanyhich TUnavailabl)simБhowevmaydSd~letddalρ$߆׆׆՗XyannotWgWsisimminenturifieTidyFS uld i"nll. Icurrimplem8譐/& ysul2adXYap'sQmandeaveunhuivAIcceptiurdlAew肘٬wbope .P ely䳘oyț#1automc@i]Xи @Hru"__t𸀅Z1!cFhuswell-knowechniqusuyatchdogs0zApil[<8pos=0002632481 >15]癟㲁metadata Qalso(H r-iam-tribs sePuishedwseaPby`у-effIAPIhll8Yhp@(birrYkey-valupaiIo(Qcli-spficȔ!:.Ƴxs͈F PYœ)im@las,zHt"erpr,ealengthK???zXWOCj , d 0orIo񎸧quns+viaZiba݀ kRSLXd9rIs̙?;l!iwillic faϼϼϼh3w/@left>3.2Άich3߼7anHٲi_AZenancaskmPcarrix·asiX'aeׂպWindowruinuousn=orage.Ŧieolز'о)funjӁnvoktfigurཛྷJxp3Miodpor!HoOW,Eamouпfrehpa҇kriv̝Pg艃llh, A i:cfpowagraphso">Dseɭ$9(ila`:cotinPall)yarriedutnheetadataerveratrigghactionsestorageomputersystem.Ԃdelefreams,iairHreasexpirai,郁huchpe.ncellk⅋referearticularZred, yxplica[Bshouldepmov8fromχω4holdtÊOK8respible`ensuring,psufficienIҋfaq, cal0maximumfi7esbelongo)haveensign`tor,nodicesRutss.

    I!doȕmiwsهؗOLawXiod0c(hCoewoisЇ:firsty Fis;n؁҄dܗ52١notx2cop7777777773Wh rosωω̦ϊ~mayifjdiskҏXesˏGIc!iZ(qX alwaynrro wicawinT?:,Xchancy,iurnGsmozxnewwiary'ǵ{篳BXp(ɌkUQ. Xt(m@mon)ߚJappendaciP@a=7ti`Җf*filF!req߆RBrCH)DZnKHpcor d#Os+Auncpseudocyȩ9 Algorithm 1 <1>LPPAtN(,ҽRI۹̍޴ ʹrn-empt 74+wsIea-obtaathұh:yZTߺ{ۆ|ngerpri9OYv0bensuItctly`pi*?<#!sucfulf,n(v!ƿ' gP§z">Asexwn 4qsubstaal PǦifrequhaLxsxQrro"cerͪqs` r(abl@R|sym5]"tp

    3.3idyFSxplprTtwoonlyescribdealScorrect:9. ِٕgraphh disbp+,amHz.ɂmarychanismƒYЕadmitotoap5Likel`rFl t ύʝAmunWviaCZibr.ƅ],provivisuz׉ohirchymbR0ndibxoohGrosMequ꣘rrisH ,relevakabouإU canGUIdt,9m(pul`//pae@copyDbetweȊ .l oi͓Hmonih͌tincluddr7realt n1howuagp٩f alsanКсGGGܱq ceO//////,4Ҷ Plm??_?????">Whchoos ep1f`el!_optimizseЖHia0irsirir"?Bicprlb1crosߖ8siؔiHowsyA轠kad:lleЊ!ce8.econd,dh*rough`bala(n. Figu820a(Xmu󌐢tȠrun.utn-HڷTsH922tsQX!}numbo{777GGzGG72T)`fösWHntitH^|wc.ךߚٗictxH苒yniflegal rmeEǁٿR`WqWenitiallymplementedolicyhatssignsrepaoeegalomputer`systemithosrep.nfortunatemanytreams@nta vermarts,nfaddingn8uch?taivenitntinuesbe)*YOLSinc 20omȅsreu؀himeodhpi0h,؀pprobsulLpoorala16s:j&wouldo(bedpyPȊx'`i.

    Tlackyluڔ.QS,imilarus۔aKinesject19]techniqdescrib[4711 >21. 2apa(8Bid ifi8se{seudo-rP0numbgeneratorihoo[sсۅrawnKselȅSW ߒ 08atio.ИHS 14.4\ɗsccepta@'#Oxy0ȓ n4pڀssubsta(bmodatPhanhrs. QeЫҟk񪈨d3.5atchdogFig13:idyFSPI -ϔlinvolv2侶'ϤϤϤϷ//6Ѥ">FenesBl"?`rMoohwstreamArevious scribedἨdyyonXs (ϴȺ)Exprer)҂exlpwisha෹riWWWWTails=0002595667 fHঈ 1b|idh𲼋ղ)add`,8dXmoڃ SetFreeSpGetPartReplicaList

    Figure 4:API -όpationlvqstms.2pSy4<!% :ubntio؟ neQsBrox8IfPnT葢lo|2xq AZߓ:9pP(ris-Y sguarHeupjrespѡh2FJ0"left="+1"4valuexenceTidyFSaseeneployedn ctivelysforheastearnes`chl@erth 256 vers,hereozensfyrsunarge-scalata-int(omputations.ԃȃ isexprogramӀngDryadLINQ28]ym.Yaralleliz r.NETthatecutes[:2750 >16coarse-iȈflownginerepIntsω directed-acyclic (phJcesshpmunicviazhannelIt1s istoragein`outYi,lMacit8PsetyӅ2.2.ault-to(ancevidby-'pfaȄe/a0scheduX -r QuincyǑ32127ÏtakoIouPqsizКhlo酛zsea،DInoowhiBșonכhardw1escribpourpap@w].

    rʚsubsePǦc@umy(]Onfr(ructualPHlu N`ج_]1521@2[;en`߰ق_omqP-ߴwh0sHalPdyRc,9uةarlexan r(erpr"A,awodplOOK???????wjunwi`aLlidve,itaysPIerrٻ(well(i!rm.so!y؏@lie[QۅsyxMapR`Hadoop̃um1discuss|QqprbilitUϬώh3~rԭ٬left>4.1ľol8afa@,u+*remote.ҀBxadsfero|wherehelientsutsidompucluster.sxpected,majorityfalocal,ollowedythatccurithinsamack,ndicatingcgoalmov onoso"datavertenchieved.

    DryadLINQoesoterformnyagreplon,ocharw0onceandubsequlYClaziTidyFS. FiguX7howaemouꏀm9Xyurˍple)iod.ԒvastɈГxan ivalj̇psiqefault'▘twooluX}dele1nؘRfScorrespongaQ3'primaX:vwnatorwospreacrosTisksctualtwiasrgeh3>B0"left>4.2cceparnsW pBhappeYo8{h(nthsCLtixPertwց~Brbe1w8ginoj9109n8jp8ؓumulvpistribuB ?(sesooonamPc`WAfirxfQmin(ЎGDXlmo40%ǂǦqΊGar`d 8'7on$@="8Qer)p'imycex04620Im"/6GGG_lϸonbhkquotX>6:erabyYo,pӱDtrack,X-crem s7'Ͽ7///OG//(3//oo?////7//*''ﲱϲGKwwzK򠗠kٯ nodتȹ`'icaskheckQٮ@dRzconxoun #.himؤ)PupabeeXzE{p@cb(wxowwihafew(cho`wheȅfromǣǣýWWWoWWWreffecNobZ1290hichpropor_]rr{Zoud:di0r@s},ȳ kl޺Ȥds(anJthos oul8鎒copXt#.ow)0totalumb?'!ivrhtQU.ƚY콋longcOhm,kpo(O:umudistribu;f*eadges (timehenoccurs - dataasriginallyritten)orrringvereriofhreeonths.

    TourthXcharactxzeuler'ss0ahrneyzede8lationshipsn andrequencyetweseapart.n Figure 10Ishow !ofH;nceyave.πagain,J#,㇨idqllsubstthat8ppen1؏.Ƒeach IcountDnumbQp.`(rv@fromjgraph,anywupam.ԑ`elsolarwhipIneA\hyt9jH08cer)p0ǁimg`cindex0465@Im"/6GGG_LonT9:ropor )alithPkBcross{Jgroup("ߊߊߊߋߊߊ6ߊߥ'ߎGߊߏNJߡ-:Ιx 㡨rsNWWWWWWWWWWPF, 14711pressulȒlastcceʜLȟ=syHm.ѦxnqOډ ḑ,pmaximumsixty yploаcummur9'`0unc8irڻ8pproHaterPhxnB?$GCX!distribuɽ2ϼϼץϥϥϥϽϥϥ7ϥϩߥϩwϥϥϪϔ-:uމ4.3azy susůreplicnth3Gװ/GGDI)doPalueffeXYirarst`cbousa`Ybefo7eed.2847 >Tablأ showmeaЂtwALbeingdd0gж嵹r ȥPat{"are`hwow.ear70%hX;X60econd84%2inШ`96 oneour.ХQ9{jdunod(ervi(,stoZcompPr5schedulYAdBmaina@.԰0data sȺ llHailbfrom݄ׄԂzrjfpovHptjX@mɏcl@fewund]@Wex enHhroxun NfعA ssoг@o1ny:Vґsequegnwwwww꯯W:͠ؤ﯐qrw4lm`:Lo8Bal𥈯OOv*> Asescribednection 3.4,eouldikeidyFSosseplicasstorageomputerssingo(yhatalancehepreadfartser8mcrossohllAtotalre1vailablPtge.ׄarwoi`0implemented:initi-basOtpHpoorlyds,speclyorosPthanym;nubsequpest-of-thYromhoi.I2ist`tweenv resnumb frpiIa@X8'$fWdeanL.ԕpgtdfollows:mgdexX0469iIm"/>he(XrXbÚp,p_7{^߉;tod, nϋf׃R Write3y(0b://*g8cr9prߑ70ߑڂ5GGGo">Q/*behavi(wPanalyzXovp:xoh8time:fine,lO);ecFѕtBefdayQ|WFOgivХE 1{AY9aAڭt. Figu1xa> le)h7dHshown?!,anɧi.dur#٢cύgshh2^R糶lefts="+1"5e`@Work26A],P755586035/3113X11\HD_29254 >,N9724|PsasO3712H27ҭUrsainON225Lsetetamrom3TȐHb0p(ra(nowledge.ommMdootjt҅ 0ȹuppor@HlexиXiwrise,奐ylyi9)klgoh(WS)؂"mig0q>p8xecu盡o|()箧8nqerpimgcindex047alIm"/6GGG̷/bqquooFJ 12:̪|efhus *spacebasedolicygainstandomizforep0alment.

    TidyFSsosimilaroǀ[11] `DOO29254 >6A, ?<59724:.Ʉollowsrr9metadata veresfocusesnorkloadshere writtencereaultipleimes,ich8fi8eedcon model.espit itwithˆ, 'sdiffersromasystemsn orta(ways.Ԅ0gncقethat4 bnativnterYoqy쇠8bosupplyLowacXsPI‘Dchoil\lat?,:exae,tisPtegpart-s`ibu1WU0GGGGGGGDalso'!9howt0hievr(li*ՕGCcras.Rmteckpoapealog{΁shoulde sbeeHanghbecomeisiboQttH2ojallfkeep ckٙIؠqPaxos36998lgohonb)acroH#.appro0dBoomoo274750bHT/ouildeclxuag pecWWabtHo dh1"snaybridrge-scadaly0zexploi1mabenefɐn,o akIHadoopDB߱6946ذNhbin(MapRedu8styؗ0putīڄ8f[ualtghha>Чiy'a@notZja@4WframeٕШeu@nPecu9ضnsingle-n8g񅯱ɂpryԀRLINQI}:߬߬߬h20"leftݯ="+1"/)6iss,i˱߮mIen0mm!x=ordO rH\ H+sXԪ-ЪtIemvHBASEtPZOm3082X10 Aeyoѵ4411 >2e"seticɱAh-thr put,low-,Y9We08howQQ8ګc *ofata-intensivearallelileystemtakesorXeoddsetrviceoreliablogging distributedueues.hisasonexampin҄r4]ndhemazonebӄLׁ7996 >3wouldeurhoifeeedH

    Ano@reatu8thatidyFSacks 8asult qnatQrs automcag`replicPon,thexcepɂRalQgPsase.gaahappytradeoff.ɂ yearhabeepeA:0tstHehHco .lHlP)@primaribecau(p`smhzdoyment,owesuggestAlaRicli'spfa-tolHn(is as alЎ̜'&despixiworkprfailٍsTfiQmajffere頠Icroly DryadLINQogramsrent 7bitpu thRcknown:jPhipdpoometimsifhmimve(Hdlso۪deqIҤyckHB!ȇlarѠp󙠓Hڂlaori8s`Pׇo(htuwHsfixsh opst-of-threAndom.xh {HBJ"$ЌRkag+acrorf dfou҃(7I3 nvas0'PeHtithouspf6rB,hn*iI/Onehsahrough@:jr`ⅈrA1gRdeul*RmHg ܷ Wh0moXeHx)genrɌ"đ؇ihhd-ɧlo,Aprhj"curСalmÜxecuZ.a"rӅ,n@ix̧@sidp@XڌBGݪvؗIIɸawr,RrmediAshuffl0]rafx,9nbȖnefimcrug*Deuinschedu!meIspibp`opcircuit-s xtQdwaiadvP0̱{flowAӎ2.2+ ުp+ ctcho lpiunfetAcپٿ,.ϽӯX on;crobewdeciaaiǍbchTҒwoulٷletȳvPer\BdFј2o mXnodYBoge"ڬekeepaAWmaboAIro`imariezоf HujR7dunspHhmer"amfashƛԫPirniloc(R߮߮߮߮߮߮߮߮߮ܵreeeta3 0opaSQLJbain)C++RSL cribahradȓ!uxSumbIf no0@symrY|exMbuatuS))8ma(cwh1araceas)attpx򾨗 t d*ssescribednection 3.6ithoutheddiofustomachingayer,ndXrerrentlyvaluat9thisradeoff.

    Overallpleasperformance,implicity*maint abilTidyFS.yon@`angleorkloadatente( hy8rgPmouh@I/Oyfficweab@toevisitX cxonsde bxuccespousisystems.ԎresulJ{haveˏYcopierQwritdebug#h2΍Ҏ407"leftsiz+1"oiAcknowledgmsBOUZIEDProc೘sA35ConyVaLbData¯s (VLDB) (Lyon2009)碗ǐ2LVAROPxCdONDIEWT߀WAY/N(EMELEEGrHELLTE.͐>>EARSRPOOMvs:xplord-iccȺh programmɧloud EuropeWComput8SC (IhDPariK10OOO߲ߠנײננ׳נ3mazWebervi. ǀm/)ϥO7ϧ4RPACI-DUSSEAU'H>NDOũ TEUHAFTᙕUhٗnTT窌ggٚICKwK.lP`I/OXRr:kfastйR6WXshopin pelcispbhdoIOPADSAtlanta,A,S(199ǨǨǽooOOOOOOOOL5]gIRAVASUNDARAML.rG%OD_xG.PATH_ӷWCHIND/󷱵silat errorsdiskr`MeasuremModelASIGMETRICSDiegoݷ76ORTHAKUOIHDFSrchit.ech.eppacSoftwareounXia 87_ROA.8mepplic"rabin's8erpptmetho&SequsI:xmun@e*curity,ndomputercience (1993),pringVerlag,p. 143152. [8]HANG,.,EANProceedsfhe 7thymposiumnperatȀsesImplement`(OSDI))SeattleA,S(2006)WWWWWWWWWWWWWWR9]ĒTapReducSiifiYssAlarclers.y6{tanrancisco0410]ileppends HDFggggggggggggggs1]OOO5OBIOFFH>̘}UNGS.-T.ԡ Goog,19PciXsOSPBoltLд,YO3O2?UND.˴RVINAT̶TvKKXCY/Yϱ>ڸU踟L.ectarutomcanx1)rhpu̥2cXwV`ouverxda10d3]adoopkicode>hDTTP8WIKI.APACHE.ORG/HADOOPxSIGOPSz.Z.ev. 41 (7), 60676ook,§=DIgҥBIRRELL9FTTERLYD.ryad:istributed*-pareligra@fromequ`ialuili J77 2hEuropeanonferenceYC"U(ILisbonortugal7ߴߴߴߴߴߴߴߴߴߴߴߴߴߴ7ߖߎuPRABHAKA,ֵCUgʶ W IEDERU>ALWA߷ҵUOLDBER'Huincy:8irchedulfor?clȴ״״2AߴߴriPSOSPdBikyHTXSA:9______________\8]̚MPORT,.heart-timRliament. ACMrans.ompuSys16 [19]юINL,.FS:volution fast-forward Queue 7i (AugH -0:10020c1ITZENMACHICHAA.ו>ӂAJ/REEn,¤RIVASTAV7KMA`ԨOMKINSxPigaУot-so!Xnanguat`ros@Peds겈28thpternonalnferenceIManD(SIGMOD)cVancouvC`da`008)3]CHMU,ƯWW>ȴ}S`_0GPXhared-Xkil 2larculere 1IF%Tologi(FLMpy`A"2''''''''''''''4'HVXKOK.0DFScalability:limitsYgrowth ;1n 352pril105INNAMOHIDEEWP_AMBASxO顡ENDRءʺLmUL>Ǽ.G,ǃ90tspntly-met(vYUrsainsdkUSENIXnnuЖiؤ'e (#tBerkel-USRwϾϾϾϾϾϾϾϾϾϾϾϾϾ6]^HEKKATHCANԾ>EEwE.Fgipani: Etribut׌og6`SymposiumOpergsrinciplSOSP,SaiMalo`ce, 199777]׾ELCJUNSTMABɿZUIBSOGP'UELL7suMALLO1ZENKAGGF}HOӝ@mɿPsas el!5nos008??????????????<8]ٍ,٬ISARސFMTTERLYOD@BDWCERLI(Ug>UNDs*mall>,.., Proceedpsfhe 8thym0iumnpЂSsesignndmplement`(OSDI) (Saniego,A,S(2008). :tEyo:vice-Transxersonaltorh11 *(8 JusxazzolaaluskaChrisesniewski-LaasB`nord 023 2  RobertoraF)˃hhoekґ77oMassachusettsntH TechnologyGGGϖϑ?8609tn_idЍ'.(Yalenivhitןoטφ480φחQuaesearchambridA7772gǤǤǟAbactwsh244"jfy'>UscP ly赘8(casupdigit photographhnulti +d s,whitypicyfa8anpbliviousocpr'xr.res,G0beorgan`dd(tu f`ncϷgg׋ݱ"ThppaX,nove satovides c lcy:athinkX XmAX,a*nXJ,!wilesaتP)ڏh@+llowIb8viobjsrom0!iNvennۀdwitooitt0œhol8PM_hrohX/acrosyetworkp,1lud( r peer-to-AnkapplC*APIfirst-clx8Ț\j0y1ordk(olv@pfp`automrw/+OgOWWExiDsr@(u!>medialayxɥ 0odcast䀙`pemail?showÛgfHquQminorcgatcЙܤb8xpabi0i8hrtab=o?ggleftooo>1ntroduµ7O77g77_5ofwhYjbin,'sKK!c:.g.,'h8mc,deoPendarrpm hWh @ 9@Qro,need1me1isob702Nhey 9dwrred`HtP.urqlpPudecIshu-%mpcop;'݄2hub-0-spokө ***leadsotoragebstractionhatooksike object a devicex,7i>b75y4etc.tsptheserykee8kfhern livesdtermine!r߀adiff@nt

    Aet8pproachqingonalataould 0vid쎈nsp(ncy:ʋipciplAsh"seview,iQregardleswhihey.ĄGElow胺inkoutTunifie0collits Xiretyooa ticularmason,aʗ`nᅪɗindepe(ocaɅacroXאאӐǐǐǐǐǐǐTradi9iibutpfisystemsgi>loxwy2b'sQȇpnetworks.hДX`alopsufficifxtisconnHed,-limi-t6,owe,ߗڞ~wnivity//_OYmpt@ Ǩ hlԬhrzclou9rarequesm1oesfouXN8]fail sannocX՝X@=1cP!lly adwodfaxdctlyxcupcomm8µ ubׯןǯǯǯǯǯǯBeyohhe9YiPwee]e8HKbrȒ{ȕ'&a߬ܵѯȌs: (1)curZfromϠGsQultfli¾v(2)ob5yIhaveough h>nl_['$a0dEyo1¿.񽻿tsggQQ ׺nchron(,anttopologUDma"ag0re(abw[Xres@co)8viQ8cAсSiQ`@uca%GupporautomXoluYyǿǿǿǿǿǿǿǿǑeeesȹcisbeh>Tetaz(e.g.uhitle,assiagYl!ounttc.)xy³mselv„c8A1mY.irsh se {tsoonow^ـ`e d'm e_Нy Gn!*)@he1mcop<0|oet,_"APIϑUюߎFѪP`iѲx-tόallymocomm erg"wou`von,qor(c?9 ar`rar8/In`tur@dele-

    ExpHmentssing nxi耸applicsedialayers, Xhotorodcastanagend mailterAshowhat>ransformsesetaloneG@Aoributedysteprovidydevice-parHccesoirataollec,akesdvantfocaleer-to-AmmunhannelpmiautomhcnftesoluimposXonlyodesbssϐϐϐϐϐϐϐϐϐː?'s0X(Cis P<Ӌ:cyisnЌ-lip\,uilrourarli8[44].he=adop0techniqup@byW%(e.g.,opCoda27782 >22-awwwYBayou5046ceul0Iimbio1975 >32PpYve0vqh8oris holo]610X1upXeox'nnsemBlu1033).rapݎyaew>supporHefi,inuoužPnchr~ voidx`pinvolv{GC rndHtXa)orgaasHllows:ӧS 2cpǟAPIe,ܙS؉GtohʃE3mlҚE4.5valu@Xwi ns6l6e71clu h2^b0"lefts ="+1"2b>2q,becom cyutomXcrosl`X8xGwhicheȼ`ven.w>tertaчWIofgnn'tarpenoughholdR0i 'ǩǩǩǩǩǩǩǘ/s1betwe n#ho)ٕ֪٤layf 5127yidf X0ckіPyh@HfHLmunvIۜrly#deminRHtHeIoabwhentariY{IrQbrfeatuOǶvynewiнk0assumpbou߶i:ulli>U@PobjЖheta9,oathGBhea3Pd/Bhflagse(|laberJ <(Metadatasmallnoughreplicatenveryevice.nupistudy (Secz5.1),eithatgZn 0.04%fBsizp`ypЇPusicphoobjs>Aelopersgre‚ntics9aasetforommAes,r!mi@ultipleonhoharsame;:.g.,@HarUhea8ID3agaP3udio,XIFbs. c`stiattaarbitraoaddi‘Hۑȉdpporꑍ/ulpight="4"idth="1em"lign="ju@fy">WeelipsHssumpCmatȄxactȆ onڎpme`ԗКlowing0s(scribeow Eyo'echniquynsmuwer-to-A8ut@ϐД @a$-pcP, їalbumA unnexam>

    2.1Ϝ+,ch Figu1t(dgRzd(c-chilqxhipPNewcrep_include8Hdec0poXKiU,a> t< 6|-n-de`(key/valuirDlsاai: P fier;ocimqKhiny9Xulaso="8Ncarpgimgchex0472(Im"/6GGGblockquOȐ: Šzߨפ?׈׈ש7׈׈3׈׹׬ߺ߈׈׮ץ2:>PIHmmaryvȔh1cuss `S 2.2#plhRrul'37)GBA7sevhia n.Pbmiug੍( yl8ngfulformbout, (hns]fIuп߿,mPrngX[helpȬ0sWWWoWWWWelZsimibasHxarعY;edi3[o軒systemwrpThiskyelibePchcommؐddp/whofoo `nall8adQonÞ provXAchsXlPft(swr8@eiISygܫxpos=0002652735 Frlyd>hod|fomi1l(ia-!dp, truYrewagqll0ellaru{bi p.Є ac PC-yl, lib*ဇlocknommunicatipwithemoteevices.

    Ifnppl-triesoHadobject'shntent,uthesotresy), Eyoalserror.P((llerformfulsymetadata,uchᄠlassingHdorganizs (e.g.,pIႱhoto),romxۇatohstor. wan(Ẍcurry͊system񊱇-!helpOfih _ork>Ytryfett舅plmq(hods;API (S2.3). u3hows (regsupporefficiasynchroh30"left>2.2uxes/provideuman- abX nHiers,vswhiٝȞimplirwnamgroup)sch8s.ƑPexa[2_yaagociatelbumturnDs H (Dv'tmay:Pp[40]0ФevseGD;H-behalf 8 addWGBpsiz8lxf0w.Ls,XobxJrogHfter-׸rxulPlurimilarz8ȣ&iyߑ29524 >28ڻ_________GFapfQLboo`nmbinEfparis|valuEpstѭi8@execl𞩯exsnplanguagH%dirlyŔļY10ost-view,ZǢmAn`0 hheȓXcissuncys (wzhIGru)Kmx0_woffн2xts:e*r㆘gϰy=Jde(1ex-mohi.3ЉR?????Ǽ??ߪǼ:BɽXqro H'Khhhiorit#story[-{ou KϽ]a*plaptophouldo(on8ۛbac$ρyx аgrgbasn"put.Łмnugg0 Kygood xdX%șhЗ)ridescrigȲ:S߰39 >40ۣ '˫-!roamak٠xas9miXHub(%ࡑsco0̑ur9hapcop!@CfixNfutط7">W؛/KhSM鏢(aZP=n˃0/oiɔsIGyndic*ဇatehicheviceshouldo(aomple(photolbum.npplicationalso Pser0pecifyarticularbjectsndheyblaced.

    Earuleariority,Batorage-limitedEyoovidPevualiltersis(cyb[36]oń,eaning atmlya8Asofbestatches.o>'ynchronizkmechsmsscribȉS3.4,nsu:Pleaonepy}(s fomi\oooooooookTollknowדߏْnwithVbuhosetadatnta quer@іet9ymod .fRnf`ris@betweHvOHierv veencurPt.equirpSТlmulti'%7tM'JfWddHbackqma.hihav?maypybAds^8o@cogȒ@olvKwߪߪߪߪߪߪߪߪBecapg藺gran!òףtmreld GլڳOisex]linkyia, @ژho y.Ǝxa,urչbou8s5aumbnaiim bame@syajz?ιН@+- on(иca`h3NR0"left>2.4϶VHesWh`ϲ٫e]Ptlls cTs=Iȱps Pairynchro#ү erA lжHS0Q3.ӂ^^ʖ~jattri mjG@Figux1up5s'4j5ooڝO56f:34WPԖSIfнiBOzpB_XwiؽxlРaaDϤiKB՛ˢՁ􄚨hBGac*ဇontent,hepplicationalls newVersmetadata,),ndngPatz Y:78),houlduhanSexis|.hennd‚Hxtynchronize,willearnbout ,knowromtsar@ipupxedes34.inceBhorysin`Eyowons{usuniqueostec 2.5ÏinuousӉŽ$h3/}>p4''"jufy??>Toropagatpp@to0revicaptlybossibl/9vi1oi>.8lps`ducurxcy1fby1chang+quick#twork`lows,ssiy 9 zsDžDŽalsom1Piews_Yinstply.f >hsamruphoalbumon,o1amprinwqrbeXmedireflectedҤSQ3taipwǙǙÕיייייי6utomd!anagem0g'">Aimagoalf>'sPIpenaxA)ff(fae톖. X{_ Os8ac"n Xzno`oarisaaayQresolvyo7lygg??]??wso؃-objiqX[w4dHribue baسcуbHgranulty-viʁ.O8*X-1ddƒا=1>airdϦloux?+ɿ&filesystemaoul!adxra(a>/ ( more)I`copaawЍI uXcЃефpcolatceWWWWSYwithk FigQ1,Ys ЊAPynewO56heЏB,uchaaddɀ9egzro 1634829 >45a]keeȷ+i8@Znx*׹Cc m XBĦbXOJ34].

    ApplicZs膈esppibility 8andlconcurre0up@theamebjectxiffeBdevices, hourstructuP)repۊsnay`atakoneinlikely easorgeutomcally. m8oehenwwarise,ia Eyouhar tch2f.ׂq0yocxsŅolveqftranspaɆpu,providaysсoVm.hi8iviylows?>Šdva xfleetnetwork!n08Yh.Մ:avoidterrupKaboutPleaE3can`i ntilomqvenitiVerhapgn!unimportAЛ7'sU @tory!roami8many//bd71ˑwardba.Ƙxampl a `ypahoJtwealbum @ne<,ȥ`㠐gqHȡIV[1;IarЁsaiHԈ co`sable,.g.0nsҖXgs0sendepe(.> (t󜭮amo@,■՛sexqsinh_(knowattriHyp~obdemi0o0fina`las̮ooooooooookSQ'%,wi,qui١Bayogxa2y".nucaѤpsuf@Ixɶ†`ؙKXfixl(qHضBeca@o>eeiܫ.ahɤE4ߋ bspoػeYheadA;HAPIlls JregYesj࿫taiqn,3upwishᢻ2cre:`A`V()u沐Figu1i@[OꛗwhiȰpeciYZa%}.ן1a+܀9-W(*y?rShseby;·<),/> "Ametaallh2 0"leftsiz+1"GA3ñHinuoSynchronizh2a*ce="serif">Eyoeedsoynchronizewolassesfataetweenevices,etaandontent,jfaiffer$forhese.͂issuallym8CupЄmustdsuickhXpossiblenrde(orovidHheppearanceb-tspacy.ԁ8goali'툿ationtocolKduЃhntic(lecsftȋing*l.

    13]laysupportdcheer-to-A랑wellc0rzHcloudrto0og7w7fh3&|}leftg>3.1נprimary'sOOOOmaint WOnweffenough)yYinuously:&shoulؠimmediدxв!nxsaȢ<.ɝҁtyܲ,^-fyhiĥbrbmupڴ}Yro7z74\*wheney3PushihE@IanAwriAaPw sQhr.>1orgaݳeyccura0h8xBwwn8laf e#ط(amaP0cuw8) 01younhϾgroup1ltipU@opermanAO `lagii>.Űုy؞0nPdxគ{cPitincludidXؾѻYPh(觘&hQ.(comt],unistatusir!LxHo\Q@tgranu1vidus;kotlXpa翊W@8havea_7A vhorဃpqxs70(dyXce0@`sehival!radi8-u[321]3differavoidfuwi0D 5.ƫX:s,[pn-elemt{(,)u؞Yeuthor۲xS ڠregػs s),>d@xomm( p x*structur@attemp)actǬ8qJxu,cli!eC=o*nector,rheexteneratiotillritefhasxwhangesending.heneviceeceivaXply,iincorpo(ȃwlyearnedintosocalataxe,ppacqnotifipplicʄxboutǃes,nda҇!lacementulo.

    ??zmX getGsFigure 3:eta*Synchroniz:sssbetwe(twoCIherariʮ8hoto)8akpi* atUTarch‚-'8nitih(to\77YaPbQipViW addcЎ,؄4cidzb,㡨:jEy@+cdidj9/2ySm:.( -> o0rY(hH0ܑm9fJ)ϻϻϻϻϻϻϻϻϻAw 2is `municPd,𻑤p??ns()ONjٰgh umٖ1>:ݠ]Ⱦ'lԶelerRed2ӻya)omٽ furإibackתRj!.·1wzaMooooooooollthough(cXithixampXonȡlud0twoޠ: Pz`Icoll,dollqroto@sH!@t.Ɠroupե9xnzӹsynchronizK2;忠lengxsummzsetAabou񾀱nc*omingector,n Eyoeviceeedsnlyimpleookupodentifyhatenerationssendack, herh 8expensive arch.hisrequireendexedadhPWnhgelemhinc󄯇Lnwostea s9fford)pusho@icinstaneouslydollIs`vnetworkXnn@ivity@ges.

    3.2isxV艱Trunk8aaaype@XiɌyGhicha,r0oedxreclaimpaken bhose`dat1pro؎volvthre paPteps:terɏ)nbjXsbexs)aВaroup,mbc txf"YngX@ t|pduaHk''#ߏߏߔ|ߏߔ7ߢlpeeaHr]hasߟ0GcheckA0OKwrithome<~'áhlud>0iPAt8op,ц+ex8y̢!cor(tbynchronizYe woul!brepIs`remofrom.n@a'tќ™e腉OOJ,9mlazigeatOYger0xdiffer!Eߡginosdo8ta2)Xߤxe!(Y ؖ 46*cѤQxѹ_ fulknowub_ʶЦO??siortAaswwwGwsO5BYkܿuthudisٲͿpse(8@fƩon.iedXscrib@Sp2.4gggggggggg.3ddѾYR9D˾OOOOOOOOOO">Wardw`Hi`o:Koirب`witho,>FigX 4:øKӿߏickublQrAH8aX(a2#rAe˾؞mgerlyPrlaytwork@nles룢licit10zpe {ly,tǮbnPrp*behaeaf@9+ onp._ina@omm`&ȾUPviakeqgĵ8\/1*em"idth="0aalign="left">3.4ÀeSynchronization
    Thehallengesnovingㄴtotsxrrectoc multipleevicare (1)terminAwhichbjarticularhouldold, (2)$ aourfora@missdataQsomethe,nd (3)nsurthato_hlosttransitetween.pi>Eyosplmqrulsolve0irxofise s`scribedaSi2.3.Ŋ keepqsortXliˏ}fetch{uphiswhhlearnbou ewversXЎj`JgcaffQ?pmany global ueta:tughr'(ongpck"s~.nddi И(m,pubhiՌ;ˎbyR (`wђXlepos=0002675902 >Figu39).inx`\8wuŠdƖXY|apro8@WahO Xrabl can0ok x种^eOrequefromFooȬldely,>mploy:odif[724497 >11!]Qreby׈i(pigivunti8pasFig!4InhasyncGw9c75902f3b`vfo3u'orkflow#targe5GhIrares;#su9thurpushCoiMXeP'ra_[8tit2C:1cidholi>(iset)ـ؂2xwantolete~purge).t)t3TsendgetC{(WR)hquestC,hich@pliesitheewhoto.ecaus:ciypkeep+jadBginxtnipublishes@T. 4udevichsynchronizegaHandcamЀ{aXQAidicaltate uϓpaPmportPt:(Plac,,Ekї%idromiHǎiaחS,henccceptȜpponsibilitya(oɗ)fororingޞu@O5NjcsafelyNif)neelaimkspitemplacA9sysablatch5Pr's`efersgggch2|0"leftes="+1"4mplem EyoAtype _*sisaer-aemPrunnapar`ipP˛xlall erncommun `library *agePIKܮwrit`PytheLinuxMacSX`p necas (UIA)чe wevposle3oPrwampreX8)xmsܯEareHX.t)sQL04(a>]emetadatIor8V> r_ se؛ sM&lo Ӻ@z:qoughQdo)ex{ bH`Kap#̖疇SjXML-RPC z @lir(8ceduȿfe艇upYHTTP lԾ[Tbj"0dinrns[liڿdobkurQ.̶QrzbȂjssmXwhisБmPswa@AransȷȏDOT53887 xBitTorxt}23234 >6rlweHvey6Ȅ.צOgAoduaӣܣCǒƤߤؘ8lxlGntfʛHhodИ\8yeiwɿifmD-BusO772 >8CSj5valu|plѶPaaĸoyahfollowy::ulli>IZ(el R?Qs?DodesHo,ushtƕڭFunyurd'Ncapacitynetwork𑢆>APO@Qosynchroniz8tocoef2e'sumed\blay@edHpagy$=/OOOOO/oyȞe۵=hH(1) 0pex߷Z`wweinadir-basa1*먈ul@crinew(atāpvX!, (2)cae*rsonalataollectionsoxaminetoragests,nd (3)easuring Eyo'synchronizaQrotowidthdelay:comparegainstistWStools.

    Theurposeordaprapplic:uPrimaryinterawher APIaoodatchBth`describeow̄ >Ӂdifficultchangesere.ׇcus woypofϑ: (1dia,yhrsooturrentl`e@vice-transٌ 42)mailalreadypptiew,uypplongetȉodayilnned8`rvermoi p ,hythmboxQuLt,"RawstudiohHn`r;)gPoddpodcaߒݘЌalosymalsoianMAP-to-gatew؟ nabblihaccessPssP0in>xevaluOJ*thrߦ:m0cs. 𘁨G+dasؠ98ticorkloHeɪg9duIsGGGGGGGGGͭ߯/,nixMobMAlugheiJAim*vid0ӃdopaѮ@or metpOOJindepe(tnumb0@obj0)4mteвadirpeer-Ap؏h3nr0"left>5.1W?ŪPrpAϺϺϺϧraqwarda. T1umXizmaȼQa(n.ne#Yl8mحrj(gs,aҤado˽;requp cad-r )ئd׼limi,uob(q11%tot@C-pɿhcaPP߫wsp(fews;KǒDsᭉϧ-73cy,7media/from-alonWwxhpJshPbetweek3ribuAsystemks{sammultipBMdonyirpop|;imp(s hetPeo1locsub.owe,oHarPȳXlmrʿafisoluL҇8cerp2?a imgcx0476Image"/nbkquo_":ýpdacluzlinco(p0g˛xcri!n'XriginorganizcIsttHt{t.ƾXemail,7;sTwedIMAPkerexaj3 adWq0ourwwrit:߽t+="4"idth="1em"lign="justify">Deviceransparencyringseweaturesohepplications.orxample,hythmboxnduodLibetanhowu'sntireediaollec,venh(cX8Hot(,lowZsearchhitemsmodlaylistsromy䇒.nawstudio,tbganizehotosnB ߅߁ iss.urprialywhangwehnecessaryupportu.hbecahreadyavdath@UfilxunhbltworkXryCtha&our@tLiggZhamhs.

    UJr芸ouЇetadatnfts.sequxef_7marg(ue(multi\HTځw֚؁hhobj(`xtivity"mydinciهA,j, to`Eyo1xovidpermiϓ@hol2tsi0yryanahB;>clilibyks0PwardߒߒߒߒߨߨߨߨߨۊzרRBҊϊͩ7is8anuȍbžfÚ荡o@ipend˫1F馺mocasesŮȮxe]upPc joHmuutomc ifE~emailgt0" 0@or܋reed,>0(salsS75.owјIMAP`wknow=ycompos򷁘ˎwithouyib8^cerpʿt0wa T2:escripR@ЏHdإ_ʏPlQshowRp=ΪPa-@soꮮt0alo(qxplanw𹑮holYo OOOOOgOǓǓǽ/3:ͽ=!iz(!set3  ଚattribukey/valupaibeorٻطǃ#GGXn-kafddAٽL'7777771A`nJaȤ=0002697230 uqtysiX8-vieffBRhythmboxQuodLibetsmoddixUI,)mHrequneverhowultiple s"tond, pnhough8enderlyingystem-maint ed%istoriesxhibforksmergesbilityhidthemtrat@sefulnessfeep7777soatgafacembigu9about2corQcÈtake.

    < eight="0"> 5.2͎S0ageostsTotermexpsizeɓ!inEyo,nthreeodest8oneo:l,sicXphocollBaroؕ2padecade.ׄcluda?n1j0ss@worst-ca ;iǂt9lapumb@ymallbjh8]1head؁8buchSanqctypTaP 3's `roximly 3iЩ!;httribualonHcofrombyex90lemP-s0ificructuРwww____wmаrtaqeaٔE 8KPZa6r8(wincjor)HpnIaKntіhUTggHtamoui_ᛄ,hus @ow ضecYcapacYdevicww7ww7tOɗaexa9 (l600B)eatodaycuؑchp*(153ǂwouldfh)ptop ewear0Jnanyσσ.ɬyakfurjul8voxw1o bx5.3µ@RggggggggggeIddibbA-ew1zllsƁn o\onewxcxuoas?wepait-gene`نusamtwork"a8mtsdiff@]һPinkyO\[php8nti0y8PdEariaHѰtt fourilobyټPOAףغɣSdi@emai@غeP!S@5.2)hnocYuHhtcc.,o doeHpssoci:.such9susbyoWtocoGGGGGGGGGG_u8Sݹhp0ed,;0h.upȐh8af 56bppC@rryonqminزKmpeYpxie01.5%qrM`or+a?ƅLٺȝYJtuv0:miGrouA a8񠮕󬯿Xcompar+ableontentilleimilar.

    σsystemؙ eadaywx_poon qamoupassed, XTҒashPkjaahpe(_Mst'0sib0 yffгAb curvՀ`(0mplꚓsact1beyo*ox@G@goackhDaؤ"z;xwhxA/sarg 3 q˂Cst-ul/۽//8c`er9p*Ծفah OM1OJm筏blockqu'">T*4:ӊGDelayomparison:Լ1q`upⷐN"coll-saorkpnt鳩,(rxa9[n8ӆ5.2)oulدحmusm`fr<痤P\bsolإgנѿʃbii9giv܊se xss׊ג׊׊ll[ypȉOJ697751 3Bt8mutzؿs0'dusAcauȪhi>Eyo'sgbCnoi.ɊDwelḽceyܤ__l+ign="justify">Figure 5howshatong-termncommunicatingevicean useboundedrowthf0eetadatato(onr s.ɁAisbsenpersistsnoughrunsut!sp, Eyopreptritwoptions:ur`nndynchronizeiss7,r t銐romsystem.ŀшׁasiscussine`(3.3,oesotequiaensusotx+remainljTemporarily㌱all;oPe Ќy2rve until-addǏlr.

    5.5ӛƆompson39]ЧlouJMobMe97629,-xtiBholQ'7 2somumb0􋣬X-onobjHOHnak i܈measat tfS;!ppA ep]. 6337 >Ta8 4ummz,.iэ̸ap-nclud:( rBxgraЀen,hich(delay:arvevPveCw.f @firs)* so$@de,ysd.Ƽ𭻒ido !Ij, hb#ew@r thousWWRgggggg">yOou tHkbnepag} 0FX߶2equff˔ܻyepywtOlghssyjsimimxp(pn 10iloby)O$pVs0rHu2`XgB knotf'sҖopologyȴX%515xlliwww????w(requi@sPHaribД,i;Sooa(norkexamplv,љras`c7kthȹuassudctS??w//////*0shtypĶٯSunsuȝcousto8aun0ho𵘽Xd~,.ɪ'a`ĻhealproԸSlhw:win׽ yqb e0vsepa  kȧf(t.Ծ@򴚈ho ܑѿߪolroЧolpz꽐olJnc+urrenthangesutomatically. Eyo,nontrast,atur!harmetadataboutorheseypofllectionsith9requiringseoinemanageflicts.

    6elatedork36]nderspve9 >40.ԍxgheȍ8atptsprovideevicranspncy,>MXas,ikelmruleoth.ql nfficisynchronizxon9to minimЕmmunpoverheadh (ti"repHobj0Pcrossargp23b0noayaNoearflΗstoӀsuch.׌М@owsrser i nnisePaloidisnh<ぐoinupleton.ΐ %p(erXiyhelpplccupeolygraph?=28834 >248nsȼ!viecromultipG稟KQll*dui؁olvfXɆ낶Ͼ ntuA-ٝ14811.binXad;vcheXxidbjX,ma^orhȠd-bee8lship׾832p24߬ۙRAID914{OWURo8bThBaken,ow,XxsȫQ yatohysL].nonVcaHh(X`athollȼ1giime׸SymikeierS3998 >9,inOO292274],hemeEyo.ԃPSt1targDelay-Tolnt-Networkingenar.inFSiJlumb-q,(ke>spdat`essagx؉QCctuc/+totobjx0PRACTIrovid@consiHncyuabeenifferentIcoll on.>ono y@hOOe\ allowpzco@XlyagroupRthghex@edX onzڈ`ntif s.

    SepsLma`u-Qcsol_^2690 >38, W8054 >23w8hquihdloItrust-alonis+ihrpretڄf@seؖ@fromjhacc8ca's8royiead`dquogd`c񄸙{navoirereynxn>@h h@oryG7761 fi@ȩ51,iߘusQ'sPIP\maxbch0S`opoaeb>`cloud-baax.WEi (e.g.,ropbox&42810MobMeiDisk75671umoD-r๟62830)rWwceatop orm AmazonCдE1821 p'iʮBq:rQJl 뻫&c hh_ώʄizXloa,o򻨾disnHHߐ,!0d(metaboߤPumultip!EOm0S3205񫴮ahwer-lut-gJ1lea@curcho2nitg`coulliPȮqosiInapshoYaddHduraxity''''''&Au0fbuixsyiz;l@sXcli)ceIckly,.worH68119wr9762ULMeshOW6125oogGea>3057.ɞR/*spPHo comXcopEAﻈeirunnAHԽmsexnidur,(triXubr.pSc@nsha npviewdžjǴ@m_@hubPo)pJǿ: "-to-'ntowrǵ56848Ļp3498 >;SUnisxG28 3:6dem1ef()1N;hirc88Nasiex(dѲlȠpe8F,parti8y*sy-writؕ2ay0sswhTtermitsWWWWWWWWWW>At buNamӾag͸ gabased +onueriesrttributpratherhanctierarchicalamhaveee!udiedxevHlingle-devicetts (e.g.,emanticileystems15],AC/.6529(8,andFAD}3365x41z)Rmulti??9HomeView߄5474c,addititoptimis!repls[.

    7ummaryEyomplementse АtransparencPabac9,xhnif!colleҕfbjpn+ {sHa,og.ooo,i=usXaovetoragePIQt (1)X(apfinmetadatromnt(2llox`p#lȉ9ules.nturnu new provid sthfficiAsynchroniz@ƙɅreer-to-AinkEvaluusuggesZadYrequirnlyo,moonf*upabendlautomXby2/Doutrervx2 yb ɕʧycapabiȪRfyp:personAcknow0g D磪Wouldk0obknsleyЎ,ʲ0yickxJohnkcorourhep0ddΨaleonymou0ewp:irlpfum˰ܢnarl ssa//+RefeieG'??'W77blockquot [1]loudPlay href="http://amaz8/cA @/">7ggggWgb2]z3WVws.w/s3/߀݇gggWWf3].alasubrni@BenjamC.Иce.׷haiSer?ѿProceed8MobiCom, 1998ϧwǣǖwwwwr4]Ϊ(nila,ͥ)Dah ,eiao,XolpyhrunenkPraveenيgulasJdZhengRACTҊNSDI2006筟____o_Z5]mitryrodskydymkoskHShihaoonglexWMiel.ee0Nor8Hutc.ammoth:eer-to-AMstem.echnJReportR-3-11,nityBrsholumbiaeptYpputSci2Oo////?/*6]amcXsui0Robhness BitTor8tEWorkshopEconomicr!ʳД3Ǹoooooooooooj7]u(CoxWilliJosephڥgbzthctorimeairsMIT-CSAIL-k5-014IT5W8-Bu`ϼd.fresktop.orgs+.freedesktop.org/. [9]ichaelemmer,oweiu,ndricrewer.ierStore:istributedile-SystemorhallengNetworks.n ProcingsfAST, 200810]ropbox. ߏ1]evinƍ(,׏pHongSamuhMadden.ÒodyransferReliablelivery h`a@oleXtechnicalportRB-TR-030,tResearcherkeley32]laekete,avidupta,icungco,ancy.ynchAlexpShvartsmapEventuy-S@zCata viceOOIPODCK1996OOOOOOOOOOOOOOK3]8yord,acobtrauss,risesniewski-LaaSePRheFˀhoekRobeMor.ers ZonNamesGlobonnecMobȧЊϥOSDIϮN4]xaeambasMagda@aalazinsk(Ste@.Ǯ@SHenPMPevy.m(h:er-to-AxddlewareRN#harppltionϯϯSIGMOD7߸߸߸߸߸߸߸߸߸߸߸߸߸߯5؞KPifPJouvelot!rkCeldonJhJW.'ToXe0ty {ǸLjOSP~1ǿǸǸǸǸǸǸǸǸǸǸǸǸ6]tgor.cz7XoogrGg"i׀πʿ8urrop01Udinqtegr`ة-Acxs;anismshthȘY__ת99ѲJmmnetʴErLr,damcbetXDSwȟThomasрBn´haGaetanoµyello^GW8llСJuppopvasiveWRACMԹa.Hmpu Q.2(4):4211864Z20Xirdǵ(uyohPeid1@Wa!kƫPPaghhHope0ietRoth-meimplembycuse+PmxUSENIX(mmer0׶1]Disk߭a/idǀ®/oooooooooooo2]Kistl@QMatyanara1n.0sconnecOphinCodat+рe>

    [23]uneetumarnd.atyanara1n.lexibleSafeesolutionfiConflicts.n Proceedings)USENIX, 1995.ProceedingsfSDI, 2009. [37]avidatnPeter.i,erald.opekRichard.uyewn@thelectivrol//(Int؋ence Mobiletaccess;199??????????????<8]̉Johneidemanp/rSkin94solv ƈ)ѓ@ts `PcusSystemUSENIXummer4??????????????;9]asushiaitohristosara olisXagnЀlsso0MhikapTagggrДr_5Paheae-arPfO00240]rSalmSteven.chlos,orriHhhra-noUoryҞ؉errspS:ticManagemة:HomewwpFASTwwwwwwwwwwwwwww1]gotz@N`oMurphhHirchl/ems (eadoohHotOSwwwwwwwwwwwwwww2]aeetobti,tGih,iu,r8d˝hhnamurth1lph.ng;onalRAID: Stor*Dributؼကco cComprsWW׻WWWWWWWWWWWWW3] ǀg/Q/S4]acobraus譚esniewski-LaaJɾazz8luska,@yanord,obert8F8ashoDeviceԀppncy:ewXdel;Oct߸߸߸߸߹߸߸߻߸߸45ǑsubvX.tig@g'w6]ougBerr;0mqPeeAlJRUpdaConftsyBayopaeakly颼Rep0d^sSOSP1995gW7]rajoli0MaKaminskDavi8.ndwapniltil tuInnڜRfergg`NSDIf6ggggggggggggggc8] rTridgelEfficieAlgorithSor`gcynchronizhonhDhes A0rNalnitAprXH0OOwOOOOOOOOOOK9ȿdZheyNnielaramaniMikeph@:zYDenvimXTechnlIR-09-07,yTex+рastustin, 2009. /Iφφφφ AnsleystJuanavarro380142יߡߓס߆Petruznetsov33??wwow380'לTUerlin/Deutscheelekomabiesϧϡ*errulߡߡۡ__'''''߭'ǯ_176O_gMunichoǼǼǮ2wϴǼǮOOJbstrac𳗻?9h2G4Jjustify7wHoplese incXsingumbof/ctrolikepbookompus,P3laydmarthon0in`raily(ves.aksureattabivabwhepneededBbackXupegularime-consumepr-peurdenqXrpI!`pa, scribIvalua0PodBase,systemautomsagean8mT.Ԣakadvantٌ(un8lhitІnivityo pag@stireplicY؆,rdurabil(bpiossril; am,PimoXUSpful.ߗߗ߽ǽLJseekexplodHir-wiVthhttr:towardٖgoalrel)ca0Hpecif!)itsӝ؜Aneapp8iz@lX Acurrdixibu*̗ПX[.esulfrastud`ȣlo@hol8show2,؅eanXdi,(nspa)olq_?"leftooo>1ث0duڰ7777W">Mo(nsa0mi,chsgijra'!,a±ͰX dpktop .:𵧲Xdepep&importrb wSpfe+++fevice,ndhe availabilityIlatestatanllppropriЂTs.

    Ensuringa|isurableYanerousaskvenorxs(homeomputersituati肈gett1worse`numbeHperyIncrease.Յps@eeprack}neeoe hupperm‹W`c!s*egularsis.necdotalidencuggȃtmanyf@ee2ҏir[14, 2637].hus,Ƅirilosɋlyᄰbe@q܎ ypentQdigiiny 773'''''''MakĔ8a琀`bjectZc*ijequyurs bC\con@Hsynchroniz׎,instaX,chanhiddressookagpAXmunicTddiicibrarCp sapflay??//////+Inxpa0PodB ȋste1a٨-sonpautonom,c@rzedy-oI"-i͝H(ѤȄ88nspȨiakadvantun@torpIexploix)ypair-wiXivatoccuamo, (e.g.,iai-fi,luetooth USB)߰ߜϰϰϰϰϰϰWi`,achmetaescribhold'Pd*h.ij0sPc ăvOimЁ?DXpriǽgahm ޺sx.im, e这obibupgeuckaloРinadsineapxiz compudaO#apPpeciS0go+aview%ȼwdihp ~rov.ͷPHinsopdpluүunexcenaF!a,obepammQt`( symakdvant)s8kernets.`mobyPnspornm[ojuoidslbroadGWWWWWWWWUTSXpaشuctPol S2#9quirBWiscussxlwor3O4@esQ}5cribes€+ဇtseplicationlgorithm.ec6resenPourvalulnd67oncludes.

    2equiremI20],eanhactzeenvironsllows://D HAiodllyn@ed,uchPa0nyairlev0ummuneiajriPxiX1wi DAdayil9beos`Ktime.owr,ZQu``Pmeduring hortQayunlikely_Qturnffhenot(;QXassumȉΒialwayȃne>TsystemRblo蝸PaangfaHpatnfigursPou frompx(padministor/BAnmpap8 targsmdon't8v e(,:`rcxЈdat0shQ(~ydoomexr@qautomșb.ՑɍӪ`P(J(drpa), MWSachi*goals{tXQ拏3߮>2.1ĈٖTbeior3/}''IsCcriiuitivbampl@A3detppX'roeCzl"{lsub̅OOgGaim@o(l3hworrbᶑPa;a0.ā,﹂<1CijAeA l(cȴ¡evP .ƞ,Ǫ]xlӃs̠Zddsookbjr` sp,2dAic7)hapflay:'''''$ Al)Bob(sehold haYenP3ҧX ! alSB`r8r`.ڂ-sktoppu 2`8hwlQnetkn89eɴIiroadbTnkdaysbr}˿#0ihwrhdocuch`em8oooOtȴreturn{z?;surweb,:ami P@’Xugymport dQ ,rpbackpaoo9|autom8cyGasȿanQphih[Ț:ϿϿϿulli>Ey,Xwmodifif(`re @cryptographseaY9,0twe?z72. (Ts 0hIvaӬp.g. ic@[uplcrXq.) <(Whenev@Alicerobdirersonalddressooks,pngareutomaticallyropagatedSo rommun8tionevs'sSB drPs!laptop,iprepasffilInd׃"made>PoffdeskAhomeiaroadbA40.atransfdata xngslownsystem0{noteiskrapidtXbetweeworkϏʂrunni)spa(aftremovans)wpaskrfIshould otnt(acs(B,hich8s`y]/ulpight="4"idth="1em"hign="justify">PodBasXrromwiosincidPs.ƙexammagine sto.ith H-Q,ablee@"@l5Hm6`Awire` /Aٙ2;Wdma@[ǣ3ai,d.Ԥ xܘ-cypُE؜n atnXަ-0p>39]@Пnana!YH! sڬԲb٩@nowHg@no Х\vHVpabil avail`װS,BoulyѾcrHIn rVѠH//??????4ackupYd0nodUnlike]sabovs:+'߻IvulnPQtfu0loʋٯonBג/AvÀ+ailabilityfatanetevicesanerovidedy distributfileystemhatupports1connec9operation,ikeayou33],icus?>3208 >194s,oam/.4892 >24,Ensemblue2927H8 Few/20(2Segank6339XK.asi51895SQL-basmanagemen{for vveomputingpsodB0ffersroQeEiitؗ!avo pur,fu9automPchakadvantؚApairwipԅunuQstorYeffici`lrequirhnoralizier󊰜,endOS-indep.

    Cimbio`ǔ5BÏ latCPt؏'&.̠t, ocares:amouXin1Lhaoexchangurٍ- .ԞgoX7PȈ9PHpagupbetweener-.r `Pp sXઙtRweachhoulKe.nr -#doaPpo` ei?n(ac'rȈlevelF0ntu2rbAp-assum:xnhgnllcYobjmtresu *A ipchildȴbnregular\Y0ix,d؂Ȋ0s.٫(pPloywo֒ e`dviaBquˢooooooooojwqPИIIw7517L] `/+w`ouAlyaI.owߣבQviXfin@jgphiОi̒Tp0 Dby$denI(aҹe81pH pathps@lti-`pWSCcald9ixrmedisol2ur¹ns)m aɊ=5mpuqſzdynammaxim;˵B fP Aqui*2l!er-oooooooolOn!Ytrsix1effi'soe$;߹AncludЙ2OZe简diٜ_ccuuntilǺ,㟀exhaed esPo=ha0enougᏁ齉C,th q0lAunٽǽqHo轷tyQn9evaluzus1cZ0ploymDTj1wu667p30s`agde8Ǯħ(Цlobmetadata+((pbu)blockZIдHi,.͐ol1alsetomWtCXobjs]sym7720€,">
    6.3ataestoration

    Next,eodBase'sbilityouccessfully xheXentsfodevice.eimulatedbDnotebookfterJreplichasmple.ń__oUSBardrivel 211206iles (75GB)atxp` itimeIja`crawl.ԅn@5ours 27inuE8hichncluddecrypting7cas.pђq4artialetadcȔߔ expmwithm!@carry.n a,a:ree-:wo AnevdiPtpnP1eao;ndc畹ÁꆎH iay{ЂHabl100MBQvabout;un߉actu8ctotHiz2GB磏]wsaa>InilyrrgFwq@?.ow¡addpeganHYإr0=s怘阮؅7ngs:bHdreXbT(qwfp`msɜ@oyask`membeȺHIiitymIirqsehol؍llԌaQioxPpproximؾonX@hȶHtosp(i, ؾҺChE28;'ɆZyouldr9smѭJgern(abydisk,(caXadAufficpQspɼ`;filS,???߷ߨ_'߼?=F0snuя'@Xlimiö𣦶@rt'@.͎t`zjn.#”؛(aryBre.Ak9bi(toX` hoPineechnologAksulAc`no鍹:t39gd@x ۲mu ong-m/trfeel3٫ndxvalu꬐id`¿(diXsubuilҭhfAN̴0J needxhundt'HaE'{)b!chyHPA|@rpaObetweJu9Sep2009.urۂ"ګ_anonymdabou㯨tionAprdj2hbh|TwhĽItؕ1Hخج|ȚZ )graph hsȆXWWWWi(vbrie@viewe煯ٻha)Xc*RiI=€,"4"idth="1em"lign="justify">Figure 1howsheumberftoragendctiveevicesnachousehold.ԁrangedromneoeven.ome?sadodditional>,hphrupthree.Ȃg1, 45eceHnlcerabyteSBiskieflect؇data'dhasirtuh Hatbackby 10GB .Macloud.odBase H $likyS,onsidngtsapacitynHnd.

    'spool,v`Ϋvailabpft*jnQloymЭzw!aX[Fy1s hfP,3??8leastlf\iO4eY1o@no8mplyremaiڰn9;e!yQAeAuduiqmorexiHrs???;h@o"left8>6.5.1қ߷sults4h4?OIevalu$er`manfyookstjP(9(thng)rklQWW%gϡϷϡϡLetzggctsystemrЪin ߤ5613()ars), xcRЮon!,veЁvulnerjЙss ІoillsoOЩgnifX nC alreadyWeiPcopiuam xdiffRw ntl@ntO?77773rY粿٘//ƹs (1-3, 8-9)mo(m˧(97%)ߐ.׊ zxcep¶ 9hhi!qquifshXithiڹ'nurec0c ri8Uybe7OOY.ȷ4,5,7s!ߺP(򚪾ermitnvybetwaas*YeaFigure 3:henitial (leftar)ndinrighreplicationtatusfachousehold.

    Hs 6z10idotavenoughpohremang 19%%qirles,spectively.nrderqimpro0up`ssultprsould{had1purchapinexpensddoystorage.sayheck+froms 4%briHxebooksconfirmRdiagnosisescribedb.Ӈ0lyyIh4ts0(office,he hPwasoodnbetweenvallowdatabeul8d.or؃p8ttXnerabyexXadrq`anᎺܐadAfpothiؑsn 0.5%erce `o6.5.2vabilHh4AedaryXxPodBjbplY,ؚΜ_ylikhPiМ y,up3ug-pcas8sicpref@n`"d"tcapPyzgggggggg">a`yz rXfouX'no!HrealdߩlҲ;zlevap.uXX-b/ѳpportuJOH,2idsPgف螚oqg3iАclibr415iaKP*-D8851318bye9"1500?HRawqichwiloossynchronizX%w@ׇթ?APigiȼ"otumbpA'laptopsuHhο k.溿z|R`ǂcribn 4.Xh͉Jҡhappe9durearlipru&,`h-1showpʚsc8426ng2611{Ǒompuh(+b vixṸvxebooks.)+ӌ؊ /)irspPXP8􋊯o (iy)lete)sfoiA`nc))*tchomY1WystemnE.כk ImpacY4˩z9,Z˰)ꈏl˵chi(ulj yie95%L)remYpbߣŽ׎Ԇ%yePsheĸFigu4:eakroughغRe6.5.3Ҟtenc୲- Weextooktheaximaleplicationroughputnachfrhouseholds.incelsadnyileso΁Xbeginningtr`ollec,rwhidataasdrly/isweroundor#ot//+aool.hvalu`HurnrovidhׂׅDnew hmodifith8a0u0gene,u2PodBase`bbleeppthong.pjpos=0002809508 >Figure 4howpqpeak7t`ngpfrom 1.4110BPryresultwcan( veryk]j$usznxexi@pair-wionnvity{WWWoWWWow0aminؗI@ncy,.e.Celapsptimenokqcom.ɖـnotex'4eXwcw clud:iCDF havinfini. firsthoϖXiverieȓ170935Q(a)aȢxt ᤊ.Ơ/ 2(d 4,0 50%Iۢ pɨpapto H17+iecaЫڬH8ionoy 9_raduѮQr9tyyShndBboӱsht?8irwwsb)PB_ ,evi!do0Qt0DGvhe2tPaXsharpsum0Xg,yޣisEwJpnppens'wwwww'oJ eas`d/^ xv,~mo`,GhbusyXf"iccsurBrga@7llsteadtڹBzcreruc݈rNe(hW¡Ifash2subj@qavailsaAwh40"left>6.5RײӺaOnormpnaa l//max4.5/36.1/316b/xwhiheavy's 2.3́.̳uowllbackЍKpsnloud `f8xssumroadbuplXXndA1ڹransferlo"skeep|Prequibetweh3.7121.6 (i(31.82)[熆F܋",˔infiXߣ﨣excee…Pork"€,1em"lign="justify">Theseesultshowha(orimelyplicationfata,odBase'speeronnecQsndocaltorageevicesmportant.ƃQheormhhoholds,roadbYoulduffxo(ew butheavyrequirefastIn0netn.venS,lyingolI cloulopxodfull@tworktilizOHinitiincrenncypeady(1rewind0Pvulnerabtymodifiedilhav)t0beЌd).

    6.6iscussP7o 752߄777׭7772transتpI#ȸn_urp\ v)?HdvȭPexi 0fAɄXidP`connJamoThuHu)1peZackup~9xج15v醩oiboa`kIaxbroadbunk. reR)miztechniquAohi୉#pb_ uldeldoa@e;al@nHnr.ůri6aʾhl?۞O񆇍ٲ@ yy8add癷8nQerpžFigu5:ґ엘alds N__________>AcknowledgeɄY^Whuge8bɾȸivoluQ0[zj,$roughippAlsoshankanonympview!ʼ8v𼠀pae0@shepherddζ`ale,Uirlp`mZsugsgggggggggggeRefP߸WWzڸgtÀ,ify">[1].elaramani,.ahlin,.ao,.ayateZVenkatP.alagandula, @.heng.RACTIeplication.n ProcSDI '06, 2006. SIGOPSperHysteReview36(SI):285-298025]ropboxϐpswww.d$com/׀אWWסססססססת6].all.(y-tolxrchit8ure*chedPCOMM3Aug3W7]Feke鈘R`mamh.olume 5959fALNs8mpuhcienceۀȉpConsincyͣlED,ag1-17pr`Ber /eiberg״ǴǴǴǴǴǴǴǴǽ߽߽߽߽8Ford,SxussLesnski-LaaS,.ˀhoek[RorriPert sonalamglobPyonnmobilevice'OϾNov￧9]Groov`offP.microsoftgҵ''$GGGGGGGGGGGGGC10ZKarypidisZLOmnorHAʥjubiquitousAanm@ MarWWWWWWWWWWWW11 Keeton,ԀYe@So؜8Wer,.huxBeyeron'tettiless @n(eest:septimizo`kIcis8zHotOSh7}yi7ǿǿǿǿǿǿǿǿǿǿǿǿǿǓ2]I`K8zMty`ra1(Dis/o`;)CodaɔChi>ACMԺP00., 10(1):3-25,1992?????????????3]iveshwww.vomoooooooooooo4]@nyCrsZbackupaluabaЫmoney.cnny/7/technology/_loss/index.htgo5ozy.€,ဇ / [16]..unsonndqDewan.lexiblebjectergingramework.n Proc.SCW '94,ages 231242,ewفPY,SA, 19948CM׈׈׈׈׈׈׈׈׈׈׈׈׈׈7]Citstopesearch.WWHpcpSRrt/r)urvey.asp.+88]đeekҒXFlinEnsemBlue:tegratdistributed 䓚consul0ronicsגOSDI '06Nov 2006B9].opeR.Guy,.כ,r.,S.eidema Replicinicusfisystem_*WMRD0-250//////////////*20]Qst,YKuznetsovۤyruschelydBasTranspareؒUУmforeraleviceZIPTPS8cFeb81aNavarroWWR-]Automthb.echHhort 001,PI-SWS,11Ϩypi-sws.org/tr/y-.pdGGGE߹߹߹߹߹߹߹߹߹߹߹߹߹߹ߕ2]ιreguH,.aqueẠLarshapiPAlm`Hhomo@V`ȼADuXFew: @'#a'WSS(P5ch33]Ramasubr8nianzXRheffer,BrrpWalraed-SullivWobbiȌPshallkhVahdatimbio8:latmt-adPXXrN'099߽ooooooooooooo;4jRatn1HReihٵwkyyam:nmobilitHMieetworks[p>s9(5):537-544, 4''''''''''''''5]rigLaa.asiqn aitecturesimfiat"nHr<ɵ]UbiquitCompu g2):108-1217gggggggggggggd6]٧pa߉ptimiXcG Nurveyl37(1):42-8ar.'''''߽'''Ͼg'''27]SalmoWchlosp,aMummer0R.angePuthomewwinxypxivCMU-PDL-06-110@arelĔYLabȩCarnegieellUnrs86______________[8]kyx߀߀ھ
    [29].obti,.arg,.henPJ.aY(hao,ÀaE(iskind,.rishnamurthy,nd.Wpegank:istributedobiletorag@ystem.n Proc.AST '04,arch 2004.<ȉggggggggggc30]yStraussRLesniew(-LaaxM.aluska,†orPMorˌKhoek.evice nsparency:ewdelorOJ.SIGOPSper.ev9., 44(1):5-9,2010ggǔǔǔǔǔǔǔǔǔNJc1ugarSyn ߀߀ڗyhttp://bl. [43].in,.appos,.aumanand.oscoe.ependableelf-hongistributedystemssconaints.n Proc.otp '08,c 200877777D06left7>Apdreimageesahashunctioned߄ߎ߅Th:ulorohold 7asbt؋byp-playytce,ecahug`coverXdur}rtudyad luencdfinalaof 8?G?ٗǗ €,INDXTAGX, @000000000000000000000018EIDXTINDX90000000000000000000000000&ʀ0000000000000000000000001-ފ0000000000000000000000002.X0000000000000000000000003{쪀0000000000000000000000004"0000000000000000000000005o%+0000000000000000000000006oQ80000000000000000000000007o V0000000000000000000000008o_l̀0000000000000000000000009oLM000000000000000000000000AoV000000000000000000000000Bo"pۀ000000000000000000000000Co'sl000000000000000000000000Do-``000000000000000000000000Eo3AA000000000000000000000000Fo9ۀ0000000000000000000000010o>",0000000000000000000000011oCN'0000000000000000000000012oGu\΀0000000000000000000000013oLRg0000000000000000000000014oS9Ā0000000000000000000000015oUU40000000000000000000000016oX ? 0000000000000000000000017oZI$ р0000000000000000000000018o\nP 0000000000000000000000019o_?@ 000000000000000000000001Aoab 000000000000000000000001Bodb# Ԁ000000000000000000000001CogF 000000000000000000000001DoiL^ 000000000000000000000001Eoo*# 000000000000000000000001FotNL0000000000000000000000020oz{߀0000000000000000000000021o|0000000000000000000000022oԀ0000000000000000000000023o +00000000000000000000000024o\%0000000000000000000000025ox0000000000000000000000026oz0000000000000000000000027o!0000000000000000000000028o'c00000000000000000000000290 000000000000000000000002A;9000000000000000000000002Buf000000000000000000000002C[E000000000000000000000002D!4000000000000000000000002EUS000000000000000000000002F)Ŕ0000000000000000000000030{ہ0000000000000000000000031M遅0000000000000000000000032Z0000000000000000000000033j80000000000000000000000034"-0000000000000000000000035PD0000000000000000000000036 U0000000000000000000000037 k^0000000000000000000000038 I&ځ0000000000000000000000039 p2灆000000000000000000000003A #000000000000000000000003B 5T遆000000000000000000000003C  000000000000000000000003D h000000000000000000000003E 000000000000000000000003Fb0000000000000000000000040=0000000000000000000000041=0000000000000000000000042[j0000000000000000000000043F灇0000000000000000000000044b0000000000000000000000045w0000000000000000000000046{d遇0000000000000000000000047f0000000000000000000000048t80000000000000000000000049--000000000000000000000004A[ҁ000000000000000000000004Bm5߁000000000000000000000004C"000000000000000000000004D7;́000000000000000000000004Er ہ000000000000000000000004F| 00000000000000000000000500000000000000000000000051 ?遈0000000000000000000000052T 0000000000000000000000053_!0000000000000000000000054-0000000000000000000000055.3ہ0000000000000000000000056b끉0000000000000000000000057s0000000000000000000000058+́0000000000000000000000059; 000000000000000000000005AD000000000000000000000005BGQ遉000000000000000000000005C$ 000000000000000000000005D/c000000000000000000000005E000000000000000000000005F.Tρ0000000000000000000000060200000000000000000000000615?0000000000000000000000062t:0000000000000000000000063!/#灊0000000000000000000000064!R 0000000000000000000000065!`0000000000000000000000066!e 遊0000000000000000000000067"x0000000000000000000000068#'ρ0000000000000000000000069#(U߁000000000000000000000006A#}000000000000000000000006B$H000000000000000000000006C$cA000000000000000000000006D%$S000000000000000000000006E%xw000000000000000000000006F&o$0000000000000000000000070'0000000000000000000000071'X0000000000000000000000072( 0000000000000000000000073( 80000000000000000000000074(BM0000000000000000000000075).́0000000000000000000000076)>bが0000000000000000000000077*!60000000000000000000000078*X0000000000000000000000079+\l000000000000000000000007A,H4ہ000000000000000000000007B,}000000000000000000000007C-000000000000000000000007D-# 000000000000000000000007E-/0遌000000000000000000000007F-e0000000000000000000000080-t:0000000000000000000000081./0000000000000000000000082/2ā000000000000000000000008307q၍00000000000000000000000841( 000000000000000000000008523*큍00000000000000000000000862^00000000000000000000000872g00000000000000000000000882jV遍00000000000000000000000893E000000000000000000000008A3U@000000000000000000000008B4A000000000000000000000008C4VXƁ000000000000000000000008D5/G 000000000000000000000008E5v, 000000000000000000000008F6"~00000000000000000000000907! 偎00000000000000000000000917?@!00000000000000000000000928!00000000000000000000000938!Ł00000000000000000000000948k過00000000000000000000000959 00000000000000000000000969>00000000000000000000000979\E!ف0000000000000000000000098:"*!聏0000000000000000000000099:M"000000000000000000000009A;c6"000000000000000000000009B<@"Ł000000000000000000000009C<[H"݁000000000000000000000009D=$%"000000000000000000000009E=I"000000000000000000000009F=M#00000000000000000000000A0=VL遏00000000000000000000000A1>' 00000000000000000000000A2>2800000000000000000000000A3>k-#00000000000000000000000A4?H#00000000000000000000000A5?bf#Ɂ00000000000000000000000A6@HT#ځ00000000000000000000000A7Az#큐00000000000000000000000A8BI#00000000000000000000000A9Ba $00000000000000000000000AABk00000000000000000000000ABBp]遐00000000000000000000000ACCZ00000000000000000000000ADCk500000000000000000000000AED A$00000000000000000000000AFDbD$00000000000000000000000B0E'&$00000000000000000000000B1EM5$Ձ00000000000000000000000B2F$00000000000000000000000B3G %00000000000000000000000B4G00000000000000000000000B5GY遑00000000000000000000000B6G} 00000000000000000000000B7H%00000000000000000000000B8H-N%00000000000000000000000B9I|S%00000000000000000000000BAKO6%00000000000000000000000BBL%ρ00000000000000000000000BCL00000000000000000000000BDL7遒00000000000000000000000BELW00000000000000000000000BFL^/00000000000000000000000C0M'00000000000000000000000C1M5*%݁00000000000000000000000C2M`A%00000000000000000000000C3P"5&00000000000000000000000C4PW &00000000000000000000000C5Pck&00000000000000000000000C6QOG&ԁ00000000000000000000000C7R500000000000000000000000C8RL &끓00000000000000000000000C9RY`道00000000000000000000000CAS? 00000000000000000000000CBSJ%00000000000000000000000CCSp!ف00000000000000000000000CDT 4&00000000000000000000000CET? '00000000000000000000000CFT_C'00000000000000000000000D0U#'00000000000000000000000D1U400000000000000000000000D2U8達00000000000000000000000D3U^ 00000000000000000000000D4Uk00000000000000000000000D5V *$00000000000000000000000D6V5='΁00000000000000000000000D7Vse'큕00000000000000000000000D8WY(00000000000000000000000D9W_*違00000000000000000000000DAX00000000000000000000000DBX600000000000000000000000DCXNX(00000000000000000000000DDY&C(00000000000000000000000DEYj%)00000000000000000000000DFZ)00000000000000000000000E0Z&)00000000000000000000000E1Z-遖00000000000000000000000E2ZO 00000000000000000000000E3ZY300000000000000000000000E4[ !ف00000000000000000000000E5[$#ہ00000000000000000000000E6[G8)00000000000000000000000E7\)遗00000000000000000000000E8\700000000000000000000000E9\F%00000000000000000000000EA\M00000000000000000000000EB\P遗00000000000000000000000EC\u 00000000000000000000000ED]+00000000000000000000000EE]-S*00000000000000000000000EF^/*00000000000000000000000F0^0,끘00000000000000000000000F1^\*00000000000000000000000F2^u'00000000000000000000000F3^|*00000000000000000000000F4_=遘00000000000000000000000F5_C00000000000000000000000F6_L00000000000000000000000F7_a)*ҁ00000000000000000000000F8` ;*聙00000000000000000000000F9`F*00000000000000000000000FA`Z<+00000000000000000000000FBa +00000000000000000000000FCa6+00000000000000000000000FDaO0遙00000000000000000000000FEb+00000000000000000000000FFb:+ρ0000000000000000000000100bO/+ہ0000000000000000000000101b>+遚0000000000000000000000102c=,,0000000000000000000000103ci*́0000000000000000000000104d0000000000000000000000105dD遚0000000000000000000000106dg)0000000000000000000000107e!,0000000000000000000000108e2,,0000000000000000000000109e_,ʁ000000000000000000000010AeyY,ځ000000000000000000000010BfR ́000000000000000000000010Cf] 000000000000000000000010Dfg遛000000000000000000000010Eg 000000000000000000000010Fg 20000000000000000000000110gR!ف0000000000000000000000111gh[,聜0000000000000000000000112hD^끜0000000000000000000000113i" ,0000000000000000000000114i-遜0000000000000000000000115iQ0000000000000000000000116ia=0000000000000000000000117jJ-0000000000000000000000118jij-0000000000000000000000119lSH끝000000000000000000000011An.)000000000000000000000011BnJ)000000000000000000000011CnY000000000000000000000011Dn]M遝000000000000000000000011Eo=000000000000000000000011FoK<0000000000000000000000120p-0000000000000000000000121q t-ǁ0000000000000000000000122r4끞0000000000000000000000123s4+*0000000000000000000000124s`-ぞ0000000000000000000000125sr.0000000000000000000000126syT遞0000000000000000000000127tW.0000000000000000000000128tgL.0000000000000000000000129u3Y.000000000000000000000012Av 0.000000000000000000000012Bv=p.ˁ000000000000000000000012Cw.*. 000000000000000000000012DwX7.000000000000000000000012Ey:/000000000000000000000012FyK/0000000000000000000000130yRH/0000000000000000000000131z( 0000000000000000000000132z4C0000000000000000000000133zx.!ف0000000000000000000000134{&E/ǁ0000000000000000000000135{l;/큠0000000000000000000000136|'b/0000000000000000000000137} +00000000000000000000000138}4N0Ł00000000000000000000001390ҁ000000000000000000000013A!0߁000000000000000000000013B(000000000000000000000013C,i遠000000000000000000000013D! 000000000000000000000013E+L000000000000000000000013Fw 0쁡0000000000000000000000140q*聡0000000000000000000000141v 10000000000000000000000142k0000000000000000000000143o(́000000000000000000000014410000000000000000000000145-100000000000000000000001461a遡0000000000000000000000147 0000000000000000000000148/:0000000000000000000000149jQ1000000000000000000000014A;B1Ɂ000000000000000000000014B}31000000000000000000000014C 1]2000000000000000000000014D 0́000000000000000000000014E ?2000000000000000000000014F N0000000000000000000000150 UV遢0000000000000000000000151 1 0000000000000000000000152 >C0000000000000000000000153 220000000000000000000000154 4*20000000000000000000000155 _N2ԁ0000000000000000000000156 .82偣0000000000000000000000157 f20000000000000000000000158300000000000000000000001593000000000000000000000015A"3ˁ000000000000000000000015B"]3؁000000000000000000000015C3聣000000000000000000000015DW遣000000000000000000000015Ec 000000000000000000000015Fp70000000000000000000000160(10000000000000000000000161Yx30000000000000000000000162R&40000000000000000000000163xp0000000000000000000000164i,́0000000000000000000000165 ہ0000000000000000000000166#10000000000000000000000167(Y遤0000000000000000000000168 0000000000000000000000169F000000000000000000000016A`Q4000000000000000000000016B24000000000000000000000016CO4000000000000000000000016Dg!4000000000000000000000016E fځ000000000000000000000016Fo<灥0000000000000000000000170, $0000000000000000000000171:@遥0000000000000000000000172 0000000000000000000000173(0000000000000000000000174@g4ց0000000000000000000000175(64偦0000000000000000000000176_r40000000000000000000000177Q )0000000000000000000000178r250000000000000000000000179 %000000000000000000000017A )Y遦000000000000000000000017B! 000000000000000000000017C!5000000000000000000000017D!O/5000000000000000000000017E" 5000000000000000000000017F$ 5ǁ0000000000000000000000180$*0000000000000000000000181%BÁ0000000000000000000000182&10000000000000000000000183& 0000000000000000000000184&t遧0000000000000000000000185' 0000000000000000000000186'$0000000000000000000000187'A240000000000000000000000188'tI5؁0000000000000000000000189(=5灨000000000000000000000018A)Wb5000000000000000000000018B*:76000000000000000000000018C+q 000000000000000000000018D+z000000000000000000000018E+g遨IDXT"Df#Io 4\$Lt<d/X DhAe  > b  : ^  7 [   5 Y } 1 V {  /Sw,Pt)Mq%Im!FjBfAe=a9]6Z~2Vz .Rv*Ns'Lq%Im"FjBf>b  : ^ !!6!Z!~!!!""2"V"z"""# #.#R#v###$$*$N$r$$$%%&%J%n%%%%&"&F&j&&&&''B'f''''((>(b(((())<)`))))**:*^****++6+Z+~+++,,3,W,{,,,- -/-T-x---. ...T.y...//3/X/}///0070\000011:1_111122?2d222233C3h33334!4F4k44455%5J5o55566)6N6s66677,7R7x7778 828W8|8889969\99CopyrightTitle PageConfernce OrganizersContentsMessage from the 2011 USENIX Annual Technical Conference Program Co-ChairsA Case for NUMA-aware Contention Management on Multicore SystemsTimeGraph: GPU Scheduling for Real-Time Multi-Tasking EnvironmentsPegasus: Coordinated Scheduling for Virtualized Accelerator-based SystemsvIC: Interrupt Coalescing for Virtual Machine Storage Device IOPower Budgeting for Virtualized Data CentersvIOMMU: Efficient IOMMU EmulationHiTune: Dataflow-Based Performance Analysis for Big Data CloudTaming the Flying Cable Monster: A Topology Design and Optimization Framework for Data-Center NetworksIn-situ MapReduce for Log ProcessingException-Less System Calls for Event-Driven ServersResizable, Scalable, Concurrent Hash Tables via Relativistic ProgrammingEvaluating the Effectiveness of Model-Based Power CharacterizationVictim Disk First: An Asymmetric Cache to Boost the Performance of Disk Arrays under Faulty ConditionsThe Design and Evolution of Live Storage Migration in VMware ESXOnline migration for geo-distributed storage systemsSlow Down or Sleep, that is the QuestionLow Cost Working Set Size Tracking *FVD: a High-Performance Virtual Machine Image Format for CloudOkeanos: Wasteless Journaling for Fast and Reliable Multistream StorageToward Online Testing of Federated and Heterogeneous Distributed SystemsCDE: Using System Call Interposition to Automatically Create Portable Software PackagesVsys: A programmable sudoInternet-scale Visualization and Detection of Performance EventsPolygraph: System for Dynamic Reduction of False Alerts in Large-Scale IT Service Delivery Environments *Building a High-performance Deduplication SystemSiLo: A Similarity-Locality based Near-Exact Deduplication Scheme with Low RAM Overhead and High ThroughputG 2 : A Graph Processing System for Diagnosing Distributed SystemsContext-based Online Configuration-Error DetectionOFRewind: Enabling Record and Replay Troubleshooting for NetworksORDER: Object centRic DEterministic Replay for JavaEnabling Security in Cloud Storage SLAs with CloudProofjVPFS: Adding Robustness to a Secure Stacked File System with Untrusted Local Storage ComponentsSemantics of Caching with SPOCA: A Stateless, Proportional, Optimally-Consistent Addressing AlgorithmTidyFS: A Simple and Small Distributed File SystemEyo: Device-Transparent Personal StorageAutonomous storage management for personal devices with PodBaseAbstract1 Introduction2 Why existing algorithms do not work on NUMA systems3 A Contention-Aware Scheduling Algorithm for NUMA Systems4 Memory migration5 Evaluation6 Related Work7 ConclusionsReferences2 System Model3 TimeGraph System Architecture4 TimeGraph GPU Scheduling5 TimeGraph GPU Reservation6 Evaluation7 Related Work8 Conclusions2 Background3 Pegasus System Architecture4 Resource Management Policies for Heterogeneity-aware Hypervisors5 System Implementation6 Experimental Evaluation8 Conclusions and Future WorkAcknowledgments3 vIC Design4 Experimental Evaluation5 Deployment Experience8 Open ProblemsAcknowledgements2 Virtualized Power Budgeting Challenges3 System Design4 Evaluation5 Discussion and Future Work7 Conclusion8 Acknowledgments2 Samecore IOMMU Emulation3 Optimizing IOMMU Mapping Strategies4 Sidecore IOMMU Emulation5 Reasoning About Risk and Protection6 Performance Evaluation1. Introduction2. Problem Statement3. Overview of Our Approach4. Dataflow-Based Performance Analysis5. HiTune: A Dataflow-Based Hadoop Performance Analyzer6. Evaluations7. Experience8. Related Work9. ConclusionsReference2 Defining the problem3 Multipath topologies4 Cost model5 The topology planning workflow6 Generating candidate topologies7 Physical layout of data-center cables8 Examples of Perseus results9 Related work10 Future work11 Summary and conclusions2 Design overview3 Lossy MapReduce processing4 Prototype6 Related work2 Background and Motivation: Operating System Support for I/O Concurrency3 Exception-Less System Call Interface and Implementation4 Libflexsc : Asynchronous system call and notification library5 Exception-Less Memcached and nginx7 Discussion: Scaling the Number of Concurrent System Calls8 Related Work9 Concluding Remarks10 Acknowledgements2 Related Work3 Read-Copy Update Background4 Relativistic Hash Tables5 Comparisons with Other Algorithms6 Benchmark Methodology7 Benchmark Results8 Future Work9 Availability10 Acknowledgments2 Related work3 Power characterization4 Power modeling5 Evaluation setup6 Results7 Discussion8 Conclusion2 Background and Related Work3 Design of VDF4 A Case Study of VDF5 Simulation Results and Analysis6 Prototyping of VDF7 Conclusions and Future Work2 Design3 Evaluation4 Related Work5 Conclusions3 Distributed data overlays4 Nomad design5 The policy of geo-distribution6 Implementation7 Evaluation of mechanism8 Evaluation of policy10 Conclusion3 CPU Power-management Mechanisms4 Experimental Methodology5 Results6 Conclusions3 Intermittent Memory Tracking4 Implementation and Evaluation5 Conclusion and Future Work2 Overview of FVD3 Using FVD's Bitmap to Support Copy-on-Write, Copy-on-Read and Prefetching4 Experimental Results5 Related Work6 Conclusion4 The Okeanos Prototype Implementation5 Experimentation Environment2 DiCE3 Experiences with the BGP use case5 Related workAcknowledgments.2 CDE system overview3 Implementation4 Limitations5 Real-world use cases6 Summary of experimental results7 Related work2 User View3 Vsys Design4 Vsys Extension Library5 Experiences and Lessons2 Design Overview3 Generating Internet Trees4 Visualization5 Experiments3 Polygraph Framework5 Conclusion2 Challenges3 Prototype Design2 Background and Motivation3 Design and Implementation6 Conclusion and future work7 AcknowledgmentsA BSTRACT1 I NTRODUCTION2 M ODEL3 P ROGRAMMING IN G 24 D ISTRIBUTED E NGINE5 I MPLEMENTATION6 E XPERIMENTS AND E XPERIENCE7 R ELATED W ORK8 C ONCLUDING R EMARKSR EFERENCES3 Background and A Motivating Example4 System Overview5 Learning Configuration Access Rules6 Error Detection and Diagnosis7 Evaluation8 Discussion9 Conclusion2 OFRewind System Design4 Case Studies7 Summary8 Acknowledgements2 Java Runtime Behavior3 Object-centric Deterministic Replay4 ORDER Implementation5 Evaluation Results7 Conclusion and Future work2 Setting3 System Overview4 Access Control5 Attestations6 Confidentiality and Integrity7 Write serializability and Freshness8 Implementation9 Evaluation10 Related Work11 Conclusions3 Design4 Optimizations2 Requirements3 Overview4 The Zebra Algorithm5 The SPOCA Algorithm2 TidyFS usage3 System architecture4 Evaluation and experience6 Discussion2 Eyo3 Continuous Synchronization4 Implementation3 Related work4 PodBase design5 Replication6 Experimental evaluationJFIF,,CC }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( oO(~Ξ6o_Ǿ;H|%BOnj4qDcVO*L@9Zy60xxSǃn-e_#ǢG%%pψd+3*VvCݙ*,U%s $K=m~ nkxc^ԭu}^jZVe$ַh E. >#x16(~)|C\0xO U̾ 䛅)vC|uv?'w<{e}]FuݮqfhYB,R ( ( ( ( ( ( ( ( ( ( ( ( ([NGWx4O(\.6Yù)n:UDq;Mgoֿ >4xŸ6ǟ䶋K^;񷇬C{-æNE<%H1j Ks?m?W?h{*ͪ_OkoG[[ᖗ> xC{GJveq%gQmEǚ?qgϢx 5/ZëػNkOW·KM^-,&5XZ~"CVW_2eUk1)}T~$SG?f~E񦞞}SP%nmuOxyⶏPS܉)KK"ԕϞ~5~||-k=woR_$7 ~e'F7Wh8%˫1] IFU}O~l">bcff$O_j7φ 5-'V*DP2Efn$FO3FgP@_c8ZGd /OķIu|[/%{>GLCOquݍNƪUAԊV~~~^5/1\_ > `? [~x>,L˨gZ%')7|;YjX` 'ld~?kxrxx '>&i^(l^pT~DiP{}}I? >.'{ |+/NQCxZi8LlVN 5;~cRֿhCB?߷G|}Z:/Zx Ú)/*xJMSNj%ߍ??nڗGV}. )->Uִ [>ž"^cc1x8[?P M6L/ QkMFnh|k*V[«Դ[OǠNO]uy.tI,ݭ-ʶտo(gqWXx.7`;O^")2_ cm{m_sZWmm֜l.Ew:$GPZ^[׍A@P@P@P@P@P@P@P@P@P@P@P@P@gko>}׃(x*S A2WNgM,bVӵ2Gf1][&942_<)|;֭#*h$d<#xFoyh(+~ʿdžgm'𶐿4 kn|'vQ𥎣4 Ʈ4:[[%tVX( ??O bosQKVMzz>s[K[> 0=;B0X|{ G~)3O V7l^Kik>}i"!Ȁ @݌_߳'#kk'|w>" 4ߋi[UcAM#S |tNvm:ho"-3T+% w/M c E]*G=hIg|[e~*{}%5>]'X]4dž/L \yx* "mV;7\'Z.w>,$~1 o&xN/Ch:=ܖ\NZf`])k__Wy{\xß[JQ bv KKjsE2ɩI S ?_?g>|-ӯ>x+_|-kSi0M6^(T$FVUPRje k'G#[~_ u^%ew[_un5-_[~)}>#@;G 1+y-@sJ־c_Z5߲k~_ީ|/}|'ּkq3\+۱e3$%0R{ τZ3iO) i ӴᗍuF-Z> ӴŴ|U6  4ViZOVjMJ\o}15K/ ũ x@+&ўwk_C/߰6m*|"%}n xuoZ/:Few1l>yw>UFYFYf8I$H( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ^}OJԴ]WQЮo.!tt`=5u?VZK2("24kş-ÿ?Ь? #W e;M1-4mW_|_hi om*)$XduhѴmG?L,υ~28~~P|.u?|Fko0x>+[LW7ohnFԴn|dʛSqڏn>)x+?ş,,O: :6[|5i]>wK!q!BPEŸڇx]_1 զ OKFi+x2}@"lVKb'f P 52{^˿ |w|3g|sk/m?OiU"-suq[eZjZ9G4jhk|_g7ZuƏ~m}Z嵗Ce] Q^li.HL%odnBkO4|B xoŷ66^ԯ5Y3QgbW.-6+ o>i=>c7Tzdα_*kTϥd#:[P1|>2a$ighfv<֟tB2j[uY$n EßS_'osKl[|0k_^ώ- =oxOYཁ&C$Id -/ |MKx^ZuMl/4V60) ,I?Ro''s'kƁyQUocM3<%Viq$:MLw@IX$wƿ ,?h?¯W:|մmMďߵv !i/`Vy)_,7)_xSD7rm evug7O#K?^%ׇ|y/t|5t2Fڝr 6\_3C;;ښ .|0HqǞ7Ե=Mošigh-euL77)ݬdq@kFz-P@P@P@P@P@P@P@P@P@P@P@CUt L5oRm"SյmVO4:5 !Yc4X-"S-6e~[>"~Z?>oĺ⎏|Ju_j^ܚ>&hSPl˩Kt#Oqk? x>?hV^ m~t4Ӓ%4;ii:n r1Qz+2į%cu??z>k :|ma /4}$XfXH;-ՓLfk3 7&׿cFZ'9PU M$U|7w]SOF5ONMzCG|3nFhMnϟat.(/ _?+8i cSү<o#-]3R[M@r'tGx#_nW~.O>i~g_|%}rSҼ?꒮Zե $(JVj~G~0hKڟ{/1VӴKiPSXIoc/3_j1$>)%>O~N4Og =K᷋$ּQuxWzO h_wdX+Te8 F O_񖋩d𗀼YsgTV> oZx{Z ލ-nCikv$iVHfH)5Nis,+_q5?i| ax';ľ%y~aᯅ 7i!m+h?m25ԳNT`]ÖO=ҿwrK%߼o7_ګ| ~o V@/.g߾X)EoO Q~GxlkPGlOx:$?>L4It{Mo4b&i&nNJ/>_?[? BßtR{_Gľ?, ׳5X> yt Yi|W?!'Ѿ!|67wkCSo|l&>!T8Bm]Cmh\Nm_ oyEȳ*6욵: ( ( ( ( ( ( ( ( ( ( ( k:WGYH!4VhA0q8QHTnS;K]ݴH݁\Pi,q"F¢(DQU@@ a2a#+%1ƈd&7O4&h7zzh*vpGqV+Zmr8 mk 7 (i&}/j)t߄¾x//g S@fO/5M[^#ԵKkf(mᶉ(&Rr(cH@##EQ@UPHSG>*,lhxbgrym=诱nMmFGbE,qG"(0]h1 ,q@ @,2\4-~Qk|/L/ /hE$ jK:*b%1 a@  ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?oo)?{0ӼW^,[*+y4ټ*nMy}y=Mo0h£'duo)տ5u⦗w7@|Gx—? nόV>|/vݖx% #85 >d᎞6?><|4:G+Z~_ tȭ./4u Ftӵ {Mr-ӥjLU6e~g*BOo#]_ ӡ/gC(> !+s[@िSK/Y{^>t/ x+k,񏈵znCNғՠY᷑$g FRU~>~> |uR}N4]e|QxBMg?9s~?ha d5Α0RoOoك|iO%[/O=?K}?>*ௌ'|){/,MB 0@P 2GNiOE|h;R- ?~ ]oG"Ųx@. R8_PE"JGןjKm n>4+W?Mr9?bψ?i돏?,|>Z}kXkizYnveHZK BNWV1m,Q}WLxkZ G|;ךEex>#Šگu}jMV+m"Y/m^c@^sIm4%R=JI%{ꏰᑥ)^mH1gP g;[cdpsA'ߴcA~7x7ϋB'/!|QC)RMOwu!Z$p ocP@P/߄>,~;,>oѼ[bgt^)Xح.M6γm ]aYڪX@o_GU~ӿu kR[OMԼ3q=ÚcJuvzv]nu}*xc A{G"^yk"YckuxљmkmVimS$̣$|!Ezᯃ \>|_о'SM5+'MHtf=2WpO<w1*QqN|qwjc⏌"__ٛxڊi]g %槪ˈl"fXI)ns{/(FAkj VCRh.|r v:,|&բQvk_:>)>'Oy/ Ǐ<-wum-ׇ<_XD 'Lbghؕ< ;*(/Ɵߎ}⇊|Wï|`0|7 l浚h-_ itKRDJZF\b"OڛP6M>MB-u <15v<_ Pv|Ѥ,v䃰>R ªs^BQPS >4X*?Q`N|= g;AHA\%zhpƒh ,|Se5ǽDƒ,e;_"yH.#34tgd~? y%o~G2~ Vլ|os@m Η"ƣc4(&cIHj %5*_ۻ h_:D+;5zw6vWboO^}F" $1Jt.Z-h7h/|5f}; _Wυdǘ.\OR ygkh9 %WM㯇WX?>s4>'tO zc6,6o[ia朐TzR;Oc~?Gď~ t]J\5-KP@&f&-v W8(DT\&4|~ܚOh|Es |HԾ}Ҿ|"׉<3aGW46/ {1s(''GZ^La/4@czZh*ֿէoH ? >>A?LlytMyb|j%(l>?t-+^W_7>? '`Wzwߊ%7ΦXNeN&~?l7K$*h6(~fLnu X[OMg}>\BC$̉ \-I/#Fl5 [MԴȒ{K 5mo,4s[][V LK?x!O[EߵAaQQFqA/~Lmߵ 4|6QloxB_ .*|No7$ڏ>x6^0NjU`H֭thO Dcu&n~ڟO=|]:>?~9|(>7f+࿈_<h~ z[_i 'D:kiJ RI3xSkW/Ǐ| |m'_+Z/mGEž>>ו4c,N*pN)84gVOGC^ #Jx~Oo~U[ OxO@ga:^%mdin  sT?mogO0_u{ƿ|A௅|wgv^'wp3v7Z.*.G(_߲㟊;?oO<#xxLԵOU'Կn?#oɞ(otߋ? tMB/%#d6r0=Ncd _ F+ܰ42[R,ƲC,2)GHx H f'犿j[_og_c>1N k&=ޏ/}7<-xgEx']&PP.G7XO;H_߱s4|ΧO~ U/ F{4RYmkD5jkF~?N_OaCs'ox6/~D?$xwGYe}HK\MlJB 5g_>y*_!7OJ?:u;o?'ñxW˩iPi!öl\_ܶu-n}6Mo[b/|fgƟNu+y_:}s_&yYmi{G(1%+7L_w?೿@/e%C+I/[\F~}|1|9[+STo4d{NMn{玿_?l/ڻ2?ß[k_[^koX ~& :/!`$Q\]o%P~/_tߵO/|)O ~(Ҿ"<𶡪>_G]ka;7tNrH~Yj hsY(/<φ)S =CÒj%䶓6$`ȑ֗> H>1i_g~<'-w_']kz>xWĞ%L_x;\ڽ6g}VvK' *V7g{Wz=/kmd Ɠ;jgvoۦkwZmag#I7"oXwC-,?ष "~_>x?M |7YfckkZ<;Kb4F$0#oa6Mӏ^"-Sxv6kt>t>Ty\3>?l;>%Sc׏>|xau/4^7#aW/k'?dCv]> xk~_?|~ xg4}?Rx'^ť1?SҬ$}˩8|C?j+ZxJOF~: h^M,x/ZÛ﷘q£+Zŏ_g3exUi--u<}ſUm~$ Or i вne6]O3_k9xkş|T1x-kkZMoũ{s\Gu<CRˣ>'O_oXwswv~ >ĸ47KWf5>?t[[=XtJ4՚wA^v? ڋ)K{<5e>lj+rj=U]Cty1&.6M֋hW$|es-<Bm;^ko <><yR7 i0{mF  G⯂u_+/?>|=Ų:5]s:izok9Bɴd6G~ OoߴS߄|h^"yVt-Ť]p[ dh*S>|r^~ľ c#_ڏO?7ﴣc}Ii4N/,=%h0{\>vQ~>)&h?c +Ex{ G ~Cr h~~ɟ j'$7tmjྥ0\Ŗm~iZ -nW6\lL$wZF?i'Ư:8\~| /=xz7ڿ5xv_ iqZZjP {ki)|G|7>|㉾ iZh?w6چsOQZU9}=Bdm% ( >g++zN_ú&Im[G43R}6{ce ί6*|Z9T@R/$-L~*|6q<)ɭl+|I 6x??jo> 짺4M;^障E6Z a L0`Jn7ў+ uB:jFt_Vio~;ڶ=|EK?| xgVK#hI/NτNo+Y.O |*/_ džL-7xZ|8X_\{--%B|Cbk_6 ?f"jPOxo^mRoIahZ>2 ZA$l4XjU>q??hG?O64o:㻲-|c{{;\Ųx_[-tX0c̕;E3̿g#F67jzAMY8|>^y4gֺ&j5NyZ;SL>g$>:_ex9?k_Ծ־3jw <7?3()o>iqvMF;"U.h.Ys$cH^ ~Zg Ak?> 6xvSJ;]Moa-|XaXwӃsn.6V?'3៏~*\|@~-RqᏇUK^u \CAot3>$iҵ!& \ OE[c)o??i/Qu[OwT5;.RTa_iRCsZrѻEτ7ŖwodžH|%f$1Y4Ga=sĿ ~A7_ZZ%5k&ޅe&[Ym60@G56[;iVߵ֭VZ<|$:=B1D{yUω u4e,X+: ]/OGm$5\Mv L.߲k|hewu RQjZ3|dҼ1=Ͱgm|GmkrR) J\ۭ{~KRj??_xV[a}xTRBcgS!6>v_*6?l73G^F/Ʊ|f 8/x/׀~#xFL ,-\))?Jo ~ؿcZ sO? l43'>#|;@|aj5k Xvek,RuXT9?G_?i/kş|gg_5u? =7~(ТҴ-UYP검lz5?`/jgǟ׆[[[?|D~?wd>,>_|S}qk"yY-$k)KV_gN >3[h+k~:nU&o|5 kůcOiY(0k] ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ?j3n|~߈&~xmڮU[Yc R}9NS/ jugTwSO<,< xn𶃥xto٦%[Po%24jLҖw@R__~$4?7"E~!~ӟ<_k>VZ/<-Y]NE!y7wt?k(OcO*G|-sD4oأ>|+g⏍<_x7SO7nƗ%:-&aX)n \x|]O~|%ˏ#oڳߴo?_WIxF>V^Ѿ&h'<~񆇬 ]oy嘣X a_["|Xlo~<<3F ὿|kOO85mql>-x;}O7?uHԖ#~x\?Bnj*%'>|b_|=Sgify<1\əIbh*?X&gho[ػ_wi 4|Tu r]joZ.[uh..%uŚVi|"a;KWG_L~ʟ~xL~ƓR 7Ꮟum[I^=~4_|EФΡ;2K+&77)uh4&3ׇ4oFlΟhu؛kagm^YFO4_]~~OXCxC; |2^wj:jziʘjѝ(.NKc~+iW_%?[^U |<~0j_?߈>㧅=_ >!?[++{+[UA5&Wtp{_V+߳ď|@AaƺV?BǪxFƲCj;-3OsI+XiޔK O_C}ݨk)Y~ҷq~GğxF:]G-|oqk߆;xP46iVڟ"H0^J$~~?_<=_gwď?ho7h{W +Ƿ~8O /|Yi M&POЭl-cm_2YvSUQ߁_kwo|gkuWόk_ĺDžu?S5߈`emvȩ #؊ f/7Jj_?j/)CROV߇sX7? 4oZh>&˻>j+}#^ZC W2hGl5skV8dž?x_M:'-ºl^fԠ{v+RUR+j,~?m$^o߇>џ|).<5_jZ7~!|T3QԵ{:8my)RTn_k?OgA{Bh~8iǟڕ/tMOP7^rX/+:|-7T-1JJKW?^ ( ( ( ( ( ( ( ( ( ( ( (< |11j$? *#ݿO|{j|:n&0kۻY"@Y@:Ӛ{pO|-j  zfxImgYMwn0\M,q8̞S~wg7_¯2_ SW|-~*i:$z'4>Zߊ5akK{BC|8c#g?ګx7? ~g·]SeNu/⏍~|)U58-e5e;*~K+?/ >;k~!GOeм1/ Ю"_xq,6mw3ꗰoy4nӛpm.>2ƿ#~~|%)IoXx^!gFƉHoAm7F)jv}m7?aپ,~Ͽ-k]gߊ~|O xnH{KHeH+`-q8Y#{4|?A7ooU\x[7=Nmŷ=c?{X'o<9VVY£;FQ{~_qߴ`? _w_.~(|T~|'^}7w /lVZ{]LǕ#"0:vJWkT~>xںt^1|QմO٫CP<5xVRezV}-Wڜ+c!GПL*go_ y njΟF` -*:;3ֿko ;xu8>6~b5O麟4>O(n4{{?K71u?'`WM|oc|ZRIZ( bRQ7ROw?|__f?ڃ1?6><^K6D>'񞋧;ucymspIAuv~p'8 K-vŧQ=_S:. V^OhZ.FmYY$mfڟv-~iOx3E}7>&nMEA ~2G+duM+Տ{G-t=;>)KgN!nftSDd"i{$(n?S Yy(A~1]~οtT~ge'Py\Y6.SmJ6r^ _1?J}{G|[O??&_j焯|MOYm\L|q|4 _I$:,'r1SiF_/u_ڷLٓፎ'hGt=3Xkm-WޝxD VQ[OfӢ: "pTsodփ0 ( ( ( ( ( ( ( ( ( ( (4Oj>(j5HNԴ}{BV|3iW6:煼[b+7T-.I`CP֑'J45TSKWP$N8m4| P@P@P@P@Pi>uώZMcñx2~!.uk x!'ok椶>wR_Kpmw[A@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@|Mۧl~6 0|^q 7ⷊSI? ޏoAKoz6Om^NKxCʡ\>}ɴ?ݷn~]ۆ3"GNaN$*,:IFH">Y_g~*< Z.>7>x?E񾛯kZp-ҴX_CׯwdH.yI<4|4WogÛ/-h?ş1|A{Zi)|[=KM8ym>?>xMFHO4[RӴH-亾@𦕭R5M#%Kcş,GN}RhW?s?È~^0=?#h(߇tVRVnUiJJl-AϿ|fWo-~.x+BhxŐsQz֋qip -Y|@>x_#u`x//|,6C⏌|K߁~'\º^OhvOĖNq\:+rl=g~<5؛[%o::'2A;_mݍ/%͕uorZ2|>%|M[)-ƿ| ? >$AYk ,.z%ܼ2ĥeimC-4E? Wvjz|MIciXtʔ, {@ ( ( ( ( ( ( ( ( ( ( ( ( (9x*Fk4޹u XHuShNWiڎC=1;8SPOK B|I'M/$_j_NJuh47|(|q߈< o66%?9lnK .ڹ񟀿eߵN~GEig⦵Q#Ԥ7cb1B 6?'x|#Nо.xΛG]"|I_|~NA׌MP&~wgA Eb<##lȃ,K#3 / -}ZoiVڕ}K-/Ϟ Ye_?n?x_Iſq4 Cojxn{])|Mez+y[lhA??G|==o~ƚͥj?6YtOS?g4bin-xIP ?dں/wC?W_R>x›BGq|Jxj\<[ht}uu;+I ^T Jw{|Oߴ|m Kn6cZix/ӛV<+kd3Ie, 0wח>d֭^^#7Hw+xS5 .kwh#Q֢ WBeirOy~%|oq |3{9?a3[ğEƟ[fOž.%y~鉨iM<P6nLQJZJIG|_3+[~Vw*~ß>ixᇍt)hmZ5:UŨ|96HQmP4hc3{Gퟗc~ _>2~h?ljO(IGҴ|TѼgHt;ӵNm !-|t(emg'2O7"|,?xO~^xGľ4TY]Q|L4:Ֆh.eJ o19+◊t>a l^W?G-f/,:πivM?l4 .#@#+iTAD|o?ه>]?كߍ_]O>'Ež /|Aw k}Z; h]\Z[\ Mw?ثS7ᗅ> |'75 &a×YKgmC<02LM~PHP@P@P@P@P@P@P@P@P@P@P@P@P@P@P@>[l,'.5լ{Cyc$itmnďr2 A@FK4zt:O:ڦlm- rƣz`3u}pytN^ ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( JFIF,,CC }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?O$4hzO7+h{ğ3Qf65uxBt4=䷚Y%}HջO< wB~|]>7r/oZ'mCƚj'=G]2JfkdkwJFIF,,CC>A }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?/ZK-P@Zѿ8A{@'@P@/@ @P@P8>4^'?տ>'dߵ(O~5xk_/o?#$7=%- | kJuK˫JVW}7m?è?d_ __)E- s}@:EE_P7m?è?d_ __)E- s}@:EE_P7m?è?d_ __)E- s}@:EE_P7m?>wvioUTeo ~ chO;~; 🌵k??^ $[{k k9v@/ZKPԴP@P~kF~Hj?<_–> |K|9x_|Wf4-;;%^V]iZർc f>P~ȿhS?/mZ/uAk9辠A"oŢN/P~ȿhS?/mZ/uAk9辠A"oŢN/P~ȿhS?/mZ/uAk9辠A"oŢN/P~ȿhS _ύ?k ͥ߉? xs4,|?KxO?񦩥j]@^zka@|Ca[K(lF?]?7[+Ogpa>׾6u|WGd u=~IO:iYIs%fiaTK aI$?= (7Eਿ ~ |^G>8]~_hֺ'UΫ_ jogX]ͧw`2E<24d =C aI$?= (I?h1O?07? >)]PxV+JI_|xGໍOBiOP?iOlc3_|?wC߃>x'OoVxA>.k٣o5MCTZV88a8U?O n)$( aI$?= (I?h1O?O ?$'?? ǯ:OW?k/?ռ=o #Ҿ~>.SоxS-<}6g$;0|@?`O?h*=}?_<6J> (<Z7H/(ks_ g1h{ K`_ۇ_wd[ïfh#;_ƾ,-?W "֗Vw^ɢ6d '7I@{P 0~cQ|U⿍ _Ot),?㹻ү |!5ƬWO.ȕH#B3"z7I@{P|߷YC'ߌ>,'oVxA.hW?٣ᗎ4CK-&V9cHfHe+? ;_:¿V?d~?|=ojҾ-Lо%S.J4L(g 0~cpL?$'AE?SI'? Q@7I@{P 0~cCo~:|.iP'> {~m4e5o/ % gvw?3?tO7(_'1?|XҼ_  wuώ Ѵ5H|=xÚt_?;Aw>qI<mijZu}X|~?xw^mxz cZS↏Oj3Ms$6mpę hT=sΡxuW>-wj?"|CQΩh-7)žg~PLd-pں-7߈3~>^ޯo~? û>&;Οa%0Og?Qׄ~ԴpL?टpEx P@O_B?F8^RWJo3f֊߳E`O)z ( -h_ ɯ7I?%I_/)g?ھ?S~%wÿhY#wz獼Y/ ? jZ/4Xl5{R[m:A]&%}?Ĉu}XմGC]>hֺg¿:VD:ד^G=A+F|UoǞa%u}75Sm2dlџ+rR}c> g[<WƖWZ}/D)|(xpFCbiJҹ@Dxguxn_VG#XX|C'xK]OL-4IbxWP?hl l5o |=/a:Y⼎YGwS]f;! 8moo.u%BI4 օKM7_PچyNm Sִ9u :W0wv" ǵĿjo,w#^í{ڡ?}; \X}SӮͼG<2+ 34u/\ ^M"&>+&#G:FG$[4M^;)t> u)&&" Wms_<w ڗ={Ɩ:Od֥i8R]'ᶩl5%Td3~ږ2 Si0'W>-/ZKԴP@P~kF~M~ٿN~ -??U}bYK??lg_-74G ~|uO}#voLٹrpEbKi^+_iO8K;]9MѬWVzZEdv9//'GHu^?){Zx~?3T %d)%R[ź֣5kxboxGiW~$|5v_O.úVߎ;93I 6I sQ?ׄ~Trxkcmxo k $4E>"M4GJ5T}yXqB]܀ph\ռ]|<|7ΈÛ?G|CRZ./)?mc—֓4ZL6zkiwgPl? |UEaf/~uO;fSOZ-B7֋?O6KOhW%+5-~->#?o_&E 5sK~њE׆KNƍ~ޕ-z$G. @) h'^s tJ|q/9|6?P?sPgN fՋ|x+wX| ֳP6T>IixMEc?E1YI,`3Gf~_|0|Is׏ |p|5׬EgĐC$j@D|FӮ5gǂJ|E{?x_cBg5m@T׬|)Tj޵req5?~ ?gڅĞ60::Y|7_ovLc6)Z+[[K}Bd8%gB?F8^Ro"@5 ?J7wNom~ۦ]Yj6h$ IJʰ X3hPgV|wq|h%4.A> Ğ_e:< s㯃~$?&f4^ {^u-"TN5?&i-$c{DPxV u'xzLy-#W"-Sۥve󸔗 VO$_Fu]B{xcQ|wĚυ~"G]=gU}BC庱I  ^Gĺ<'x-_'o ox:gm|'}CM`n+맆o*=?Qׄ~ԴRLـ<w!:JZ> (<Z7H/?€?&l'??&>,य़`Gj$>)|a|/ ?Kom_J l:s^'=e[αiik{=‚IJxO67D\[iwqKd(佼V(!U9!1F߈|!L3 toTQhSFKY+XP w}7{ M& j>>6V_] ؛Ā\Z`k,rж%w??`xG@?,':oHҼ?_t :i7Mw4h{6R$Emx߇^&<- [Fx\|SkVL>{k^!֛EѭNv+b@=IoVl4j sBk_u/ mig5?Cx/°XxP4M&GXoZ@le:dLLbgv4N𮎚hzO4Oæ<:ĺlWy\$߲[. _X> %wg>:߀lR?W-`Kk*w ]/Q_&{^XZП%Ş2uk'q(75B#I!L$aQB &.? G@N??P'?տ8/&o*Nj>T >7|=op 5oxƺgu~-爼}}wz2蚏tk^btu*IbA J-wo_,O||/xw)僾b$S˱U x__|u<#L;< OMץnTմi]Y]|Ėe|~+* 7Kvx7Zgox>S@Ox?w ZR[_Dt!#PG(ag?jZ&RO8آ< (?!?h+7yEQB!u}K@P@x?aQ,/ƀ?&l'_?&>,य़`Gj"*ּe㏇?[?|Fmk\7<-X4׼?_ xzky]OiYoqM;ྩ/\[[ÚkxfE[mIsemY6PYkYv:n%Bū/ WZke&ͶO{nmWY#?1eʐ -~(x~ |o*wv7uAYѣ_?ks.w_Mme ,h?J0 C_]^eC vsz>>mT(c?.? (~&M8^?o*.gל4}=}Ce5o/ % gvw=}_] ?r?U4>Ιq| _q&B#f?& K@7 uZh֟{:6x@5+Vҵi, 3S?j/I)9cr (CGa@B?)h3~PZg/߲g | C |!xV=[~9ǪCω~%Si/ľ0Lj5x4چu Q)=`_>;~)|kd|Q /__O;&wFw<Wick>gk)8@ç_?us@:w eH? g_w4ç_?us@:w eH? g_w4ç_?us@_-Ow4/>|??|:[|?'CZ|'?A]}?^]K3GbYRLـ<w!6J> (<Z7H/(kuc i1hŞ|+_^|ig~1w4m;~g|G\!׉|=[^i"k[+e|AY4`C%#O7Y4`C%#O7|-{~w|R)~&_O fwP +H^X_tr:gk ~54ᗊ??%uKObkoM?dxHEgd$htοhN,!tοhN,!tοh>=`_;о)|d|/_O;ޏxwYwxHwcu{gu,/9HWtO=%A齧@|Ca[K(?uAkڃ>' #ş)p~|+~w;ķ! /&-Zdw76dsɺ(|9?|:?|:?|:??|9?|9?|9?|9?|9?|9< e?K[P e?J_ڀc/?Z?oZ_ڀ;g/*񷎼)}ľ6xOŞ1F|+Q XxCV=|PVZl֖s$߿E`O)z ( -h_7_>㯁/>H߆nA_#O^;e'_ wᯉ/ľA??L4N+DVc/?Z?oZ_րc/?Z?oZgրc/?Z?oZ_ڀc/?Z?oZ_ڀc/?Z?oZgրc/?Z?oZ_ڀc/?Z?oZgրc/?Z?oZ_ր1趠2sEťL-2sEťL-2sEťL-2uEťL-߰B×^%O ? |R? /x@Y~IUO+ 麭^Z(b>04e5o>?/ kx_|$տe=#^F g'oI?gOu]WXjoZ!ƷV4xKX,@<%K@<+ ;CKxWwؗ/Gu(?/"_o?_Qb_D¿ࣿ<Ŀ;hGy;wP %v%K@<+ ;CKxWwؗ/Gm(?/"_o?_Qb_Dhw? k>Ꮯ ni~#|kGo){)綸HlCiM@SP@P@EÃH/( ?+H|7+߁|> {> E(5jχ|3kz>x ,7C {р?#_Qb_D¿ࣿ<Ŀ;hGy;v %v%K@<+ ;CKxWwؗ/Gm(?/"_o?_Qb_D¿ࣿ<Ŀ;hGy;v %v%K@to)şu^6$Vٿ??U||Ca[K(G?_p c ( ( ($?fk/PO))O[~-:Y_7-.wxᯀuCmk(XM͏:`'AlZPAEW-(.|1J?r| W?y-(W?~:xxHWŋ1ݍ~_Z Υ\Y=j u JY$Ԭ.vXApdִx >!kwc֑{o:7~rMi}a}i* ѻG$lI4[}w/6P@P@P@s: ?jwi@?xF_sV__}P/8qt +-t-='O Ih?H<3|&f:/i]jԖ{/nވ%8y@:KoW:݈wĘ7cO w}3© 76zt"qbzk$n'VSx>/| ͮxFMiz~v? \[5ƕt)ZCokKi^hֳL-PM|G[? [{+q1u?|)-vu+ bKtH85dػũ<(l&> R> ~О ޙ :O9𷇴ODZI=獔j6lfOSD +'Okٿßo:H~1 [k ~)xkJ?ѨC/>kQ-čDK`ZE+ػ>lڭ歮XZv"/lU49m۵Α%P|:ƹ)u}%a_5hw ~5)Miig;(4W>om46u$Md֚uZ7X5}5">Vu_/cum C)qj # ڕ3CͬY'$wLOpg@tg[ozVD🈼wx¾4ëϣ^yh{GnadqJQ-|𕧃Co~)x[MbMw'MZV:t𷁖W֓!m wcjǚs|?7jB|po>hBsYv%P ;?-aĿ@63|֬=+o>#gFs?d|Y\m}¯5x?|.InjROZ?xP\_ [ն9=/@x?k^6NѡvO'ŧ5'4ɭ5aVO\GuO?Xxx:gmOGg\R+jX!?@K_׿ 4Kz_|#e?i#|;4]o^_mRɯ j їJ{9a]Zoj2v|A>*k?|qo ^_i^t>.sr ~f*|Gx~7|ioxz;nBƁ67j7hzl28O >xm -:mC~h0=i+|tb xe G446MOk KINJV#gl|ڀ>?ʿ'$!5o|&G g9-CS}KҼĞ0l4+S>cwU.#%âd/D🅵k??O;kxvާjğ_Zo>-ƕUM6D㿵)`/ƫdyBy/}i}~ͦ)  _6Wk1▕j ߏ gj|Y/Z^0U_Q;]LR T*CWӵ?><|_> iW2HǏ{PxvR jz ՒKRf7¯ m^ÿo_HZF.%.,u;!~IIdD_'Wy=x[Iִ|[l>u jEKuIտa_ږ{Zx⯇|E m]f[_Ş3//T3Ond{xY%zg#/]<7cne{gj͗l\ռWj7z&iѵ]*gG aA5 X]~mR}x?$Ώo\jW;GIJj:N/(k"?~#|Cį|S|W+KiVT_ 4eqxsC("\E5z?t9?OX6:Ïe2xΉPk:Lۦ]mX6G[}Bm&9R';~̟Hx'm |=΅<{=ú74-JO_̈́^;Y6i5Ŭ'_-?t/? /ÏKPֹ<.|Kh?/ >%_<f`_>:/v:N5m_ԼIk>42٨([+U  ?tkK_|}|YmHk|Źn\S! &)8_[l:{EbKUg|-K:\ ]k+.<:F"ȇß i->ԤXl溛ΚF2o?>6~h^5 ROǺcyckh#z$;.iI)E.O?Ÿ|# WV)ΩkZV!šu=3÷͠\Gik:)I_4Du |0Mc_|Ou⯆Vrj.yw&n㸚Ip؃ᾇx?HsO_:i~ZG&[A3<)( OPծ-,uSR)u 3K*[[ۇb#4€ MkGk@׵};x@?F_?>(ߴg7w@]P@P@P@}aXME`O)z> ~ֺ4ϊ\e|HgK#4fJh٤5#6Yh@> ('~;߇Ck=ިji6zvx/yyѼ-c{zLӳZ7~ _[g v~͔@P@P@P@ε#gl|ڀ>DZ>~?"[Nos*=c7ſ[ _x724 IG%kzf[Yko)8@qK'Ї@ q?b_EO?q?b_EO?q?b_EO?q?b_EO?G!R~'|N?aO#:tjTp[^RtD$yT~/~ߴwk _\O=SaLBc6g\^x ,eYJ[?w?N/GK':?N/GK':??N/GK':??N/GK':??N/GK':?N/GK':߃G;G ? G%>x%?j`GNmbn^>oپ?͓pC`N?忕}K@P@x?o/^P?|8gſ_x74/7]lu'c&MO/[--ɻTđ?N/GK':??N/GK':??N/GK':??N.OؗSO0tô_ؗSO0tô_ؗSO0t<w [E<}̟!灼)kV| g>$ҋGenA2FZ~~˿/QYM ~ķzm/xzV<H[ x/=J xHdG Eô_ؗSO0tô_ؗSO0tô_ؗSO0tô?_ؗSO0tô_ؗOO0t' x> d zޓo ?OĞ&oh~ x*SѵSX緞46WP@>@?xF_nj9@P@>//N];>&ka+Fs_ȐZ\]\HD#âZ'?f 'i2Z_PZ'W4Q>ykYZ+q+._~h] 1iRA7V{+*Z^ wW_1L~&ଘk\K#]mǚtzmpƀ.YX_jSeurv@8$G ;=[F# H,Dy7tT[k12Fht߀^kjƩ8lt{6ߤgg`m#q.K`0Ɏ[ݐvھ=Ǧ>;ǭmYZ^mȡd{;;{fu!] (<( (?ȵq>O (?U 7du_[_,|xo/ WQKGe-ҕ0Ar#xw1񟏼F|yj~yZ.]<#'.Ҁb0g/.X|-Qdf94`0#u6jC`>l/A$dݙ<(N? V>[Ѵ݌;mqf@tj7G'~ξ ǭxW/Z-O?hZ7t+*Y

    .׾GG}<~ϷMi~.xׂ` %鋪vƢum.#(x +/i~ύ9_[  "x1_Zu)bH?wbIѿ? ~+OMCM ÷2CRg3úu KZ.#z'DZ}/*9d?^kO|U:׀I'e x64i,&~jut*N ^!7_ǟYoG>:HOMֹkԼMf'MVO_;N(i_~G1W_5?>4g_ k Zr |;}ַz>Z܀_xS^=Ku']Khf%Qxmhщ 1 j TOos+/ 뚭OZЮ%y<%zud@iebZId1M~xW-C?.ȫIE\,S]āGD{ƗZ-tM>v$;ʌLug,ǹ *( ( (k]j_ oXGo-gkVq]ZKwxkW! I4K_?/Qiwsď~({o)ki(ifcz|[ks mKpzf  ?hx:_كw[G_ze!j:6闶Gf5lspw_Y?D IT,Pf'/7m8|yS_h:ݾ 2t{ǀGk¾&x46[ڵYPΓ 3hz7|)oyW*g߆Z!}hWǏx/x_/[S_t(N7i~xO}| lռ1wa{~ ý.âY[Pizֽ.m;]ԴK7GֹZ{f1|_ >-|@_:?iK߃R_g=4j7;x[]B5dشw*L@??gx["|;`.)CtX:Wtig7sYhVZ]梖i'OK\?Ӳ(ɠ5^K`Om;[ZIDzP@P@o]~6||/߂(8~GP_ 't?_0ԅׄl`@˷?LO^> imo|[ǃ+1OuWX|}?}[-`.=KKVϱb *Zxy#{ $94 xígaS⯉|_[xqv}~ɧMNMgӥf >X~]O^__«M_E‘~~6oվj5ߌ U؟SM^U:j&< #K> >*ۚ>26>41cGĖMm/z =5fs >9 ~W=SSS25Ww> _:|s]k3isYv,._pZwmwԶK-qz@?MOþ?Oؤ[ oٗĢ!,xEyf`YKMP@P@P@xo<xFE=JR pMci7U'/R;f_,7Co?h| 9<VXMx— aW /TV65K JYVkf3  ZW-mx~~.Im߆j׼5%׀/׉йOcEeW0?|Y|_|#zl˛)lZg/GKK Lp-2]J;O,΁gǿ? |=#?__ս7,j iVmgkm!@=p7M[k[7t'0x<<+66~ƛh#LFON]GJ㩠 -Vm`Ź4:YY,*+(a&?Z( ( |=뉳Wl5XONWΈ㺰4暟ޖ{3.yTQu)_a"w>H 6>(Fwz[!: ?(0״w0 eO?Ҵ%, ULgfk7w?il\3'9Ԯ?qZڭN5t O؞??Xa \$Q*"; ?oxĿk(*( ( ( (Gʉ$n6r*0e`Uր8[w.͟ilq$lj䑜m< F8ڷڀ3 iĂ:w?j"ӥm.`Cl{~9Wmh]Mnߞ3cuokz䥤tN?}z xoki51zawt\F<1@ ȝs} ?2ߏ~@P@P@P@PF;?O? f?l"|?3??/_@J ( ( ( ( (?̏;2>^E~?,ߏW?gOҀ?( ( ( (h ~Ŗ'o5oqQV4xNkmFHW0B7࡟WR|XofxO~ ' i~-:޳ ͫj^"ҵ+V,`Lcon,?ڷG> X++Sk6쮃'5HZN@HՌ @ E SGwùxK|9xޱmKSt+=/'cG2a6d !o?Xcr}P@P@P@P@P@O|Au{KMBU].m[?_š5JHWag6*uk?_-8ա .%W$N 27T~W~Z7C_Ƌ Ga\Z_CjJ|91xQ׼!`.7QbOѵg>x7φ?|7ӧ5nu=]MhCԮX> $&( (|EC v|OaYJ8;8.B ((?_@&~1Ŀ=?*LaC_{UT?3 %Tg#RܭO5xs>wrA*'nekm@? ?kό3|ookQiUجWIyݞI5񦳢\D}lD-AO~x_/| FF4]OP̖F[6j=\HHMz&~0Ŀ=+ge6x%P ?l/uOJ?_@&~0Ŀ=?*LaC_{]T-=Kڅ-]*BuۭWE4]RK=KJt٦&xTd4_N'9&v>$g?e犵߇(%~GM]:dGQI촮_~- 'Ak$۟/mn.?z2 CK5H_xSxmV7eUws{?LaCg{UT?3 %Tg'O_YҴ+YgozƱKv-GP|eT}RHD(5Zh/۳@? oOh/۳@? oOh/ۯ@? oOh/۳@ oOh/۳@? oOh/۳@? oOh/۳@%/WƟڧ>0xox+sUگB񕽼|)ԴJNȗ]o$2EԀD?C`N b@I<-P@a ARUՁ|~kF~,M>+|P-s|5 C^V'Co]JTY3Hx6Po!{.8$eXF__g$M  u@h4A_g$M  v@h4߰A_g$M  v@h4߰A__$ M P v@h4߰A_g$M  v@h4A_g$M  v@h4߰A_g$M OOq_{Cm_'OA'~+ ~xFg}ž/+?SʬSG@?xF_sVQh/>(_a?8( ( ( +'Okٿßo:>_xxm--txnneH-IfyYbbRBI0_Q.%OO2xg>8|5oHO?t9F&/඗ ~F X](M >Ę-ͭ =Ę-ͭ>Ę/ͭ>Ę-ͭ3K OxS_͇ƯWŋ=F^Fe/wڏ<5o}~v:.5IyK5<7/xSx"]Ix'k.\iZP@Ndu6O#/9tQh/>(oa?8?k $z7Ic 7^<w@+}N j:u'M-. Xr sm|R<7GƋūx~.y_?SH}@OBxWm DQ] JQl֧#H߶'$ǃ<7RS_z=S&˫❅αeoi"'0!,U@9o_9Yx.4{ h׾&_/O~ MmNgY(;D:Xi5Bi_ھ&x*;[o jzލ >o{9ڣ܀sh_>1|QH |KOW<x)ߊh~#[5 [p]Yr eHf]kQ$_~7t Y_⇍4tMJi M}k>iU @~&|V/:ωfh>72UZ`qr Zp6' oPI_:_Ջyo?l3:m3]IC▇K_d<k;M4cusx;Ò*MOSm @?44og֣ Y4sZ[ϨDlkgiKeYfwv5(/h?)@w ? 3]‚c 𠽠 v߲gHu(FdgӚkZ{,C2_X4[u)&`̤_$oLjb .AϞ!uig5mG/)'5|A`ӋK.4{|Dw &'8_[l:7Wſ 2_|U!x⏂<k7:+'ϦWF&PMd`FǧO>$|Oä6>koڦ_?~2xoOk{iW imܣM{}$39Ld4ۛƚAgx |)ksR߄'śOM/ytX[VGizY_"p#&K_ %o-rO7#|W;7^Nj 'R{6.k=7~CB>x,v >/Lj7 j'nlo?ujM~-X|kx_?طx/ /`Y4~5ФeG{93֥e ]λ__xŸ :x/#zM5e >3o^IȻ}3Vֵ?//__xx-(_a?8izΣkKEqKuE:=*o$ wBm9#YVU7m:{xÚw;-{(x 3*g^h׊nZ鮤p(c@:H'^OR5qoνg?n>CnZ*->c6#hqR_Ķ:>|4ZfO_N׼7q+7qai->"v/jWPkZ@2DԀZ8xG4|$<.&x6vx&7<m: ״ͷZ,|R4Hf ~oQ/^2kUvwGMT]s},-o;-/ 1@C$ÿ"#JZ-Njx3ѣnuk ۆQ>|;ּ]cSëy7\ѼGgIJ!,.ڸZ +'Okٿßo:_[o/ sKҵ[_& 4u/jC;i>">׆9?/ G~?7_uQ}?C+K;h[5tUwM9ZˀoZwܕ/BCOF2FZ6Vw#@ W1ɠ~?vgrvѵ,Vso&o2LчZ_3F ;cBfui|qE<9fU N-_B׮Mc2* b8C~|;gvt xž-𖇬ROG[BQY%xƺ}3JU1Ao%0f2[ZY>c#Ԭf|P.m#>n~d6Evy /_ABwsW4{_|US} υ4;O'> zE/-,쯮nlmpU*>w.|AGþYhhg즂[\j7Q̘hiЄ/`xbx^0 ;->}kİkxNtmv;=jJtYIok$ho:o03sIട\Եr{K{~#F&?Z?*i-x4+er$}~z]ZxŰ⏍6^x_tEK gaHY%M4Zѿ8Ay@W1?~ݟe~1@P@P@P39~h9_ƀ>?! |~0Yo?)|B$;?|'*Bҿ|Qo jzާiv|m4Pô_ؗSO0tô_ؗSO0tô?_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0t?fv%/KN|)'JD۽|߳}/o&?g ֟RZ( (?ȵq}{@ Fgu?#gAO|ow#Ut S5?oL&)F>[h8߱/"`h8/"`h8߱/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8߱/"`o?O~$|w'Wf<3MTAsK]kz6kͥݴon@)iGПw'w ?hAI|?vse@~ih ("֍a !> x+V#m<}_=Vs|.|? "hZ7|w_J GKҵ++ky*[4:EE_P7m?è?d_ __)E- s}@:EE_P7m?è?d_ __)E- s}@:EE_P7m?è?d_ __)E- s}@:EE_P;_b/࿌|i_^>пk'm.M 'no٧g?|SiZ'T5M.A GP( 2ÚP@; @U a}\ W@C?gߊM4[㿉?k ]5?.7oݥ^D&w pL?$'AEyT_ G>8Mi+↭vK߁_O.m4#CqPj &yxͬ(H,` 0~cpL?$'AEWOo^;)k|M ~?"3G?" goGje6Cqtm{oOwO(|&O<߲4'J4|\n.5ߋGj㏉˽έ,qG,pqF@8pL?$'AE?SI'? Q@7I@{P 0~cpL?$'AEIHOh_u(~^ <x{|G|$<|#]Ƨ|4iZxmϧ61I dv`)M?_Tz~i-@R@P@EË5f9/gט4= 㿁߰/n߃-K׉4}o?/_xG]Woq[K;/dI2 aI$?= (I?h1OEਾ*_ P|p ':_WFVyc+[JXS^Y=C aI$?= (؇u,]GoO|x7+VҼ? 4+}w^ᖓrmE$3G$R2wG/C_+Oot?>7_i_kiqh_)~ƥm MvL&HєI?h1O?O n)$( aI$?= (I?h1O?!o{>|Q(|d[ş5M!xJմ?Ž ]I4|1Ηi~8eܣjG,qI _E?_#vQ|2?5l}p_M(T?볿C} 'o^Ե 1j&vW~9D4&@W_1 _9k|gcpl5xTk0Z,׼Sh  (<Z7H/(kuc i1h+ Yfd:FO%SO|[փI_VM7W+rW'>2V֮5 Z^iWZ (s dߊ~|Ex^oi~/3-8>%cB}N7س og@ϊ%O|Gcψ|yy_'5/W?? iKjk04\FyGxCOkVg^M Ķ#M}+I<=c]guf`1CaS\.t^ƞ-ÏxKG;T+Ú/=+JқH?&崗7w??`xG@-P@{=)0m|p{+WtO=%AܟO#/9}p_M(T?볿#MԿ>|@~ɿkRWaOYi#_ly<+1y/x>KOi9|N5Rs'{O6Uï^ér,,4Am'?~%xg>MGcDh=2?xjBqK{S*JnZpMZx_'eZN*}J GĖî_C 5ЖE@ǧ^-3Z,_NGx3T\~&Mj{6-t-Rk5ŪE+J7yIEO7us@oƞ%sScwDi*k N:vm@9&XdPo>!GuxHd>(׵h_  P.5֩^/6gO%+\}F7"Y=_u-? o X|C-ľ/ӡ$ blt wUTмG37 6fqXRI}  MQ O%5MgP"^O}o_}Ğ%[u!c9/3xeM[Mëj:fMxo5{Ht%ԥddu>'~ _kQxIԼy#0k7>_ mZ|lB?F8^RWJo3f֊߳E`O)z ( -h_ ɯ7I?%I_/)g?B7!xQY~(nMΏyC>sYKwx¥xZ[֬<=i4|IxK!|A.<:$ޗǨuY4{d3!yX&HxOğ|q6[Fg'٫|*DXtaߵg{ yrzӼ*|SeYLwh6Vf%?kZXAohcM{U:?OM[S:ibox3_w\>gyXqB]܀p_h\ռ_|<~(熾$h"KgTԾ %}c—֓%G\0ѿ`~ kKGm ]YK}MKmUU4]k u9h:sr?!@; @?ା_|5~"_?e_ #"/S+/ǣK]L-+麅I,j6IP͍G㷍;?!:-C#W<7xg>0dvJj+<(ݶ YxWh+ gx7"ӵxWe:Vm%47SIʉRDhtCvgVHm kO4kxPƙkT*##mG>'~'}Gl~/];6}Fϣ[&֤7N°] ('_M?0Y+Qok' OX𯋾3tw}ajNخeՖhfBMX |Cu,4(|5i;tH>}4|jtҖ)' xCYW睤|uoć,&z|3#ij\5} PAtNGDs"(_?'_i7u];P?/ &KvZGoEso[SKӬ|ˡq).@4f6q꺄uAs_G3Q|AOZ_Py-bX"E@o߳Og4o_VӼ;#Dk=/ zOxGLmoi Z-ޱe}tG3~ږ2)M?_Tz~i-@R@P@EË5f9/gט4Qe,?~#P௎/x W\Y_0oig(^kw&>MG{s+K.CJFy.?lKo7/xKZ<j x?C5 ]x[zxGgtOD.fq ?YO- #ό^g|QOo<1'dm CRtZ_\\d>H3x_~^x%#9_ TB3+buesQ?ׄ~Tk߳xQi!,ִ+!K@мShxJWCoX]E"NPׁ~=qumC-|dK[`xZ.mw4vv"qgh$ȿdV=iVOu5 >!|KԼ+=aox3[:ׂ-En,u٤ zY4Ϧ|'O|_ 6º:j >$ҭ?o|aφ:η='T i:Dž{X銮>yxWL_W ė'ljbg_m mJ.|Ms~$dkHcFTO_U4]k u9h:o+/PxF_sVQg9e|+_|G=~>$_5O h2CQO xA ׼)j:NjF~˪XO B~exgwn~2x$kY|JuKKD7KZ>$0ive9ɑ>#|:ӟ{xSέ'D^[xxu~-.At&m9-w|~Z|s߅~|']֫jJ\։[,~*ihll_B"bjOF|gght:+? kSiih6-&?[}sI,hwQe~ pL?टpEx P@O_B?F8^SPWJo3f֊߳C`O)z ( -h_ ɯ7I?%J_/)g? wŰx⮛g8ě?Xox-WH^0 {5eGc zqwߎ <-=D?ּE?iCJ-}cU͑Kx2;O3,~?#ӬA_ I9;(Γ/$UյVm9Xɚ"R_||f/=k7~hu}k:msw]+⾝Xkگ7-k?4'.Ov2>OǟxJNwsٞ-ex^_z]_mI I$W]F8^-P @P@L?p?JU4]k u9h:op?ѠG"տqҀ8&o*Nj_EҞ*uEȟi>TV[GU,|5^u{?VQ̶O*yftοhN,!tοhN,!>+/ kׇF🃼=N|'_i?5hzF HmHEEU0|R{~|wR~>&3_f[gh_ ~ |4ᗅuOm/OMM#_~?ÿz>g V #_ݍ#E԰u K?ώ>~ki/fK◃|9"4h۾fWi}ky>ykɶHр%#O7Y4`C%#O7Y4`C%#O7|-{~w|R)~&_O fwP +H^X_tr:ɢ{_Ky@әȟz2ÚPǞ!~;!GS[)< ZwC}% KyͶ2n ?_~)E_)E_~)E_~)E_~)E_~)E_~)E_~)E_~)E_~)E_~)E_~)E_)Ew ?fφUoxR|m}<_1趠1趠1趠1趠1赠1趠1趠1趠1趠1趠1趠1趠1赠 ~5]xƿ<)oF|5K |W$2]m?c]w'Wrߓ||Ca[K( ( ( P I$$w&;ᯍ5ВZhw0[v=$OzƏ3~d Lj,{:uפ>_>B7Z,F nk[xO8Hlģ'(v/}if]WU#~= ׅML[ .RwUHw**b:z( (?ȵq>O ( ( 4M_[ä闺FqHT(Դ1 hџ7?j"BsU#@SQ?,mmFr8Spu8@E?BQ8FecsQl:P"xxtTx}Hb1@O"\Cek߲>~-+S5IW[]곟_~x_}97&W0]lṓ͎ @dkP~x'ǝ>W*_ mn:t> >42Cw*ݴ::;oտx3ǿ/xUV__熼K\xj-K{ Zy7WG:B6-f8}6?=WŽ7MGO5 SI{WD;mkLW-<7CH#-(ʵ_ M~ xƏ>%|zZ.^^Cj-}gK%iMW]V=ǏG|"⦧Ktj"; ٰ.SOi-kggaѐ ۭj'3xCwX'uP@P@P@?7vﯮm쬬In/.LfHm ; $@j{um'#vZk_?>%j:-ܒiyX3ZΝks,2;#I= (~|jg+',kx> ]g|Izi&ҴmW$/}`y`x`PgXդvTDRB*ĀdPߌoMSQ? exqu"Q6}GT.-̾lpꦀ;(մĶTm RVR,IJ0> i!'֞_^JNHdoBe0%CD%H}X (mTOW?g1w!6gį~Gkě}?(h14,6BY$P<8o~ |n|!'=Ohr|H;.o.W:*Ljs;C)>,>E&_ <Q~_tj%{ok!W,/麗 -mS fYdMaf Mq4? ~__R?;|V+4[ILQ֯uGh~Q`g;{X&EO4ҹ@ k sTh|G!O& sj@<`g@Iw^𭸷tmٮ oyEۃ4 PI@P@P@P@4~֞ xLƏ{tȍ֣tWY ɺtDWfT4|4㟇H/|:>;.'t$|rK{ i:_m5ߍVkÉhvhx1kr^࿏0/o4C'/,d!C-ƫfӿG*Ti١hiKxxc?ƿQ]K~d_cGx]{ξ|U OѦZ&d1os[u2͠A*zOO( 'n]׃|-a>'I/kZ'4/=oh_Z?x{ImXvol mr|Y'|g' >^)t­B_i߇/?eK}ozkLOv/kjDV~ho%skګgo:7ǓZK^x~/-׈|%1]SQӡch]$),1j]s7?>ib?jo>ҵ]msMޝ7 \_35X|/[ژu",K?j|5oxEN!-nso7.e#H x{Ek|A d)peڈ1en**"UPUTaUT`*tP@P@5mvm;cn|۳uxwc%,qޱ`+t$D_9 x߅Yw0RsmtLsdhIjմ4}Z-g2ZxgU dV'=zP{ `)&fN:&u4}W?J? V :Qmi`} Oa8Yzs( ( ( ( Q?6{H}<Ҁ>uxPѥAcܘg`l~xZ"N.FH8KWq P95G4ۏ-YF?Y[Jq&[sF? S{m_O|IzrrK2U﵀=p_;cVW#+q8o`ݑ#Wv'./+ʏ-<+om<' ( ( (JFIF,,CC5 }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?Nvy> P@P]~kRP@P@O\OEfsB ( k/U ]t~҇+_1TP@P@wC*h??e\ |Gunooc?h (?:OHd~_f ( (|+O3@P@PYʬ?J>S_b (?؇UB~?d?lǟ~EGgok^~=_ k~%6G/~6YاZMonRMoϋ?| ~ŷ7/?|H?6>TU㟅^.>Ѧ}kOEdȵ$DJҍ~o?OEGS9fW! t~h@>_ڪ[o[|<|cE;?G_|I|(-4[so%_7ooٟ{ϧ|vcZZo~ kۻ2+Ѵ7Z|Y/ E%hg<c׼IfӿkGO>;;ώ~_j^CV,j sjII~^ @~ 4F-BzF1|Wm5G|(!m_k6][[^Ap\D~>Wg/?*o|!%U>|E~~ݿh/v Qxž%S |~ &R.[jw;2?S~>4G~>)Su~Pof]վ 77oi^?WwWѼ5ci#Po 7b7XE? qm߂>!|+-ͽ_|)njgk Q Mĺ#x6/_5 XxV4o5ŶzPa[{{dI*?gO_=k__ًj!𕿋>| |ck3QյMS/wh@?Jk/U ]gJ1T?oo?ߵFϋ6w?ŭ36_¿7U:޵}][mI<zH?a 7#?ixO<}?|-_&vÒk705u?j_ |9|i_pg ՞*4?ٻ>3?)ОmՇ5x?&5{+n*n%#ς<]PFD|5co:㟆IK |mQ$:ҾZV>?|PҞ5>(iDh7ܚ?fςP.?WQxǏtz]WIBUr~T)ٿ?g5gZΑ?jS{DҵYҮ}#T 7SoI!tQ]0?Xo,|c_'O\xE<7|׍',_y٫j:.ռ &y/z"ouqV/P|rI᩼K:H/-; ^|ӴlO4>x~9|cjR#cja徒ᤝ=s|iz~j>a7k S:_+o>յ+4Zoo}6Ohmhv?>#я,S?:D׿ਫ਼4|_ګV?l|?ht⾣_ E7#7XG|m'6%L̎yEɘ5?.}xƯ<_-3|<O@}WtG]wßG_xGidD$=-/ jofRӾ~?O]ž'Cq#t@Jkj~>?$e|+#|)eoz_ 2òh wgm-/HWe3x]B5jWh+)$pvZ#,cς^2r>įa+Ǻh-+A.|eYxSдvҴDVif~tPWg?/?:?^;gυ?u|WO-];kK-]ּ|qWjG؝ZK}'6;{h@>#I:oȿO>.xx? FЦnjy^ƞ;SDMz^h6۬,?~zGw6|gb㮳Mji;|PƭOz}c tFEa aIu JΈ?k/U [gJc_~ B%4uO?ς_O7WwZg/NJxO>Ui:fi> 5[m}%~:왠C~ex7k]+v@~=nU5LjYZxMwۢF*|G~x?⯇?n_=>+[Q?,ta4ߋWc<X"pi:4 C_=_/'⻏~̟Mwž# Kp/|3q+'mIJFJm q-new_ oyk_?jeo>>?>0i' x6}k=CSk+O&=Y/h~EP[ʨZ;oW'@(ۛX}( (??y ( (|+O3@P@PYʬ?J>SO_ ( bU Aga-h?9[aƾ+O>mGg.5~& oA%/K`YLZ*M P@P@oǟ+_Gߋ >3gNٻ:xŸ4-z>,ϭGW!k~} J&.x̑u@P@b7|xosQߋ7)|+|Gj싿&Sy~6>[t (?s_{ k| -|2־5x=~: 4|Z&:&.Ro4%#|yxgZ{?>ѭ,m[ɵ%"krO7b_FPrO7b_FPrO7b_FPrO7b_FPrO7b_FPrO7b_FPrO7b_FP o0~STGោ5|{ |;|+} X.+Ȯ[+J[[ F'9 =H-@9 =H-@9 =H-@9 =H-@9 =H-@9 =H-@9 =H-@_M& _G|#hO?5 3ҼU7׉th ,^8t?q_IFKj?_IFKj?_IFKj?_IFKj?_IFKj?_IFKj?_IFKj1K}jpgRet|]{qAƱFM|]F]K:t "g"U(;nĿ_ nĿ_ nĿ_ nĿ_ nĿ_ nĿ_ nĿ_ ON_Y7?cٓß0~_/_i}xVBE%φ5H^Z52q\@7ſ;?įxS|]k-ǎ|ExK,S̽|E]~OtM*?[5  ])o~^%۟y>w#?>)_>7 x6Dw<1kߋ*wCq "=^ (c{wn\_:6v66pokiko<;*")f h+~,|+xľ|iŞ;~g|G[k/Ci"+Y%Xt|Dhî~Өo4 WW+ퟅ3VzMHXxwB~j*in\J$PF$r*:0dt`]IVVSGP9OtW^|IE_HN.j ~_iϪW[ :*M ]~/p~ޟ'ٳ4?k/R bj7 WiQV8S 2Hň `3q_?3Vci~|WSOx~4ǧOZ| }G=iaQ[[=?Ǐ;~O|S4%Zo<{?tO ^ ׎_x%,_xO[@fY+⟈kⅷ&=/F}΅ۛ$K5^~ѯSn?j_4'~ßgs -~ԾL~պno"QZm94@? Nj>|97k?xkTτ9+&ohic}s +Ԓ$+ #L?3eZټUXX~jA@+/–ֻ;WĚ?8'tWislz7ş? u{ Z{YmlpIxhZd9KK?ٳ~$ƽ?^)? |w}o+xF78|'gƻO[k/߲0ƚd/ CD>$;kg"M!unE>>| 1?is43Y?,!j%uF<#K ;3q} /@|0~?;ih~!|/:a^|9OЯ|?dmF+=`x־'O1\3}Gſ2վ9xS |m/5-gJm+C񖻤KYO|Ye67ǠW3j)n~,+.pأY7n#b[k U'1uς?f mǞVoo >xVh~4Fnڛ%C?ؿ߆>EO_ ZנL_~8W/U͆/V˟ 'u#a{7ŏm|oo53L]|5g|e-'Ӽ;{Au][kQPG ,?`?@>Zm#G|׆ugfо+xşK65_Zx_5 V ߿ٯ?ox_~/i; ^x|)x^ ğ?uiu .S-Z0owh {NUK6fb۳i$hڗž h+?|5x~Wiu/2_ 37nÞ:񞻣 ?v,rsn=YK_񶱪t?d?# j|B43>0UQ]j +XCCam'M kۿ~|V'O;">!ֿ<|Kxׂ|[+¿s^Z'W|9n}J]b$D.|f?| |4?g~͍@k(O o\*.i5[k _]k+ km9@ʯG(:ž0>"6|#߇> =?G.? ͨMM{ƝGYiw^iKb@Oώj&{>|2>nuV-]~ I<)}?Im/cUdn/o }OMzO fq=AG3w3APꏎ?`woOOg)|Bm6}~;Ş2vuQ\^'Fo_n"H.'TPT( Ծ&Z|ibO ofσW_,Yyl&׉:VlfcUt3 W Iq y?No>'`/أxW'.(7 @ڷ.Gm#GevbA};?>Tw_5o>xU/G!m<-Þ,DҬb(c^@%w=x?f>0? _W9|x~ >0!}3Qן|/{Okw:bY74-Cg 9?3|=YF_MĿ wI1֥'xE>"&Ho߅ o6~Ҿ^McM5eZxfvzy|#=ƏOᮙ?~x$ Ke$y {٘tۣx+◇5UO)u;-& &%/x|M|!Oo=G'_\ jƿ6^]7l(cNӿ FGoyH=߄_||)//'7oπ|nWη izO?u}JʷO\I,وZ~ßMgX߲ݞ?l4O5cW:ogc'/&5$UGH(k 5o/:ρěө|E>4_ _xhQcq}՜[~Z )཯Iu/|'oPxP?F.@]P9uSـ~f!\@P@P@χ$+ #7zsq@P@+.pأYĴP@P@<fG sVh ( _)ٳ+~ѿ5~şLsJSm# I3I_CTG-u GF̐d`loG~8ja??l_Goh,z_c!;ܑ@1H# scǯnQ?l_Goh?H@1H'ZolG}kz?࿟O-xdXoe>Lkq}p\,7Pe qc=;D?G0?7o'aj?Ƞ?7Owoh?l_GnQG?/#+?P sblCT@1H}H3O_3ž#7x-x:/zf?5/᭞iF-f%t2v?7#4CT"E ln }?ڣا4CT@1Hv!{"c!yHh9?"ڧqcg'nQZ=h/m?~"kzo[?hQB(9yzvƈjȠ5DCT@_x?%cd0W@-?c?ji@ u (~9[4mOJ|oƗ=|z$8^o|Ll4^xWgu]>mۤwqko87~Ӿ'(A.=#>t{촱<>~X'54ēZI>i ͟oj?CǾ7''B+/[]?3Fvm_bVhG||keF٬ɮ?uxU՞¶e'rpYho=ڙ!` >y=_ ީI/K]G-sPNj<-G| xJԴVQHg9j};7"<#mw^#©~[F%cu߶-.WZL :ȒGP|)@?axVƯ𵞗{scϏ<7txMFh^{m6= ( ( (_?Nl/@-?c?ji@P@/>&7ௌ~٫b_M Z?C?\Ţ|q61Dy OԢQ2||ߏ?b?h/|W U~-i~4sGCO2RAI=J07?FƟ[i ijx7 m?><`X5ޣM߆[k㶻5?(_ᯉ?M_LS.{mL%?zO/ /K~+3zޔZy^pJ.>3K|< />3쯨x/^~&inizvLVPkhך~?m>K;e⏄1꿳Lj5 #> xUL.4>'g_Z. xEU'?bW]g ~|S/]GǾ>-oƟ?;#?YiĚl5 .4ԥӀ|yJx3~~>E?YoX'?b_gMO Kxw~Z_;#%Ɵ)>W>~W࢚5O w_ [jzwe |3^!^_Øz[Nm.T.&.|O~>/XSn}mX;"ּҟ> IQ։y촫VAIl"Ak¯/x\){ǟ&qO~ xþ~cm&^m„j5Ǩ[hM䵒5_XCS$c_r~!A6+++g.>WaOٿ9JR|(__ ߊt?DQk Lյ}!{PkMKPX5i}oh8`[*g.iHx > #->iLi|GqEak_i7ڍԚP4WLnǾ|1o,h_>-CxkþWbUS i#Pcu|ߏ >|?|O A4 uh4 V]&L>{ kW4{ nI%TEnrBitM[wJwv!iYھc<8ߌ*|coxEM;H]~Ʃº 7Z߉5;M)౴7N,(~7]xVMo[~:'~M?>x^1ROCx;__Iw{H-,gX=J;M7Mm./F; 8^㷵I4|K/iVڧt{?PM?RKxb7QʠZ(iZ֣chEީjڥݾizfo%O,Jqf hwwFsƟ |qO 4}HO39k&U-O)i$Oj^l|^Dծ ٬Il *>-|3 H7qM:}· AcO$3wb_"Zn@$M>a0\kmŪ[ţϦJuoì]ëh Y,];@nx=|Wu_ gnInu}@:1>?"gNc¿ xmW߆~;iWጾ7.tCRh~n-KHe+"H@~.u_*|&xn=5K]Rhq=3\[)8tT ?_jGoU+|_>xJ]3/ ^^q|דD77a⟆߳ſ? |M~?[Km.A pZ\~?ڻW-('[=_V_/|!ݧ<|~ W5-oGu>U [9U|/'G9_~>$KcٟN w?:~̗_x὏i<#M'F𞭦Z5߇j^~?tjkO'ׇ?k_\hWOZ'~7b|{׊m$m+[:u4@B@|V~~? t( |Oh2/?>%h>_ ^xƯ4+-O@zz&xkwj@{7W~~ qb>&j?GoCtKGx7gGWi,!FQ7ryg/ K&,ٿJ)&Jj:c~-\ sxsA(ZI{q|g{I/nJ[m x/V^=ӿi_s+7 ~]ƟG? GgQ<:ڶuxBmSÿIOK[^5#k+C~4xUucݽXa_> ]זXi[{xp-E<~6nM◈~1/P>|č+_/W\i#y]xjO F OO4|`#◎6?-t>8:y[NaG zԶ騩:\pE6h4餏Qφ+-~7o]y_ <}`=}wi hwV5[ Q7nn T_ _ųx_xfS]$z]ʍY~+yhn<i?c1>Ɵ>,-4nt ;DMd5t떖O_HD[@ oz]'%e=7Uqx}]O޻s&ͅ<;ucݶu*:ڸ &~04|yuh:uu|)x~?[utk Mǖ,ww,>"<|+2]~ h#S-h˿p~ ~?Mo<+ƉxS(|4~xKF"H_YGbR(.S3HP住?'oڛH?[5]I"|acCGrlctnt֍D#5⿅:7ꗟ|/mxoĞ:jVBN[c|8ۯ_Z&B~ .ǗzQ:L Z@n!,? |-dotZǯ B?zOXNnsC_^kq-vdhmJDU~h_k ?k~dxA{KGs-VJVuFtl|Qg#|jsáf;_/ X:;'F=kZhZkwm"Guԗ yu j%e @ nŬizkT}úNJ嶰ʉmi-9%'ğx 7| P:/z_YFu85j 迄 8> OMS'6/ Ǿ:^$atV񇋣}[Q-J v[ ,0a@ /?~t?ڄZq__7+v ǃ4a[O-lYܰaOٿ9JR|(Ok?<| 3ëxc~kkoMf|J޽m'OGKlD1sů_ߋ#%t-W7a~~ok'm'cU_LMꈖZ%vрb_>9X~)c'1xz L1Ş|b|O[Þ3:gԐ gq.o^=CGl kwCUw ej{u%uk]]` csgw4K h>-tI)mt+ybQ"Hm"-F8 (g ~~փkDŽO71|)g&◀n]F 3SL.c{}KGn$NY@>\do_ 4O~lm|!/>iKMCĺ.Nkzu^셦[i:Χ4jb9nYx ~<~/!\z__<\ooIyϠjz_gyß%~_m~D7"5[ⷂJ?G6W=|uN OoG__Ox'Z]C<;sCiL7RZig6(\k |dnxǍ}>"|5[U4oOO5?gߊO;7xGoʭ;p3\|Ug>-^V5;6}+O[۫ 2R.t+]<(B4Ґ].@|Lx+^|"֭ |G?yE'tr}+SЮ |oS_)kZ6axN?fFژ5_ocݕe1Nč| a㿇?dkg]Ba# k')>+xRoOiUC__V5wncྫ{o|:'?5o iQ5kzWO)~о!,/ȶA5h#_?o jg~4Z_Kxt&Kiw:+&c0[ᶿt,pdYfwg?ԼS/VA8x~$ѼK=OG4-an#!~@P@P@P@P@P@P@P@;~՚7A/~1c|%y@ki^w_xfk{gĺoZ]fۋj-J~/|@˨U?f-hџH^vqkTO|u9_ YG 1ᶱwcw¿ا~3t-oQiP4yoq SG$jDAvt}EAvt}EAvt}EAvt}EAvt}DAvt}EAvt}ZO9a>$5|+Ox'|Lxo? Q_Lo{ +Ҁ> ( ( ( ( )k\%x(l7iTx3=qƍ߆Z7~xS~!yV|szG|R.?|Mdu(d~~ȟ l~-xIWm4]<Bǟ]xC^'>/'i.56XN|\\Miqa4-ZՔƮ/cs{d4c(?(ടbrGO@5P'ݿࢿo(( (~ZJ( ( (_CN q̽=ſCgwwO>N_4oi#iψ|7&^/֟Uσ|--'ž}`n,I,lR`~~Z7k7ÿ5o3~ ϓx_7x/?owVxBٓFjv?%H$epxi?~^COşs~B|/]VqImg~/mJ׵CҾ)A VD܀|K;hًLK&?o Rx|}cITS.@4zVqKOo _[^5scC^Kig=&ОѴh9_Dk<5'?尊KG gMkcٳ?j}gG3>2sFw{u4RdRugZOOi KN ~#|@_C}GC?t %)U_xNV;#[O V̀#i?bwEPP@ϷWSvth<#')O/A}~|YwqkQxz᷂<]aỆ.-}ѐAis$@|MD) ~NsþJ:BGO ͯ{m5jVa}(ᏁBfKF"x !i߳ŋ?187/<@D2i']|3%O5ik>,ӴnSW4Vy0hTط7;u$bH@<ǿuًsKFw)lA-qW<9k!|kQ!izt٫fo&jihPVy-hemK'H~ ~#x_j^|?^%xBO,>~LSþ0&xŸۓŽ s;r?r?ǀ~&~_>j[?|]s'^5/6}_j^h-,a?bpglߌ_ to??i?tc ï{P3|,g@~=xkE[F>Cex(jZyq,M _g׏5 'rQσ5)W]e+Ě}ޣj4i%e7kߏ_>(i>kc?R^%٧|F49Z&2tb캌ry{w~;ο_ |gDdmWşo D/>#|A:Qx[5K.l.߇ƛ_?S{e[<}7|)Yx5k3emAk]ZP?'~%Cn~&Lֳ,]Z OH]M? [y@SSQo C|@m| 8>h&ӵ _ψ%ke]I;C{$/4{eS4?l&4O~ -=C՞!/Kw6~%Ɖ}y?~Vij^[-5{+ tw 1 \\]q=5~?[ Xu.$jI `: (cnQ_7Δ  []^麍qYYiWSmm2x@te$7~Z[B|+4Og⿈~.Ayi[1W^xž WX .t,,gP,+u$3\Q K Tid* @xC|OoHԬmW>tM7XԴ?Jt˫ ]FE?sZYO:%wo:)Ak^0Ӿ ] G64's{i<1x?Bfߋo~vTO_H7_ZP?ਟo;PK7:ǟ(Gĭ@_e&~uOZOu K ״{WM$JX~P@~xۿLW|Y'Ǐ|@c'?g~2+;F_hzDŽaOՏ,K) DWve  Â?fo;O*' ”Â?f_;O*'o:ਟo2P`i@8#f:ӵٛ5 Â?fo;O*',㯿E=?7 ٛ /8'f:րpOGiDŃ|u'8#f:J?7 Â?f_;?*,-(?7o >Po3Q=? i@ ?ਝ ;RpGGiDŃ|tٛ ?o 4 쁥j#,׍5? }/KγSP~"_wtu}ZLw+,ܚ ;;8&;{k[kxYng( $,*$5_?ǎ~#xd{k Q)kiG|J%Y_kiz=La$0o?i߄^#zğt+oC363h'EL˸䵾dx7@_-G@#'']Mg'dvΖvi6Q+-3LkBh7H__,I^C}> cxφlu"BB]:$HK42$̉,R$r"I#t%]H A@P@P@~ߟS Fi +>xG%acSFo.kxOgt;I u|5Gx5m}~ow95 =Y~,&K}>>.#ym)-ld{dYjZvjƱYi:Feuju0Iu}jREmgegmI,2jYia!gx{DxE/~789|=ǥ铟됯H䷲WӋI~~όg0% _ HtG?ïмco _:fE776+(joG~4_P_z?~?O ҿ |GaqIuk}KVii ngciY: <)u=wi0=|P|M"ZnL\ w4N?WٟT~~ΟL[Y?g 9C~7[|cio,t=/S=O>]!ŽxմY#L Twb)DDljOگ}v;/ڿDkz#<_ Oن%B:ko"C 2Crmgς"& _]~ <{/|q.Exs\Z햓k$qDrI:x1z|eYđxk5/j{o 6kK M;m @?~3_VǟVsQQ˨>^~._kE_|{wΥ?/due̵iڀJRWtTxW?ƿW⟊ ltkľl"յ] VS@:e࿱(cII>V"~mc&?hr_mujGD_N4 ͖'}ְD/ⵊDK  (  (ـ~οN,`Ú9FP;_?_?N0౿)/+4'_M?0Y}@P@P@~) ???(6@a_?75R|x'_d_gfOUhoi$?G)?#_dQ!j_N(E/MzP@Qe,?~#PY4?cg_4/sQiw?8;?4:motXI^GesmJmwi}7?_@C3Tv|g&%w7cB|=~.'Iǭ|Cwkд߆vҷr^Z]L^÷q4zxZ [__Fm7(=muh_mk&Ipq8(?'SைA~×G3/?%OE'YjzVh6Qe ͻFݽ)os<}og_ϋ^&՟N.!7:'QeՅiaQ[E$@?MOK?gď{쟦hgT|c]ׄ>z%௉OVԵM.t/ “@P@P@Z'])>)~<| ~ ^[kP7oF|V#/Wz}j7|iĥ4?f6.-I7>(od_x?]Mᯌ>=?iߴ~?ij {;u v:]Vuey'yt0~QYX~R?|o|Q<Ҿ5T|kύA}/D|:4?Yq{-J- QᄆvK`Y4___h?\x;KXu"x_!>~xZ}q_3:Z[4: VE0Y&a?lW ;_?n?]XAFx_oumtGO[coec-څ4pmwcE㯁?/$Ę;煼9mY*MQKi-.!'@?ٟ~ޟ>3Ÿ'<)%|)V|e'o?ƾ</ٛ~<)co23SueӜ\F/4<|4|/xbW Ğ>t՛E񖃪-807*6 ԿGw2M'_w_ >+׃}< CZ|ih:66I&#iW߲?`JOۏ2`?mk5=/U>٬bm?i3V<6#ĚZ5NsåRP@P_f6f۷qs(({y0\ÿO!/6;ߋ|4XqZYF.lg1ۀl33dW͟; [g1a77~<y_ ;e@u\ms~ Ow@O:o\i}h4[gXON~v]_j@km=,ͺNPb@]}m>Kyf7?ঙw^~,xSj˕g:,/]5+?N( (JFIF++C   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((tq" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(((?RLzW :aqrpg91,bF,:Wj~*m፴sF 1#F# @ :J+/ӄZīz3<yjK:gO pt/X4sYm3Imax@ܫKi+3QQ@oD.⻻9aBq(Yc׭cDحk3$r9˘T1I'tP&[[󫵻Iqm92 vB3g$4 68m/-m4\HP>x<1Q@s9aY`]ۈd2xbmKEfҭHH;8f̐݅iꠀoeuP OO.:hlhQS~>ar`<UjI[inOrK`GAһ(Ӽ vfo]LvnV-3TbƒIk~Gϗ3s\PEPEPEP!>ɖIWTȍ2)>Hf7YcY#`29Z|=>eޓw`d,#ôRIȇp5'MѼiҙ`LsaIp|\GzyWÿ.?^@ w#rD!j(uae$KrJ\|9$FA9"!Ь! Ʒsi\@Hn$*cRJ 14EPxK(k_&EdxK(k_&El?E-`kZOEkP%NSo3[A&xeEYv)s\` 9l.urH<6 Gt˪izm㸀WuV`@ AXO$ gP縒f;p9@袊󏁟'5?O5/k((ʿLZ?V ( +T񧅴,o7|7E"deYUOX4c/ *X4c/ *X4|Wv=IԮwVwʽ2Bq5=FJT繕c2p2@+7H??c/ *:+7H??c/ *:+7H??c/ *:*+[n9PWS >-QEQEQEQE|_{1v>PͲq3\ Z7qOKIRh*ºoXmiWe~5&wQj"Uu)($p < ץ+-纳PHHx7p־c.oi{-oݗp:zU?K*G5UU$V _Ubi(QF %;ƸmzluCv)I]\m<ՅO[51MHy0c$uz tW5=f}Zkk}J5{ 6W<]8)nhbKm*D +B:6lI d|y(]R|] VwMdbFHPF ]A㖎]XAu܄tq2`!vaO$WзyzբKk;'|[У XpzG2>PCBj|å&89G7OrgW\_޸Kxs@9$k@ R<oj7=B/bm?]M\mQ+O-W>ῒEjQ u@{B'A@3 hğkזP W7+og_?uN.|1 RxJO_2Yv`y8:󆷆/uCVi$+h^6c4a0 q2GaGL0FD]FIUczb+Cx-Wo*h(̡JhCm9y@3Jo9/i`?w$n*5>1֮¸? \MnPc3IkH W$y7#.ivhEHC$8- &>?Cǁ`%M_OG2x &%¿ѐD R &op4¸? \MuTP+ &op4¸? \MuTP+ &op5OXwWX. l? v|Co@Q@Q@Q@_ ?f 7ZIӢ^WOZƿ]cZ 3 YI"8[tV(# s[o&;o?ÿ4Ϳ€>]}@={4nٿ?ÿ4Ϳ\lӿ6 wuѺz fk/\lӿ6 ?s;N(ľj|_ҮJ-Kqg$J W-akHd].#5,6rOdwCfQ w@+-VpF#U?-ۯo&;o?ÿ4Ϳ€>]{@=w4nٿ?ÿ4Ϳ\lӿ6 wuѺz fk/\lӿ6 ?s;N(ejneX"hة~ff?ÿ4Ϳ\lӿ6 +Ͽs;N(;oA?ÿ4Ϳ»MT}GJKɜ82373okʿLZ(#qlʃC7|.tFuզ{4gQ+oHيnː9g[(-ŗwKuŮwc@iM Dk;Xhv= Hǘ%b:Gm_STZPͲ@R%O-vQ˓T5Or[xIK7@xcMsv:u[(-/|b<۔VgIcGzWv^loe2B.e\ʀGNy/Q[+|ygk &u]+Td١o4;d6΄3j.D95XnJ4i`mz~o<"ekuz\CwA h9\|yx}G_o&5db7|DF0A-**E Pܙ_t&zQE|i+8ȿRe}1⏂Fuk:3M]HSF++e;jYEep9Zx!:; 1߷qIvƛia3bSy xۖA'8+᝾_egVo~רrOcܑ$yU 8v3Ot;|4 ?@]KM(?i$i| TC5̲|F9|_OigHr0;9>U Y0#=3Ot;|4 ?@/?5yInn믓F7۴NxɡQ=Om͸hev=fp*#e?᝾_:ivz&gi,m"XavjQEQEQEQEek:?qSH<1FL>cMԼ9:][)\COu!Ǩ"|CӼ >oyjҋk].O+30_u?L?vtkS]]X cw`b<ƦYkvD[ʕgDr]rD"u?L?@a(u=_UcS"C[1"1'9(g2*5^(ܹE p@Hb w[ЁQ &r;y|'֭Ou)$3;D&9T`eo ~Fy7c{/*&F-YOA9QMhq,no4(˰PYH>׮P i-iph1&#vz"piMuX4ݞR$v'M!S |2^gc_jep]iX+ot.>"o<\V%{,P,+Fs,EU;J^j6oj1ږ3bG9\.>"?w[ЁPmv:MusoıP3EP* P*;"O ȥHA$i/A$X &r] |D0_x V#ړS.s,VYWpk%J@:Kp1I"9 < Svi-ffio.%d@UTsKDž }!ӿ(?W2>;țca;JR=((k?OڥPy?@$>l? v|Co5?[m.-eS$s@-sorA\h$f ~\l5/JH L, 7^yyw+^k~7ʪ<G[q \'f}sPI>:('3gݑhNeiu ݕx\28#*QEQE|\Y[>#yi{>XNNxx3>i)O`_Hm}N;JOڡ.r"Ĭڀ.Fy8{i5_h:B$#k-9, ܀83@t~hmIYt]weqA<}Ʌ`MtKP 5 T,Ky9Hs2dcpG3\M|n\ *2˴8wVMYbP#h(pUsW?m٤_ne4y gddn /V/m0F+YUr$H~5feٯGJ[k@mv ,۞ ?J->Kiѯm,ٍy=6v6vN+ۖmX#" 9%I$}@/Y♯-fwp<5"Z'WnFonG5>0?"G"Z'WvGD/Uh_(4M;NQiQ2y?~Y{y,Rdu#X# |4Lѭ_H[ݬQRN]He>;P̟ O?#om7ާ$ؓԀ*Fh!/V\I/>fCJ:q^e G`XNni%/p @&a>as'.'uF'9BJsF '&a h~!4>G1evrȠo+#5W;x7FҵH+x茶&)ou1y0L\q]yW?ɟ}^^U7OrgWEP_M?QS} m&FJOCX?h_Wq_襬']1|3f-hʳK9g mz[}vn׊yGBp2w^4o EwB[9kXĉ0ms& ^-YM"|f2! ;d/VFݭ/aYN`pQۊKD/Uv76Lj^BAB`嘺/9YtEYBbLb܃>{'IrWֹ y-_ УTZs|+T%ϗE*i2#ȱ+08Qp Z;SӬW֯ d݃ױt$ҚIm(hnc9Khoeu.8H۸lQ;4jC|RHWN\4s4RHYLyf_<+ Y#76䍤67ꟁh@'NzZ$t6FTE:k$? Aހ9/կҼMK. k 8UbN'*ΝmStoK`$8m #r85φn -a:7%mm0;s'{/& x#ҥY*-bO@$PXYJZF* b5=QEQEx#S47|i ba3ҼkWؔP>'Ѝ{_*WFʽ_bQ@¼B7U?^O*U}E|v $]Gqk C$R*ȬNd;WؔQ@"_ ~"oIa!{is8ޏ!e;Y8# Uy?oU%+߉#^kWؔP>'Ѝ{_*WFʽ_bQ@ >x+ŚW:(ҡ;xqN]''zTQ@Q@Q@U7OrgWוܙQEO^=_=RӯXgd=AҰ^O*U}E|w Wy;oU%+߉#^kWؔP_< ='Tzlj|>4&9}̄ #:+߇uo|8Ӽ?h/5[̐V=$V#sMz+ω#^kWؔP>'Ѝ{_*WFʽ_bQ@¼B7Ul'I ܤgZ׏zƢ9EÚV(0mǷsBL$R)WG S |4ˍ6h,=X"K \1¸G \MuTPa!"8B(P:; uPEPEqVj>#VO&h7.^5أtjG In@|-.#XHkYvQ"Ԣc;dZ.Bٚoc9Η)yP^U o?ğ{-vpA?!# h*5O? ?MG€=Vc—gnlk-I/T mrFNTu^t-e8eBA(Z+>?4oj EyCJՋv:foSQ$Uo O+4qF^U@$V}{ _եϔe$e 'r=((*7UO? ?MG€=V~"΃ujŶ}nj&`]=P((*3okʿLOj6yT\nق.HTdMh\垿'4HkYL&T/Gʤ .6c[sy;†z{V ࿷IђT֊pAS ،ՏSQ$Uᮟyω%!׵Kαxn]PNp[4[MgU!F}21ApuW›'Ia@EyW)yQ o?ğW›'s>x_湧C%ޟj$hٔdGh誺L6e,GJMZ(((bzvcwoϨ ߖrXFO<'8tvmo HbP(*3okߊ>=>V޹ťDžŚ%nUpSϯL~W?=@\^fo6_ٚs3BY-`6$8'ZOj+ğ 'Ǩ?I?@<z;sc$_"j򯜮3x{W<hVzžNױĈTE" kYQ@$g?&A>~mRo,!e{hxكQ\WQ Wxtsܿ Hb$pU]j8NDıx rK O;~Rsj+ğ 'Ǩ?I?@<z;?R'BIogx:\se{ncK nwb *5{_> m54JǹX( їAt9?u/|J'O:uҦgc"F)c,NKS׎^-R m9[FgyDDp8CJ#nk/t,X>V =I$z>Ӣ\j-ܰ G$|̼ VgxwOJЬlo/n`R[NG8@U7OrgW{ [N б/ThS|QԴkKne?PH<zT?{vbWl)nĶ'fm ^E, 1Cl7tU%:FVn>s Gq6S[ZaDӤ rp 隀xHO:eY $-j=jd_g̸Z=ҙmmfsިiYbWhMY8_}a2 Í|0‚:=z?x4CH֫[Avx`A1b}^TYoFa 2Tg4Suo*GoL`JWxsv,_J? 1ڳA^/@+EPEթY({P-@rh?W#|w e- Sju!l瞘9v ]?Er w0x~-?eo\%H[pm'*.MZAys/mgHf@#B7 3k7u_Z|:lh@ym$e7$qB) ė8k/x[Vw}(HOKu#rdʜ 6rxs2g֭MWMx͉ LSO^0e7ܔ{$h㸇bܡYH,~z[5||J+г_rVgφ, ??u+hS<-Vo KbADI)`˳cVkt6(<|'t4P>|0g'ϟ ?Y9^EyW3~Q P>|0g':?r+!kz&ש@ 8#PP0Q@Q@Q@Q@6˨G ,"&Q0Bn#b@ofl.ῲ2F2c@V -.tkULIRs3ҹ\N>$'oUU*TO:?r8?νVo6[]~(umgBV83BѓRI't'S?#TO:2{K(Ẽe-UVpX.@ pVglНK<ӭ8M"2w1++?h/&BJG-d\i%֝yдX+o ğu{gIc&z=yW.OG ğux]~>tY.[*`N9KaeFjSq 5swfz ğtq'zx5)tOh rkbݞ6bn$9Ƕyo^qa' طmס]NO 6'j,I(Z+&05MU4 "iM2"3hʿLZ?+Wn-X ΡeGXicYV6u8%TH#טe6{:Pl kel-2FAU+6y:<\cSѬ-j}9;t4\D.wq'MJ' [:קq'?|Ig][SJf:ŔtEqDdPX3oF@01߯kRvM^oC>sE1y1c^BřI#0r8?Ώ\N>$Hӭ亻k*c@SB7h?xt9<;}KwkJT6ߘõt9M|=.ysIKbIdw`H\ι%ѐD R ğtq'z_?|IgG.OGת@U ğtcFy>|GTPK3hzWU-s@{:կ?:-/Y. x*^5@CsN'?J$? A]] KAx?]RWݳTǟP:@ oKiVυXMtmF<0 +1` |+a'6Y Kq}|dZ6 Ae.olNõ"+?9rf -p:'|SO'vƯ|xէC| M;YxQ\|E7Zitf|N%#TJ3V$h(񵞻g&ooh0O3cW ATkgW>.̞daITB;WUlv;QNzzڭ_دkXoZ!x$,:W%ϏE*>U6Zu.5iw_l xoϹXl8#??"G"Z'W_[xGڭ_د?"G"Z'W T6ca`O}E^_^ҭ^K{S%r@2=O*?EXտ#Ըf[o[x_'о~eqgzm)etawӴ{5lq[E'o6iPʰ$qPi 4VW㶙褜c2xHE}(UM4}STKXӕ $ŎW'Ԋ>k=ȲgUh3@HT23OL$G-Sx +Y'2K,@f'kgKӾ%keF˼KSȯ(-ݏ|kt~*ӭKM&QDRU9C/<ՏR)}CxڽkVy%t\ 88?WJT6g{_ʳ2?[|GiֶZ^]c\]$rMIxdx߈l,tkbUZs;>XbUGr~]PܙSE HC+) ?V -0[L$w5=P08"PHN`?k>o=|Q?D57J^&I}k-|+T4xsPn&WtI:v6s-ǩX_E",`J@#/DOȯQ>_M33Ky,%ĉ@P^jb KD/Uh_cDžn;N4XpW~=YBbMr7&{.>\$us(&=_V/Q+|3ӵ~,mblyf"/P'#?B_ K5҅˶w">U}{}6_6YK nAĠ'*H1IKjS\b^O7n8Iy9'+{J/Zֿ!` GލLv9חxKCcmg] 즒#(R, WCDžet]hͥ1''\4H[ 1v-[kus Ͳn$\; ۖ=DjxeQ*RJ3Gax;W%χemayI 2nǘ7ukK}Gn'1g(u"k.YXd+AWEZ&,A644G* $(23xj>$B#P[OXY%8BU $A𶅮 ]\šͦzo$[7X`xg{íx,tmb;jSYnbU$ 94EQE]#OחW> 7/'M157M V0 ~¼BB z+c]>)А5yKG+ϊ_$/ m._mꯎc.+I&:UX;s_b>⎧ww:[[YdufVrO ZS6m<r!YXd=&~m@b/|1m>x +F`:HpqT^|Q!km.붒B3ۼP쐖9 gxOcҴ|%sm2M^b+r"xܰhbp2eͷ:sX>(А5yG@~"Ӵ%#}JҤ>U F2GgѼK˫Gb[Heic`0MU#8?WH_t¼BBjtʋF}-^ =#Ś[zDz\smjvr?! +h:Vt=PM~n֎6LO;r[ju4a 0&T*#WMÑz~2M XaH*rj^|R!kmE%l¼BB]dRV+?$/ m?^|R!km-_ TZƚOĔ|Oe lSwd Ocֽ+ׇ5o8Ӽ?jz,{HF s@}YtF/V+kn\'B*XrG5=o@E\%,V%q1>&WH_t¼BB ՜ m!Kih$1PyAaqbh,⾴yac7 DW(a±8^|R!km [o.;kv0iSbZjUq"Z ۻ XO ] Uؓ{*rx'R¼BBK⌑:p#?ڶt$>t? v86v BHU,9?A\-=jA8fۀ`9icgXK;P9$€8=#gufw;N_q>qn.$FX )lO;7]kZv%sr~a |MSe/uy6⻋뛋!wvrųܟ>OK_V|A2ݣ `'o=MEC(U5ڭ_أV/PT?jb[x@QLXϗ">: @Q@Q@Q@Q@Q@Q@k} %+D)7훼qzUPEPEPEPEPEPEPEPEPEPEPEPEP˜wB7 c zw^^1x [. /I.4ڼ1&30=;dtss4/R+ ߁ +; ??u(T''p'>|0g'ϟ ?Y9A?Sv?6?>г_rgφ,/So'e֧CA 8nב 朓>г_rgφ,UZL:TaE֩R:n w#`wb8gφ, ??u+o,߇ -OO[M6iha/)Flc˹|Eڵix\" yme1ɹBߚ ??u(|aBO-$opcڔM`wׂHQE=_8!OieO=0*)>b8$)p3 ??u(|aBO xnk鼦[ܶs0TC36Trf95johma%ԢtZcIUdF.,$Ldr@+ ??u(|aBO|mMvE[b|F*J)= @񿇦>%D!Df?5zPL> ox8gφ, ??u+h*|aBO?>г_rVgφ, ??u+g,G;4]Aebř\c\w/s(>г_rgφ,,/|~%ϗS|aBO?>г_rg3g7n&9ǙM/||~z3~Q x/5_hZ?,|:,uk$dRYJ2< ??u(|aBO>%>}Csm W OaX2w@+ ^24 KZٵOB-y'L2Lr(>|0g'ϟ ?Y9]|7i6>n7hcKCs0b'F[yO86 fe#*[hlo}͂\+wG1u8#8gφ, ??u+_WIo \RYVGeRr$)xBsQeA$#aePr67N8gφ, ??u+b6+^IoY<{Wٚ6T3#Nz_ iZ΋t$ӕe?7ͷ%m`gh|aBO?>г_rT%w$푘%ܣ.w i&UIla+> svs ??u(|aBOʷ{w({)a [1 wA=RCh$RKfе7("+pWs@W3~Q 6iivڎ#KerHd1oCр`r0G/"7W+j+ʾGRu|Y%mQbd%`A4_Plg.-gCH2);Ў?^UCi@^ 5.=j찪DY[0@\S^\E~X]]\MXooW!X4NXnJ%X4OΗ|znMJQ_[Fff@BWr38V:֕i} uXrr5zjkcg%$c''^:s烗\S[ݳ G#yc H82sQkmw$^QfUfy9JH#ICIM:tNKy-nf1XEk2;?0YRWwѸŌz|Z+شoRy6~@\y"7t1l^i`%쫝UP>Ɣo9u&RrNn> 6I kmџ[ZTQ]H! S95{]_Jo쯭.u)(D2%\+3v mM{;i5]Y,.Q,]waW% m/jm590-Fcˏ=^%ZoM#HV?1LN~ݻdm92M>x5MPlꛌ$J%_L`W5E7z5aP RE@nvuݧtFiܼr&0JUf:vp>XkRiuN_*X B\qrQEQEǟ-_Cz+>65B‚wq?glvuU嶳fyѻ,EO2p+Sv~*eOkyQ,B3lבx 8\dQ"0RAIRXRS6]Zݝb`d31;H<<95dria&b+noO\U?3V_ƀ:oV<_^ǯ_Z]ZZA3-#1JB2KGZMusjAvfʲ;Ն7jƼ4wcR-^V)7YՀ]뼀K1#]uH״-J/WY4[ 31iZ2c, bw'P|dۤ5b}H99}g-Mr 3C!@aLIO%pAf/o 3G2D,۳ҡŗ̖RpfHˉ70OO5}O)mz]OW͆ZԮQ3gqlF+usM2Nq>2eW;~`w+H ~#E>%4ҧHL`,*0) I?{>v-=Θel@ "આLqap^>\ҡ[ , l>Z`؜ q-<}_6uzuh.ZLHhy2j7>V KCeAIq*A O5hZm-սؒ2d]R0Y8_6XM(nF"9C`lM.ͯӻggɝh >{J;ƟYbxY dnZ3fh|;D:٧f0]?~%߁1ڙc 4Բi [.e"!>dU*;O#:({,~?!ӤcZɍ}j xxSF@H1 o%3nosnQ@B <7B&hNȒ4h~NЮ;QWWEQEQEQEQExG j~:|Cx=jBJPp1ʀ=ފTzg 3G*=3OGjy#X|WvGV]\l9< Ok[C'{?^q L=k7dǬhjMFvHǎPEr_-4<:|ڜ3#)nwg$tR5cnEuW`4[?*[[kKiFao*,B@mv}j᳦ V˧ⴞfHUl78@Esz}_Gom>' H{T zmsxl'Hl[Fv7ܯpd92soa%:R-u[ۅkҥb>ݝd`;\A]ĺTOaiYRnȗu@Q?/pÀHwTW0,1..nW~۩I[(7l6@ *·]#470_\lxv`Pp̟.((Ycg 쐮 g޸o?Y5诋j^IcO,7c\lac[;oIq#k2 @NaO @h_` -/?4@ 9Ӟ9o?Y5(:%]BYQs+ (3Z^b.o-B2b2]\nMCR_,ݍ IP[f$6id#.j<05I4%+0RSSy>&ҴpSSrpc@:vp'ml[xV}uY{(44k~DCy#;@'nJ; +|?y >rvbfe`, @$2:MKmjidA$rIj E;rN= K+&$lS_iVyGf7͖B $[_.<]}גjKi%syQ7FGh=7B ]*?q%R]n$6|hXqb޷52;kŬvQ\1!}* gʯ q4Wx{sxkAZB"& K^ݸ?Be͹aRt^n;Jc`95wTV.P:}K+ڙ7;B1t((*5=Kiת׉x&Լgm/J-GwŬlh*89mϪxsU. ݤE82 >X!m_m(?MImlSX4='Lѯ`{ah(v]YEA1q]ey'!mOm(?MImz-yŇ.bݷKN&$r$kzm[Z/['!^Murz)X-Ùf#f\`y$;#^nmKY츖#޵љNT9?(`@_ qch@lD,IdR1я$w=jC4$9}?DG VNM_E֧a&H$a՘C0=\_!;+TtQm}_PG(i ω1?MMAhVzy7`K:#\>9<"]oq\!;+TtxSC{AxXlԍtv,JFvpZ+_ЕOCyfi"*qىE}W@5-6T`쭯 WY;E*0# 51 61(l#0c>~Z-%7Kqlx#7_ 2IsI~;(>p=h_p u\$3o{\CttO캬S[BMpdntNӜ9vt4Ojd&KoO+P1/9|9MMiE,YPpۃH' SZKwurm.28$qcdu J[ &ntAG{V%Ϙ&v8 @ҼƮgHIn}FHٴDA 'Ñst [o>K590r2$:>AYp뱥H3 @0s~uG^\C|ZKZ-!۟` VXƣ%q6/o,eo>8VR21Lc@opu;-3JbX %@09b#kzLI"X6NUGb:Wb]/5Y%$AybY1,9$|Koc^WM:dwie2$RtAA/==0xoCcFvy.߲7˶1ԞELJ4Kb٢`I%0`0  pw~;֢ilDXKki7G$,R.%3Ld AH6HO/`)78  ̭/4O[iG"!w#rܑКg<eC-KǸyxc qM 6%b=ݽ>4-ӈIBU0ytd}6O%JMh 8lFoc-Ż]X7XX,rNPEPEPEPEPEPEP.t5!g. ԥ)IɅ4۹c:<^M<m.Q**$AҊ(J(((((((((((( ld&igyZifnc GVPYP⫽ynnMͤVoݔvs+9P:Es ĭ]U cN# 7tMv4Pn5͵G,gU) >õiVfOէ@^**m5EC%r_άxLВS@ȑ3<2" c+ۨ f_iw \ "K3ܬ7q8.1'}rHŝFb{&Q@Q@Q@Q@|vƖ>i6إ{fyWUxkB.VWtP[H`Xǽr~1jiX-ח6I 6PppHlkAyoΑoqj)6,gX}_{z׳} ڍ͒n8g?@7umu˙WpC)S1lu~{?!.4?,n y6輌R} )ZJ(((%u?i~?MK yRp^~Un"LsQƀ>~Mxƫs ($XD֯GP[$z&vU̞X-Vxͼ,<]ohn0C3̪I bP!ŽńqvK"ȱ# em'o^2/xJI]-mW!phe9JM,pFdDր9]^/Xi G39Tq͏\j]׭K # y {k =FO\0 Y((((x#;nQEQEQEQEQEV%Ρ&vWVѥL vu3V_ڍul8 EI d̹t9\6P LǰEsiZM1V4yQ A=+]+OImdK E v!PaR0U>Q Q-4}9RC4 -'%ӏ#!^i(:x9F92e=Ͱ$&fx\m;Qc,;GnNQIR##8ɩNx7hعe1)wcsh _֣Z ѵ WW˵$P לbt}]BHQKri˦>j!pr0ʡT* :@ EPEP]CP^G ycR}G:eIF]GS*ߴcO=WlzI+i,-I.>d+ ( |1iw"HE`~X[k D妫yI2RAOdPC?4H#I/Gcvtx߽VWۖ1Jк2U`\2o,Q=,l꨻W<(+}+{Xc% QUE@יSKO py#@Tu۩lko/ϊxJA#>Q@$~/Ԟxm0E*q*J?tn=gTFJ $_J~E[wqQ@bXFSڳz`[ui#F^7 z( ( ( tRCa=5&ȉLnthrV^$F+{֚~,xoR-ijJZ`qjoz vPFMa"y?j@Sg͜79l9oiɫ5ķmJw@#}0#2޴^>ah:f$Z,BNӌeNAM7Phz垙d\W-2T#Eu=Hk àfs?aI_`s=/.Kb7h*)a<ܢ)eI1_,I?̓5-B5ۉ'a"'? Em_GjI7q@j_\cۃ܌S`ܖ#5DsoX,km;)&$޳ ؜8]K2>8 ( ( ( ( ( |e~![ MmVwkWaS KԦYu:U]BuH@ŗ/ {|-RKt|@vd6zdu27mRb,h&,]$ydӦ%j;v0*(#RHӕ-3@1swltǽoQUQu,$IuXS͔-sBfg6ӻ2ÿjn46nt9YD*R28 L'{;vSw~F?'>1^3Z,v7qR|В++a00&KSjFBMSiiMXɦm KFU!4(*"(UP:A@((7čcw>kլehU`p3\^{4>4qf9fN ǭZDţ\ʎ&c6O"x#͸-Gv[1gm^ xQm:]!kvolL#mrIyzwWeHJhb q;P(ox5 qLNѿd Y2>Br;I^kw%ݛdT 峴䀇3=*7WwңȖSW)C)V "8ilcլ-!Sb=Ryw y4@Xd̒$de`$>a8t6O$Ldl[_'"K[d8l'j?yg[8I_;'ޥyD׌_,S??`l{n+flxC7r3Qx'5 W&(eEk@1`>\ Xx!,|)u ƛ3 n۳ _ysEPEPX'Іok嵒=$U˂1|y\6zs,&KnZX˅Zc]'QUγM!#.ݥJsOWvoߥ-JAAՃcsg<&lg,Ņ@1bFa gp2pqx +b-xvC*XgZpY=ͻ22,mVM$/`F1T~iZC,[ pKAV#}ⷊe{Fc*Nl:,Ŷx)2"}e$ڀ:rti#H#(* gۖ9Z:Mzmv3Y#%$8O<e+:6同6 KRUѼHCV*]9jޢ((((Z5-48[lJ|c@%$pz?Sq'GM/tI !p(VeWQ(9Iݿ%\8 YqxyoW['ba1<( }qg^Hſڐp1ƶ+7[w}js\%\=2#Ǩ=(f(֥unkTWeI .7'ɃK[+$hBm,C~\jZ4VEhgrA =@?A4 'N|,_r[9# `Venoi8ϰ׌d@(((ηj;[Ece$q3#*+?2j(((((Zy_(9 FS׶FjZn-Hٲ?<۵Y _Z^+FPf9x>C"-K`QH؅EQ!!FsҀ:(  L?gc虨ۨ+<)%ƿiz]y?x?K(ƿ(k_/j<=^1"xE k Um"/PGXVX[6(o>(?=uc/|͢ L|2NPEc_ẸP00ō2G?-p{4 TY•,pdRz|VڵI=dr N㱼8j J'7s(w-PV5|:q3n8+T5"YH5;uHIX& /ƕ(DH8`$ p+ k_ RYǦZ9S c< js7Mv:]vnL`t>G͎ZPCؘelae(ciRH# z Sctb ŅBV,tbsS{i դ5$D9WR2=eV /p%_9/;~ciZGkkmvCarsŽ5b((((Ce Ŷy!6&)9=Oi\sKu% NĹDYӓ㮠/⅞{X쌳#`# JjQ7WVe%[%|3aSx$x5@5}I1ݻX ?w]k{NM\q-vQEr?OlD 2E-T"|cpտ xg)h(g~}$/lG ٺ]8Y.mw)k&[Uzs^UqZ/|9_D[5'SO@E4^\hEPY TdUZdWm!cg}{ıYI5Gs>-dR em$#\إBpm@[Uv!K&6 ]־u!K]: h؎Z؜ Ry=+U-rDajOl8Fkr((jך'D-Q4 K@'=Z/ )gHmv ZF[' ghf((((6o]x)2Y hF|qһ*$AOe`D2\ M8vgkۻ!Ao5Mս%Qs$nb] >X~oy(#\}M!>ԙ]vpҼ6x|IX4|*ñFXd7Bq^;5yo/((>'ȡ'~\5' kχ)4x٢p:ơ#v/zjSmcr1z{ki]_PQExi"UӬ^F]PO~?ctW|UW5p@_EI[懓%lEQEgESe _V R=-s 6AqD TBz((Ƶa ~nqj٬oonƾc^:"x+i~&kۈ1CIm.0sC@i p jp16đ-- j#f3{},_״i6o+2YImnmY!' !\=abP V?iIA # ƙϚ?{PQEP^#A68? L҉ȅQ;`|#dtQE xWW*_=(;$,:~ȅA||os_St??ByE땶G]UsM=9߈_T>o^^WeyHˇxp~SWPEP#מ#"+xO糇R 7dN[F=+5/WPY%,7]jY.:֝p??xwXdjuCcVM@ ]66 iDZ5Xeٕ 0ٍlPumc\O<1ǼDw\om:_2[8xѝ?õcPѭ"m~` խ;6eFPw4| #ǥ]UŬB;s46<$$ci7Q~/r[\Ә%trZdFJ4 |9 ]86)]`qAfOFahH(T` (궺\Xo*T:C ziZ]CcwlHdg>][$%q* @MEf< :j e\!V87gzջ{k"YmG2#118= 袊u}JUE/$err1$rz긽to%kyG#8A$dzpOi@=nGHt8yQ^`*IGfxrQwwVqe&26g%Mלh#P#V B;;VL He`xl>Iyf3;31bV {2;I<Z՗#=񿄾,֯aMe 0%,2pv-v|I}$mkpbO 0G9'=_3F?gKBNҳhW?{J,j3K{6#=H` A)k| ikM~fYd5&` 8L 2e܌ACx__(^ ]s^i>uIY&bGsq /P|A`/ 6cWWIg `OlmjmX>-+@ڱ$-2K|KHslu<'>;*+$sBm#%A?]d3I9oƑFơ@UU¾}2[ͦ.Dqj8OPДTvGqsBۢC2ȩ( q4_u)0pF} 9:+<'=WW+5Z(HH`>f,Tzy&?g1CD/ה_{{Ҙq"/PG\SooHt谒?@'?<3^G^^1&Ty 2N?:z(<dǠxן>J7ܪ2 2>4WIG}^gB^=ÛeEeDf'Bǯ*z5y[5U5CcVM@ZkcxC@QisQEQEk5yeasNrݎGUٶQ+pnm$;sǜ~`NT.Fִ#wpSB<ܞ(b-4;(L cG]v6&&[x{U m|]r"ySwm}=cz#8W^-%+2M,ۢˡ]P8<.3zaEp<@烻?g?.@'oZ_`(\_xxv ޸osk[Cz_3FKں<|c=kx봿-NI_RׯDu"V\k?'jO_%i_F<.Bt.Btſ)~/(Zo0"jR5_v_P5 a?D $i 'Y uR[kH9=Ag޽vM#&_2zS|Z:LYPm(͂ {{PיDMQf%mWƺZ"20}K'o ҈~!$צE,s)hGPpJ׉h|Edg nƇck1kc>ReQʃ`hh$WPC#/8 Fx]QE`'5kVbmƻI׭(((((wt~w+mmeb 0*sLGC$mijMqq,g[f Iqtƭxh7M!V}X~5G149 ]DQ, qx(qwC_xqNu|wT]M4>5|&U*zPmJ K٭VVO0E!@u+{u Z}j.fv0 =k_cvw/M5Ɯo|g`Im$A!W˿'Nqs)ylYCf(:=t*/FyF$r$p3P;/^^*m4t&dMDPz=WFQfIʱ$|I į$vw!وyYOO+X*9T$U 0"=_OB58 o%Jm|=o\Tڗ#@_=+_я^^M=1[?׬^UFȊV|&dMī~b z+l_S)c#s<G7/S>u* 高n? !u |z((((+⏈5Yhr"5Ϋok. 7l08]QEp~$eom܈7h& :( wQHĒDpXB+T y kf6e`۹rݨ[)=99mEE(J<=eo.'5+2M,̈`q ]}|EnuM.!;ږprԞ=ǽsFiZ|Z,~}+3?~֟ɪ ;Rn#3 $<'b8ß ՄZ%(s8cנo o~,[yUlu*mka}qui2CH|[i=ƃMC;\G nm  $vℂMB}:M#s9X/lQkiifqvcԵ k#jZ00Q` huW/.4)ÀZ7= ?  cAԦVsqP $Sq@_xCMu2jSN8@CIj#҅y"F1={VƉ> E7h]I1?+b4j<§M]J[o i6lT1Ͻ[?=33I &h OZ Jihz\\W%@ xmkq$qFDL9U &I$?J$G^2ut*(C9sz#ͧ6޸G8#9hmKiV "\`#J2َ-q_8=*O95ՅɆ>wHnVpGi"-]#?¥BҤ1ӭF6ģzW*u%se\āb׎:5':̶ o$l~_Nk؟Dc #(Nz6!7(*?rl{PS\;x#˷pPu渏Im7kmGUz_gZ*WzH-*9dt\3 q@Eд;V{=a܈ LTT.X×^gg #D#1AOjH=.#!]>m1)q+w]Wy#UeEhQ~dÝ#1DXo2 {]O?oc̈3$sY%-i־XO/& [\g>KYƑj&@>P0@.@&:,L\ݷ/mxPh:;:'cۥh?WKZ D@=Cր4fY8eԚi$ңԴkqg!!_i^N@%x2P~@P|I-/p |~R;P3D="(e= |6ȳ-VM_AңytLs q(~<]G&TG-&K10SfOdQ! Eqn٧|X%<¹;^fԤz$/$ht9j4=K[I=]"Sm:⺍1vivă*t^NJ7>m*F\6x G8_Z˧Z#D$89o[̓~*E(Mw'?+pE)MJ*y,rG˴u0''+[Q峾ݭӽq;x쥦-#vnvGqonC4j&w? n$88Һo4;噃*Ʉ%c:'qe@fn;!)!+3 |:S|!EjW #d9R΢Ln8IZͯ UYLW`O˅6S{Ɩ:ޢ1I%*@6=~7RO,AonmY4;sĜſ 08%@'W;M<^_&@JP$].ZU̲A$x<~9=avZ|fY $(RF@?_EXOok)k1Uq0p ǩ~=/q<ϔ+H8ҨŦ|5Xo,D~c,r_oJ1GTFX0ǀ~k/Ћ+Xi+czpz58^@H^# Glpy皭"]b(h:[g`9;?-NѢB$y \(?8!N}XAk(>k#r4Mqd :'dLZlJ9\:fWzS{d$C dpG@qx."8MKxֻ*o;Sۑ&  m%MhĐ9 ]9\dX+L1#W]r[JpPjt ɟd).`\{uRvWT!u>hIqM,7qLK?08qp1-w1_Pql"/qL{''*4$h쑀ܼHؠE<mo=C'!=nEH@'.~nƓaH..7KBb[lz С@'A#Pg|@ym,C8iNtyѱ\SӞ`:Vn tIX.a Px4;EYAh 3agsH=ORU#ħDY kJ%*7a~rީ-9U\[L?7lƧk!I>c B7F(beyK"Tc,A䞂ᬒBYpyџ,<(pr@-v)ϊ.hnD*&O6YK̋Wcj/9rpp@8g/G̵%30([ rF'&WSERp?hFk * uVu΍cu~þu۴8NAƹ_x{%a$y#ʿ6c{oEͺ`BI 1E,lPFp@$П\ܬ ifdn $1d`v8|i`F#9O/-l N#x J#LA%|鎇t-1Hbʅ$Ijs4eo#3y9#r啙Al̥Ywrw).Gmbp7;Xr<aiBq!a}k/Zo'>@4ۭOnmG?.2q ʰlFK «Գ1d\;OX%ō䐴F#W*ǞF6ʊdK2}HYag9zs[:.oVcmpDܻH@b3t[xr8 zS4{K.ULIcWDYd`A2CEUQ }QEVxI[[C a8DcfdL=+KQ[cq,us=}kK=Şmmtn;W0em)elTd 2𤰸xC+) "o iwX7ST lr+K2(N cXXD#YYRI@:rktiZ"V7d`A ᚞[+y[E1s8$]U(i&p`y#>@ncT{. 9 6n래_ Xg s G< -?*٢! 1 u9xt-l&`eLNC|I ͓[v8'8Ma&muYm/B>ր)j6WZ^kia*[}X~#1!$xWQ @g8.xKL}И'?/ .}6-^P.%K2@?1>>c=Mi+J tڱ>x:ikbD\gJtj4m)w;-<sVlu:X+4vwnvwɞq2;OOmvKw'H`ԞJHo-FXӥC3,wH@=3N^%H[C D8*?1(ngݬz?y p=1Ȭ{/V;eʉú8ZiլZsp0C#$Uu5)Skˈ`d1ʹvͬ IG+;$Vo-/)TH}k&QY>,vyτ 8!g}x]Hsl#,dknp9~ozzU-`KE[bQ<ђ*8ARV7Wڤ gy$N"FXyUVd A9-8UִHQEʧ8PS]2/@.$n'?N*״x,cYk 6039Zeuo}k͔\[7$8ta?[ƞ -6ȫ$v l/lgm+b@wN$RTt4Pw0EsqK28#V>cae2GI-Ȳy6jC 8V ;k[9"ei¶Fr=;oM:,QpT7zETldI.aaZDXIbu䌮,D /^Z~}ųX O$*(((((((l k"54hw nSͪ󋋨bX$#Ub28"%_Ula>ƀ1m<YHy$v!ف$c':SZ7z&ysgquiYv)^@<瑞s2[qpo4>4!"y8`2FzG}k%ȶ.0`u\G4洍ؒbIF9'9U|/,bgcjV0K$S^[G,kPUx9X&v%RЁ*@:}k<' ;Ͼџ6zM6IϒUI?7$ @#uL,V|B(Dpv9bUCo9ZВ_yHqcnBwWIYGa ;+$Ķ3ܹ,jQEQEQEQEQEQEQEQEQEQEQEjPL^d)Ы*$8'<)^i<Ŧ1Bv Y6g( &\:{o: Ø'W` ؀j姅dRI.CAM g7v'uxU-e"ҡyC?8°pq4f[s 2l)4|)t俏t1^Gk,Ԁx:ۯ"-bk~<̞k (/~ͨ%ݳńRJl/vFN,'%B35-ʊ؛&\P& /^9o`YUKclzd= #P=hEPEPEPEPEPEPEPEPEPEPEPEP\5['YM~3^$yj(*_̶K dN?V_ݐGpJ!IcK>#GpU٠ˁ#c[EE^CKR8&S 0ʱNTO#q=j+J]bY^ʗpJZ{yUvm |3 RQ+ Y+ 1/Y'r=)bn>=ͅ5 !9h#J(TK$\ !-]? t{?kٓw=9 c1NXcB( -ZY]e^3f&(((((((JFIF,,CC| }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?tKoQվO-L[BMcLCsYh:N֯<7i4IcpX P Z( ( ( (  (ـ~ο&o?{h??L#< '3 c}ρ]>AkFR ~o??XxW;]I>¿Kh|.uFKc𱊮/9xuB|84E_%;ſ㿅yߊvwZ_Yxw~3y-Dž.u}OY4aKHR#IR@?dOk[/_Λ~__ 4ό׾,/s]t\xMĎM`kL<@>\?M`A&Ş7+gA}E&FH?&% r?BHoB]/ 7oBYoZM +i:\xT lQ2٦5uٴ oG6t~Poaۊ_Hml_(7g?Z7;;xk>FMNxtSı0ژHQͳ|pe['7z+x]fyhEfo5w}5ZC 'uK|.>?vcHφ"x^$?~9G.*m[P +suK=B/i~Bն>G]1Ɓ,.TIi`cH"_ٓ5?!Wxx>O7;xy|g$㖟?DO3W^ wf# k7i߳Γ2D}MıxğMO3:hW\=C֎u9.IqywZa0?[{_]ֹG?Ggo_/5 / "m_m&iS[^^۵1\KW47dw컩Eg=#eπue/ښⶓ⮍Nťj? /Pӥմ쯬?_ D!?gߍ:xgvC/|;C|[aQ𶵫'Z/vZ~m<3pDdB@> ( ( N|;?>=~/|}y_c7xW:~쭥|Vd>1z3?|%oxKRV%+Wd2Z&; F߅|/_~.Jwj[]CT!>j?"ì[Xee mZW-uKPn|Qc}װ kZVv[𸸑1yظ:j( (|C>u熼7>"[m+1x^K_We.|Q鉬jwNp-TY*C=i_uo^!91_SI~/Z?}o)SR4-Uh//RhL=s c>!4S^3M֭>N⏏<w> ޷>1YJfMAo{%ѿ?jO|yv 'S|?|mx{jx >|D4a ׺%پ:\P@#Ə<5 JL^{_7t˯jzbj擥\0FU3+ۏ%IÚ,|"˽;|]uO? 4#H|x-;޽$z;wͥVXtNB߳o5}x7῍~9|\_8t:׆<.4wk}[E9uM6K4`Cwǩ<7kO|@u=G3xg'? >#|='KsH<={o\]isϨ}1@xǿ|7q? |z ?CH -f|KsxM$ENҀ (~=xy{ xdE=|/&sgnen=_R-6 LMKQK/h..+y#ÿ |sz!W+VhP[<;4K}SYF9KB(x ׾ |pt?xxnG:OWVs6~Ě埂n9|=߃|Ixdsև[ioChڏs?])cBcH)h/ ~Ʒhi_Ǡ༿;xsNj )\Go5KWxΓ]#Í'SӾ_|&M7+-6ye,mE|Y/KwizuP@~4~Ƨ/idž>~~?߅.GG7~%|]Ry-3ms>h>cux) kr S~Ե+ GQ}\ioi׷zmՄ,ڤDsѵ\vSBE@||;S|`,>GO(IvWz{xڔW p.t cB]mkso\j%Q=a^{{+;X{5-$3$P1S̷[G}=,7oik~mr7±d|mu$,>/ W /ڳv<#~#5j?nS۫ռ#|)?fO~:Eؿd]W*֒9\|+kSݯO&oYk6u|φ1s5SF>^.m$8ķlgqsf@<&V?<Ë>8?8D-_ĝgwtOx3 ?d|;T@_ǿ7Y[ ~ kZߍo, .<ƧY toٟo ڂjke.3k2驋3}G~ZE]kпmK>,{tf>!~W|3-՛xL񟈵 qiϫGn!s~Ѱ~ڿ[^2)<9w5>92ݖuh!  kO|]}}7G$,`e fKh_>ivFmz x?N|?c/kZ| |- A 7,>/ Su|qtj~(bti w΃bƳ_oxWmBMgB!ah @>QYGx|Ye{7nl_ X꿲|읤9/SGJGu;K]w7~ wơ nAx^']^#ZV77/q"N6[{p!KNxc5stƱyឣ7c4_΁Ɲ⧏swAa= :ܺ%  4OxSE?ůĺ?-/^':d|G]5z A8Gÿ|NyC:>.uw>je_1 |-cYςnu讴{;]"-s{2|H~Ӟ;~ڗ_/|?φ/TѼq/|1 zqxj*t?N }wO ik>&ú=ƫFJ@_jO<Ψb4cq|~>h^<dvE}Wi)?~/? 4=u-wDMV 9>PxGsSQ??QoO?jXj_xC_7?6Ѳj#|fм?N_Nurqee쥦i^ '_olv$CG~Zq|"t~ƳEycB\:]H} # §C?c<Th@,>/ ?WeσY/J0Zx3^񯇾K'fUlK=Ƈj?߳9~) ._52|OO/%5Ÿ{w 1I4emb_@?N>ttFnݡ:4e Ӯ/'Ծg,I6w3HgOo\F|+hO]ৄtٖoZ垶KK_]py#Վkk~>1um5&i%껻K[i쯭lx.m. Mp:_ I}N?%4v_ k8ޏ"Z[=^4e`唪L;cs@=ÿ4Ww~W^E"c쭬-|~i1yeh}??_$? k7W q5,Y&?Q\|< K_ÿ4·wB?W eg^6:}/ȭ%lp[QxU ?ރ>7<*?|7O2I:]$cIÿ4·yBVB_ @|)?ਿM;!ck[{{yhQOJt`UF([; Kh@+!x/ mho/- ~q`[%?j~i[_h6OK :2hV(6 Mӵ._?Z4cZ{g? /:9aʚ%uܧk(#(t[< Kh@+!x/ mho/ȭ 8u߃<9֕}#t-.4LJUK[HE ߶,Pum:RO- Gy  8yo/- Ѕ%?Aÿ4?^χ~>дIn>0aM#H'<&DiQdh(6o RY5{R ާi%S^TS=լU(q// Z?b;¿io?~+k/<'~3x\i㿉*}<;&-׈<~6^xsោ<{kZ֫|.onu+|Gk<!<)M]w|=3L+5ޛmp-7MӴu`z"1gk? r.īk>YdxÍ'Néo>xGlYV0G?nˏrgdi ~? >)W־%xz?WE7_~_i>:g{Ιx]Zj7鷑]x?(?71TS?xXkşҀ?(!?j O@(> (Z?(ߏ}~NP@'bօZh? ;)Mi_hh?6౿)/+4%tP)?h*_()v>g׆y__'?jhP@?&dO 1mgh?0?m~ Z V};^1:VOm7$ڎtn&% koo ?`oh iӭ׺EKZ[[x-#tqP@<]?~mB>|;U[_&ίm "Hho~Ӵ/ i(n#Wii/hekV^eڎ j~Wڜ~д =KTO }Ϊ584Nn^? 'd1 g?ڧĿ>|Mwl\k>Ҵ;P |j=sֻC_ ?# cS~€ |AYg2|!'_|a~;)׾3ƍ8iw;HmWF pHb&O,OK7<,#_I7mH-S+m'&x[rnUTUH?/&|~sړ_⇏ ѧ!C Ï|:տjM!%KV,.O=LxӾ8EoKO|vıG7~>9/o^'%z<;ixI+:r faim4Zk*z>cuOE;Xg¿j),ϋvٿ/:^TgO:)?[W!d&H™ p~g ۞!?g/'ԿuC~oȻ~\cQ**M=?YϷ~_ }Lt[ȱtg8Tp;5qt|ht|gCi}(oo? }R>Jxbۋ_]qyym>]@o e 6L8QŽ€:?S?U4u]/)]')?]}K yӾ{aAv?u/~ ]>{ooMdPOš ™  gƏ.@_WJ( +Σ鷿gUy>k-&۶DܻJ( !ĺ?K&-~#||C<#˓;v^3ZS_U3s_|g? U_\_sꟆ~7|J׼'4||a|܇w* (5.) g`ZK }khusↃw7<9 4|gUo\UP gƏ.@ķD~³a}輟f _+6?[yI 9 =(15'Bva4bp[w 8+U_\5?Wē/? jk]'w-|lϟ߳^v|{?g.ǍA$u9~(xB|[Dw'-<;ĉO;îx|:-"`-F5 'VѴSACԴ CF ,4X4DhG@<Ww=-;Ś|Htt}#L&-OK_#g)XwsGo& &8݀%΁cv_4Oi߱w⏃7.?t)7[Σk3hˆx虜hf}g@JMe{)=fņ?(?o'OoG (j`s~=9@?OZh z($7 gE|9 '_d_@k_<~?;7PʏkÔJPGlթPK@ |e>?' cS~뾀 cx.ǚw~|ēi_n~kg_[Þm[^#Ӵm.mu koU)" Y?[=ׁ<siA[n{o[Z[VhRC[ZX][AFH!hЂȏ4_< ?sl^F_xcG?he>G? \|PgSCnQsdhi̗(b8B<u)aK}wR֣-~C@Ӽ9^o?\߼7irϧJ}Eֺ^Z8uB !o-V |y%)/MmBP{/trT!, -ʟ#|_}?7_ҿz(xvB)Wz r @'?ٗ?l_3y?d_ڟ?l(g':ï"2?,4-FRWibV8,(g>/L|pkBi0_{\?xc?Ei//!?viᎾh^]O?Vu^qy~0X_f:_vc7dO)Y6<iB>0qiK\x_#ƞ侴z;O%JQ5}>1%π<=hZGqi{'3 @YIȠEO>/@ e oGB(W GY8|C[~ >%6,j.|;/#mq/#ƞ?E1.B>0piK?M3??'o%G+B|⯇?,n?"Rhl`@?@fe֏c"?kW!\ↂoj2Eq|_?\;}#ƞf?%]5?aٷ/_GQߴ'Ծ2|3cc 9 ߆_&򤖑ĞWp?T/?+V EçE*1;?j'?Pl^/s{N xCRυ0=_~x x5 Н?V)#g4G.<1to?>df?>gcHxV%~,uo>o5 k^6 %dž4<;.=VRk1T)GO GpS*x nM]X xmğHGꪠ:;oc⎽?HUm 'Ax·|9I4ki|YhWAwqis@ao=O < Oܷ|)kϏ'OZŗi.'O.mra޻@@JMe_{:ߵ~ܟ/ڗKx*Zd:!Kǧ_Lnf,rNʼnBP7' T?G}< 4 hoJo-/OK ʖ `8`PP??kOh?u|bYK??lg_׃?OZh oE* O_/x.o OVе2gyl5M:9bJ88'z~?Mi[4+~??Ÿ~aK|}$wh?oQ7,pP7Q="%R?I(ͿON g]|P%Pcf;Q?mxn?V ]\OwhwSuuu7Sh幞k8dy|;t &57R|hZ?>><ϊOg(U|X (jֿg_Zwm ymO*_-xL5g; Vl?io>N~1OWJ |sϷW/۝sҀ> ?3a\fkikwi{3Ҁ>/E=(!w&ZK?>h/o~|3(+ Yfd:Ftw4/">LsCٿ}?-f:O|PC|PG/Dw̗jKj$?)3'? ߱ؾ_}oq@RCq4K@ TcGΟ+/OuOk7G1 ?Ux_`_/~gɻ?_h/j/$g"ؿ_ ۿھ^gZ˚[2?x1ǧ>???/m 7?Wy?ڟ~_ۜs@?@fe'_? }ncfd[/Eh/ʾ7 y7ea"y[6s~P@4 j /ϴW o3'mO@?|ϻwlPF?4/O~ڟn^WTw~߱/eF:RW n<<*|5᧏(xN 5oZ,Ե#,Y$[p۟yK>##:<]dm͟gʴ|Ghm%kf?)=F tP@x?(?71T¯9Oڿ_:}C@|K ?F@mP@| ȑgοք@WPV/Eu@mx3D صր:Z(Ϳ#{ fK5~PR7_?Izoo@@~mcR/2_WU/h {_߷~P@5vVosW}/M墈qoo#s @@kdt?Ȅ dt R2xĕ~Ht GQ@5@7_=ؓoL?(?^m, >P'?wV~A_? sa?wŏ|%cV54k'{ xj؋y)/}W5U宣 j:ϊ,o3Ymy+[*k}vmWĈ!#HFPk?P/߶?nOVԮ|3|b`ԇ&NVf|;gOHPki^ _Ľ?t> Oωw4_x?ZWן|qɨ?t/xĺx).|kν Uo;_Q[-/ph\ Zy rh߅~0iI-}kz9ed){X[sDžh_`?c~:@~՗~$"mk!OTo;v2> ?3.gҾlUúZ}٧󗝎K.phM0̗D~?(?7X~?R<)/~KմmJڛJl:.ʐ]yg4|bYK??lg_~Q +ٖmЕȠC%c; !/Ȕowd '|rO7fTJOyk2x"OӿiB/*7u%' UpR=ۏ>~Nod ''&?K"PWQ;mONq~Ѱ<;k'¯b'4D3}?0oKcM &/3 yE?LoRKk[HXP`/@&?K"P !_>D/@&_M/%c|{ƚ >JtG bbkc mϐ@TP? ? *K{ؼ}/ƫ!.Y>⯆iqkq=׎m$׺/ViZKDonk Y/I4瑣{V63,w (C%f/ʀ=>^U'+W Q@P@8?gOϯ4P??kO( (ـ~οȟ?/5K@rO7fTJ Y& ;M(Ϳ,o{ EfKJM~P@kJ(n~=eYVT.)/?^ ((~2#~`?Ҁ>ڠ>Q%Y@WP@?s⏈53'E|7o<54~˟~2|:]#̾ω*~rIvڍ=;g$i-Wկ^]'N5vkkKNuisZZ3A `lP j^cj>aV_?_Gv c/kV/t}T>{wg9ڋ.ܯ} t_؞l ~W:|GS / NO<]s-;Imj7/uJ+-2-GOoKZY[}RPmwqMsq_şū/zk:{/sRI~z`%۾`(*(; W#3·}G٦]~!֗ϱO[I[h@eS߯:P O /RBҀ<)Knk^Z 0_Zy?w|bYK??lg_ɷ>_U_o4Eri*`=A/RCӚO\J~4 J_\?goN(/#{ fK5~P7dFK~_J߰}Q/:EǗ( 23@RS_P OƏ!@ O!@?WڟK( Ν~ihUxu' ݺGv'?_hYFj:ֹOkWJ=c]} yZyyOI #78} W!ڀ7RCҀ\J~4 J %Ǥ+Am_zO/x[/Ig.ɯ>>&۵ӹG@~}x_DwߊKط-ټ'l_>[yVC s@NSoPS_w/RB_LPʞ7%/a"8YI%w>|ˌ =hJ C᧏mkB~ xń[fOk_/qM #/RBҀ5?iėg? ed#W?,~\wlڷw?Ms⟁| ^27ÿ>AO+΋z?gxoiKKVuԚyŴdHvq=慢O%֓\\KyiͪM#k+n-I;y~ߍ(K>&xj/H ;`kX|'.%'؍\}@|'Kew bxS~XAbٓ~ݾM"V][iA:|~!$9s~dk~+m=R4M$x0im qu0ø۠o'ƭsϊokP/e\ϩφs։5K>#k/m3Y쨒ψm -5y`nd_h/_#4~.J ̳~˦oh"tkZ7$L8,Oq*,aiƩ?ٴ6kۏ*ikt2K'oɱǰ4¿ uJ˃Vסj:{bx8gOZKͶ=!-\pvnҬ@= oUu_h7 t-f'mkp61W}@~g>>7/пc?Z>Zom/m|C7qu?:I vQO} 8xпo?K@ x?O_~>Kğ joZk0>2RmZATa1]HU&%R1":1ש|^/ cW:>lռ5&֖uoP 4'R %@G)h?~>C>/;}ǡw_,6:i4Ͼ-mԤJN qM~P@><Dž MuO[ط%bo|˅cZ]ȟRr/s@OB((-пo= @ x|W|e53Ɵ[ixkx{VB?~*_]^F[q*Vh??P2?>7 Bc!Ow4>$k߶?h |;=_㯂Q|!=7t5^ 碌h"c;?L~} @bE /I~ e?Wڳ_~/Px_jbRZx3>nx/7i:GC|X  㮍w?x졃]Ԣ.I}7S@?Yi~ =Νx_}֒ ŕiok5ƆZhjh-=Q@5X~ȟ4~(x_Ķ^6_$wR[|T|=P|c?#~0nSVOz$77 D_:7/6YCn>ּ-x];FAWⲋƚwm huPAx{Yrxh+a?a|)<*[ |+пfSF/T귒a~+{.A{yٸD?a~?TctPlr#bր?t?F }jrf5M4R{B[ /KK\-(& (G?i:@s o9< P}=G|t~اWd$/<~x3D صր:Z(Ϳ#{ fK5~PR7_?Izoo@@~mcR/2_WU/hq2zdM.sv ߅?%p2;e.J}1NHKl~>}Ox"O Y?xCOscdEb[i4^>8mi(/>%?M_^-uًX-+6w2jW[F ^gWpWbO+~)ěY+=΃q ? iu,z|Z][O{}soegksww4vFydQf ր>bMAvYk(b\/4x㻷Oٯykg{г·v]2HsH # §CvkcInF^OdbK2-W̏Mx^9A={8h3 cO"~Asiw-d ^$ʄ`A@~yC:Y}_:'P # §C\;MG'}_Y]~?tזumq ⭲[ IѰ M~H99J_1'틜ɫНsD77Cx DQ At>*t?NGÿ|NyC0?g_''/ oGQr?x^ViWWZ46KosF̬ }A2=@,S )h"?į~x'OS6?izv/?O2a?w?d|;T@,>/ Su~q`}[%?nƞi{kK_7)A49ª(OFF;P`F; ZDZYiw>Q/̂/:/6is H?|FwC:Y?}_:'PƟw5 je]܋ċ7YcE%R4@6]ִ bp60QIy4)$;A'4,>/ Su>*t?Nď+5nb|Ckr[ӏqXjOIᯅ̶w4Q)#=?>@ :y#%/|)~ֶ߉=]? ̖ڮiӼ->E!V  (?|FJ ׂ~ /CW>i>/v!kݖxc/<'߇%|OV>lGΈ0_ͮxƞCݭ}`S4v~ Swk0xgAVD\OROi$^=v1G{Tto?aO=4409I WQW-Qߌ~,xk~#ֵy%ngp?%t,.,/x[ST2׼3U\^?vo:wfj^'^S[Vz|V`c]ZOe}moygusiw w L:`Ah/$=b^+?:rsG-mk̬ԲP#671$[; Kh@''oOxscYz΋>2A7ZMn5kUz]le@>Sa5>6_C2~ N].`|^]Z?DX5éP^Oi]Z'[m*@񟊯;-/ |6D^K| O^Hoj-;[?5_'oxA: 4nF_j0}=CO[qFrda4 ^ [C?[< Kh@+!x/ }hr,4ߴkocemT~ZYmkm \VළcװP.:#Os1(ۣL<+НK= oÏ x d} NjI$ho/- >Ѕ%?Aÿ4[>d:~p '89hs8')mmy8[uku|5nnb{ki,s ѹWVYI ^ [C?[; Kh@+!x/ mh /)W^ ݯUHmukxx Ia') d#= @:@í7N?K;VK ?eZ}g?ͶHe]rk(=@4S¸yBVB_  ^ [Cgm/f)&?c[Xt KE=Jskkʲ!!?0P&t= 1}wEu ~! :i >(!##p>o/- >Ѕ%?A4adž=[?iĸHt5? |.dI*#@b@'4w` u:g4Cu\χctm7QX}8wm48&?Y[; Kh@Gؿwھ/^G?#^Gm߳?o+p~wڷ_ }l|7୔~ Dj/[[}Gㆋ[F? *cĺJkzfLgQ~uOtkA/|xgڧ/>oc=]4-s+{ju=]G~gG3|;_׾1O× ?/f%[*--7ni:wy :6if??M=_|K? ~J<'~>-~)^xJ:߁3#:Wg^M|3W= TԼsI4OD?6[bX@]iڝ»-t~̟lm4߁~>`iz7u4]*E?m]29 ~EZx3^گ^񆕧+mwWo ǡxផ]C{-OV7BfKk .\cAު[*pW*Ϡ (|߲_<(=Q@a3CO&O/cj(?7! :%gHUH4'OEI*G]03w/5KL^ߊ,=[(C%[u._R&?4qωM??sKK꺏D|OM׼=OzE߈M-K-?q/ \AK$?d?#)c޽[^;oNmx"ƒxž|3>߇It|[[Cq,0킀 (' Y?tmOR.jٍg \έψVK-wKvC=BW??n2ѿjЮŖ~7~|K|7e~c;73őw%Lc8< j/KV:=ޏ]@>'GWZ.ZXZmx䰉Wƀ;K C~3:/>;_ ux39 |M$?{Zv[<]Ev ǟ?i?2i~ho7-o^5- }uh V`z$gk5pU[J4TZvk54>}ηތFea؊_w:|-Ckд9?Fgt<[<,~vg(3Ě/,dQG.)mcu=޺>e᤾"Of:x]l*G+qX4\#x'"_NUyq?.?@)jº7o4_W y??Uab9lRM&_zW '[S{]a~~|,,sDf?'f- k9 _?.P ^=|C+(_+ ߳NsYOdK_ [oBk4x-ιėWYe? &Sp~)5Ux=@t&$%:cE6mzK5~//ٗ@nl`S@Usƭ[jv>'}+euKm!u*ܶec,3?]u{ABWO˪?С?:?~K(_ڎ~ѷ7~"ȺUyʸM;]YOpE~>x|TWo%_/?g iFEŚ2~Kx xT?²?i:?#O?;\KڧfmrdwfEslr9BFr0h8#<~b?ӷǯN@x95/cTIumu /.4|?~wi#FP_3{=|C+'J_g??u@V߆ B24]H?hgj>4e`?I]Yy,wҿ)Sn?,FMWql/IſG38T<|U{*I C)ߵ/kOS`w,8~ºX|?I~K=[ +z=& n+Te|/ba5 OMi)O0<{z?T W/#ğWk> >?W9/˳nyˍwOm(x|^ſ?h E5^=Z+MzI5යKB)%Kr8l$ ߶g vOxwDÏ_>7V^E9<~=o+/0\>մm=u#_Xx?(?71~TޠI~LKoxZ6mq 6· ?x֥u? mu/U:3C/;?! jzƷ[gw~/m귗h>uoM:|LТM7?#DH,y֣+Eeqg2B>:xK˃Kwh6,Ҿk 2M3*$~7KF)UOXDXuEi.(Ե0ŦO"> @5KjOz+{N(~, ?>:xkxwQK O ãx/70AB:=y=֡+zUZĿ|LСM7#D4^ Xb~ww I`S Ǎlkc'CŸ#Cej6 O&=ՒkХY`@?(ȟ-n]]4Oxiߵ.]_n-߈Z4,_-lQ+#UK(z؍ߍjLs}yk[`wow-`7px' Z_i>i>"MyNꗾnizַI ckr\C#MTP@XR\^ZL{d'MjYd&7&iQF7GNj"?$u J]Ů+;?ٗ%ޙ^tC?TgíOFi.^WL>񖠒iV$_j7H=_$xL/Vw?.|f? 8[ Jn8\/ KRo=zxI-kTf CY?/Cm/ڝԍ5 to\Qj?d (~Gs懧 g?kZW.}mk4Sžq,i7> ԼaU-:EDEjou 7ֳZJg!O]lQg(N| fOI~П sǚ%φbyANeᆏq}jD:L4%`#r )WxB#@c) xıxĿj5|W|HX )xksKmfEiDIП9iw{m~YipxVi_on5/|p1DE?*hHb f$Aqn4"_.CADžo>NE㏉>{\izƹfwt΢@vxgzoԿ1[ =Þa:EwZz>]>I#QeMn P/WO5oBZ[ ĚnǠjk>aefH?! <]kψ~'~7 1kk:|_^ Nѯu?G tl5[ۋ;3?߳ޟw]֕x·eωO^_o"ğ K𽭮t^45}rխmQ% Cq|]mz=u?k^'~PY>xWעԾ\\RI.:t%0Cm V$AC 1 (<Q U@PaR WCnn.] muk+ U{ O̽@? ~Þ!𷆮[\_ eYi!NZ<;M,qN (Ď>b PG;E<%c _i OÍ7ZFM|k; )Fg`ѼuL>4; jIgm+zeM/UY5Zq:hl^/0i6 ,tlY+h/7{=>8~Y".4 w3@ 6Wzuu㯏:Nx—eljOx_w!į t~4X,M"]$ <5CTxS^,{-|C|Qߋ/|j>exV^}ObZyͣC'}>{(|7we'~!x7SojwI,I@&.'oBMrj8Zx-ik/m{-Io P.ntP,d@G ~im1k:+Aڶ?:4LJ4xnٴO64ٶM$0Ɗ f<-j/W"l6Kճ+`Ownyݨ ( ( ( ( ( ( ( ( ( ( ( ( ( (_):և}+cwcࠟ6wږ|d<9i2%ΥxeZ旫hZ֝/D?Fy5#W1M$0 gitf2bdbR{Y5h߳~m߉?ً>#|%kSweO?<5:@ҿg:i<쭭;ȣ,WT2eOߴmOu ~և}kQY|"/~~ ?A>Smn(;M'Vn~|}DX+Dlmytozbo?_ڑ!fIY?EbS(AŒ6#QЏƦEj.J5 ag8o |1|#$/í/<;{ſ|?i__ 8mOş)+GT̹Hċ׀|y>;w/_k}{'37<):^e^$O x+EfdJ\m%__m8~^x'Dx m!u{_~)s_Z~5ZY:L#6X}.^K㦁_?*ɬxc?xOTui*x"=8|NMo>')cξ/7/Oҵv2%/u wL6mwr%YдO?o~y?Ɵ>".Ə ^|/k*jxKMJžu";m ( ( ((cOK>xg`5%-k2TwsO> xtZO/̏|+G?'߳>#~Cr| O> |csje{ ߍ| /7}Z?;;nJF.t0/oO/|E>x_k ƿt(#~x/Gx.~<xVuw^t]].M0|]w~ҿξgOZm?j |/ǯgk=OVX6emT 4 TXx(lߊ<~9O@fiCnO -BIZWQeyKj[cֺMz#Ulj/>1X ¿?|'Ucw}/Hӯ"%M2|>~~4x{AOApƾz|?/alm5(Ӯ5Hu)Ht] eOgľ7_$|4ׅٗ nׁ29uO,Ëoc%^/䷱.onm&9x M Ox>&Ѽ6h)/xv&nW6rutQ (?ϋw i;߲A~_i4oWګO1Y~, A~j3H7ӵ;?W-|s{}I7 ?ks~, >>,x'z> |&o-{IFC]BGQ}M4n-ѼQ|}?m>.4??ψ~|pOx§^xz9|#TLҵ[˸>`,य़`GjAt_,?7[w ( ( 4wtmo7>x&W4=v{x4/.5xjD 1Ǩ q4J>J|pCf |qSg!Ex|O ߳w2w|i,[Z?gڴ_ךbŹ{~+~^+x?~w_ |ic??g/s-|7_< |Z/α. V= Ěwg~Jⷌ>.mW@1O>>p'B@|7EqǺG<|8sg^WCshņ&h_=3DIŸoG7o0]W >]cP?Ï wI{8(Ogog&+_s_g|i-'_79afx37K[[^,~j>:|uG%|y^'vׄ<{ۯ#?ߍ흋[zNjrix͟{ai \/>xMK}#z%?:Ω/|]Dʳ|H]6?r<_.v6"^#Y OK'%_¿۟?߻w@m 9OUo>/*j]g7PVl7"!%߅[nmQj">:пO ټ3 ^⧆_|OB> i|G~&'4۷<5x@.5qkq}eo<(>~?ÿ>x/ 2D🁼 >h<;.[DvEggoJoof,֊NbYK??lg_X?do?'Wg@P@P+ <|a|'M-^|Uo |Kдˏ|#~Ɠ<6ڔ[}L#r( )xφ|2x3X?"'i,-?H^֖fɢEd@|h/m?5 9şm ;x{V_x6-o1мYdmvB (?_ۇRa$(ue:?? PSOMCŏ7msl |Ş9oi>|>\5TA[Է1 @^8 ?nji5 ;Loh߶?\>Ȳxz9>r]\Zi,c٥ ~#~k?4ωi?kbΥ[_5xϏk-׼-? iwzƱ5ېB_i?Z7|uZxWfߴ፧/-7Sb&Ҟ^S.? c^Z/ZEo Ulj?jħ<6{ Gpba 炴x5xUt]_Öeskev g/_^.wpXMxƧ]|Q0ռA/xž&[Y5 WTYg -|F`Rh$V/Eu@.%Fuv~@Wl/OsS7_-@~)7 boǎ$|h|']wT~8Z%vqy?d܀}Lh#KqH|fO|'Cƞ)_kxokW}a_}bm,^47 ȱGz?_ۇRa$({N,`Ú?4q֧(h (?_ۇRa$(ue:*/]w_V?_ i?eoռ ow ~0?_ĚwZ=z톝] ?mڍd6l+~->$|Y7|%k+_RHieH$~5k?[Wj*_>|P/¯C?:>4nqhW@рύ_ Sg_?~_d(O9c++ j^Gi?k?O@ox[g¶~)}S?wG+ |6kA ~۟ mA? %i^; |Yx?e?i>#=>×}jr}hm$~κ߲7O?kؿ◊_cex7cgg w_ݮo<MB5hxpS~Z&KZ̿O +dxBdf|2F;gt-Fiqk>?f :UON _ ~1+;U,|5_^xHЯfyU C#(S RҞ*< :|uOYx;7{TV[GJKx{~WlmeXO؋[F??3w?kU-?^Go~v]_m-??(Dञ6' 5Z[jJԢ? k_/1s`YeHu/ f |=ޗ(jG|A#ᯈuE#Jo/gu_U/ƚuα~,,A [O5:^V_xjKmCGլΝ\Z\$wK֑V?M~˿x W\O`;^Ÿ^&gBKREX?g~#~^k ¨gc$L)^ f Ŀi|?k?'Y~ͧKm>)a?b/~)|k?ٟE?'?ú7Y$i?AX?^]E nDR?%/)C_m~Ś ~Oitĺ 1k}v[![ho <ѫz>"w7K*JRGi o#3.JS<|=/?b*-o~O|m~ҾV_ڏ^%<=NxWuëO-e:ݶsuZؽ?ƿ:~_S#SmK4k< OY[x_? ;KT׬o-?zcKV[~6Kx: m%Q/4?8/xnxϧ}=;ZҮ(}>wY| a/%/ǿJ ؿ5&/K|iO%.xOķ߳ -n|\=6Vy5g@YxźO.? i/YO?h^#]m7>(׼3a ~Ȟ"aR-Zk? doJA{%HI3#K/o3V6k;;uhoL=|Mm Ox“kVuM2t f _5;EOAtSǟ(]o?]x{C_*п-4 ci6>?{"7o$d'#묿॔~P|D)_ٮ[:xP?_<xNV_G(|=xGҴ-"F IrA @=7iEX৅iO_?gOj |Ŀ1<'uXMO^cJt?YYKucymʣK67iEX__M:_O T fƿZux]tY x~?}.k Yӵs\|ugbצ'_M?0Yx৅t/ؿ Ej ?> xKӟ¶~׃ -*^Jkr}qm5q%~_P ~ ~?(|:[K|bMdk?^uj.﮾o'e৅~>/jZF_5xNcW)EOKҴkdoB0iPq=Ks0|F`Rh$}?B) CO~?|S:ik!<5}iZg =#]K)no-Ti`F0|F`Rh$W @OK)_4uCzZ[}Nӵok8~Ηz!ҵqYar5[k9Zv{k Sgпos{t_go xŸ~x#50Ңg~/5*ƾNx{V[_s? _x>6Yj¿2h _w^:V-*Ft6[|m|[)L< j^!B/~׵ ž-Wtox14OGt Nx#q777E'h ?_W>?)U&׈`GK:7_ߵZG/^ ?<Owow]ye>&:MjlHb*@~q_I?/)e)GOZ+ @)GOZ+ @o'bsiOM7^dPY4?cg_4PR7_?Izoo@oJoof,֊NoJoof,֊NX묿t&X߇v>7[xOTW'LUt3j-cg0/W:E?¿|l?^, <|\R~Kat_Ǿ ]_Śнf:ܻLW/ث[ @P@|d'#묿॔|9`M?h+}@|9`M?h+W @M?7_V/zo@wQe~P@K?~'鿱)Z+ ;@)Z+ ;@o'bsiC~0ξ:~*X~_x/5υ>6oB? ӯnY^xMHXi{ 늀>?-0^[Cdt- #h # "UP< Qp_:OƭZ©W~.|oqG>0ZqGr5 V~Kj-kϮYniW&Eh?ǟ_?>?f{~|&Ҿ"iɺFl?/&o>  Y& ;M)M?य़_I>)M?य़_I?c8+ßuN>O 0e? _?wZ/]: oZCү>^|'=^!<|Cm /xbOm&k;Y"kx0GOx >'~0|c<{J > K=9i%_Vk6fO.~ͤ0}=P@|d'#묿॔|9`M?h+}@|9`M?h+W @_I?fO_/ߴ7g_/ ?K~NGA#:]V#ybES___"~Ξ:*G|'_~c4|`o_'OH> _xMUm?P~<|V㎻O5w-O su;ſ~.?hco~%:'#?,Fmogx֣i\yƿ؋/+~о*gh_߱ώu B_ˤx_?f[;RTV9$ P@_"x͇o-7'.#Qm.-5 .PRxxC#l|B7?k٫Beo~>6-o^VZ׊|qY/uXit' J5xƟ<kO>'|@&B1CAg_Z~(i:; tֻ.J8xoqyhi?ߎ[_iO~8iZh߳w7>'|T?9wHFt JP-ɳ( ( ( ( ( ( ( ( ( ( ( ( ( (c %eG+Z~~̾Ӿ'l> <=/xd ^[ƚɲIH?| ??? >$v!=pglg-ȱ^iy7Qycy Or=t  c,@7\r~-x $| ?k| ¿/?ůR2 vWKmum~П|Ax#Gi>tߋ u-Wĝ!~&| uڏ9./~ ӣgm þTSxx*٣y@ձW?i?)ˣX|7׾:|,ڇ o­bM5 TҼEy-v}ޣN??S߰| x?Ï'[xHo?ĝwvYzouoxM[t*!$z~zׇ}Ɖ Piz6&3S& /qvHjPਟ.?o~b!~:|N>~Ο|px_fľ"Nj x[L< ǺwDdմbȾ;IKӵ SXcIԴWM.l ;PkKiVH9) @W?>L{.Ӿ? XD繑~m~Q_'ď;,EfϞ=Ӽ9^įxEK]h:$'UEi-3~Pȟj$H_ luo׼Ca2"M\~3|1y{V-tmڅn??mKoWmqož_?uW!|[^ ?N|_ѴCM/I-Z h@3,o(RUP@~ ~\6%S4xJ,|W&s~&~_O_⧏uR⟃euk Q9#~J'o(e㟎|-c4#zƅ_>~?J_w_ ^'uKW__Ǐbcu֋Zu-+7Uេ#=+^O|wkE𵎿k3aYXYxz̷wlmrM~6[n t*~?gϋ|9G<Mc3?gv2#ҭm %rح_O|B7LzwHZLbk?[X)C OD"]'پ/Y=>8t8|1[YT[.[~'><[U?g?hࣿaH3㯃~:uqg*Zkߴ-:VȊ4ۉ#G&`hG]q^?i7Ÿ>xd7C'xE/QuxK⬺O&/b+oI?M?i_K C|@ ?kV62_Iccsyg \Moko5jڄZ$"aO5.Cm?Gb?A\P2=Y:yxKMD6QA ѧ ͟%?h^wcW_x%ׯ~ 6}x{IlO-xaX= kc x>2߃~ |"'|?moD&PҼ+π.^/KhDfP ㇏?"; /,f:z5yK} i<:N%ڵŬXܤDd?o-fk/.EOXOϋ5_Eoxw6%a#HHm?%??kgßoFJ|%8IY o^>1Z/?./-ksj$}w ?VQdGGW >7,ڧ=㮋^OmƟ!tosOo|MZvȶvhg + <7xj<3O iQi~ٚF|Pq3|:}3@ֱos-Z4^;?&k_O|ğ?%/h¿ېKuw6 x~NE>ovO^Fֶ|]Jccm߲o /⏅5}⯇/OUut_ u>V*[ـ~W_+?g[QxqGGxKľ*𖫯772[yV>b߇߲+[k^"^'wo W+S|[O|?ZZJqK<2Գ˺kߋVχ%WW?m]ԿeOtF~7H: |B-OiD7 ̏q?{/7og~&%t|Cɟ/Z G|CO7[U&E$#8^@~ ~|' h ׍|Wxōm[>.=RY۟.6D ? ho-冡cI|C5ڞ3_1sk_OO KWZn1!ϮxM_m/}4b9>kCᧁf Տ" U𷂭C,wծ,[ۅ+EueRWRdl5_~+~Zo짬$>*Ҽ)?O|{_*QKD<}W Z&ΐ ;^ Ӿ*i~ ~ĺ~-|1j?O{MKR<3S㔚-y."定:埆t sĚZƟS/C\lK4kWXd݄qq)XFv @?O~/ |]G홠__+oSM@E;?!5mS>~?o|gWVQG+]]uP 1[QƑC 1 H$ ( _ƿڋ_'5?⿃)jxC92, _ |DS-OG ?[ }~ SC2] o&xg_|z?⏄м+ַ ӿg"1⏉>||7\k^$6S\up醀 (8+i/C>><+Ʊx?Wbg/-x!JM[:iph7 S75?~~-U[x xK?4CՇW5+w_]:P^~m~N D>0E3?QP ZPE#vxOaKoxq_^ C~=;Nн׼1ȗ\[GPd_O?~Ӟ 3Z ggCNƶSxwZZ4 [nHI$`P@P@|WǯPϟ9A ,x}''?_ L>Ƿo@AP@P@P'o~Zo~ |f7xC]%01x72i5]ۀH߰',<~%.߀ ?3ox~ӢOx_tBYQ'̊@>ˏzI'&Jy?# x>_x!}%Ŀx1<>|G}2[Sh/k2. Ҵ5L<rxWźό |q ?6GO3>+/$O~i mE2ς/~W'ohᯆ>>=,ҭM ȹ"پp( ( ( ( ( ( x?l(2~^=!⯊Kᇏ,>?|C|]棬I8io/|{.ײK`Vڦ~Z bYK??lg_8_ɥ#_\,GP@P@X_R0#Y58C StV >;?k/A|lf~_/ohgh\yv+ϓn7@?( (h߃߲gz}C |!x3I5'9ǪCφx/L<^0Lj5xn :~u ;]d('ojt/^0NO&Fߏ]Js?jv_? n?_kDiw2i,6hÀh|b?g xtxk_w_ OuٿWo[|)wkyqpCOK~|4] ĿٚƉ > xsMguoiG4e6Mr+ ( T~?-ex_w_px.'>|Y}^-24mSPGfSaf\ #P@̗/'4%x[7xkP13u3^77Mwf~_xZfyPS~ b_A?? _yG7*W |R|*A?i_Q;%?~.#*"xgڪ[+6g|6Ǩ|[ )Mc<l?Y c-1'©"|Rn= A??dfWW,oGk?᧼cO xǝ_+8>Ӟ!<5-c =#o.4oYKuxKMNX.Rvbٷh˟l?h쿬xO?#:__ ~(xB[ E]Agң_-vk$PSh`_`~a?V /bM_l ģw<@੿SM o_}?3b}o}|S_? x/Gxwo C4o:*.#_]UQj)~HI_W~: >|#kٓG< CcOΩ_xO G/w~Vvh(7O_i 4V $#cPa?CsȶvM*~ϟ q{?|u /Ex+_Q^#4yG?)yhV.[}YKxOe_a+]u ۧ_KQ] 1gie~/?G~|C/A'^~8i&U+o6*SRi+ucCA}N}N =n "oww'V_=}xi^ ҿc ~<+k[]SPZP.m-$43-v'I4/hOc >). +g_>4|uCF o KW59g`⸒ cxK6<+wY%|yϊ_߱'~_ i_n _ϱgt@?X*o$߰c'&W?cy__E‚ Y E,%b}o]|M5K Y>~տOx8w?wt | h&uq1`>:~߲A4?m ïM "sA۾6n&='[ _g?wo ;OsQ|95Gм?x",lbҢFTZI?>b|Y?/?  @ ??oxGK@?:?4~P@/N'oҀ? Y %'Ou@0V_ ~ӼkN}-ğů|V6K?KD>h>tk]A5{s"oIsoelDyW߇.zO~;|Ui!?-~xHԭ [y7V֦m7NĚo\E8/kuk`ÿekp˞?iO<;|]E>A2jz< i{j"{6V@ -O o߁*xAexό~#4_Sl0&W$ f:9NFYK(n]c%,usgצ|9`M?h+}@Y(Qy??-}( (?_ۇRa$(ue:tO7(_'}#g0-|8T@F8"'kJ#Sc0)gWv?hO$O(gsY7#y>5E5(@>z}~?'ڳ' |H'[O_ t[_GXl<zg+CÞ3IO&:ljnM%2/-NKm֟|ǂuo؃ʶ~_5G1?i_?dn_~64OG|w+G^)ѿiڛ|~gh?\Xi֚Ǚp,r@P}[㿁߰/=S▅߃/}o?/ BWqo;/|2+@?f/_=է|-߃w'ͮ_Be&MժcI*Lڏ_ ?hq #TFot&K}s⽾ ,4aƕeoi{Mw^Rdـ4T0W_T1ڿ> |2|w ->_?l_A~&x_GχR%ľOqO#=K_?~0^|k5|3T*g4z~o%c |#҄Q (ܛl2\Gcdsw'o>n t/E|`~ ~xkOX'Kƾ-CW"WwW^Fg __:'V/ʀ>3~ږ>ui?g_?k/"|-/|oHxÚϊo&]~ӵ+_Jcȹb}HG~?|{_:|t?>џ5M/_O¾, OُWچc_se/ -qK%mumNorI)<]iO]co '?goѼ-x#şh?I|n ?dosn~ 7OzM#/-6W~n/d׉?zgR׿bWԇ5 OukZ?}·_Mh>"*kzE]h,य़`Gj (#)TEwK[dOMW¿^ľ> xC'tVJlcOt`{CkW/|5_)xo+LR½GZi/5 xZŏEegm%ί ?m7~2uQO~<h|;?~_i=_?g=_J&a]^O\Ɨj*6mZb+ľqB}9][Qo& "lղ'z~ i.Ÿ~ ( (f<\-~|~~*{_MV/Ag<Sgij^W< xPƯkWYouHl'*r~Ȟ&a;.~Ï,>ZSψԟ"{>/j|q |W/=jiw~kxz.tZJ5 1=O5o?Yx-ώ|)˨oj扫Cehwmܺ^\Z\r "}|^.|3 jr0i'~xڄ>yjkZ-w.+`Hk(+ Yfd:F//?  @ ??oxGK@P@P@T!>7~/> >[x[)~޿? o᷋-_? WIpؖ=FKԂ]'/ol;GQ-+[;+;X{!*($~D~Ph7?b79| |#j_{_w}W_,NYol|Ym,Vwבi8د 7B||>x3w>[|~Þ.pWm[mU6v\=P@P@?7v(h_O O9~Ggg_|_N/ox#Mmb2_Xi+<#ϟI|M?׋~6`߶͟oٿƝl~Z7/i:w_Gdž5?igyk}mlɽxK 5ۋ?s}!~/'e;x /~^ 1h:7?J෽/ A\밫}f|I`||GO{~|oS;D>4|{|sBA+]^tkiO ٠n@.?rp߱'> 1;~27^ 5߆u(Ŀ|Y~u,_ٷcPTEy&>Ҵ|co's=-~#x tz6깴5#N__iZǡh~^55ŏE߆n|%k kl"o5v~5?'|C mO4 2(#.4pJ>:~Ϳ?x3Η~Oڏ%L~5<%uែ|kDm5hoVCik@ ~ŸS~.o |C񭧋tJ?(|E~#0~ h_>%H ( ?qG@p~S?/ 'Ɵh')ƙ.ିؚ}G.h_ONF+o "D=,/i7ywV-o> jzg|f>/6"<xO)ObdTo-1sώ~?h7¿>5 So4jߵ GG5 ƉxCR^\2.&{ LqM|b~ I!uH<"MkiϢ%6pMiU@&xw>^״{BеK._?^mnt߷}1(Ŷׅ?n+%ǃ<-ss঵o_Z^/N6{[j<;6K^Ӑka(Tz~ܿ?_ x/' :G]guowE5[jO[y'[F+bO)~eㆍu?x Ƒc^'_y|mTt tfMԢ #7|~~?Cha??kڟ'#`- / no?얾HQׄ~Դ@P@O?cٛwoO>/ēk4׈4CTt / xS׼/_ jηw}sv]Kn1>ItHD..LӞx`aei5խ&d*I$Xi>|s |3߉ ;B?f?oτMS_>|r#HxggI=]+GWh6 >~ߴ+¾-?D|`'Ə؇׾!h$|tR|g߈1eci:gs3^Z᧍#|9[ =k㦕 +㦵] jwq2Mx#?~gkj|wq Ӿxw"/ Pj#jo"ƛ; ZQ qy(\t$dǏ ?hkuO ǿ:ÿx}?FOZ>3|Koմb15Hk{@4oZi u/|9<Ω/9oCm7ߴAv]O??j?xB+Jn $"Oaԟ>xǞ(񇆿o۟_d~e.~f?~-iz>韲4fha;h{O#M*f۟ ~(5ω.|Il#㾥8I񦅤xw[]7NL'M$xŖ.,'z/ O>&x;zĉ>&xsZo3/J$<%spw[pꟷ?⯂6Ɵ࿉煼1 +ރQKx6_> |h~ͨ|Ѥ+ ߲bo@|~)OR{ů|h?+ ,(3#HO@P@P x~|;y?k5>%|DS~*O='ؾoyy{]+GЯcx8_? }wJ|[<_|x%CXWǺį_o>'x?xZ-C:^k whOjh__?~.p??b+|_⯋*O&_ |=}kK{YZ-*sE}*P@P@P@P@P@P@Pk+=JNm-i쯬o`'t k$d7R4S mVv| -?b'O?~|Kއ]czo6}da4M>XF$-=]o~_MGƙ4S|cwxg '՟Imx.wJiPPo|6bٿi)ga K ^i_ <]­cW=]==O}xwdduKt#P ۏe_/7)<u7UsMxWLSF+Cih> D|cO =WOx[ƞ>uWG^i:?bQwog#B~9eGdO1{o` Tx]nj~V &:5V:ğ^n㛿D{ocQvٷ=Ճ4oo!h??_gOR?|J/<]ᯎ_ 4 lt/JKǣxDn|CsGGEq_3nۉhicJѣI#/jy#vz?_WſGW?1xs~3x~9|&FxZm7Ø4/gox3:ŗ/NwaZJJ!|M>1̿ %x⟂>6k^(ѵKGÏ1A\X[M–`-wyyQ)~?dwX=~_Egg#Yí#ThNiR5$L??_]gjC  G"jg Iۿ Zw6c᪘`Og%Ig⏋5/|2E&xŚWo5? kڗ6oh~*u_*h7 lu=Ox;M>ۭI%ioq{ @f ( ; 35ig/{Ծ|%?)rO x#35hkvZ%PC''$xK5eqf" [w.41~Կe:ςng?h*ּwW}SAL-~OgO|U.񿄴/ KomnĞѣd+-G ޕ]oI]GMb'S*-*>mT'şj':ot_/èx?-Ŀ +c>>|s$VW^n:7nHOr~=jME*~ۺA??O<-iׅ5ok4&9k5,Fi`7vޓ/ӿXhך^8o@CDE|!g5qJ|]|x{g ï7῎>?+KOǯ x>oza>xK_t-4Z-cJ,s\|'?>uk_|⿎|Y | ? 4]߈7x͒x ᖟO߿C|\k>4=EW㿍|s\Y ŝ.N ZVXhIJP/`i_콬 ĻD|8 rl &hBx.ğ5 z h摢[\;48c@k¾ҿnOړD|c~%?fOl_^w cZw]&h-s6ivz`]I=O7>gk1 > |Zx~]+~Zڧ ZžbF3ß=ooׇ>*iSx~OٯFBW|U7V ƾQ#Iyw%WP~<>&K_Mn'⮣O}_Gū[?~j"!/P_KkwO-kؗ_R׼Eiͨ=]ۣMsoƀ@H~!xŽc _uWO[O[l_֎9SíEss7 ȲiLgEP߇~4_>!x?QSD~&x*מ..lZÖ-ѼCውcH%HK _|O*/yǍ4?~؞vzvmk^&كEl:Ocks!xÀJ( (;2:⮅}o>/&OK~!<@Gb7fHχxß>Z<kbg_,~'Ѭ"~ƿ)GQG9uOLMO:ۧ'g=2 j顖e@?,|qwOYg~>> ٻg헫̿ < E//hw:՗T_M?x>< K4k@/+ׇtB񏈼&Ѯ-3Z -9 t(ʬĿ~[_|]_5C_sHujׄ=Fú?:d*ֳYiwť؅n[ەut28DT h?7(G=? xI>#~(>GGߋ?x4/]X#RC=O&iPmK`@ho`W|WĿm;`>|3mq^+富| y|Gi\Gbĺb]x]6Km> *g*/Ξ'dKٻGKq'Ai/%s׵.jM,$p?d?j>+?~"7/_?OxCX@^-gr`!$x>4?x3 #B~߳+OX}O ÿɭm ]fviMΡes=kǚO>x[Uzm^"Eyו l,5T|>V0Y/w⏎ߵo ,EB!yC-:d>u|] ;Wχ/iQ@P@P@=wOc>4Mg=y79k^4XM_^Z3"H/-.|{ ^ F{53G]ݧO:d|_iq_-'NKtۘcEy?>33ƾEUhտ':5ޡ}>#[ZZO<[A2#b4P@xߴ­{/O?5'PSOǟ;I&@란?ڞ_ٍ O#m~8_/}Es<|u~iu]#sIm{SJhk?i؟/O xG?f~ӿ߳|u[zW~ .~>'C!Hib{>gG~a~кW|Oo9ER|3?\k(>?,gGo!xc ?Uk 蟲OoӾ\8W'|a|:G]\~|<־ xƿ,}H "EԮϙ#|g/Pп>xg/:y|Hc_왣:/ > ~о"k?|@Zַzjt+Eg0qj~x_C\Xx^A=nO z{S}{p4n洀?~|6~~mgiڇVP5joφzNc6ܦxD\Z@P@P@P^ G<4+=O1w/׵?\ZFgei?²^_>ZvໍW~=ֳO b:m]XڔWiZ(#dxeHe%xXز22mb(K?aߎ??k7?ht?_"8|HW)D{Gï?_D j6xn ΏaBHYb!??x3tmo -<m~%TŸ~!x75𷂼?SSؾ"[ђ+:_u'Ҿ2o6?W>O|W/ x/Fsfs:^//\F.?&ߵΉ7?@:=$o7s~?-ӵK M|izɬ>D`,!|ͧ|Bn(e /]xCXĺMMlzH;q$o4j_] EoIπ?~;OYf >"8ſ33U|1yi}L]KL?( ( ( eࢾ3৚_ ~/ssK_8&߲W|iC?$oĿNᏌmH'FšYAt%J,Ϳ,_Z|O -?MޥkɨxOl*W"KqhT}@P ;Dž/<ŭMsU"犼Q}}fK;x'X5e&6JΏ~^+c߇|uϋǿZg5}[G;w]>!_ t??h|*|_?ßWb~τڇA ~(c𖳨j|Mxh!ONCOB!+:OO÷#imỿ;ގtgxpZ;m3V&&'q*H^kK;c^)ʺ0*H @6ZoAt !?_|7.'ټIgӴ9&W\oP@P@P@P\?^+xqkkoǏ(/)%?mφ xGkcH><~=ݸKV3F??_4R~k ֱ=:<vt3\Exv!dq Q*n8} @P@P@ _zwWeYlA_ gƞ/ F]+Mڇ,3]Ŷ%LjW5;ۙl'[|J~ >[O k~? '|$4 GP~/ľVV[ۅIbt5 ( ( ( (?k?IzfhG?ZiW'?no~Nt{o+T~Gv+O+f6(Z( ( Z?iJ/Hj |0~տ<}Oߴoߊ_(c?Cq_~ \M{k}yui%c U_"ox':|wB+o4k|Sֿh7Ҽu^  <NX;s;͞X~@P@JFIF,,CCb }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(;Ʋ]}ᏈZ=֋wdGλxn ]&^%񶾨?aW]RaKڵ|\_,p~|&ۋ>_(YsAK>/¸㭧 #Y_a> i88Pg_ݷ/xj//ړ|s//M{/wg$>+o?~ Ѥ텶w׀7;ۯ٠f\Jc10Xlq&%w)T$n. L(ƤTnwm$u_|#<t/R\Fݍ3mi kxDsŸVC5K;ѩ%%u>&yx{9r 9RD=98Kj}US(( ( ( ( ( ( ( (hߍ3Sh^YY?\.|;h:Yk]PмAuuic6H#Rؾ?jw =cÚµ[M5!j3BE>6&?x !|Gt-Ut߇g}'"O&g?sK>]kZ֓¿e.o-] ꗰE'#\( P@?6|{Ƿ'sO xKÿ ?nMBNR4Oߋk-9u+4{my>᷌ω~ʟ?g:ω~?i>}n_I}a͵h{/>(/Mig~|9M/߰¿ qj/4Z&a:Kվ(D,FUhXkjno~y~E? ( ( ( (M~W| (7Ax/τc~9 ÚΏ xǏ} g51\J9{Yd~ο7*Do^<Oc$xƺ𷀼3&l}iMqd2&@=O iּUt6?z>%x3F~"x{Þ {mkBu\kZ{Ak%Ҁ'Rc↕߳^hӵ/ ok>!gu☮<qjiw-Bcv& /u lOcW+hh?oxIĝ3Ate$mO6MpdbS/?Quᶽ. O56uj>,h:Vc=p ^'=9&/WxrLu/Ú$ޥihSj՝Wzm {;5?iٷ2í!Ag#ŏ2}$I$1{íSͪ_obeP&_z7Cg]gQm+πVWφMz[OM?Ļ}&@VUX*hl5-KStx5;sckKiZeĺmiz7mUm2&Oj=6_/5/zDީcG\[-@^xZ/Ckki%!cVcڠ 76o?O>0xC--$ 'NռoC𖡧k/}('.ᗎi|Oi?uM.}Zխg[[k(tֿ[ϴ'|j>Of6h7|l>|d/_~ξ&|Uxᵧ77uwG|)hwq'OoF~ qkwqhڔp_Bw ~Fk_CO htǿ OW^Su|B>!~2 xZ/<}\çk~(h|׾{O^| ù#x2}C! ?<nw7>#Uf47Ҁ><+ x{Ef#H=kN-f58n[||Xs &?KOPkm?mws]X#oee,L/ aF|}_ijdB2=f8Wy)F;;ݔRݯoRZi-msnz ( (mG'- g |1gAu:Nj mCžhzާqƧwl0ۛ w ॿIL^>|%ֵ?x;>ƺF-+ĶV7h^8_ƿ% 0~/^%4OH G|Yw_i>}ikyol(V@B͙? KT +#~i_x x‘aI|oZ/Ѯ# FPw@?H_/|3kxxWh_~Fw2O_ط`|2}+[O4uIᾉv>iznOuCB=/\tW۟m_?&5g֮7i/lM -<}~?|)_ |E_ ?e)?+'Q7sie Ŧ8|yi~όgc|)|B)ۯ|Xm'gwƞtFFvI:/ 6\|wrk_<K/ ׿6>/ #D|: d㟀: . -iﴽRwػĚ_'Y~sk~ռycAnGᯁ5:mCľ9_kQ%IJh]ަ"?y!xm~_Ew9xR~qSBYWR_:bED //uZ&#ZլZg7Z?U\|T>-|zƟӓ>8V+zƣS.-K#|3?>SSuMvA:YVwNz .o쌚46~ܟJ`Ԛ ;[<2<`}ϥl"m7U#o/)t6+M:V虜aU'p9'?^*|Xlagi~W⾩o_}?~ҿ߈c7d/XM?\]\r8+[}bzD> 4{}r$:Z:uzz$3$sE%긶WUe( <-c_/JO~zMÿkjVgW}.Z-rI&H-חq=U_?5jL g gozo? k|[|9%^\|0|<xx:ūDk+)/ug-]g*;@c7~O;>1~-|,~a#O4K8 F_VՃt_"u:n@-/<N^ O]_O}f\L=zxq4T~RW_?ͲVKY>:7 ^9I}]ly@P@5vwS/VLJh/2Qe@P@P@ց?_Wj~*3ǚvz|`Wž.Ӯn<7VTX,7GM-.vy70tP5?/7+׎ -M/-xUOxO⏇UDO֣s]3xxnK&O/?|}@gxz'+?OO~1F^+xOUk@{'&ma&g}/Cs?lC oe~(O>'oX/m@΋t|^|vxߴ._Ok~W+IʴW/獼1#ge|3CH V:qRu_Q־x~_$޵$\Z~~5K/z|.׆mmcៃ.tcJH-7GNtPnmZ-~#?ৎ4E 7c=txg1]x>?g(ڇC_dwou84~6b|8[W+^|8?G šNm{͔ %֭'sy<'7Lwm'Gɵ@O?Y>xók3xv{E𛋍 -RMf p#c:|4_+75 x%Ʋx~&ch3M>>>0d~"Yko{4dɏw~Q@;V/-^ Cv,|f1 bFP-6gF;mղ0چcB}O>TNֽeNx!@P@5vwS/VLJh/2Qe@P@P@P@P@P@|v͛~?<:j$fwf!UUFI<@$꿷xl~?No~izei7Nt6[}(#y H ຂi9 %x%A$SC,e)c`H`r(G /Ua >'x5>?KC_pj>ڕ/4/ ˩2[jnhty?f7ѿ y7}٠ï >. <1ٗMw ժ޵G_mwgğ ]U𶧦ߍ;Ptj\Rz?6joIj~_ANa῏1 {෋O~"|2}j.׏͖%೒ಌ)|eq_,?fgfbj+i~( :77o^ ];xhZUjۃûotOcԿ~/'+|/3|EMΏ@ [F7Ӏ??TW/YcW_+ ߂&yd'q ׌?fK@oqplqI/ŘZ29ĽndۼpX.2¹˿yuuJjzsB2 )-Q?~|+/|@5YW]>i!/ˇ{{yTL62X)/V,o f17F}yx%(i]'P@OTg[ʟE?ο_P@P@P@P@P@4#Oo+ۏ%Gͪh63WM[u[>GBwV",2ǹ->XѼ95lEx2\cCo>'9h"m+iq'+ #?2?߅?Zx⽯6|~ٿ]'Kញ i ?cozφ:x[֚LWKh]Zy5[K- `B yb ?;h:-gᇎ4}K->!|Qsx XԴ-WOu}?OkQOh/L!D/rf!$uY=[M(Oំ-4K;:ozϋŔ/%|AO埉5&!>ya2Kڀ9Wƾ |CO-΍ˬ jxSxsLmk0SERlڃ,Pn۟&|%꿶쳦wĿ[? |;M ;׉.|]/4 5 Ѱ? w. ^;Ե^.'`aixF{ U)X'X^Y+QM:m>?c}@ol;+7QO-n,ocYx.mn!pRX'FGRe$R\dѥ*(UZjJQi٦OOT'}_[<&pe~|J:GwiNj %ruC^9_~V}s 4,o0\ Pr~{:ii:7 NvW\?B (?;;PʗcôS(gOYU ( ( ( ( (> ͿgtIc5gG`;$᷿b ߋ7ឣ+Ÿ@,>$c|>%2'L+E}9Os$sC4i,3D$R"HBQt ۹upj^O *g㏆? KZuZ7컭,ZV϶67/}jok>|O_M?Iǟ|:dѬ}W\o]𶯥~xm4$u;kmDZ(e~v*E|;k/;«ⅇc}kj^'-u[adMܾWO%~0ASbO>Q |jmχWO3mB-tCIu.w߇~X|NOzw\~ߴiA<("5]v k@xbhkjZAkY&Լ/դ=K@wxM">4dɏw/rfwX?м.h+o^:>!l#=ܳ6$YBd [xl#oa[+^q^ OW/|T,>Suh ( ( ( ( ((z#isO}kr|L5+h ϧV2{Bx]%@0><=wt\ 㑭F յiVYYnn%T+~![~Pk b++60QƞHDƌG5OC^:tkKTMG6wWoy wo$9T׉e_x[Jժg,NI;ϋ*U^*o|S1v/|+/ :qyHNvxSIӼLZ P IO }_? ~_9ۇ Eാ?o?YE||𭦩o" r.tVVQeΟ,y HHq<;DDݘUU$9 ?ট_-<[3ſ|=[o-ɩxM#-h_>"|%NOcխ# ET~M?ki|1ew ?iM7~5cO_h ozޏ>[]H|M2^xkW~o[N@?[_tKs{jGtG*ZD^PR ` &?KOPTP~ӟ/O:\+^-e4XZ\\3,D3l3LR '[[|U0)s9`1❜?v;R>g67e [?}vk⟇* Qj;9Ve 7 *TOu(iVoͳ|pL/ xK+a%h:8*s+~HŴ}_D~BP@5vwS/VLJh/2Qe@P@P@P@P@P@|v͛~?Tn?<[WA/_/wh]{[tgi'5? UC zx&A<>`ٰLCqc(E gT8mdE~]W>!_oݢk(爾.> i>x?>$YxgQ=sX\Oicm-<4@?ٺ_ ޗ ^}wφtC|_9u|Sܚ-%NWYM55K ?^lPI}st@~TD >J*~-uig썥|>~;^l#M`Żi"k2fßPG>/ u |3c/,k~ڷּe<6ݧ|3=v/ܥ4+elړ-4=s*p?kԣӯu GN45SZ2ӂ ~Ưړ 8|m>$xŏx㭿wľ׵x<9/8#=3Bm#z@|K_|ai'ox;?cw}~E~_/ٻv<A"ε3|?ZGO< Կb .x=^JIOq69uڜ_>-KhT[tuq?xJ4/Oos%ԚG*a~fWz0燴.j^r/5Liv0XCV ԯDdm]6q@Rlmg;OSƞH/"@.4}q g[[|vw T~3~? g'?O d{φ~$7| T6o{g|-Y/5o2hP,;Jr)oDz/4C߄~-I~:|4 {Mβ Sˇs|=1.gJ.j^qz6O| 'oV[|0?hy_NWf]k#Dmщ|5Ml[s ޵BO^Qa&.]6]_ a0gB.U>ܚS)=)4F+vy (*|t>|T,>Suh ( ( ( ( (no?/vʀ?<5(ÛOCM'/Kx3~w kgI|=oo]3Do^[jw>%k-"_P,~"/|!&?_@X=Oþ'm5PDo۟Yr0ɾ'Ceƚ֋wUKK~-Kſ|"ɞ+gм+RIGE%>e?_&`Ǟ"??G | #6/_K_OSs:S6߁hu&kZjK VLԵ l4[뻇kgi ss40C3v>`>&>Xվ'YM?5''ύzeƟxÝOX;χih<'oŶu}a4Ƌ׀>2i;x3l4 ZT5.ueS?_E>0-@acX#ٓ|]ձ ?З|U>Nt{kZiͬW FI\ȶiEfK[9YMl ^\\KKg>_™eqU?m9iȝ5|ycƺZ|]m|7ud O⦙X}\s[\hU4Cwׂ!zi>'_J<;&D4wK-6($k;wX*%7>Tյoxp|R#'W^$7_ <5qxϦ紖\~y_?{_w ~N}]Ic/FP u] RmRоo i_g`J(þ(~__+zƟw>x Wu ض]gzw Z[ռ3;[),P,q@.o|G~ʞ=?h&/[/C _CGψk:HtK`>Mo:ߊCjN֑@Vpe {hL9dz)bfMwV*B({j`|ښƚ|Q~hx“xWok44o, 9OjBʱ>| 73|I~ M7,l.&lR)Y,Z{5Z\)<<7zQ#*^xc(q|FG< ^T64'2HPJS/e` J Q;y3{,.""|XJzhkuW_VMe/P~7rhW=AeR7[kj.TyU4;k4y^[\[ƌ-;:Xh?7e??<b%/EBן' x;SVH/4_^h"GK>!Kkαto__~*|+ѭ־h^Λhv^_%/~(sZ[ vSռ;%ڋK?.ohm_=f kDvTiYUcB  a ̫hAǍ!|SaNſ5/aKO;/~= c~|N_όA%~mƍwwCx~~|8վ@ύ5i־(u/:?_ nt࿆;LԵ]XPּk|$=f@w5]m4OE]qɫǰw6E;d+1ܣހ?ϓ65~+/;o?ZG^Y_+Y]3$S߈ff??7[$տ_:Th/?q_7jqO|:мrA7kjZ7EGS R@?X/m+=F̖24eIrдroL!_?_;;Pʗcô/gW?$O ࿋ߏ7?]OԖ39~5'ZpVSAr\fQx|n)>W{gO<'C5JN<~Y_Tvj?r]Ca4O9~sj^) L$}_EQ3"M._k忰3|pd>+P_ɟ>0lIfybLeRjF|;Bw$?q`j2{V|Nβ1^ަc:G(@X _nU忺sKً!PԼ>qh⽬/gEhVa?[le։·๻_Ay#Xy2\7n8{`ϪZy̦_IPzxjJ&'gt4v 7RAjrhS⯂`$TLuֵqrG8g5gK5ùv{\73ztxJ[/ySq(׉a MZUǕĖ7L8zף ө/&|'IJwp_$ʳ( ( ( (>mc;x..n(綹?=4D]e$:NfZ5Vmf]zzGkilchY*O)矀lu?->0Y?xVV-3Z[]^A ;M[oErnI~z>xW߅Px1'5< ?|I&}mbk |~, n n,Η& 'C6_xūmsǾ*t]F0_?P|q1 n.|Fsxk>G_u'GaxQ}Kh{EjtD`__?c_ kD/zJ>735ğ~.Yh˟ c9?[]Pm/ԵKzgor2-~߿Q?Ol(Oᇂ_۾&P8$PC eo*:O~<] ˽XzQ3I" ?o|5w]o> =kOKĚ\|c< vZ I, IQ:Fx+ q"?|$2Ґ3^$m*뱡Ӽ .Q5C(C48!+@χ\vi~=~-?z~#xͷ{W୆}{S(䷶M\sHjmyJuʜ[wi9] Xl3<6,Uzq.ܱVeC뿱G`W ,m _'|Oڒ4_Eώ|oz%w ̥8k:٭c_E3ϊu|{X[5_na~ҼIxڒhA:|íSNƥK5y3(}%_,fz8Va\deJi[okuQO0&~-~_OxV}/z&>ͮc"gœg >ΣIrs pN+T;_60":qqeu./9+}|Zҵ^lw\bwmY*RR*w5/P|z>  ?h5ӿo˝W׈.u۫||C/\6q]ͥ˫2{br^.VrԢV_'U#^KtZ)iOV::V8jBߴmigW|I$|GѮX'~9k2@ʪGG8 *9ooDVu=_+fx㦝ai Cr|5^yڤ{Gޛ㨽[%q[3HGZғ]~nclEoVEm#IUkm"k{k{q>SK'ae):#:/ѲIG\K\=umW_{]7,฿t׿eO k\IsᯋWzI q3Uh;dA,ϕT*۫PدJR0)P8،R{ʜ.OrW6 s41x4,ZVi̳\=jXGFꍾ_;=kxtr 3Zj%pE>>2B\3]+ o_kY`7FA?8 Rywg"?_S 9<2W9}hxJ3 o'b*nS̿Zk//0I &vБc>gߍqu~&|5;4_8T_uSj;.#?+|X =?|8+Xqgi__.On%oi[bת~z?O6 3z#ZwӥJEߴ_ڀ:*(h_{K ?4/n W௏<5Z]bO|K)o4[][[jZZ}ԶQ as^ kI>QiOiA>&x+ž=G𖳪ibE}grƨ.>DH#8UHE" 0 ׇ4ohG;gh6fcڠ>}=Z nGsܚ5h&,h~#vFRYo7ZOn}RO-E&ݲ+)*@7(?hx rPEtm"U?4?kwO,K+feT @>zM,b lڍΥxm̳L|۹(7Y4ZCaUе-j4h[eF[Ͱ^fR@iαqEwN6wvg˫8yC ۀeh&I4_Z\j,^uSMn}ԳHmֵ[#j"thg"kEկ[/`1w6+v`xcCF;3ĺO i:o !\- $ebtY%oP.cE]\}X^O? DTd~*Ƈo '׋c!~ye}ƕXO]ܑK܎}R4-~5wjZ";kF&evhj0t hzWI%OZx_~ n&ׄto*b(eWp KN4CIaFY]idwImu<^lFW\yMӬ};Ot~ϧvVu,EZ/J$h;XƇjuk'^?'Mٚ߅Iˋ*o| xPXG{CM#{*_?r73R3SZ <+}^z^qwX^tkfN-L7^ f(I3qaw7Fl֌\hxE5&LI,[{-" K>$R#A´Siu38gX.Mlѣ?eٷI-|;kE[j_1-a0mDHvW/,Zqy}_=q-DWkTkl ^.lgAo6ikxgR;ŒPA J[4ۓrfcyjVviqccw \Z^]VPJH) |9~?kO׼:1_ 7>)[⾧:I/=\񿎵_3]E[HÚ"}L\zⵏ] |uc?>*~+xCQ.A_}<`~@W@tP@GSNBItYuOSӴ;t2]IgFTU$ m_3=~q3ſc-{:ƿj;𵆅o{V^i3|G|B֞3Z-5GH6})<6&HO%Ak[ #[IJk^*KM4 PgCLJ+Osǝr*tW^l5xwW f)|G|:toxMҵ7ZKԚMSG2xGŚߋu)xnY6-׾|DԾ!x3žϊ/|En_ͥ闗Ri__A4˘O %|u)Ě>YTs=ণ\+ρ5$v+şώ6zo?dxsï Pk2ox!חI |A~ ;G%SX:Y4 ]_Oq0D#>%xԴ K~8xm|G<,+~c^g4ooRhgY-jOV? \|χWUx[/(E< `ӼS*֮4'c6c@ ~Ɵi? iž|C/i7Ь)$֍uzmfCŚ.Xzۀ=3~-1~z'|aZ~&|Lo|D-G I⇈< > xvO5;b;ҍ΍mqwm߾źM_S糷,ּ!wG oşZ牴y.5I.WB^܀|M^>;~ / R} /5cx{\?&wVO׿><g_QѼ!ա2>`c~ߴWf?!SÇT:lj4o =[Ś犼 ')vג\?aOuCC [G{ x|B,>}<*bvmIeP(W=o"}JGdZMb>;x KgK{nºσ~%|˯~|C< xS m0j0AuuMwsa=ȳƿk/ۮ/>Ο-e/k> ZE74_^0Q#S"Ziڻh49uH6}gM'-$M[\}k>_˒Da@' ( (B?d/|E7◍|5k>𮇣axA_ =7Ƨ}&|M \xZi?]^|ůx>"(:~eҼM0jxƞ m_ |ë}sÒ akO_C-+JxFMBr Vq})-R:-cěkψzO4} Zx|%'?tk']^ +J-> _6|7OIh~)K;Z5-+S4wIh MKAkxXO д8ϟw칮ȟ!qAm.nMGI)=🀼'k5ktƓ\IocsEiqo/n)?/0^5]֟i#a)~xÞ$>4W#WQҼuxDa iZwt #NItXYi^Z-촍64[(T,1GPb>&?bWW1ߌ_w4=sĺލ#AjAy}|Um43:u,V_NjYSQд+BڎxiQS37)oiyd״ |9[}v(/(K^ F^O |~Ӵ{CgƖ'uxOQ-nt53USqtuo_ |9sicu]# |UǠ+K}}V[iz>j*4ƊdַCxE[X 1En~i$x^Yu |\𷌥|M|ORDHIn|^oۛ j>26gEt?x>-cN!дMRm↧]k+ſkڦoy 9צjφ/{rx+x TTZtxށۍ> +It{?hc^!xg5Og\.tˍ7զgEo-g #I?=º^w:$k\+;>. ƵuojR4rþ+K񮭧xYt]7D:ZMI]hKiM`3gUU'|/5]sMkEdžij:#m#cx^kAƓ{)_ <c7_~zQi5g'Ҵ!Iiw^;Hf_X}!n5-DgƯ|,i?AഏSLм #Z犼:W-U4?j Aq*4iZnh^'̐Կ_>('>Ҽk';SI>.̭_w4r۪(ֵk,MJĚ>c ;| }kU|Mo'@k xKms ? gKCԼ=rjZ%y,vMSGE>.|ƃ'o{:u]CNR#׼uuڲO{|B-bﵝCO4~w][IypP@P@PO7zO;Zkwύ"j#O>)!h^ ү|3u/h>*׼3+;xRҵI<2= 7ٷᖋᥥ{S3sZͩj:|Ex:&> nNVBT=?</ZxVgDuD<)N+K‘VDP_a5ڮ5J(_פh~^#oQA}^%-~u>%?ZSZr (>Gg_|x?|ioƞ{? _x|VѯRyfzM*LA{PhE儺p?8h0EywL&I욎C[TO_ Hou]Nx͖m05B~>,w?GlWϊ-4Kf :Mux?l< |B0gtMM~S_ x{|#M&C߇}+FlE$Hܴ,3;;3 ({Cf}zoz]߈5_~c|':>׼=-#^1^&{n Igmt?;l>F|J++Z?h~/ RXu΋{jSJyf@c6~Пf~&~*xMZjR_x{>=|lG) ށK2Vû/ >HѴ~(F+\k:jŭ=xE,B(!~|9(|1S? ?1x?்? |=c|1Z:Mͬzޟ>qj>4}K~.=x]wMuk$T~xG^4=cÞ$4Iu/m}as ~ WM7?f+[]|IQ vY6xj84 j:#;=OY;g6}Z( ( (??os~5 ;(| \K|0k? ~]xZu?ei_oGjO4_hPjrZŦjPi-joM>!Լ#U/?MkSVkAkys2\F$1mx&BѰ٧ßߋ>+|f;Ou;Z~ş 5= WѠ',Mo?S,rx[O/ GmZhLҀ ( (# /#w߇ .k>g'Wz|7j ]^c¿?hm:+jO,lGaOOߠ ({G5_|w(C㯌^~,oڣ֞]L QolLLd*Gwg=/Fnt:o~3/$j QjM/ß |gqr+}Wɉ[I@?z__/~_?엦˟u F?hi^O7_?|Xc׼*>hϤC>f/'H7W|1SrQ|3w?>~ G_ x{x◍~#~ُ_1Orx-:]5;Q3xK~_ωi i=o'os|X׆~x/_g]{'o< qi*km9-o PT>_׉i =?OهW = Lj |8o1xo4|5k.j[MOşd|2? x[~mxǟԵ+'o[G}2KQ5Ǚ"_@^;[9"WX獢vUIa9cl22~%~Ծ  {o |Y9Z|о-[moEҴ˘Un"R~kwm͜p]m+]X],s;[_Xo{gpĤX?c_ 񷄾,ў8{xsL4?Ri(>1|e|qh,HѾh_/[m.5En"R~{@ύ|Io|[O^W:?X>Ӭ_zUީƧɁ?WQހ?cվ8xeO/ؗ{㧊_ q |^mx;. +J{bχtYz@ύ|Io|[O^W:?X>Ӭ_zUީƧɁ?WQހ?վ8xeO/ؗ{㟊_| o |_m%vj,3閺slWnqM_?f^&=}߁  㿅?4|3c''~ӿb,⼻4똼=?<^{Z-<_ٻ`65oڛX~k~|.׼#aρ;S/N62x-; [F+˻EM$зc[x¾%.xͷC j>4똼=?<^{Z-<_ٻ`o$o$ ebm G_-'{]CT?m_j&jvWqƗ?!խ/o ~ɟ/\?য়'4[ҵ]G%VÞ,ӯ໻׈.🋭MvJtI ݼ&@p?e٣?|AFowŖs)|$ĺ}նescgqgB\H*AX(GqZ??c_S!ռE/ V]}Z & v F^ a&gY kAb ⟆?d{ß?_RQP+A*Cw[ƚMfKTט*}?c}Sgraw\.]kς XѯO{'Tdž1xP/I2-!-0|<do_5O esL5>|2WčcFm=tSƙ}CLm&o-!r-0O;K >_oDm|E|9x+/66'2Xw_ٶr46\lTzP@-onlolm洼;[[kyx4H5 We{ռWegSG}CĚ~<:}{/ h:ŕĒCH;(@>-nn#hn-mW{yr  c#d5_mg?V]O it\1\V77I W "D̠I2 _߰GWŸᏊ^8O?<==$|{q&6?SMf7B5f7WX"mTPb?e |P|N&량1BomC7W5R>oD>= ~~|)uu#߳M?cm}?4xo#T#Vk~t|􉷀}Q@x?f?'|R{ω [/gԤߋ; uR_Pc4bHP?g/ 4J&F [/gԤߋ9 u7R_Pc4Đl/L𿊼q ߳|m;^мU+:OG!x+|GռYxw:}ay5Ŧwq:\">)UL~ב῍.xw[6~ϋ^U]x?ǷCHKߏ.~Q~)[7vqً _?h|\|w(C㯌~>,$oڣ֞]L QolL'9+ ,KS|f[>ι៌n/~#~|q/eړKŸk\UbxPݭ^-Zm'SAr]>-Q˝oIդtOF?y$+).#Vn!f(\~?ů9gLk>k'? >%__<{Z_ K?gįxwz} ^뺄CߎOUZqxg)|Sw> 2l=Sׄx|P/ jq ZAl_V0D|>~ڒG_| oYKǟC[? |mT>} X ^Bp 2~־1W?e,{:O?tc_3E4z cv>O4\wOq?c/)o_d׼%4-]G־v~4?ٻOO~27k#Lz;i>MW>7iv]\Oz7=M#ǧ0i?Ƨ3<5ះ=?>~!{c⯆ eӒPMBk{POY~>'|)x蟳Ɵ;z;c^q߈ g]{'o< qi*km9-5 $&:/|+E/ć¿%~ߵxg7g|O㏌|Rmm& Ÿ?sKGךw4GI~. MW:ĝ}oYJSU])n5-$}g??|K 𶭧Piτ~?ߡ~> Ϗ1|_hMXhvڕ4PiAdOAH?o÷"9~+|i}$犼E{Foy~}R&hv~"?i.~?| ?x8O>^+ƞ$kMg֛Jai5[PN" T57P|XA>sA|5O2|k|7/ڣR?;φx+ZuMfsk<<Z( 3| ~ҿ'se|ubG7yi띒WKp.:(ڭDžMORѴݶ1M:[\5,KmIlaG%^@~2~{/þ,q^3=Rh^#cMԿcDH^;MOek.t]QWUSKxdG5)!s Icx,Jԫ<:2A ?mQCl Z:EI|Z,1#^O>?^On/uۖihw?d`4?ػ:dž>x'w|m/t? t |.ev/(:,<+ox'-ȭu8`dWş|>㧋a_Ɵs់>'][?_ xZYK\I m&@Zv'ïw৏.tOW~/|-{G^,s !խ/Gt=Z iKm?߅MGS%:?~_ u}=NH:/~~7#lgO)dK#@Ίw>:㯌_|/ϊW,~c |GȲ ׍M-@uq#@'4xg/?h ?B};_OҾ2Oll|AB7l,{8+ⵅH+/Uyg?<3~ϾX|W~gωgmv^0֢nl no%CISw#|"|cO,_ >.e֋|TyCᗂ#5i}8߆4e6X%x6S>?80iZ&S^ hͧx^!ԬaXn$]H&o9zj3OxOӧO|XHbi'veHxw?x// 4?þ 㿊?y;?X.toxci]fqR#_~ ZW/o xž7V,:Mgd/+JEN(ˇ~! 6xL|\o o#ICAD٦^p=F G/A_|WVWG|9dv|A.Y^3 Y)dFUI6] ե2]Zē΍O ѱVVYIb>c-şo|,7|g+y hZfﯦ_Pᄳ;ؐj< ~!xgßUDŽxn>j_|Kz׌}>FmJ{-bSj/5_|_'~,G⟊(/+/|L=ៀߵGo<%ޣ>kuay=ޘ_TgKQ|f[>θ៌M~_t#Po:Ri^S;p[ %n,f{yKX.6\wa-ݼR H ?6zk+ĺ7Cj?jgCO g`ړ>59it#—6_ +L]FRMt⟰[Uυo#K~$GO-'|_boԼv~#^4AskG'Éqgo (П ~#,ž/Ğt/^ վ 5;MPu>5{ 6NZ?h??? 0e|qh,IѾ?/[m25U."R~_X |Y/@G/Ο~|w,ڧy KR6w-5\y(`)_={&I[2U4o-|5iɪjoWR[0~Q7?d/Po ~_?{_?g?|A߇| >)?6sƋ(-&k6>yO4O r )~)?įς~4xt-i?fs<978h_ǂ<3>+ t}_]4kzK_u[;mJN˚Pj~"?i-?< ?8?`~_a^4$sk?V^ 4kQ귾%&qiEψ@?R֮Y?WMCEGU+\@~5ʵ(_\@KK_J?8 RBʾ &{)d??CW?}< ?W?'H?[Go*U_}z??'_W?j5I?iP|{sLwJo/&1??ࢿ`ho}GuH/@@_ (+&)^R WBywS[ ,S/S_ t4P_+E"|բzgm~xEw@?c{x㇈ds~>(KY Ý^ ~_|U/αګ❍>C:wgumi}.b5t?O#?ڏG|sm>^(!?|u i |GDt2>3xLVk-{>/mlM> $e7k>g~ /[|fa[Wu)xVP.fxC~W$UqHxkDŽ~5|zf h~|Q?O xtcoDVKRKyg_?>)>_⏆_?R:3/X OxC:sm hf[ixj9$P( kw ~i?sV|z/챩xOT<oA^ js9|a2Sz_|!xoSϿ5躷okGi_ .moC w|W?K]KMW~>+'` ~ |`]Rfn᫯~۫~1nNqzk~ʞoib};ᠿ|I%oA-♾*m{Wƿ%95?@I3:KflG}b A;Qxw~1|bo&K2hw!xs> \ſk⟂O|DAuh{+HwkÚ3iz^Ϥ{?k?O|QWcϊ 3SCZ7lY+S}O5K0\%j>(-~9ԞGcKt?hg|vo//ٳ? >|Si/Om?xR?śO ot mjuђ!e0~Ǿ'o>$xCҿjjZJ|L?~ɿ'5/C׾+xZs-vFHs cs3_'S׿νO-:wd6S~+@1i/'qv?/xo㿄</}ƚ BwfK^Ҵ2q.1-c=?uG(xǿ)|g?OQ|,~)'Yhok_FtR{1_ۑ.!?l mş?tHhf\%Oᦩ_߶aKm|'iЧ/lo-O1"FXE߲Z!ſٿG灾<G,>^+~$kMc֛Jai5[PN! tx^5G,Y|2/Pk~)J{*?X>R4 cw ?/¿+|C>$I3[DϺO_t >[L>{H-K)tź$ Z.nf847Z_??wfxr? > KGu'?d+CK֝?hv:-Ȯ3y%KT>pzw=G| _GB;ğ|T{!.|+jm ?HVbO_㏉?d_ه񏄾![U<_ xcEu3w9P y#PO_&c?Fwg|?_V7[oEhZ 2^OY@a(&~|'oOmׅ|!caxO:φ?/_m8iztm;vci[Gp4P  ?xWǗ1 /}ǚ(ZW/%o4 k2\6VSGqZ??coS!ռE/ V]}Z & v F^ a&gY x;>~:xw/|{oO <3c5VE-H8K_^i~0# k/|_w|] !>HӸͳb( (cmƻOCj˨xOnW>&Al}?Jߏ":e/aPHJ/'T]?f_~О<'Q|qºfᯋxlj?i2[YkR^\A#G"2H?ej|"߳W tiKχp,~߈>YxEc |׼KxJ;/%<9y\ͧy'ׂ|0_؟~&x[>Z?`Im2l@3~?Oj>_/ziO|9ֱziz|]_4_Um⸸9$VtVMP@+{%*S91B :Gg/n~$ i 8G^FJ&EzeO ~<;?ᖈ|^ʺg-G -lS7qknK07%_셧[ZiakKm>o[{ g>e Hetd |42;Goo,|WyA~xQn-x |W3T爼 - Wou=[7 ą@>>aI mƯ~ȿ>2Y>2? |;6.4ǚ?SʴXXAd/ ;|/*)x~'i:߆:>ǾM|-i5k5?RU;dId*?kOC<ŏ4o? Rgş c.>%x^k^ctV\7vq٭~?Rg [?jt^4NlA> ;_|!/kjrxc7QO G.&|w뷶OZiHNMg:el~xw/쑨? BOYt|)Ƹuȭ_ O@ +]?d?\xr஡6FxCN|?Bӭ>8]~zse> x>=w£ᾊD36Byw|? kτ_| XKǟk<1iP-c'F{?i Q6>|Fa𥦏s|{Ÿ|=m^܋?Zx4y`-_Rߴ7ĿxKž*iVA>|_ mA\d#cI^"Nӵ :}8?>)>_⏆_?R:3/X OxC:sm hf[ixj9$P(??e? x741xC@O~c?4qd7?S7_ZZqxׂ<=&gY]Ilt{K|N<Gt=+ϋ0jz1o2xZ={ⷋg^>"o'Ѭ`4ŜemoXP@~|!OLJm+?j x(~.}~M,!F+}jZԤmeB0]~M|3 >?ρ~~3f_S'h_~)MԡN ֬|'SY,o4 (TX?E> 𶭧P?iτ~G~> Ϗ~1|_#hMXhvڕ4|ES7cߴďl7h~N7/|3MGEgoii6%?eh??a=fĿ|_~?'<Hk:_Ŀگ]mi^:G-4-ŵ%vZw[~sE$2xr)WSHɿٻ0 @|k~WC#gmώ O,2 xSúFo?foj:s},|BX$7P֊Cc xcׂ|7&gGCIVWbí¶W~"_4Zޙz*<g|ttZ+?|3g]kp6/kQk76It7!QHԾ|7NդuΉJ~|HyŖ_>.x^0(5_/kN66@ 3ޅ?뚧񦙣kzV;ľjsŖuw~׃~uַriZ$$'4xg/?h ?B}??O~2N Y"+ⵅH+w?|;㯌_/ϊW,ϊ~c |GȳC ׎4M.@uq#@o<[SPT-_߁_ @.P(EըK燴Kz.i5 /g>^8cx_#'~ ck7}F'#Ou |N6O>, Q/ZoLJm|!-3-eڝ@ioڻ/QvO~ߺ/xF4>叆?gXߵ|hg Gž[GCK`/CxP!Z $YbcƇW4Gǿ|C`~8&BF'Uf)FcP샥x{O9P|=٦Ӵ?_ ,? uh ׼3/L"#lEU5o]h?4[ό_<+~v%uS|_k/:n/KžmC#Q\{W_X |Y/@G/Ο~|w,ڧy KR6w-5\y(`P@WfH涕..9hfUbRXdX _u^?hxӼ9~К?Ktx\~2j84~$ht~ͭhVrKqi?f[K^e 6pKwo3ij(*$Bw'\j K?~-藟jx[F7O|M s?_ts^;}+ އGkk.y&)+G{ksg3\$Wv[JwVIN3[\*),2G,mFVğú/|m/?o獮?x;>,֣O ^*Nω|Z!>*x^-į|a?h>!{ˬJҾؾ"]ck?o^xWĶ|?]xYw|YGƞмU>s;GgxKt]wEG+7u&ƭSo/~_ |\߅tŸm>ƓMoiώ1|Tjq^]/i&Ґۀ~P@Q?e_]_S^({l׵G[DV}ȶ#|*ʿw?|M~~?2xM$WO^/Ꮖ^! kO5x+ 'l`n{{,2jnxW!?5{"V-2>իd-4]ů~ߟį~6"}2/5_'_*oB?Y ϱퟻEk^^)eͧ}57_OC)..oQmQ}_t?Jj^Qnb/lZ&ǟc3?Lo KG} G?ߟѿ?៿?sm / s4n~?z7?koLm:g:[Wus??p wwM?߳5sX|Y= Q )zµ ai>w-E폓o<hT_h]º"u(ohF?O"?F@@P@5_Ksؿ`?___'>ɿwwo# _JoZ=G= /o/??/@G_w/5şSb+_Q_?V_/ؼ6ˠ _^y쿳Ooy?=at$>=mù+ѿh3Cۮ7Lh;,Nh 5 W/ouGmsPr?/U?j^i½I %x#pxy?}W?T(O_f +?{º wA߶b (?9gN'?24- Cw!tc/L|<?/i;g;?Tʟ?ogO?"j<JFIF,,CCKB }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?>6gWO{|"C'[_=6}RT DƕywL١k;K~ ٞ/O6+/¯>2x|3w¿5|~(&Njg_G՟uGZvlzc?}gi?eڻ7~5➉~4i%4|iIxJi|@ox_;}J;67 k}k㷏|G|g/෋|+'FG)W|'^d>59|4=/V^/íh1GM)<7v~Լ[q]e Iκ hWEkŠ ( ( Au _⇌xß > MN|}M/~1\S½/DP^˨Ķ%e|{>~ܺ3 hkC~>'k_l o%[? ~: |kBه_xkAԼ74F׃Xk{]4$WğSh2Ӽ-~Ϳ'tǃxº? |*_~;C/9HREr~+u/g lվ%Z~~!&|O/_) eƟKcqX->}MKg߿do1*"xr/ ~ xV񿋼-y5?o<}W?c/ i+xw߇~6ߎ?0[P,2}H- ɓ27h/ <|[ogߍ : N;][;_~{σ|uoj j:4j2,s]Wo:4|p4u b\^K)3ᏄG֕l%EMopltkl_m.~Ȟ)?h?ڟOٳw??^443G|wKn[ѩx`bn~,t$S{ZG<;5ԟ/+xZ[8╴o [ 5}_KxwTӼ;5kwPL$+K?> ㏄<_ k< a5ŗ>&jou[YgĚ{]Z/-F ES8hǯ9>x߆. 'Ŀ$Rk 𶶫 Iΰh5Xা𯋴M?w=~#k>|H>-|)ߧ_x_w[o|Tτx~-D-g 3N7O/-ק? 5/CVmsOGώڏį뺗υ^-&<O j6o;׷tTYnv c?WG?M?W;/hˡ|S/Ǿ~MJa.KwE>yisSa[{[;x=7I|Om~Κo:_ uO/~x:Ρp4SIJ=_b?^sxıy5U'/+ڿþ)x⾩w:SҼek{P\ti4[4#iNkW~ _=>|C{5|yPwuj7Uv /,xP@P@P@||`ω|/Co=ߋM>4?͡tUnQ.>Ū|o] >!Q#~Ͼ4[ 2n߉/x)-uO<Hw>/I{^kዟ\JkMx~Xf[<wk=dW߱&YxWx_=x#*.U?BX<'^0uWP{^&֬o/>SN[Lc¿ S9+w]i=ޛ/ hϬk׺6iۛoI$fbT'Oٶx9~}"׿/[k> mGx{1ΥkxMsLK;-o_N+O߄~߶/kZq-T]7^oOu13D{h?%槤:|kc5 uSN_k׺B,ү~|][v>"Y~|u:_%xP]_UԼ9E{)Դ{._ß~ߵG_ ki{~oߊ^a:2 tOrzՕy%ft-S߇5.nxVgm"/,xS71.Ơ-|s⯈/x?OǺfo+}g?{/_2eH5ZQӴ;ĚT.{}z>.iegi{J4ً_|k x⥯/هƟ[[GO-I5Yguu ޹j:Ư u/x+E>kZ&?|b?5OZŅjjzkP7fL[\Qoѵz j?*|:d?hω^ j+߇fu]/ZVzf]=3  j>3wk xcCϡ]xz6mx7><+O mfd2Ơu|dgo?f 񿈾g~Ut]2C9?O{mkWÏ~+Ǩόj,Ծ|;s٫]d{O6~#m3Iy\I-Ԁ:$Tߍ|'x3BG>xN_W~|_^H|E$ԾݤQ}Vd0_ehS<+gE~8~)fw/5?WĿ=+g 6QtOO,|gkpˮLJҾ_Fֿቿ|GwgFjX⶷m߃|mOQ>]}O]FO;\ niz[MoZ@_/h[w#Ǻ'_#6M:DŽ]?f5ym<ɣ[\5[ [_7-#_ ìOE geyx }~-]L__xgB~~?to? <w(|k4m-F|Et_6_jzv}OC5?@^g?xM/Uoo>ԼI?/㴸uluſߵ<^ǩW=ڋY/>K#^Zӵk=o}jك h/?.> |?a; L<'3o_'4kֱGƉq_i0}^;φ,|?o"%G z߇4K<!> ?cR/!UE( ( I|4 xXaq/7Cúj#PAM,;tѵ˽68/dMSKvcewgqtLK7O=Ҿ]KomPw3z 3DV7o [Pk,RFc;B47^ͭƷi6ygxam7-C|=⧋<]xYldڍ׋l4R_1V?#E޹Ab~8B>$JGۛ9u=P5kXfw,-yT*O4K|}{Knz$kc~;}g" 忉"oMV-?^gB 3)~-߅M?_<oW||!ON`:w\[Lxw_5qi _i?SV`r<:ŗuyKNR{Z ;|_5j qψ$=k ~0SIUx?_j_ hOf@n@vپ x _[_NJ~9|t>*ռ/ ϋ~/~'񟈴Hl.0>x.՗|_}>=Ӭ?|vkm4c.uFaz7^l|dx@;| >ƿ k[ςߴ_ٓU uO? oy H5O}V; /m-94Z(#ƽU>&i)/38=_>%>)񷎵oq+RSVo"]cWS#T>$ڵ'Ÿ|l.>w_\ +$wOK4OK =_xz7V}w60H>znyj#uܓ4/l߳Λş >$x6m"oBM-u;oD|D⏏|{7֗~o?LPR@ +qqCRiZw?i;~Ѿ*t}[{4VCe@bow95s|+Mx|?}?:<]o3Iam0ivV2[$=C?|Y _7oï i#7~п|Ej ""/Oڞ\iUw~xV𦱧jsC\_ɥ6M'o~-MσuZt'ߋ ~-M-5mbUğ?ujZCSo?53cqm%Ɨ-;42Ȍ{o¿|^vc-L1ǿ5sz{\bk۴Pߌ?<WxER}S/<{j=Y_>+]mya|A/uO fnFx;:f'_anPuPF;."U/ +Of@1_kw-|DA߉[j֧\y0U񿃼?~.}[ Meak>Y9i>!4; kg"H%UWZYAccmogego1ZۢCommo P[DPT![[Q: 'ƾ(|.>OxZ{ax_7K4CVԭf I~Ŧ7ocq3~x?-ohލ7 X7w+^/we&mwHl'mMx5O/Ěnq+#M/Z3 tL3xN}?LKռA |CAej2irC5ږn#|f|/mDo=N ;TQgaxsxko?eYCOMg|c\k~ ?'^`#[*FU{/2D7h|.j/f?͞oE?!usa-?>/x~!wJYm.e|P5(iUٟ7>Έ?".SR-tɾ vϊ:n IԳ]3ڴhR6|wf ?xG5_4|cĺ 5/i"x % íwR>׺N-uSsr6ާ7&_>|7SN}?>#x+)|:?7/ . ®޷7RwïO<;mO.n4{ԾUc@ ( (?l_Te*(~O[ |s4iVY#'W_6▵1|lо[|U!oZN:cP>O7KhzN]0ۀswŏC߇">.hkc⏈~x[OSώ]MyAw3i}]}I6[|WO~]]$6|Kk%#Ms%WxL%</| |;F]:[OᧁoQ=-BBҼ3ZTsuaz ZH>iyx⇉l>-s^Wlhr|?'~КW? %Xσ$5OxCON4 fx[Fn߅E3x;O|]?ZXD>?3SxoG]}>}>jwvpi@R|9++|FS_>?~)x+Fw obH\kIt1* dh?|_ ? |)k?ěvO _G}?Þ iI>fi[i~/o;x+{1yfĿⶇx?ty?-4O|?h~'٭GυOc]V DtAU]/E>|>)'|]b7ůxkv?ٯN.u^jkycuXmym^\ex2W=>֋Ox3ź<%[hV7]s_5hW㷿4iQ#۳>s<OoģKxWGgË x"#Ŀ, :-zOw_Y>u_ ]_eG^ͫFZhѼ3|G6 Ƌn#big]/E>|>)+|]f7ůxkvO٫M.u^jkyeuXGmym\`cBW=>֋Ox/ź|%[xU7]s_ hW㷿4iQ#۳֡ 7+aOo>]g}"W)f]+$wKJtOK =_xz7V}w60H!|J߈6ksK[BH͡Ex π:~#>?密9xo|S֥q|ϥ|VGIY4xTgLg7'٦-G߆>5GƏ(| Z6~8kڅ{} 5YYMmogk o>|,iSn/׆o|??_>"5j-}wuyqY$frP@P@@̟ ?i+zG_Z'ÿ7|&wVψ?g _7VM[47' WeoveM5UZЌ_x k(jB^jzw|h|YM_~|H5-Sš%Şxc^<3ž(,-+Xѵ SL-!h|)S/ /~%e^R]^;g7~8x Zi#LԵ? kӮxzfK_I_ \ώ< xDcFl5M3Px'Ÿ>1/.W7?(NmFuJ|E5DHMGUx"B((6gBxgOĻ}[ ol/[J,ߦY\B'|$#Z[;ˋf5k+lgwh'7m  IJh: 2ku?xw丞KCĿ~%>{s3Iqjw1i%cwTP|hl-[z:?>(|}Z+{ogௌQtږ{qa}Z CM4._?!};Gv|E}[Joŏ|w+XĞ<մ}K|yxn>(ծ:{M1{ﳋ۹>0o|D3QvZ曪?;޹6~'|&O>$#Z[;ˋf5k+,gwh'7u x IJh: 2Eku?xw丸{CĿ~%>{s3Iqjw1i%cT>$_[?υӮo|k}/~(uZ7|^._t3Hu+}#YQc7ocq3~?-ohލ7 Xj7>w+^0hחe&msHl'mMx6xO/Ěn|p+x#M/Z7 tH3xN}?LK=*V', ſu>;x* *|K|Y#5>k>?+xw^g ?hFlj`@~?~#㯆t7$/ֳmk✿ /4<=wCO6y77mx4M5Wukoxߋk?joxtUmG~⏈鿴u5}.x5~2Yxu)<r%~ ޙ&{SOP_m?kx^'/x3'x^4?~1@gus?Õ3~jږYYX[\Bf?R~; ߍ 4OSyc_o _twQ<1V]w#2kSۓ>)l>~'&ޏk_&g5uj>*E?K YJ |ԼcKyGt|!+ cZį x? ٗ/~6AL𯀾#ywWyx/Pu]?ٺgUoɼo IPWiGj\Jyzt?ƿ7^xz& j 9-N],7edώ?ÿ[u_cjŪx~Ҟ$K? |PtCO+?we~ F+,>O/gO|Ru o>7_~]@]oÚn_xv o\i1g}"P@4zf? .<}F~5xwQ:' /<;8g'?^~7YnmuWL-F W_DmMwxž Y_<]/>3| s:^[Ş9.U SYM _Q ̤W¿^=㿇~&|J~i oGx E%ş.6wiill6\ zd\i};Ym&I`ݶUP(ÿhú/[ω ;kW=Cᯈm5h?t=CG_x>kzXI#iw@8%zwMÓx sM~RT:w>*xž!gxMnxQmYX=j)~棣|Sx>>>|}~1xzY<)% 寅z֜LԖ ?4wG1~|<9A|FѬ{m~-P C\&SOc}ǀh#/j'[ρ~ ן>|:G45׏<} /_x/ICWgxOLe֥j(T1??f?CMпg_1Ù|Ixş"s;~*{k~$$U'Ÿ|l.>wx[\.x?ZV'%o񯁼a^+Zu [J;Kg$^qC_|9w4Ӥx_Zͯe=?h?k:YYmm?e#WɣP1o#jy;Zt +-_h^9jOd:|~/_[׃fmnti|hRi]ٴ7HxO/B?oŏοPj~7O.t7w~iu)--X_獿foKuyn?jOڃY.ON_7|Xf&â/|Ky7 c@ '~ϗ{uLkoq++|Nѵ.4'Zw_YZDž="C'i;ƚx"oƿ7լ}>} ?#k:'uBjMK!ķ?f< s):OY&i~>i&O'0jߴ ֝f_ _Yò)6oczX?W*.5oC񗇼}_[~K>U߉)a,+-lm3['O3?_o2| %|w&]f Ï+hZoI_K>jZ=SƟmWZn5Υ#Ϗ$C N-T{kXaT8׊ 9]d.W xEmvv&wgsj7W5O^,75fQeOwƹjW_\^\4|VQ_~վE5 O:e6o>v߇KZ׎|  v^΋jmkq%[ 6co ;AX`5_Ěxw~2uc\ֵK[[o./.g@@<rWjiik>$I=WWŸ~!i.4VYm.f١D` ~#ς|?ӵ;owrg$</~/|''jWsO|wz5i%kh[ғRӚ^3~^xFh?g~ G]K u Ŀ H$p+&@' Gh?hsO_/im>0|Iѧ~xW}&-GG^K` eQwҟ:gċo_>|D ?i$|-{{?]xT<Q\*j/eUP| __ŭ <7?/ßE|77|fu7Cfh_ /SӴk6gi NFG~ i&^~.׳Zx_|]5jiq+6=+Ř|#u i:eqok8W^=CA75oxSo`x.¶~ YI?i/~(W??%bW~뺽^[[ievvf @PQ6i:'u{3`^=v$Gďۏx'>@Od𿉬.u/ַ{mfw+4_~|=tmCƾxe-|xC<M>Sh}StHl+}-th"@(߄m<] ~kq?<'|M< |]OǪDzlQ) wx}!M+LGy$Owػlij;O$Y|> kl;Sx\u6kmk?kxAm"CLtVu??o-xC S/ 'Y=R{K?lx#C~:S|? ˧|ea60e-,hm&k6>+X8 (n?+M?zMM_ ,j ^/k75?*@ݥVP][y&Ue@;(_n&/?M oG~Ycŏ?v>euxQ xW] 5F > > cAo9o?%;MTu ;oUQ%x_A:ױ^YCy࢞+:__;*6 cE36?k ڦcxHݬPv?5/_?g]>=6v =/Y%/>45 RoF-/ mn@A~_>2o(ǡl>##ڮ_^/+I𶽩Fk+“F`Mg{G߅'g~? %|5[şOCx@5 6;k{4c84ZĀv&FɰGw| |G*f /3?eqQ&7(qB)R(?c?A% :7ϊ??qʿc 'g&iak_G)C|:%?_³oL0_}>Ob-"W4@ ,'s%#MGGo}.|:oq|/oC}x/KO;P_WC> ;P%v?3A@_d?W$?O?ЩT4/Ï3ۯU'1$LB_}O{1>ʡv0Q$_%vwu~xQ/}(2"'_I?@Y~kO45'^i7ϱ@?O"?I>!ɻȫtICBa4MSIW?ɺ*_1?_hQ*x+S&$UU[J1 |GTɏHWS'ۨJ ɥh,ɥȽOd7Chg&yi(C?_?ހ=; u&_cL xRu&_!+?/sMuTUo14nJLh(+kEwG?u#_K_No%'G"(??z{/4?_c?R&7%?Wa?3M7I&'&{O7_h*(;M/g1 O;M/E807͠[5ϿA5&R:=w|$kH87u.Fg'h%1UVJFIF,,CCJ> }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?h|ozqW_:Gw? |[gOvEhtxS?O4_h.·Z.mC܍h~__?Aپ}sP3,hkQ"#ԼCV+|e _V& ^ $>\#j:xd}wL??a~3Ҿ~Ο<}/?n?Zm5m Km~ķvWpKDFc |-h~ CF7|E_>koxLL7ϊtXaw&Kᭈm-g D߁o}HA?Vn/5[0o|2INĿ>,|C~\j1L𵞡s+]v /OxG-xm?oG/h~u?~%x/S>"jKHL4ٶ+=SC6m ԣX]}%g??|KfڃsN_cᖟ_?j%gǟr5I>xWğFעjBߴEKW]zv|+Xc |៲t៎ }WOx|i٧'w^13iZ¿~7ZnquZob= } ׀>|+oO߷|H~~Դc OF>.fOkZ^|Vwkwz5F }@ύ|Io|[O^S:?X~Ӭ_zUީ}OQ/~_|~ۮGoI|N;c91g;C2~i/?|` MԵ+J{c6hXcg]|(Q*{A~&ʟhoEOm_ u o)tIu/Eqj>(~9Ԥ@CDZY3El_狼Uax{>7f~vrZB+a3k~h_g ÞL~DmV?ow0Azhx95Zw+/]5[PN" Tx?^5|Vb^~:~ u>Cn5Y 0/M֚W=٣ž⮥:O?ۿu\xc¾ 7}^yAu~_߄oam>-~(Ϭ|.aӼI@?eOko:>/jڗ¯Yt:~'b?|B?+Fo 5^(OƚnIhZ7g-$BPf_ٻ?ODxo}!d'9 <bv4:=O&h5m=`ow},L6Wa?؇I _o* gv~eIWïG!'"y?ռWDQCKcm ŽJtl~(j?t 4:Ľ2[i|giX|Gu>źpj\jwjq0p ~?Ïwyʞ-~ >x_Z]?ź?X5oXkj7"M{ 3: ` M.1Ꮗ^ 4x{"|_KG' -Y]??  ^ i|kzdVr0nh;giھ]A5qqrH>>$C$Oo)ᯄt'ԵxsGG~*mK*f[F2ʐLs"x=>2/_p~іZB'>2㾝tWLŨejk[r\hy.iI|I֟O)__ᕧ⟉? 5|o|9w({#3Z]Y۟_j mi9g([?fxve߀8t+ j2-?xbM/9y/xKB+KEky'FB!P-[ G ~8i_>oW~~IҬ.% { gMMH.gZ}'1/k- Q;eCA{ +fkWu̖~dp^;e~qWNğz'[~%w㏇I66u h o 7v A zm!xWLދWnލK;I~1ψ=m#Hj.O~$?cM VOO\=>t_Fqiek}SG-ɣ\j俰[ G;1xei/?<.bH>x6>!5/o_s_^DL0]:m夶Ul~4~_cû_|r?>Eڋ/_n_gM# ^ѤΑsxj{Yfw[?`qDG)> ~KlCٟė}:^;wVuuW7} E՗?CO~^a`~ĽO?us ͎79N G5S?xV_[S٥YB!YrhߊgKCxS)Oz|)%y ]|T݅߇;é>&k_ Vt{} t[xHtWs1h (l?bWgO/X_417OO\]~(^NjQ/zu/>8=:MikcM  o?m/>8)υ:9o5m|e6Eu5m|%?EuY5m.VO >0kZf?3Ŀ7]>|x<==hW?ڷōO(mEֱb_!m:}GU؟w~^eO?j> ^x?ğH ❕%(Go_- PO}'m>._c^;7 |o__og5_|BZ}[Nm7Lf𵮇jZ6᫿x^=FUe*2*e#x z*x{M/ W9|8F_oڶmO[_ ®*)$2ք}@xš_'Ow^%Uj^/<?|:ei-w:n3}FR,*<5 ?:_nKOZޕ :ĿS)W<9s_Ax|#ke[3Uo-B}@Y?O'⇈>?t/|%]g۫G_4 j[0ϦImyF6 ( ( ( ( ( u4?Ꮋ:/įzw|=Wi9Γ਴ex?w&Ӽ%hV`P1"n (|w--'k>w9ĺ4>;|WGеi|A}]\gynw"4j}rA߅>7gº3FzDt ?`>P/>Y?i=s|.^7~L;D#Q_%υ*ExFm?I2Cu\鷖Uk4~_eû_|r?>Eډ/x_n_gM% x>dΑsxj{YfwqF7i7SH|I6/ fox ?4m{W_ >Z-ρ<#4:$6iV?gςo})'ߵo?>"5|)qgmMswo )׵?8n#״-Ge(1#+' j&9ߎ߳׈h??x3þ;6]ᔺfxG}jk͚L7pNH/cI~\|u0Bo^Saѡ?[4|W7K\|k>+#N6m'/cI~\|u1|B?KãBh?W߲io:ns⹾&@|W=Gm>Lx O 27bW3+bXuy̵/$uu @P@P/ϰb_WgCK`&;ߗf?_&0"Mw2.?/zŠ:+c6+/_#c*Jo/n g6DKk'fheї*@?'𿄼O??ࢾ;> +LJ.~&~&꿲^:agmR|Tմϟ 5xe!bk=bz/wm&gdq~@ύuM{Dou _xHƽxo?h[?H *Gо%va<ǥ>x{*Wjx?Ĺ"״ٿ·ktoo|>oPmk_|=*j>+ơ=Kغ5|Yj>#|=:6 xV^ uM:Ş׆ixruXm)aE2@ICNS߃?c|Si~:dxCEB?!⏃\Nj_tHeKe9O"<-wź/Ǿ/ o+⯂<' Mv-MSּiѵŬ:\B 4P@9.xÿ>|N +ǁ|NWY?i=s=WO~ǁ iڗMĶ&si%?hO?W?.~ |]мouH)$nsi13|K |SB'o xTZVo-$@ ث?|ifxw>=o|%IW_:4ΝkGO /?I"\LqF R$vRF #@?+]k?Q_|5O~?%~^/W?Xϟ?h^hxKGO?|-]'ះ fOៈ~Қ} B~ai_?WxY5|1/5ON_^6Ʒ:GÙ*x?o_WCgCMՇ%~M~Οa|f?>iߵ?^if|g/j j{4(K ~ |Vӭ?ˠ~l- 1,/0kw=[r:mWFݾ"j>/"־-ƿUӟ1CQv?Ҿ].#2z44Z6EkCwjE@ ď(Eñ|x3Ɠ F>bJãh?W߲iox:ns⹾&A|W=G m>L>~>u ϋW4_Vًw:W&_~ʿ ?l_٥eϊY\IVwm0c}KӿjThS?]5  mF77}g~UxG?W_&;g'EA ? &} z?RgݟQ_؟?K#%>º*w[/_hhK7_;^nP@[ >x X Tߴ-| Sk7kηυ|IB?x)|=a G~C:3?oO#jZ'kf/׏~\j:;pOÍUd-{[3 l?^h (3SG|AO{5 ??h/n ɼo x}U_4Iu{N=/;L}{LѲ@?l?cMk-"x3F:_ٻ)>ח~/?;Ğ#O~0Aj~<‰ZLԵ4I8~!ƚׁuWDf,߳Sh9.=o_~ x|G`m>2"x;_SU:&k:n$p(?>? C ?~6%̿ jwK<:uo^7mƍAդ<;']m#C/|eA P@xš_'Ow^%Uj^/<?|:ei-w:n3}FR,*7 Oh>(Ҿ ܷ/_`' QOAïx;h\[ih.6wu>͖I%g.^е?'|y[ 9?k i !x좶_\_$|(>'|;mԼ+߇( o/|`YxOO|G+Wg/< W(wf1jC"] #_W_$c׿ cFޥ/Ǘ^ [Kj^$ѯ4}Q테֓@btP΀>|}[~ʟ(¿k|3aYOŇ?9MKŞNoj?mZͲgT A@yk|r(c7"|$e ?W3 !dl)nPP@~%Es !aŸ?gG~zU𬟴?z~|+/ؿh}RӴmK6ڮ[uFXa(ǟwcV˟t/~? ~&x \đ(l|Eo_/mм#.^$!`ծtI4Pg*l_?dٻ2kϏo~9|a bmU⯁N/3ӾBKhhgH<5=,;?[~¯|L|Ik7g[Sgks|i_w75.xvWj3gv &^-_J;?l( ]+[/|Ri 6⟋,ׇ|(QHdXǧz.R)୞ S޶ b ^~—_,ռ/B5?V!(>9ԟ >ZNVN|  G/Jcw߆'~ -hơ ޡiogu^/?>VT|-7ύuOEAϞ!V_>#x~?>" e.3_Zbu@(_gojzPo i_ur7Y7<^k:g>>W^񎩫ip|E>/`o [[߳:_W§u@u ,Lkko5'?ٿ?'@W Yo?cQ?°@`³hE??fBޠԿ&gW?6'.R_ϟ኿bK%2;;!eכ}@P@[ >xYh Tߴ- -^5fzDž|IB7x-oXCzty@Nm}|,ZIZg߃:l?|N<VQO^Cw1?^h (|hX|⿆?_־,;"]໏]Ϫ/5ɨWsis5uPg[7w i?/%ɺơD՟>,hj.6z[-IR΀?b? }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?h|ozsW_:?w? YgOvEhtxS_4_h.·Z.mä h/~?o?Aپ}sP5,hk1!#CN*}|e _V& ^ $>[#j:~xd}wL?a4Ҿο<}/?n?:}5~mx Jm~vWpKDFoDo^?GRE#wX>x3k/&'4Is|[7DO|Rj_؋Fx @>7k7BZ~ͺׄgx ?kug߉~2|Y|+{A[ZP.hx+3c⟋kCo>%(e/ï>2X.T?<#jW>O& ek2E > ( (Fm7;mEs0s@w^6~ڇ~+~kWĺnſwYx|GcZO}}ph62yݤ#h'Yς?$mOkq|vFٿO>GעjBh]?<5}DGhW˛[륆;Hk߲~x_Nih?n/hfڃsN_cᖝ_j%gǟ5>xW|F٢|BߴEK"h#Ӵm+]ͭb$.߷W'~~ɾ*|/? A/j_ |5u+6u?֛][Ux+#ЧОx–xx;M'ďzWWKI_~'|`fo2xZ={ⷋe^]FHc cP? o|_xg^'ukJ?tx0';|u?O n|b%7Ş^]4?ÿ7#R״+\Ku Xag]|(O*{@|L?~֋(j |S_?ᦾ\%>)~9ԞEcKt_iovg/ٳ? ~Sik/Wo?xR?ś_ ot+mju4eX*E~|\ox);^/p)|gH~-iiv8֓U-5 4M"(.|B@Q?e_]_S^({l׵G[DV}ȶ#|*Mſll1MK[~>߳Sŗ)m2]?~1xFm'l4 dF&Ku+c X~_AtU|'>a<#+/O=oA%xM{;O ;-cVMNVP.&GqZ??c_S!ռE/ V]}Z & v F^ a&gY ߱׆<1>fx3[o |#[cwū+gGցa[}+?m/-oLSQf z~,"RO[_|;h; Gþ7M ̖:Gm  @P@P@㋭;g#?|Mŗ/_kT]S^|Mϊa%4 rvi?S@*A_D/hO( |8]]r}3[]<65~4ۙ-/m X/kO m;sC/Oz7 E7^^.n(<= 'GW`ój\n.[Ak_x?ſOZ<- xFZß|g6#ln~)8O>o&oiO7?¾&~ÿ0\x75S&%Xnd֤FDeb3N|H-'>.v-u ~k>i5W_| ]x]׾ I-l# BjjAs<?o{__/ b~,m~8^j|L_q Ւ[ۇl__G4 8v|XD|/߳Wqß <#s_&t׺Mᗀ M=&;x4]#[}.᷼h$ Ad/ ;|/*)x~'i:߆:>ǾM|-i5k5?RU;dId l/6}7\|oo)WI/Ěi|?_ Ik< ¯N.<m;LԼMum%Y4kMPy71B~> j1s{GO#;ؒ+_/񍏈 _\[zf>3kē$:zΛwi.l_G7?<=|35oŵ=U %/;v~Կ t?+g> ”ŸثWOY-{ϋ? a|:fuo gGмcGNտ)7d+m0`/)_/>"־.xƟUӟ1CQv?Ҿ].#2|z44Z6EkCwjFfz?۳ +G)doįgW__~~%k  _Ig~@> ( (?CZ-O <,omo*wo?vG_B/-_M^ k~m$p~P/?sAd?E֧vY=ơ?0h&~u'Ayefp!󡻛bPZ~__,/> \|~|o's⧉.? xc( =}:xm&~X7[~W7 ¶2~#xĵHox.Oh^!Ӵk{UQhk (_Vn<^)?k~0_KuۍCeǏs߳։#>7XѼ]klo\ӬuK{P:~8g|p/گT| sg> V៏>3IQj7?K9(Eτ?Xk|Ђm?`h??~#i?Aw>"~ѿ߳~,֭-?|ytiI Zz6#ae 0#x z*x{=/x W9|8F_oڶmO[_ ®*)$2ք}@xš_'Ow^%Wj^/<?|:ei-w:n3}FR,*<5 ?:_nKOZޕ :ĿS)W<9s_Ax|#ke[3Uo-B}@[?O'⇈>?4/|%]c˫G_4 j[0ϦImyF6Ԩ ( ( ( ( ( 54?ᆽ'įzw|;ռWGеi|A}][gynWI"4j}rAυ>7kº3Fz<=3^/+~!5)$Y&X߶t?|>Dt!`>xP4?6gρ|SW>'GDj6[j^&4۬5K E<Пÿ~6\@xS7H$Gcc_|fo>O$ޭsZKam~_G7_<=|~3F& k?i1;F~%6!KxV>mFᕇ˿+E+AuDŽeP "Wy$~g'_fx:|/5|,|O~=#7⯇%w?(W(O |Msſ|!g~~-|Ï7gKz74xW֭ntsPCoō'+}q+| ;/ >_~ʿ lo٥eϊY\IVwm0>~>?t?o|Xh?~?߀>txO*Vab-'M.|W7:ϊ粎8mti`ݿLn(lO]ᑿ?];Ke4w4w%C7i ( (ngbglj//hi}?7~^w| +o ; ? &O?fBޠ .-nmỸ{ym^IcdKd{v`&Xr Kx )LJ.~ն~&~&꿲>:agmQTմ~ϟ 5xe!bk=bz/wm&gdq~@5_Ksؿ`?__g'>ɿww˚q?¿7??𸿰! x>A G &} z?+dY+E{9%.ɮ-كb,eʐ/&_*j>+ơ=Kغ5|Yj>#|=:6 xV^ uM:Ş׆ixruXm)aE2@IxCNSσ?/cSi~:dxCEB7A>|Q}k6|AuΘ< y,P)[Ze?ÿE𧈵o OqN//4O\c,^nG(o᛿)?j7m ;Z?((Y߂>7+fM:ĒxǏ_6m*oh_ž"ռ/?ǧO-;H<;s֧ Vs|y??gW?ࡿ>&xrl k1~x9o~ SGMxto ??~#Xiwڄ_@P@׌)~$^u[Z&R3ïZj]O>|1qC1kmOGlu+)Bo,&U5[6\4.ܔP@P@P@P~'>xkßYoa>~7έZ_7>Լi Nľ ,f;.9F Iw ͼ\-PY=[]35Y^C0GRk) (8#|=8y>+25Q?+?xgKׂ4k>T{ac5$X09/.0_ؿ~[_ڵ?`3IծG$3Yi[[} ^-3@@>Ǿ/ o+⯂<' MvMSּiPIq 2hѨ|'|_~)|9񧏾ZW_xOj:&Z>yx2Xiaԡ/eP@x'~>|t9?Ҿ+? 5KFM z"Ԡ嵙-:|u!O<'¯5MC|T>!xG(g [`ڌ61k`h?/-ƿ'kQ ?>#H?j2O~$?c= VOO\M?>t_F? iڗ]Ķ&si%hO?[?.~ |]мouH)$nsGi13|K TB' xdYVo-$@ ث?|hf>=o|%I_:4ΛkGO /=ɡ"\L.*H 2ܤ.G"??d/N#:#Dk~|J_o~.~~?~*Ÿ~2_ĺG?hĞ1]?4=_Oh'~ҿ~e'Pkb_kS/oύnt|S&7mx3G 'h hۿh f_Ldοa|f?~iMOe[~1mOfexédK㯊u|)o>5g_'~8wٓ׌?o NyZѵB+]rCP/R_Ǐ$B/4h77_&w:_A ؿKx;~ t˟78mti` (EïoXҿh߇~?ÿ)0ПU[+N\o?5dkxO6?gt=;M;C3W./Y_lk+_NcoO7ٿ~O*<# a_Ee\^; * |gYo4o"?PUoP_?۳ +G)doįgW__~~%k  _Ig~@> ( Pּ }O-[ 5尃/~ |jj]{GtٖXi/~&}/=`o!Ķz|{@Nm}|,ZIZg߃:l?|N<U{F>*}^Cw7<Šך(_Vn<~>)?k~0_Kuۋ?e~z'|gF7~x Quh>HurNQm@?|3SGAO{5 ?  ?qoSo[ 5jGyii6V\Pix]dOh_7~?ßQؓĞ*-ټ#/'xQ5[KYSiI'?Z.JȞ хnm?߇mO/SߌZ-C_7Ok4궖)4KYӷX$~P@~I1 ~lK>| 2xt+?dž o۟6IxvOx}Ѵ F^9bS@?Ynm绻Xe YiYccRBI~6o=R~~fy4oOO?g>Ǘ_u焼1~&yk<)?Dԍ^˨jh P@׌)~$^u[Z&R3ïZj]O>|1qC1kmOGlu+)Boĕ/ ?vH>i'_p/l.m$㲊~F{s~Ǟ ŶGR~DM,Zwږ y#2O$~dlʐ;:(C_/ xO!|LյMdžu?> k/kz74mFR^WF#OEXbwP ( (90#?O|!/>!C~"|/o['@>Լi Nľ ,f;.9F Iw ͼ\-PY]=[]35^0GRk) (>Zkr"-|Wם_aoO]x?%ۛa]ۃ@RxO ߉^<3_idv|NQ?> į1^V_xG֯-|Q3W# Q>.??o E M~.Aw% "mn7W7$MG3оdρ|Q_~'EDj6[j^&4۬5@<|y?h5olwB#gI_/.|+N- 25If ZMO6bcJ־\ -'O{^)th~/:u-?_3ľ &tsS230ſ'*G)gď!V~O؞v>>ƞ{?Wmui}&6xmol_o%^~(o |ࣿ/ |}wWlEK. x㷊~,^F< #VƒAc%hϊgKCxS)Oz|)%y ]T݅߇;é>&k_ Vt{} >t[xX7|[?{=Y|8os "|ᔺ^Gj[͚L7pNHk-]C M/.n_x[??gm࿇^@g?xW^񎧫ip|E>/`o [߳:cW§u@žuW_eg_[}9&f7P3nü?q`CO$>3?o7*ٿп+x O 27bW3+bXuy̵/$uu @P졭x':/??7k#'~ ijmwFtٖXi?^'/5žKlc?!_`۟5'Y.-gǿ.u ^fك@5|VQO_CCw7<Šך(-/\-UChח&]ͥ@P@ oUx_|(|S<~<`0& /<~˞Ox+Yƍ( X|3gxz嶝g>ڀ~O;㇌g_c[?Ao |}/ ޵⶚n)<k]FԴm;W~ z 776v 2]\ʐ[[,4 1ff!UA$?b7?i?x_?gOF4UEz5Cyug_[?-GošwMK>P/u5l4ي(?l4GNOHğ3;O6-[Ƞ i+lU'-&#փ% _UrP@P@P@P@P@P@P@P@P@JFIF,,CCJ> }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?h|pzqW_:Gw? |YiOnEhtoxS_O_h.·Z.m^C h~__?ڿᯄ0]ko}3R~>*Mc|Rj_؋Fx @>7k7BZ~ͺׄox k?kue߉~2|Y+{A[ZP.hx+ZOOjڋ]мJW)mo|Dվ+xitvzt]ך^AGKŏ~/m, xgOT zcmS^<\?x;_ٖ^y<0 ( ( kwϱY #,wuo_.*h읨xkƟ~h?|C,~<7_f?^f ~6-xjNѴwKwxgk~>+%g㮥&¿|0o0|-{i~3x7I׌hu¯~7ZnquZob- } ׀5e? ;41xC@O~c&I[|U?jK_ x#rjڛ:guԖg@ v؎]#6v-;.~JϏ_%5/ j㇏ >'1N|?dx uo't~ׯo4vvitoxgDm/UkyzO-Wß~!ٖ? ~ڞ /čO߳}E~3xh]?<5}EGhW˛[륂;8w|W?K]OLW~>+/` ~ `[R|gn᫯~^0nNqZï}RM<Gt=/'ϋ?0jz1o2xZ={ⷋg^>#o'Ѭ`4ŜemoXğ7ž/E<1x E:ε]:Mjz|u>;%]>1[rrc xd/x^_ψ^.P~dãRt+\Koc=?wG(xǿ)g?OP,~)Y:֥Cx~_Mhv :وbKt?ig~|vo-/ٳ7 ~|Sik/Wo7xR?śO ot+mju4eX*E~|[4x1;~/qZ;| ?WIŭ;u .zo|yI\ZiAsԺ*jZF>Ÿ,IؗZOè5R?_qsG|SȚ׎k_?|O~!Ɵd-sg#¯"t >|V!^~:~ >Cn5Y 0/MֺWM٣žⶥZ?I sxa 7}^y铀y-~Ϟ&_#Q>PN/_l> ^vAw#ūj_ tm ?G[C}[#/|\s+⿋4kN?_⋯xTψiFĚƅxKJ{Z}2Hʽ%;e3Gg߂.M[ȼ^y:LγHSCc xcׂ|7&gGCIVWbí¶W~"_4Zޙz'YE?/7"?"w%+7 w?Rx2xqዧ2ڱ7Rʄ:XdR w g|MBxUEcz kS߆/ᱨ|KougI{mq `?eU[~_m[,>ľ~ eÊ<5i[^.}(켔s6-V`~ ^ E~-boS~&5j>='I,essXHz}UcMi(~Vuio-[| ]߈:M^:^_\Lݵ0"JiiE$ʐkQ>Co>/#~8xW\M5WO C_:K{-jKk$dX,jKo٫ |>Ka%ø?}o qG> k%ԯ%.fż)xU/J~ KtSH"|& ώ'[,}kK|[ jouu"j _߰GOWŸᏊ^8O_<==$|}s&6?SMf?B5f7WGHxχ?c? ~<9?ᖈ|^ʺg-G -lS\ZےF w%o!iV7Z| No-BrC;Y>ë]' -̣N0[?fxve߀8t j2-GbL/9y/xKBOEky'FB!P|'~>m/࿌~$m>-xOŸ|Lw; +yN0x:]ܶ݋NWF XѿbÐ|c4h6ߴLWp~67\a.{~1ch#/u|$-4:Ma+{]K >o?| +p y<xRވlh:ΟkZO,,߲tf ]|@?~goO69wa^.׍ 4KPK=R'E|amy|Yg|gVZ/| <g_ F3[SLFy SF VbKx*Fxշ#GI&߃eG|bk'>~ ~gWz{de֟y=ޘ_TgKS|f[:ϸ៌n/~"~PjM+ß |gqr+}WCƶ~P~1??|I<=O7O|=dW:{@7Ǩ/Bk3gW:Kj7-hn/(x_0?~:׀w~>|C&cѭ#/4^q?|)eOwa4D?cio/D!ޡt#¾@>xh_^|SuZc }f>/>5ˡ]Fh2@xm5_ XB{Miچuq>_X |Y/@G/Ο~|w,ڧy KR6w-5\y(`P@P@~!/l~2|06~;fh\y|e[ ShZ7|kL֚NJ|6|B)o= Y20|1Roi$J?+3-f?kZ^|Vwksw0iba,`z(_ 'gxcö_/ߵ_?lSJl~I>u#y{_jRZx6E߇{{}~ *?/o? ~? ~)&G h_~.>ۍG 4{n8o ΓOu^izv6at (UXE 𶭧P?i߄~߄G~> Ϗ~1_hMXhvڕ4FxS7cߴďl7h~O~ xpSQb2:ku`Z(OKY/we_ǟ /?^xw. ;urmxx2 SúFo?foj:u},|BXY$7Pz7t};U}xt,|1JU-h-:(!ٛ}7OE⿍>3?|O=ַ~#hsaKsy(M mKhZO^O\h4 ^[MďYg|uxƒ[;KFzo|Cci},`kLx</?e߆Au']mkܚVjIm 2{N*~G}[fz_a~=iY|g֢k -վ(xv/j1Zە(h| _4|ڏºޣ{J/||쥵ҵow.!ݤ Fn7R7U3+Z>=fovֵ/k:Ư|YZY/&񖫩G<+cKųj7 -~gi @5%ʿ>,߀?fo<]4;ß Y<:Z>!nZ̈́]-Hci7R= ÿ xC~)xO M-o4OQvx~K#N6Fˍ@ ( (9|#O|_߇>"BҾ"|P''t m5e|Saf1}siھ]A5qqrH> Sg# |T''m/=K}v7[3wW^(VS}:Ke#2#~̟o@{7ŝBV oK/k~R h^-B]ԮoeQI.$وP@|x#Q}g>|YjT,񦫡h ;DZukxbOx;Rt9.O{8 >xO~ĭ;Q&Qƕ'OlVxn ? Ƶ$3g i/2(zE~%Cxs !oo)Y?jG<+'%|&⟇ :?#T?2R5նdѮo5R俰[ G;1xei?<.bX~6>!5/os_qh^DL0]:m夺~~/_|DǷ0Oi?~OۧF|ӭ>࡞%Wi43\褳;? aqDG)^ vKkٛw}:]+wVuuW7} =՗=3x ID|17[5O~ t_/k6Y/W\z?o5O_4K5> wdYn6 @>G3 ~ 𿂵?ڣo n㯄:w/ |ů"q |9D" e.4c[f  ď(Eá|x3ƒ?h77_# t:4MA ~ؿKx;Ş t78mti` (Eá{3Ɠ F>a~NFeo?/ _t2s|M{$];}g?۳ +G)doįgW__~~%k  _Ig~@> ( ee_۟ؿڿg<_lD&;ߗ.hg )x,71(H?W |gYo4o"?PUoPw 6XK=}hug$%ݲ_[^Y5Ż0tC,EތR?%o|Y j?~?u_|0*j_Mwgτ215 ν|H}28?eh _^y쿳Ooy?_&0"Mw2.?/yŠa g}ѿdlA N>@ 2\Zwqa,Cڽ՜ȗv}mydM z2H/(|gS'Ǐ\M(Md|ui_u>|kCz7:^_M" 99^п(F{T߆~жkUޏ}K_}B(yJ}<Q|9OT ~(7SEhng߲ h4߅?L765{ukOzF|G_{Gg<tm/^犼u͍<5i x7^ yeS‹wgund?&15(?j^)D7]u$o kC_&#iGXcȐʗ @r;ռEZ<= wt_ xV ?"D+/Nbw~~/Cf? ]I)OMhY|a GeGug?h$~<Fn/ WL?pwxA?x{ =?iE V_Z1[y< |1qC1kmOGlu+)Bo,&U5[6\4.ܔP@P@P@P~'>kßYoa>~7έZ_ k j^4Uq_ XxL3_[APx[wA_~xOOZ - x/ImZß|~#g/O #_W_$c׿ cFޥ/Ǘ^ [Kj^$ѯ4}Q테֓@btP΀+wkq%66apC4rgtmv ey 1JX aGA{o_|iVW|GzdA֏k^ 4{Xu(-2PO?SsO|%3?25'tM7}NZeéAm%*^03@@?h~!D4!?`>P/>Y?i=s4=WO~ǁ iڗmMĶ&si?Qo?'ƭ?>.^7~L;D#Q_%υ~)šxFm?I2Cu\鷖Ul~4~_wcúû|r?>Eګ/_nOgM% ^ѤΑsxj{Ifw[? w)#ˑ |H5(H>h_c/+Z🋬gχOſh?_%ß.'~i?iM>DW!g 0ߴ+߄3u_ŵ=U)%?Z+iփ L?gL[? ?|@V[uaxzUW٭&jCP[V_gpR|(S-kߊ|k:Z9/O%ld -+Ꮚq?'ǯ~~Go.FkV7z_ٽkG_:gō'/}s+| ;/ ~eo/_t2s|M{(];}|<# ~ Eѿeo:!7ÿ|)0ПU[+No?5dkxO6?gt=;O~h»j +?_Zs پyT?L +w,:DA ~lVC_o4o"PUoPW?۳ +G)doįgW__~~%k  _Ig~@> (Pּ }O [ 5巑4п.xƺlX?i?^'}/=`o!=:HS a/߳'47sd7s DžS_Zzuox+G׍= 杦>hZrTP@oTxg(|S<~`/&?燿g GV|ox? 4 Y$:޹oZO֠ ?uk?Ũ~^=9sj35|V{F)>* -Z3l?^h?c=k+"x3F:_ٻ)>ח%QǏؓ~*-V#/'xUu[Kkf黬dI?o(4ּ ҿ'4acubGyym) K?w!/xQ5[KiSiI' c|U'o_WƯ^)<7U%iZMSòx捦Xh>'4=^Qssogo=Z-̩(Ҿ ܷ/_`' QOAïx;h\[ih.6su>͖I_paZď<񮟦|:SՀPg+[[pe{Gx3wÿK¾={ƞ 6jo? jZd.m<*@9 )xK>7U3V4Kh h~ԼYѵmKz]Sk}>ka@:( (Ɵ>Gm7Jslt}j"mBHd]2P@-|5beA{+Zk]M㯈7y 𿋵Osl>˱ݸ4-WKmmm/hm8 bYI@GI^~!Y=uK:_.Ė ԼI^i &%2|>-|Q_3W&3e,'xsĚ<2 Q>.??o E M~.Aw% )yb5Im;LԼMum%Y4kMPy73B~> j1s{GO#Kؒ+_/񍏈~ _\Wzf>3kē$:zΛyi.l_G7x?<=|>Cf+j=|=|~ύ<)_f4o[MR[[!}:¿dO>,i?PxxO>ZxeO]o|Yg|9BxF'$EK=<>~w?nڗNlRSxJ ?|wgWu R|L־"e} <9ڷ%>& Emx#QZſuo_?J?~ZW f_^07:C]kF5uo5CH{=H1 ~𷂵/ڣo|o㯄:w/|ů!q |9~D^)t/FƏjռ^GZ< {W~hSJͮ~۷ɿg6ź[/ׁ4|1ºu=[KOռs/i>/`o [:_V¦u@u ,Lkko5'?ٿ?'@W Yo?cQ?°?MF/%X7~~?3?ࢿ ?t—FJ|u U _/?ٖe>n/wݤ( B5_|d_bEgF wm|Eo?7K"2o% eা |=a iG~X7k~W7 ¶2>#xōoH>/\-մA/5ɨWsis5uPƖt)t=I<,~BO9a6᧰^m>|~>)?k~0_Kuۋe~Z'|gE?~ Quh>HurNQ-@?}('?׀jS-şڇ~ 7Z׆~>~3'GE_,/O w|=7Kf𵮇jZ.᛿x^=F۫{;ynneH-FiVXԳ3q@G~ԟA/пƧ| ~*|"==1-%W[7^oM7&l/5 BXMCPA NI7OTnBE@f8߀υ_rn_=h?_P/P!@P@P@P@P@P@P@P@P@PJFIF,,CCIX }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ???Oſ5~_牼QoftWE ~/h:7P> 3RnkIOƖpC#?eύ_5|<|><G|~la:wſkZ?M Oi^&')ZO=?@~2f=0V~?ŸOOCH6gOGeg‰<}BS_ jPh.޻atʶYqp2Ġ~˿vl?߲'so|eif?z''֞9σaŷ3S|u|Z"YCwV3G4~z]{oE='~?GO~~.(%|[h-mS_|G`#oticY\RrW˟Ə/ Oi_g?| aHtH>.~ūM}ZwiKk^'{AH `Ϲ4O7Dg?uOڦrį>rxn oDŽA޷ms{ɨj@[~ ѿd__ 4`X>f_*|4?d$x}]1x]vM&V ei:oO`?n_ɇ~?o~⧂~eK+η3je{\L%P>g =F~о6Q ig_:x6?& +,mCVzLzXk{(h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`h8/"`( nxwxoI@> ii_]{Z.a{+W/aI`9H]Abô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0tô_ؗSO0t'ILj_9bokf'뺽qs_4vS X~OWobh^3g'sg/xss~Ϟ~p5?CoKd,[ReŴ7]m1E/>~^+GaK~4G< ~͚T?fTsDүmNGk=Y!UxdaBiDljk٧XhO'+׶-G+ _oº?sh!xdgYPҟ?a ~ ߱C#| 3s=/%a _uMyjQ1hˮdeq?W_?-_wÉ>+Qy| յٯß|I궞Uo-/8&%ߴ.h_?7'eg q߶?}W7 +M#77TSxv1YVrр|%g ?<8韰<}kzV>w چ=ݪW~7 ,Yo ]x?' Hk_ŗ5M;F< kxǺQ5ͦh@ ٫?eM|ss^Mc߱s^4?DxGm}㏇ |;q6|qfnm寧IM&&o:9./ x? >u/d߀5~.>!Ӿ kO O㟃,QVk1FQǠcğO¿t~ο?<%L߳t[tz|1h>&s]P!ׯ/g$6vvf'2O&*bW`3)|]wqڀq?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?q?b_EO?ǿP'/_a>(yL~$WF׼?mhމ 4_Jm # WFVP@_MG̗T:j ( (>{"g@u@P@+WŭC_=8|m-(<G$ֺFKMGş(^26-^Iۘ[*-mr@> J|%~_M];zνO0R|\R+DO}a.wƿJ|ogdo? Ax#L|kYmZj-_9kj1xk ;" |*YN1ᾧ8_N>8|vpxZ?i=K_I[AћQew.+&P[@Mi%^F^?[[Ě%u_IPm`U @E^? 졦xW>>>4)|>? ,#R} ~'.{uxR4n#q (h|P෍<5Lx{QҾ]ZjZ?zu[ghR|C_}AjM-BU!?eOk/w> A5?>#ᯌz1?_aiM3^CwhG@9o %)iό> !>/K|Ja?m%wvxڥe=E,?`o<k6Ǿ.~|5'txFu! iW:}⏆:zeZͼ>c&&Yu/R=2x<$kN}s/b~?e_>M'V- O-]iZ%Y[,W @tP@P@|C2rfP@P@P@k~r>2'58dk=7UxuicF@Fs@^>7^>~(suOl4/#$i⟍]&~Լ3?#Xޛp|V!  1_hƫo/R|!S x72~i34_Y]B& /2~>w'ho|w|WkU}x'˟^=KZ,&XnV@e/?~wO? |o"}V t_WĿĚ-4j^ Zw-|>_C63kXc1~^jF a ,xwKoa>}3_~̞/_rO GėI߄Նo=omwoq*[(۟E٫/svC=\xc>| F`auuhJ7Q̿m? |0eC]k[k=_ ?h/i<|'<c|zErB Pпe_7H?f|zeg j?n>?x᧌!kcog[ĞwkWҢ R2q@&,ڠ ( (;_Ŀ vf,5ۏ?.־]G㕌h8s{s=ڮƫtiZ?*&Hc~kmSEfP@(^Ҵ?헊t7Y5?|K4YGxL\[mt=:Uɵy<ísI?ట=G- c Py6Gn/kUo-Ky6@3 x[?&GlZxZ|GWD{y iwЬu_EΫ]&g. Lnnb~!׵ Wź|L=V[ixH\? G66nb2 UU| WD%xG )rq {~OωeA)D`ՓLMˆcicPsX^ꚟ6P/mgccg ]]M($VF# @/Ao]b|5jwR|m?5GEg[{ug16oSuhYeKѾ*~_ R^YI" \&1HS:?3~#⧃#%jO~? bğe|9Rn_Mis?#Ya jhn<=p%84^Q?oC%H9K~ iQOە!U-Υ*ˬC|&G?ᔀ{tWa Y+k)igiWww^$ 6{(`$,*$PZtk>~!׆ħ:+8tm `Q}J[ND#΃u|`H#6d6z7𭔚OOآnP4(N|7nmf7uP6c7Ʉ<6 {¿tK??WڻǗ~%4?=k5χixII. Qx:/+m-+?S$|Q$nr, D>e*[q"O(*<xh?~ܳQk쩨ϬiVm7BR B0zሾ#Foʟ _ k#Ҽ^?k WŚ h*7o2/޷]*.uT4Mx%5]ట:ZVCob<:-uz"JҴʐ4%d,5diu_=q%u/{VX] ɺ1`48 1Ű@KC!5Fl/>-miKYtxk^0WldGU{SA9H")K Pm^~4O3.|1-{f>?]s../躲F`[[KsDH`|G??O |3s~~'[7IICAUJH?×ݦ{s,r |AhQG@¯>M ^1W/ſص4MThZz&߳BY^,e"vHB-_VOƿ|-jc I[O;/<9'?c+N]siz%ybT016 S?fou>!~ǧZ`ӎegX3"+ B\*ڏWO?οE?nYk~ [R/| xt~Q}VOo/'9ሾ#Foʟ U%El>:Y9?cۍ.Z싢Am/+,0Evz\aSfiH^|jO ]`|rd|u~o"/SNWfJcgfeRR2QN 7R=2|||IDŽ!xP<+|L>7vSEk@>,Wk)oh~_ךPgC5<_d[iSCӼ[ ˍn0㻝GŸOC #PًJ\xOuWρlI|xͬ%>Ŵ!7 /+y{y絟c; յܖMc4-q"ʥH1@n6Z'I|i:$QFs/CU_:P?टמ%lbing{kxQ*($y_>yk_߱qg6։5:B[hX8Nh}Kfg4տ୿ƛ[w_|Q|; 9+Z^M;Pؤhǘ?0:}G_>oXZhZ;u^Uh4m?OUxQĈR0?6OuXಟԺfM-j?;el֧2̅,4|[6K~ʓ$gp7Y}g-Kg nC?|L|9%kA| j)֢IM|Y3Fė7kK<2۰ Dh~"@ۺܳhGbI싨K'|@+[[IM<l[1HS:>@^? pk]@ x\σ5Aѿf X}Xot-/-.L74O& fK*}@P@P@ =|dozOk?>eqmχ*ƻi:>(| O-kĺM%[ƿj'zr[EgYꥮ7],~d?-߱OQ_e_|}|Oxp?ƛ]y_ھ^^ۭ LC|SvMQGs±|<??gZ/+k[|>?]KͩxN }z-]]ŻM2"\|=,mҿiڧOzƟ~>,C l>|]x+{xٝR o^vzV6T $|yxϊy|Ikrm Ꮞ~]i|8Y"JELp[t?Pe_?W@CZ?o~9.H_=AxkQ7kC[^{~v"@.PxG/χ]~ƿZ> xIOL.|SPPzmĸn;?i_x_?3|G7u𧄓TvG~gVO֩dXd|ZӾ;|/ψ|IwP|b|t=-wJ]}m_ gVW4ᷝlPR4OY>ۯl?~ſ^ߌ?5?&W~ֿ>|6~T|Z7x௃>Gaꚅ_<+ 7"#&^}\N/HWdҀ7˧k?ſ޶M-*^­o𿃼)}d{]Ev],Ibd?1 3X~ٞ_ _5m47v iᯇ>,g{Z7l[RoL3lUφ?aZn7oxƿ4|d/|5_wWai;sU^\KZ4%x>·/]&8̿$t? ;Vl/mCX+_k7-?C5}^OK+lCcx>uNi_tߊ<|Y;F| w~ɾ-,~^i76hZR?l߂<+O C{5 "_>G .xWh}SZneKQcFy|?#GPߌHV!K  @ g|j_~~A{M+/½GS:=$"{nēsK_x9ֿ?cOx-vƺN1D~#i(Njlލ~*iJO]sği~6gCҵ^᷃<fFԧiW{tgǾ;o?¿gė]g>_ JM]*Z>$G*hGtk%FmݰE(|=izxnMG?jxIo,%q~^~6[^,Ҽs|[7|c߅$|>kC  X.7;[!-/ %4n[MTW\WceC?n:]cR_qG|+,V\i׎ Ƞo| #7V)Yj_q_ xfVRNM{V˛}CH/.,罻KM&p8dڎ_/Q⏉ڃ|?|Q]ㄱ?i/Ꮔo.u?OÏឥo1zm$)6??7oot3em6M?OBO>S&ռ[z{ae4_nQĀ[~~9[࿅߳-U{Okao: EdW xgQеoMv叅ǎ)%Ÿ>=W4Okؾj|]pu? ;VW.wYXOE}-z׎?bh-l#g+Oo>_k<3k\7vgQm]w ~+R!s? 7=Ok|J|s&kOpOC,n'ϏſxZ¯ i)&~ .|q-w5;wyOEg}]wtFRL:n)vD^&9|@ѴI>WcgO(mBڍ 'ƺŽkQ8b8oxڽſ w}o)|kV]:*пdCVz[4jfGa?_ώ_ ho}S[;wA?u/ Cx?%?ƯxFMԭBmb+Oi43R(x |Yx.TDN:.voiY+ %'vM=l lgxo}/Isz(;N%kU"M *ɫ|R>߀i gς~;ҧЬׇM*1{}OjzͶ ռVy@՟x7Eu>]GxW #PME%=$B^W1$W=O)7Wlۏ g/j/.[ I@PZ ](ْ|y@ÿ~-?^V7}3lxT{*._QּM:C,܏ JYEiฌ[gFX^:.2hY?h*;|cwpz$~oq<>&q<=@Ž4lA~$2V;ku&ɫY{e(-s·V(x 6R lUq 8ά B k4еC?g|I]# G5;L~&?}c.{6S|/^BEoqmc1 un>Xkt~?5b|}˸P9 6#3H1V$ ?Te8Mm'JKmlGеC?g|S]EvKυ>ďk:GxpᶯK wYZt]>}8im7} B k4еCgYȠcOY_?UhoWGY<{w?g}{Ń5h~ kwN/~``o0S?h_f/X07rKuS:>Oz;/Wmv6wUYmUu ) m}.-?KƯ Ⳳr:>c氓Xc4.aK9N sk|}k_'s cX?૒FH//* _7+q B k4еC?g|]]M2|p?haL?~_|S:?g>Ƨ`m~)[h>e)^0<>Xkt~?5?}UFhL 7 `$dG-~@/* _7+q B k4࿵O(f//a';[gI# ;kxk^=z4m>-j7廹ӯY#m F B k4 <+Qi8."HGlʑc`@ T㡠?બYWÿ2$Uv~іH[,P|V?Z]?Mf_?UhoWGY?hϋ #/4׆h¯'O <)ֿWκw?݌C@GеC?g-~:gȾ?T#I 6M N7$W6\?ग़Q<>'o˗ڽQkPU廆G*!$1^:_?UhoWGYc8ho#ٟ>/3ZOᇊ5'GB+|i:^nazր>T~BVG"?NٸJѬ*ؑ6CR=E R24#$xl3r3r< r4l8hOGKw4Y2Akng! $93AK g?XZClBE?Utb@T~/OGh~!={D-Sѵ&ϪiZ-o*v${e YZio>iuV?Nٲ%*p[ZBƊ-еC?g-~@Ku~7;z]2 ;O|O?hZ_SQ =cڢ,:j:'-n=c8h8?Te6fF $_UF*A4 ]=A*.w9v~͡s[ڬ:|V?Z]?Mf_?UhoWGYc8hXkt~?5 C/P%j]cXu?'W6CM^;~3q@Ф8j~"ҭZY6 ?hR oRI 7l0h[:*%xN~^~Qğ?fh?=jp^kqj~e+ u3o ?Tgz~͞> X>t?kO> |@|SY P=O^+@iMw2Z`$MSƟ/ķ~0¾=g/}P~~> >:sj72G5/EefiY?/|Bs#?(_}#~V|3x->}&{]dwFUw>iM#UF׼s^ cw׎54%ӵWkak;(| ֚3? п?a. ǎ,#i#M'H'5˭+ߋ}o*D$LE@?x5mލ6Z=@L޽Z݋Lbt;X $'_G[|Fw_my&?|8ǎ$_aG7Y^73>[KoV:"]}; 2M@Gg i>0;%5w0x}v6رOVQ~P?R4OY>u4RŮc lOkΟi6.7w ѭD|VIewv0|s2epLj%/e?٧ķ:nq^OaokQYko%ԂS?P?#?{EDx'\5/<i:};UÖ$fkxvOTKۃbG;mů'^~gG`xŸ~8^1𞸚 zMXе}km& 1  $~-~x_? D:?l!5!@~1 1¨$@?m/KUoJǀOB4<5\7ƟY|F7]G1II1qPևL`",,o k~!{?5+m:}vQNKJAiP?S/G/fkL}@h ?[?6~9|2?ho^4NJ=wxWU<;wyoG kG?hGa(wߍϩh_/]@6~ޛmCUk[a};ԱV _nJ^5hz7cZ7I 1acUP@O pʀ?@؛zO1]=g;x$,V ԯuKGK棬jiCeS ~ ]F}Z.⫟%M[կ%֋7}~g|=[YmŸ|_s|q'xSĶVޚW˦jS[q$ (%=%z6Gş_|as}a0_%ֵ7 |iW'm>|@}ს\v-SOl_ 4QOط⥿[G~$xmVC(g<oÿe77W36s9@( (گN3 g}G]m؞-ƗOMY-u;{-BJO:t|eEF[鑺?> ~ b ^>cjmxWv,_˾Ӿ6#>x9Ok!Vqi/x3=2'~| "/uS EߊWΡ/-|} |M~Xu>(|IsOl%xb axgƝWWڷ~~w 5%f|9vQ^ Xx'֩#<[h11+@P@C&_7ujXWZ՝}G\3j4릚-?k?mh|E?;|O> B/q_gj[HlZψt{6܋gZ%g?+KIu!8d_PO(Om~&w2"I|] 'N]kI.ÿ_ ='("4' _O m \[>BѱbH`m[|E?eȾ|D_?q#Og59|oBQi8 ͜ļM?!߱+⮏^W_ eC@]k~/g[>&!p]iـ3]|7xlvXE&{H/gJ^*}|īO?x aQ3y"r_kUj,w0k_CO#?c/)Wş"ln p|KEo>2'<8WOzQ]E-I2`B} S~| u|3Դ?GΈ/`j ~8[k^'14V_uI8+M;Ob+ >I1c xcTEPq@ᏅlIli~޾#ֿi/Z]Oe|o׼7[[ /7[Xo8ef':7(Gt!<:.B{!r/c =S_i9#3@ ~d ;?aύi7QG|y 1Fv_|=# gJaqVZ^u6ZvimaaemP| %X᷂5DQP[;bJ?!wC(s@KoK_/ioGlfo12RfI߂~,o߷/c/KoGA-E,iOe[ڥj#${< GQy/ģ|s`_+m~Ȟ$7d/Dt/Sέk֩Z^iV4Tյ;ْkh#yY7< GQ<'{׉5hgjמ!7ۻ_~1$;y:_ý/W-EH58` h/$i'_麞xClW_cHuxUuh? g}D6KyiAebR!T[ 7;CWq~U?1hw5o׌|Ej|gg^:+k4_g (q;bJ?? x[H׿?n7#oS osgw}̻!za@s~%nh}/Em4ۏm[x]KVּ^<3[oÍOO׃KW_٣4pET?fյֵ/ZǍ(duOiq_QߢjyycKy$[9Gu`c_}\ib>R[jzkZW\ֵ@fY< GQy/ģ|E?a~[k.cVׇAH"FuM/P$D< ;ֿ2M*7~-M7"(揪)!|5+ki_aii⑧x'Oxzۯ]xl^4Z׋hF~wƿ ᦛG$Z,҄D|h/>j5 զW|C{[TD<.':ěiv'lOdVp@;bJ?!wC(s@< GQy/ģ'_G;`gV?mT<%V|HּUiߴ? ׿=_^i]ψ=.. pFS_o|;w'EgO?C᷀Mk{{[ ^ zrwayoq*ōn?Zw~ \$OS}[v:aOڧMY閱[=GjB(tF ^kG~-Lg^Ğ+Wįg|VO~O~8R{[Kl {'?n%xkºg6/-n5=BX Zk:%ij,;bJ?!wC(s@ P/3'O0T[2j0οP3o ~_/0Ͽv럲3W?aڱ<-o&߁Xit-.v3jKy%ܸ8[|Rr7/EbOi֑DŽH|9^ -KA)㶽[~&i;_k⯁ڗ%\xoO5"~xx;Oo|{=GƗ]El[]=/3oK}E>O3@@}/f>}hD1Ҵ# -cj$ǔ1@>"g/ cYk#_#v?5/ό5 xW. V᷄/o/nf4R]˫( h'I$SOI%s;I@K}E>O3@At}"? =+MBom]4qʰ>@4#? |⯈>0d٦_ވҴdztڎ]S?P*1i$QnAcjX~λ /WqǦh鏎5 > W?մ˭K'}7iI7>dxsƒ1@?DZ> ㎓φˆbw< ]/\мM ү5Γڕf#0ߟz/?_/4a_ihTH cI"| #ee#P_z/^~&躥 |J|!U72FLxjuֳ|j't-BX_ PgO3@@}/f>}"?bVo7cj2܍V#}t=tO5@w?1D|O[tρ? ßbZ?uٻ? Jyu|@7_;TP=_ ?z/?_/4a_ih%ƏKJdw6M4D>< oׁ,7~QiXE-jmυq# 5׈k3ԏ=_ ?z/?_/4a_ihK}E>O3@@}/f>t}!h&z^|PYڀ?_˅p": P;𾱨OY<7`|Ex~V>yocXu=GJ${;y8o3nFc%Wo? xM|')|2յ_h,~k0} gpIne ?z/?_/4a_ihK}`H:gҴaiHb?(Kj s|,ǁu S?>*Sx7HunōO3@@}/f>'DN_H5$O؟ttWG_^5S^W|q{9mg_|LMSPo-e*%@k7gWdwo7GƏ1h o&5q׉oE6L!W^@0:4-5Wŋ `c&_)ҼsֳC:,F7-MP@Y~|c,n() w.z#>'0x?/|x-o;Jվ]^E>"]+wYZ%r<ex_|3 -x_4-#ksj.oٵ5[)i y,$P_Pef쭵KmcVlvã'} |q&࿉> 7]T&跾׬:wǒ |KH_;?eůW {7wExxuUj[Pi~tkm>٦PRg%E,, 1'xd@zP> yw_hϋ/?Ľs污*I6~#iz6o|YxjDC+n P' `& cd}hih~FsLߋeW_ukM ֣5c6\,{Cw}Gυ<.C 铈^C&MmBH%)iVf!˱@'=Y?B?lp 'A'ڀ>χOo |{q :O ='j⦝c^~''_x4KM> k}>)g[F3~@|E0V'7KcOhA' cl' }@xkqt+ğ5n/[χw{Ei _¿ _g4Mq}uwW]bKx> jm,G&Yc=h>Dfo|]|F־%i>:c=Ou<&_ Rox|U7+[6s̸ EP ' nNYYO(0 ٔ{Pog__?~&>6^Om/᤾񇆼Isğ-|{x¶)gy)2DW"P@P@ JfV(fROt- q@RUо x῍9Ǻg߈M+]?xo? Ay4:+Yu x$W/heOߴ]/R5ОѧGeek[n>Zײ]^x-~1g (`o!:jjf|w%xI&\wŴK]o]#;o SGwu.nm6oVր ](ْ|y@?|3bj( ( (xHu*h (7]K (so ( (?gyxAҨ (9ȭ::Z( Y"?tP@e@5P@?E#@%P@P@s<'aFuh (0<7 Rb79ȫo7\JFIF,,CC }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( l^~4ڋ3|Cொ|I|-K |,׉ſ/B++j 7~xz_N_yxK[]bwf?>)|־?xw!Gwt[A~(ൟPQKM] xٟxO`&k|ï X}:_/&/ipagu?4O4UOg|G#ʟ|? W VRP@P@ SQ|e4"ml'1PhVxrncOEoe an?>i;|y//[xQoRt!W>~Pώ1σ/1aj#W|{k B.`GQh~4_ 4{Ot~~+|;}/^/~_|'ů \~cy\0IxJݞ'AS<7[K_o;k6Ὴ9|T ➛ {_4_0Oҏ)WIZó/WvN-_l/ռM|j3-ߊy|?ahK&[Bdu/W_WK S~߲7{׋vĿPOڧ{?ixNLzfgx_j [K.M7V-g/1]x?j($?g뿰EizbwO |g˨ĿzD>.K'~<;Gu=Eĩ|=xC>5i6*x3_Qkf6$G|6:~hଟL8 #Mּ|E|^gB2Z[ZAIC%9^L#_~Y?1ok:"x os$+;cÞ eigt%tIl@>i+xCσ_k/~>>>Kߊ >KxePSnBT֋_\iSԣ;M /g?~-h,=AvOtGSOg-GG?1m~$1UkkooCơώ%|ɚ )|XY;/eI~"R>ÿzƟw,Դ ,m~q/.7I") cgT__>%??^Ob2]=KW "}X_l( (?ȷ m{~ ?_<Ꮟ#<5~<+OiiG~мcai6)$1 @Qz߱woY o_F5W(K?ؿ;?T~; j?>U%OKd4>OK~|4] ĿٚƉ > xsMguoiG4e6Mr+ (6|iE|.g_mo5_ j &i"5-^ <= k4K?R h9cWa?|12h^(<} 7Ox^ůZDž~Zos1տ|7ɬwyzniGilQ@Ι_^%GogV"g{J/ U&Fkw.E;+ kC#ŽQ(/Cvox-e'h^!Q[[[Շ$>>yeOm6 zP@c{'_ 'ş/G_x9594cX_m{NյSVGUְ[J=ʒe˱?gLtߎuQ#!c7Wg^i~o5cְZiٯnf#Do|U?d_i)θ7Q\ڀ| Y_> ~>"'7|E(k4 E7q%o?x+◆~,a@"kMFH`x?`N+ g]eӠ ( /g7 g_74cf? %&l_d 2  ●4h;wgwLx~> Mֿg.#.o g~Ͽ~iφnK_f[Gq<:ok> 3\??sOW~3MsEOD|2 [We^%4WY<7O53iv?d(ֿwyz Xw?jmUҿY[W>!7ş!Z \i؞`W?OygjW7~" nMi|kM[@wŭ;Gty=~O#Yiy>5K|<~|7~W«x?t-'PvhlWXLXk]L<_\5I?TACimuq&6XG@súu-"ÏOki; T#⯌{|$zσgëAǁuW?~%xѦ OZi>þ.?qSCimK?Wm4^/<Ut{k_WNLmӀ>-o ?&~_#x?g|@?kc~Oڋ?'|5RĿXxWMSWZ^34$ ԟ d(~ |^|8Z8?ík?~ȇ,1Ὴ|Cx~>ߌ?ldLo.tM;S[l?d/+uzMoώ_zV*)oㆯž:xj߲ Z.g |/?|iguiJӀpg.'Ŀ%HKH| ' Zû˯(7> 0Mھ<x^Ps$`zcA/|e;Oۓ퇉WxfOv Ŧx_ơ|/k;_jJ&65Σ\Aiuw|ٛ '>#~жe_f7/MOho]>;?_gA%=3ԋ=k/p O)O{'2dnGxZV5ZF_?^xKAQ,f[h>/3Z/xR7kGM~<[ m?Pm"mCRSSq&tP Pl?,O [IcO?lxW3/tD̩iuP ʀTP{3x' 7ywum[ T~? cic{寇~|<$A:o}^;xwQ75zʀ~S~$xSx7>:ouُ/>x_owvgNKɢ \|~)਺ƿ|?6g$.[ L'$7ï|XZZ}:!>in@P@P{?1P8Id<{k:~?<1`MSmUxji+CO_/4Gc,#OVhԀfh_V_Jo~-|2WvzeϋhGj5-#^lxC|Em^*~k~GSƚOOz#hڞ5eqn6Z^ZۀwF߳ 7<7zV>xʼn}>"!x5;Ym͕"x=Ԁ4|3K?|`G[Et|J߅ Kwij h~"F:pBY[$5ӝ+(揀Qo3a,F~6ᯁ~9K% /W^'d."g#a&:߶m~0%Տ9x/MoD5ϋ'xš? x79Z70$0i^Wvxx C|:gxeqyEO_A6bh7?OJN`4;j:㦝ko5 G-|Wǁh>/~:jI~ P.|\ys⨭|ke-q kwv 1 o_7O>*x|e~'|%/v>|so&xWX^3S4-oGЭMvI[<ހa;~"x?~?}MowW_|>:|? h+ֵopFik| @4C<6k٧[iX=v7SՓ@uEg♟šFȶP\߈!(Bcf~zo[6j"墟|l~9/־0xC=׾pxK:(WV#c Hԛm-o㋏W|du~ AXib#]&op꺥f:B\")_w/д/(?kكFō/"~>)Ӵ/~!Ѽ"u߇ߋ!eW=?KV%7ۼFwh~v ߎߵgW./v]oþk7)]Cc$d~5ִQ.๐/W> }/ž? AxO/_*{zg }P[?.m-.=R?M]+{zn~4X]CFjҭ!? xG.|AşOo_E_ğ \x0? ,<>x6W&Dʵ/8U_?;ς|POE9( '_ׇ-* .>(Cσ_(xO<5'] 5Nkkq4R"}@~q_V/??/&}@P@~Z?j+ps/~Ͼ0n _W>=ſ/6Q\K)&1®N~9꿴ݮ3Oy㯎.ui>-WFԛz zgxnѴ$xV??nugh &''~' :7ػo 3O-n[^41C2%O'E&g [t_L|>u ⤟>x;vGêsOS\ NEծ"ï vg-KTtw^7-g esѤkS7CEI[Ӓݗ[H=#^}<g7Oگ>xB?l[OǦ|7uHcIյΛ=3}_؋Ga/_ k xÞ&kO!Z~vEj6^=猯=/R}Sm\~o kёxA VG|)Hi~k"|a7~4?gs}~-?Z\¾:Ҿ(vikgB~[K',?j?KoޯOմ/3ۅo߉ ii~8}ƛi&=.(??~.>8~;~%h~>!i?Ǟq?i?c'"-N_<a mJn;+$?-SO>=7ewwoo?g/>%~|j3QqI/Hs+G:e惨׶qMhB/X3o'>9?__xɾ[6|Ji]_W ?woZ  \$hnn#y>1k~?dۯ_d? Ψ߶>:26kM/v>O(c4ߎg/i߷_g`mO EhuY|URs;˧\!ωÿĿ |2Gڏg~{׆ ~.CCGůh? |v|iiIͷv'RB sqī:w|^|z5ω~#"|/Ҿ jZ6w:Ρ}/-&_ܧgү5;h*>~ gW'g=fO 2?kw⧀y?Ɵ 3V]՝OXD>%=_|#W/:׆>|iNq?ۗGό~$F~ߴ/Żh.FcQsyuOW ڇgߵӼ'odž?c/ ~Z~ϟ\AmVQqi=O~-#)/~e4 ׇg_R[xB7ďQhG6'OS|_+G2f3ZaŖ |]'P}oasYhZjo{N(?Iud/iK_**R-5oN橠1/;'n4jJuhFi?Tlb43g|6|AvO>WG[h #㇈7i6-.fMV)l ho&]Agn?gZO_⯃:/_5:'ʼn53ٴabyM~|RO㏁5߅|?ٟ:|@'5?Z7|Y$v P@P@/)0|{_t_X#x ( ( ( ( (O ??'th3_=euI'-] _ x.D5[ mNz[xz].&KٜEOu~wK:_|!'76Zx⎧B> Xk{vjYH+ t֟? k"π?v /5|=Q[^?-7oҢ>'}j_[sit@?~~)j_kO?63R?cOY?|A߰x~K_[T]1Z٣>r_T]C_~?q3_-?<&W  />.m/엓Kji? ( !nI(>2P@P@P@P@P@*_\V X=mƿ߁'pwۛ5q do,ߋ}^_ju,9Ÿ . [~_o-;~| G gOET%تP'ލWj ?8ҿh{x;fǻOv?<]jvgk#u(nED.N+ g]eӠ (?_ۇRa$(i8|G@@|A5gx%m؃gc=gQ犼'|k:=͞xBẲ+[X]U~޿?e/Ï_cZ߀._>$2SҼ7^qxZg%h (AԠ ( ( ( ( Wÿ 7ĝwL<~-߾Q?>i?x}UGĺ(/![@oukkJ>mÏ=|%Jf\y N_?? z _|RO㏎?_NMvwƿ|@*S-{YVU@Yd7|% <|@[ϋ_5w`Ь|_`|Yl_̕Wd('ojt/^0NO&Fߏ]Js?jv_? n?_kDiw2i,6hÀ}@ Ig?]PYpb?  (ـ~ο޿_L!? ( ( ( (W /jxF[O3M:Lt|4O@1oZG=jx#OEt@?`q+~~;_FK G)33?o.|/.n]k5 [$KSgo~k~xo7"]ß75|(>SG[⇍uo ڒɩqg -}hh◌E'iٟ ~_ 4Ɵ]aj%eoe{&u=;}o9|e/ਾ.gA [KRY`e94_CĿ ?쬣mv' ( ='uoOXP(I?>bk/:_/_ jk>|J|RNOƿ,MYKu^K4X H̠d,/6K~5~ωciۧ|Y5ΩoXyw{iWVҽnS =Zހ? ( ( ( (?*ڣ4 i\V~x\g_+\|)w=O|J|?oZwټqwYk{;m8[Dh< izׂt hXx#CԼ-Þ!waȞ*V,]I џ3k_\Z IP${XO|yG)M?OV<_H"eSX3L6; ^W|$l?(ώA7[o|[M.xj]j 6|~mV~g|{_ x%<O,w|'#<+=:X|5H|?Y^-մ,N&RO8oآ?Nt?R7_?Izoo@,?+){d'P@P@P@P@w9xx?ğ_o : >)'~~ў <'ki,t~{}fp+YǞ"qsxžI#' Q5a&yK"Mw>w5_ t߅/ cO >0|2۲N棲V=؂٫0~~]'~|K :K?&}?I  JbҴ+i㶷lp7~z_ j$Y@kZF}'"O k~6V{K_hyM<@dOfYpPCP${XO¿~*T,>Suh ;(iـ~οh&RO8آ?Nt?R7_?Izoo@,YXߌ>?/վ%|-~;ҴM{+? ~3|8_V5ԗ~YA3$h߷.hcxk㧂d  OٿY;ӴacxZׇ|aH+6[ i-]8xX?':AMxQwƿړ_J%1]?&HA;mb jSQ@P@~x 7Ÿ*|?c_0|^)xvu|⿄2<5l_Oދ)u +ORF=@¿/_ti> ƿi~,Ӭ|UW⧂_x{O-E,vb]bd #{yŏ^_ƿZ" ?/%5G| Ú<]cxwOAdxH-Ǘ?7_(]RxIo7IxU𯁼W/]-is?iZxPq]P@7x+C~fVsǖ'W&MV8muh"汭j3F4>c?ois-.73tAlmtDl-t#IlK{-;Llb5H8Bb?)?j*T_⏅Z_;3~?Ûַۧ=_ _ޝ I|$vqپ;@%w5߈,~ jg??>;4 oO@*S4YwUF|Z|S~;Ko')>E]  uox"𯆼XO AIerh#JH,o??9NU%D~z7$;_ԿeҴoiU߾w;* o>,5k+c\h#Y\ouox^,SUxWƚ4xY_j_Y ]/g-t[w{; Zkg_oA7']G׈cڟz/ xZ4>+y,IRK#x??*1z~?|!oOᆿj> jV?bO PY<ԉo7hr@?5'v~ ~ؿo?k|Rм5|@w5<'k? fx~> NoYOx9"y?W`(7oٯy~ϟo:كrw]g #QԾ23/uwz_졨i9!dMPM+EY#0/U?~0|+Oø?o;ZտfwI~k6U}ύX&S}o 8oS0/>ik/4ֵm"ZMBz}rySp_ >0|W|E #{|R4uH?>~_OƿZڵL_}O#^^\] }?mX[O'V_j>,]g~~f-vLo09 S  w#)DD?#?ھ?|>= ?]ai_ k _~~1m9*nXZXOl!I$@ƿ _~5?o_dۇoK㿌?,ucO# H?;7j/e԰sh@~ٟWO߳?/hٵ O //?gH&,i~>VӦU4$ -e|u~۾ nҿSV~?6__-_⿏>.~^=tվEj>#& !Lo9i`Y@?]&wA O3G_Q#!k9 O ׈?_n'GxW_UtLJ{WFcDp~οNoT7ހ> ?iO[ >| f7 to&W GM3n/]ꟲx!>%x{Q5>8jVK;`?~3~OH\??<3/ _,>;AHРoZ[]E.o2ٙd%h q> |LÿX}υuox7@5s_/sCί_ ⋽'mjOl^{wdu?,'EhE_ ]R G4/Z--NHg/i#{O'BmoJP@?h}>0oA>Ak7:~߲A4?m ïM "sA۾6n&=;X)hgOMEuFxG }Iz)_ٯ5o?ৃO]i*Լ+z/|=xGҴ-"F IrA @= <+SƟ׎CxW0k_ o]ivwOd7Vs}X+9.Fmg+NmpP@?_ixO|T??ৈt9+g_>4|uCFJWҚz\[Mmi`An\ItP@??৅~/Z/jZFwq[:Q_߉_i+FO>6Z14/s W\$3yS~ʿ5ڿ>8xO ^|d?Ӯt5{XGOcxta I2hGFCCkz_?e?'ŏ C/ A|@ UxC:| ҴKOjKHT3!p?a|,a_HjS~ÚQ[][B4v~%> OeGBwPI,7q~P=__B~-q@7+_id?G)?gſKÞ /'K |u>1gf[Ag/ uſ?iߌ_f;ǩR"AX\i msKM] xٟxO`&k|ï X}:_/&/ipM|OeoO&2_Yc㏈<;ikuk[4s%P@P@P@P@Por~5-WJKxcgk5Kᗅ?%K^OmtoxR*~>-mGP'Ó`ujRMgd#mO<isǿ[>دxC:xķ*]o3~ ߊ^%&ʶg|ac_گſ`n$?k(.ោOiq[H[ۨ!-%ŵocA λ/7ПKߏڟ^tQx_¶Z]M xZO x0X[Z gzT~mW>0@_^>5;#PѵxS΢QRMax_vZ]Ѯogym(c _; x[SIxZOxJM6[5S4?B_h?|K\xHufZֺ`(w )ॾ-?f[A>|0-}g:]_{\;ס[I~%|QNh(2Ѵ>]FNM!{q%0%1x/|3,eߋ|Wuaol5msL:ζ4M;U|;˩j/Hm`T'hoۏEПUqq~5Kogf?_Ή_[?_|TȾ,M/c)&?:sEվ)i+n};Wu^ ׉!Mѵs{*J{I5fQ /)GW׾)[x>3T?Rω x3Ba9m|ޛX+o ;d7^i']ǟT S]ٸ?hPx-/g|c蚇>ɥh5ࣥk9l@BԵ 36}xmMa?]A>jH?s9z|(f?(pJHh>4xþᏉx4^ÿP%Go|6W)6Vw:e춒$W}-֟w>~!`xĞ|Mu5oxWHu @n6FHQUmqԿh~7j)iߵ\?g=GP{[~kZw5~>ֵϢ_ j }xoLvH_>X{<}G|I;S/7v4_&%Цm֫.{j/se<:P@PY9dg.^.i ko1>x{]eŚ?5N? #~mOU%$!w|%|xqMtٓ/?O_r?i~ȟ5>|Ykt=cǿ'|Qo麖i3x7%׶Z}w6K2~-~<'t_U,xOZƭ+Z cĿP| u/|i^l&KKK׿C}| wOR4OKmNŷ35\{Bfznէ- )ހ?3?o*Wo'xωt{/ko W\G?~i^(w!|M#Ǻvo(.LbKi@?9i_!o?jO;'W |{x+|[?=OlGYRuox?W*|Y'~_ JmuO9{?mCcɹѮb~ l˻?gFo[#mx(ƫak/j^9{~zCjVZ tB-KWǻtE_>|sj&Ѯu-ɍyS0u; IOZ>1C]NSSV~./ >?fҼm?%CGsv6?g M}/?Wg~K5k|M/_,м7J{iG"O|Etuoװ[+)G{]_7)in>#x?;B<+S[֮5kksO:Z4DI@?:i'O)r~_=WxOK?>)>~h!Q<>r3u[EgoCc{s3E ~ < ǫj>3&oxS^']W)oo?YnaFcknJA 0@=6?0U/?fOKׅh| |]#;;?h_Hmkj'gWDYhZiC`߳n/~Ο `ԼW|/{Ö_էąşv~7><>& ӵXc[1 YYYiv~ikaacoVvv" 6ơQBZ ( W~WOOύ<῀-_okzw?o Osυ*míKV$~}3[߲O+KI(+?ګ\<ko n5 |2/m.4价-O< ^=;> OtOKz=Zi>φmAHK];IҬ5"@@ֳsGռCj6zFiγjka:]ڎ}s+,VvVp<*"N?jOjOG'g/~)nٲwW_7][wO>+uB|M][No u7O Wǭo4@:? oFk|i!5/ i>(-=6W!  |"o_Ϋ㿊oW,>u/'xGZ? Ksܶo{:Mhad75eeᯄ ,χl?C ~/xMR[uotR8lb'¯؏Lů_|_x~$Z#|:Q]h C^?#s-/F 7W2}@T|8k|ROď8u72WcxoXk/ ag? ^;5>7w|c4c-~Ğ<s>?|"[\iji#'i+m?cϋ>/&׮5 +>ǂ,̖cKOo/|Eo}RuR/.]c]5gĞ*>]jZ{4׺w=ď4֨gT|Xo~ξ,f?τ~:=_OO<O??ڎ[ J5so:M4{+&l7Syw~W?f?~߰*~mc^'O ¼ޏWN,ft5i$.|aY[O |.kᩴ;m6l?"!|%/[![>eګ6AwP@?O?տc-"X,|Nt|yRF=x@5;k[뫄Yn?UM{*z A7/hA׋n5fZ'/٣0<o/-u8gYŠKr< #5;O-X|Uφ ׎(kߠ w? ?h|>?/IŸ< 'X;?>4)a+_%\?Qx.Ouuw ϣh?t=Nh|F 'F4K+; (Qn$4S>)ρ3x/!=SKAĶmLO'W~/_?ix?  JMOϋdo|9O uzU~Y42$>~?j٣H_wπ?|S;[ ַˤiSk7voYXyPF>?nůg1<ѿdSը3GO4Z_\ZxZStL ֏+k?OB:x g5kwonn?x <+;jiFgkljZͽ׈5IA׼G ePyn'-$0x:^gac.GAPӬe.!o-\[,϶(uU?m/('>GIg9>y_N:|OEԴWVRi-k8ѿGEo.~:0u] +Ww ߌzu/^%o iW5x|#νbTDm5FUUPUT`__oށxhs@Mcž.g>4cIuM_$A%mxw?9h׃&_}2յ 6Pi$7+ []KQ?ׇak|Ox ^k |Cyt㯆M|IhVkag>W/(Ž >>0)iWž1[ G_"Ŀ|)i'{˯\x/u߼0^iT@Bjx?m|uW.hϏí x~:"Oi sN?NtOcњR:G4]7A\{ߛ *7˳̚V,&:/ -!&cLԴMv~$~nS^74^]7R[:Mr|̣r0+W>9|>7o?tߴ_ PG~ė _PVs[O3p(84Q"(c(Ph*"(P<^A |Q[ ~+[EiWg Kߋ"[I{J_{ OEXl{@N?O4?Foig>"u/?uD΃oG|@]Z%{s}4I@ҪdG4rC4i43#,Rȥ9WGRAA#-bխ %#Gto~|ٻ@P@P@P@P@P@PJFIF++C   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((X" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(=k6&bnol {x-,s+nnj:|Zwp{ZIneuv<G|]eᗷKk˩%Gq&7ۘ|'ֿմ;LmKQUU5 @\IP 4  %4d@]f¨$+şcéjg5 `7o&`ȱpÕ$s]hzrdhɝP XHW |*#,ڹXy\Db<`A=cC0 7@EpO«J%as`Aϓ?YUzqew.ueZ FA{@EyZu}占-qqo "!p9M}cZ}ΫkmjijȐeWc@=C/ _?. L8Ngv'TI' ڛw6 o߫!+X/Rq@||k #hF*}*GPG-?u+5ӯu+W[,5Ҝb07r>^;3JD}SSGV/# p7D9R@#4#ggZ M*W u;V"p(O%yn5dXi$-_ V?! 1FqX? fs:4x[{}TgH̯y3*b"@=9/ sڴ,˴/ bHJEunDu%l{ل@vi}vz.ki6=bX]x!v 29( (<⏆S@Ҵ;ne"Jdž3]k6my%q ֯29~B_}30A} 5ğgEa ʍ+ar6ukKZԬVp5  ǵd2᷄{I%V,9 f'I$k! h_#gO&lp=T2 )#"ottW yS¶.{6nP2͡!RaqVǮ:VD['d%^7b4WYbUjͳo ,:=7>(Mf .zjBSjwbCo^Is]؈,@N*mGtƸ]KP,݂.4{D@m R3@Ey{yw)p[r;g 'zU-BowE~z16?+tph~? OfYS4pʲiII0>N0qh2s -cMF5KZ(үu+啠kCȫ+ =(85tFL@ w4>ՌJo/M\c؎@Ey_ؤ{_[AZFH@*Nb!\ZφʑA6W`1f'"J +;@֬8^+LBmD/ucٷau#T(9Guu Я&GKgmQ7Y`(!=}+m;DŽ8Mo#$'/$lJrA# ^Y 8& 7]mK-bC$IDP2XcvWj?鷲ZqAq]"*b~5r5.}KOԮrVk4k"  '^yeFMJ<ևuΑyD>adV[z]̑Aìx:dL%p(8$8Hz+_)[_iR^gs%y"'sp}(^e` *F5¶ǹM#%^+Eg egߑ\ƀ9xJIJy5xɶplO>Aʜ cQTP O^&t,$c1o-ŲieRnb;ZF[^M* Rrs3D6ZMaMc2}X6˳7"FI״̜ĺ? "%z>1{Lt~F?mC-VТ[٦aʧ|Āj_kRv@9 jC?"xs)kQS[%jO:\̞fSn9D6 /H?Vr$S|nKNj `L$AJ\zd:nQ|C˥WN6 fY+2^ |ga'~G%~SWGPכ|NB'x?;zUx}-L\j]$~t?YiiZ_5`eBBv"g{6ᛛM;Q(/#m#;[ROJ~*kRin-.JI#nr;U/NW:]6 cR{X(UfEw;)=s_!|w$ZVI?Bů%~25z'($C$lm&{+ľ'iٴfm-.b 2{ I|`+>5 سA덧q_H6woZ蕯cͷal4ۿ5-RS{|2' l2ns>.mLdy쬡vLfD H8Ƞ Z( +ˤ߈ M Gi[H7:zs,V[Ahh$X$ .!fVh9Rȇ:J-tGIhm./毙ȗۜ޺z]V֦Crwso+튳!Y?h.Z[Pw]?C`mRONE:FEc0`^FZO_fi5iG4~T\[l]7#. {mkP|c~-Z7#fdLOpv7//#]{8,|L'E"22?t [xjV:=ψ "p΁RG|9{5O>ommzu",dBx2{Z; kHKXq€*~><4k0A ]MCFҭ."2krwcECskg3D͑Si@|BK{_'&6VKno2L PxUoHݓmjZ+h)r- @Us—Mփ:Iwyst P*a~J𯀋"~'He[0%#Wx3V:ݞ#^$ %f|%@_XkȓIo6G;؆FdƸ|]n$ڲHx+mlcWĂ?2 ;ptK[so^Rc8`pMZ%kg3Goĥ~(l'm>Xdij2Iؿ)#Osu⚞`gJK4vTI# hBz,z!\[ 7;ʘ7D0 W x@^j 3Zc%a+gSXj?/g]ȂIm$BTC 2:[Əq:p^Z&EeK8<{WqB2i5FK9$zcxn~.kiqrҧ!dP?hh韇ֶYd2}F20q=9 4<4ŭ'#_\ĪX|w=zQ1q"/T`@Xceoii5$s+寍}Y_)lďH-$z+W|sst)7vOnܾ99:@X?_ua'~G%~a&Цu Γ'+o#(DDpF0z~'?MM^'**(9O_Je`k?o iOWן!뜟~ %X#Nj_*Eύ__d!H&S[ibtm Yn?v1Ӿk5u B}hŨWD&3 H%AgE||۽Mm{Ya͜ t8˃5:֓fSDYjG-+cOJ<'$Ff%}O5{,?i袊+o۟+{+j mefg_s@Ï'UZj!"zJ#G/K|mۿb݌gMyHB?d~GbZk@'k?d4xƲ+)t0k_׼ axКaxК( cCuk:]"$.]8]"AqơU pb<^mşozOE$+Ko)7?Azv((+ۗCtGYB%nr2q:ҽCb.O0xŷ| >4T}6k,s5S$pFFߜ]xCNHm s8?kBNIJ '?MM^'**OSW~I-7=(SD=|OBZ_sBů%~25z'(I|`+>5c1$ bsW.L.z?v_cgoqۊ (<_ĺn'K m)"Zsj Qnqϲ\JI4Fj8'r~W)o:QkV ~vR` aOGf-w[4,9H4_*;}^y෍FۡA}+m7F[cPf%bB$ <=ᝠ5jL[.Qj<_52F?1%]8ahV'G"hj d[zNCivP"qg?c|'YY脮 ( ( ( M\OO J7G"ad@$W{A5}s\~Ws[L6R]*K.ऑ]}QEQEy_E$+Ko)7?AzKV,u>[ Z\y\F$GeOS@މԙ4 "MI2- r: &5(_zDڽƁtѼ$^qpcdqzUM5%o1p!InڼCkI3o!iM( Fce{o]Qm8峻6ڣ2FFNq[hֺ݄!1TrnO$5[6i)oj:f9ǽs7^#b5̤AO4.W-'oZ=ZV(?)G@û=SUwoyi.'H 0ppAQ]r~ E:H*f<%uo,6Oqa$^E<2DHuq*G b:+珄^"om6h=,m!lO#5|UvgP6GlcA"lf(^FFFy+<+'ž ͖e%6jdh(,†}vVg.Mv4GvxcE$m_R B/(Q^ax7>)Kmc]泶esa5ňjze֤`gk9ɴv_T0ktfKQ^UEo[M|gO*R[a*Io=B<]}cM4ӭAi2f&#'jmNx'{4W7V6VϪRBf[,\# 69L m=Vh[H6-{Hi%"Uʇf6Ex/6u TF|mlˆw`u/)`#*ߐ6eC#| {K&ag&^."&?441P$x۲'7`m,g+&󣌖`MSWx_}V$`K$"`0J×QA៊5k\Mi/Vy@+[持cL QExި?Ɔ0q/Φ0ND(Fs9lWjqŚPD 7"޼5=Vڏod<14L`zzGxw`sW13}U_*;ۏWTQE^0$gaMSlh&'(XV1'$n:VյoA0P,mS9az\5Ii{RRXF[vOWXpa$=~`pIzݴZ!XPF <G##i6;II)b<*yVc.F.z0Ǩkw:I_-ϐꍿd 0Nfž?--VX,gW}nɵJpxC_5l>ץ7rđ_ͷA 2` Q^17ƻ <4"8by ܱ$6竁u>-և[AmfsKy(Xrq0#w<1hm&aג"BeԊĠʀ9 L}XymZ& C͞)ǘDd"*w$_ @ًmHD$5*|Oզɢ)$<ոhŒo)9 Ey4?V/-\\lG>V#Nž@NxA[Jҭ 0ycZe7*A`Wx^.[G&k +Ȼ`2'p7*rxEz~%tVSMj:2)RS˘/'#0 =B((Xy5M D# p=9"T|#cr.~̶1ۼ`䟢/;/_KഛRH]F3yYA 036k-L+8&v= y֯iVZuOwkccz"ēO+!\"fیY-z ho3 +268RW{ӏ,^L61fpX1v`9[v[Eok pġ#5 @wy.5/˩GgxyG7g>r0zwt%WB櫫L4jp\Fl#3kZuOMⴼiV @  ;=Ե;vҧYH+(<]<b͹+ H$q\Wτ nwVԥkI⸺exDW4gq8|ϴ#I *Kqf8`AXGPA$ʼO6m.U[wjLZ~>q-*e1TU>_-/ ZB^3K1n0 x7K݈. 6sGq*}+n#v\g @zW ؋nݖ6$JU2SmV9RB?}%0d%Přv RBsòKEljӴb^Y"ϔK02#To>kT[$SY^;kA %ӕ2riz5HXTqsU Qpm\QBDb|g#.+Uנuh$Dyeev\W5}m=TI/ʎ٘&~r16u6n⻅Y(SbQN03Zc0y˪u܁Jz2}$V]4hE}{bmʖXqÔxטcӣ ^`(uODQNA#^m2[J\rFB[p+$SAζ͸ Fۅb;O~np( CO)J ~j|%^tq楱fxf\8 .A KO+u8Y-d (c*Xq9J~%YiZٮm-F ԍqe޸GnW>}ku~Dl],%U`p@⤵x59Du֦o3rh I H<@ tW\i,[Axndylcxܫ>yԝ>k,&6>a! ? GqmriZȈf`gid3ڡvT<o-Fn!2**L3(z)KR#v8>P#|?ӴB+׽`'a#)szVG iDc$ X+N,O$j ,kh6-ZǩZt+*Go<@;;!@⽳T +avv$k&' ##Z:𹱆r[K?̘̀T8 +zݮ.G '$Ԋ>)#S4j da{>[v5|;u 7H0XcRK>Li.>cVr@+XpdO΀;**asm}k4X'|s+  REV!2p}[7?_*EXV1 ?jIAhTjiıy6۸xP@Ҩt𗆵u<$)iqyˇ?dFfԴXOR>sLִ[.Y/䶘+`u*= w j.5 w-6v  Ŭ+53d ?{ǨgZ6UETɝ `9=3ր:zW.L.z?izRH..#hC%HQI#. W.L.z?v_cgoqۊ (<{N5[!43'jJN>#K*'Qх]YV5”8Hz5,Vi1E8ez"[--<d9߄K<`k?[=+Úf0ƈYֱ,oBV߈45R/DV$B d_|N M6m̳n=e'#'E'4!};fPbDʠ쐬2{\Wx_GW̟SMRͬKQnڊs=/]׮gHr̉f]0Tasm>eݵ`kŚ9a_< 0?62r^k4߆~.`ё.̈́b)]UT0FAȫ'fԧPF|טJdUIU8 &/t_uWT;'Da/qeU8# 9- >~vԍźy 9ݽH)6i2HB߻qަM3@XEΰ\ZmcHU\>uOpݻRZM;E>(qMܮR95VeQ@lFj)|kFkg.X>ElZwztz2X1Zj^5WYM _6d|ҵ \.e.m7ʣ'GZߎ')}f=Dك8+*C3GC2@dGǏ%8XZ/okcgi S,_k[Zue8$,@rx>ǹQ@)uJ(.uVid-5eb GNm5-""M?"X;vwPi_I徛T7`v I1Hu&00V.zm޵di%lG&Dܣ&68‘tP^񶑥A#Fb;JTpOCt㱪hZ0\Ē4 /rG23^Eyxkk>[8MHS A\Ӟ՛/'h]ju 5yEq [8 ([Oi/j<Ky O@yzI %б F }8rXUy&V#q b*BQ@tڏD5Тabng~sEwPYHmc$b9YcvEo_lօPu[m9UK1ۣ!@8E(լaIf *"4fo+ԤfӖmB@q yx&>ȿk]AmGID[v :dצꚂd)"2 |9=sqᎥapi`B,Q$g+g ZK[ڂiڤ1k)7h@c9zeNɭf:En:zfvCU5`I%ei?-RHk&ƗPa BAcsƭ*X]4;ҰY79Bٓ#bYj?.![<[$QʅA"IT{qZpOmUXP)&V" T7vڡyPHGŸY%ivOl!C!D^8b ҽB^Os 6"Wd'vPAs4o⋝WYY]vْict]Ad+ǃ,b b`3X+s4NKSOQC;ۉal\o~)[i~\2_H!wkT2J$MspGOHXb}A~,oj!kλfs:UKgNlk(omK8'zpqZKh"ST+hA Pr[/i_ ?,o Bk~c{M8&&]11c A?U?&9c-hN~UNFxb" # ~11a~'8t$TI7RVriwỏNDM#d*v m>'Z[^\*2>ғP1RBG1>ImvOi4R*yeO($.H p)SY{.+۫2d2#w"ɪxV[Z[Ս"@[BdGU@ k( ^iX)K OH {e}  6Cȹ us]UnḐb Ȉ'# s:ցy2ZSmZtBE?۲ɒF E_"õ^jjiiv'cIan3Cxm1qqڹ rAv=^O- K{T Exuߊ>$ǥi,OM,<9C#meIّвkku߉4(o: +7gfW*"spf@8z(-W&{ٴsqoGa+Iʬ۞PrNJXiao Ȏ75맙lT&tR =ú, Cz$i9yJƢ?|Y 2o]jz4noշ6[<+8SڽN[k)ZG!]8.K9YG?.GCP'hͦtבO".K׈<#BA `٠QbIO/7v3(>A<_6(iy7ڊ4RUrOTY gN~RXsǭqzS״|=ݒC=˛cm@fm[S𵶵l2UA# {("Mf=Dsٓ8+OsyFk(oU#"F[i Ѹ+(((((((((4I<2E*E(zF@x)mmn%_>$s](Ɨx;]w Ӫ#89c'l ֥@MT߬Sڈ&q}+5bAn5-Zmt0'9'W9/GͦiTlbEusS4^Oig5=R+A򠑢^1!գ![>*xD[lt>kMpCzY]۾M)=K͖M~}dA]gǖ*r6j(W|c ߛXn.c}gi!IOqEuTQET7ZMkud1ȍєTP7|1Y*hv!li`_/v $砮(e3:|(#Q!ުx#C'i^״᠚8^H!$8 zhv Ȳ#`xnbɣ>dO d4HXeݧ4QYaqCw R^X[rd+taQQxTѤ}+M")d؀]] cp(^| ԾV9p$)He r3]֟yam{g'mq + wEA>-罟WXX >bN0rzV5Y㔠A2n>GhZ(((v_nUh\ ynimIT@h;YnnXKU$ />#֣; Ƒt@]s";(6+ HCJ@#fW`$zM7P]ھyYclXdGfx6庚9%U,dv922@P|;Zzye፧vPrnG_mZ*&e7yHN1c-n +׎u{QǵEE ddʤT]Wk8t(dy`K眙CG12^(%Ihtn#"Eq?Kh:Kxj澺73T%@ Ys]5Yt7U&r#Bz 4Egxm3Dnn41,Mǁ ~=O%/4/ O^=fQ L$PF@ 2=@Wj>Ѽ[閞]uKkPwq@E2hHQ2c @(ojwZ?/$ nD?zECʏ`屁l@6ɪǚ֑ޤ{YFS)E?Lo^ی׺e*Gxc!KGXvA;Vi:> Z2d)3c''5|Au.èȤFI;f0n^H0p#߉Z^\YD^TFܻ%C)drN3Gm> +B q$ s(]Ƭ7yz/?{=WkY庋OhQyߗ,PqN;WxĖ>TجH7\Œx1|uDkT.-l,lYݑҮ˂s964-: 0V:wnle #ϳ^;MN主EKx)uNC 4 ]6eP;H4 圀1I$4:E"a@2K1I'Ӛ__Nų=HZ^GY$hLaѹ[b s/4R+aW#ec|;47ZVJgc9 [(8N8,ZPxQי(aGbPC qk,-]6O"YD$oF##y+umJ崲PȢ]NNRG2FU@aN=+x+}k7s[j[%pC\۟o d~}7ÚI'eYEvhP? M>q}(2> rOڕ|Mh~5ІYR$"2 r ɠ uOҮ^4xd|Jmd,wgr0v𭟇칼/5,h0I-+P#]^2$s_L*pc78ɯ7>ZTeHM r0#c HQ@/$JͰk@ZˑW?f`A@_|-]xSҍӵx_S6`s?| ΉŨƿitRclD`^@uM9yREܢ/8ąC98'^?QMz 7Te[uA4!a)p1z?)"k|?e%k^EeC&~Y;Uzzl6:z2 ],@d9x_K]?Cq sՉMkEQEQE|M<;᷻GXyb8H`69ںGUtdu 0T(*ƶI:CYy h4#ee0\ ݞF6ױg CaomZ;Bssd2qW7KƊm!M&dK팞N:8f6 xc$nrIF{9iY c^}+!;":YOcy7(%JF6KsWD,KՔqmun&kz5imAi p@ hW9O]6ώ(MwX#PO=+&fWe9_,Al̊ 򤑐eƥũhr\!kݏq>k!e-Isqs9F/$,IPxn nkp7HgW|D R,MNHo"e اVe'>\V] V&auf\eDkV|=ry83᷃#4 oOM?_6VNA@ JM;Q%5[Eylmc4 w8f,xv7S~l|(Ǘ7N1xHk~l=p- iHM[+m'K?k)mMUA!laQ}%#Ak Hy>@ە fVP^aSW-y vvcUUY'絺r ydS}+x_f> [-"#y2KQ^No趑ZXۮp=O&i6}[ڠXש'=ُv=I^haɱb=NԊ5z^'U`Ь~Ȑ_gf \3ysٳ1Wr ׁR"KG"+ PEax_zWahDFd!̎Ah8Ǒ t,1IPdsEĤ69 q+ī;>;(LVKXAkXTəAIe;N+ >l$Yܬ/ݑ}qx# Ɲk2Z\qhYFEލv>;H4ȣt+Q/m,0Vyd$G,KuG]jwJMEنg1r}bqyw4x׺֢$ƱC+:[I1܌09u,VmZKWF?Ѥ6 qd$W| X"[ ܬ ğOz*ێ4 @Ӵ4g8#9$ke|StGifxnS3:`m`rAhokğeᶷ%I2FTB2 FBԧUY@TSB( 'OxB|k)G;iBFU4Zޡ Bki:~XgUob2v'4TAa<;4xCsaDi[Ƀˏ ICc k*2 H.0;Apl1=k((((4m?Ğ'WXy1&aQ7qz]TwGs :5%~cn(wgc#,ؖf=95EQEQE\s9.`O.M' Z2)% d%{2-B=SRpgG3sy&(i6YIcqqC/ 2¼F]^k1jZ+5* K"ƮAѳH%{5QEQEQEQEQEQEcIcxUxeaA8› xmkO1+;آ+1,(IǤ@fjOi-ֳ$r8`G Ӣia*n%ьiQ@Q@ytדKwEu[ɲM|m;Ow>Ey&]=K-Cm߸%WI=01^%֟so m,2$$`0jg­Vegn- #!fdbXnS#W^EQEQEQEQEQEQEWFKxXRtc6̐DDpxaX2яLb*995ݼWV 7#cGJѴk Om Yf,ı%I9$օPEPEPΗV-JPlEnԴ*U] XGӭt}*NYİ€jn(g χoG*$@9,-'|7x2R.Vxl ;G$bJܷ'!4kB8{C1a kMenbt˝"|a<4ϓ6na(خOsYE y,R{ii/mII(UQJ-u 8M"JR&i;x)~烚gmw+[.죚=B۳LV2B69/ zƻi#>z9((((((k%w  N@8Uƚ5h՝CIp[^[Tim 7d3mPϦG:/*-3@Ex{״Ե})d0S|۲r@EmuklUe*҉NTv8kH":`HRy8^uoc/_j$]<9·Wy \* ^<<ޞP7Z5W0 **6}"&흢jF0oW2z =2z]T^9Mԅ#$dCXڛi7_g_h]sI5)$pK2pHbq@wS\DC=v^:];_5(^]?R4R7'y^㋓^Komi`0̪P`{֗lljt˻y{l|:m.kQdyr[=J}rW?Sj?b)(((((`H`#( v҈O"0P8pҧ!8cT0E5y,ף2?g8Y3ENUok Glҡ#a ˝Gn}\Mw{<@q;$(e_ w7q*PUo$EWS $0(Q@Q@Q@Q@Q@Q@Q@nU~hFXqE$[n\᱌|ϹEP^od_ E: F4OdY#xYd0 WͷI]oK-/,[y>[b``ۍǑOJtmgsy}v|ܿ.OM{kUh_k2`2Cqx)SRb6'n~lt_Z,K(5~C298^돁||1@"/1X$$ڊ1C?DEk{df$2y@9<)ެYI0hͲmQ1#r(ҵY/{l<~Ix#Ӝwty.53Nvu\Ue‘rb(|I %*1X2'᫹5^]0yI2A< g4+ǚݜ#-,NՒ.lFvr"ti+-f4x 9hnc_jVV}Eveb3o8^7 J\-)'#M2Si?VaڽYoEqYpw(TSSHw!_1YH8 o!k$<6Y !ߑqZ".4{q#LaBLgJöz:$H3 yjDX\BFPg[Pƫ RF 9e<)|8xT3*»z((((+FyIf-Kd-,J\o\9-1- -RBY)ErgbiWO,g0;Eu'Lg;tGN1`?!EC!m/"x]،aB7s@9Qs1⹖/0 :{VbhhȮ Yu=,o񟇡K*fi9KsOz*(/7]{o͈#HSE;_mCNv9 w\^wh! _2r-xhA,ܵmxLW&XҹO O LnCʓ>>}:Dž2^2 \,91*/-|\S[" ~m+%^"POnZ߹ҭoE!hCG;&N=r=xgsym] n:6{Aٻ~ظWEh6Z,ɲ(`9{kE;w6+G$d? y ȧzC^8=׬W׋| dҽ ( ( zιcir )KHLF=Q;qRF~3뺦\MRѦ n9ր;еq83hoH\InA{^@%p6#2F.EQEW%+@ zz k;B/&w +|ض]B;s+w*=( ȣׄ-+"}h|Cn,4ɬ '[#T'+??toYKYwgŕ-GCz{qI}!%)mH>tZŕpXiHd Ӣ ?y?sҺ=źn^iip 6ӂ \i@-"u?[D+K(Gp!NTA%qr>SME+Ǽ+;2q g2yX,4)bChL:+vzb H)c!NT@麭 q 0zp#!+u %d*rm2knr\rx KdK@Y TPN3${G,R7Y s vFa  ?&2O ŗw9<ၞ7\Q ;R&d*m\sR8 ?9~^1W|J1@gsp˞57 0SVoWҿV5cRTu$ Ɩ5F= )s~sӚ†° Xd%y#hU @\e'/ w[agIvI+g53 spL"Toյ7yg'VcaBظydh1Oko^f4-8&@c`gPz,=:]r#<.:<9gV7u %r#]*c%p,S$&)]cT >;;/*PzOs@ !oVv srv,nkmzu,Q_ .nB!?xP4I.<8I/nTכ|6K:2IL %9+~K5(|cK \iL;@\k &紙3yt ӭwtPs૙;`NJ`,OК4-5g#3Ky6E=:Ӣ<޴&4q\DZb݌u»ȓת*??)kѼ"N^;~2:j+r/32m=kεqkz<!$!1bF#ڽ ( (9 ti~#\x 3^ mӌ[#qꈣ,p=e!+~"I#BӟltFtC\>qϮ?]2i#uthX)#E-C^evxkWW3JBs*J3u ~/ȧHKGCJGUQIccv::/=׬We#g^?(ӵM?Uo!Dm8`\7# C+(( ?׺]ǜͿx]^_=s:ivO+$n@GmV'k}xFhsK5(((+ci}cr,#oUG/8y+r2?$޽&11qvf[9CN#c= cֳY5)tfksrI=ʠw8^j/ ]I噋%I*9=Ryjvwv-y LiTǷ0~8IONo3lR)POҢVks;kG8oկ1%ԤYNAmkY4 $t;ȃ*ab>"Mޅ%aӁ~bG8mMBY̆"a;N1]5yax9f,TFl1iFF -obs5;F˷j/ﶵ?uֵkkW ,2I eX>T~yWTPs7?¶$PF]SխԗҪ4F&9_2J])8=9nK`KS~Ps9e{`Wb!F{?t6Ok *d˜Hi|=*]۠I?}~nՎ@e0q'=v3޳4GTi7Ҩ?l`n?ϦyrotтޅBx+ym;?vskv<~3G&+Jqc<l?ܟA7.m'y+(`B{ ]]Ww6pig)nb B^?AZwOտCqe l%5T!b9$v"MZrws!}\ 1cR>SI'xbO_tgl}x#|I+Wb?x'BM6,yܺE}rұk~(;!PkE}+iW;KZX&h(i !ZXե g*6y%ߖ#ݞshG+O]^e,/'5k6K+;Y{fDm_/'9zV]/F|u}/ǟRWSBz?7Vak%_f||cR_u\OwWE&r r>oQҀ=? C< /\`ں<]%#4#1žNHz߅8$ʠ`cqb)PTYyYVG9rOz+G\e+; d @PMKѯ$!J]{i5l{p^i=đ$F_e<4KksDh񞥧;fo>2Oz[Tk+NWdRiʻIyYZ G;T@6-ѶWi s֬kƫu1 pGpx|z6Zy{ q'*>.{gSx)q|<+55/a[tv*#tG8Wlm*ش;}@3jCj7J c#Q_wVF q )}+|ix7JI/VA]P>A"uM6=cNXS|J6ab?G& (d;`q^",›Z032>>&1 vV<)m#n@sӦX`Fddfe=q8.MOiivJg@rDpN!2Ʊd98 v*5>˪ڳc%0U۽6kY`@FѱUF4P9 +!EgLtU57_bgW.qH'Xvsx-&gp ^b2W^+(57Yd0=Ae>km7 zv\ΥwwMHgF"8=Xv4K8Q 0@*=@v(<~֫pYw_0D[>]-zm"Lyr )#IchEta2\!k_/*Z%ׅ5:s 2z{)?t6Ѵu]ڿ˞t-;#:+2HS2=8$~5^M6KսghL63@1xMj7UuXm%I 6XwTdxr0[irUx e`pAۑV#d2*(vK8fi}#^\4*stexH$m+r>aӵyQ4[v};^2Mo6h#޸-}CNkM6fА;XVX9K7_oιX~mR"QnYԌWE*"*FcV [~ o~B'lΡ񶑨iyw1پg [hp gd>_:ҥP{i:&'fP/p0z;яʒKWDKml-MZuMJqF̌ۼ[ na֝0ƆQ)E2(*qN@BA'[B5BY3g=b}6Ї`kQ _3ɝʽG1q@%$28 撥2~RGS|f{9f-۟Vnk\@,`;2 389[;tVY`ZO9w99?(p:e0I!8.@e((׭Z7z׭Z7z]+B~/WB?~7+B~/WB?~7?,+N<3"Λ^"bCsVD똹":z9q9q:(9ɻT#r6nQGֺ+NE6Rd@g⩬-5>GbYVY9z1ֵHj2Ƒc&sF}q@ jm:a#+ ڰfQ"J>rA*ARݏ5[ (S}?py8ǧjȆk., RM!c+zP jVzm7Nqf$K 3}cXY}k"@8IfR9bǁ"G؟η_$ʧ79nh=jk7I%2faKi;GH 2HӴZPYno#@$h%{k@w'j!l?k@w'j!l?%f_MK{oob H`pH= 7G%{lN]T ghQE3dRá#N2J2J+kHdq+z]us~/'d2O01FAé"44"#dU= [mN3cf01QTL6Mv6 ekӭ&>7rZIhLtn I:L`P5ؒ[-gA{af]>C*;xՔ!@"jTXm{ܥOy@Ϋ!k]5aeK6;<| (Rzu@Q@fE}W iU-j[ ,Fe?S@i??DT~ej6ln.n$^v:?H-'\B+/?.X!ZQEQE-7_9 :~5}%K<202'2!W{d}k&uI2Ny={ zڹghg, ;<{1ր)4WX,Igt &B\<&hI=΋%2C$LU>Ժ/??PڭeAgoę*D''$ jQEQEQEQE/ASi"f-22+]T*:(+m񝥬ֶ΁rar~j뫙,ǖWJ) P~~Aӧp μ4͎-h\C)BGr0Y˯%iPEP1[o5?A5OczKwċBs9VWsZL7F4OJ_!ۈ-ntF 0JI5rDҹO2GBʹ/S~j3<0AƘA6"袀 .7?mHү_ZibYc\ru t0\!$2@<xuPEP)mo1|G#s׷Jtg`LȽ $'=?siFqİqO=xS4FGO3;Ӂh6ei昨MUPy9<{ ÐWŻb^,{w*gs^..cIl'gxvUDBTm3:3f,dIcţܴlUbŁtr[|=-0^LWg4(nl7.#&@]|1,[Nnym=뫠Fx|L {:reQX`8 {bwk;n4UR w? t4PEPEPEP4 O3O͟c۝ֺZ(On-!WHH~gF 8jӺA\KHϕ(2H OK{kK7?g 4FyU d%{{O1Heiw apw`kb p| 4`J q+1bBOSs@4ly-3jӢ(((*Kkؼxn#vJ}pjj(0Fƃj(G>((([-R,rLcM܊qY=D+`RsT:֔6340FP2ǩJ *-6;n Nq:$OIU0A!T &{cƷ^Xb/60I3@ SIgCnX R{ 4Xm|ҷ>0 $:J)ʪYP:zW?]KZm-G2CFyqp1QP^^[ۙF8O 'xK!85AlcoE #<~"ÚP&m-`[{XQ.HQrRMMYkƼo`YhHP#p39;-i`qԒp$ ӼGc-i rUZ"sܱ8=]+ہkg$)*(g< (z+/DՎr 6.s֤/\^ 0Ab4(:6oiڟE#=qު̺OR@5˼<,;{ )lQQͼsţC) =>ū ,Yho;n'=r(_ūY[[4&asӕ>kZxQ۳q\5 p[8Mp{H4[O)%grP[Au m4sD6 *=BMkB2'>Vz#<>y qp9ǭs=6iHs$I$+VWPC)*9m}x"o`gƀo*aCSp? wJS-ª,Lau@bYs8lq@Q}5qjmL-`?1rWZ`7#J'h~jB6S*w> *qԜkO%御|-e\Ǫ2 7Q j]B+e-.[&3ЩRpc9Žs6֋=3m r9U;q4g}2&8Ɋ }?AЦu=^gzr*)NpphṆ.Z{3HU-rp95_:֚"]B;23j_k%7O ed(?ohy~[spIA&2FzPEAȡF,JK{6r|BHY `]!#RpGzqGhҕlvx]2ɟg1ZдdҭQFU]=_oz?d#pFdϧLEOEQE`[{HO sm\93U?v5;?~Hf8 ;p iYrR{ ;Y%%Olt;[y  1S1O[nXz\fhf noP3dɻ'.Cyn%PH*}'iG-˳x%k$F?Lq=C&$ĐBC$}5ӭ@\+>2ĩ?a$ztJ,?gCɷ/#tPy4]2 'L+F'=.Oڭ][Cwm%K,2.FP w*[r|:bU |Õ)" bG<B*PF(p3(a[xP$ԟsr:ޫwHQe6BsqC.N4rͱ2 #=G#VtC<1w$ H#ԺHtF$Tecyk>y+- 7qFEOS|)Nw8dc5goM)fUߝUFs- -Z1VW C GRzjxsDIMȢr@H2hXf|#nh3}\U3gMܐAݑuƧbZyEeWd,Ue^J6[p I!,oS02O&[6T`<,@IEQET7k;J$S>[P}G5h&w bK.٘(R[< 9o = +v0ABcqۚݘH:$*B1ノxcK}Viné O_|4Dm|qc=AR3hܦ$cn6rN_+ЌgFmGXGܑ̃+:1p*B ]r~,cHYg G0WG$c#./[fcV6c=8g]zIޛvlqqW(((c+n#Y8/ wM bѕp|KASLxOCUǐF< @=lW5u_"&6- .܌H`zzQO>ngf1Pg 9k)"Q:REpBBUQt@n[a %  Kqo մ)/h =p闏r8h$8~z6ҍ9 v $1Q [j@ۖw\;#H(݌s=:ƀ4~_@5<X H EkTX.았ࠋPCEsx{Y(biUD`H:gWlK@CtHԔp{'`{-])Z3.g*z^ -xVd ʴx%z9?Jw1)* =\sԞQ\um%FrFQQ{?j6iU5*DqHw9?^Y ,,;\,>o}= #>2|鞣jbV4oa ~0fd~QYkYl thZL/˞-b5FleKgc@'r9'\캅myghU$ȇ6Fq=*QJy CV{77Ku$Үm )P=BscMԘҭ\NtdnQ\%3C`߳b~'99#XtHS~m{hOPѕevlW 8ǿ hkG2Y:\C5;+4 FӐOJXYQC19?ZurRf[G9v65M[#=wR5HtU1*"qSQXֺijhWO,3yv+n+# u"09B#QX_VᮮLH yF@uEēI[s-2Tb Ehv!6nijXjii Oۼ.Π8mQYj&ή@#_.-,}Ƞ *)`VFu8?^jZIa\"M Q@#*XZA{UQB*cFeƆUUʍNsx4I=-`0OWAPrGS@ōclV.=HQgj%hDwA3J6ni*1#i[A"*nC !xqR@OPی/ ӰSmv# qj6&ױ ܨ3r }? ݝ ff 'sJqqk(8&F@1ǥ3\&ή:!*0s hҵY/{l<~Ix v4xDˏ0>:g-0@oOC%$t) pOpjWV#QkX<zfi*vQt4Pc؝ٳ;[ӕܠRQ@%d) kɅy2}iX E k"aGX hc X$`eGvuw6dTJh#uC?* Eڃ_g8p3Vo;ɏNȬ$HEeG͆9[X\4`9P2Z[Jcb +H,A"@# ۨl mXzրJgnpq})ei$qG%VcۊI-5?X$3!L@<ēŤ 2orK(nEl@@M ,mQ5K]QYBS ݻ8)ӼIq Wx!s~Ko"QJ(2?kVڬ1:f D’zt8*1-n/88;T{ ó֍}H;ek3–,0zPMEPEPEP\ơ*',R4KF A;fzu9|FWu$BA*I~g=u[6[٬M%716=NrzpqSx~y,v[XWʍq iևJ#Xi \eI I˩MYI>Q'r:t@ vYA;O&F{֭aaX+Y5+MVXC6Bu` [((tteG2RrT}?:/TYnmWPH=)Lvl?!+"f^q"6hmĖEmF$W̪2@#(*9&"鹀I\F2"9,#Ҁ;*8e- "Q(^X #F;^YO9zqZƧgE6e!眱`zdTPk6N+QsϿmkٞMj$!.U9]dvc{ű8~Cu׭EVx@ZB#vhCI_.?{L|%]BH]L2 j( jvdjepzպ" rh3o\}ΔgMQH6H΍"(7v4˽kÓ(2m-6lgM_ 72Я)3ssN/ ?;ˈٗ X ‚d r=.?-d;'Ӣx8?PSh<*Z4\z1bs2P#jK;HnVݹ,`0}Ltsb  Cn`*cf5袊*  L ۞=>=W[NW$)!w0{wP/d_/)<wu Hu6mc FKV6s+ʢV0<`cf+')Fq @;\cKO3sZ#-CǍ?kR@P2I=+īnRͤayo'e pqPxQmsu SOe07p8"79Wtn:eNk;\{,Ĉϖ͸tZ ț7~!vGT>jޯkIK-$Ra0; wc(oxdm,p٘Yc.vs氼E"]!/]ZGeI''=$?/z cZu?&VuWBFA)/!kК>͕n-fQ,lI W;j?Cx'K{v -;+"}s_SBW3DEy/~ 3G8@E.{ah{q7+y:O^^oAy?`(O4A>?(N> ȝq_%w4~vedeA;=x8ZEy1ހ>Ο=lo,WקJ &MwJKtkCdFgP>eaLҗ}KٷtqQA#UEaT`Igeiq6NX=<9H\wgnY'4EA5]C3d`W"J#urP?j?^^g?AZwO[^B֣c .G.h~)U {yf7۷3կ:ׅl͞| X~&cL[zI#OOzO D-̎ YS=ikfKY$,a꧌ N#ӧE2ic#$$qVv O Xۣ#pn,%qAgw“e}ۀ = qfpJ@0a 'C^SLS/XEfEdbrۀwB eü{j UWjp8I; k_կ U9ѬֿO cB4_5H7# C+((+_)/k;% תxE=[ y_[D|pRu]%wYO}nvHg!IʜJwBh[bHB:+ՍkLQHZݙ(\0(rHmfU@m|*HN{]kN4,U&Q O'kw*SGO6*|ۑ)2rPzc7—|VT0oH@Ec]q 'lm%s\l_Fgc;{@tO#M:w2$XR+[i IT$lNpON bROa ^4Ao-.pq2 !PHǿ~4<%6ci=hx(70WϺ𶱢:,l0!~qҽ{Rg+x#v 1,2t޴V'u 7HIldXy=̛ 犰!AFpnSkƺ֓q–.$%1zhO,Zy\4nzL$ju/og@_̭)]-"u?ם3. ۸xWb z޽9Yjz{ZZK";`9oixL}Z;x2Fsn>f_i)4SHVe܀TXߞkS&Y,~ԲoPrUΘnH$ 9n_aP򕽓琂ǁ:7gSBm돛n?=3K*è G^ɹ t~f*3OgH9c8?[ SjO땿hi$KqcWx>S.iWi$KqcWx>S.i})iJZh?rW75Dh?rW75ޛkB~̠QzςԿC@ڗ|/@Uk\8zU6(/1@~X=;z|/pE*qw^ 09`py~@9XNjfP3Io9XCFblu=hoq%H|{Qj>(tk8AWe!Oǻ ?Q~(tho&_p!wMw?M_AJ!BFK_Z=bp* (Ƞg_SыP*}a1 8ȱiBD@8=OZU$cP!X 2-dI FBppO^:/a ׷KXɸ Scd'2V1ʀ5RI *G cax=}(wKWWjCEH+ F1 9P7iF0Uh#S.iNm֍=I7csU~#fVѧCH&/JQҖĈ +mfɴeP6tvv+ +Xm"Xaz@y}Ol4%]tKOhxb}Cz}'|S&Ӿ`uY6W/qkn`IdJş48IZm.%º2#OM%Ȗ;8DF>5ֿ&(hͬ|USv+` G4hݯMoq;ۅ9<|G=V_״֚k RBp9wH6ń1{b&(SW𔚧>;IbK ImzcutP6VZBFGq<'x}1g_WtqEQEQEr0 6J7c Ft;eBa X!vnO^I&Q@Q@sHM6,Wf. ^ y{$/9.``AX=atWFIFH#8 * ˸i:*Ǯ} -Rk{wRsL;p>l\J֢[jY9 4nSiwQ[50،'0p8^ҷ.m-$P˹JPy-& (rce dq}sV$0X@Z}kfk;<8e3ufjrﶉ&c7Fp2^€-_jz}ͼ22pP*$IOsWS=ԳiBl0Cl50hv[ZDe@`O@:rHdjgW:XwHMi27cWIZ崝2WayM3ډC!g,luLm8SG$sqX$ 86p2@z~iq5mpWpFzWk4;I[ԏɏ|F 3nCA@Q@T71Ks9"8a@$MkukEYG-d:B^HlaeQCkmUqrpx}E8gPx^W~-ՖI#b*rG(q{k@d*'  >]C*'N7K{<$&>:m8eTM_[JG;G,Hc?w끑@BD24aԺJNfTRT NxgNW cYb ]I=o.\TJ7.~c\q@0]۬G2Bu20GsaZYX@v  n(K3i@a?)ٱiyH#exYFO(Y $>Y7Q#e/iƈ8xN̜/_Sh/^=O͌ 85t.N+T?(oMs^|;9Y>p# $qL׵)t%+H`: UķBWt 479q_rNWqAq9 W?뚞|\mE99qU V식7*A=hAƂe_;rKN{fjPi^dmy ;A#'5kل3Ouhˀ ev>qFj:ZI &ƫ$1;CCI`6 >8fÓ؍[t eeE+c qs\iQ *#tq\*<:Եn'Jӂ8G\%ZVe-pj i%Y6XrUX߭/5%.Rwxz>wKd>IF(rH 8<]5Ma8|fcbFC9E qODM!TL@SN溱ӚM >>y6[3p;VQEQ\ψE JV3'29pIqHPӶH̑C9FavAYss-Vv/2`3`nH$ӭ|Akb zd  `gַ([S5!ȶP|BzV?:CI4P ҹǷr{֮WSuKӍ<9 `k[9 ǒ?^Eq.}E'KH؆Y7`( r (ƗEXWbS8 v3gzc$k}#mOz9ހ2|/kq{}v\'<$g%wViwy63yR7<ÑZv 3J W/1Bmquk]MXe.{:e`5GKhj]MRxHeex^Cԓ$өSFojwW9K`͇r90NU]մ7vk$m0 X[đP(fZ`GϷ`9!szY:&l ĺ$z`piA#"^x_>!mD] Ip';d1EObAmn5(>ͧuNGZ kS:C%mO%HW@@=ih((("L3@@rq\aА7S< 7I qO㺪vZ]in=n$$ e #~&}2xuvH|ܬs⚊QB" UP0QGS[#̠\=T=FMhQ@5[iZ^;qЏPx"9شt3vr% =[N9*f=ȓ!Bf9=sR5 4 ѦeX'%u 88Rk4M pdq8Sz bΖ;* D*@9#*vmmr!*U = qWM 77Q~ qda gaeh_ԞINOPV|f$cq8^vQ\ϾTe%HX@QF }QEQEQE G3č,YrW=p{fMwP֯HIت&d ?)$KH"Y<f' >lRwwHK8f( ( _ ٝfmB߉X8A ߓxRduB2w:܍3L| $9p7BRxsÖ\1O4n*2Xn)<ܜc'52Aji1s#zr3J]DdC#H#a;xP$qTUtZ((((gKhLtPRIܒgYj81̾_'pʱSV;?"h_ry?4¬Ny{~nlu(ݱIEC,Q,LH < gViAf>d%reEM>(V ҔZ[FIPXc@XeW ;zc=9RVͮ-I䷖U6s9UNͪ\7/#xsQCņH]nyo#m@Tsr7qГ@^A2,ʎ3ӡ=z?Gc.W:DO $Wi4W[U$M19NG=+A=Vh; M|6F7{U<:Ej%f3ϿҀ4Ud޳26r 1ZQCtȪɵK \;8^}6YmhYeܠ7GqƱ}x"^MZ\:2@9#G4A1rPi=0j៰I Y C3 =9S<6lS+ I [vuP,'#qVmibEFO>):s;Je3W;d1yYoo^:;͡[ir`00ǝ[+3h@ _ Uϊ#!!_9x==)!y %Ȓ7!JD=6A7Wiw%@)\x'46O)3;$vVr69^0 KkpHl mw#SM^>_->d`9TQ-,kd&1; Tz׉ēb┹]6c#A_EE)r-\ppq֤֢YHd!N>R |Ҫ;SK̗kslUUvNx$TJq=[T>Tp׀ IZ8gkYm%ICpʶSYWP<=96e";Af֐C(Rnz.:z~J, b Lmgmݴ U c$ f$_ M@Bpު $qPݰlsbM9cPM[fNOӜzsQ/+\!NHU,{u'55ի%h9au!_ƬxhH ϰDc #Ѷ9;ߟZՏPXbIW('9\U{b+fR'̺[\A'aizALṋ_hRTtPͱp%7n$QI@ 7W#o,ed^LCdӊYnLlA SᶺYԻY ;QNmwk)kbkzP׶\$̫+jszk:}G)P`r8=3T:BѺS#rzVk[K(R$<6zS[Balčwylޒ]ͻGbU< @z\ФI $}@EO$q9 cY7c8zw6^X,vFpL>1mܭ|R+YbX~Hx k|!韽 x1sӽZ_(N7 >X>{S|VOƴo4gki>\Cƀ%]Ń)8vLlR:䏯j",f(aYhĈ'*sN S@|m;7*zpH y*{M,Z_jD e,{@xW%K;{ko,) jƵe ;̭!I;Tomo./3m{pHDZ'Ҝ4-`ܧJepd _ lx(wu3 &`hU$H%ݷr>UGfߖ̍ôYF۠>Ԗ0}mcnhߌvZ_)}26vz梓['QШT<.{}6M}\6Qf0xKnSo-5+V?ƀ/H & Q,x:=j[5]@̌ 3o~oᶷ|CeG7d}OZm}Fm0JB$[XPu{k[9fݹ6p$N=i!֬d7M6AAOq1zchṆ[dBNps\xlݫ*(FA8Prɑt$$ BNի_d,Yq9qTI h.!U (ns zac~tZ֏UXc]]gjeE4]A]Oε]6_&?R=8QY6Tē#P2 ZQEQEQEQEQETMq N4,Xn u W3@IXDc] Bn5)mcHdGX` h\AuOm2MTi6zsH/m!.,8PJ<3"02{hR+3J֢ؖf]t$F>@uVPX2Xy 蠞X%+9onl'>K1bnj=kMm#CpHe>[1i[ ҤS-Kt[ $wרoEݶE`pt %vw*z>m2 u*yZT C`qހ:#D%8##TKrY4gC1=>;e|bq$>P( ( (9Ჹ`ZxO=HUMWL"l(f8W2x}\9>bIkxfGUE0+PPIuXѾha,L T1ax#+!# 몸8454 <\R?%ßG>[&ymW8]ݵSuq τ=׬Wc-UCb3(##-yGgu[$u9^@Q@ǜͿywP.g=LڔV#9^ws6Uv=xg:+Rh%3@rH ֭nPF Ld/ Q+yW((?otWf`8]es1iJlۉN=@7D3M1ڛ7L[_[I$r2:M_JRK'|Adc<#Ǟak=>i0GL`@ ?/~]+J7p-(Ɨw*@L+V ( (h۹Xݑ py W5k_e^]9 ÈY6`o98q}^=z7.GvR5ߜs{w-3 Sg2I^zyLP')Ojv8B)Fgk:_H~ {&cri#5m5,Rr8nQ_%ĶKh6o3Gc3'ic%q:֦\0]Z=2f;q޳uHwxM}D:gWu2u6M`M J2\)s*ikmŧJv\19 sJÖJ39=Os֟V}"KqmUMKd(,6̲` A<מ޳/YIR<< AToEE}usGk4>v ⦿Fm@>/ti9=Sh׳—wa`j;"GIt~$퇉lcԼ*9DӐ0Юt)-uK9k*_4?RߜӾ*GҴ+:qi/r2pE=1& ggeos4vȻnTtMBa U>ܶ2Zs8p6pF3ۊX66ך/"Ybʭ;q:]Fc3O,d]@N^ ?Ҁ:[kY"K6vj?}j6^'V*W#Fj.2-WO :4J:~Ś,]5 ێHP=7@|u*ED%Ң(' ՠ(z߳vmB\I]]ZFbJH3o+r9"P\ׂ5ttնb\r<}AhS5h?/,F@ v] *(״UڽmMdzQ@^)%|9x$8N23#Rj ,,Kq㚱)PI1:{]o Io70dl_hki8fȱ`O'zTy촫{suBEW8$V]cUT"JrsZƲm1{;An:t56WF) \e,dqoq$v]A\'5X$mi'at10dMwu' ֢?#Piz/'Y왉%+]^O\VФ- Z$dqT5߈`dygI-MohYO<:Pl V/{u*ER#*9ǰU9q5׀t fi^=#cԚ ,nvRPtwt>Myj+: M֣>%ЈLdD_A$ 75F\>Q&y>ѳ(D؛x#5[8o)]MX 3jԿ(9M^[hsdn0 'lgWEA%֙so *,L[8sk'F6 0O9vTm.+w/ ,NtSI&Z|2.~kf(ݐ*N> 壕47hbln"givEm<[܁:r ZdxnpX4XJ~h+8oZ|`<[=vAa?[;ݹ[z/q MOq5O ]M/WGES12WktAEPEP/ qi4o8%*y'W#K -C r&)Ҳ|tRiVZۼ%#c'v WDUF[F #O<<@my FvXeN1\=uB¿k"< 9s{64jFEK\u:f9O=׬WA]5?j|/x;W-at) 0)#ڶ5} ]-,!Bvr#:M÷n)_CA XńW2Gp#' +of_> :P{yq2up[i=}Etl?+zuSOw1\A[c<,FXq"| (AjF ]>NG/r oC붗bFl\TG!s;oxw[/8gX|s9@Es:nto/;1ežЅS|q6hd4Q Bp(+k=چgqi ?!AX7Qw?mHX:r€: |Lcow$meL`y5Wwo}6)Ll~V*'#)x9PUu}ki$1̱4ńaK&6$n*WT: 4ٶGd Ìu,͋\ [rjo#xu+,# b鲒Wڻ]7R-ŌX$)u o#Hj8QeUQ <kxɼ6m34r6zA(ξ Y s #6ù88Z<%MawbU/ ;zdw~u@}sO3~)_脮As%o_?!+\Ie OjR ˸-֑,bYo;ہףWj?O+?Z הZؤߺQ޻ m|al弘,|.I GI#F +Z`5Ed&o-d>TcqvcaMFO 5oG"KQ/qЊ$<7> y `]~.& mOy!q_j$ i?j|2> wZu#M_ ?;uWB4 EwDz k@;Qu&KY]C#SЃhQErp}kg"ox??|37?@R?N_-<϶DWx7DEy//^#^:C,q"6褦c̈R'EK Fe\f>}[LTѭUE p=+'ڝގiXMAz]0N sKmϑFh NA& TZ/??UW/ 7F!y9{U@v(W;+mFkM!+n!&凘^WR̷{u7m'm^ HMӕ6}4a6|o-dOꖳjsۼrC1ub @<][iz|V61v`g=O5Z#i@ 'z"b.4WI72p@~\zg-^-ϖKF vm>h((?GT~ Ȼ_ ?w+jm-..1opɉ 6A}$!]lJԢ(_ūNImḎI@UIaLZ+u棧visoպppE'CK1-ol wu)ǮXuތ##eAbX /_I2A#W1,?Ut:"U`Fl`6Rj&^_89!`㞵~<+k+-y_ťw$\褠 ߊ_?!+\Ie~jJt<Yh ?'F OZM>Ycϓ%h|"shR}KV-kV B2+GԿ%mր9_:k?ɿ`U +OŨ>&тW?y5 ȝq_%w|:@J'Bp2:?;*x~R B$vWZ ZC$zÐ=i ]TssGTkX#R7w+ vzP5-"gw+c1 EF~OR8]eZbRj-yttGɴ?dn1^y +4V7 eѶBʜzz iED¨94 I$p_#ƅVbUGRFo][XRQv[#3 (ZՕ}.GC%ZMԖ ac9lqc]iwZdRS 9ԮT}X@w$82h >Kу\mrYe`\Ŏ:( \g˯w \W؍ϯ8.k5mmqJ9<3@o%xBK[xd`/vO5O6ucZFs]t,hYvf0W;_ DCo%Ò]®&<`/{a]꺯l|QZɶHdc*FT7+\{5|8Gm9#wP%6%ImM\jΆ,eQq ߜuT==5Hڸy9^Eu?gx|MT|,ŏMez458%9 ڍٳ۰īOZoy`m4KKHm Cƥ02h>[Wm'DXf7` '&AשQӭnK 7٭-qo}7m؜+XۛnadYT f3聆3-n })BZfA+~^q۷o¯Q@:q-儚v5Rz嶮r}ALح2",$#.73u6qs*C cs>-OLuH[Vo:t=pT8 4gSUZ}*ힻG2q~ HeYaw#B*EܥZN~U-rE'hBB@oiW".H$(*Т#glU'VRGmgG*O9'2tET/o1:$g hnmy 㕢m*8%CNHብ8e;>G}I!EO0'˶S>t2odC2.xcr2@DR4K,.F*rzM5hi[da3oΝ3=ԒB奍0,k>%0<%F` W(pHQQ[F2 8%(R'8& c\9$_$r>o^:zK)F3J@q;rAsN]#Jkܶ眳 8'8\ H4g6"kE(>+X5]Zga#KA݆~Q:b_'V<"gdރayci =:Haϴ""̫9^tnNkٖ(1Xz>jzɜ#Ah`0H(NGoYEwy gaU9c# `e(p'lY2I,};Y-c3iX$0oAn츒p!u Y :+r{Um/HյYu [1ʤ3m$88V9+ml-r4.$X?ڽka, ȋ3ZdIvW=C5kGRƄj6-GIs2vcx@l-s]_L61ͻ+X|i G YnnNPGx >\)#0y5A,d_p TFG" YEqqdV=yKeKpഭ!Q2`@< 8 ~'Ҿ Kya# p]}^+[Y4D,Ny~JM#DϾF4p0;\_8^;;6й 0'A# B×ڕQy'jK6a?)C89R#Ơ`QqN:Ԛ ( (o U dȥ|}fxZ:]%^}J@'Ž[\:|RBJÐ*ó :0UbH<'E9ľ#֯aIw/$mH݄$_9Z4ֺZi ,J` uqЬA[lv1'YLIQEӨir#?A-<+kVm;KͫnGW!nHaFE^ou[iؒ%`Y8uF7rxt,e(XF3Ԟ AYnǩ8'5+Q5Evo-w`HA,bapF"rwI#*Aii/,,LF#%K|N:jsjdhP q䝣1\iymA5 L&!p)G`}ǐ-@8^NGe rT4=[R&꒜3ᔌЯt{kwHԲNH@q֗ugT%K(|nXXEr1leo"%Ќ1/8$vFH8"X" 8㸬;f5еݡ>?1u/' .uME>Բ$hyqTvD9DFeēd98 Z( ( ta:kq7e@ 㼤 Ae?aW5Yx[BW6{+2Iǒ@ueq[hn敌j3{V Z`, Ҹ+(h 2r{@ ׵Et{m>8~#pvHsXgolK LpC)$/.˃U@76''eH 2+w:iP[ d]d .G i:Ejڞ#kn}O7pXcw䞉GF5fBFJc#ӂGDGo"m$<Ӡ%'8aF=Vd"}x~4Oԛs;z f2MkZYCOۙ0s߁FH((,3qgcu$oQs98'GSԵ=~GAuT w'iQ BiD?zp3!C ,,aD]I#nwf4o#}HPNz@8F+׶/D"t(ác+7ڜ2PMہ`>]~$-ktHVSP]Nn^H<~C)Z& 7Dl28 cYKZi bQ!9I9cqoQ@M5!KicSA.@*rq8<ilZ]@{LcsO8ɫP[KT4'8= AX-¨*j((((Gndޥw! ֹ xj]*ioI%;߾0 tP{8of bJSR4m2vVy.˖by@O8Z((ctBcoN]vyuZn vyb0 p AV7`MX`FC2#JEsfw"A3h;q5EF!Ng C&Ѹ sRQEQEQEQEuu tg?6Al#n2qQEQE88>Piub#6Bʹ(((1PHA:}Ja"Yb m)nq<,|@o?ٟDgoχuώ^:ŗçx_EO [Ci6|՝?E ( s~,ƿdҼe8g_~[2]x 22jW"Ku,SU>8C?n~x|47) h | OMkկ)~ft놼S 8Duؐ;ߵI_?4?w/״:<#x*xW/#CCE. r܀~UlOxww|0x+_O-c~:S㟅~5<[__Ƌ*_障/Rh=9b8{d7YџhO E|_xzýCC?^x;tow_x4mNH.g -$@|P@P@Pc| %"xw^:|[GzeÞeO~0FiQI*zV62}E>oOxw@OxZ-xo'''t6sV2_i6nX,@̻ഺߋmOk~&x#akz>?wߎזZf߄!K;OJJEGo#Ԯ?m:g-b;ï xO!'4 "}KO{N]1 s1|3Mfbhgې@>4o\/Z]^ih:4ֳy7o"7B6.E~dHcxYimI񎁢o?|?b+}+Ŗ2 kgiJ+EPh=|3< p?\ R"𤚒=Ƙ%>`s@@s%~+~?lgOW/ y~$Þm_ˏ xò<~]ֹ>6v3:1]m3D:?k|>cbF_3v bڙ|. #3xZ$|_{N (WO ?zmxS#Luz'ďj|2Eׁ4h.X\/Lo<3>&ƽfo?3ox3῀oN,M,ƫk[DSm=G* L[}nF [~O6; > &kk|:R/D/vk0^I,E4 P@P@~~٣~#a돂Z_mx{'񥾑+87t̶vڅ爴ko{>@:(OKƟ_Ttt߃Mⷁ|3:S>1]ϊi\[ZӬ['o'o|F/? (w_9 W_ſ-漿]+聑2l:{M\>ߌzooOMsWеxGYdZ淠xo>%W6[f(&GHyP@P@PUG$4 qiࡱ~Ijx~|<_(D?ȰM ~kG6 c6;c  Jd_)޳fωh/+zgmyQz٭_Won9GJm!WTq{5Bh_ zǽ]¿z<7xGwKxH֮'6]<fm5[x 37ëٻRj,[ωԚ0\iQi oG~?c'|k|_Ş /<1Tm5bgº}70[Yjw+{9BP?b/(k/?~?)x{@?xU־O%ݬe6F` ~>5U/xt+B}:=nO ohkiɫ-Ѷ A ARX 2#O| eϋF_O|D26U>OCL2/u1O2L.ʟOo(W)iٲ?ۯO [xW_z-SLO5hbqwo4|ῇo~*jZ׋ͧᯁ< ߇Ϣk縞OIsm%0VcB7 jzĭwC7uAqk o xԍK{6u;Dn?ًO"uJէ#x7^ &ޢ hx±E m>o֔P@P@~7t WH&4]3^i?|P'$b ?# K8tvfUiaPoPv3|3/l|)>\tu^7s<﹎VFdH㷈඿|6K%?РxûL_=?TI?<PY3Iz\o9q]/:?'_|rb4MdKOtM@IӘ7 Ŝc#qm?oDğ=~@أ{Â#@did!$OKGE>gT@'€?в ( ''싦~zׅt[&-r%9/57|3-~ xIYEZ>ILjটe_ٳ3n?Fx-?ᮑk|W|mdlVsM?;v+N6l@_X|?k8ꟶ ko4ýB/9n|qqvL7Mtn1|۟ ?ڏ?_~ )_> xO>i??m|I~#x烯Kc/w­?4o}#C>X~@C>99[VxW=+7߯|{Ɵuǚ x{Sniźkiu x~M{V|m'|=^+|s:'goh}Yq(d+?w3Sx<3“cǾ#o{>G<)=oHxZ]T$c@?~_ÏxN|^_O>1_ Q#:Eݥ:L׺tW^u| (kZΉGoeJ|?fM'-IK1Dok}}x<cW;75Ak];_m/M\0$7Okm!KƬ?%k^$II'Q/5+wm|9wO [麆iuS⮻g[Nxkschm-:I S#xF/ x o:736~$԰&0њ(>ri_ ̞o5KA G5k~$x Њ?^>o'QqatF?<7wo:_;GNi úw3Xy}P"\\f>k~0es<1>8]~35xZ{ߌ|ֵ}G׵{=K{Id_(rw >QDŽkO?Å/ ϣ:e{o=otIoxz>$x#Gm%޽n#}~?Wſ" tO1gB?~ *wë/>Z@f i/'&k ͦ3Z034@P@Cgบǂ|uI/j ×zWwymh~&h?U V-7 MUo|6~;Y!ve WĽ.us .| !xg z;c-|ZuO/6h:ua-1XKy5?p`{?hO?F=m/ ~ѿo'V> j?WRm-BӮ xm<]ivpvId ?o1/KC :_uڀ?(Cgß|C0g|v(޵^|}oxz ˫hw[?-SsL@1|{JC~_WGN|a|OԾ(Y,|zJ5kJ^K][tLR>9 ;xT t߆?! `4O7^#o%<Dž<;-Al"H5MNuE@>?~?/SUKY%x{/C5M+▉.Ƨ-Ω$ZooFʞq@_s,g/|@DŽ xY~)O|+IsTլaY6^ݵ˙4^d`_+=/_O~;wvxĿ eHOZ)稜EVZѿi?$Fvn,xGziGx%<~$f]ៈl^4%`u+F{D%= G(j_Q:DhO7moDğ=~s/kgƿ2~^.wooCe C~ .|%}⧊,|Ke}gkrυlN% A k?aoĻMW7_S|OOӭt{ G>O~'lR;-.[է;xUb"PWnkcoaM*?Ц BWlT O ¾'~,Ӽ/J?y6nL]-0~_KOBx7EIcѼ%Γ]O6vUMs3(4XhdvP@~@} P7cO ~i_[:ߍ_`m@]P@|F ֙_x4MSP4|-g x\TMm#i^ΊPOx{7&siu㸼=-; neO,9?ֺ쭬f_<_)|-OZ~#|Q׾-xN6_SxsM?];ֵv{uxH8%(%hR B?xZ44{:8mk-LeGJK:koj~(U~$^& i_<~Ͽ /z?r_B>%h7_7ou+č}]Yj^'g=ݴyyW?,~=G -|t';٧~ߋ^Gߊ:5^jz>}ۼ߳Ǐ|fkS_/ (~'/wVh= 5=c#k ~n:FN\-QxXgExK¾TMmZAZQ5VNl-i4(s[wo|$^4[9񏇼oZ[]i3ku=>-N $sF@u$ E.Yjg m;WKS5|S>;}gFk_;m=bb5@f~Ӿ |oQ xO+|1[Mk]G·,мEgHEs pO ;'/?U3_5|8𖷣h:ex/ߏ4؎mOP_Qj:XCmnIf~&[ vß|?x[<]7>=ΣG|GPgѬ'鷺3]Hdbw$|?L~x(m?k@wय़6|?@&;e٩~|a@?gWηW>PW@mkwUElk{Aj?б|0K+^Ow<-$^6/ȵTV7,|~1|τyO[ uF?ĄiSη"rZ~ 𕗂 [ih_ ,|iP6y<^xgPo¯ j {^uM_Ti^uq3*Uf@VL?RIMX/7owiP@~Iioucx7B~?8τoa/$//# F|DSIsXnq_ؿ3xE G@?lhڦcf]/][ :imb6bv-_sMŏľ8??X|QWO_:u*%-V)j|9XgX" G's?ᧀ"\|;?iOOBL C2i>/Ս%fs \P_'FI$9|Y$IgI:S|B߷'GoC|?ev_x< yCTԵ >$R^FG#C<@?_%~Ko&j^ЮemzvnbFdg/ğٳwʾ_>|Q_ڝƵD2Oj[MyY|Cj _]e K-;F+j_Ӭm=eo/^d,~4q?hRN~E6<-O"x |*@|K h^=Gfkdѳ]\?9RڷW}@=6B>h4u!n~5UtP@?POk֟RQ5]7Z7)F⯇> _+G¾|341_xw-R("w^Lj۟4^^׼Eyh$%`.!i:Ƭ ۃſ#c>=<1 /~ :F(Gm?O?.%/_u -«/+:g%u SP]ňLj?Ϋ )Zس0z?z {6uO?g|ooNO \|7(˫3\ߍ#JIc]~&~g$1f gt:{oGa[]WMS)!RT e~ϟ+w/WGPxo_-44{ ]WqAO7Ky$U&Ux2??3Rm%_h 4ďo>/k? _'~x/Ex>=g_<^7/o{xǺzw6Й&e _?b;ᾩG+LYYi+V^5+'DUs>cG@]E;@W-G࿏σM_ FᶉX!~#YxQMzR\ĵC<ܚ|G2ৄ5/R9~ϐxogŸmѵKLyZ{*J j2ٿ3OE#~}žGK ׂ[Z]kĞfYC:>-kf<>1UW ?,>.. mP?S?f}O>x>lڃ)sϏ.?f7ডφ\M ױ%Ϳ E Æ'è~.Z>u~ k>_I.S_¯־ |GibKojY+=s+)оeai+Ե 0~2QѾ|k5 zPnj|il]#&N]KW}56s 'x<'W'^ ѿj>8g d?>6^?NӯbS+YEl'΋p|vo?i[yux%ok? ωR|yy[nl5m[V{_j2iRjѱ[Sxv_ :ogmj_o3ᶷt xY&?(k6pxrrWMx$|?L~x(m?k@wय़6|?@&;e٩~|a@?gWηW>PAFk&:L~%i e^Vx^>QSv?߉t' tG1 ~A~$'[!`ExOt " [>9Q?xTJҭ2+kTU+xo?jk?8 iO~7:}'Ɵ&8'd$jxVSMYO,?{PVi|"sC?]6 m~DfSO@]xz/ \sDž-G |u4&Mb-Ml-ZZmܨ+)|$ՁF?,?{PVi|"sC?]6 m~DlnC>[wڷ& 񍿆|_? ~%B̺'.lm40wlݿ9T~t@/v_3ði: /~8i^ 1}/<ỉt=hzdj6E6->2G[Ǟn'F4/vxFW>;4c2lRd#du$c _xSJ]7oXx_Ğ?>G__~1Ah +ZGK&{8eg"١^i?O' "1.@k8fo= @Qq?Bx?_w_~ iT4?Fxw ~ҟ~&|x~6V"x\>Э~+^h Hv-(&xG?`OxG^/|wh~s>"gurUoi[rbT\7?dP[ &[*Ѽ}C7I?)խZuMh= "?wtKH1v < @e!Av?loٯxk$.ce4;'Ue:+=W^t.B6=QhF@? !?߷OWae߉?|Qk#[{x ͣhѴ ?Αra1Bv (mٿ|hK Bjj y_tR_ٟ]1j<+ៅh|;o|h E:7ύu=Jy#}^obզ dpBѾx^Ε]ok^xuohs2ZZ%-+O=F&@>7}~>fM[ ~|IgčΉ^͡x/nu?N_o>"EhSkZƣX c\|`|E>">Ğ1E'Vj#o<-.-ҭV+8ȑ%%?|bßhT]WҾ|'sBo/>7r\̗.L=<>V>,֟ > +Z-*msXú%ӴvI ecVE~{5y?>um?$xRZφ5ُ_s%ܒf~Xb%$|aпW|2׿l7N35-cŸtmWއ[54jYzCmwu2=,Yb1~iYmt?ி *hMeSTտώf9isx2x)4 Cau-[r24hJ`-7go_ h?CgV:O ]M <3|l񞣡>?ߌ<><A-Qt*W ~$Y~2~~2_×wujwZgiۗQ5ׇ?rWnQSj%MT/...&; W' <'*)NMg[xFK>Q|G-%gye7LCy`^Wo']yj^o|0x yo |6xoW:?~(?!~&' =_qe-G^oƯ;? JBu$;7ο㿇ߵ%˿ OKh?X;eE<;q>G<9L5A.^]ƐNx pϠJ|e1wa//⯇Rx3|JׅtkVl,CN>8om*h(GZu,is?g|Uq~EJOmG>ivJ\nNHRhh?[ ~,??տo}{@tvuyj: _Ok}2O+E*?C Q'/S}OjOMSPYj:<){O>0$> |NOq4VScb)?O [|?||:߲oYǍ^$cѼ/>jkOB]Ȅ|+~'s( i?/ïcNj~\<>Þe Oqt>'éj1=IZJ4R?k? .$j𾟭2-acmOa xrZ=UYk;6ff*OTė/|vFq_|Ktm#]FS4VT}?KKB&8Zl>x_iOG !io/{Eݟ-txfizKFcax'X/tn'F?ۻ?bEoLѾ_]:=C[Ҵψ~^/O\.i~ mr? k=͟??j'mg_~)J1u -'_>>Getϧ?okK4c X࿷~< Xx;-hcڻM 6_'*['Wl5MQ}Jpo+Lxe]CѷwZG~-kO3> /ߏtMK׆)nA.A Up~>&~A+ڷ>Y?N|$ֵs: ?o:?u/;r[uΟ9P$?ؓa/Ky/ڳ[_}^{㏎?}OuYT_Dr{< q@hR*I;?3|n5|/ӿiZ׋ Z|Yb~ ԑWK-WD`o <+}Cɤ˯k`D/ :vo?WIt{[khfXXHP@~T`_\':_~/|ZW/u]W_}(L,K0VOo'Ꮙ~$o~_uoO9HuKX''WͶl9Usoo|A oٗ_s_ ~?ga&xλxTӦ<< -ڥws?ooyO| | ~G:{.T>|8:< ] 7VRIgKX#Y=F_r*gK7>ҟ?i~wω~^̟i?n/X o i熓vs\4+m#MG`H~ϟ'2k k'b3cWX>bi:|8÷_so!k'lIscW/??TxCCz^sheO'x7NֵCE5l-gyo:'>oxHjoxR 4 i7_߆k£-Ft?7':?վ?9O \Wƽ+Z_2xr>aQC2X,|A m_< 5j ?~$VϬ~|8lƏgo^0R_,BkfI?ࣿf/7~5;7|coUо"ClC|1Դ}`EᏃ) M#vD__|#O{.] g+{t? 4_ucEޛ}K]o cB=*u+ո?5h]xOx["Ծ)? l'ūd-\}PuE]rMFYmmvnyra>;~׿OI<~j >Z?f>g|ir։_ xR=*5 .n/0v?I?o۳?f~2?hmseKAx7K]s$?6/zRKHԲ>7~~6eA]0h:3߲l[_U |&^ýsڤ^=O'O6roJğWH/hk?jS{44v-MkA:8 Z!:%\7mB<Xi7mw{ d"m3ǟ쉧~¿ώi/|O|OG;j |jZ^ 5N["L$L` ?Q5 \ego#<_Z~߇"/ZGE f|~2|VѼsk?ZWïDמ*z6)oscyTl *?j~>&xY|Q|W|jN/~ʓlVONo`K[- e6|<} .d^]??{7?n uVcMiI%W|7x#yE# A~W~gS;xR{K?b/ZbIV J=b}F2 G.ymO_τ?go_ٺ Bo+6^Vѕpm']?k }W;0x/~2C n*ֺw?ai^vc5ƗĊtHn M=PY?I{ u?.>/~*ixrf i z/.CXn#mkpS|>6/aH?d] }ѯ|49?w-S=ͦ?dx-G6d&`6w> ~P;_s{}l_9<_+_aOVގo<*̢KPZAi?w>Оm/Kҟ| cVI|;W|A"kvcc/ZEvmed dT)+f?c߅^ ?1w|k~^&j>T'VG)Dڥ^~~ȟjI$G٭ ?ࣾ<+}E׵a#wk_3|s |P.|bTtH?g/O=/P4mO [jǡO1^ew@H߷GG??d?L^$+w"ڧ|q?bҼoNHKP$*ߏl?cϋ>W$p<-G|_4cOk_=Ɨyax[,KEFR>?R'> Zxg)~?oM8xh?m&̃&6U'Sj m~P&w m_ȟi@ؚw?z'Kk?e߲WƏ|>?>ae[Iw2fYlc UN?ࠟON„ύ/?rGy>,ZdO ,hZC~P+O  ;Y~ |7?;o3H,' Sm[? ~? 5 x{P?[ ~=ѧ.&׍Om0eK$~S@>7h^<=='?m+ۧj>ee0h.m/,5 xB*%ݬď~ƿ:Zj&}Kgt[Scݠg7:mC'fD׺~I-1:X[7Ih^nU=POu-{FRtV4Z&yME$"N@;K|[EfaBmtH|5miңЭ8m JEXEE`-Q  mP/ Ag_۽f~)^^x\[EԼ!=GǾn mA8€ CoC#F<9x:^x^_Zf7A[Ӡ-aԵ/V0Nܓ+!_< 8#Fe-?Wxzvy~srWvEцҥqy?j,fE~T=MCzO|Az^΅ w6֗ghw֫{ik\]Nʠq;f$tP@Wgo_f_~Ps\ot O gQO}oZ嗆1 F[{SycWI9?ٯ ¾5xk-ZKܦ/vh0\'d4'{|a%xHWim~;h׆>jz2M֬`}:;bY"Q{ٖԿ|u@>r ,FDUumw}^gMo [|'cW._H"M"B3@7צӿƯ:uϊ^5)_߇Z[nmUuMRma)/-m(uo?>/||ѪfB^Mw_O~<\ZlF-ݵN2 }7fx/}o hc?)|euV7>(\0$&I{M73YcI?cB9^9?foH2? ++pGq@e>4Cٓ?MvKLex? .4o i^~4x44Hb1e??eX~ʞ < gKW%ؾ Zjɨo Z <FIpԴ7!|Fx]lFx?<⎥ !o~x3Px3▽G\XYk<b?ݏ/!sCo6h?WO4o>xA@V)y.Ť?lyuwN/Me T?o_}ZeORx7EԬ>.0v~oBt_CԴ1K/xVRүʹyek@?/ r(;|0' wd i'f_:iZ4¯ Bgj%3y '{m"gxRNԼ[;>Ai}eqȹI"ue%H4Y=xw ?j?W:M*MwmOx;XlbTԮ $y3G/8ִƞ?jOԬS'ïib9fмO֑}L7vP8t۟a}/φ:'+5>:s{玼7/NO)ûxehmZ(l+wxQމ} i~#xw~ HxG[́YWP_4O:EԎox}:oݮ}A|TW--/-VеͦD0a/~-1|@? ~8>MAmυt R|%'Z߇ xOdŦRi-u;i|K/(V;¿_~ۚ+kƝCxa~񎕤hV:7eR6iͻxr+YYY֖~imaaco ZYƱ[Z@  TDP6]G}dn6Ь婕DY@vVQ]ikV^^o]AdnA4Z5ܦ%f"3+ TZNKk xm,5Hm"UR4]WHb"Z]Cw ZXNFf9ble%Ea#\:՗m˟ |Rg 2 >"gǾtiv:_x"fi-jzJ_io4lp1@llM͝ԖլWP6l^d{1wUv֟Z_X_[Og{eyWVQ46Vӫqmq ::u$A/~:[-\͇!KOo q}#I3e_^06%;8o&$@?Kj؋5? ?hH.~8xĿ3>%h5;9>i<g&:9&mO'|K~+|A5 kh|?|/o|E|@njj$?Wt9'<|OQz~_xXއ[w /:|C?2|/wkz埆&x'^<-u[k+]bGNjz1,bdy0W`@:sto OBѼ/iZ/7.Dt-MNtmMO X( 4(* ٠ ({ kOX~^<6x2YfxnKim)5/.4oY-kr-b#bt׆/sgxgº&h|B B 4*HOc%@(Ni (8ψ*|A$$@;ۗq~"[G\Gx3ww_>e|+0xS߇WJKCݜjB[+P|`O*?[_ l4,X|_V>& ߃NifwO&y"O+ ω|!'~Ζ~F6Neÿw}WǞ$<|CwliV >PPmk#Pt ߷KusUeiwIuٷ?GM{_eexv9,4?P0O#N>>9ڃ~0x[=P薗;m1gg^ (}u&)_?h;|/7/ xG s? \,aO:\~3% '@"Ѵ]'F[ﴋs0ǯ|e~*LDVOm)5}WZχ7\:{Y@n$[DJGJ>n~[E^_=+xPφl<M/𦻧^M}e◁oyH i~iFLj♬-%pZverbU ( (> s>9'Gk^Q>kZ[>WemdӴ+mbkƲg?ڷ d&jx;7~xҾ~%X|KcCI<ͦ]IIuIç%M-š6+M|(O /CWŧpZ֥dΒ9bg+ (3ZtoiE]izΉXZF_B׺vE=弍ʏXH /|=a/O> ?A5;w2]}EmlO\I,\kGf9bI (#[t-sþ$5-_u(N]bm;Ue;-BHW<pe:w'/͡<C/V~#;EZwNgc@K@P@PcRn*xO\ᯈ/3>!jhwzh~]"Tψ<=]K)-綆f_>LwOxm+'╼+etXZX|L#<ʠ ^ph1xOo@?|IdTz߃ - I_d׵j åiEkg9Ҁ}Io?Ƒ^*8~_ s?uƛQCF&F{B];XӭmӥȐ?{uwľGN<]{nRM֧^VSL~#t[iiS;s_f6O?*5O:UK@-gKXu8xcb `üOg_ HƝ௉_F/>=iNmIc:֛Ꮚ~g-eWMFmX@tP@P@P@P@P,%oSxR=֏š ԴuվO]=u"x;᥉'kso.ۢ~m њveߌ U]\xd&Wx&~ci>!4T2+` ecoz/<_^8ln/w7Iu;?^xTK[Snyd`.?tVBMkn5{(x(<->!Wu뚍 JU𥾥⋛;l[eCGaٖAj-EcA]͵[m7IgPӧmb59gpMO؎v.5/> մ/?o3ž5׼B~^975o|GA=.3xSLZm}l1ux0XZ4K}OY<;˪^&kz&dn$OjpFA@;_Zƛm4}]{l]Ο$;wVc5M pH~)2fW| _PԼ=x@wNZu H ]CR$n&7YrP X5M2hZ>jϣjUl..@myQ@:hrjƣaXDG-wocg3km7RE =d('ž24H< At kg]Rѵ3KHѵ{)n[HՔMx%&j085?Iծs}/L}ſvA[) mt?@Rͼwy,;1Ҁ,:Xjzu Ww/G`xS~k^~I_!OE<-yxG.1wԵm+EzƧ6*.+ks3dMu$Q]PPf-x'&x]ehPY$D A"2ľ_'"M41e[slڪhVyfqݞ(n0txcŖw~[[ .@4fS!n빴님Y+"sSt}5WM _");[ec%Ա#ʹv=Z5hm"q gXte$@Pg/'_|񇋾6~)k|7Ï^?(.|BwxSӚWԴAevsO,a@??𿈼o>)tg&es6gpΟw E#)| ~~^oxrY:[k:ݥ&ƺ׈WG֑= Kh`d1"(|D&}/;ҭl5k+u6>ext /[q@@xWDռK}kI߇4>V5{QMJo=[U&Ӵ+xIfD4R@? x~8-.ЮYγk\j6quj E*8X& Zk~$t}[ėYwKu?OuUk]R%K$ #(aȠ gÉ'|uk96l!ahv\vą$pI('ߋxS:􆹺k kN7v3n.m͝mtnX1@u-WK٫VU}R\1H"p984j ຆ+i& hfEKhD A"8ω_t~ <뚕֍JZ}^CV~g%(X]ge0bPVzė1i:ΕKf.ӵK-\[V ʑڀ s^1^$thzlk6뚍XB$+-5m,`:@OMŵQoq42 "c-KVRCcx:fxsR y&j}ǧ&q1i1H-htrxOjӼIbkM#_u[ti.-tVA <[O,"Bh 'z?:τ|~O~:5'V7~1x[2Ɔ/ivX̖r:BETP6pvvqq3@ɮ㏊? fgk?oy|)5~|F|1g-[ǁ+Xm5m~X-w f@Oٗ-x_2>ǟ4߄>[?xJ̷ wQŝn)YRēZ(^T) `w{ï'MJFUsoxiizfO|wikt8Nm۟^, 4φSVͮS˿ ~׿,,Ϗ|Fx֓ xJ]#KP_+xjig-?K (|O "Px{:Qo^|Sluֵ=& 9hQ8#Eƫo >"߉|"{6ᘴ(=,o9j;M쳴_V.?wmug>v7:|4 :($C>w%s̱5K?j0 [牴ѿh~q+uo ٘ [-඄*֩ Q_o.mEsyJukOF[^_E biO_w5x|V:?k??b d<)ῄĸλG3յq{:h7ŷޕX /C_߀;emKK$-ޜdF+o>2Y-?+hTӴm;ᥟ%]C×"/|Bg]>U 2(7}ix ?GWS{~&_A69CX]ωo|MҮu a%SIe11bA(@PG| km3g?[H?|AFw'kg^,Ef}.?g<>O]R7^$x wyI|Qq_~|}Z^-W(wtMWvRi"+X)>G/o$:ǫS[xIJ~Z.X񏍵uG[W5+ -m$&?_(|$ׯ<~ x񖋠<#7-|E^iۡuvf6˨?i*o8dh鿳x!|TΫ۽~ cGx^];wVhH Yjӿf]W@SuQum Wվ%x']aY4O|3Ҽ[ e'WÝsPZY]D^-2̱cQ&xR>ǁ,ny _ M|!+g ⎓jz Hڕ7S|?=?Oi^.}goOYƱgg7CRWYw#ό m_ ]? E}g@?ۢAzW:_Əj u?n>O×F͝uO C<߲-ſ`BOڗDgϞ&w#][^" |:N/)ccN[}?ȶOɒ?~&=_E ;F_xĶ߲>v _5^([_z ,չ[6ЏǫmOg}6XҬln?Z4kOi6ŜR-auUh uOwOŞg_- ſ t߳돈oĹ.cмr_J%״]_[ѻf@`^> ߵ%|vuMoL>"|p>M"}ľ֗FቴMBTQEJFnfpK|//OqI=*mş~#5M[MtMP}[ÑǡMlۣa]> (_&5_߶*|K~$u"{i3msŭ{ENJ[yFi 64QX?Gh$|?'W^;K Mn[]_S4 {h^n.6?h`X~9 ~R%ǗԵ|-:'Cfxw]>|q?&m-Ma7,l༞ÏٛC|W^U $x6Zgo|k[ᦙsK-:H^y_41q \j!L[Iov}վi߳g LGiQ#?/ýk:#Mif m_[7-2xo-5h|, @>|/~߳x^Ѽmk)q/ڬ_ 2j/oM?|;s9_OҵQnWĚtťXFƯF<# xbO ǯi?*W4j4K^!Ut o◇MzCދe,v&ӴN=swsu|@yC{ MῈz߈Zt_|F?4 A/%:X|'ηQ7o-ΐF`Yk Q ˨n7q2P[!/ #|pO+oMg_ g׬xmGhe/nop-= xOo|9cX?Ov/|E4xW^|Mx<-O:޹5[1 ̘2FĹpJm?`/Ou|UǃYsLJ<-떞?/~|EN' 8մV:r -܀UA~;9 OzN{6}KVï~!LQV؋1P.x⦁2XjR+{2ÿ_YhW-|/fS0 -nnb ]c?ͩj|YN=V'g巎/|uͼ%Wq|/7MVKRy-hѹ<yISKz|Ik`$t}gS]JDF_ޘ Z?%>_~ٿ\?Dxq~/j;yO|g?~Ro:O{o~gK~F3x|1;>+Z{ts[vϪHu_PѴf ,VX|ZVOw;Ҟ"sǟDм)o7<]__!S u(ṳ-Q S3/fms '3J/5߇?_z_ixkWzw6oVk~.y;K+| .,,崝 =Šo!("!a0;( O W\; o^5_^K[4m;P-{Xɦjw~Ԯ.6VKg恌nJ(yUPmET\@Q%`e}M: x#bmCO ]fw x3-s/Lj,Wǿ ״Z4֠u&JgAaK#ڏRZnouZGzƃMf6д L>e~{Y5OZ##mwXKP7)5S}v>U9~οw|  n#t&[Zxcӵ?7[/j-a[ ;O|I½WĭWKxឳxOĺ;BMk> ;mg my9 B%GQgof?h~> 4> ދWEB|67hiK+<*{C{?xXQ &XE~~u_ث|kz׋/|C4/$u F o ;חr!`X EkJ>Mx]k=儿όgIGD׍hR lnSZG_ o:> E͚Go n_{/^bPMm-ƥiwwoeuc- ctO?t־$gm+Ok^EtHu+iyѻ# 3G_.+J^\ou_Ju7km~zi+[ºŏ#<'#ipAtˋt~Yh!־|Nm4 :O rQVgozIךbZp~)1o~x&? O~~Ϳ E{{?xpXxM m񕤾XZɿLVAP@P@P[C Gh_? lj?h~/~8x~Xѵ/_ /ڛCZC-%V8$Kx?zԼ1د/QA^kw<mi|ak6uƍ{xv6nwVjcw,vG>I?oO^.? \|eoOǾ,mmexS^'G5/m-|E&koAg?oC~迶ǀ_x+~ǟߌ ?i_ 5+*|Wx[H,Vz53[v(;рF~7>lK𕦙x~ x!yaÖ^H.-./gdR94_e|[ ?ikx!č\iw4^NjZ 7/ PRFqSҶ/g6_t]cot3Z՞[ pxsN$|/}~Yj:uxºՇgkmXj/uޑq6bҢIm(}<+!=GE>2O'5h~9hcQ\|?㖡@6hI]ZV7˩y8Cor/ٻϩ&x7^͖75/h>kzsBҭź >(h:6M]ຫx];*?gt,~ x~RƸ?i_᎙]f<a_Ǘ~ Ont_O+7'ڔNs<'~=k? |ayo?murƞ+V3OxWj%ƩsLvAZ?d+]Nmm tM?0/"mRLKd[+mNmK/bF߳~O G}^ᾜn1DIw{=Ɵ|@}XKƙySܽ\I?o>5 |%x}g ;h|Cgyuo|]7[ oİFVh2O u%{(^V (   5-ZFW}OzGtZSI_<_mCh֗BKp:?쉮|G,?h_k^k??Pgqu<&cuDnog(S|gχCMCju}<<55no/4|4-LJl#|.-[Y& u:yc MOQxL/j_Go!i~xAIX|5hO]Os_ [66okϟ.G-k5z/^:bz~jZSh>U="ai G< UPGр%D[xi3F:)+@˿/x~j #v|qu7^=|QK.^WzV,v+ɡA ~җ^#nj<[Ri~,5曮hWmU}Z kQ6wçi&y>f/W?xƏ|Jp|RwV6x}&'m,|8`l㷿.PV+ oO\<kž|2o.xY Vޜ ㇏/v 'dnm&X!o# s^hg炎wZc]iGzguαenogOi"RʣP@P@P@~a|Ai|Iͦe׿n\w?_S;Rͩ[jxwMϊ? Z n3Gŏ>_V'?xZ19 _[x?_~i+/ [i&n⻲[i[0c|Oj5]GBSO,L{-[H[{0Zauu1?χ3~0=55|mxf +~.x+'/'Sv~,uxxD帍w\yv?Oؿo4)$y$ۈjvV2A>{>|L|'?Mgw`\ k_~?6H5so]BB?:^ _u? |9~2|A/U~>i6{?HtWH[UYd9@?Wd8tO[rӴ Z*G%B_Zx|c'мh sxuYIOrlSe?]~_9fvh߶zSj5~NcKB ^i]jv%iuk]Hi)s@?og R|T<7|;oٿGO x;~o^;]GZ BKԒ]}!|? ( ( W5kBKl4wח[uop杯YZˣxψ6:ea(J$PdٚKM-'=5msJ>&G }[Eգ2wIko`t8N#@?%iBi>j>.K2H< tto:mM&) mayd~)[Z^1gxw xgP(W>ջ?vD>nu:M]7|_Pxc~5ō&3~G|9-z|q)}w7>0XuY_I@>xQOgƉ7Wÿ>(r_iڟA8jzfj_'~$:^ꚝε\-bYk ҴȮ,oax-ЬH%?g{ &?01B]蟲ߊ:Η7ēŨjů>̈́CҵY\2 :ÀZf4KE4~!ئ/mݧAEMݮ< =EZY<${h@?Ah>'?gH[bҿjcğƯsG3tA':[{+. َt(6so~M|/;c|o8j6mosiNA &m0S1 ࢿŗ> ~)>#tMCM_vt/ƋcuamiӤ 󥴅h~x? .tGm~GMV}uX4d+j:Z\f;s! ܿE1|)Ǧ|xW<>(|u-? ë;U}jsiC]xv夶"F?h_|Dk^KBĝkNoJӎ|7izƝۛ-n]at" a&]~g#OO!j:$Az'oWV-F柨\h ߴğT4mgM{-OCuN`A sRP@łQ%Tlp =e/6~*~^aOĝ?; ,o>j3GկQNW=[~h|Az\JQ[ouZ{ϯI~ Z(rq>Q8~`o Gk?߈^6n$֛L{>q$_hpҺ( ( ( d?D>%~ -"Vφh.Q1=CrKoUҴ;៌?ioGU>ui>}emo,mv|0/+_a7XA_ ?NmVt^V6B>EPs@LY@k> U5Km/FOZ>Iھ4]4?OV.~vA.39x__;|u|(W]DZއ >LO tK5sb?(-wqqxf?4A־Vws x/C߆4\xuO f\ Ծ,?h?o^ d!J? A}KC7-JoޕK!xA7[6b[Wl`"''x~ ~Rx'oͺ~cIR?tO i^;Q46#Ꮘu c[c|_t~9Hp߿ tq K+x<27-ѭZH,.C@՚( ( =~)O~~-]Z_? umg Q)Լ/׃~*7\-1>M6߰/Ѽ;?ƺľ:>'[t0h5?Nƞ┼񆙩ei]i/@?Fh ([I]kO#FSIm:io,k|ͪ?&޿Z׃j/cDν/jf=j:nw=/¿<5k>6724Ԧa#KP@P@P@P@y\0Q/Mw⛿x 3Չ^kgAb-͵˨=A+:_K-e;ϋ>?ǟ4|119D>3i /Y*OѴ9j:xq6ӕP@P?Ak~!|*/uVZMCNRxЮ+o:宗hͅ[Yc<>> !Md ~GxZ2|:Ji S~ڈiBZMNI94P@P̿P߳ xτ>*`_h;9oڬ oCg5CRo:n?-~!~{Mǟ<#+#~Ϟ9Eo [[?O|? kO/łTt`!2GT ( ( (O7.|8' 5|1Z>u"v/m|pFMv:nhuZVifcipq[ZYƩQ"P.@P@o_hxᗋ#|x+ ,/<]_xYevv Urr(?V_E?|vo|^>v]xo?~T:ׁ~|'gxėIet[`>Zlě ( ( ( ()3ǃj~ xE?xKyU2txPx[G iR$Hw(q |$_|6uI繻6:tfG?yh ( ( ( (k[ĭ{~*᷏|O+ѩx~3?|O;Pڶ^bxO2Hz+gr=2 ( (ip~п*~ x o]7Թux!Gi>!O4? BPo4h@=xD?`OëOY [j67F cupY[.['k O٫Ng%[1^s O { PM Aǎooٯᦍxڦ_W:'[9W,,.nu {%[M,K"D@8?य़xoT|{Du~xDg~f_eomsϩq @!q2Gx?~OX|Qox_ x7[HI|}-m.݄J4n@;7|?xt𮯤 xg!W֟>+;.`x@7|Ϟ8 +>EM{_zߊ|1g_x] CE^Mv/xJ0 xটQ}j k?fv:[¿[o|O'xf6kR1fÞԵ=6σ-jIu&M0`~j3}|Co%]sxsl}9,K KI(BuCq'|} Q(.|l|ΗkⳢōWկ| ;2oˮriѼMi}6w@Eo[bfY,&~ѵ]cS'o ioW_!2^5Zd "h׺%4Ds@4Pَ<ޱO¯\WὯ`NzLaѾ'%x[YdkY}b S @Wbqk$/>Ga]>$[}o޶LonymaR>Εjg-hF {) x%X@TP@P|^߃5pΣOῂ4/c?|}Z-ͻ^]K! bY9PO(&\|h_axn5?d>F?mSKѯ";_Fwo*i<[KzōCƟ*j[3~)i}A95}-ይVVI~p4l*jY߆;n_[;l~,rj.,oxtC߀e3i:G{k6enz?dgm4 }/>>» [&a?h sgWh< о(xMyO3ź-fz'|WKjZv12OIPn;̈́Jswo%Ь'eԭ5K?~ޯLn|+^7h:T&[*'d%#$p2xO]@?5tm6_}>G\]f|;uw -Dw\agXZ4_M׵V_4{I~!w |4u}% L$~4[~!~ QT+P+~7S⡩h %|sw}:Coe= kki;|)i?I?eO"fo_6.bk{uFfnEĻ5/^ye<_,nfJK A]LGiJhEMgJ>^8\i.{:V*&-|oi_M=nK "0Ioÿx^_ hzA?6ڋVoc{Ǟ^c u[\̢ $pW k-c_ýGlMB_ISOh:+S罁/  ࢟o U?|F|H5K/x1π~-S"mS/ozkD%,;V;ȠS%^'4MB־4uվ#^l'šu}jU%}=|>w |[~Hү/5|ms47#5"@P@P!>eBuσt-KZ'2\\l!$PCGPx^4XY1ip>"|7 ~ h~ߌ=P|!GM{Z1E=-|[ZqKj$αj-h^/xS1$9toM?0!!* A2_ ~ |iuWo~-0?5o[F[:M&-SP3:N@>ӿoSfu/ASVPt!Mqwye Gk߇tWRfW0#~ bWgޫW|sxC>!|ou9 }Au Zld;dQ(;²;7}/):LJ|+scHƫivj|)mJX|n#hBx<24AI?Gl|{߈[7{ N_xs3=2+h㺁LtZ+V6ߍ|M =Ⱦ|@ݦ뺮uO٫R麕jw Id5ep]{L&ZrxR k<o8^=#/ği#BUI$vvi,0\  5xö)u h}.kM;su-GN~;k6M fxcM*xS7xsǚx>^"?+:47[g/GTTkHy7@c/lt-4+>i)nW$4TE;R w|8֭aoY$yyyD૿ޡw3I3Ś% q鶟u"m@`?^+_MVτ)|;ִbH kwd# w/ Gb(h |6/|S|;xWUuM>y4[ɮ{%cG|yv|i콤kz5}awgC/Ŕ~|uz67328 |?{|[G)|~;ዿ+Q~Կl sJ-<({sHֵ? cɬ.5,jŊ.$¯''C׼#?i5xᏉ"wUj_ÖQ𖿇lKlBiHy~=?"~?PX|3=֍GKx[K>&ojvwwYb؀swk ?d=C|gӾ ɞ#Y|3.|4?훠|4q i-д-1>jêSܾ Y^O f?U.OP?c?4BOه.ᯊZg<7ch~3?v6w=bU>|99?gJ5//ω {9fvt|xg:4ç@+o6/_?XUx-<1g:-> D{Q.5xnGkWP-kgY_ilIj6kWT+?8)V9WLY~v;Ķ*?|A^:7+߇Sx}#kRۣXwioy}?L/tK{{ 7[>-3>kzWjٛV>e׋e_5oZ 𵼚KՎJ;`tOoT^[x/3|tڏ_X/w9lZu;oƚׂ5m諫Ze?h?vFɓ %o5|3uk/0Om X⏄ֺO>͢z>9ƎE?iz==S\?-졠#hؼ;xK]ҵ{ /`/Hlt'H{*Ӿim趾"K^Gml]2WO8@?2 W ;ſoBǺwj7Ĵ7jo6 x[j:MٞSxM..䴆`/_ `KmUx_ o4wnWOM-xOexS=r0yi=&濈jnKO?׉<o]?uqO֧+ڏ^6K|54+7'֟º׈ͱJKT?/~7=Oh~5jF/t67<1}ѵO "M!n=,DMib>5|!|C<;fH-Z?>0 +O7|=>7xZ|#eg5eCUu-o||2tYd|s鵋d~M{X)x/ÿm>Ûxt+ <*bŴuٯkks'Ok^#Zƭ ᖭox_ ?e9GR+V^åIbu;ӴnC(b,G(Qn> DM[tcs? /J# 紷<ok#W^_} lj.f~>!ke$"MrHR4?k?=~5 u-x񟇴CZKKg/[@>%|.lk2/ u{J ڌx_ÿ%7^_AgYOGt:z?/, 1:Vcw'_w_X|At~K<|~:ŝo<]q{B [MHD~Ij[`;o'l']OTtcԵ(-=MU~Y~:/|3;^M%嶑&geuw;H_cs~~ \|ICÏ;L}W$][G+$ɇԘ~þ~Y|z]C@3S| 7i]k Zïj>.jZ}silhIyDc~ƯEaH^NJIaxJ? j3'[OMĶI(4Y)6iPǁ4j[?d~4?kWڇt;tz46]VK _Wz'kZg}kH ㏄?~߃|yOK 'di; z>Лf _G;>[~!d'M}Z5kN#xFq|@&uj0\Zi| F@X>'>;;EzuK: _>:R?~>24h[F[ȿg] &DIF"V |%c\l;7Q~?/>k5/'.eίi֖VD&>ºvSxGΗ^k 4ztN^^O ^4mWVvb5ӭ|@//ÏcY-a|(<~6wß^>&N٤xV 'n$J0K_`xVփ#lj |<3]Ge~ɶ>džZA|Uiy +YA@c߲iOğ ?k??/?k/:^9C?Zw h~1kv𮻫j5u;.a5<`8x G-gͤ8<_e|z/6vڿl?৿+ $tC.u}c1HmcXHO-x Rmp l7šq0mG|+ q4 X .1mvW(B-WMחrAm $b((imn&k㍝ V d`2&/n_Ois`m-2p񷎹^q:W|&֜aczw$P3P O4T爧N5NrIYLHEIɮ^Q[jco3YO1zgheVC@_ou_kP%.k .x0I'߮[OD%u4QEQEQEQE|Ke֭tM5og {fș| "6zn?i~ƛ]i^ :n0D02&7$)RkOѣ{?kLr98VSw\'UӴOj="wň1>k pN?mko Dw/jm~tQ 1,n&Qy pOZ|3-jʍ[).-۲Dl@GN kѾ%\jZ0t\51G,W k_eA +o&d1m(*r8%Fys7ěVm?Q[y. vCWq'Ue['j0IBx^[p߻c\Ž:;45 6SO9f[YspQ-Ž6,GJ[ٴ-m帵(X J+8h@j#~uoK$l8bO-9`v;9sw4QE|B7^ a_'-l n?>+?$?_Kḻw $!0@ u~4 ji3wm K-2r-Ϛ.Bƪj(P 64An~6,zjs,ON": !P0>l6cD7+Z-FvcyRJaCXC]G.; ϔE2:i=mf;  k[ZX+uiw|T2;&xmΫh֦ "]GCl۞۱Moz%Wzum .B޸czг{k2M 9]ʊ2xP:.b(;CѬt;V#( n;WמϟF<)^;WPEPEP#K>DŽ|]d/t*FЛu,Ovr~GÏ:ӾKFH2ŲрG9EV >w ʒuWʞ9ea¹}?|5BߢbX6 UiRtBy ou]oMgMxKw>TwHlo0}c/ SBY-Rʹ#1+zmv:Uakg օci>tA)cmUP6Q+f(((6:⼗ݼk\Crq!՗'acT׭?(ݸ+4צȆ>Y݃>X ϑn;s@_K ,4jGIď" P1lc$0wxMmVBVHI*xӰ*lhU ]Mr x?!+Q|[ :éGy*"ؐ0\۹VEak/i@\Wh%@Ԯx%Ե=셚!3^^KȻ+|UPxI4ӄvWRK|-1gJw*~M^h5 .59dX}k^L-'$Ebͣ1vI/9'^Y{^4lX., ?? c^"k;Z4$Z CtMFg^_DmpĹyx; Gh7'}#8cxsUHw-Υ-⸿gg>_^O?Do?}zx:ƥWsIq!?w<$#SѶU>(K'}gJw*_D%u+a脮 ( ( Q.=4o71[ z,Ƌ.oa>y4D,@m${!|~Y6\i̹@^~>03G&3F-W<ߘ9uVb^xnH-myN8D\_}3wQX\xF햲lM"ʏ[]i5^jֶhBS,HY=8И' 0FYWR>#,4'F ee9l}+ko)?@R_y/U$K[9k֓/Ҽ%Kg`ᯥI^^[0 J$R((((((((-oUg+s ޛ{2 t0w$^:WbN{FI4[kZ9Em ;%~<^: znEwugRhy1+)5?,<%yxmέ`&o;<<{Wu\?D@"^pm b@Xck,~1Wqk,BfdFNw d:mZׅⲵKW,+ \p $p8a^;=yId`Bx@4Yz_o ~:ھJş'Wu +^$o ڃ  ']Q*o2D\ ɣMb3J;Qx_k:-]K8YQ_j{yg򼭻q׆?gGc<v<)ϥ~!5*m5ʬAAkh9}K?DuQUui.H.Gb+̾~5;(5mF/<=el3+8W^O+㧇~x蚾t!I&8Z(_,WZÃ-R9\5%>â3N/(((;X4V]:!^{IA%N[.OFF}ҟqּ! \<5y?x~` hů kzI@naKi!WFH.HY+5{HhKs<zF/=n?66QxXKs6xVXPyawY/Wƫ]n;b+P|OSdF욿OCA??o@xk~&ӛWfD6ZxVb%>ϝV6$*| 0[|Z_ZW?qbZ4 Òۚ"7Ixq_Dh ox]^h+sFsd`/2f|{}oቬ*$|?' pѫ@;ݎ{mU5_ݥnVR͔%%6[QIڤ)9`|->"5F+ۛh[2)I R@hG }^/>*x=jhsjyOۇ_t/]W~^ҥH7I8'g jVEI" |eyȀxuPxkC$MyYHQ{ry#N=+f%!G"K&7ޖoglsmq}[IJ㏼{3C/nMޡks6mc Q.،1EzW:GM>.> ָgGw;>"PnT׭w𖟢,%NmGoLcn}tx离|is #W~kgYfm5adaX ?kJQl=oI%*͔- )Ҁ;_XAƆgy_d67zlLcIDgnO g9a^\kuv0LP1@xp:=J+v3y_{`E՝]3Z J@i#P~> >f_5Ŧjz s^}3,=N{gp4TJ='#O:g.2M2*dN;_8F?//)&J.l!|*z𮈞ҤEvǰ(I|͹t(Oz>71^Nn`n,ȓ;D]y˜{X^-xy#ޥi#[ivYA ״>~K. & ެDFî!Tex[]]-wTI5XXmdmL|ݹ$sӽzr~=n?5yg#P6˭JuO=mXG$+@9fw)|ogyך޵~t G\$1a?V׷_dLrZ{ltެ1=π'k&/:I̷;wv~(qx^WFd c91}(1Ar߳o/ԼA*ÝB6m<孜ĺ~ :iXZ%đ0n۰s?߽/]]<+nLƥ\,sןzG |:u=VܘI-9Eo(>Ns/:èxOYk%14G!p1Ӟ(\xR?Y&m\ғmk'"JGGU:(|^ΐfHmo%uBGJ'=J'=f-Ֆo|A#xW|1xz_j/RUn%w9}MÚh6k]Fݧ2C,wL>e$<x{ƾ<}k#󣷴ƱlNy5KcmA-w%Ɍ1MF@~29z(ΓᴷVcqK |B鞼3~>֯>׬~*.s!8k<[eZ_OGu Zv[Ae$fV5 fNx=QϏf ΗxSMV=:jv|28+C&+i/.mV7-ɿSgÿttٵ>xP viH}a^EQE ,tKۨh"i \1;A=+>xhеI$I򇘊3c-Nsma4m=UU۷*;M7ڵѕuKI!F$9ރ x#G۫)U"G '=a>cjcfa1cM[ xޗ}oY}6v^x>=&Qw$c޻Ut8ךP{?BwHn+?K`k?2O}o?`X+k[tQEQEQETa臯bO~$WIu:tdc99#ru]6Rŭ.H؂Z[g燍hF>hH*TdfkG"q $XxfO$(((c_ h)j֎ ή9@.9:'' n}E^Y4jRk {(~I6[l݁uS*? {8Cѕ~ |-&YGeb!BHO$~xKV4Gq#FcN/nP@ `dcJO$ Z_$)i~c[d!=H3W-ඁ(BhT?jcW7:ul-.nm0M,*b29n&xFJ֠k3Ʋduu!2>n[Vs,ʌdf#(("Os (54vq3܇%C@QSԾ >/1n1U$0IEW/-~q<x ynlyׄtf6usX\DYYw&շV2QHɫ^U1 <:奍uk,mc*mHTw,==b{!-=5rIwBr= MrLItdK$w,̿fYHYP$2+,D)_XmmpIR1ϧaZTտ1𫟅 {?2O}Iw goֽQEQEQEr?x!ؓG8կn綝)bC$X Až.$Bд6ycgi,˜8 ( ( ( (1g:[WTVUEgtꀶ=r_Nw:j$)k'ͻq뺺o:6: 6α̥p9?EwmHGQ'y 0(+-GR0^A+,㞞´h z6m:e;hUTE jGs<6Os,py$`u$X%HWC ((hxaxYcm.} (QK1 dpK$N2Oo-^D<@]Tb@>=RU*,p2zE7QyG4y#tldpFEKE!p 2WxpW8:=J(3%m7_jz{XhK%~m"ePo~[G()p !]xW]hgΟ+Om0o/iec\ݲk<6VS%EY%I$'Chv5Ժ}V]Hf c':׎e}֖v m,6kv>]͐,:;qhua㻯N{KR%!^D(P'˘o'5l2#4\hF?"Jрu+8_G&w}ķց`AVs(((XF5 p j.g"]ST2,i#.rg$/xW<5oۿ<6ƳΛUd Io tN^ W6š]ˋy&m,rk,LfFFG+| kWtXu溵.2Ddgclx c k;Ğ& ahl`;*ɃgҤM/H5yHbG$@c"66^SJd3[%@Ͷ"6CA^ܵqZ#UU\ lI"a8StI4L]PWeY6a z9xA vՒKyo#FVlaqv@FZ͢f !g%Kdd3Ok/,~&5/mm}0M){7#ZCu\&mVZ=Νwp/up~@jϤYDd67Vzt1"y$2:(ROA޼N57M 34s0x1Ao xSI>HPGߧڑ*NY_+}.e@R@'ߌv&gM+L,,q'3^C}>--`_ILDYܲ^9>!|c}#gto)戆r0x0+[{ c#ƁKI&pn9x 8!j#մ<ڪ…!E-#d KU8#k23 :ElOAiBmp 1#v3jGEEs>\y$Q[ ?3}Ou&[g$S3"?boFnw-> -RGk $̰J#3Vls9j_Zᴇmkt[<ۆ d?%^w;UY,bD#Xc YJ"h x_jL.t˚L,Fܘ܅ X>9kW2簵fѐOh.|u03z/[h<ͦja'}lÍz4.2Ms^&%༱oZHt{=ipGpJ9>=-yu:D#kv0I#H,,<5IonvT)dyo]^vlo!s CpaK,|k'&?+yG?)5#|[\zQZ54J.UސȬ\="LMWVі[y9c;aFь Ţ{}g=гX3p0\q`d~,|)cκRX5 N ̌3=׌4 gP/f H>: '_M-C.-ncWY"dmx4-.NJhcyφߊm*+oEmܖsݤ!z,H%NH8g"<5ΏZݥCn((#lpe tG􆲷 ZYf*&фOcG-h\ϩ77-LScsc,c1kUj(U* Z(((#h^FUAf8_IQkHV=r 1uAaQnQrpeeV)pp9?".MkVye$GSpwqH%k<_wzuueYSbwֵtɮ|'xv^V?kĭ/'ڒ&20/B\2J0*7o5_jpkv~KPFY2yc:mYxe8$ +h_4PYͽ$ :J|Ts"v !MyW]jxsJCw p. 1`L%$VOXtgc[<iҥHޟ)JT  Y3Euoci&ΖAo 6aGA?y??k^,W._`c_6oI,`"R@ YY-7~LksqK*%u)Z2M2V /]/zp!{6M3ȷ@Mˍd5xMu8|@5M'T -[h,ĞSP`~YFy֗∢ӿ:m$7>`vh .2+ M:+{{xQGEڀ =:m>PF}=Y(((/ O,}$ePoؕf&d)+".X#rX[ݏ$8w9PUqUxFi״- [5]Pgx;0%X?7`9u+HUVKI+~|^!s^<X55OVm$?9n%1p$p qMa4M&{ \IXOFrXI~'jzivxϣ4H!Q9._0@ n=T\[K+wqkMNtѬ೴BYav$΀%-!XL%b?zFzXMX^C%xۮdSe9LwP,?)7 ^hGZ wm*X/UFReNAB;x,qOjqzfi~.wu!jUp d,U I ?sx".ѴאK3#, ,WN7=Xb$8D(o^jY%ť0:2O^EMW@_ =Z[_\? L+'ω ~T*[&[t$lHrȬ˯H%Cҭ uye1!W!X8':#L66 X] atIYUgM-r nŲs$s-eiR `;<6Yܸ~6rÂ=9t.cic[%;ĄRYA'گW,` J6T-"$\9cKuk(5;K;Ky>͡'8>s@i6֫ i s"v37785~._Gq$Eb's >hRS 3JOVHi(d6FRQ]NAVVPY|Gnm-%?evzCW[ǺM$rIw]EU\$d7":+/M״KQ̌IuIFTw"Z(xBs۞h&ky@S :jƈ.!3\}Y$m' #tW;{=icqr;0>` #85/ij\{.mmõ̊ q[6ٕI,Ue?ڭbc(m&((6zMkn]ߔ7.RFq8 KSK[+ח' ď< {\@jzrfE."r0rKI岖&qsn n{1Ioxb]%Cddd5<7oyZ&QHk,6CT3()C)V sOeB[Y9o8Z@ hTmb oe CZO"y?x#80RpqҀ6m.E2yp qW+@נ֮-xl2&DbW|⢸^nt"%rlQ(Z=:Ư&q A4H.IPGCzW ŚE 7,n(m"a1\L=G+C@J8[k`JԢO4chcQӱ>wx|̘Y#>mKqg.݈pyA/|PaEeYM̀DG0V t>/Ӭn%ͽHYYB,rzQ\?>ed;#[D,rqhhւY.DMm!.Q (.X*Oh:qHac *d=hb$ᤵk{$7RM2U*$s5NyK{wr댅 J(tE)\%0k+$E/˷r^נ6iZE40\Uf]HEPEPTotB^ŝ=kt<;*T7_YiyMm?.%$;Q@ 2y8uKI#ԭZXWGT=QԐCVcY` C{Y;L܊8 4Zi66mn^DlRFq8^R4o Hf}BL R3(eʎFj,a[C M̶fNӹ 3@c}Bf6w w$A jrm8HuaX˱Ks# $2=jͯfmN0BZ=ldgu/> xv"y`g]_ZMԴ9Z=FX;"y8NJ֢-x#= W#q󊴾9ZxB`{I$Y=;|ii}o4lՅ3|*hYA%imt0PǽoQ\1Ѣi$U0Ea$fޓKRͽ0z¡|u-ym"oexG.N)(v((95֥ ? VXq!wL>63: ;۲kבAbĄdPQéV))Ki=upwg$`9 xTR4tGl*֭ې!O^0Q@?uOC|ğdc݉7WO Oj\ E*DS1 |qP)sM6=fbTVkRNÐ꿯['jYKhR,?fcȒG-#:Et>ܺڧPBoтHw5maFlY fl!^3آ|w+nnKyJЛHm|<+_<_aE( #R]7˵a^hOVv ?O2XC"*?6Z^oZ5ؽE/~ 6wuʐ܎P/ yqvՓSDԵFى w;q`:Oùe"в:u%•e228s.5x|ue 2e69^G<6I F`9*'Eb((ZҌ(5b~“<~7~5ПJ<"%ZcO,%099PF9oK{DuK k!P YQ@,aKXj2jVlì$YzsUW"vn[ >?1 c*2 Ub? =sEKXu=헉-mob4T!`V,p>sq9]sPԎg'.Ky b4Q@\xMFtm=T'َUm?/!"8'|I Zi\Tcٕ,HO(7h((  (I_֭o -G˞XS|QE^m4˲}FKLfFzgjqs{? 궲x"խc^Z6%#HzQE ,~hḆO ~l9PN :x'擤jpއ"8Fcljh2چ^Ff$}%|8Sl2ς1j09 O !_pA4Q@ocKMRݕ-nq=ks>Nr,a)kya 'J(D|4m3'FQ`wOiy[-r)6|䱷Tl8ph:]/wu cmL IP6R+ԏ- B-5O⦑S߷Ƙ,5?k_zĶM?nҭ++[!h#pmE[z=O)AʠV?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP? iO~:x7BcMS~|" OĚ/o1-vCi%jVqZḜQV_OS GF<H?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTygo-_^c?K~*|tEuoߍ6x~ /hz>_\钴q6,O %@ڊOz'R?5؃ @w GF< C?=Ѩ~o?,gOj,K*?O}#F5CRbD?%!P__ ǿ/R]y_AOڳB,t? o x/k"|/_icx-I`{E薷(>  |S#C ( ( ( ( ( ( (ggCU$fr>Uď'6 \뺕ljAA5;=t-Ioh{yL;o?? hOzBO= ᭆ7[>x:޹[_Ρ>3m.#?GDWxW |]cᇎ:?y_67?c_㏈>3| e~7o9._/Oi уI%ymeNߵ%C|Q8+?_?|qwiڣ\MAa\6 Oى5 \%炬<#xTkOsoEa-cYbM[c ¾'4>(ßg%3U>s:/ڗR~ο < #Nax5]gMҵ&=/p~~z/Ic >3xG/ڟ]q|8~_m/ /O .EKRP(m^A ko|a ko|a ko|g?k/~h_?eڷ>4/cχ5o?wq7/-o'Qr-j ?OϥmOڛ>">_GN/EO8 hO~9h:'$?cT𖗬[iZ5/ ^7wVK(DRkGr2 (<)#??঴~B ( ( ( ( ( (>+O(np_y/j_t|<`~OmZ^=VFh b# u9|Ul<|.7hxÚw |O,4J:?Σ6xŖڝͫٛmPvO %W}KG|G\<[9a_5o|HA|' q_., Gt4j';]'Ϳw־i^.>Oω¿-'?x.#xZ??gǟ ӿc_&.A>)\j~ hu6yk {7k8_?QҾ1.C^}Y +[|Ebo&#Bk׌<+ VG4kZ}0\vz| X^;Ggtŝ&u/:45O<>E{Z_h|6opot3igI_&SR>"/<aJȿ[[N:xY&wya7gKpͣivvVlKhA_T^,hoÿ?|kOf<99k}'Ӿ%xhO_ߎt.u=MkerYi|=_"3zwi赯S~"1R|jJ]:O_|ßxcڜo5 o:lgO].`nw_wGKxe] ~Q⏀ZONMYxi+y_ĿxOO 7`Ӵe5mb R`~>?ղ`_ſQ:3~|Я~6Io|6qJм%{M/×VքאVVZt'F|XUxs㮙?lO߶~ Q>.x;㞋PsDE?o]GYV(e{K\=5/=~'Qgsog~1_O|Ҿj^:l<k#M6P}]]N_G>#:':=ƻ<5K_K_Ŀ'~͑|~:w~4|v;O?|u+ ~GǾk go '|U?H(XxL.^1_eK7T |t:6wMohgNk;/?T~+SN>ǟOj?>6)ާ~ߴGgR6<CGi-o%"9^?L ( ( ( ( ( ( ( ( ( (Ag~'Ɨnq7O6x9iѥ~kF2y&>xpg9GD?XU7JOGi7!r'VE~i xއ?Xg>WۦE464s>o3l,AxWVM gum?fA@$WւWoHP@P@P@P@P@P@P@P@P@P@'VHg ?xӬ~o~o%τ?f߅ F _$_ixl3%GyGǟZ//;xQ_>-k}m~xCXgfTnlti3>Sҁv'o?h= tv?|=v~$A^[\CuAf)Y&мqKSᏍ Ǻ$מXc{ߍV>$51a_ {I%Ͷ%`MZ~:|SGߊ?6 Ꮔ/ x;ğ< п[IGK5Kk+>t"7I")&KSM_U&G!"66}TSͿWo _QN><~1'c}g7Mz/pZ~/$F Ւkھ,se/?{39W:𯉼.[|?W-▴?6HtRu8h<i^|Q+W#hy'RxS o >/ 7𽎧kD*k7%DPnMw3H=Oo&_> ^m?0G›_ p^SԾ"kw":ƢjDwӡ RGWِ>|Mh#C ?%c$e'|n> |]^ᏇN/ $>2l|=g֩ijԱEsywq4 \Rkog&_M_ȿe?_/&K_ȿ0gI0'~A~*~"|]~wO ĿW8 QEg}qmqʓ2SJڿB (> e7??doPT9z P5s AR>ߠ ( ( ( ( ( !?GG+>=~:o(|9Gg!O~ 'ß-">UmZaݠDvVƙP@|A/I_fA5G|An>?ePrg$WւWoHP@PLF̃P * /V}A!@~^ি{n>h*[CgP@P@P@P@P@P@'VHgw~_1O|7\~j_~@s&# P ?xò؃C70T<2ms/s/WßÏ >f[=/S\.on<ϻg$ 6[zgP@COO/s^0yLž+ƭ>$~ xUмCwJ4]sE-"+kH]AQaþ~o3A C5Wϲ;7, G_@s>_O9_gWIռQS4=s?a :n8Yn?'wd#-?&?w/!.wO!׼#}D;/X[ñ(_cYusgO ^|PևmYOli=gGG}uxZ&#m,%Xm68TWK?cg]-[=~ɿ<;W+ïwRxc_!itu;keԵq7 sO.tIt`rVwF^-w^߁>+i~6?zO|e_ῄُD᷌5= kj_g.A7`[ZeALF̃P * /V}A!@x RGWِ>|Mh)P@|An>?ePrg% kg/v悥=?V}A!@PS_F̃ T}A!@|A(y ]mO՟oHP@Q CxoHP@>x k#*[E# ({ |QᏆ^8Ǯiaqᶗ?UӮ.AW;/?5 ֖}Ɇ`&/\/f?o)6]q_?G[#sĖCĿI?o~ ß_x;~,(mo}[$JGeAVVV`@A/l,|?/O; 7_  Wmk;=D杩˫$7JVF +_ bύ,7xz79Z}xFĚg^5MSFơ-^}:y^ )[DžQf.$WւWoI+Q ?Cx ՟oHPdO_?SZ }_}A!@P@2O2CT7*Y|A(y ]mO՟oHP@Q CxoHP@~^ি{n>h*[CgP@|A5nA?jP=|qGPO =j ~H~B (3 Cc+Nq|P`~7E'g|Msk<9x_ |{G:saXj~4,m-"<+'o._L(>  |S#C > e7??doPT9z _?ڿ̃ kAO$( (&Ws fA(O㗫>ߠ?e/?S_=?4- (> 7?doT>8 (CK_'Khz~~B (?ি(7_Ǵ>~B $ǿ{S_y_ARz/oHP@[#NjG g߂_"xsď|Ow¾D ğj^_~j7Ѧg$0\_k_z̯u~ETҬou=NNtKCPxm-mgGeDE,MxOړgxZSzp鷾!ռk6&aux_Ŗ3 s4Ҭgu [^cF`  ҿh)ac\׀.4X|ao|6ƚo/|+\x# |)]:M#YM'U[Yq7.dO_?SZ~O?_'T?^~B>  |S#C ( (|ِ~ASϷ$(CK_'Khz~~B (?ি(7_Ǵ>~B P5s AR>ߠ ()s fAWC㏪>ߠ> |^GWT^GP@'VHg?S X~zut&[ g/ ~ߵXgt~Cw|RB⵵ZkMyHݙolRT%K*84r_ j> |UUx)=m5e4ˤjp1s@ӳL3/i__'{Ś%>~߲!&|mi=GI@GƏKwռ1|RӼ9KB n~ը鐙nJև:/[O[v/]OI~#%ÏC/OگM|8u OYQiO)XiJ$ž1k|;/?V/|||7~QᏈ_~I񆙡qj$}K7ftŧWT|An>?ePrg$WւWoHP@PLF̃P * /V}A!@~^ি{n>h*[CgP@|A5nA?jP=|qGP)۟O YP@MPo2ڿT7h*}Q+ >G>.3/ xට$xV񟌿o)Ѽ_$<]ů2j̲Ysk$27k[.|k=hsElS_ӚiZ[:@oGMiwڏmmu+-e.%HO*e)iEs=Z&/.ot;YYxK/5k_6w6PKpr_~?t߲ߵmk}?i,|%S^%| ߋ> G!?>;\ɾo&):n}X2~пk~?Ïbw/஁|nOx ώ4x;N:~z ^hv,ݴoo3 (<)#??঴~O?_'T?^~B>  |S#C ( (|ِ~ASϷ$(_'/_S |b>.ڄ??>#xc~2cIax,λ_?욆*[F,Iͻڅ6})7Ut[;Ynt -GI Sxzq]| q㟋m+ /.yA{=x}V|A5nA?jP=|qGP)۟O YP@MPo2ڿT7h*}QZOn`F ~!x_foU 7W O-Cw3x-_Dh&cVt3k=ͽ.#Ҵ3XWem"|;ixW g}C{J kTu__6u/|H >/xL>/P^4<9?& 1x~;.g?]J->E]xa>xq|NkТ&az|qW-Ť]`K\!{ ^|&'%xRx+Z?|c֋ij$u;;h-$~e'VHgdŏ?O 7Zx*^}[~/߈~-$?ePrgckng4'CG&?#._a W#?o۟ۖ_l/oAmcfଯo7? ߱%ooh$5nAbJWÏۣ%=/X?x34{V<]k^y?io,϶8݀'-\]P@2O2CT7*Y:_7s?jW⧏ x+Qm|(< ʿ.:fo@IԼ#akėz֭%_H{~[>./ſ xFA^i*| |ix#Ěw^]/'V?i^0ӾHKX-?tkj5GWU)%L65ڷdξ>"x:㜖8}+K~%[S>i?졥oAn\~>j^ ~%~߶/xuo"Ok4z5֍uY\&c{躂> 7?doT>8 (CK_'Khz~~B (?ি(7_Ǵ>~B _ei+B~~4 Qn> t|^yk~iWW ύNitoWz+{sj6> i.}m2_iW7=K/¿x7A{^<xo | o5W_#,M}muOW^xCu_Ii8a?סGB񯅡t_N^ ݢ|Dk۟'w+~Ͽ,ug?.|mOZҢt.QiSR_⿆<[-9o Pg/5%͇1xVUyaa{G r閖la( !?GG+>o~_ď6gsh5ً?jKO5>*Ş+?ξ3>XxG,;iս֥]Fֵ3  eNO¿x?uYe?x7B=K%pH@-t>kj|h~|RMg[⟅#_M4o+ǃ,;.EWuM#T߇#Wk;${ WVA"0X GMk໯S^-_Y\麥SGjMvy?+~!tm# u@gZ̺ĝ/z~Rۏڳxg_ݧ4o^XJG]] 5ӥ{YNTE+Q ?Cx ՟oHPuO'߶#ox^$si7-;>)b ELrOF_DVHmBYxV_xѿgI|O<&|,[k ~|8Y|WD^jlӬ|;{ëj7x|Fo-/KV3Ÿ |{⻏_|mA~.]9|oό^-Յ oNu}k-mQc@t>[ֹx ?x~-|)] ]j^լ5 ox'Ě|e6s^0oNј\XjVSΑ MPo2ڿT7h*}QxYgdPl%|xN3~W~9'ϫ{L?|c}{8t[FP_MgM]*P4ӖY_m}[_Q/gH-"h/>\z߳[|b,&ܒ[ .| otɿKq!i?:G O3㧊/w|QG޿tc/:ps_?|mxmtCR%}:wS36uoً a'ڋE8jϊ^~˚oCAƟOGcWasUӿQּ3,1. ;r;TQ CxoHP@͗?ڇߴO{|~Vm^x| ( x3×^ښ~"Jj:׍mmjͨGmmkK {oeYx{ӵ*ſw|dZϋ/sJ;@sswO%f INJ4x^ g;o@ƇisB M_W5w}6-B!PY 'G?!w>"h'\ Xƾ: ʺOV_tx^D5ZKG|WYH>i ⯃?AA˟)E6ߋ<3+x6)'@<%r]_K[fileN9J;-uX{k? vgٜh V#Y WFe`Hfoò؃C70T<n>bEPg;+ H?>@s&# P ?y'3o.,|-;uoQY ^2k^#4־!xCjg^ҧ#gE}aŭߒS;Y~'x2=OHQkxgB9siew[{F>_:m>#Zs{隔1ojXj6 W;枞=!?MQ$ I)|ttp]|U<_MGA*e7??"o`y3|9vWs(| ?WVxI^If.Exm;ɯ^Ӽ-M=GWe'>imWTFɴ'_ԼQh_km|9]+H?gmKRo9xAEy隬Vi iʩ'p9e7??"o`y3|9vWs(| ??_MGA*e7??"o`y3|9?Of_ٻ $mo!R֑}T` (Hj2')?>>ߠۧw_7Ə^?fg\QVN7Y$YxѴh/3ݼw.'K[B7m50nV~y=?h/O ~'_m{>mPm3b~r?|Y\u;|~џaW:#,4l.LD6'}=}Ҽg8~-n~xXx;NO7? ",ZӾ|>`dž~'|;0:;Ntc+m.kxGk[ǯ(Ox?//ciz|>u=.+şK׺/ag'g?_ s~_#x;὿n1m???OMk!Kw>&Gi/`kym-2PğR xǿO?{>ֽ/xT xKE2x#)+巄GKj6/5;BJܫi? }uھ#s[A|CSz컨ўE~V6~ } P[PZs<[৶ SO7W¿o>4eďgo 3xǺڷ|OC_=\/ -p#89rݾ9M;_5/33~!+:A3=¿wS*~$|'U |=ϫZ~jZvz(:x2xBepk1O~/ <I x=_ԼHaeu $.lȬu? €> |^GWT^GPf'Ɵ|: /㯁>/ &N_~!?tTk#O5̡Z.7 odx';Ծ/_ SqYx_'WXi.-5I1$S+[/gOjd[Ɠ]^:_ -f/&Hm'm?V~ne6mk[Gkgsya [־u+ ;_~6Z쏠xt[ow?h Hgk=~-7$1tOi+Ě7$VV^/v {oࢶA^?hw?D/|.~4~~_1|U{ۍ+_;-K-I}woͿOO~ֺO|2N.;StߋPxK}S4&#5Vs|.ҼmKW3\N&G)-哧/MA@'VHgL (>  |S#C ( ( ( ( ('oM}Ku$}A!@P@P@P@P@[#3( _?ڿ̃ kAO$(?noM7hiOfV~^!O?%_h?ikƟ ]J !|/>귖0^ZMSDqٽ|C 1_W_Yr /7=<)CᵧO|"ܺԷ&:͋Z Dz?MHf[_fOߴ{[??ǀӾ:ǖVG\^K=ҮnowV? ߲53ȗh&"Pf"~$}5mj׽?P9>2iK+ xoڳw ,+ @oKhjo$,oZx]M){ N/|;I |u>#­ٛk ž7DŽ~7W .o] )6گ5[HDm<4W࿃߇~x ?[|4 &mVU&|3m;JleԵKɮn(<#ىfMzP@>x k#*[E# (kWGiPm+N$xWտßun><|M_4 ×P5KOҮnѠ/s o{>V%'ߌ>ԿgxLس EwOkQ*uw/,=m²RKi}g$t|6/~_M_>Wb<+C<+3}{cSi'źe|> _!hA9k'n|mo+m|{1<+Kh xoN_?m+seX݁t׆>46eseOաK5m}Wǯ? |+oF ]Ɲoߵ_&􏃿?fsV <+-񾫩_ />)=5ۼwWcY?hO+ß<1d㟏>4~<3C?,_?5v ǣ]ꍪx_Qլ..K]ywW ?} IGnBy߆x?߇K|27Cҥ+g!Wks=ة,nCZ7ƷDX<>|Uy: HΩm'1 O3D?i7ß$[i4Oq5%Ġ۹( ( ( ( (tWCJw=FOГ$HC=Q  ( ( ( (Yi}%YjR1YY@7WYCl~Axk 98QOeؿb};GP|c#? SB/|O1-3𕯃5C:7ׯ>|\6E[ӵ]Gƙ%Ռ|=c|E3sx_lK.@o<]Ke͵E׉< Q<5|.д~-NtwGKNӯƖ Q.cNk/|C|f|/^|'3^4h<1}wkVԑ޽꿯?P+ ?(ߪ||=? ߍJw CAϊA4յ.nnc y@F7jKॺ7>,I -ڲi _kW?5)??tjAme{;Haխ_R 3K[M(|;Ŀ~//|.5MFx/7|(|%e{u5k+E|?sku&c@r5?+g|DtχI&gčwKÍ;DN;?'j,B~2|1t uúKy}CY`r&~-_->,|VOxD^i*xſ"׉6ψ5]4`濴o? `߆~=I~_)3k%g* 9|#I!k?/x]CUoboQ4mlT4x٧5~(~-? j>OG4j +=/>NW8a| |/־ &w/_@O 烼58|K-zn=v)F k"|AknWiV~*W|Y◅uk'W_G:^/?g,>'nIo^J]Ur gRx7Ğq➱_ a Ÿ^ L x~8O Zτ>hjV]ݬ78xCI\~7|QK6!?F_Ø|7?e׾%xvNj"ծ鷱o+kc/% ߁>?8ҡ_r}K^(gx'?iO-Gf'X4kZ[USI>[cG?mtĵYk~&6i ZF6]Y )n@l޺\6 ( ( ( ( ( (͏mٳv.ݽs(` M ßD~ɿ"<' 3Fu2d&AоH7濟uQ?_?ᮿ0oO(VG6=0-ZtoG'GeL:Z_7KoaONvi:?“O/PMD;|W#VhƜlBE~}-~>g_w?5OƯ_>#'o,oퟱ_ ;hv+ݿ_8o/o #jc}Wؼ/"`;_iye:kO*3) 6Ǔ ak s -o_c!?5?EBmzwb4O& Zkoρo'W,@ 4w+_5_b32?[ ;?q@=ջ~B~̿_?i/c?h/I?c/N??Z+Oh̓-aۨ}9_3Yd ?/Ofv42 I|1`2j z.¥W{6s l[o`j/ov3o?Y`+ j??3/?k s/ w'_o<7Bm8< o(? c"xa?eAO?K7$?5TxcH'Y6AwOɟpxWWo |oAw [ S'!?jCh'޺ʟNOgo a S~#ۿ|7 [\^?g)?diy4sZz=?2G1w /c;k¦ /fS E'ݠZ[~/)MQkf~#xj %U?Wg%?T׿m=/cᴿ|eM1 ?nϲe 'رؿ>k/O4#ia +I '_*h23(۾2w ( (?JFIF,,CCw }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ? GDO oRίc?.)?؃ ǟJ.]_R?"?\=;Db6%({wauHm<JQp0"?y蔢a݇E#')Eû GDO oRvWADc?.)?؃ ǟJ.]_R?"?\=;CM~_n'/ڳ|C Sƛi WO6\Fini?6V'# z$֬,]iZǚoYxwE7 xw_Mmh^W{TRY&5m!ugd2A~ϟ h Wo:ğ?O.l/~.MgOWbZ _x HԴ;=)^BFCGe~,PO_^-d! Y Ě ?j OP^ ֵ^[vk_G At W׹󤟴qsE|-&Pg7Wni 6d}Gw@|VC&O⏋?l?|];^-on;?x|Yj^/wV³.5#OԘvIJ,#@X~*pSwBcMM:@A>|7[SP~ xwt?=<9z%ΙariWp^Bf_S Owb7Ï { uDx ^1ҼW¯طq<5Mte5 !UL/m&_I$~w_~-h4_߲OWd|~EAk[|KoΗ { ԼG,Yi6:I]ߏk)>z kv >|M=OZf`uM-x-~Ѿ.PO|-_fd#ǾWoV7uL.-RN[+N8˕+w?|9P'3xO j "?޻LFB|NE? j6:ݭ$28di{ʕG?fػdeS9Qn^o|)^~ϿUMɤ|]o{uZS~0J3O Q|Du xLQ[O3?Eh^ sk­#Nφnmu]bS4k;3*:ַ>y)o_>?n ~>Ək_ߍlkWD9!ƶaZOЕ1ψNSMk;_nChijz{fumG©uXZZ[6{;6E==sS#]|gO3ißA5QW৅N־<.;Z>0'VVL/KWπ4_ )ڗ#:3xx +b̳]]\DV+o)h)NjͻO [OQW+-''|5>%7~5R}6\(kX/7N qox?cojT̪Ga@P@P@~f~Zgi1NKU#Ѿ5?+)}/ akWģht:'τZKIh<[teZ|?\ߴHO 5&|Qўڣ,Ϣ,6C-\Ryk{Eo߃>7~-wY?uo~=u x ^j~2w%o|Gqqah'Yq.k@%MSSŞtRH}^I}>X7`NI(sE|YLw1O?MmW?|'g}g\~| xW5? |EW÷]V6 nmVshnKwR6`ݳAoAKyn[KY|hڊ?ω%\xoY XZ{aHtHmV$ X=l+|unZ_xO>UWu_BOK?ı[iQx[H^;[q$.I]#OZ̿4O6Υgdž[źځ6|-Hkm.TZ/j# n:żm+o>|;+K>?գN$nm!욠6kyKTv>y߷7>xkW_|K/ x_k-Կv|7i^v|eMO]GMFvs,R<-byo߇h?|;Q~![FjZfup%u˸e9Y悔bIo7PU|rr$ € ( ( K g~UP?( j^ejV41C^[K-Wquk$Yig _zU&]&_m1Cb͡hFpc Cl]ng/|Pu'/h|P_Sf] E֏%W''QfItף5 dP$vZ-J_]𧏾 g<[ ?-*&ION!aӞU H3@:] $One'ǿ4'τ> Ӿ4x+ x/qX?tկ sŖtixVo kRk [Wlc9ˋ^kn3M=5:?^.]?2$Ii;Zӵu~/|Ux+NZVjR\Jm"^ef^o&(yxdwivͯ('&sCg F_ a>v[KdFيW{h[y1S|X\/gSQDxᏄ$~-^U5O֓ '7|[N% "Mp"m݊WRU3Rտ k'_۳376o_ׂ5.ov_ xU^xCZFד[p2Eva E~[[~x a&/GM?2|=Cƞ!?g#~&Iaдگ{e?\Ѽ#W|1 ^.fUC~֟<-HԿn~ ˟6:č?7+Su i> i:6rB׼8I l};To|=$:?g>|C# |}#?f~NykW%^)W5ѝ$y;= ÿT-?}~ _gk]C^#U4Ÿx#þ2_xm~#EbکbPV8ۛ Ao?O'#|Cq_M '/{㋏Yx37?ÿjdZ? KZ꯬EtY5t/?`fsf~kˋٳC~˚GSV x᷃}|(?yu=V_V%OG]n=?!Ϗ?WZ|q|O jڷ+;o j^ MtaqG惥vLK/&(lBFZSS7PU|rrU$ € ( ( K g~UP?_>2Լ [_³GhK{.o5z^6-.]iMoNLk;}Ǒ?.u⻻]GId<'Jxxzl3IksRլ>0x|@եӭ|=k,]B\O/wS㿇O?rh'xĞ2񔶞e?kXѦ_X&Oe^Ghk7m_ߡ߳#ƿmn~~,_t=7.К>6?ǠqVoN<_s12ڳ\IM)rZ~lO|@|/oTW`ִZ6@~ Pk +ϊ^*}[Z5NfVZj eN?6j|="7?SsM3_-25w6{O o.ii$l㸸Dq;Y-/ QWKOȰoN oc?>6+OkO2N)-m4|Aֶ}&gTqiڟ?BºZgo$m5߉沗ivPx{S/O 71O{[{ۖ15Ii@_ן U{]C߄6+:㟋%ώo/t u4='HS"hA@V~߲ׅ~3g7|Bok_)T.to4M)Y53 34Q4, ]߰v^8o6⯄ߵαJ>) )rΫ\𮳠|u?ڦsqi \(]>d%k53ρ?`m5fK 'Id.];x_ ?mG$w'od)^=SN uw>}Xw^i}] ˱9gk]};)~Oٶ?>% ú{qn_ڃ.rক\kW ҥ;ֵ]AżRխ8F\WW?3¿ j acw@?$?o?2xo #G->*5]Oþ/naW,rZlʮa$OuV ƂZB~ (+#:tp]XA =hP@WQ/z|M 3~N]kMдu=OxZtwͭN#Id!PqX&Ծ%iMŧS?|U+O*xkC}sO B_Ok<%l~S.{-#Kw.xsOŗ{|$t?;K Ŀ jȺX7_ft ̷@\¾ 🁴m9ZYXkXfm@-lHMv@6CKI (ɟSO:Mp:*_ W22 (m#?g:R2?,P5s AR>d  x#?!SY-Q4"l^ ia-?^-Q~>9g߳ſ|R}k?ே"j~!xDZx/|a+ ;oHm4'PNv@(-u<<o|b/|@*4R:灴C/~4xkW'to oYo+yجSPJÿ*k hR??7O۳/[xK|9u4 ğ>#ohJT[zW[᷉|C|/O??h Ӿ|5(V07z/$*z3k-oRPG0Meqv}*I*Hc*Hie$PHP@P@+ۿ >"h>8|/Op> M,$קx=KO[߾KUYPhf⏎ ZO3V?'3~ߴ4gெ>V^&|eZj~"{CŴ7Hk}l_Lo^y|27~c {ljx_%&o0񯇴62[KTdޯ~зO?~&x׌ukO:W x3mwl5Nk>x\hXZz݃խ~__/~eߍ_GM ֩\(o& ϊ|[xCC&x[WҬ-7Mt[%6'tǭ m<9w)kP4]WK&jzc=GykGҧgJ0JPgs%7G ƞ|}|S|5ڎ|L|[k/VOY6u͜6V2V N\3Tq'ߖ?ʎiS~Ka /ѝ~ ??ʃT ğg_#Odh?'9c=O/0IFu,>|$FX*iS~Ka /ѝ~ ??ʃT ğg_#Odh?'9c=O/0IFu,>|$FX*iS~KgC+_<14~}K}#xŸ?a>2m3ög7k6Pji J*.[#Zs;ɽW} \^Úo>&^oI_4˭o¾ӟ·ej\x#kZ-֭wkɱ[3I7߄9|w{BZ|C1|)P߁SZ_~ytI'a7W2[ܫ-4͟ms>.g4ٟ^ NkM/'h浫xO>kZͨլOAP՗(EYu?V?a>_L!O~>3{r]Ƴk7~?Odvw`ndewkXi;rI5m:GH`nΉm_Cw&CUY% kg/v悥=?Vr#q1Ծ|.yៈ_⏂0ZaZ /ooGߋ_xihNHJ{Vuo@|*~9x\x}[7VmȮt[?2jM| [V> k?8W7ß_hz6ύ.tjZ[){Xz\]wR@ ?< Ԭ#g&F¾ $ ǂc⋋cᆭ6Ht6i}/K Z %1!zx?WsOدñ]: ?ƚ7??=ޛuf03Ii(0|_7r?'7|SuoW]xI\ #&? ~#Ӵ(~|#_:-WPt:Yuw&$~P  ( ( (/){7U*z~9 ( fvQZ6aIs7eewwVKkyo$RĤe _ ORG_̃jj_W}(y ]e=?V}=𾕧N4wR> Yg4]CY5[ۂiNQ 6x;\Kt_xgXLZ^ bFM]Lm6 KMB k;[kI⹶O q2њK̥Ymm G~~b4Smy`ᘭdcǎ_v٬zB}O#k\[5wk;3˰ n7߂~zPVм}z=֩xn-F}7B4XY7[ m[<;?;/'[s-k7~g5\~^ি{n>h*[CgP@P@a[_~ /ď<~ J^,4zkڌZ>5;Je5iﻹqA܅oD,_jUQb7h:ݺvo/41մ][@]H4ks0 CTMGh|i~|zs_4ߏ:EK? |?n5+_>%K^gMS@FXp-qw @x_> YW  Y`T}+6- ˽ S!X|YI[kSP@x!խH4,Mwwf:w;uݥ2( f?a}/Au1h?#xŽ#o|1sZ[[V&S'SHjƂ_OO/|exM}4 g4< i7x]Eվ!xkibm[6]WNl$ӦfEv"j]nwv!h>xNټgOX|`KZx5S]Dm˺;{eiy>W맮zZLLu}"Ŀ ~[?GǑ_]fIѾO7?Р4WU_j:OOA)km6z7EmcWMώo(~g]G+g$[dkm"'߀4]R/@I٧qqk<} vZ_?KgOI2_Wʢ*?UZ| o5_Vm#N5_Bl4H.'&7 kke M}᯵O* {F@#W=?V~/|&j|-5~?ă=пb߇_~)ZW_ ]_Ͽǀoexz/Us$w]FCm7{.Οѿ^/~=|V+ Ѿ|I?I#5x;7~!Kզ7VV@f믙%_?_?x/ÿ>8^Ox X~Ϛ]?6-񞕫#P7w݅&N?H$(o(0ф_X4]+?9W_1*j )m}~/o'SQּWOgqyu};@<;[+,bH#[n v\"յ`)۟O YP@x?' ߆&+_e b5m[?M.E~O: TL)cƧ?Wm5=3Ƙ?gXx쟱yk"<++3\3j1բ ٞ=6)Liq=-Cڼ!.Ϟ?_x_/|MB8ӫX>?OS𾫯GMۻrRe$ I٥F,@S4HE8Q*"( *((<{?z/x?Y/.ǿ g:]֫WWP_^x7n.4MN)$D&E vxYO{O2._ÚgÏۋo|K>xῇXZ$o6 Mf; K w]WCпj}4/>_բ⯇>g|} LߵʞWUu.>mnKx᷈\QugfH5iCgP@9^mg_<+}{xKwHo4;:Mk9-.-.m$7Q^+Y_ne*Jiv~xO|y)W6/mcþ?j OĚ,_2~6Kk#P64Tfyc;ͭڿrbkE_xH~֌;{ ^kQXXgq#Zg,t}_#~x[;:Vh'L}t߈_X谓h6s UVi $M7:߷蚾MK]3?ׅj<'ui h_ 5kuer"|\P3 ew}t9Oc!!QVYڟQHxC𧀵3ÒkRCRi$T`4$pSt] W~ +~^ি{n>h*[CgP@|3⟍23d_>f 4ڻ_?AOk:3x\abAN7ZaP^\M;YN!k!0;[Vj}'Z|o~3h_7ş2m;Ñ|m~,+sg}mvlzխ9V; =:QzԿaou~:Ư[C xGNmTg,[ WQ/g3C֑E֡gwc R8 %C/+|8Ə?gYm_>?|O8xjj钶dh5 X줹?ewx>'KZ7A_xSO ڷg>j~/M%uJ.JðO[خRVrVO17C?xD?oُV=b⿆_msJ|߄%NJ|A$>%4mK:tqLI&6Q/x[$jMOH֛>:g&ZǩsΪ%T {l|)1@['L#d>K{NT;;YUk(oKec hַsyPI}(=_w-^Otx67Zv{|;{Yvalb'C x^?gi>$;M? jQ֫/񵾙Cl|3 e-mZϵ1}\&~9|]{wyoX⟁,լ4wžѼE-%]Yt &[Ǩ)bo$qD&MGr]/״/VaoeOo<a}k_e?eog[\=l7[ ͜ hMꏅ?-ыW~ğyc?#A[?1hWr~G F/S]bw0A o_»$Ţ_aOwIыEÖ??4ſ1ڟ ؓ,h?b?߱'F-X?j+bOZ.?-ыW~ğ]+?9c?#+?dį~j?e?XןoxkO3Z-WlڱkH-$"ʣt5;I=W>k_#_ue4A/>&xoVh[oga[V#MIVvD}@ (?מWW#iW'hq·ƾi>+ĝu?AT{(DjF5 Z֨<+<> ].+iWz7iREƱC}voRƒn~C#_Z\_H#O^|!5+ ת/|-[}Eh>lJY+@?;kFƘt=)(1oe/݌?O[_YX[W!SP]u-aܛ^yʏiɯ]-UxoOwOϏ>k؟}kR'5Dž-xw[? i,cn.ܺiب%ߴW`)۟O YP )qxOV|#%]7d6oƏYx[#(ss6YrElȀҿCھx3Sy|k^ |5|Hri߈:΅h3A^ ?h1FP&|\|RYŖZ]Ͷo|rXneQ$o)i:\LoWcه+|OKJ߈_ZGuѼS}#AuxwA}Bmp%8k#~4DҎIy#UkdX畗 IQYʿ~?| e|<3 Ǎ4_x_xCKѮt't ?hώ_ |?cu^/kM {;pj1}K@??qxWƿI|78q dUլ>'S#iEo-/WWdLC I72nڗo>#^+j$Ʃx/DѵiösxG⭋m>hz5pr/mI.hƿMg+D4fDtCp@99W* qgȢKIB[ o(K0zǏ*u#+ 9Wa۳ no_' i27t_^0K O~(Skm"-R΁xEl{eP%ӟѾ(xſEy]?A񮃨oYwCCkxt?OQoC/e<wFDŽ{^izEͬb %W*M[/){7U*z~h?k >"xB~xjpla  .tz*M}<k^UFKezlGg^W[{?w|@Ÿ>_KZ]ƃ?Ä5 x˼h >z]?O4\>x7_ ~6< |;[𽧎?h :K GNoO icrhjwzO:h/?g iny8񽯅hoO|:So7[A_}?OAkQ#\FP =z/h_x55 Hu Sg\ص/!^&k  *IĖp6cB;\?N,h/|*Q^Ⲹsu ^r|Vmx;Pl#LT0ԔM`qj6wqPOfNo| -|+Z7]' tCᶏy/ŭXhڏЯgS[Ӧ>|hgVNߖ{'Q/mC¾"/iwW>iw Vᮗޭr&ݣ6R.,m1Wr&QI'fSs*>#\'k_Dշ"ßsW}$mF6M_[Mm}%ʚ8M)|3_o>4|8'߆#wï+uWZ:sY쵿 ]kp]>u Eծcy63fi&/t^ O~?>x?¿ xS±3O|/.`]]Z:D,&[kvW;eXNx=C153+? |YiD7C|ֵo '|CqkZ׺Y2jRz.G?< V_d6/IonS6 m|3[_u]O6^ ?M|TϷ$(>W?_G셡i?|=Oe'?h!|&  %4K}sῈln-ٴyE l>GOm/Yo|+?e/W xCX|gk>#վ?~١ `dI$V) o*wiLއx }gD2o}BoF8p'2E;O!M ]^4P"Xr NO$?#E?|o ZP^xH([gKrVz]޹u?pO`I{IOXZ$Ldnrx\g'G~;|0'OUo_ş>%gJGk kj.i}󶿲H\o( pRDGVPi;8+o;?~?'ǯIl=OgO|)z>|47+_f]wzwq[^Z\Inα-9%ȷ35?)5|CB\h" Q<&-OOI<L/voD'lv"z[1Bg}@?(_9WůX}Sc fS mf~eDθh`Iۚ3W>a}3UO&BRB?į'JPm5,ᶌ}{3/e?F?iqŸMu"%Gctt4T5!@Gd~?8?$&>K,Oğ',ZU?V{XaIRel~Ӓ>#=)KjC?8l#هοH??IHzo h*L<={0OGO)CxC_M =%H'؛i?kҼSOÞ%2IqI$2_F5Mu8?jx35?<#tV1}Z5;y&u]_Jy^k.$yI]ݏiуۻ7X?MohfqO34F[d,P8Gf/d~?`/-B~fZ.o=v_o;gnV_2WՂ&UP*[&7IG- ?fx}'%7ؿsm_3}nǧ|F.-mn~A_ƚ zPVмsuAhQMпlK9/@SL@kM /#=|T~R'7_Ox4Gv xwռWXť/|"{v_bS¾>c+W..-/]'5m$%n< z}%}7^tYQQմ}WOA%Mqe}gq A" RGWِ>|Mh)__ωfRL"xĿ Z~̾",^׿fms]wĚzFq)Ei<֗Ckq;[_d6:MwW  ~~#V_h?o|?_?=X|q>x[ J5i(ǥ3?_?e~ R5æK`cc ̛߈O/+m SWdi~-o~_?CGkO CKoxJծ.7Vzubĥe~1>_ -|i o Ǿ G|whG񗌭l~"x^ u 'IM7?doꏷ$Q3O|7uϊ߳Ǎo? ?/'/Wy,߉5Y ĻO.?'TOL? kS_% gv?T}A!@C??ßksxKյ {.B[Ŭx{Pҵ9%e",h"(8UTdN@ ǿ?C̃ AKOax~Lo>Iw8. |ߋ|mm#|?Z2x5xu^jYGyacčj|m~ڇ_|K99o ΃[/t35~ xa|cNfڎRU[m$i4ެ~ޟ_ו_U3,D|A(y ]mO՟oHP@Cqoowo=ZC-͵I5żȭe`UF(QUӵ]/'o%τÞ'Y>=iş._Ƈ=4gᯋ$ŭi͠*I,B. [j_?Ÿr~Ծ4"~*eH|-/_W'|^ hGĺiw]--f|.,nչo-4d/^ |uÞ<ޑ5igĿ#W:z^jCx~֦h-m>ۺH u>YϯU9? ?C~ʿg/#'Ag>?8 !>7ό~8 { X?fd[=#yAa}hL?;hoW;d7,a *?᡿e_X3ހ_47Kr20c_FOz}~x~1~_P_@.O[|UsK_54zg š-[LZr :ɀ~|a?_e_~35x('u 0x? >xӯIw4i+:Krl+[Kk(E$bC% ~u,ُ$"_% gv?T}A!@|=ş z4B55R0;9@|AIfAʠK~~+_o|)ɯx3-Ɖֵm)4$?jEqii^Hƌvԩ[3x/Ë^=<9cuggZVbxO+޾o 7{Qm~7I]CMe%u[WM,7 ޗa~%mߌů|Om3H|? ~ Í||W:~&rQ\v)bk_w2Q~?yWux'A:|@>]jWҮ'=Շo5}[Y-;cY3\C̥$ wWFx< ?F ;CkzWT_[F y0t}ؔdV ۟w0z/SSHQ|c>%xQ_+&C`xZ/˹7'ϓ_[ګ|5_Ÿ |7/??֥Ok [};>_Ķ~+YǤ-+{5]@7tӱPKhg߳? ?e/?S_=?4- (3m'J״GC4?Zu3V5k;mGK4^Ot洽)Q W?⟇_'-j2|3doڿv?̾BO /^x>o7C[]̨n.Sg> ꟳχf w)w< >haaoſiZ?mkw5m!+XR׹妡ikaum}a}m\^Z\ij[]Z ŵ.UԂ %~?G?g?<.x࿁2ck4:k<qaZiZ>w o,:u^ + >7?t6M-w?u?kZF "otO! _oCii iWQ]F+懡|7?_t ~JJ־xwG-o|E]jhmZ;xcxT6V:}w_>2: 4Qʁԣt<yh$(,*, I(o {ˏ~#MύfG,5fՋxV[tKڥŴZգ=H˃ӳ>S} ~!oz-_d; 3෇<c~8UNվ%o;?7J]2kkRg-kwۺ?H |6_F Nz7hhS\\Y ~cAO4u4P@~^_{=nA*;OGP@~&džij񏇴?x[_M|7m&]5:mVK{;QxxaU  (8 Z(<{)#??T z~O<c3>+xMӾ22|wRĞ"k<7xHmS? $_inwkiZ5۴w:26#P@~Lڟ}o WOQP@|hw9Җ5 ߣ W9g)۟O YP@x|? x,Ӧx?g{ᆉ{ƿ O]n v t]Uo =⟋1_>%I?x[>0|Q㟇7+Ʀ>!ɭ[k54c;:_<}o =57?ߌ|'Oڋ:N㿁YVK=zKx5$X->Ֆ~~6ᗁK0|1?3̾$mWs$]%~? <-|/|PO9"_kTI~MGc^5_lWGa% |KԾ.xSi⏂Z5MeO ĞZψ^Ф"GO4tv4:|:> [|rᇏYNoEs&ixx\_jZuHbnX[\i^u}eECjp.&ecU(u ^K >'WH(8FP@|AWye]?OoHP@P@$W*/UoI7Qh|~^)>Sa/K?|:瀼ixž8ՔxFHD2izu5I[wi<7VPqmso*Moqo2,ѳG,2e M@P'٦?t/K~[P߶~?)m_P?ɟs|A(y ]mO՟oIůڿ]i?g|WC]>i_!/ mcZ< '|a]Vܷ>"jF4+HkHD8;iv~nog߈OI?? xo]n^j:^Dﮆt|f;gb?si#'<i?]]K?/Z| 1⽚zޫir^YvY^p%wo_xŞ |A߇ |YhjS[}VCGڇm gG&%GPwTP|z|'\!q?#>։|rF.4{Zh5}byY- ZMgï:D=~~5Ӽ7+? <g_ƕ7ekF{?oi\|D@ ( ( (ڿK+ǿ(5Gi~~B ( (<{)#??T z~De 0#x t5DžC?t~xo|_FYOU\4+'m?:hrA\$[~7}@ (go\N%?U (GH`nΔ̨nj> ?M|TϷ$?fzWƏg 8ɠӿ~[W~m߉__ >32ĽsAԮ4oZi ͦy2&?4u$ uo> ~߶;Xeςj?.8G}/ߎ~:|!n?o6zMWFo" RZٵO|$f'_ {?|~ 063| .C·Sj|??ڷ&powoGUxj?|)=Ιh b mWfu kxG> kkCsq;Z Җt ki-jZ[ږ jV9iNt~O |o~|~iwQןh??%g~>UxB<;m,{5w*??؟·g¿G'$Zx?<d̪mg" <[ "cqϕmƫVe~vkIumCG[fA26gh.r{}5>/ၻ8n1*M;^Ŝ_1?dg DI!K0~?Poɏh?|Aג[5߅~&v-V~흅tp'PYP@P@|yZ1mcWAW~^wR߉~-Ixo^i_ ?Tӵ;Tg63FBB֩F'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z&|[xk_g~Οg-7MEF|KOxĿKVw~2g/Ú49eQaU4܀yZM}A!@>kZρ~?KQ}CY޽]y<1&J¶Oxl^U"g@P'٦?t/K~9?x /x?h0qiM#bdWG_oeЍY{kҮ&M+\SwNOJ}g63cO —Wz|%kSjMܺ~4E@@eU*=%OGH`nΔ̨nj> ?M|TϷ$( n.6{{%Wx'ʺ0*H @?O fo?og}/|Er5x\X^~gÍC⮧mm+MZɧjW u5hn]oCgc~%:/O m',?j'|5Z֕නӝussN^agkd`WnDrz/?-61$I5Is}rDC뗖 jj(QD7:? > Fς_ž#24/YZ0vN2=E+Y>؟׊/ a5c.|w|W.RsOeZ9^}^o k^fxO6; U>%h:ݵj$1vt4gkBΟiuw-jmƟhXzNg$nes IIVF[g m{O3L _X[3ׅ 1d\I*ƆyӫI q=?_>|}F+ğW$X>#Owl#7v_i771[jV^j)q0"*Ef=6 ( ( ( ( (!{wvٛUw.e  {|),.,M՝\͌|672NZ'xdxb0h@3j~_i'E]?Oi/Goc'⧉`d_ ?k%ox ZߍEa:Ƌi2/ujZ)/OcK K'~4XZn>/i|Iũ~s>x^j_|?C%Xe;tZQM^siݎ?;/'[s[|?ɟs~J-m~ӿR{gOqoh_eIwEu^j>+o?iz~>-1ih7\A4{"N[[B#@u+Lց^ |yS{|goǚ=e|Afo|Lg_񝝼=zi- >B*5S O/FTTv|?~)񆷯 XQ4 hw֥ z)6=*2:?oϋ?j_ (O_ᦉ<G?xυ]OY?i^ NmVclIpZ֛qa8MIٸNg'c#'_?u=#+kT,Z QHͦ=Og(uKJӛIAR*?=5<\ {+O» K !vzO}(]I$HB.Cǯ x'o¯%sI߈ na ;]ng8Js~!^U*8ON)0#< 5cC 2㞃gZF!\Ew'.|7mOzdz֙{/blKtԥ+=⟁~69ŏz~$/k}wúZXK=Km}jVim{ew 7vWp񤱺 $( u9^Ė/>ux~,>?|5eW"K T*)7gG>Owƿ~:'쫥~3<%a_Ŀx[.O,h |ZO<|SiZ..4&5^nnAYkCʿh5O(on/? /~^2wػ~m}>k/_Ѵ۽j/INCipV %ʞ'W᷇ORdO_[K ;>8|@hZ5Fu_^m9lg@eY7>f> ~ ߃OisxOǛσ4-k sǺM^X>ռg0ΖSA{ U&tWܤ\G.. 0i~jUoï^-c)ρ>,|G_S~]Կ xc:f\~к7-oifaek̞r-c+ YFu5aw Hc~+ß 5]/JOX{{;in1NI=<Y~?Oi]Y>/jh/;u?TG7 k~+?fi|CkF_il֖7R|}' [@__ RI>+kw_>2|q:_n?&lu7.z{^<6P\g |/;? & jo<7aψ^"4dDiVbգkpo (go\N%?U (GH`nΔ̨nj> ?M|TϷ$(?5[ᗄ?e ^YxյsowyAxxm/lּ=Xx.ۦj33Es4|˱;iIxv¿ 5o Li =b=7xmֱaŦEwRA}ce-vg? <~ڏ?h/š?x߀|7;X~z2Ek:ơ~'@xp6k#hv})s?#hA%4/L;D4 F,#H3K4x,4:8mll,maH$XBP(?/E o߇_Sh07|"mIu 8#I5/ tkfҮ& 1Vէat?hYJK цV^9#r<jfAO_:?M'c|?t?gŤMV}ßΪt^?G_j:.q-ֿ*[^K1$5fSϹa4sƲۑV Q¼rFUe`A)I@P\1㟇/ Odᯈ *h֑Ό֞9Km5suzG=kpһܪHٔ>&.Y/h=|0Iu}FQY M{VK 727#?ƾ<Lߎ}cnS~-kZgmǩ^K-ޝiV/mc v_n?z2)$_xÚ ~ x{g_/%ï>-"^-оi&мi|0l_3 = c- PҗXݳ !/cNJ?z8w u~ۚ֋ x' >S➱aZ_j<)Bk.<)i4n!HGNW.=|177I>!|X>wǚ~?Q#rx<jU6!|kn$@O.=,˚?z3 ?GxǚwomAڷ-^%O]֯MG4;Ӿxᆣ~-rǚƳd͢v: qJ,7/5׺w4ߍM_h/Ï~V>)jo~&MJRt+FŰޏޏ~x V%;]>2|mK}||!+|.W )⯆O<=RQ+Mn]Kџ[g~[#E֍?|a/ݾ$k^׼i86ĺsa6}[B >A@2dF'O 5xOԃX{4e3!)2 ;^$e6:5x$~GT(ɟSO:Mp:*_ W22 (m#?g:R2?,P5s AR>ߠ 6ٯo֯+tBqtxA~'jg|7#pOBjKvgQy$~)*]O"K]BL6h e;vվ.PTUPPpP@D9dEdtu :*pA.)7˧G! ic Y_ZN&^C y48S>r'8+67$!Ф%~%x GWd;c٣(ξ%\M} >|T㏉ߴ|NմK? }OT_ x[hϋ4w}?OI7u!􎃯h*xkWuKwGtgG-buM3P[[ 9Xe$) kP@e=\OOk_ |+?t i9/>%^񏏒-6ƚO|gsX 嶕>ɩZ}eK4;[1?ࠞ ҵ CB!]ş Y?w}>]|d}\R_Z ղj] 7 ]?'7ŚZo K^u]+᠂?k~8y῅vVzg-OU<}/iEݴHQu9JM~Oɭx+??$?m_?O*ί4O~dXP@_ď ~:yh/~k>-<5:iw|9yrLBRA|Rφ/#x]B[_*R$τ{H$`P@?Guf{tUA/eldP@'~?Gget~t~eCw&CUY+iGS^SPx _m@n; '_o}/$?LI.oԡxgIBmCm/ /#P\<7_++ GС@r_>_R9'_Och><)CA>5A}O>15tV j4KayQ 0MHOҿ'?=ٟ 58zď^;y7|eVcqKӄCꌉC#wg ?u妣6A/EgbZG65s6SNz=gSV1_Ę-#2E3M['D B6E]TzK|M|𗏼]ƹ7d]m>sRϊWѾ-h? 5Ň6L#s,r/ogdi.ȿ|Z'4cUi"{߄߉~%$k3P%~&x^ZҴ;@5/P(7yvBt?K^?~3,oC?i/]x:=jRjzv,RG,F7>z~㧀໨"mׁ|6j|F߳5?L |/ּ9[Mf.Ct=^?rjF8zxKTzWshi[Oqms~E۳h6xmǗ=j;vཬ/9o`'`Xe``F A>IVȰ7ox8σox;Vky:#j~:ԼΑcMj2j2 Yn{[+VAE (# #_vWVojO|o+?<*񖵲oOkq$)dJAkivQ#ğ?j>&Ï6Y֭4_s ==XtSIOIמ(NBoJ$h6_G3%(iڇeí|,|O z&Cxs?xC~#~ _k:tYH,,Qvx3RǗ^&?^0o)ďk4ZY!cx3/;^ x3_K#񎩤_iޯws'_xuݧu>KweR||&TkRƥ~#k_wĚ֛ww[?l5N[>=ZV!绋L.T9s^?|̃Sba!ۂK.;~S;]wǷ:]j%V Ծ"E$[CIyY4{x3{gɨh7;K;T_ |_~?x/it-;Zxþ-wtM"TӬ|7Qâ[a%)LAwk_C8aD(E8B$q@G>nGs&S>?I|om3 l+{ oO2OgZ3 =}5Gxl2蓄 :7~ OҴY(ϨבT8^ď'l=O NEGГQk/t_:/ 70'mX6Ռy zWzAg {|v!mZ^W [þ/| O=?K/4N_l%ԗ)ڔ1+H|@{x\~7~/音<'4K/GYcs㶿hiuku}{ ܑ[0D+߅-Ԟ=_I7o~6yn#kůkY|I%զ?mcܯ`ⷈ9C㿊?amufOkD5hmoO]ه/6i^ dn ߄.4cBZ1:-Q'Gv4+Gt!xbʑ>%h৞&t]| o(ǐuN<WƫTLd+F٨_WS[Iw:W=߉O/ %֗=(Dr¬p!;?B2XVYX<E|ϣ/·2|n> k>,[J^9G?$?m_?O*ί4O~dXP@x7ǫ/iG$xCAw߇>0ơx >5_ߴY<DSmsk<\\Y;K4{յwCuiwk4wV\[*ծ51i;vh$'ĀU=ogPY~0K'eonQh |Vuүm~з];خ4uBM?ʑf:>-UjhΕAՆjvj:}tb>^_ƍ_|-υ^13 WG|_s]?%og[Vm<'<5}g xf &qHmSv׏,x?h?/׋saӮ>i3yv*TZRM;9Fioo>/' |x/? ۾)[նe>%.]O&Z>S yC%N+d Qz'wOi:(Qxc- ؙ>j9Χu4> .J-|)Sd麶wŇ n[j> LkG쯥6ڧ. JHNegԟ-m#QoogAe:|ߏ?OͿmϱ/``O<ȩ%+YJ0~Vc ( wD|Mkm[Bh֗xm궓XjZ}yeXOUM5;Ptn{H'YyPRؿksPhO|;cEX4J}gFs9M58۷g?goxz/xCY>-~gO {J{U/ xƁF!Dn_NtwDŽ>.O_h<+o*b][kKkf#hftJ7Cr'##'k 4B_T/ 'F}݋o|JޑKsoFK!,r^KVJ+?x04oO]kGNdh]2 H(W9g?xOx~{+txwDӢi]gXԧmbR^I]T}hಟW+(W>Z?dtk _sgďW7Di7Q[(KB${k]:ǵ@WhyaTI.//o.dX5i%T U +##mxk^7~~.|tkޝikk{de;[]2aYͫB -g=-֊P/_x7O5B|qؾ/ GAsOFt}R25pF]U<3H) +\׾9P׼?KAɨ>6Yi:41BP^>G&W۟Pj QPF񏈼}asmOHώ<1cH<-J[kSRӬ5nMĒt,(@ʈ*}w3m.JuP=dPo_?L _W}A!@P̗Z~~Ҿ_hß_|E׾+5i>5մЭiu (Yhns];JԵ I$[k+y.d$0DB1(^2_xW b|, vohڜVZwE r( c?/cw,|T?H|y|KUl5S/CȴhNn>bEP>y3|9?.j6h+|qx>,=Wck#/kMRvW&K1쐞PR$}3߲e&>xFL]S,54-Wx<)BbGO9s""f!.r>>7p;ߍ^*׎]Oh<5'i/ ťGHC`c=[-!P@Z$ךih:ޚOj֬Z^k{{@u9uo7Uce4Wc94_2j~֣(<{)#??T z~B (:xA,Rk}3]Ҽy5-*-ON'jɽ@G__^ᘵH<;ƅoi嶓\u"r:ͭuk!-oMpiٻss!#DrWJs}Cܲg|߳}3oi7_&$ į ?MH7A_7? ߱%oohI+k~9'ys W~B (>"SOqsWGu~g?J{{p_qubfI<)۫+D廰5ٺnmzeΡ6Z6j:?`ԭg5΅5Z|Jo |LZj|HtqO(g+.Ү}W uOgmX^С_ uh K|CF~[]wYXa-EtP@P|`=?{L|?qkViZίsE7v\/__>ࣚu=4Dڅac -bk{qwE TtI>s߄ō< ^< ^8}:mj4<+75|-ֶ1mqů5Z՞kSX.Ptxnkzw|cwE|e4|i XϺƿ*ӼomƧ}-+I5Kk).n6psy_}?2_~ xm/@_|c|Aώ<2~;OOxf%- Wv~ &vh6onF+)iV P@Nj4Oľo?c~3u'j?|mN%m_|eơ}j|O{9th-~ǀ?l>&|274|x=;Y^^<)WQwF4ٟLwᏈ_~(i|='ڟ¯\ +~zo7&~~9o~]3o r!w߈>7­g>/E9Aq\XE8eKYUx{h$_)Zö֩kgwek嶟ti"57RHEzn֟ehjVڞwgp[{+Y%6 #2E^ ( dM+Ka 65坽-L]\[O{:GAJ) niMT WNj.?? ^6Yvy3? еiE`?? ^6Yvy3? еiE`?? ^6Yvy3? еiE`?? ^6Yvy3? еiE`?׭'J4?Nbl<+g?3nsMLv~H (1k|&/|^.|~i<}9xGFg㏈t[+{;VUo}$V~߲ׅ~3g7|Bok_)T.to4M)Y53 34Q4, ]߰kk~ϒ| 4b4I뵉bs Nֺw[R Ÿm~|K?u ]/Q>-M+P֮<KgawͭjCmd.5xM[[ipgv~g XP@x;x3jg|+~xwSe/JVW_M1"}?[ͭ4Agk+&w>XG| ߎ>!ş۟? Wx? =s<9OzpJ{獵z/Q#?|0'hi;? |+o蚖kF;[vQvpW#hP@P@-3Nl._OtNԭ`bK{;巸A#SP/O-߇м[ O^ mڏ izhV mj6dR@qZ?x/DUះOAwxk7 w⿅%h{E_CmKO쵸Kw:o@wB7 |RK/㯊$|wwj>^jo!Oi8}?A4RTlA&M~$׈%i#z?=%>%Z?4/ҥ7:߃>#,6j~7w;+ .;FbM{\Q񽷆<W^6e6]MӮumek7þ64 :yu olR ZhF[ѼChiw mKG `{yB8FbjJktR~?uFj:^+vŝ4k;yUVIVV A~ٟM NEoݷ?~5ּC?O>l)ᏆZo x; 4=GNs#&2F|C+Fw⏁YX>0UFxCNjM_:Mծíq-=-"fYJ .|4Q9=#O|M$5_)7U ?~OeOz2閗~0Y[ [mw`|M~~5燿fo? >+? 'R-1x^*χ??Bx|#m.Nj-f[6֬|]kSg-=@s ~ }G2 ӴoX ~˞a/qI5 |Z~+uKut_CKH)n |+X__oCM;㾇>x=s9˦4(IqzΟ _B)-sY6=x;}o<)eLmnWw`xQվ7g lt%d|O]%g?/O^8ž"|L ˥-WmoVNl%oӞ9w~.?)~ ~ OvE_Zi&YwV:#[[s#-ZI3Il~?Gget~tKoG3r€ ( ( ( ( _'oM6<ݻվg=@{?<-2+g ]OßP4xV}Ė<9xWV^dPЃש蚧Yi_^~_|9o$6x?CK}x_[LJZs5sJsZ>F?k4?8OPz 4U4_^#|ep{ºC'V+=o:$}OLȺtya8訥iG= q~fXsLU#c~ 3O(g>] v/7cAʿ~?j~sgج(?ZOv<bO运r_c8ҶSvoLD_MC~ٿ۾OH۷ޝ_⏆f?e[S?[^:(J9 :x;PhĚ*qheDfВԗHJE;W_ǟ7֏ ucŸcdojxnhZ= wo5g{ uc{Ggi?;QOMg߳?JFIF++C   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((j" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?_],t8&o"} }ccxV$o/^k L8&@ޒpqɑAxc+յEU4iXh?UA"6Kợmiq ׂ@8'T͖Ȏ%"OGB~O-cuwԀH3~?:',G/?7%hj76íwor'+OW}P'~Г}#ԇG: i]^3qkd4=ӌC`WCcMSI֮tZZE-yԫLGS\ׇTAl?q@ h:׉cqh^pqVE qN=k?<򪌒tpK?xnjjϧ]*8 pho t`i!8 Yݷ Oi fPʱV؂? 4jiZ厅eNqY4B[=HU<PqܬړjQݥ#/3Bbd h?w ~l?M;?&X5:MHO-o/3`τQd$F~n[[ЮBjgO8Gέ €; x"[ nxI:J*-3>,NEa)  UO aFX-ﮂ$ fUqa t Al B(#1i 9LJ Uq>5!%T o?M\xϢ<\Vg1 t[MgS鶋5խFʐN21liRIPO@LJ#Ve@_O@Q$ri~ ={O nhK2OUW;-FnivZz\\(_<dl d@]nm{GʹVip,'G^k_ p\C\D"bEz5s_x7%률+/u^iz=gokcmruc%;K$@+4`!S@~ݮi֑inWCI 'U;G'|; \h#X9PbW$>b{Lu旦i>/V6PFM'O5gSOߛF 5 =kt~4j2I<'i78opr9]S~"OX ]17YDaY)Fk??tj𶟭jd1l72ħsTJ]?MKazvbiƄgvI <'\i9q5Yb%;`b9#?(G5OxF|6Umo:)դlhA s@TMWᇌK{vN@`' ul4<+OL'N"͸8^?6\ukk=SI>u^i4=D7M36Srs{:Cmj~i6WR;wdg<\Ҭ-NMFE񐾹xn _)Tg'fp1߭Z—>+|l#tHfPTe,ŅrvG>:Yd>)u ur?q<|qcw$_iǞGvλ|v1oJYo,,<9gnS!6@F4 ׃7û0]Կ; WhPM j'Ѭ#y&x3n Hvd/,C`kO35Xޮ6mm' pQ4aٺFݻ& vxrkkucCǍQyOO4f>^Nn%crUN>nx=u P5==y 2pUsc9~k[/+V!C3+3Nv ,J<3U1zdJ<9GL z}Ư)Zޮ+n"VDu[|RMčYhi*gт#%Fӝo]'~ ݻnч? *_t(=@sy7]{-j,M\:Vn,> h闚/PS Dͳ;8ψ~5xCm2#;L6I'WKnKMn-R\5;m嶉nUFHIIԞ.i%׷>DȲK"(̹]PEPEPEPEx刱<]k NKׯE;DE\tb>oikP*\o%Ѱ&,@9zq}id8Ƶq iiLq+bZGs>PTqhiwSjwfU;#z3mP}?.U:Aq+ˆ5=U*eh×Rw(h>egFBcRXp*o.H?2ԵRU[]qJ Y/osKhu[]V*ev#! q{F}V-Fڤ+3pqҶפBhv BX#2V$C\ٌκ/j֠ }VAil]6d(r<~V5pkĩ:+Н@rK]&;> [b3dW^0O O]Z#w% y߿_g7@@1X5M[r6g] 9b3!5xYɸv7jm%D$uRێFp9J ?źow|E8b64%檇)R}.Ҩ/Qޭ [M.T|@,7?0k?nfZ5̓q%w,@Tr PZRMUAUNUlZ[g&MY +^jW,/y57~̗`).j>~1JּJ OR|c%UC-+ uCq5ݐ2!s׎Բk%UP< TbG\#p3@F {}1 &IJ uV5xUQjٕs1! db *[Khe!q|`8 ?? .uGLEU R\4sZMIkf{ٖʎC$& 19b/KV3g7^_xISQ7Gw,h88&"1xzO+_%իR W# NA! ]5)-9cc-#Y=sڴ? ?׈?Ǩ'O׵F?Ec\q-LU Pev # }ZO;*m nX CoΒG;dȒ(ÃV~Gg# (ƝxGm(驥'RyXRLdhYfP3PG^  a>?#Pݸlݿvv#)oy;u.-ԗs$4Mrf# A۝>MGT:E\\ǰ=AfM{)])]G ʫ!PYT޸EaҲռ0J?"?v:AuEK W­T o9ȏlns|^:sZk|A]KQ '%ԿcU@}Zn伋,DyjG`ϖ8Q@+KKwɺו'MG ̨ $nU*Ns߁R}ݬXtX8~OP:dzqY5Ikn!XVUCJϾojEkx5o"o&뎣Mw~&t@EPEPEP\Džcl0T]U5-?OmWWG8öl@{}{UiSrGa#mci?xA1Sv~֩47z}ċDF8_1GBm$dI_|rG"0T#մ#f5[[tY=ژxKH.&/>ey Gpp*{?=ɺ d8X cj5? Kz=X=^d[ eaH4>b\XuL q$j+kw` $RQ2uB{b;vY')#I%CV` a޸H|13iWmYf3Ltqap;ʝ9ψ|5j>" 6X.#RIg36b@0XRp v݄gk}RwHW8eމ`2ڤx d4 @; gkgZUẻ==ЧfJgOGzZ^6Gۥ`x͸}hء)Դ2$ RQ}s^ &N=ŵ2vG1@8;G'(((((((FƦ4kKF[2!Pb~Bp1e/[[+|40eGZiioinIes^moziZi'agZ}jUa%hw#HuEM.~i,xJi~=.4iH>%Nj4yFflF` 2y~X2~bltv>kotB_XOoui$ /z.77}ǎsP_M־ xG, u4[YU %%IRFpAǸΊ(+m-8mC$U $? l ⩟$I~xuuʼ\ȉ=_[Lk)6\a eq@x;*OCgeO:5ymvMy*EIJxqѹ4k;[N+ћhuV ~ l 6xPUZ^=:fey5KyF#;NUJ²^_I,JU(1Wr8@8?,9ԡ⫊h:n?:M7aMZb(3|ܾS''G>xFԢNմgx.QCx֫Iɩ&6S܋j-ӊ߇HU/p Q Mh\[ͪG= k\ iPgJeu&Fon%&ёI&GQCQ l ,oOeo4X#W$34[Kr ZV:w-ỵq<#o$ȪʬrC.0pr1Eg}w ?U?BJZMou, Rs3D";>w ?Ux;*6u] ']ĖE6ii{3#JQ %22zf+}w ?U]w ?Ux;*Z(6xPT}w ?Ux;*Z%'ş@G=^#`Sf рG` } C~Fump܇U G^Maz=؎Hbi 1 SB:yqIh .ED3?fϭnt6y#}b:i'to!M܄IBYdӼ%ᣢ7?lP0M2BF8\I$z 9Bhk/~A=G!z_xzZ(5x_5uJwe6Hb|3όeؒ{cv^4 4mCG_W!eh6R1S8BK3>]c|?Y.8!%k,frM6TwGF,zZg|IeY\-ʖ:Y|/0F^:~1K7%fq BZٷkkcfݏq jk0goH.e$1~lt'-/\moe=]<6 V:?w%;tx"WQkK1@vʎ23U68'xC[{1]4'H9tIo'Vz.$Vw62{ w#uh;/4k[)o 3$q?7` UcJw}n-&3Z|ÀsF85V1eZ|^[]If҉Q#Hzpe|g5-܄0[e&o{?(#v qhzݎbżHkJoxb_5R],L|NYKc_9>&Igs4}k+XɭA$rǡ_2D8 r*_M4/aܾ3[kDiyJ(1zL'nZKȤρ⌨(JRAsiϯ?AhK_?ho {`pzulh"ineyf=<VK_ >  u(u6 P@$`r"[lU$$ؤ݃A8 i_?4 5Z:}:-@[OmznPC&hTV#>R8⦶wpiYͧy&{)/ gN > M/}|A 3Z:4:Yc9b9-ݴ9$cz=6n^?fU$pN$ހ*iϯ?AhK_KEs_i_?4 5@&_f NZkDڢ:/X+U*rx]=o#EP'Zs@K_ > )>/jz$~xtmЇlU= #|/V)cL7VWx]HH0H4 4iϯ?Ak9M4/Kg*QU!viWVy#Uc5W5x/tQEs_kam3K஖_WK@Q@3sgKTRZJIZJK, hIA&q4ojzVd1VYZB +vE{6I\w~$5z 3P4봵EӤ6XYHނ1^ \;[1Z~˓'f~;K۫A0252EVEs1|q_,GcAoK[ѿ?lf:^g[S'BcO$SgBlBMS'׬f}/ov*|Y[3W,C|d4"uWɏ٦> z|EZo Y,z;$k'c޼g) B<e :~q} vb&6S9A<&Igs4}{7O [ibݯJEƍd V#! ?\弛 >{8m&yL ;T?Ft9_J uZ頼g_+P\kW u6qhsGY#|emH93V^Ed]gWӴ.R-Mf5(kCQ l OCgeG'29lg4}mx"9e_Ԋ6xPUx#TдOwcyrY& yHPg' MxgTTdF*G؃^EoYmmu21yb{'X%-oTROizm2e[4Ͼ2{eź=]];@!W=;4W5 l 6xPTkgai?}{GփV7.R]]kn|Ey%oEQ\ޙKGbnlu]>Hс|b԰wx}F57a ۯ`{sϰ)S+~͐SidrtW6~"P[8Aʁ()Q\׍+is-׉8n!sI08*Al6xPT5?xǾ#~#0Ux/|}Ar$mb79} ''li&=j>w ?Ux;*:Zyhb 0[wvH4hMr,B3j'2CP ׈uFa];TpAVlp w=2NMN + RxIOK(6iq ]'2CP7o ~0-SO-ou* =pM 8oJuS .kN(ui!gԟiH6xPT}x;*OCge@|KEexoð[G"SrI&$I䓓\=MKҴy,kd %m.z''2CP'_x}%6Z% nn5ٞY 'd]ߊ%t8ˁ#ǫ쫞HSl8 j/OCgeG'2>&Igs%~}M ]ho &Dtxk\ |u$ 9ODWUȑzv"{}R!5I"1~``F8#F0hXlj֋ne0/WrsӚ\Ejom()+qG4Esz?4;X=).r +._zhyƢ4T"]0=;+|c,Ϙ8%،H#=x$G5f|)$[Bp d ķ灴|Aygj7KKŽV?^\ 5XO_Ȥ K$ q+Zm5 KVd[}xSm( 9#(nf;&[+GY*H2;[+2\7jZ[;ZƟPtnpI9[khW3U4ͼ`,6掚\ړd4C.>]=8 麂@S=2LUZLJ[o^ (u'WKRHdhʩ=AP zzI}\뺔Q]\a4S+X~XgPZNRRYڤ,1v=zR+%G*0YQP xif*\ڢ, W$s:9͟j|@{$ԢIKMLkPy@$vQIHՂpsO/WN ƃ"&0˸Y帑 h͋6 [9d~$ 6$.^D!d/9d`g4dUv7Möjm_.4=C\BluVwl t$rT)l*[ܚǦD|WԆlC2/LycmCM8uDil"@$@2#!x 5XuEsTgRN4RW)ۭz\ɬM>quw%Gdȯ'D eԒUH,Kbv鰆W2pho3}kGuPD1";$@;Xd8=߄Z$Mh<BNڠb:;_xzf6Մ2ɶuʠz kv14p+̇MO͌ww-%Ŷe&Y]$1^XmG ;mdkbڃx@^Eoj]k[HX+N3ZuIq{KmOL}F2KH2\a soA.88o&+S+[z*+mJsl3y[IpR_6px7QPz6W:=pNtmUg xPQ^UIE "uY}]y"մj1ɪiԎ$f3˷y9$p{o>/_?g<3L+wJԣuHdXPǿoZ||D"g"\>cߖ d~#E.ڮeY>%!P@9p!{R(#(&/`5uy [ȐM1.miZK6.vgd&];Np3@,O$f'SHF Wx|}+u? t;Qm}>Qe,vy[;6pYe:k@S.sހ=* 9u)::R2>ȑ\覮 ƻoOK4) 6 p&sKNs7߽͵u*&cq {P57JO?-wA+oZG="'Gvw&/";M6D1"ȱlP5/1KZ闐 $Cfl$e. cݰEIiRZyω?iֹ{۫ƗXE Q0*Ǹ! VG.>g9<,%Yw.%qT-e̯<:UZiw<ɮf 6郒l@Ýk\MwYF׽{?l|/ZX݅CmĿ!IbKn,NJ/<wMz|dXvgbǶ;׏j7b2B8zhx:ņjq-d"VaUC;9N$Q}B$detÃ\-[4Hf7u,{|8'M5zM~1om7#U+_[ZrYe\*e7ҽX=w?FGl$Vf0X%%8d9c@oF? jY⍝CD$WC*nbdž4{.9}BtH|^1$E]̨Hmnޣ ~1om7#Q5k\AӅ핝r]EF#o&NG@HyNXoqِrʩ!wkMsZjoyk}6H^!v.T`Xb/zsiw[|V$Ke.P89 ' $?|iC6I?&'A񮗧^nuՍbiL'?(o?f?I'$OOI5Y>"irSNao&Ȃ%kv dj5oZisGmh[5̹|+|p PAOOI4MSZ7ijX[,^@beRS;Ub7GLM_rZD9h*.1ު}!k}*%l6# )W#ǨZCҡHv;a3(T ").("Fl2 #Tσ4IeF10m e P0-\oP6Œ6R< ,ITך֙dKeo`}^k.t=yl;x-1Ae[x+\;*[eeyUV}[J@'6TA׍,W2ݵOY=1c"βjP;IS>RuVZ(FI|&g Y6fkp8@y?f(u{P-eysW$F#O4u `nW8co ]dX΃,xWO7d?).w6>ӭuhkh`#!@CBA9 zwje/]]8'I]Av]sOZI|-hT4qEO.Ӵ먮m+4q$(V+xU#1HO\Uo+x㷂,"&HmH0$J9BxO@љOB, D<5BQ4X.z=,igC.o~ҫ'q:t }kC_/hG"{G(,:~Qwr !QiRGT vmĜߚ&Igs%~}M ]ho &Dt|2m?蔮q ^IOX%'&HH  ;s.f52GQVd\ Tm,I_ZϲGm_2oZkm\Zh5(6<9wk{sem[[lMZ"r'=~o<"e ':gv!ѴeـewxcT[eYR8ገԺF}e4q*EW5x/txC Aw@-Q@ EP[L> 髚 _ i_tWxJN`/w^\|?\x}SGKk-n$f$J;<[UOoK0cbFvہjx??5_Ң>:o&#5G@qpKu7-Q([7$T%j ~S̅ݲVmEdXy}Io]>m1tmxY?|M;v_>/߻3۱j͜5)`q7t@I ͪoK.-pCh/m dM5jzjSq_{!]7PwF^N>g=sKPt3y-ߋQt;kRcvNܿß0wqWIs{zݮKHc8!T/ #m잧VnZoaY<"ԯLwQYKkeBvע];; {;Ğ%6Mcesy00bcAxbLj͓ax@/&cecY**$w!y>P~P0ynumRF2U1+g['#~? fjm?ź:6\sfv rwOK~D`Mh 8W(71+8+5 xɦqg->iFhm4Fbdvv'$6ܜ%KUVR?ecO.rQ]܄VHW|0[ /gM fj<ZD+fiTTQ1`""zwW)>,zϿR|Yak􆏶|[Eok. (#(TP0@K^?^ s_s:ExuN'5kTґEg V#?a@>5τ4a0ǯ_&s* {\6EG~u,b@Yܷ|0처o3xl?X=c@wN[+cxoHpQׂ25^?^ (Dcٖ6~k5^?^ /~A=]-׈?Ǩ/KWKEs_? ?@!z_xz=m.W<[ͨ[/եͥs|UGj4d[Cg W`66ePF2y 6?_I[VNV[mC|7Q4P~eesė /ouQ[w0O\׊t++k{owV._mSTt?F u--D@]mW@9ܬ~/fַ~(!$I| }u#Wt Y.kXeKPrX)qLzUݩA,va=̾dFQAU.<'K+Tڄ-i@B"7}ו s͕/t-K^K1|?_2yEϝߜk~UizMqj$?jn!`H˝8j<)472' băc (9_WK\/[L+(kϾxi>*7/.ʷ\h%iWqh+OCڼ־$|s#lRۣ+NMQRI„D&DFu;]9rgg.(VIe]>|#uA5d(,.*ۓ(Y(ln3׿tT;UdfA*3>=jt}bKt<ѬlΨ'bY#R{%M^[[]լmcwcTpI ݽW-bFYŽMu^+m$K^ϝJ&$e#8Z^]Btg=1s\k?I[R94.AnL^@H$l4y.K-9#t3W<.3&0׳ɓ u++xhv~lZ.&U|z t$X~.Mno.崝(# r88_7i:̓j7RYn<"ۼnqS[}yw,d}:]xB}Rn  yǯnkljs zKY >;([p6* K=q]GzH!P SDl*9 {z&/`} )xP8POTŚDs7y+̧y `xx{MV5O~Ғ[noIhp(sN2M3d-Z"K6awK'KaT9H*xEnR+I2$:Ș\;1֌)Т7լF<|c8d3$W-JNԭ 8|`;#VB/ϱ#VS@~}M ]J%'ş@ EP#|;࿱K{I&w}8^aY]xxnb']B,}p{ l?hWT #=q}+]K{kbopA/H48{`b~y>#(,}ߋ t8ZZxI 1Yi&v>_'+SïJP>tuCI\}B3-ċ Q@Q+m!St8&/Y|8bsqր//_0ïJz.u:ej2ypɴ`N#~o'/&MJ(QE|B /Z!g]-1[߈v_åHZۨg3$Q+ͼE%'RM Y3kF)o26:7יV}>I{].w;WRn; |RJGTtZټ;g# ]U׶ܼ_ZVcU,ڦrI/?y_ ͠,8 7mgͻ9~GWg ?mǖ_6o׌4֏JD2A]riA?m7_\\u|n$"2zc C zMF{g<~ces WɠgcA;G:O<}M}{FDexd/AY?tZ2IQ)`A r_p@/?#i1j\VjhbTM#JcxnmHP21&Igs?A(|e̡oBjl?hWT(( kQxwƚ.q ;E|g:l,Sj7~<)x'Q̰ü* `)V<=/iZ/k?C2[@aMtOмM?hZ旧_d]kjo#vRC2y>o &DgKEP ( _ i_t/tZc'wi5ɴ6[NA| / ?%my׋l5Ρaj6 -] $CEdW̿"Vn^_a+o7@X(ů|ϲɊpM|g9e//0䕷_JpWovgJS_`A~AYE| / ?%mt\,}X[gM}?/R?WE| / ?%mt\,}!뽗$R4:)VvT`eE| / ?%mt\,}/H1kĂ|:~ˏy|E$"Vn6k"}~elCŗ$W"Vn^_a+o7EK|QK#_Ɋ_J / ?%mX,G(| OeLWGQ]TQ F[AỌ捸k^_a+o7G//0䕷,}_9uڝΩ]ywS'o˭Xl4߲Ėo90:>Qh_5W¾a24O ^:<ˢeݭ#$V']F漊ME֭akȸg7FxڇzIlsC,>"f{wwȉSC/|ny@ c#&xNne ;ɢilH֑2핉%5:ź];kX, ѻVggb0EH9g]%2I{+}.Q.aYo1&PUd'7W|/"YTx > ?Eo7$BnlXϵ]p b?&LN]B1\a.+8o}1 X$QPĀ2=*~eEj[Jym-'f~;Ԩck59oŦ[4鵄̵ߋ̣vK 9_xh[{ximz@|*¾:tO-I4wyfkHfvcCע9|Xc!·N\" FSAR]Gwtp|(27ڹ=NzV t8tU pm67*j>h{DW6p3ҷ(~VH|3Ɠ*@HmaTP{T~x{G36'̯ryOSEs'°2C4e|os͵rz (>9 qʫa.XmnU8=%߄|7{7LͲ+{mgnQ@ W|mB}d,ʗ E(_} 7ϛ+r`dsES#g?og\l>}^s[;mtXE*%H< ( ( ( 95?±jm)`r-+](<|H,Aåi+Du&y<6F7|Č` j(((((((((((((ψE';MNZi% !X ׀WA㯇mnw[xg͈Qy29 ηo3.6y>tc9i6QI :erE"daA`]`7ꖚF)iy.«cR - V/Οڔ:}E.#G+)vO\Z6Z.}g ݖOm: #=NfWR2;jouk>-NR}77!S#s:φS6-S]HRc᜕sހ stFtڣV)>NcPƳt9|9ʱiz41#]n_yQL}aՋד.[`3/O;Y^ɗQ"!-;ɋbϰjN-ݪ1\;;NROE$NFӴkOM%9 =EqռKH-GB#I*y,Lt$+/UEk7M:բ?cy?Kn'j|@7젆IgԵhK0UP2I%m{ዔ׵p7{uF|ˑȫ#ҷЭ{Ytc9i6QI :erE"daA`]bkev,1vх>T6 Fr9U!%HA @X%m/@/O(GYN'Q '+jJZ֝o>eHF 7{8@?u:q?¹njPeyvRL]HYHLdp''WM/}|A 3@~ݫyxw}3L '*&_fM4/Y}G[| 7zg܀N?Nд//5-Zhn!XA34'bX= i_?4 4\&_fM4/tW5 > M/}|A 3@-iϯ?AhK_KEs_i_?4 4\&_fM4/tW5 > M/}|A 3@-k:W2iq72\[Kn|U1ZTQEQEQEM{NZæt4ކ[,v +7_byĻ3wJ(xܼQAGg[7m<ϟn:nלs{29"J0AR 0AJږgIyGH#Eed>>w ?Us_ۿX~7=S>//6Ni>:vY2Iq@ l 6xPUK\Zv閩} ܖ$aɫ3|mM, GL}w ?Us_~н?r7/&2sp2w$ƀ:OCge\_uY<3w@R̺Q[1R>d |6&}#yg{ԙ(iCI>gtq1:%uUwЇs2wd'K l ⫚E([f sMd79CQ l ⫗h"igR8זw}I |6AG(mއEux;*OCge\(߇_/?|:wk\O ļ8 px]u =R;2LA"6  fp1xҙkҨ(((((iahҺZ'!Z? ( ( (>i@4RxKCt[+eۀ=xzEt:}^8o?Qu|؎X# ((܉7 1ۣvX`ĸQ2I& -ؼ] imʔmF2vN5A'Fa>wf!wsV ]3T7zWeI浉V 94^/iuwC4n-K$򘀌6>BF-5k[bogϬ,d\J U! 9黦jp\U{«BX߭t1{Y-[w +zjͮwv:x.Fo- ETMr[kCVWZ>' '6?ِ3<`8RyIm8 ^}q'Pҷ9xI֖X}9+#$3׊E8e` v$zt'ֵ;wL25 s䒰G n]r[U%Lhb66P˅2sEAOӡx-ݥeBrXkoo&Dx?¿z469aԠRkӄt@[wV0]Ω{-6NRԌڜn͒]V4`!r\C`1 ;8$K6hƗ$ο9u@y9}~1K7%3 CO7+7[E,ۢ!FpIo뜺ӯ"|P= Ao iwAYs3q1zwA|AΙ ?.tl0i~N8O;YEYaov|''h/|2ڄC?gNu27E+k2l$+j-ݬ769ԐL$n5aR2CLm[MFK]?Jlծ'52+Wc$nŁ…֎O[^[)^KQF-,l7c#v{3[:*nNǍVbf˪nM|PHϡ.iq}OL sa־lhn|q!ݐH,̻Y\h23Kom4bQ 8({W*o^H971Bq5i;oW)wM"٧H].?s֯O$&aqZO> x670E=ǓE\ X(9=:gbw_w5ϙ灗QO|$7lXCIp8@cPL{ڥp Uo}𭆧xu qPkiKM*yrG9K/|y9sz߃cXLych f@dU s^??jfK5@cHc>mf,̲%*~CFߺsU. FF'͆,Y,ŏ,ʼn%$OZfK5G3W%okoo&Dy3W%PK8LU Y?6z%Ķ=sHucۥnP #4;Nxcë 7]KvhA'~|A[/*_g RKL/G{y|ҽf{H.>7~Jy:?EVTP1G4I^khc,@E_xWVIs,T[Pki@4RxKCt[+eۀ=xzEt:}^8o?Qu|؎X# ((܉7 1ۣvX`ĸQ2I& -ؼ] imʔmF2vN5A!EPEu~a5GTFUY9q zΗ W%Aq Y0#}iu8I<mEciC;\::q?g_8@#eoH\#%;w?++iz Ie|}2gAsQV@/OfY'|6ɧ\ro+(=?=@=;C> Gꯨk3#[3:yx?*6s'#=k~1K7%տg_8G@/O c|?Y.,VuIkB{BM :2rȠ c|?Y.,]-}? f>]tP5?w%;u@cAoK]Eޱis[rZBbN JO+ .[Q.|>l*D)ZFYIm Nq/?-a T;t}? fmcKo'K4uLgB[..+MR.~4GrD"1>Qד;t}? f񶲖k}iux]=͇ iVpv'!HUK_֠4xnHfڿ$ %N]y}>N&1>X#wdCPI+b_k)gHD%2ݒ)% jPִ{D䰼@.{!H .95`8aSxޠ(>"kt?w"M2 v],1+1.n%: }I m/xzmu[nbbQL+MnPHQEV@6&5ݱ!Q\߇nᲿtR5v +o(}PMҧe@BrFŒ4#E7gʈy~gc>\m椶m,Mmr$-dh?xŘSH #'"?|w/Kٟ;~mqb39Ls%dYv٢1U sv rFTMKmw-l H^\Dyq<Һ3ѴX;&?&cXv|=@4?"kt?w"M2 v],1+1.n%: }I m/xzmu[nbbQL+MnPHQEU[:PT[;kCDQꚵ5Dem',63QT*o_qPh_?? g%Z_ ??*o_qPh_??w>ѣ<iʲj+l0㑐 K}\uxV#I=Z*NP.J(kB.h_??*o_qQ V}"&kB.hZZH@?Y?i~/(>*k8\EVӯ5+D"l$Ld;U(((5ȴ,ⷸ'R[` b*$rHl*}S^ͼ_wj3jr`WUw?#\m[MѼ!z"6n7@2Tx?[9GB[~%MOr"&THܢVG+2wQq߈[N5$\BRF8A*ޜ9/KOu Z$64 7mk-E_Tn-sD}ZI.mon<)U]ݐqOb.m<?; lV_i|e ,TPk-E4u.N @pYFF@+i)n[q+[bIԆ> °8,9<]h;gadea EtQE|9^ӡhp+M$"VrzihDwy̐)7ThODJ˞M#i9V}ѥ0N# 9SOp296jwN"1}O22b Np9χcih$۔V--*oA4^Af0jnEEf1n3Z(y;8e]\[ˀCm<? ⦸>o.4pr_׀åRicy:rum b l MGűҀ*hn~٨îla6I4F* m_Zu8kt3adcU GZ}W+qq|%)[4I(WBJƽA95O+ZI; yNOo@(xӥPD8XW~=JZ+d[YZYQDЏQ[QEQEQE˵ն}FUa I ٰw q 'S$~ rǍdv1qJ`($PkB.d|8Hh)PY%6/Q`S~6bcIɋs0dmuc H'kg g5LX€2WڅZ'hv |݅ $c&ռ/R(aK_yp]*6r5LXF/ P"x/a6y]jS)"CD$>v3|>I89tmZ.#f2TFq6x?MO/L{8LB8YUNW &ӮÚ4饲=_9Iw"M2 v],1+1.n%: }I m/xzmu[nbbQL+MGuo \oum\$R_Ĭ [ 0AOCgeG'2 =WEy]żUܧ8Sp8Uj֪x;*OCge@?-OZj֪x;*OCge@?-OZEmx^(uaRQxe-._~dSϥi}+9 ܍LFU@9Ǡ w?h/ j~ O5 幈,1-  [Ea>U,o$T$Ͽscpxz Z]*y s{Z^c;_ʐ>q3(>/|3)x"FήUTυ1ҶUi~"HZWkGśd567VQ{HG+$03;閖8K7 j~dcXeFM&>oPAnv^\eC9eH$N< ?&5oMϮ7drYiDYG>\D|H]5t}>kaG|dT.x젟->ZxIlLR@4.m9Dl.vPy|8wiiu嘬mh`cD|8׫Z֟<7I"@9 #==+4xæ[HDQ HB2!H$q\jsŧ}Rh)mv+KB %p&i2IF`kZTs.-.wEskEiiWvpʡcr]A@VUV$X[,2:Dͱ\+BNkWKv{m&⵶m+2̰b\uW/.d,ɸBFv`90$Z=1to._< sgo5 \ NX⻓˾LXCsF~P<㮙k|4uKh#91uf$6m?JW5GLU2m?蔠>&Igs^ 3RǤ#_NU}er<3nyns/r$3,pnڲbF['Ԛ%m7EoOxC.Yd˱S#!{⽇bGv/[Ŷ/*Q%tr8pm+"\?lL8$}G?—Fepo,ZMEUu`T`V,s+y+4#U@G>:G#tOFFn]^Z-2PyO$ HOA?&<ώ:x#Q_:G#tOFJT/hT/hC5uZz79$X㉊b2ϱX[SM m.x&Kat'y+* !zW'2CW°wMxmi^.$֮nj<2,8W;˘# {=sV{'cӦ{3' v6|ŀ۞٨Xx;W?i& JAH6:ȵį?Z+PLj X$} seq|@Y}8|͙[,f°wMxmt?|i]Մ"̷Q16tm՗6-BǺڥKؿџìP2<-է<#qcݏ[_tC91LÙ'Q^۟9@W.-58|rb-m oc9<ů<) Mui-F\v/'cTF:{'n~н?r/'2CW5 7 ;s(>zgt{˹<[#'*'? xO6%+:ei1VǸPFNI| 7JO?-w/i.='\r+a6tu=hA|;&c;t}.Ֆ 7I>ơ}iu\kk<G< -ؼ] imʔmF2vN5KL-cźk3iIgfśxiͷ=pIw$\Jފi*Q V}"?_i-]DMU[jt 5x{>7#n$(px4 V}"J[uG DyQM5 s!pI3x=]5͡e!TTqx/Ei~/*=Ym&L%u7e`*fp,F=EF5.m_=195*o_qQ V}"sſ۞%ⱸ = k&_ߪéI>eOv>M¤[:0Pxf  :OJ[Usx5K>-J)`;`)o][d[o(؃wpA@ź,`ZPI4K$Nr~}PDfOԜd }22F@4.=sYXٮŲJ@*ORrEQEQEU]YY@Y.$ZVc`H?꺸Q??jɗZ|Iiqis9(O9; J]{:nquqxuI>_(9ۊ?j??-OZxyuK9&Qa-Ll(F݇rv`c>?kj;NړW,vUBmI?j??-OZ3 n!kK9r\Z_5I$s׌Twgա{7pˆ\{z9kWڿ_|7ƪ#`n38*YͨW2\)XB!dF88$tχ:UgۛK[rs&X !j!ǯ?j??-OZ+xwɣjs_>3EfiQb.OrNI7>l4q.W]{aY$?-OZj֠ ^K7R]%>[2EGL:*BsY;&=N >2.ZLzS@-o)@%*B'18[G}㉾E ^UeтgS$v qL'~F4 5 M[ZI. #rזfdPiϯ?Aj$thuBQCL#1.GxMNJעM4/^$J $ѡ G2ĻG?)97(^4 5yCd:4:(!ۦ\s`A#<&k\&_f?lGFT%d;t˒3l px z+K_ Hꄣ̇nrFb]͂#Es_i_!IPy.HKDx Þq5kM/}|A 3W6I#C2ew6~R8snw"M2 v],1+1.n%: }I m/xzmu[nbbQL+MnPHQEyƽSTG4] w׵!Ad|8\M ֩c $EaQKkLƼ XXuu[۩L0-́GʌO qK?m6ײE,^7A}89@$ds@ .A3?%п5T\C?Z&)8\ܟjl_Kl?>n̤aw~nv] ZgG5xTƞ}/^os%ԏ4fHC$ci݂ea8`N* / K3dnf*Q0`AwA&$JCH? %п5TG$ k[ I,Q)1l?NZI|3H",y峌rs=hB֙Q_?*?.OgkiN,8Fyv5s'G.wn1v3@厭_RPp2V@jyG~xVCv#Me}e;FpH 9u |I7~h&]oĮ"Mp7@VPL_O\ :+{xS弻lP"[{l"ϙdc+QXw~x{G36'̯ryOSR x3K}övf{8cG]XNp;@=ǡx7^I=+ڒ gea7͵rz a_$FdKy{=#lqg>mO_~m\=+6_Mf|1i[վ6㞊>Q\:MBMŇ%$,F76u;FzQx[sI>xvK+9 qʫa.XmnU8=QX:|/mO_~m\=*8|Xc!·N\" FSA@w g{=l|+j8Q t8tU pm67*j(>"xGQi%.DݔlʴE/&MJk#GDIHl` [-) ¿,g+^y)O;lkѡr8^X8𵇌|;qj{7!3A]OY^-tI!̒k&YBqf&ӤKCEH4I$l+n.ґhc"VfR:c랴|hI|>SX[)m{-ʃivy0;Vx_Vsxjl%P{YK ]|2_bܜs/_?Gؾ4OE/f6mmtװ3mc,c `>d:'U0=6]/sX?X$Ov'=*ؾ4OEQ&aw[ͨx=P6I"\lL8$}@7ZgG(qב!l'[9.\$.-%!88Ak?}7 pcؚedPimq)# sZj1cYd?b;$ 8I+Fy6j).ebZ[P_qn\| |[i-l`g;)ɶkD[fo-A,q]&}ZJrCKKr|ÿIh̷G&yiu1P h,اl1Tnبkh8zkƜڕި,"T^!.&Qp ~R Դ=RRh$O0RRnsWQ@A}kO[=fkQ f٠ ĪwNbXl"jM-nV/.!! *繌ףVG9m2k]/-6s,Jy' NFX 'n/h-տPqB|U;܋v[RV24 ۻj ׵Q@'o<9XjRxR4%ĂGX=`I$j;It]Fh <"8 'vzqP+56.ƘQ!H8Qz}+(^#ѠbQ,z:ς%`GzMDssK]:5(+iC) ފ >e$ )]-dx=?"IKee>ZW8^kHQEQ^Gx=ռ=7:KۻN'v#\Ӝ`ռ|QF2"RȠ\L-*2Nzj_TPuCxR"ς-t.Qd[[Oǚ:pqY+7(ԳU@I#NI3oX^9$rR>L>"x商A ʗ5/z?x);_%A qq@Eyýg\ixWwa [iqڽ: übWӯWC%_>P0Es3|@g=_!E Ќ.w0822W?f=QKfC+SH^00䞂=mj'mFX)ťeN~6˒E<ֵo[oZ@ EFZ+Ȯa-/Nvƒ"3!Py?\_1`;AG xO6%+G$I#u2Iļ\  tz (<, m,lneK뛡eiWq)2z)f$.H}coxP/dG RG" I"'*m\?@vIMI.닐TgiPP3aI%cFVk"סfZQ7sIDd .;7mH^ k7^4%弖_ uYmx=P}-?o,d4y {Uo p%.>6FFhy3~c6?.?|Em5S;KL0p 1(lj`-;;(pKȻ60e@) rK]EUPq.D|㓚 k k uYy$A[I)fu71۴r+Wߟ7ZIkoginHf$Lz]y*1į^: Kj ܿx|af {LB --\#9 `qdd2#^-U8z+2̇Vsd`aG=azO&ہE%̱lSKt>mˏ$rp+M5~>l|ciO [K:i6 s kڄ.#}) [ 7D!ROX׬,eG4 k),E%2AT @; j֝ k /swmo`Ь 1i3]J(rW?z>BCO<$H%`õN]rPU4#?:(UAsf {'=Wmcb{ȵ}dEvvv dr,6%0S[n.`tiNK0[,XV'*m\?U~$ޯ,k,QpG+€*&k[%Me+Ӎ%'dm#Q=<1s}n53<YʦUJck_M h_M h&qݾ6qkՀX䍥G peV85HxGWW^ř;]ٻ+3!0+K6?.Cǫ>k_%$ ?G_b^zOwĭgO,nheYguW^(^#ѠbQ,z:ς%`GzMDssK]:5(+iC) ފ >e$ )]-dx=?"IKee>ZW8^kHQEP8t9I$,q员*"猖 sǮ4~yHH-ϒRI\2~y^%%Ea^%%y^%%\Czt7N$Itk[ ;<s]__;U.tj]K2F{{(<ܢ<ܢpͽm,vjLu(X9g+I;w0Aui"o:,ȧ!=45aJLE+׎!ڂ|w/(lr h/"KhF;NHg+̈׋Ua3̥!$g/QrOAX~5ɶ}QIs,[2'z{rܢ("-~ mxFɼ7aM{}|u?G>:@}rvsʲ4ph]NrO͖ɴkq %U"$ #As)SK_Ɲ&lrcHY1n3ިs)9Oߔj{}|u?/w^>^ބo1:Qr us@EybhڸYyQo7q_סgXT:vufXd2FI.AmQE玼GA6Xu7MJ1 0<+FCTTukvQV#*҆S@#}}IiRZz4~D7[$l|0`pJנ? x|G2ck(.4ז3p!%Y'q($e$i_cYn&, >PKWĖqjeOSF@: 3">XcǪ")l~jw6I qVF $JX@29d)kEWxN @o>0O5N;m-4-3 uaߥƳHxX1BT:٭$}#L\aSKm2BE#zKLʬ26Np;AG xO6%+G$I#u2Iļ\  tz ( *[iVMux챂*fv' bH >#7 Ͳ7@-GЗa4GЗa4)#xǫ9p\ }3SGЗa5k#ZF^_{$mÍ [u,Υgp0Q@S ah)5/Ok/Ok?Ѵ Ct?N!ߌv3g +ĿM[mO}aY|;vB a*¡Pi#n_rn@R1 \--M-IFDG!a'8tע..33 ,cz'8zUC. SK"&vБWlY^cd=۟lHO,qORhEBG"u| ab BV4M.'HJ$ɸmIpIv übWӯWC%_>P0Es3|@g=_!E Ќ.w0822W5?xt#"R eo< tA@y(hYޢo_[tYFR* Ğ4մ&\i^y~q@|zmbe;H,#Qx7x{=Ot C4r~b;cs@[*>EyM|$6峸 ьbŏ;AG xO6%+G$I#u2Iļ\  tz (#$ CXMOE`UJݢ0У ܢ0Юw"VjꎎC_]6W >.uoca+Msj$aĎ5?У ܢ0ЧGM9tm?̍aЌmQ@Q@aJLE+׎!ڂ|w/(lr h/"KhF;NHg+iahҺZSdC_)RahU27A: KkImo`e)$Rtu=A+-c,XhWC<oïvQ 7 ;s+Ҩ5uBN(F:{'na;߀&{ ̕5}qXpg95kvycM9G\Ð}m xu5]F]B[&%fWvN; Q^۟9G(߇_/J<oïvQ 7 ;s+Ҩ6_Ճo.;vm鶶 \Oֵkoo&Dt|Mm藮><׈hh&H Lp;6w_o8KdGY%rLeOr85j>hǟ;-bXbf$kUxz ]^^[ 2t>[YRhF6 QQʷ\g8n5k ڈZav͑3@4XNw1 H [Հ~C ufj!w-4kt}uB'_!b 3(4[ۍ;ReRIȨ R['SCs+"|9- ڒ߬~u]X[PfN:PM㻸JZW +bC#;~lIR-`iR#͉0HBn eC|x7еQ3;`(vv;Wס+ O A ^DlX8;{Oڭ̾ji -ɑE3->YV+2_{ZԴ'uxQ[c#[>j<u ^S5,ckl%oZh&1<γ|ܜN@jޏ7-؛-(}N^338 q 3# pOEa*i>3t/\>֒{ϴ4j#y@IUŸ0`p+;Pdդk.K)K!1"W,%n=H f-/?&^^}maoA+ K^f`_ܛUIW'rj/ImA52gwA@5O[BџˈN\m@s>44@73\Z$iWHU|@XAak6E6 F_aA/Zw? _Fº}BۈǙ݀?^hӼ=cXl>kng{vG*ؽ H#gDZWsAhg,FIn*7(+d63E-vc.bEJq +dmnXҾo??v;w@Vj]ֿ4z4%I#8~H z\4+׈h,z((JFIF++C   %# , #&')*)-0-(0%()(C   (((((((((((((((((((((((((((((((((((((((((((((((((((`x" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(vmQ񏉵 o]3 khhrsfTn:+n 5K{U.#e~Aay[|_H۷6H"j o$*{w¾2:ݤ 7JCO\k>PLnPEgo4d4{qg+-`оSrUF qQG -{GIlg[(\l;~_qI=Myjm$yꚊ#JD"b!`~]GJڼƘKm5Cqf4"'qr)mjr>kh:DEY`6A=AV[ ǨF&ɨ8Md\bbNNy92kW 2ӯ/죎e+J6>p+Ax$cp̖1LQ-0 iGI8v9]2PI 2L\o=0dh_)9Mi 8X=x3@.6/Ÿ$ľ0mRMEb'qT)">.&NߘSWk-b{<*!H [Gnͼn$F-3 z !k>Qjx5Z[ۦ˸NNrxHfC4F]ͽM W|y쳺YBMyMoL(j?n)l:Kg:D ra[rIkFKLI<[oOD+yiLOlī7Utq_Z}Qy^n6ٷqqR4PM-Pq%Hȹ`ŃH1Ĝs^gxk]R 5!$*+5dP q޺.[Ưxh4vr00dl!Ñ+cGh'gآ~^ݟ&:mGqKg,~[<} `×ߗbcOS^uk77zpT1J̃4~jcl8`>ůbQ! Eg#>fs'B9$tk7;?Gپnqgzc_? h~]̅Ve/E.GXu&:z@\W 4ꄏیʀ:V; 7'U⹸#b۾c%$f #&1|+>44ӕ^]A cO\גSW5Q^L!\;ӑS_ .bvWL'Uݷsqcz#cI&\g+H#gu)ቮoY &"p-P\S.ki;ºeF3Ƨz9+#[}g[GNxQB(6es<19~f{8ln#1o8 #]KTf0-bь|#׏~C$WR ʱS^/(a<濍M,<x'jPm#G;f^WmqgWe}j֍2-Z%INg 7pQ^^C?xfZ43ŧ[$}0A :5羸 pP"3+qZh];CO,v[$q%>n<ϘpAO霓\>N/Y]:ݕJ6|vH'88W3s z.]73"";@^穠>H~q$3L,D1D Kt!:DŽIa(o%u#cdnZڤ,HK^O6ZK Ǽ|s?{X5nM/TmVYiD! ~^?Z U蕜@&8$d|mnߞ6=|[4Pn)լ 9$.xs3←u , ئXVL 31QǛr:Ich>~&Yjvͦ67('XTg1JpΙ,K[ۺ"YK-7+Ɍ9F,QEs_x7%jPIu][3A48:[_#Hnv$wc`0z D_ +IiqjK-}{iRbnKs=q5^T*vSk_:P:T2pȸČ[*!RS<7bi>SEpovgc-$uMzQ@K /PJZ/hſSϒ+'A"HdS1 !v t"|:oKksu%Jb{UW,8q@M_>iqolcie6rC"Sn1wqVd&Goϙ@l@tpv@Er^5 -BY Q7Y|NI \sOz[GYd+r]] H*T<(&;[ȄP.eELBqRrNdxZGL/mR @c  kEPEPEPEPEPEP\I<Ҭ/\y,QyBTc22zQԯdwlgEoSp@Q  u ?l?;Mt]Kwws"A!5$(fU-ghRzx푑̪A,Ni GˏZ8 ιކ%wp92rJׅlg w4'yQTfe9vNpr*֗J[ 9b#f9 pöA9砩<1a?wk fva(ؿ1W ӏbX=e:ͪ5[vr&йPd¾~a󓜒H/?N֯aI4R#k!$7Hl^#Ǜ&O3pxq,#E Z ݰl9oq'$tֶslGgkw`|q@N?q6ws@|Au}*Kkw7F$$c? XG-qǖW`r82NI F,?~c~nǛۏ@ 5[?-׺Ѷc-`+6y֙o{=Jxʷ+ܴl]xlxP@MoYwf1|Ƨr ſv|2z&G*/F,>}X8׻۷s|yƉomQ:?C. KBRSr)%Յ`H))W˴FP0ZHAf8 wW,#E Z ݰl9oq'$#ٿaFyv{7vcwnyy9F@n^Do`)H~J\ [;MDh j+xb;̈ O}NF zL[X u0.vr@%|1W X}Fqwoov7n7Tzג$Vutga1OK2v]Md/;jrgS%`߼>fep#ٿaFyv{7vcwnyy tM2k O4lh"qtLx}izm]|<va88=oEHϦ@al#U,A!f%s5 [X u0.vr@%|1W /i@a*TW,gpsE}:[xGܼ}STt]*EӒOI]+w.ĒOZ@Q@Q@Q@Q@Q@Q@U=*[N KHi".NIZ'Nm|.7@r^!C%.Waeuo}i Ք\[L& pEM^ix3¾4ifo$$=I$I7߇LMʗL=SR|ۻcق@I(k;St*SԬ..eS̨Ҷ@‚yǨ?Z&![m+,6Fћ=rtFwծdW?n=*_ijesO)ÀFїɥYcI+2xKԮ/*gh;mub2#ŸtgL/.,%VP`Nb:MWӵ1w[_Z)$]èWMxPaMnITY$].[˝B84\:-W􋅷յ;Cw:eLW$ddc@gi敨XjVw7m̮ sVNPEYv,ydpk^_^_Ap"?:,2 AD#&Fn (u@3DӮgӘ^_a+7@EڟOz݅]MmUBpAq@Er>OjR~w&vDŽ N]@^k(+y|:$zU0d<;yH04SLJX8/=9(((G(jc:yde(uVQ\?+x3ĺվ?i.7yQ}dݵKY)<((((HFYSDq .YJT([vzkMյxt}A( 5W+3BFc Ib6s&6gnK|-nzm)2dx t|Bo?oKXY~y~^ |uF5}MO z:X.$1#?6?_ GC]}j?Z>xO_~ I.^Ka؅ wJܣ~ayaℚτݖ[pwl8@#?w?Z~+Q?wI`φ>>$xwV;p4AvV;[Lp3(c@=gwzƭik䶼7eg LGT=9L?-\5{w>SH` r^ `ҟZ?~<۽BB-ay6PYp+oZG=} B_?$˾0?kźީk{K`^F`pM߲'K2k_|eDž&mn#`Hic{WGЗa4:Z+T/hT/h~GЗa5/(߈/hIaiL5xWz^-RkZ͔)5Nrz7$z ~ @-GЗa4GЗa4hk=SI=SIF GM_JGЗa5< /xT/y 6)luwhXI#qցg,'߯|2ǃ iZᛉm-|oyjwD0 uaߥ} B_?$ hk=SI=SIGKEsڑvAxdgӿ#?Kh Ns4I#i$ HɎ20۱'J΅.̚>S( `qkB[-K<ٙ#.S'TPCxgBmpkGGά9g1qzע(_ ?ut_Iп*h>TUK<ۻIh]VdӊGQ{\gqd&`(]1ej9̼<1@yĭt^;Лn7imus FXxr2( yz| Ú'7F5"M ;Gls@xK;HмM׫]s, {{aϸ>yp:cexuCfZݥ%Mm\~R7è!gw;cC_+ci7>^b}8duZ/&kΐ;GqeCHFq'Ԋ uƣ\My'*7;cA쨣=N9ɬKOw)NINbhɾ;I WEP'-GJzEȵy 4"\lw/#^þKFK5<"5XM2;X2Ce'k|;"au}s#72yWvuɴ6Xٔ:[|Mm藮 ( ( o OZC=@"9c(ryX .Ia5XI[SͻӭMw;Fdӊ<=}qw 7g lCio!usϠ[o &D?-ZPKU5H ei uI"bd@>?'𾑥uX=ռ60or#G PuɭFxv]LG$X7 E3Kr`q^Ψ~TPz)B01ᆱy>:DbI2i@ 7=Qp}( ( (9):ue]-y7=l[J]:cy .g 8H>@|_OmmxZlAoD[x澙<ϊ:״B}p''9h`𷊍t?;/g yugn:rIo.NV|Z[fp;szEW^:_okG;}­4 HCH-p|Ch XG[KmR6RpS\?uwk#oFZW;My/]>7A;VhoAy/]ڳEV<g 4PoAy/]ڳEwr/oi7dܳ1$RI&㮫Z@V,ƗU.,Qa^DX?K&&%&?늑_޹C?ms\uFb{o\6?b Er޹C?ms\uFs/2dI%/˳w6Ic'<$KU59oR, EZKH-.ySg5z ^ ^H[¿B# z ^ G޹C?ms(z ^ _M2m?蔯Ᶎ_M'`O ώ84R{if{<֚gtq%*\p2ZZjk^ ;yz dXbOGF<ۚ(;<5etsxGNUtTγkl nI8lrI'ܚh3RgQ}N R #7cv7Jq<@u;;G*.w_v(A֭[Khe!q|`8$i'y!i46xYPrNG=ggEq1<5?^?Ycxj8@g+?  OvV~/?vtP S->xzie]^ eUY-jKPH76=2}k9I\4-q&+BdE1һ3pv ĎA4oWSErh\ڟt=6!I /"º2']6TYbxe#o6qiNMƥKry#F`wcT`@ւw-sZlƭDL|Ȣ!Ln s=k?E4%|<4SFpjr{}YnLJP]A1|q@߁ k^1Quo:8[{M6K m71A%w~.笠*ZIhQ#UQԒqO'mEQEQEQEQEQEQESXD;T\34ufyoy%H4KsY;e4 8$>ן[[|9ɦjc 2$"Ǒ"z+[ᖫ>(K[Z_"g98@O4<;wg'Y -j0J񎹫߉5oKLw>`]g=k;j[W)QIjqmuܹyg=zf|<Ҭ5K/n3!r^GqҀ=2xfJ.l'KQ1  I#=T#yU]NI=CԟKm>tV[x.Z)3&wdS(ۓZ~TҊw^](VK{ɭd'{E+0Uvp ak[K %:3r%2yq"wOKNN;Zf*h z-xv?Su3 y2Q- 'G 8ċ淄~gma:UVe<G#84HFJꈣ,p&II"uxVS Wx\o|_mkge {k[J= | fmj *]9bj6%#VLH7ѢmBgh_2Gb731kV΃k>[;)&).&b ,#8AEL/,fYIYsj(&} |Siy)uoi%XyNİr Gz~iƯB4+UJFm#3y:(7\қT{ {C$xYH<54++"P.K-FMa:0?31ʅah:\kz[ɨX&Gr¹۳|L9a`ӣZ;'O#}R9A ʪ'MuP'xx N-BJ;QY0p8:Or[_jv õG3 $0 quTP cMѮ4k[M"[ 8|ئX7rr@-r }7ᅶ2E-uJ&Ԡ_Ywo Ty4Pxɢ~m>[jZf=w,%$H1:pGK 2k} K;F2)k(-f* f!EHڸYEQEQEQEQEQEQEQEQEQEQ\Ik]sV :4y+hER2+ 9PQ^(>pkڨbX(9l#sd|=}}OF.tYP$l{4#pab:+"/YE$γjoVݩܰ .T0|$~[9X-k,6vpeĜnQ\xGMkh7:vpFz [G0 ͖G~mS\jw [gC'mpx5謈=e:ͪ5[vr&йPd¾~a󓜒LQb9l[`<ڽÖrO^Es5bX(9o7q('c'8/Լ+A$^ {c3Hwwҷ3yf6& @ PsEy2|Dsnok`Img26ʨ.¾~a$峑n5ָjl[\I?}X8׻۷s|b9l[`<ڽÖrO^Ea1akGn׻wm<7~vg}wZnw T!XRbFEé+Q=+W~ZZj$umm M6 >XBoج۾;? XG-qǖW`r82NI 7(?F,?~c~nǛۏD[X u0.vr@%|1W nQXX}Fqwoov7n|=f Tŋ:,K3(8 z+߰X<;wߛn1s<<% c,Z!Xʳ- c$@=&4 ]^7zm־ZTܡTs6Vߌka|=f Tŋ:,K3(8 z+߰X<;wߛn1s<<',$F]g ݨ\o q }qH VDH]쫷SPSi\a xr@ _Yv&1bΧrKx|2:>(^a1OO7wp.RDaYARNй5@Q@Q@Q@Q@Q@Q@yWo~)*7CpwE.%Ѝ71Bs"Y ՄgQ"܀ܩBUJaw*gc#A2UGSA?t=.;=2<1.I' $4 ƗOt i&4ȮTWR!'ob:V4ƺ[iOު4P)>cdyN0ClWT6$֯e^_G6-n&V:my|0WH-o|c+D5{H[k{kamaX4 q reExe|a]ڤO`4RD};A]>L 0~mfZw)-+)hxUPB,35o s4pƓK1@g oB^7{f:y?ZN9ll3p8q(OA_`VW4V$ҙ&Won@|B[]-xwUK8/DԄ[̨QC22z|HΏ}n7y$HF[ppB<{J׼nnw$)xbEh]Ip3|&}r;+_uZBF|*N rIO\ſWV ꗲ^j~.,*I}y~#ׄo#_Z/hɨ5gLQHl>3ޗ{<8r8`Gx<'} a@ eFHu<90 D3B ?Nkf$ų͑{] z}yï']Zw ~l?MW'aadZf{Wֺ$VZ"CL/4IT+.>tFoz}9bRXg @·onlCp̱Bd\ƪC>IKMR(+b¥\r= ]Oơk[iw[?~V&wn+h;s4Q@em2cuVR\ _780z1Z7">y^ݿknvqݟvw|٭((((((+uKG7z$>jζ+ak~O$v(b/c0PIy g$agCK5Z]#d(8nfDEv"SK B_?$ԞfO{{rmdvDY1Fe\tWC3jUB\dỤw~-s\,e;yL7+G5i¶~A҅G<32dd'89kKVMo-K3eca P}w=ͼw lź#Fˆ\ES&h:4p22#ӵnG2+sI=E|=o,6׈Fq (1p=+K@Iy&FI"YHP%qkc^$Noкɱ27ḞURqfsnE,j 2ry/M1.בc,+rZ5/^Ic{VXeH6=>a}&#ͤuI|$NDoN92&i6g,^4ILs/ŭKs*tJ e[2>q67os]ke*B7A">xGq:-\fL۷thn,B%uV? $䐻I0@oA., ./baX!03Go&qk|7=_)a؎vb8'=qTm k{mʘw],rd@zo;N9BdK 0IYNx%c#wsK{w]>]K4)u%y12(ؚ.<۝>[G'1 v~9Lnf2Mc!˼Xc B :h%֟Mqk,C]IVF1 FAW5'K5kz~7yqi,h B $dt8>-K`ꗍY+'8-H`VV 6}Y\GtvQ|t|(ʁhp9eեYuֶidD6)\U@Z=r~\`~hߋ!j|GGG^b_>Oˌ/g~Yͭ%O Y#v1`^͊4 j"OQHZdPG$LAk_Htˉvjpcn r@G(vr2,[x{aryQۦj?y'O̼=]}, X*2X`ƙ?/1cxI˴mWjc$gk8P {=x"Mhٮn t{u:fHPB'u4 fs5j= }9E.HTAxz-ԗ)+t]#9U\ihOkf!w|+P-MPӓ'8`izm]|<va8o]Z]i$BDϹp2j|;h3<%X[3HKHf YcMC=&Kg6:p7r'Ipd\g}ѿ_3n{ynPEPEPEPEPEPEPXpx}]fV!_*8n ŗ9ʚܦ"EI+"c?ʳomm%B 3X ͠jF8uuvc0s `rOVR29RƋ/vxX͘H">J߻]>=s,ZMI375IV< -^ N$Lr0#?cGߤn'`ǘ.>r> d!^cmR6<[+V[S~cxAEd6z r> d!^cmR6<[+V[S~cxAEd6z _yE3}cg^U^3Fwgwm-l4S D<F~b@q-X1#Eiψ/W;7}ʴvǗ#fwg8(!֏PQ QMˆvٴpA/ϼpAſG >*n/o;ۻߖ( 8[ì[+I_I?>ZyvǑnyV2KC"H%&~:XE>Z,V| '?oOl|+ʴۻv(!tՏOS Qvٻ'p/ɰIſ/$ǟyk<ݻqٷ<+rÓEyo|O"ϟ-+L[LI~rطh?'6y>_Zm?gv~~wvMǧJ;l݂8py$Qbf}cϵVnݸl۞~Eaɢ߼'gϖ-p&`$9n %Iy!eʱbGGل!0Q @t[4䵒û+Hݘj7`:U(((((((_:k <}?I{xX{w%2Fpt ׇ~iZƙuGR@]̑+DJ#),zy%'RL:Wr@;Xyeem: 3NK|dZXXm1uTd$O?m??dJO-i2\vVf J@P% I(¢t۠uWïJo&OxE&϶ZG1<8 a=ynW~ȟM/ KaoG [`la>76nٷq޺LMkB4e-i"8tr=m~1bM'>'Y]Nd-HP/" 8$|\-c.b# 4@ _2ڗO_;~Ptf7[%֭YNqʋ&XIq_~Y;oO-}@0ğjIֵj|ؾ3ܡ* w%_P?'{+ڳ]] vm刬y X@:漿Qk}}%3C$F1 FFRXă#D&_ A/|Eak)zqV~ѭ?L=SR|ۻcق@I+Oˏj/)>J%Q@(ğjIֵj|ؾ3ܡ* w%_W (f]Ӽ5jٴ}l`XpW?n?HLjJb(G}oim)<2m+S2Vke$ )]- ( ( ( (5Gĺm~ DO"b^&f\^k(GM]E<@:ʸ$p?o&A+Uz~DB{ ehU͜ç9hxݨ+SLtruGwt{J 8ݲ2#pAEz&_fWJXKm5դ{ 3nW٦ڰ$ \]-e̚|^uڡ1Gnd1hG]x'yW~ӿvݛ8}M4/f3oDmNaO:'(aNaN;7Өý9I.wVS<^3G|W; !gɹ$@z0(wY^ u+ ǽسyp8 ?4 5u/qgous*_\ p}69 @$]nKZ 䶅h%s+t}H2&_fXĿu[E.t'ʗ*7m5<29R9= y3"x/I~1ƪ7"мgOWiam8Ŀu[E.t'ʗ*7m5<29R9?&_f7uu$?2M|m(;gs_i_?4 5@"׬'~k:NxP|v٣cDI?o&'-S32&22p?)RXm}OksVC$u(\0Y.Wxw0| k=/>|Aݮoa^XXdBAniϯ?Aja~PkiKQm<^zG9נG5 > M/}|A 3]-iϯ?AhK_KU58oЁR2o NW#88#4 > M/}|A 3^gxI=Y=4qM7\F_`F=ִ[)X!$2r(lpFwOGSOMͧO:+ m4Ujm[@vK(p # x$CEvQEQEQEsWRt/:ʺZ_ ?utW5 @6? k _ i_tQEjR4/:ʺZϏ֩x:%7/k}H{bFXu'I߈06gyrP6!dۍzm|/x߈&XP2"d8 |= ?/Z o5r1ISQ,Tkٙ[R= (*}6 n[ki70p@ x[;'}Y3B+Qe׊2M[mq-E1p=I5/5-z]]ɫ򲪖ŭ(ڀ=B_*|_jJ9=Gq$L@ ]{#ڀ=_fC~,/WO K4ȺY|  + _ i_t|B /:Z( (9 {ƟH-+6CxH}Q$H/حWrrv (9_Qa%']Nj_s%RJTӤ+!VfO` ? u,-']K\׋?= IuEPEPVM)4&$S;??}MMDZ},p5 }@P E4;vѴK[Dl *QEQEQE纞6;4+bߔ[c!ŷo}r8*eVN6]+ .QŒȍLgJOCnb5mCNx,tyuwYh۲Hc+ +nqr'Tk?1MmSĭ+ԎFml?❀ȷ $g)'Tk?1Gm?Q`=uG<'O|_kIg۸g8'Tk?1Gm?Q`=ЧK^'uOkS< )!j/Wk٘rEt߅O&0)Um,ne,NI=x` ۪5{e'Tk?1Gm?Q`=Ч־i-[}ndh`X!@>¼_6 g(? Y,W5X6(cQP3$[!W^q$q ۪5SKo.[VQY-+zmgC-Ieqep|m F gތ+9Ϛ͏[t=.;=2<1.I' $5j0*rW:g<_$"I..IZ!rs*\ 3%b{T _ kƨo-FcjsI<88$Mvj^Fq] >XvSOl5moBuլ?ƸZf/{{ SQ]+?  OvV~/?Ycxj8³qyhX+9'Kj S"Qduq+u nNF}uH[¿B#/~'/ 3q^HP67ctڹJ ? W<@?Px'w_3+8Q_G OguhAp*.w_vT ]  2YΡ]J_G/bM,rjW\c'—u;;E|E} ? u;;Ec XLupQ#dR,zmK]`| {[C0>RCT[f"PzM' 7?{}Ǩ[M{k= mszUȳ75/.A4oUkZ6u+6/0[*;;CY-;{<%PHFBH2ǵqZ֗6f6WDgQpKxxB_wӵ ῶ2] Y0J[7fˣkV3,7?hpUdBFcX69T2 ډfӹ7:*d/B0>EQA;CqFҲhL\ 2}Vu [sMoN];772ٴiO";nzpazt?IyC'~5I.ai(SqI>Q\v_?>)7_[ľ O |xXt :t_ď_<]K?x>~7:}k跷6.efJ+鿵ǯ[nx+W*^xM7 R?j^Χ]گ%Gu#BK^~_> |L|^ o|J|PuNo2I}'ޓWxh{xM6 l/'g;)mi|yO~0t-a9?fo/ 4- Ú%^@yյMXkoo՝o?o6 |KFg4/f: ?ړZs{kp*ն>O37#,KdoI;WLJFOePO㗫?A($(u:|nM࿇znA٣I|%q5ZkᏎ+|k[Ė:Ėz6oz6 W**^m‹u?e}O?el:s^4_ؾ3x^n6ZgZ6mkg>,xS{~oke~6Xzxt+>AD$Qs,w *B8x F&"޳/QčwöԾ?˞f-gǚe$I;g޻ >"%oᧄxgŸZǃu߈>2jx>~ /ip@oKɬ'ӢTY/4pUt[;_eoڟ➿EMVᗄ<T|Q>4h'<9_~|ek?|-x;/ZFq&jw t{Qo#ݷ쯨kd"ڋË}cïoo_o~)ox°;?EIEhxgHu PS>b7쫨ߵ] RI*ucAnM_ƖqXX|HKqk(M.)~q9]_C:/xsJGW_//k?xKնDқGm6o ^xzGl[wKhB|?חWuڗ%߆t[y>:e&}A|e:`Solѡ1,(Eo4[óxïKEM?IY<;9CK-$WD*m+_Qy?''-xw|KՇ?5ź4 =}W5@|E.K-$iq J8 ̒*3/&ρ_]e_V~"Cm'N­+i^qYX<r(Et:+M\Y=V.߇:W>=|N6,~1tdx> Vz&ӗDż;,s.OⅇK]CFi|^q뿊jiF=,<>'AFeDV+%W־wO [ 𞏧xw𦍧xw>kA-G`Hmm"EDUP7?*o7߲G7 Yk JִMNj~$ !'M|[j=/KQNɟ^|7/>] C]7SoxOĿ>!|QsJOtkW5~$SVڮ47k '}u;+} ᭖gbM7 4;7k ^Wim-cm9؏%Wzy֗!~ɺx_wfC>H6s7JZxf7-Džt5/m]"՟DP  (˾13|A?yMu]/_t?xcLvr͢xLƧ-Mʹ T 6?8?)^\~>)osg~x~+Msk_G-G߆l_Zk5Lri' [@|.Iů{-//3>3>0ag?ϵRFEs#|N_w+_^83Y?e㏇gw4o6}Yn/mOTw~g iH'|U2WKC#I,qCqa+0@&r+N22Mkt?~ãhO|sM7ƟxF<6zW:_;Khmm"hQr(K{u^+~?~^o6۟}3Nh?P)?b +?hm`G>:U~CXo)Xc&v1W>:k_R? OA}hǛ\GqSRԠ_+w?Ɲbůxo_~$-_׎;kOoUO.BmXӖ.J k(ِ~{A0ꏷ$о:4/?|w<_#KOxBii4+J>~ bպǒW}G _R?:؃kHW#?_?fHbWǟx+Ax'~?O~|a!akG^6>?TsA׼CG [Z_[+FrfOS5 /Z!4Oo/^2Mi60}mD=:lPG<3n/쿿HbWǟ?/)A5/ GG_~<h _??3ZW@u+Lր?kֿnScOk kx_x߰]j0G|E7qIU r2y]je4k`TP@P@~* ľl_ڃSI>2z/3krY̟'i~Zd)d(ƲֶWZ5J8^P g?egg'vfsKs!)jf=W\>#x ɟ-@€?+?b?F{PnS㗫<O9K~v|P_Rſsf;??he:Wu?)s fAW"!oI ;ɾ@?k z/}׿9]*;?G?W$Ϊ}$(Ut>#L1߅~+X?u㝞Dx,K~,|/Ws^n|M/ƱP~zދ³^9_ެ:ᦝ?O>~ c/_^5|$--6:w|m4}{~GCQEtW+nfO+Ƶ+G=*=7fxC?_UZ]CCS{ li>7|.[h]}UIZ[^KP¯֋$ᖾ?j? i,u?& υ{Fe[J!B1i3jcM~ G5j]u o@Gm%qѿh|Q4/A%O'|o_?` &OD%ܞaд~{g,:ݜp\~#k~AMǟzSy'gZSܚ=~.~UM+ M)3C$~ZΨ|3_U ( ( {ky-n H縵dgv,4r!ԩ(㻿U֝ *K|d?7y~+4_:_MGs'~"Fj{ҳ܁(=wD~ {.i^G~ 4?jz;Z:k&Q("Kq稒nI~ ~Ͽ ~kt5om/O⯈_>'|fYw!0MoNЭ%xKR[]>)-]='gKX(^凋?h߆?>|q|'YxJ$_Vz:uƹs)2ߨ>f>5gl|c=^1O$#ľ1ӗ?<Ĩ|/-Ol_JBQ%eV/ghEϋƏ i4|O6}Wߋ u=o&7׼Wq/R].%gKy X;>%xz֡sM߂dn~ ǃ7 xιXx6MVbӏ4cLQkVϿoR/$Uo?n7y?Z5_wuatiYoxK_5}<9;4UIRIm[)4} ko|e0PI5nhe3ػ+_RڞWG/~|6I¾/'>i&riWZS on=j云hϵ溧:?ۓ߹ߝ߸azǿO*,?S#GZb;7;9X'ߐr}6?;] 5_ړߺQg=Ke{/#?iS_~ߵ?Ï"ޝ?^ykA]kGe?q⏇V8Ŷdu4uy-KݒVSoo?#G?m<|8燿x۾ ƃh_O,m߾cUJM52ǟIs@s/_~_QKs}AR~'ZhOJ|Fm7خvA߱u*&k3?+,/O_oEO]XjE=gIeAx8Mq?SDO m"돣mˋIJ[y^g2ǟIsH\a ko|a ko|a ko|a ko|a ko|a ko|a ko|g|nME|C}~~.<&趶|5z/t'7~|mFFW6(`m5{Ir_|)A 7Ɵ-okM>T}wWo|mAjŷ>χW:lem:X$yKx5ch 6S߉G +oT} k- gO"MB()zS  c c OJ,m Kb}'?Sq ?o? o?)ꏩP*_G?5?W𭿰ᶿh?E~ )N?$jOE%S ?lOTsj_[``m~ϟ}S1F>'$`w*O>A@P@P@w  Ot}+om_©cF> ?ڿA@~Gc c OJ,m Kb}'?Sq ?o? o?)ꏩP@P@χ>|Y0x=|l#w{x?|gqkZ='l][Bs$ӽ,z__Ǐ_|a xJ5g2o{fm kuo6Ə%{3<kOxEWw5+#S/?dx715|,i!|K>+k bdX~-xkN׾0Y5tU<;> ФԚ:QYK(;Y=mcw'Iq? ?_]_ 뺟*~ּO\мE@K/vk[[%^[n^d ~g|WCx$.F_>2xǿE7mt ޚ3Wgot?xNMw<?uۻ~&k%ޘwxr$`$8)o}'ß?jO'߀ku]?V9~~4J+k7.㶒 xḻyAI]vm~П~&ؚ/Ux=0~ '<__k~z5sK@Ee_ P͆DŽ>\>.'RG]',"牯Eg6<\_~<.ik3[@b_ w,xo.&8>$#>"8İ) __b_o Gw,xg->&G>>$]>7%~8yZ/ۿ(eǘ4:~No'_?|H}ǟ%tA#OO/&ž/6WC^yxķiO_^F)Jv>~: ] [4]S R~ |4ӯ[J~mYf{]%iQzM--E@iwf/`};,?x_쟳[oF|@χ?fx_I5/H5/E'ۮ94_%!džYoÏ. M"?n)WX}OK ҟ`sK ĿM?8 /+oY??F?8c%e?+9{;! gσsi߰ x>,~՚vڿck`χt~8-.!KR+(oaMcNw ķneJ^(_OxE<V~n< 77G_(4}$uotֵO+KV%Q+ _|1yy᙮4w>nIVH}7S6 v|5w1mc9,xe;WS4mNJk? #HԴ Z~G i`ܟI;=@b_ w,xo.&8>$#>"8İ) __b_o Gw,xg->&G>>$]>7%~8yZ/ۿ(eǘ4!J~w<1c9,xGW-Km/;}?[t? ^x}#WԵkZ%3闀ԟY;>c'A>~x]jZO/u~ Zxo ;{? q|+*?]4Bie[B ]هi Ķae/E<^'?7E?oY$m K KI4i3 |)G"V~8|K¿۾ #;6xgtvXf/+oS_*N?f©|K O"GN?o~7(i^/7;ҏ"h4+ٶx~7M(y',Z|MسX&A%~8yZ/ۿ(eǘ;K Go W~#ڷ#Ω|cw-gQgY{TSy~֬-_70E*ji/~: /$x]jZO/No+O {|Oygq|+*?]4Bie[Bv\gCiψ¯!C|]#J~ѷZ/<9 s>O궚.|[iQMlC}|)G"V~8|K¿۾ #;6xgtvXO4!_ lf_?ecy~ªxSAK G x5]MIJMtjOWo|W %OY8|Ka w~ G7?jhnl`.i3 _%ww,^W2Ggτ?|6G ;/³FqXig?@sK~߲NW]gMkTO»~ Եo_ 5 |߈|uwAWsThu;Sn`iwf ĺF^ccK>}~ϟ l_~3~#5oy~#5?֯/S3+-}/SEccqw7G&|AGwm+լ>'%O9 [~6sVm {t:k+%k_|%[&OZWT~*xgTsi_Wds T%.h>e7??"o`<n>bEPgٗng~ϟ> Ÿ|(>x¾(aI4c|H]v=P@|A /=&WPϷ$Rt]P/gd_w~&o~A2Zu+CPּEm~^MORWޝϬ^_58;W3?><Mm /̿~?&_M̿~?p u_?9cLo{^ cƝswx4xWLCquúueXU;ViZkZ.ck:ymz} \jvg$֗7,Kr#RAM (?h=c/)S_ٴilO o6D|IIݼ_m&3Ğ2еsCgcxpƝe 5;>`^}A!@,~ؚ$ |#㏈fa}صE?m?$'PzU_oҷjY'S  ( ǿ?C̃ AKO$(-~g|[?_>- E-+[74+-xSÙt'-rB.y&<0;?jOA~k~!m~%56E:wQx=; jͪHߴkNJ]oxN?Ŀ'7">$$n/$/ Q= (> 7?doT>8 ( (Ŀ|/tSƚt~ +?N%-ot xWnojL$;"|qkx^>ŦٿL-WE쌞EPdo.dx 9Z9Q$VPߣA!@VVV`@j ꚟcO@7ڶ٧7>!ͨ:4?WgjI4ey\]{*^QAEx7⾩"L//zGY\_RR<{K˙àw|Ə%uI5|JCOϊߵ,ek7v:koY4Iq #ޠ }ߵDmgZe֛^džnxRs{c] N+yb9XfTJHFX9o[\t7%3]x7Iu/JC׼a -ԷFs=ZAQ#: ( (<{)#??T z~B (|G:>$xKþ:G_M9|(6_^ υSVh?|!G >+ψ=`÷??ϵ}i>-b\w: ( (ž!_ƨ W~Uu[_ռ#e7raaꚵZWYlod+mmpٟ5>?hK xC|-izlo߉_uKn  _ɣWmo%H]*,}K C Ń|yeP+C?=Ѩ~o?,gOj,K*?C)Aʠ-w GF< C?=Ѩ~o?,g<?mߍvmo+[y( |Dm> _&}F{9aڍ^Eqi4HQ{GQez+s>+x]/u]gk?M l=HTIM[z'4YЬh=Si?kkZ.ck:z} \jvgΚE)bvD`H +G ?RW cφ_?;a@ߧR^IZbKt=Kw:w:k^H=J6n~H?bX7ǟU?C)Aʠ-wk߷oGOٛ<ִW!~4f]׌}7MxC|a55WmZl2i֡ReƿQy.djmm??f9? e`UF(&g>Tß)-~MW'hX2QX]m=_kO.R0E.~ Xe4幾nO8c~ڿYZ|/fKS^?i7u[7a 8! gvwzo\j uJ7ݽO/SOj,K*mw GF< C?=Ѩ~o?,gOj,K*?C)Aʠ-w GF< C?=Ѩ~o?,gOj,K*?Oz?6hã_vM{`A{W} C Ń|yePMH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3'R?5؃ @Z! C Ń|yeP?{#P?`YTH?bX7ǟUh3mS?eAo}A%ٗ៉w^ mqCdki}  ( ( (e 0#x WgoTsjzQյ~>0W&mGQ-qi>xWIt+Tе RwyWi?PxH7A|M/>|q= bEWǾ'_/=ik:^\x{PQKA!@>x k#*[E# >KCxWŞ2e/z|]iG~?<9m!M:Xǘþ~o_r |ŚH+g}k#诠9e/womY}ܿ??}fR?_r |ŚH+g}k#诠9e/womY}ܿ>ƿ|Iy7UJ_گ{''oz$>h3\X[[45(A96P@P@P@P@P@ v*ʍ#*РyC#f< ̣=Ho(GO XiS>߲uxk7ٹ/|UC_N˝m;;dt&tO4ڲvog'G|-?#_|Fw_?%|Dag=V~ PF;SR滔>HnU HnU HnU HnU HnU HnU HnU HnU HnU HnU#_ڷ P| ⿊ b֗%ޥ^)#Rk7𕵇wugd|/+uI}>&:#GSS+#f_?E>^)|K>|=jZt:Oޡhl%iSZf@nP@ @\ڠ} VVV`@ @Pz@񕮡}6kNZ+Uе=bCfYMz`%- @>7/t7-'|?K>#zOKWNI5m -*k\]l }P  B$TR@%N }#hhXc8 ;T (/*/{N ~/-=Qx#K,Vډ5mvB!5˝ pA@P@P@|'j/_*|ImlH|S&]^]Z-*Zkն G_ۦ~ |!s$6 4_få?>Zg- }qi7E07M_)_  ='+d?TcF׿L|4Kă2&_oy^x 3ϟYoɟǏe7Q:|g?Pu ~[bj_f3D/57'?nEu~9j_cNN~+A_Z,f{."S^l?Smڦ1~4'F@^ú/kh(7"a񧎼-_|W'9|SͿ #LF|In$P ; g|L~!g/.y ~.W=/qƲp~Ei;I ,5-?mR;0qngڛ[[_I)hX{㯇Cu /Ww|cۍ/NG%:}\hVm࿌~-%g<;Yh?O?xoJGhUxĚ}˽K*[ JjV'~|^n1-ѤŸn|H3^ӼUOB -g!lKabc\\Z8o++{OτbgKg~!/|O w~Zh/k{55};Nm?UԉԾ ~|4GX1gX{us,k?Qþ xJSzO羙DQ2?)"OxƏ߳߇ lҾ,ZS~|[>*xo>%%gkzzZ0g Kd x |+OfY񿈓M~#xB/{gcDg\ֲ[{k\CfO ( ( ( ( ( ( ( ;-(!?|gyE,naӬMowW. `į"׼9 -Z+$HߴgoU>5|A.E@?d| ?f]I:^mn⧂_ubׄM浉54Ēo5Oov:߆.|/'9-S_tYSZ_|AzkWG"~~ؿe O3os /h7۟Ag!66GO>m8Y[i_ٛA|]! $oI$?۟jy~|;l?[TυԨ:|3o6 {~k٧ſï 1}}g35=o=~3HzXͪ]AOI'|`/!M_ڗ?uٯĞ0Ax{mHxK(kVMs}z >,Q0 ~>x E-k^/n]_5OӠ1]˩K',M=A|y-îx3NF_k<]xox66ᯆj*jzU޻k['@"w4{BO:CCY4xKGƏV>l$7A8?Pҵ[X.TkI%گ+ůM~? "5?c~ȿ~(Oĺ> ?<[Q+Mku˯)YQ.s,w7о/$S ~,&i |Ss_&Ӽ/KFk=ח:k?iĿxSž>ҭao| _m|~m*Nb4#@]P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@P@PƟ?n?_ itwF]^>||Qxk)oU֞֞mۗ ]VX:͵oO+cS?j _R~7 5WOσ zo"o_Vzt3K&\kFntD)C[_KOZ_U/ΰJеx_6ߎ_o-z6 SK{f8M>ǿ?OoW*~_;G8^6^&D1^gxxd<)’Zvskqaw~u}_Y>8 }ɎL5yD6r.P|ҟUZ{.|}:á7~ \F`Y~Z~D񶷫xև\۝",-}Qg ;h}t_?n^|r~7 |E|k?1 >!M_ĝ;1_uR-CLd`\eak 8ukcCRO-5|!|%Z=SPܚ Ata%SVپǣ=*-!|e|H:|#׎D4#EKUuoiZu FILvh(%iI-}@%g O|_A𗅯W?Xj sZݯ!Y>bP} T\ n|գMawU:-;"ϬS_t+?6~S~0=sv#_$5kvm;Qu+.`;|⟴w O)?|DwR~2>[?|O=π-#d 5[}+Odr5Gst?5]g?|C|_hO_W<5OϮV./M m`;$Yw>ៀ݇u?g W:-<+g}x*_խ<;y{GxxzUdh4~=O k:~'^GSBxľ|5cƩ[:We?tKxR|IjYIdkZ{''|!վ$uokO¿> G'mch t_xnCiS+m2[ )콤F D4xGş |M74kìx e'[D5M6+&O50+}A!@P.%1c4Hǟ|5|Kiv~,? >5x@RĒ_ޡxIY8N+s>6yc YYG>(iǟO0ο44_Fӓǚi M>^4 ͧj&.ߟ[/-ũXվ*^ ;^:/>/ď~ bW4mTjp '|ګ. xy?gO{q|?oſ_^~ 3߈:exH־!:O:mhO'jz/]Pi喇ĺoء-u@[4fn>4[xOğy-tk}GZS]˥fo~kgY~%VK}A!@P@ ]|(g j/?+>- o&|s:~&Yz-^$4åh%>J4O'jMz?|Ox3/'/&ƑE|Au/~xW^)d4l4z[i7fm2txgvt?_"e#ѴjOxZJŴ*+[?5K-7zNyn+pi2oO5(Cs|t]Wt=|?ѯ|9[h~H akc-ƙLyH6[Oo=|{^uw_ַ+Hxwby/ ?^+Gtmf ΛmIQjIsv'|; O_{ڇ'~|^Ww/LFC~Gׇ| ce?c]?Kg3i&ZGd'%'u7g_~B㇎ xN湠w_5/}B|%M0ח7VsEmѶ<t%&_{/>H?ڦk[m;{HeMZ9ك'_յoּiiwׇYhm5-;Mtyk[${ iX5Mݶynos.'Y*i^&ᩴ;G1K-W5jWZ$+x4k=Sii7{>S< ^\}dx[V Ljh4O|Q5_gOooxsVѼ-ki2S,j 4ɝw&|UmI| ~s׋4iu/*&j|+[3⏌!|~.tֲ-b+ :mϘ_ o^8L >1t_ٗZqhz?O߳w<{yO}NEդ JPw'M'xς~ m߉ x㎵bO/΋o¿-|Cݬ|,뉗KZL_la KY9_s5`4?0?g~MGↃ'&? |.ex:ͮi__i;w;Jٿ .Koï#M/x|eA?ej|A'7J./5 K 9St7@97g:6~Eſ,O?^\Sqs43ßMONY"h?_xO?ƾ'qw^ _ ş ҵ_'LĚ\KsIK%JG,i4RC &9cx+21GR+ ŧ>^ >9k_~4|#gӨMCmyϭ?tߴ'k9kC|hO_N > 6ºg«/_~>S֓q? VEqk=ڀ|M7%߅%h>7/xgH4u odО ,~!ǁ|)lڽ/E$n'+rn/fB ( (< mU+ߎԥWNjcѵ;V A涺fdw_7Qɞ3)0æ(?-gσ5B|`U~u_߱߈bxRѾ|(}7{lm?V_h_[𥞳xn[S!xxR_~V KV]]]+% υhK>񕷋| xn2<_ƚŏ>]RM^O5t=j~|=A@P@[sCǿwa 7>a~=OxYx1&N}gl_zN}itm Ȭ^fP;=?U mx ;g[.kka[@~ܺ @4I$FY&9Eటn# @¿|^|φ1/R~lz~"XQKkn1:I-5C2k~R>+v6 k}Cڷ˛m[C` )K[gx'I!р?%#HZ~ǯ |4e ?Ε_~~&G[)}?7~#SXR uIwYo9co>_|6~7mOˬxouH*;cBuεyeáy+7QO5 [A_xK>3Aԯ?e}7HsV/K_io4=aƳ-I]umɭ AkXZ~?gϋ?| K)dwM<0Zg,<#|jw> uqHK:kuWƟكfۧ\GxOWALxXgN>~շӿnb ~;Zͷ֍s+|S+.oD|ֵ~αh_fno-~!E{w}|+>&k?sc6I}ͯ\SLΨZ'o< ~|_ kx_yCi&i6$J̦K#zΉO ol~c5\} n 6^wi_H&:ǿ.i9/.h:঍K9}/lclysGC?m[Ht UmP{)Z|7i6zRaWF8b~5x3w/(3C<'w])={΅kx__W |.=R7$?qxNvZkgA?ٯ-߲hYI4sWkWƻ&<N.q<mU#u8/Cs@yqG#??į|3|' :n5HTumrx8e`E(6V_?__b/8qoxc& Uſ۪_|"_x/M?i_:quRKmP6Hz-tJ]Lt7~& ~:nxM.z,Sç!?.Ӵ#]|Qoiu'7]%վ#~Ŀus%SO~ gS> ˅|%xZbC.Ūhwe%)f0wLv;fBOdKp[~?|/ [_7y;@۳;an;f5A8=/f_*wگFl|;ߠ|?)i:oOu߄ 1^6>jxgŖ {iD¢v.jFw.~ҿ寁h?k .xW<%o|60IOieoA|;kO}>.;+o)g!|IgxY,|n^> g/w~,7g6)Oů>67σ[&/'-g ֬|w{m~Z{`=7zU_[8>G{u=A!]xeށi&Mku8#kÿ|gs|#w ɥ|C+iL \-?|]x/GZJg\?R_¿o'm<w&+]tn%1m.x7H?F_G33 Z3]t9|UWz?W햠a@gckc_'//6gxS6/=l}2iíOZ\.{if2Ni/^z^ዿ |Ix?^eP [״/HtXu_  ƿEth"$֛qox_/3iM4"[Z-Cž jKGqwwhai~4xχ2~nԬt`|tQmj::̚ӬIssmqYWwhshΞ ׶u?>;Y_K-ԗZŝa[֚U[(=2[}ZMZb|Ukiw57_Rռo㏈v6kOki_&?l)x2L/xvĺu֑hQiik`Q]A!@w=)N<[Ja..I?hD?\}hVL?CMWg_/ǪgJX2 A,j73{?_'/~3YF6>"|RKGo֮5ƞwk~x~ɟQJ^/H/x/Ɵ_\Q|IOK x4Jkj+]?Gx[uIud+oLx7|k|e59wJ֯ 音ï+ǿ>:ŏv_ Ɣ7z떷x{L{k4 pJ> ?~'.fK? X|>7Ɨw?O~ڦiIvj2%{i"x Vx{ধ:^,Ҽs~0>&x+|=a?Zz~Yh+igQӭ]^G?j+"SmU߇ ;LƳI#XtK=> EZ? 7Qَ~ZSܚgß>z9]F n~x~ϣLւy\:ۯ1~_?^~_oV1?ٍKY|tm74}b;w ܂>` IᏌu7>\Ayǯ&w9msͥdT|`4HZI9դM?{SMںY.WsVP8_<¿|ΗC??`5O%~wq4xuO?GƟ~i~;l]M!о`o i?U><7rׅbURݞ ?Cw|/=/?#xVSo0xR ɹ6}#~~"|IG+u/? ᦭._G-|Pˮi#NWqvcPM[|ZT O {G{u˽K~ooÿkŚm4Oߵ楮izm"{.AJvwE[pGt'WyB B<] l~*[IΗs>> Jܺl>~^(_ ˗~0|RӼC~^=ݭ_~AV7ڼiixXhIi)ɵk![^>xCcKNKb׼cwm TдmDL/tqqϯ^n~_-vi@luU$fMz#d_"+~ ~ܟu_i>>|}xJ/ x}ia۷klcWmZvܝk.THbWǟ ?/)A5/',~ٚW!n27C. _zޕcwu/۫_||?ƵgXO`B{{O~"gP~'{;^ajo?ڇA'Mv2gk[jg_CWr c?>7/ߥi'Z]<}?^XF/=vw[jojZY·puq_ƛ"o[wUieExRNIdk_q=͕֗aOlngI4l W< l}+|?{{Ƴ|\o,Zo|> "f|M-n4Ŕmx+e_(g_'zǀhoR(Ѿ!~#kßNψz2?I.Ej~ |gOǎEMO[Yյ!yut/u-3]8} |y+_??3ZW>1go(E.]~Կ>t/nug?&|~xb/O }Uxhrogv+pxy?eH쿰W}<(jc7 o!&jo<ſv~ |IOw=?m>^Οi}w7A/Cd}<ێz= _z#|ER(ooD$7?bG8lj]I>%#'l3ZxK⏌ŏ>nGxQwþ'?i ψ4 ֺ~w]zM,Ě·k$ݮuM:ydBHbWǟ |y#?_?fHbWǟx+ _R?:؃k@^ |y#?_?fHbWǟx+ _R?:؃k@^ |y#?_?fHbWǟx+ #|+w±[|q/eğGI;7?ǂ }:'o+g`- ꟶogw':,g9( :֊Dg޿ſ@2.w$Kw?bOōqvVO5_z#og ~~zŏ_ j#~Nk{&'Ww~W>)סK7EѮ 62څmctw~x6(~_"~?πy:?an?m|/PnKHҼ@ ;Vf?`O(UZ?5|~=| |J:~/xM=+W|Q+KY3x_Quֱxv{O:-KWǙhW=qS7?gOo'7g;>1׾jRQN4"~_t |\׾/}G?S 4o#vm^!5tllr+ROC7ϋ<-M-x@fOɫgYӵ.?x7Z_Z&_W^j_ϱl継RhE 7EgI{7þ%5GxOƖ.jL|XE[:^,+V<7>-Kxu7%;kqy6{R4"v 2HWg;Ϗ~xjH6WAҿm'x >$xTϢblαmx;sjzo=l16QO> c?c ㏆ m$?K;7?o<)oj`e <0r}O@ (@ ?x~.'wmb_M}7o|?xIyz5?T}O@>Q4KI+/~?.w|gljm?+֮? 7CWԵ/WWBtˉAP@|Aa}GxOڟ͠3OKbx_#OOFoOi2O//RꏩP@P@P@| ~Ŀ߅?Fe@q6~c%GD~75itO2V~9|R>A@,~ؚ$ |#㏈fa}صE?m?$'PzU_oҷjY't~_?Ň6_#nG #eo|?!{R?i33ŧt}'Du#OHh\G}[j#OOWψk/kz'ōKeό:WE>5oZ|Or_,/]>vN͝a3YYY$> I?fE1}C{ -Yj5ۣIG?,ZW?xYE,yK4MTs!{].o,>Nz+}hŭۣ_"8fؖfs~?<7$n'fu0gϋZ&߷GOOJqi?-+=;ᗂ?(IIexG )oixnI/'M젛_/z/,l/A~|=t'?L6lOɮz֩iRT֭k#R-<{Xށu?'coؓ<^_߀_?j?|)'\-O]x{4ko^1qhoamrjq[/FBž1>~>>cϏ4~[1>w߱_t?F/o<(:L voSkŭcۣ%~8fؖm w~~$$nmt~E>ƃxG%J9(q6snK|UEn%ՖTOu~?ni?%'hz^WoJҵo 0x'Űo<1&-躥KSEdnu KWDiccdc~ Zanj~*|U=d|An$_tFo | ik2t"}K|wMu+PեǺ>?gϋZ?!?GOE|Zm77GO ?'G% / 5G"}u~?kX;) _-{I,ۏAAGj@]*.gϋW?OSlx>Ӿؕ׼7G߱|qK{}SKpMe:oeu3sV%/QE6»gI-~!Уy5oZ->*Zjնsx ZE?O{.~&>|Z~j7?GO?:bXd⋏Xi?ޗiښB»t]:X|YK.Wg.?cqC⏈~I5_~<?,嗁+?~$ſ֮Fkk{[h*e?_/&Ks/_2ǟIs@s/_2ǟIs@s/_2ǟIs@s/_2ǟIs@s/_$[ߴoM!I~ٟ*7~wI~|Q5t,o?bB~,|:#|O Z/سxEt <ëF%?n~?Ow>|ZnڞcOįB?~&n~㏈_k^mK/I|( _:~_ ~% >kIn~x;I"?χQˮ еKs+k_ãj!Din׿`Gg7?l=r&^ <$_3m^Z1^xKL^mGJZu !D[GzkG#GW.YoG%#2"߆{F| ?C I١7_ʿ>V8Oؓۓֻ0hzg쳡v~QoP|*G|?3i4jIM|oN5TZrE?.$xG>0Mgbb]oxL5ŵ_tgڿlۛ>+-4Wg:O/zu/?l/^׾=Ҵ[?L6 l>'O I~z.wRTnu,_R<ǯ,Z_j^')w?\Jj0ǦG/eKi~t _[J 㶕>m蚌|5\ZIeuP-^[JV}+ULݙTi_ xg ׇLׄ%>LJt[8t@aoh.alViCEjNN8R IRt ẖΒ"ʛ @Ax  #(*;G3o>|pu߀(x^mL-sKK.ux0IsUݞ]F[OOj?ٺG~? [^#Y5__֒Aq3X|TG߂%xsIK?&/Xk$-aѯ^TG<2m/0jʿ~?_M5ʿ~?|+~'>5|c~&xW_Oׂ~>׈#ݞ_WׯO=BhQm%oKWye~^7?` :?<2m/0j:?<2m/0j:?<2m/0j:c?h/_ji?f~b_V/viv^/"tW C]QV<2m/0jʿ~?_M5ʿ~?n~ž~ |i%u?/$$'ٮuFWg}Eko^|-g}l}=k7\׈ '}"Ğ nq:M՞\(x$O?s}&gh|/u_ 4c/ q#ϋ/dmHXٞgw ~ xK<7 jZށhڌ)sa5͆[xGGSM: cu[/_{=_vxc3ǥEؚ?>}TOsKImZ.ZtQ= ( ǿ?C̃ AKO$( ha[{HghXfT),RHF!84$~9N>=W~#Q#Qۇ7W/d_e@Q O ph3\j߂'ß~|%>x'o;<#Sូ 4/Q?oHZm7Rk\){^K̀5c5WKK?*j_Nnj>=]$ǡxCȞnZԳ,4?K.CjhV_}O@?ি(7_Ǵ>/o\/|qhAigq+*,=.-.hm.cIa$E`|4ƿGeWW9gǙ2.dൽVcsEm=~;|!‹>ozV~.$-{7>Y|4m7\˩]%-4`TP@ž>sOx휖k(t足_]CccΩ\X%pĭ 2Jꋖ`Ɵ=[I4S`j:f]A{:}sMymY"6d24ߣ]P'?x7ux[]foZ]3S|)]{̺&&\ڴwlӬn|"uJHk)KXANk^hzhōM嶣m)seiڅZ^[ȲE,NȌIhP@:|mo埉6m[UҾ![noo'У5kZKMSZo$ѮtH#H =}cz m/O.P@lW/c_Aj!+o P ePR%S ( (矍o2_h~1U _6:?ďC}4i4W@u9K U4f ys~%|=&#mo-?񦗦 ?i/!xFŏT/8/io⛍2("M\?o?N~+O:[>~Ϟ𽽇#8IYY.WsMH7A_?q; x|ۗ<1L׼Iokmh^xTֵkT)n.n%HFvF2揺?h3 _ WW%Լ;o_6^ċznm]Y Y.(@: ( $?h/'oCqqa?wy|y{|9|'YAgo[}*yF 4P%6Pkf|c>5 |CuG/aW~?u xᶍxAпf.[n= H$ƁJ/Ͻ?BY_R? Ѕoⲿ +a B(P<7_++ GС@r_o!~)B xe`U?R"?"}޿mk)|/Ѭ¾P/ҵmJZ;;ĚR3FmbxEݨhbW=#T?w:Ƨ+m<5xoZo'VwY m}#I/.t}Vm&;;[޵cb~_z;/x7omVWB}޿c\ZGS`]w'z7Ŀ%-??`xwGXwTgϋ? mxX>x?(t_~3k?o왿e'E֖.%KT+j]W?<7_++ GС@_ux7omVWB}޿?BY_R? _z0| eH(W} /#P9_ux7omVWB}޿?BY_R? _z0| eH(W} /#P9_u<ǟo///+?xC¿7qZZk+xY}WXٶKsc q掫~ /#P\<7_++ GС@r_{?h?@m o2? $7xQG:}Gaj_ڷK/^-NǷ  ({{dyF`&E0E"8(j( (?_Gú~x-5ji4xZAsp_hAwi<Ip|Yjudž4oem[ )2+C4"Au;'Sw ֧)Aa}GxOڟ͠3OKbx_#OOFoOi2O//RꏩP@P@P@P@P@P@SP5k +UNOԴB BI-.hEd _Q> ~jj៉|C !i]WƝ[Şi}#]m洖kKi}P@P@tIc5gwv 31 2I C o~^ ֣z-.>,? <{mZU> k^hIO&qOҚ[he 䝓go؃77$5nAbJW< I?+{@rO__&$ į ?po؃77$5nAbJW< I?+{@rO__&$ į ?q>D2xc _i>vb|3񾱫B{w.Eg>3O?~5[O ^ͧm>k+|G_&$ į m+ ?h ~zIk04s^(7|AuZXtk7 OZx_Pg+%a5܉wJ.ǡ_Q!xWƽ}ae}t'Mjw6>IXidm 2쉿MH7A_7? ߱%oohI+k~9'ys W?MH7A_7? ߱%oohI+k~9'ys W?MH7A_7? ߱%oohI+2m||D"~C |A}'UtQִh<_bx^QmJLTOVwBYP,Nfm[{ڻO-pp}W\\,Wב\$IEy)g{[S?X&ƟB?fFxE>0|sMךfqTwi1𕇈'ӭ{;B]:H.%T&=Sk~9'ys W?MH7A_7? ߱%oohI+k~9'ys W?MH7A_7? ߱%oohI+k~9'ys W򿸥(Hc;? /FQ?|#@$4mY'u  -KIaHoY"QeP@P@yޏᗇ~"xׇ Ot]'7񖋦[Zߍ4^^xzX-<RϞg88\#(8߈>2OxCWcxs/M0xWz}t_Assƿ V>,;~\xB_|M~"2]xd|fiQEe&q{g:% ڱ (<OÆensSK_o|G>RWÚ.vfBn-ZyB?c`>#|%iwMߍl;M^:%%#i㘯6 >֧|]Eߋ~-?jHuMI;MzmhP@P@P@OďžwS/>wXj)סb7F.~ |KKG1_/m}KN-CX⋋[%~5])ꚓ{wdnV  ( (>}௉^!7jρEῇ OmOVw:~neψ_]M;O|NWX=sþ м⯉'OӚotyci-q. Pٳ<hbO쥪-Ofz? |PmCƾ&oWKO h6WZLj$𯂴`M}z~ӿ ~ЯDIkK_ïYx? bQ}Ý7Tv{Ksh> ҽr@k~Ɵͯxτ+_}|=>4>-#GBļתߴ3?g _/ /|Dc_ =o|>>3|a_ A4c*]-㶷[Y/%HW/x?{?#τ%MUO^5}x&JN-ZV5Χ!@?/  >*~?:坁5b 'H, :G6]yYWjx/Gv/zߊ=>4=߄~&xS̺~x+ů7u'"_ % :fDּEyimie-#T<)"K[)Ԑaqyx.źEl |Fd=/LJuOVE 'Ė uDZgay'T۷`ׇ</ wgZ/=4}s^ H]U ;g 64=Ԛ~:We|.h_,5GoE¯ |P mDjt?~(|s?V:߆kT|b߉_ |''d[_&K/(wCj_>ewQ\7mƯ~!ŏ<40 ;j|"dߏ>,{Ǎ/-Z^?ċ?_|+E2&A.ηYŤV3}@P@P@P@P@P@P@P@f蚗;~¿YG'ŏթ^][χ>* lH<9sti.y4k+о=x gվ2xC7$C߇7|^Oǭ7t_qx_ROnnn"Tl5ga !,xŗ^,lK7ⷉ%_xkŸOe>,VmZuqwaI1eee~d~#|om'xCh5G[ZivI6|68-S⏉Ǎc<*|y>#6W(|IQd{xoe^] Y=|QeؗI~ +mc?g/|a;P_м-_xnZxX .G*d6%?Vφ?h/&QOW|PֳŸ"𾥤k>3[o_&x+v?dcz?cxI>|CSt5?'_G|H ػhoLjQO躾~ ۛ guHdO'ŏC?ww_< x~/|WyOyB|R]_4 m8=ΉxV"=s̗M[៎o)>'k_t(/n|E>-gI%_A_6o|0&Yil:WklmOi?_~k^?WDa/>hi7|P.ɩ|!ogY?6~ x@!\{\5C$.zjj7gL.|3z_X@>C%ZdooPsu_xY&A0j ~xTִaoe MN@:Oqn{m*|{~Io?$@FJa{x'e zCm>_jR6͐j?ԟk#|f"x࿌=[;x_k_l7wx,\յĩX[ڮ,>O~> >x7?<Oj|P qxLj hF/uoxfjֺD/-jIC^ uw^,i=8SמCi\9.t|:ƚnl:( ( ( ( ( ( ( (>4dj|;ɧ?Ҩ~P|9":Ž"ߌuٗ_tڋ^6:p <_kic>Q$o-=J~~??i/O>4=RhI>xoƟ4MKsR~zt=j~V'ԧt@_੿y+OP Gh੿y+OP Ghxijw??g x{A# kǎU5iӾ WK *lռmGdbIu[X{+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT41_t5:VN']/X,ZͳV½˝&WenAcx੿y+OP Gh੿y+OP Gh੿y+OP Gh੿y+OP Gh੿y+OP>,I|FS ?tx?gßŗOك~+ÿ? ɡs7i>έ>k}x[p} O_ xƾ4?MOĞ(??x{-ڎk:=;L,-yu(гxw੟IϋŅ B]:/+V֫# q'7#i_6*Sǿ_ELZG؍O?SĽnIE/jMiaq4f+f!EE#(¹~?+@Z'n'-I t/ ]xv:ΑIh[GL狴7MJd*gp+*oGlT¹~?+@+*oGlT>#?଺4_%y >.݀mN;/ _iۿ\S?`Vb7#i_6*?\S?`Vb7#i_6* ڟ A]ioûh?w'xoG?sja A}?=|@(?l8$ou> ( ( ( ( ( (S(Hc_/ ^/׎Y ~YKOI7&[;somj=6%M9y3(ƩY6 z=#8ξ,?hm{?1|KVKW_h:<) 텄SG藂FuA,wWh?e&nQi>? xK ͨ\OC;ج>iq,Lү(Ꮏk-l~#$h?~~џ~9x|P|||qড#'@8_ x?hi2. |#|_xQ,4g |)↡OoMu/]l|AOI}eycxWPƙgjm-Z ߴ6"?fOz}}gOx5_gKkeYR4777E'h(?l8$ou> (5пf :8|[c_WRU>CkB/xs>W+cWK|/iw%ﺆ{0_/~=f.5 Y>n/W~??c|U'¯[ɨ|g:fwO |cnʉ63^}|x7~5?h_\~> D>&~ P"ZG-WWa_xf;\hwg$[Mx?Y6./x?ٿY=Eo\YcNյM߉x^[+g?'y?> _|GKK 5ľ# r/KG{"|[h?GfoسH6hΩI?O⿀~&k MH-~.]dVgG@?3<3״ |Toj~,.~ [9xƓڈ&׈l4+U^A6 kLӣ/j'8Q|UIx|WE?>.-O/W]'|_ѵ^gÝFEЬ.hu/??߰ß S/ $|+u?~"QWww/|]RـK?wڟ"O|->8|GCV57?zGkhR8yS Oi+Y_ xc7MOS<3)K+t+K۫[+zχzf97}pO5?4?(Oa9<+#¿Dw_ů/Ǻ_xKឋÏ9 JO|Yrvh^xVf o_!мY_0k&i~ o yN/[ _^Kzv[)Ϻ0Zs=gQ|5c~ FuO·*^i-߁|KOx×3>iOs չw(O W~f_;R5m,~+ko~Wm :OxPiOPzei-⮗|?Ժ~Amj'Qxÿ> [ ]OOi` S[-ZtZ-ަdOo/|d7O񮣧~ߵ_?ğ^ / ?x[lS?ź>X.~h~%|aign$խ1C*VV5k>~y4KxOⷀ>|YoxWÿ<s  |xPe}T}|1lIj꺤>Ww1 ?]3: ;]"^xȾ_JP)?h*_( (yOW(-'Zu߆Xi? uk]J_fAp,e¿ [šޣ7GsxcZx|oiOjYSaxkMY0,b m |"~؟g|q:ž |_QP C7|Kw㗍0|G/)[/;VW\Xŭ_ i 2ϨQvگCo~. :B4o(Wޯmo|߳|+_Rj>E[3itڂG _l_k/N5J}>\ڭ_>!oh"k[Km ~/m>Sڭv?ϭ|I}O_ړ.k<|}4~^"N[[ jcHmsi2|)Z\탤-41@2<O,>0oB>|6GiMr_wVg{/|M{xĞ m{w{Kȯ @ ggkoO|:|E+c؋ioj 4InG~:u ] ~~M{Ooǿ >-[ciMfuZhuy4O< _<|=Owgt/q Qÿw6sd)Ҡ x ??K#x⇀oW t߄46^6o_}KCOx^X..5^Y6I֧ l_m&ùeծѠn@>TĽj/ O-ӎ|w߄~5x-{~ '֭Ea|%Z]izwE_Q=6ž0־~[_Ѿ.?gFQC_j.X_?-&m} NԢw.sr_ -|a>4F7|1Դ-?mO5 š:-?u]GOi'V{@tk˿࠿?m~9~jN_]迳%j?V{[z&Ǎl1 G4/$ƣL ^WSs^x k~!|uo?g?)|UgOF| mo=zmRdx7'_"AGcxsi+j'ox[U~.o+k{of񦻮CjN|3~|?¿5hmr_AԿv? ~ kB|ZᅗAVS'>+Xtt_Ot)ߊ]eK~zF0AXş{xW~ i&UB֖׍?oYjvZam5q?Q*ޱxu𭟀~gW#ᯆZsßxޓ}0΁^?E^z0t=)`_:|ao/MRĞ >֭ k_͢xN_Z:EDy P~?=zO>i ߏm){ZYsDik+G#}, E%C@߶GWw7 Y@Ok~~~uEp?:-|'_Ŀ+;U,|5Zօ^xHЯfyU C#(/%$P;U~O? ߵo;5L__&Y~~#eF?OwmcmpM[{ocxsţ_.JxoW<x'ž5s[0iڗ:6 cAqs(ߴvV?g_ZEVO~O{-ƿ}g喙-{KBssM{w t|=ί#7| 'ux3C~|@7ĺ~$jGW^"gaƍ☿c_iωؿ 54ӼOZտf7)ig-c8Qĝ;P}3->]q(i@k_<~ (?4k/+~VyLj#/A9k&[mVݗR.Hy(3e؏ ?k_.g/fkKm 3|lR5;M_A_Yx+Wcmq?iO߶| #&:Ŀj?Q&xWǚ?\{㏌QowռM[k=fzm͗I_~s_;_GÚ%wp~?%xu-?i}WQwue~Ŭ0> s2Mǂ> :O/5o_ ~ 37 kjE6x[+-.Pj:w셦jZo'gwh$-$T _o~0i^O|a:Zo|eӢ1⯆_h~&־-kaR-Tw: qu:>yc$p?"ӡN~Oc}#>[/oK9|'VCh֖|Qw?b.^m2){[ @ Gsw2ψw |=𧅼O7_s#/x{F-X:vr~r˰'_?~&=]|KŨ<o2wt6g^~xF>Kw.Ajf5ۯPQ'j~߶U./uZRYVŸZ]C$WKHV!Jo/7~=k^+S+<>8So"~k"} [ooog_ D$  ~Lѿe>:r|}'O ?gxmDQ.v:ZA&^7MSĖ<z k!Ф_پk{+>y`Լ yeo$5;SOWPmxC}Omat<5aឫZ5O>>ާ\j ,_k&ùeծ`.E@>TE< ?:_ũ~|3¾4Yi)y~:_ׂGD|J?uk?x{Y\K/Q< w -]xWßLK+_4o߳p*L#Y;?5?z-7B5eiDw.srO -|a>4N?AoͲPxOQ]XYi'V{L/s(_-"}?~ |cg?~Ϛo xٯ²|eT Ρ]c»[g.|l[6 ??<7b7FE?<7b7FEcoO)wؿw: wԿixh]+T>=mGRIxF E \0)Z+ ;@|Su oy$Z>()>fG}[bkSÑ[AV/5?u#z߇u umLE$~>"SmXi mV=n>?_R?l8$ou>ɯ*g1?M?Ͽ _oOGO*zx ^&&cL^#N\^O:ܸ܅؅ &\@6|V׵/I H>22mběI_TyvOOG{=<5O'uL>>X<KĿo4_Z[i@ޝĚkM?o~$^|Wx<wL5 i> E|O;>7KuohM#e ?ៀ_n 85ڗ]CzoO?$.M?Of#@?$7ڤрTuac ? ( ( ( ( ( ( ( 777E'h?n+߃)o kǿ5O!Ծ|xexq ^O x~6!guInh@>Ե=c>o:jZ%{ Soy戴SM]J3)*̄(g u;\DKÞ(oW ~4O'uohW>.Q ZLKSVSU\Xc;WuOǚ{n༱UJ.m.~7Cqo*d'#묿॔~FU=q-4owFt4_ψ/t}o <=.VUe)(&>=A> 7%e2| <@/|xú5 >oy&Fni7;G|DWƿ[}W.7 h?-K[_xAj |+omį7j"MwV:-45v/~YŢ6_z o#|c?<-'ǂ#|nw-~$Mx_qh<^i%EQ?j ۽ T?!w>*ž41]go h &UWoOWžn\+Cs{@k_<~ ( ( ( ( ( ( (>#Sc0)gWv?(?ࢺ|3_3FĈ>)Xh_:b/9<}࿍|j$վ:" }xL[74}SK?W^&w4#o)?Už*uK}_ػ^0LJ?w*񿋭4_ ?^dQ.AhJ+jskHDv ?qO5=WKm/Z_KM?w{~~-5/|7|JS[LW_ An@?\:@@P@zN߅ƿ)^(|-мK7ğn޷xLп; O\}kHUH@;QGa> =hv74~՟6JŒwCG/ yT[xp( ( ( ( (?|}~WCV'koPo>1k|M2|p|CW>0xOWuxyZ֯Wh-|M0 m{FeBޝ_ k'յcϢ["CK}_LE6,d>ݵWm}ȇe>-~o;Gm4=|d'#묿॔~q_I?/)e}@Sw kS LWOvO E&i[Du;?ͧ0u(&90o+> ։^W5X5_|LBSi/xGΕ:,]|B:d[-3@]G+cwt*_ßu_&|y*_H??/ g~? jΥC/$:(W{-W~xYi~%4#Xxb-;U`v?N3w3yAPP@|X~_EMx_~ |pOQa_nJҵe+#ihq|G|_xi ? $~:gxşOOxs?gKޙAt;ZE ߅ev9Zjŝ~?ggX ( ( ( ( ( Y*kshaV|A~߶]}|'h~+GKZ:[׋ʒy|M)=[Z:g-<:zl[cVwPZ?69"geeR%|d'#묿॔~q_I?/)e}@?Y} ~%ӿ///^|'yuxh x¿G ~5<5jw-<,Њ5I2w? 4~Y|?oþxgΫ?uOY׋<kSW|7}mOZPu_'_߱u}Kߴ}AG??io|3t_?z|Iio. 4/G8!#xzŋ>~yW){YKį'M[ğ%xfO_$Z6/.M9?8~u{}f{oR fϋ>-igM\|<<ga{9eyn;Pⶀ?N3w3yAPP@~9_延 }/|_׈u2Ӿ |*<;DrBz+ O ]G[Zg`Zvj@-x <o$2^:s9 į%{|9yOx2w =ՎlύbY`̿Y~ԟnI֞.>Gtߎ 7<ًbOa8w&O/~*^cM[m&{{'𵖫2&7 MxTռ?sZ_`Ů?[vi=#Xz7>0~kxWW+->f~-,-!p8^ :4?lwxn+:Xua7v7x⧆<([]7]jb8?\:@@P@P@P@P@P)Z+ ;@P֚㮇M_KOC> ıj >#+KYDU'UBE~߆_|+>$|F։u.x M{ngE2Iç~7O,~1hԼK ??R8CkNj<{OOe]kͅ:5Ā}/1wЗ?h 5g| ֙Sx|!sqq֗v7N-,nam$|ͤ>hĨ9_o3㧂>7xI'K?>|?gˍZ]ZW'N{`h+_SL~|FY[ݦ|}k?3Pоޞ$?>?  ,K`5o} ڍ.\_ï^ZOT jZ|Yh{ _~x[#ɾ&]Z|>6e XҼ3h5='WW?Bac_D έpkt?ϨYxbԿ@R?N3w3yAPP@~:^]KGil=7_R3o| F/^wp.mm |AGxWMcQŸPoO>:}^/?Oo7gLďR:𥖥'l֕C>_|9G:f473'mGž7h~xOGmpj_ tO<9[?O8rN"A}K--Vn8*]|V?kV$w O .u5]sJok^!u_Kuac ? ( ( ( ( (xO_+ww`3Pmk>+ZKkM2Mg2۷F]/4(4Ai.s_?m _PG#\5 2 <_>_.N#ޑ Oi/[ !k=s9 iph~Ƌm6qm{E0?|7k+iǂE/G=W%xǥ|e. /~'5 ƋKOrC}@isǞ?6mFwm;=k|мY"|9e_UL/>cxR[O760b鷳{WM'A^_I׼/xG↳i~ /5o /ួm⻯ٟS_!)?8gA|pVzOQT?!ac]񯎵wß= ĺ[<[QYZŧ6 q?s?ǟ|tx%_~ ~B_MA<3~?д(~?|$LKAkf2 _/ @_Sٿⷁ'Cxk7߷/{wݳ?h8,a;m/>27-&Vm`2^֗5uOi;xc>aX)׉5M W{hڷ/x5n<|_sſƟZv.5xykqiK&5On`~#τu;?~+E_? &->?eE^$~9?gk;ZUt=Kx;▷ v -RNu/'/Ak:P5՛f L!3vN/OṴ ͥ~IE<@~ǃ~I0fԯePb?N3w3yAPPGWw7 Y@#q?؋kgUh#v]  ~cZxWſigY[_XjZȷh/oV੼?ڔ>!RӪto_j|%X oI< S?F~Ɵ!eHUtڲx[X+d |?Qm595OOƯ~ ,|7u/ EC_ѿg _<3%ԬEŭ5M8ix7}_/[Oo>+σ8|7|4oRi?.#Zǁg<>u_3\\]@?\:@@P@=;'<7/o-;9!Ś^z׉[º jz ~5+>: |?3'-3>(/~íF?rA|ɲ~zyޱqho]^Z<k&߁=WXk_{a3"nh->O_ ]B_iZCjWWic=\:@@P@P@|RـK?>Ǐk?| l?g+]׿Zi<iw9ZO Szm~CmإgMCǟdž>xᝦo|87 aa-"b~Bˠk::OiN x ?df?xN9⟆zZ.xu*]MC]ُ'?d=ú?[b,Y=t)xW f?~7##pCJX_ ?-x¿a;%'<#~eĺ恤G+[𽗆.uk}[拡I]N6Ӏ|7 ~'Weht_~>㯍/Q𷃾/DxM˝;JZBGv~?ggX ( @_*? * _G5,_~"K +w ޫ _|| "~ǟY)7KSp|2ZO>xOL~.O.~jeK7V'w (x:/ _}EhYVxeiz^x [6 O.Maqk6-I7'k|Ng |8xo;_[#Ö^14SX<_H}\[x[SB^~xᶅᯅ:'MO>i??i ֵnFLRiuדܵsz/%I,3y ~,+Gx<5xH6?c@k-v }Z]_"pFc0 Sd'#묿॔~q_I?/)e}@U]GC?gKYgO;3&^ sQA^E{49>QeC #%f泮{|;.vab X㷹>tu/Ih>+-/WOOtož ROSM|S[}{\m8-{~(|7YZgeI<_O!i#O? Ŀ~1ZxRgx},k~,ѵ׹ћAMƹ#?|-_/_~zwś1ktqf{)? ,5 j>='NoQ׼c'QIKSx׭MJ_ KYԼI}zǹ|1/s>g+|!|/|*>/ kzi"icm@ W߉1QӴ^ Ϗ~_ m;ݗ ke>KwisMsŗSODc}c'l<7޻xzszjF7[Zk]֡{x1SQVZ)?h*_NFYK(Qx<:D{⏆c:ƭ#>(xƺ;|5f?ڣ߇f:xOI:ׄ<^ o^ּB`s}⾑ sW _|Ner~]]M\7ͩk ? _rKs^!AO\g6:ooJgѦ';A^vb- ~~$ ɿ>~_-|H@b?>xXl| W-.udt}Ꮜ'4OjSs~'^ƥG %Z6Oa,_B%u&)~3R׭O~^._wo}74Y7|5 cׄ@k_<~mgtkP`Oك}SৄfŞ*/[ /?Pg H??aB֣u3IX'[;Zyo=Eΰ RdjgWT,(xjag haԾV?~x]?__~~&~?1GOjNo]wU~Mfm;Hu+1igQ5u+ŷ>~[xN.i/Vۿ\xkVs?ǝng.K.s_a;A?q-|io o m?ǚ?:Tzޫ/_ |NO8'𷊭Ҍ%ޞQ |*RـK?ͮ|&4 ]+oWZ_|8Ǡ|_GOFTCk/ i-uf|shgk^=Le4/2mZ(X=p FfXD@(M+H_/d?O/'ߊo|ikχx['څwsu2e~ڍ iPiGNm^X*6P?qo*E]?_R?'~''/~%Y~~=O|ukn%>-w߉ |N~*xO<'w|Gd|Gο!_~S#|dms\i4,ǿֳg@^m+Rh_?g egoSB<[M&M_:~%ԋt1Ξ-iZ^i|x]{ž3{{O|u>&|?~~7}xB"u%[2w>Nxli^!ѼQiOx.? iߊ7~"x%_j'Ĕռ?-"!& q?s?ǟ|d'#묿॔~DX-|CĆ{C5MWnj OZj:ލ[VZd~!qmuh]yo5?>-wQ(xS}wr>_8O~6|+tk}\'$+4=wO ߲o*oQa*Z/-OlgŝVMo×QŬw\=_'MZyxPxG+,x㿍xoEl$IbP)?h*_NFYK(}'eo'nUyu ~HxnOxF?_NW׌'To-<3֓WZ(? ۿ^Ix[{!Hg +Mcύ_Ŀ? _|o5_ #W#Czw6|6ڇ3S/ƞuluao>NOx↣{xW+?>}?Gbς= ?5 iZgß< Z~k:Ծ*0Q)&_|AtluX>SCw5S ~TToJoof,֊NS'붟u{>4i4oΓ6WsXA#D%y>"5c=u aEmGG]WM>%K<i,~:/llm>z Uހ?ʟJo0_)Z+ ;@#q|.ҼYB|k٧7ōs/.__YǞW|EWUծ3nu997oka+8 o⵷ SeDss 6O0gX۽O׏[O ^/x> 4zֽ_ZEwٮAM|xgK+w/:eŞ`;cǿJ;R|Q ~&x7>aF5 kvh:z^Z} Mݤ3&%uߴ+/G^_|o~wm;Þ|9׆=Y-"[++Xb"T~;D|qҾZ!⩿W6+->J`oRG,6G|7aVI" *K[4Oï~|[o&?n;U h3fC#:Q7mPIX_ ,1+pb<{+4::i~,Ϗx_?4 ?+Iw\RYw|i3SN[|I ^?|ӡ/-aj{ tf烼 %F?-V6U|дOxv-wSо Yi O ~&:4cxVim* q?s?ǟ|d'#묿॔~/e;|;`?>?5'7#H5^^|㴂;nqzM7 $|M+=_YF$0x]g`b|I[G []|Q͡<[5Ń|uxD~/?ڷW6~xo>|diZglS_>&@> P'mZaP;^o1+{xZЃϊ~)|Sמ.9x6g>i?,2tމ$(>7ᯊ";kqo{M*~XZw|yOG~g/WE#s?ie @Uy|/l^ZoN}:7z8g6Ҥ:w]v_U|IJּ 7?>-|JƯ|`񮯥 w`4.<nZ럴> ,^O~>=M'Uҿg[I>)>*ϊ{6/ bE>?N3w3yAPP)Z+ ;@o_E*gS[Ҽ5B E G6 t^*xmo֑WJǃ xPӭGM _O/,d9k&(k3~l[ y)!=xGg/_C-q7Zπ@>:9?7#xc,oMYOFe?&~_C?_x2'2K'n|C[~Eφn_>lrxHox[Ӣ:> Ӥ] ~ϺWǿ/ڤ x _ σ4ρ\w~: кF`˫xs|QkY9eMWw1Kk-_SՌɭ_eO7?hV?~_}Pէ0Zm|)ZLc55O{i&g֬.u`Gi?g>?_R?l8$ou>O-T^?<7vo kBߊuxr ]? _=KSk7p3,r@yIg¦бmwt%ែ*/ߥ#YBvECQп>ڻeê׈y nvR7>=D~F} hazŅx^x UxgRE5xO׀|;c(QƖ}[VIkk  ~?ggX?l8$ou>_,~x/'l Z@5xwo~!kŸN('51ΉOY4y5mj7[iiw3kZεGFsG⿈t?/x>$|Vǃ>>^ -.,\\ʠ&?MOŏ8 |[|}7+;_o_:Ϗg?wfK?e>Nk6$1x-txio$kƾ2/ᯅ)M?य़_I?:Qnxw>CZऺoƨ,ou}+7*'u#ľfIԮ53akquo[s^3g|aa|4Gnxf^ 항zV_h0w'.tp+RMDqkךv+^?O_iyh ^-[Lw/gZ'O>xSu&U.Σ蚍g}-Ox^CYo+|;<IY Su M~?qI|_g_IV:mRmrOտc I{4M[WI< u%w.uѩشZ$JB?2RW@oJoof,֊NP@~q_I?/)eGWw7 Y@WY4_?zX})AB꿱O|NĚι~gW^%KYd_}~"fw,~x #/{?/Pu?i~)-kᗊt:[_iqgax|Idf @iW? sJ}Ƨ|m}&dj"S_|+]cZt??s̨h׈>دt9o< qCm,|Y^|a|[ľťxC6j.~?ggX?l8$ou>ǟ+.]WSQI1eC k1|5Bg-j_5ƚB;Ƅ?x Oh;Oڏƞ*ែJ|?75ï |_Ol/QGkCi^!S㟇oğ?g |N}$*MO0C?_OO~3׮aMcM>"<03 >1#m~ uIaoiπ"ti 43x=EHkP)?h*_NFYK(YϿo{jT}G|uA-zl~ê[k6L6|q˿ |'x_O'^OƟ |}axx3B1 -<+S\rx_?액~&vH7o_?':xCv{'2|9σg &7.<7=bmu`cPԵ}VSexZDU7o ~*1>ڗmE!ψuԦkO9;—_Cž.o~:kFtBSÞ7v>~kOCsiM;sxb(5S ~TToJoof,֊NPsE>0K*{/ ㏇ ^ G/b{S|=9^ïEK|->mm-(x/?,\x<5kß 5z'ğ7YO|m}ggiW|/`|C~߲7,Moi m~߅?+z xCӿ|acgI|6tPu(e>,xCǃm_c#Sc0)gWv>?1?~$f_cF6 #M#^CeJk+_o4;/چ!Դ/K˯ǩ7VhcCmF߆_>|7,|d=(|/U?f/߳Go<kyb5)%=|Kटwk0<oP(M/ÿ /V"K?o?>4Εsß!,m#lmFҬcuğP$Eށ][M񥯊-YW__uǁt;|+ OJ?S[U>9ڇa&3CoG Pwo^*_G]~^ VtP̺jK(W|Sv? l_R_(F/__m?ۏ> 7mw5K]F+*oGlT?d)?~>9jooO&Njm;W^yx*nuhxw6sXܮkg+Nmp$Af?K[,X!y")+tZࣿݿHU|~ 9# >Iu~fwJ״R9Y2Z%< i U?c}K_|W Chc3^^kh)y"YjV&!;>40S㏄Ֆ+'+_ xIgß4 UGj6R,6W-]$i U@<'A١=#l#[]Ya񾻨Oֺ~2}`|.x>ɠ]|h'_7O/Umúw4? %;׾8G Z_Ut-:|-`oMq@__i?'oc)%⏉9kB[%,1[n xsZTyNdjH¹~?+@?/N|T5`־5Fo|yӵok8~Ηz!77?uⳚjro?Q~ORȁ D/+q-b8UK4?c(O~~'GZ>;x:Mm^+߁^񵟉৾$[ j^3EdtI/Vx/"%?ݷh_I[е ?L%<?^wRK{ž%Ltۨu -S^j^ܼ8c/ 꿶Wkh&xoW~О%d|O,S]K⮗|3۫ͫyjלYrHW|kᵸM+ſN/|Ltlⷉ|k?&KH&uKb(ao28_WGC Op[/7>???c/PčjRğ (|1OxhPLY4-7Lthɦ1Q?I(+ 8~ؿ?िQ7'?h_a~? u3|Asok_ꖻ/#̍^)?W?T<Eب; I}iE~6WOivM)[ ~͌Tٵ{iסGK6w<- Gh| g/k(_ ?_3|/|O5/5n|Ӭ-(.SSPӯ5&m#/Wbڏw>3߈ZJĺ=tm}H4@Y$3ZS !9x/^m? |%.;[|h_8Y~GxNsjW쭡kKk IX~%iڎDz߅C3Pa"n-cԴǓ(hsMw gS_ |%cqx EY ALJ<1Gi9~>1𧂼A𞝣{L,o,|1Q?I( }M|}:E4?4?>jx-_ŌqK%m,3rD~RMwO.#¿> x{Ko|yO xW?gxPleͫxMf =2X/Yym_ (?7&UcWٳRSQ[` 5?2_ s𞇠xoZ_:|Wjt׌<9a ټ:t? x֥S◃~ \L7MK_H; fA>]xX^;ťFR]tӭ:~_ďx'x↻s^/h;|mvx? <wm)7j4:@?UE\xV?k/5'I)]|;:~ h"SFҵº?x,޳[Lh~QN,c|=Ӽe}XuO ^>k17hΉ.m/g!kIgjk/Z|F~!x _xSR֯>_V?⽛HҵoRNgP@ ܞOT~iŸ=jN<]O/<skV:VejiX`]?$߶w=ƕYE7Ïk_ <_tOA7OHK-tco>8~0x[W>.?7EZKdM&GƟYva[\_P/I^xC[O$u-.xi~!zNIռAR5ݮ6\_kZ M hO7/g<'KOw}KwgZՓWծj~ZZa\||C|Ě6Ѿ8x+ǟ_ XZ?7afǤi4{AKaqqpj uWM77]|jox?'߂7qWuky |:=%Mmn.}c'x?m4ώ-_>|YZ|+svh^ u[] KMt6AW,Y@PÿF1Óx<-g6-'7-OږOk]ݾ}cɨ<1][B<`6l?l<hOA_|{3O񕇌{OnkC|Y_u,nA76{+D`?Z=o᥿ÿjk玾'ּIᯆ9_x:W+[.oGTmou=D?b+aJ][cg[%f~:e|  SL8,,nmY$Lmoz# .Kw|"T<Ҥſnl~8|!Oh OŮ ibqb֢]t_Ri/5>lgQV&طxߴ㯳M _<'/UIҮ_ SH|ak]CYӵx[Km,WLP@|Y|;__^n "Um?H՚ ծ,\m (wTǏ3&S~& G3$xoO hCÞ:os? _Zמ\,fAu5R4~97>FT^_\37ÍsOuᬾ1LךͬۀK|ImSA7<4ΟW߱M{_gh~<ĚhooLԑښ{J }<> ~џj3:?r<]?߳xvKg|;}ښi gGHZ`Ҁ~P@P@P@P@P@3j/E 5_ CFԯ5? xo^$;k=O\ }߄)Gd/&rjvqDckq٩o|g^K@.}èlO~!G_ZF.mJvtɠ?~1?<3 >"W?8?9^Or܏n-DŽmsOC / i sg;tK85cyΛ/,BPyԼ|Oލ:į+VM.#oqĽ'Ú\ 7~_ S)I_;gOF?[ kaڼ+*2=_?U4G)R'o}_b'+o]MX_sP|`yok{.IE O `M{ q|g@>E/x!?M?x?_bh4wK@[}?|?ujObYdZP9 O,G?7b5xg(?M>².N%_۟`A S(bb?Z( ( ( (JFIF,,CC] }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(VQ1#M?zkAԥdWuT)X$pt/_~~|sNޑkZை7CDaxVON/[xoOil|Y]j$}l뷖kmv@?\j '|)~ѿ#oߍ? iš>/< z >"m,!OCoimO+[\S?`Vb7#i_6*?\S?`Vb7#i_6*g ~^ǯ؃ǺG?ÏxFjk| O,?T-f?x^Γm2op W?T<EبsM?ZWMW?T<EبsM?ZWMW?T<EبsM?ZWMW?T<EبsM?ZWMW?T<Eب%+i=xcb0k_'xXPgoz?#:Mݽ?\S?`Vb7#i_6*?\S?`Vb7#i_6*?\S?`Vb7#i_6*?\S?`Vb7#i_6*?\S?`Vb75|-tu=NWO!{>.i<\_T=f׍h on4sȭ,o@=~_T"yl'045h(ԼI#X$hI@,9K.mZ|z5o!mDž|⯅~41:EB4z[;m"  Gh੿y+OP Gh੿y+OPxſTfjK|tEA3_;9KWj~W~Z~P@|d'#묿॔P@P@P@P@P@P@?H?hO,K_k9;h^R9Eo0|"5v+!L Jv֭'?gsg]_?%g~7 MƟ[2ӵO\|l'OiX~5_ xƸ5XH> }Wz]S ğ0? x3zg 궾&}εs54>Mp$_;E?fo >'| eسS7_ywQ_>[#A?N@_O࠺dW_<)Mᗅ> o>C?+?cuwg8to7'/~ /EV֕jwwdB^7!i֝Ox~,|KѴ|~>7{I/ xfi'! .m'kǼ?n{OOPkŸtM7#eM'nfz[}H"K I&$إ`|c'?gmj>W?| W:ek"Zw}\ m@r?xù?@<ez &PIo?פ|t_|c[كdwj7?f{dmSXV~Y5-=O!>#Sc0)gWv> NFYK(( (|}M~ hio~ )ix¶Ÿ^:4@q1,-@Sk?h?3K M8~_~e$h-WŸmǎ>~_E7KG=wڦv{ j~ĭ_ YGt_Q/'sW hC d'_g |W|+|54 > 5啃e^,Vv+40Fh-;o~w6&Ay_[[X4 3E>0bѵo?u/◁? x?HiEp,m+ρ? |q? xHxO^?P ,66q_%[V)bmA< ߷ǃh-GfƉu]+/pm7↑ſw">h76]}?z/ x=+??kOԼEfot˩ɢz6w}Y(.>~2o~,M|gV*_ɯkWw/QK ;=;WO@[ j/3H s]yVׄKx¾m =#ŞѼKx~*twN,mK_hAҭir @: ((ǟڛ/~ʞ𖫮DkŞ5_>|○~$&%񖹪k 4.fUOԯl`pK -/Դ Mo Yx瀾9[' Eko>J[??fw#\EqmRoޛҶfY~Ӿ_ž>M:_?| !fB!J;KjZm>zY[MD!@?z\:@@P@Y~ο__"W!o){ρZ|DxXG<)W_s.|=~(7C< j&ѭUm5Ş-I- '0~ xwƿ <;?? ]?>'5{]~[?_UG>]YG_%k 2ϩ,H_Lx#ï͟#Xo 'GKeσ<o9ͨ~7+߅/¿ zw|Sg9lndkI@>|gh_߲ii<s^@- gA Y*/Wg7֡yU4KRpH4ocGÿ{6\ >֑ه'߅x]xS|_XЎ}6mf"d)ҠXx @<7R"j$ o]7'Z|Sƭ^׿ks|!g_5~~zb^_~^*a|FㆷmWgoSP-3B-eiDw&srG +a>4N?Ao:~ͲPixSQP6Zv{:=Q??i//Si:G:G웠j>~>*wD&~ h \a_ ytkz_w">1| xcM)wF~=#SğhTxk^ #׾(C&[&4)G5߂Ww?7źOE1VS>_x񇋼cXuPhhO5؇]dG͍Rm>wC|4'D<O=.hmvXֺW{[_a4Oi(>+xZ7|AVR(Wҵ+ 2<}])}ws~~ƞ,Z^h:|G~wB X\jͭKx /YG W~/E¯ x2x/xxkwφ1Wφ7࿈3𥥎jOԌ]l?b>aOZǃ~.5kW0SjuoOu}ymp$ ;6"ú'īH_Z=Q`MB4[Q(-d'#묿॔P@W k:ΏNJ<7>$|C|4EuyMӼM{Oo|gxG?|MOkjm-5f'|bRqKaB_Xh~T':,z3~(<⟅<;Wώi/hᆡ Mĺ|Zu%l4x2 q?s?ǟP@Piw'į>_?[GKIu&|6:ޕcgu,BvOz=P~k>'f{_i]{ᴟ*տ 9ோ~xQJE/h? 5=w2g> MqugSv]g?Z>+[)1ct7gI>9i^=St-3 }:5|h< !QZ ?|c<8fόa7;P#uɫj :iwZ|6/wS+go_FiJѭ4|]+U향;@v7w:? kvא p>+ߺğ|5⏍~*<|}ռKx9w~7i 𫮼-bK65&wy r y{_ZO 6|YvԼ' xC~\[ѯ>!z|1t-zRmwɖm</ۣV|'i>( |H.OFǦi u-mcmuz|a zުe`#Kyt ?i(h7oC]#~]|s_WK~?7ōwuRo5>.m˙_LS6_ ~b??;??΍TGொ.oڮo:jVfӯn.c=kSwoK(k|G]g7>??_;iZ^0o%}g4O _mk`4#@k~/9>$~Chg_ >q/5KKо3|_犼'~Ц%Ay?}[^)|'x5~~CO>8uټ?kꚏ M?KXW֒, m^xoYdxu=@%C^V_ǐ闚_5M%VtpD?ਾ0>`Nk_Mk[|c[|]_ὗ^T|SjMKmm>6%іkK 67zK[wo|?ƞ1s|PVYwmAYo0kwkP#7'v]^SƚAi5N-tu?~ ľ M<1is3^4`^FcYfߏ_~0|a|6~:'M[H7 ? pumaZ𶣫r×67l:V\h)ԠakdO/CᏌ,/M<||75VO5j!< |}Wsxye՗O9 qpբFl^ȠFl^Ƞw .NwGZz?O:_ ~Ҟ*Ÿ_h*[i>Oh!h! ۠Yf777E'h34uv-9Ҽ[#>^g~.jY> iƈ5J {[=F{a- 4+ >o l el/qZAߨ#N+ ;g]e, YOì]kͨk>4ͨM?aۖEѼSWOhx[K^=,|?Cf*A=uac ? ( ( ( ( wBQ6xúykY.=iz7:}m+G43Fe @% x:' +|9? ho3*vi&[YizVn$0Eh:@P@P@P@|F`Rh$qx__ Mtf|c__/ ~>|Q ;SRԭ!K['h?F|/ wYxB5tR;}>PQ -oR$Ѱ$R@4x =GÏگ¯6x<x;DoO kKxc>+e ̗g߆V/W~6۩EγK1b_ SPq&^h:>?x.RK ~Ztk5A|Y>s7<9&e/` ~?ggX ( ( ( ( ( ( (>)M?य़_IjxU;ˬEh_S'x[~|3W⭿+Z|Դx5hVVXivGgM|#}w⿇&Kw:}m޿7vKuZz'UiPs.ּy|<_?,_?~P4/574}cLf ?gJԉ?_߉~1O txC>|X~#x+>_Eu? -3U5t}cAkgob62~xO~|5_k O?xO𞍧xs¾4mׇ{k=#BYkeek Vֶ$Q"?(?ି?j7HW77_kS6υ T񵧃ז~ xc_3:6ixVt;Go!W=hO Y~ xN|7uW /~.ƾ.<[T^Bx^'~!փ_ׅkګ㎱gsVO_g؟Vm/هK㦙 7 i_ t/ 'ۼws^,4/o-j;4.Ǖd$"~O~? 4~g,&+_?i/mQ|%gxK·wyG8 ( ( ( ( (~_}Pէ0Zm|)ZLc55O{i&g֬.u`Gi>.oz_~¯xC>ѾкnwwxºωmoX%->#VZf{yٻی@GWw7 Y@@_U}EϋG#>Ӽ3io9>+/k+I4owtmGm&dExCZѬ4o|^'⏅7_+ÚAĝ_¿l? ?g>$u8-m<7b$q,Z߆t/EXK͟+#? %~|1~j:Ú^S\ӣlz6 p֧ywOw?5$}oy9xK=I??'TբX)?h*_( iψ;ᾧc@¿/ <1?uno5&Qb1>Y:N [Zx7aZ~ƋxQy.l}No]xi >xFSԚMZc~?bоj~~׿|uO.R/3O?,>&Ƴ mI4-F}#ZlōP)?h*_( ( ( ( (>)M?य़_Ik[G49bKw sO;I~!WMz_ joo2޼~T  Α iGSյxkBγOgK:guͦ1rG3>?_R M|*P˥Mx/N5FznkOvA/> k~>$I xß`е #Y$Hu;X/GP_+*ψH4W|bi|G&oK>ZxXo7%%ό|g|_*¾ xWMOi>|# -hl?\:@@P@UzH?bM=%ilN7 CmN>ml|)?hx  iĖcxP|3q_K|/|c|>֮>x?~|C+_~ѿgo!Ҽk5ׇ㻽s?5lS`O8J`ρVxGEjY/m~7Z_<:}; eNe:V}O%̰Xuac ? ( ( ( ( (>#Sc0)gWv??5ms_]F㿂 i.%E|?cY<|G={V'-w-ѵOknxP}9e',W^'tKHkΝό-=@151ʠP']'> Yï٣Q/O|/a]|!w ֦Ow?/5O\xm2 YA/?^e4rkV~(|1.aU '[_5vZi_cAqg8ׄUg_ ZxYmk>!🆵W]Tu^!|5cŞ='SWY.j o@?(?W>;9ޗBu2K՜[xWpC#Qhri0'Jc W"'1ٻd=|G#~(վ7|Q |)a^΋ HHּy~_m/~(i1~k? qO_K|P>8פѭf _h77R\s݄@ckZ7뫻^~"_ xN_x;[㯀g-Ҳw- x_ 5|%b8- koCt O..o';N~ o߶ h*;Y\SM/Y!eK Kuksx6~$5( q?s?ǟP@~8e.Aa_&5oۻúV-{燼Ew?dß]~~|yuI|;niKxvcTt|𧋴Ok[].??)> j!ot:OO.4ۻfӾ>>/ ^Fw(n.m~:uΗ6>2˗LmB~&~ jZ>m:U/#oɨs:?N3w3yAPP@P@P@P@P@ w.>&ك x{߲'k_ii&T1i_vH~0kE4-;Ent𞢚Yx&ߴk/ߴFO\=kk?i߄^;|S=|;wd-gѮg1\}c|/-. žmn-h]Lj3֑M]ɇe R7/9bzC@~q_I?/)e}@~9`;;o lo^!O4B[ g&+'o>~KX]$j蚅6u5fl2 q?s?ǟP@~NXQe?[ÃVkMg῅>'"ukτ^% 姉mh7Ïnex2ZkZC ^j ~Ÿ>|b$VcХm.,qO {n=z?CzWOaxk<gJ#}'M^o>'FM* q?s?ǟP@P@P@P@P@|F`Rh$|B H|qkg_ƳS^+%τ>|CA,Zoįg? o>%<-Z;5}j=.x&6-%e4IldH{H[MД{G(c S JNFYK(( o[&^%c 7)|]kv+?`?H}Oo1]GyKiLtyp⺆>V[Fu/<;LUşu_waFu:?Zjz.]VK%͵6Ꮚ-uOw)OƯh2<5W }:~z:7|WrG{:\.k=aFg|? u+>![? ^񿊼S+v(yGyɩ€q}?^!ԼIlf3Km᷈|;aqiY|BM|Sik=-tK(@k_<~?2߶7og߇?>*|3][_e_ڃմ Mմ|D5v4wfH"{m?6/?W_x'EllOSwxSK9G?~.Ѽ}7?kߴ/a}?6tN#X_ ωa^kǿ>!|5$9qEZku?l|56Ay' uac ? (?7टOٻß?{/~.> _jxj~ߴǘ|3Ǐپ?|cf;y5S%x~okQ/(ΡG!sI5|#7DfHzx_Iǭ+Vu>\h>/nKM7E/@?:.~G~0|[yXioRx+?/G/#ߴN~+^4¾ |Ic>x#a:g||.][X!iJI Fhڋ)@=S 5Zĩ|:&_xO$@+^E,,_<gn/54"6wqZ[4`^.O k:=,xF.i ^*ӵ:T/|uxs JNju{{x.#%(O /ĸ5'Dm,5ˍL4V%_iN+(ռ*?֧kGo&Y,82_xIſ "axt_ ~м)PG[~[xGmJEԴ;poPk{ jGG|Zh:q|;_P>47vQu]#( cRg{ A:u|7JŸg}7MO5KAK_5l>:kd ~ GCK_u}SÚE7G"!`Lfپ3uI,^-cJ[? wg~xCQ=T! ;W-? |*~ j6umwRv6*|2iB-__g[σ ?؞!:P@k_<~ ([ Sij^y$e޵woaxE5}"~x< x6+۝?Ǟ)-)ks}B㟄yu:Nrt_+Hu|Ou5~!n|}*OmOҴ˥nQW.\~,~][Ӵ `Wt)+g o<a'>Җn_J u uac ? (>K?n?٣EÏ {|/V_xB R?_kox:_~9>x7Þ";gē:ZMByě<-<7èk?평uO~ׅ?K]_Z_%˥~Աkz'c|;qtvG |rZ? ŏ_oOKƙ~>&Y2-i<_6+b}ADWzcHQ]>oo?5 1&~_~ ~ؿ.^<}KB)G ߅ ټ?mR]fj4C>]eE?}u} `|m ? O~L/Kִo]>#?ks!i׀t[i.5 fT%)/'-~xu/?vA |^񖁪H?h8tZ $|C&i D-E񽝂fNbȫq.чq_I?/)e}@~0d=9<]Ÿ ?Qcvq' ?mG,[iF薒Zkz>!kV_yῌ ~vg>3-SŶ?< |>O_kHKo|R]N]x| i `'Š f¿|O_i?~z xLe~!꿰o |T>k x|"kkm[~ ,מ3@!EωYS:T:'oxz<]z6x4_ !rxnK-D:@?8[?'´Z [S/|YO ]|0u[Do xkYO~g-_k|%*=B^&l2}Bpc;L>% /_lK{|Oźj;&|w_BT6kυbepk KSc z??߲4#~IFvo㿃K<{}H|tqciw<+^}姀۫ k?4?[Tx'YE&&{/M">-|i%|#x F=[_^}_2>xoOśmgUι'/ڋx_]sÚl5z}uac ? (?"z=7"φlOƞ7UBOWtO\{MAŌ[7z͹ikOC⾛?=!'\yD >|5|!cR{6 m"t4+ƾT5CL<[jo#C?uMNM״߉1x7 |^Û ޭ?Noַ_DMϊ+OM!5S ~TTP@qB?aoW~ җ?ǫA^,ӼZ4'|5~'VV7;0AG-Kp՗oj6Ssx/> w|DyKl.s_a&x+þ4ـ|S֊h)M?य़_Ij'j_ڦ῅?~%Ӽkf6~uosJ𭅅ޙO:xH'.>Qt;m+R`%O46t_}}?V 4 [^< i_asğ 5g"_˟ *^Y1}c ῃ ?]~)KM ?a۫HoS/>8x7Y:x  /jz!.iG1zg|kYxgYҼE<i>b~8xVOgπ"[᧭ܞmEIwO kZGU[jŸ^ ͯ~?+׏&Y@iu:fn<+e{c+]6D1( q?s?ǟPM-N;:[t.ѿEm}J^5_*'߆nYmoٿѼ;iW~-5> j9MXyoo 6 u9@;O/\~(emub^G}=k>Nw%<}|1_ @% x\\8ĖSg7^wڏMWbo>ĿkGM_T MFM>*V>&ŔAŝ~?ggX (ȏ+O>M"/=۫?<2Tu?F 7HwK-Zk>#{]j{=Z^ـ~}x'>:v^~26>M=k .?&/"kV{ufaԼoDJ5q^\~ 3OQY[>$O?x}w_'mxBX` v!5( q?s?ǟP@~S5J_ j>9#ozW ={5>$h5| W/ſ14 nVu~!Þ+otHL%Z_[Ě_5oA5|y5Koz無iJ CN-4i@KeGeax{K>-k? l|O6| Ff|nh6Sj>!w`ʵ_eO7?hV?ψ Y?nms51Z_G |Y<; ^=4_h |Ke7:Mώ|;M]BY`u3yji^mƴ|ڲ[EokGqv~Z/>)׾j^'O)tk~ZxG^:.jo%弖(.-g޷weC)?x5[|BҾ@kæS񝄚r |cj^;'?i g|}^~V~/O>&_w?Eм[|+ xѮG[I|Me~?ggX (Uo6w 5<^K[;-2Ƴ=SUwtEפ6o&qX5n/P#~3ߥ|1-޸!> LJ2l@ƫ+_|+c/M5啇m.x,Ā qe>==9<_i?lڧIox]u;A~|u߇h] /.];Z_ 4٧?xYi Ҽ}>%x+z./tGB`?N3w3yAPP@Pw>F<= jR[^gO> x'O|uw!!xfu:&/.uФ7[~\^%oߝ[Fn(zxVG`>'{c1|amcߵ灿i$?[x#lay _rOfϋ%'j +kk *YE';fkዹ.D~ \i6^\Q)?h*_( 8v:g'>1 ~^<8$>|U>ς~ hCZk umQ|CY$vv"׵5A~/< ~5/&SJ~~`O--ڛAXd<_{Emu&~?xw+w-ß _xo>n[K}k.!u _eO7?hV?ψ Y 8~i^,!ξ5 ι Pxྵg|9x்<5kxLNoM溚@?Ac-B+m㽼wv"df) S;w2@?7%~(=_7W~W5o׋/cj ?i|BAu]h~!Ḵ.t{'x)}| ;/?I_ۣ:&τ|;~  +lx-5]\G4+v&)l(~8;.wW,o/Ѧ w/!~+`tO|%_%&ZZZTl+;Y({/ǟ|(#xN~^,_aoۋQsJg_|{YZ_hgGC*1{ eaO?<:S xF_7/?</Qk~4|'hz6tǫ]k:~}!y>|?moٖr.,X蟶_i4oك/7Y.=3ŸlI C'/t>] [Vks⳪Yt:7|[mK ľ?|3jOx _7?d hD𵟌?IexC_[J~YE 4k# [O[[ú,v^'߃$?fO$>]xP5ˤҒKu=_@k_<~? 2h:WR:n;\Z|8F W x+G'^&݉-|Kciڅޭr ͺ/BGw|!>x?dڟþ~=|P.}Mк?$|< {XWQ}"-.8Eύ>C~%-O^)о~)[׿cY|W{EŸ|9C_oi>9a'x־1|<ƚ:\x:,3Hj_4X|CZ 㛋7D>!|P061BuYx'wo;K@ΟEwĿxu??#|C7Oi_˪K Yg_w>5[zdj1^\.?N3w3yAPP@~dPl_g-wᶿ??PS?~Q/? |1s௏Տ C◃>(隗Ư [[sᇇe/׭ܐ'y؟3Ҽ3u_ iXfc@{όtkڻ.g95 FG>|GanrP)?h*_((?/W~yfG_ڗh]w":Lj<->(fOM%ca o0H>$~?3 '/]7ZgA)c7om7ڝf\ڦw}5j6IŚ-gS? \|_g֟Gz__7dqׇ5<ό{]eY?o9OΥczΩ]x^}O:|U|Lgf??ŞדkWC*5Zh*)?>)E~ʴ"?dOق#?ߴ/|cm L*~>/ek/ |`vL4>as_=H=@'Pd'#묿॔~8auY~r¬Зg=6Tm.XN(&yHiƳ^mt./e6P%<'k}GHkk&S%Nb_Vm:u" *WvF_ğǍaxJa?>'hߋiwG~i^*k|{𷁡Վ"j3j {|=2[GĻgOHu Ou{Z탠&.>YoGᦊ >&jwiYCs⧵%( q?s?ǟP<-|UO(&YlfvAkkVxP5 >\Y6Ė 'xvM&ZN4h~a>-Lj>1x 9|IK7TAoX58K,f c<D~͞:>W/[?:GDx[&_xN]sjv>!q}uƭ=i43KG x"+S㷂>4kh߲G{?jZԿ/y*|WAeD:~ltb)?h*_(o).)oxZ(#|:}>3FN 7+/hM~P72iZg.la=WxƏ k*ho'7|F%MA<8x +|(~Xo]o]O ; Ciy;*0\π[uGPuυ-ui:Ӿ:xᎷwP7koxvV׵}^=O❌֚EX-T?SVmu ƳCN-57ǟxk_~VwO,,}W]Mѧf |*RـK?PGWw7 Y@'P9GӼm oi>!)$vFpC1/u|5մ];+{xoP!l>4|Y '7>.G/-e]궟>^|9ޱ7o 97 5ˉ7iZ6/Zb=ƿ~/7# YM{mohomksHJQGT_^<=؝Ku[Og>W IM῀2>2j|YG- \x¾.dxs=#q5~#ƚuO~9U~$~ڞ8Ѽ;[]&ǍOC%ĥ~?ggX(?|}Ew O^O?gx¾z~ j>H?O-VW:\zHt?7bdP+Z7&> |M1O>_(_7w^#|]wx{z}Ŕj]BI&w ou/;l.i"՞C-bׂĿ <-q~Wm4x]P~iatu5,u jM;Y ?7ۺ|Hoď~)uV 7zm4_x^T5+?k3 <m<wi|2-^ď CǞgEsmO!ѣ|{7?'\x1oY"Kp_4xW~UWچg_S϶:\R8m h'u@? Gh~o@~|BoFu:߲gg|2.5oB FEү:Oy[w%͕ΗT,q}6[Ddž{?S/O~>'O>'|Zմ=/XIk߈.[˓|[_/E|sk|E@c:{GGNUٺg~? Ei6;=*ջ,٧UoP֫1hv|O||RBB|4yi}ϧj<_g{cx5y|m{}?' _m_h~>tFGL5W¯W'Ik?t4&*%~?ggX?h;> ?gO/3^|k4|}YY/5iZOSMk_kKkL-6H/|>Ծ^v*U_ÿc!we>wEeAoDu'F4[oi)wgokTG_xpxѼ=kOx{t_z|YG˿^ Myk,"A?nm~~> ?K4^!U izZַXxS_tO>qIW^?nOX'>|?{9Q*)?>)E~ʴ|F`Rh$}@~cF~J̿ bW㟄m<gGI ,gV_g%yY|4}q]]~=OLC~?oƟ7엯|2Ɵc,__C෈9x ڮ1|~z'I>*xz׈m؂W0k_ o7<ڷ߀_?gK?ŐSuqYar5[k9Zv{k`sM?ZWM>O푢%~(~VOן u&K>0еSKǞ"ksMšr6qiBtO_ۣAͣ;>Muڻ隕߆uT^hzkYU;/u͠=~WB_bh'K~8|E㿅s6ՕudxVk㷼 Y߶թ?e-OFԿ׼;8$Ɵ 'M{Ex 7xZAux iCUoј_G ?nI CF}kƞ>"/4/xgGoZPMWYxsL=:–%iu}@YD&`4Sb?G߃5|R|Go-t ~ ټ?k~ϪZ켎'25x\S?`Vb'I>*xz׈m؂W0k_ o7<ڷ߀_?gK?ŐSuqYar5[k9Zv{k`sM?ZWM>_?`(We+!߱/%|զ_k^+qli)߉4j[6Ž7I~:i>⟀|=x>)<=EYI[qM~Ѩ{v#|GYt|Gғz#}kGKth>dۏ| {/x2_=K4KOox;=[͗{ ^goƏWZď [xqO㖩}&uf31MopG^ =OQ^;Ư]|.t|֩ ?<'ÿ)1?, i}fkZnyكϊ?DgĿ{b~Onk?eŏe/|[oPGDǿxsJ$zHMp&ڋ]\G4ͼV5s#ksH|T5]cᏇ kdu=kjjۣ >>:O~.U\<xX1-GźlxHt߆eti:]߿j?Mq@__i?'oc)%⏉9kB[%,1[n xsZTyNdjH¹~?+@?~RMwO.#¿> x{Ko|yO xW?gxPleͫxMf =2X/YymW?T<Eبc u~?xa?_wmk։g ?j>Z[_ī}C oK+o\vZylg/4~-~WPoكK|Uo=C||fo붖u-Lfϋu?>ѥ^ܦ5[%׭5uot:_|y>,#ԭ<+/ᖓ◷?t/n>("xb6>[_MቛO,i6'Lj<'h>\xS 'ItY/`iQuMFP| 1Q?I( }M|}:E4?4?>jx-_ŌqK%m,3rD~RMwO.#¿> x{Ko|yO xW?gxPleͫxMf =2X/Yym_ (?~9|?^OŸh~%߱O(j^>*$㧋dk_|/3ᖹgMҾHo>=K+׌ [ē N.-^+k:CG_z?ęA< |?q~ZǏ ? 7MiG~-5K凉g0Q~_RV'nmo/hW !4?[|߉?<=;^"}/:E6?|5XYkׅ?fx=+W>['!hɧI"YKkRKW >+k2}{u |DѾ -O|=u Yjj>'<y ֍=Ŷai%%UgP@ܺş|Ծ*|Ҽa|<隼5P]>w|nxF_~"_4x?ė}/ௌ iO*׉>&k;ků څūi4+YWˮk}G厡;7=O⧇gkZDy)x⇊ >.G|/Abcگw:g/5?4~//5=%Y/nZ{ ?P?|g&x>9|;>u/Lk|(񥾿;-?|ْo%5;i4_S xRPi,_௉UoZ寇xXX57i si@|kN-~=<]l>[RwjӴE'/QBZluƾ>|WuZxῃ;mͩ|/Y4]<]iwݟ(#B]A6KvNO_CDiIKǺNx}?W|B]s? [.!u?W.?Uu}0+i/w>$M[ |Oxp%xǾi^'eG.죺85[%?e牤p}_f/~Ȟ⇊--uO~K:>ux3O֏~|?ѧCv5mn@eO[-=gkr5/]׼I?^O~2xG&hi>_~"Z5{SxO5%hhGsF'mW>xᇁ!ϩ~^>վ&͚W_OgFOk }k׮lxj_uݿQiZ4}i[gEh|;ϿugmtR|)🏮aViTR?F( ( (3Ztohڷ|E2Et-jUѵUSum2)3Q 'du*H D8c5T4P**P@P@P?dυ?~|,|+ R%ρ~4_5=oL%~z_{q?7Wi>y]xam/~O_|%S_ď~g{G|/FXP|>ӼSknFowA%MzV{?fCf uzO->%';K![Yi<)F&kp,|~5wLj~p&z> +~IJ~'ƹnG7Qx6Ӡy+msZ𾛮~ýzy>mZ>> x|AosMᕰh:ZޕhV(gWd۫◊~񾕯B<t?|Kr|kX߇ok&὾xLIG-ڃd(_[|2x#?h|&~)G+jl> ~ ~1w;}_Ŗ2>/|]Gxz}Vh.%G,Emdk_y:iZ7ޟOxc87>)im+-|CV^3ygYt[A0^Qi x+Fu^%V/@&{-ӈ,1j7\בv^,i!a?w[>7'oxo #_!\ֿh?٧^>9'JRӭtu Xw \ƃ^1G__ޱx?nLOE Zx[/31^z|j| x3/g[-i?2>n-u_~4xڭ$-뻏Z5 g73Gφ|l/>$#ǎu}Mtυ ,,Zk7 _ⴻkyh#ibWK;z ( ( ( ( ( ( ( (G a^j?Xž?41W)Vξv ,^Pobi?ec g^7 "[ u 'gg K%?_Ol_t]֚`~_VNGe{1_|#oRK/?zޣ):/t810ik /U-Կ*_R_[ *o P|sN''nc4R_AWk ~!¾? ?A#/_ٿ-?ዾ-m|n('"a7(URY +f(S;o.Oػ1P⯍" wWϴA?gf o¢IXt!hݼC o&XCFg*ƺVš7ؿy3̠WW:gC‘)B?ؿ#o읿v6eoSo#ϙ@+ ??[m % ? )?W߲.1;#? wgM3#]v} /;CC ?Bw -}mg8`R'0 w2YRd9TgoР k/fX?_  V_€ ¡2kH?JlPk@P@P@P@JFIF,,CC] }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(Wq1#M?z̬kAdWuT)XH 4_#|=MT>":"ߌٗ4ڇ^.  <_Kc>P#g]+[kU|M[ >K$߉~/4}/_IE!Ӿxg|E=ZXC$"RV5¹~?+@+*oGlT¹~?+@+*oGlT41_t5:VN']/X,ZͳV½˝&WenAcx੿y+OP Gh੿y+OP Gh੿y+OP Gh੿y+OP Gh੿y+OPK?WzLJ=~=>1`־xZ7W];t_>.|N`k6[ F/.to_Y{¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@9.o+k>[a>0 { LC8|\&lz͹5|,ѼmΫ"Op ~R I o,K#(RI$cI$MTwQ,e7h+J, 9LMր/¹~?+@Tq2; .'`?ML,_=$yUKXP੿y+OPO*PuO#HvH,bUUa Gh੿y+OP Ghx_߆>=~|qfjc¾W¿~^we"\ G=wU ȶMixk`sM?ZWMW?T<EبsM?ZWMW?T<Eب?_R ( ( ( ( ( (ŏڏTuO'_ŏ u?hV}AWT#Ӽ?+.1YjZ3{?{_GS>'xK=G"G4mw/!gMxOh7ĝ.p^*e xg%OBP||AS/V<e :4pOoU Vov??ଞ Ҟ*>MCYgOx_s`{Sмo|xm>j y;vmꟳ6>%|$s _km>< ie-7UX~#xÞ,O+ İ'?qoj#ŲT|ிa_׮| ,|5ho|I >^ ǃ>Ak\k:]W0-]#A_mN,_WFkkk2I*[^bS}恮>QG/kz^y{$pZ5SHK\O왪<3?4 |2ßn409>?_jpXx)&[MGV-~4߇o ~џuoo?w2| "|~B QMYuo Zƫ_W~^vVBoeH]}~'C7Xi>4|>fVS^̳x*OC ]a׏v> ~ݿ|D/ּ+gD|SwďX2|4`?:'h|kV+mQ$حf xOsAᗉ}@]㿅?m|Zпl<7 '16Z垥]ʲY"?f?W!GG-߱*(X: /cK/Dw_~%|V?oJ~0|)Mmuf>ur]r)Z+ ;@@|d'#묿॔P@P@P@P@ .sػ,;yM>QU.oW_t7{ľ(Nhd:}h֍jF\CWCٗ+Oڶ|^7o:S{; iU5? [^%a& ,quQsw|'/|2g l>o~.5iÞ)WF/]C^u}^KD}P܀o~??m#9y>hocOF/e-CBx^!|~ 2jeίnX\F|7u MwĻ/x ';Ӽ9Oxwg>p'Ÿk?׈Ή3|G;l5[Gy@:O_  3şY9kh73kU,XxveҴh1Yb7s@फ़0%ׄ#?7 *i/?|Aï_i_ ^FM+t)du?^|xssc:N}wO_6uGOv;O1HaўBVoBE6GĿD?>6_I]L# ,<+ akْ-RK[i,]|ݬh",^ v53Voa7~'g1ky.,6wlۃW{Ɵ|Axg▕> |Ea믉~~4Zc'Nxu Ky@?_Q7T? oT__Y>n(e,h?]O(U,װ|57o4h^!=qZwTx7gⵟb.5sYUu|+`ΫuSKK!,:'kOMLBc7[h.xCi_mu@x^ Ӵ.7-8{yliTڼzө%n7=Q/~ z~ο?kbڳ'2xc]+YKg_ώ; *_]ImMkDHCRـK?se{"ҿgi~/!ğjo__K>EţGF5y yˋf\wMjfg<h+7\k|'qߵx/m恭Ws?4?(OaI<+#¿|Dw_ş/Ǻ_xKឋ8>ҼS4K_fԇG<.j7wo/$h?&_x_$@+^E,,gn/54"6wqZ[4`>.O k:=,xF.i ^*ӵ:T/|uxs JNju{{x.#%(?cgk5Kᗅ?%K^OmtoxR /Ke|lt| cAH_;FM, 3 Gh|eqn> |,x6nd}u) V3,@Q]>oo?%Əۏ?f~ӿ >2~|l>j A4G~߈^V6oi,O5%|ZS~/~ x[|Sz?xCᧇ?b?٨Rwi.H^;Տi'W/oB|$m _?ĿZώ<] F~!WKqhּunᗉtmGᔷr_ogqk ں~%~x⦽=gS<1]^)~x`Uh<9? o'\Fֳ3Y\?Ic,_ tk ߱׆-|Yx[ĺg=~2MQ|G?jɧ}Zh5k@?L ~%uٮ~^?Kv6ƂvSk7QBm*vo-?K#x⇀ ߄36R{_ӥ|!'>ާ/I}?V?e]1odsQ[Oxtr5g7|gMQfw/~:_ׂGJ?uk?x{Y{߇pm.F;%/(u_?h=1//h|v~#~έ[36g)(]vz]2XдMٷWF/|j/ĝC-|?x 5-Oeӵ sB5-?SP+yqjrx?ϋ> ">/~w[/hod')4Ko |gNQZ(_x[Q4 Y@>D?P#ei' gO><3+K3ž)ѴV?`Ѽ[M1x'W? <^tel5si|O Id*/iN7?ׁ?W[T/)AB º|Νţ Gq~ Y5WOhچOEM7?'_?/*o '_'%ZԵ{[Yn-MPt^Wпf(7뻟؋г4g7kF(<?> mO]xEPmmM2[gk?_| ,U|eOO}Դ/\ |n{7.|3Ծ EF񞮞ѭY Oë? 7Ycxzƶq{`~ .m]ny-!gf܃$Pi߱쇤xOE.Ϻg|7~ZxwDiAk/G#ukj-C@߶GWw7 Y@@~i]Gu}+FR$~ᯋ>6%Ӯ?mWf_6KǺ&y5kv>73Oqsa}MN?#Z tO |O?졯F0S]Wþ&!A=s"@y ?]70'Sechм?~~?:֣xcCu_sxၼ?ɨW^20@qVC/٣>!'Ɵ~6k?ᖍk_6Oƍ =0 =S]Ҵ5;K?As=O ?e |w֬~-|@O(i?eoYjIe[^v?m>r\:ãi,Qـ~P@P@~gq~r|JgguұH7/i|66Vm'd[ 9gMqI2pmo7oCcCԾ^֚G|Z[6cki@<lO3N2o|bg8>oïj1i?M槯xlw=.`.^~˟lgG>%_<#Zǯ_:OŏxoJ'vژ}moemwvگ>9/ᨭuPW1kj?gMK0@>$|O"|Bui:ޏ|0k:4qY]1Z p,>+~ğ<3⟍~)<<|}ռKx9{Þ7inbK.tk=fM& F6kJ#>1ou?t/ ğ|l߂Oo> |>^|C C2_ԟ\eNKտgo|Ir:?ow_|I|ϥiwcKGW}{]sZ& zުZ0j%:K_Ox!힏x.>:/C;bٗƻ:[^7Kh6MίcUЀ})7C]xO';mW^y㟊V UV='umm:{.Xfe6[hQWY#y^#u_~|Uo7Ѭ{[m#DYZ{vOn=O? ~Zß?G^ |EGkk_7e.zM [o^^-w~|(վ%蟲{OڇX' ^5[x]C㏰^߶pE}\cڹ Sn 0?^Uσ#|O2:TO=E~"Z<3;6 jxV:g!hsi.Z\oc^񵦁^|_F9~(Ixw,7玼sMZ~ ,f5ͨx.o|)M[M~'W:ڗ?ogO~&txYE{:Ōr+ZNd>~=~߾-:Ν^ 5m"o"DP3UյuZ𶣫q×67mjW$u("X@?:A ?% J኿Vo_R_?W?c3?g:E(?J?o`_k]>[WG-?Ub`%۟e?K~RـK?SFc^O/^^';g{-nx^RkpXjio[x@~q_I?/)e}@uR<[G) ?a6yWfEss~-g-^_ tkM!^\\Xq{nğOcNq OkPXx3^^1sگ 7< k_^O7xTծ<%/ ߷OJ{[~Ěof$&}{)8gSæi6ΑPӵߋqNkŶkE[SGP~29L| |uZH׀j?g:w] o@n4 JZzw2~~׺,g߇-<4į('^_|it)yki@5 jj^EU]΀tP@~c~,,_[4|-n/bЏm@xM^!<|F-z.m~xxO>>uƗ{ށ/_gي/S3Fg)e.33- w/>r/>c<K×5㟊?5hOx %K}߅j|3 B x;+  l> +?٪Ÿj~ |3voCx x+Ǐ1g5\Ki+ύ^W[nۋGĭOK?l=;ų|oj? >b BˣŨ$;5=yf&u{>7kH]+]fJω AnemÚK*ũM긒uC~|  G>-~t'TS· 5/$kO?~5I [`W{G;: om~-hYj~ῂ<'WLu{ GVW4Ad1ͦt#&9~@/)|5 1^Zx'MkwxC.kon@7FixwMM~jì+~ x^ÿ5izz? WKm<;Ѿ&]oD߅u-[^$Hclo43K-/l>XGC(%~ P4 |<'?~#%M='I_ ;Fy.ֿGץ|G/+~&|;^5f?-4/Gb_cZD+[|/ahU<7^,2<麞</ C/4ZZG4˽3¿c47ƾ[Ķ֚蟵>!xF  eœkόk_ Yë7Y[j|Q X7mͧڄ2ipxFƶz[[|=ƞ1sPVYwxmAYo0kwkP#7)v\Sƚ@hww5o㮻|O~'~~%^kKٞ:?u"Ť@ٷߌ>|!i uV' /E9?a8~=][WGּ-l#͍%jW$u("X@>|p[n.K׀|Yhkoj,5O>2W^]D\VpIjs/w|ڊO<~)x'>"~߳M_fOk|5d־4o;ui<jIbЋIHCRـK?~g>m'tUюY}x$>|9c9~Űiz\k~(cv<LԼXPFQ Zx|I"xy5Fz[ei~-} ᶱ6&Y4C~+,|&[mW]ocY?o3ë71)rK mɯxNԿjCQѬY6*S_={ h7|*"x|Ou}?Dt-Uզmk/ @&Ԧ[?l([SƭsPkC^?tc+ᗀ߱|MмjVwo'/?wN|kOA|[?옌_%##Sc0)gWv?=ڏz/~#4M?@o0~ \hO'|Pt/!5W߳i~,࿶[_Z7W7 }| ;/?I_ۣ:&τ|;~  +lx-5]\G4+v&)l(鷄'_xW^/?/7 w<+? sN= x{G4/ZE6VVmkmE**(+ׂ5/~2>!<⿆%C~u|,🈼' յ޹iRj6u杦̚ܩgW^ƚLjXt{G~6k yx Yt~ Eנ_3ᯈwr(td,Kfn'"4)5+K^=G㟁xPxk~}~9_g>f~ _ig|547i2yG_^Y7g 5ïڿg| w_Eݾ%NJ/?Io]"='|US㍥O CĿ b?_mާxzt7=I;]Zxu/titko5UP@P@P@P@P@P@P@؋/:?f _x`~о!/0x]o x;ㆳ&zuۭ3Յε,( ٟ>Ԛ_?g?|"|㷇QI_[FxE偅MGq4>K<~kol!_|ϳ}_?o|7;7|qhzNFYK((wďXό_?f_?GW-> : ;WC~| 㦳¿xZ@-= ֝ws^In7sgoڃ[~о(~hz¿ث_|/iT #Ï:gOXV k[ E\W4zF?UYviZ׎4O <%cOм(h*M|Gd 6R:}oMk6yot17Ӏ~@x m/1;Fm]J|+*Mw~$n4mFmcig(!K; ?M? 8~ O xh]'S)CԬ,m'DKv c|>>C>#?|G>3||3_Ɵ<1}PO&դhG,uYLٵ7Z"ysN.v[a~?<ٟ ?- ~~;_P_ 7t?mkJkštmBSٵKln7?Z~?|eW|[/Oxq~_<5<1z l.|Q궾մ]TYP@P@P@P@P@|F`Rh$~aY4xI^ :1.<1#iߵ֩~_ƋO^#4%tY!ּeWMLB MZ?R=Qmc]O hIjϦ]譪j˥ڮ7K^L,8 PK@~q_I?/)e}@.WDߵf-_`[~|jO~8/ LxEweo6-}]Sj=E.>-j17:mte?|YT~~.Ig e_?gKw+ i)Z~Iay>Du @TS_+E.kzV 5 4^ƧL_;e9?9b=sR퇈eK]:Wl~>&c㋟?tI5~~Mi~#gпiςƗMN 5 OvZƍv|Fc5)-;d (S sZ&¾ $u1п[°? gKOZs'fSh `ǧv4m不VO|6o_EXvڝ(nb:QY|Gmj^]ѿp?w <g'߁^D~߳l^+G~+x%?k;º|1j1F&mG[};rxB7ڥzj@ FH_T?&VXmkXu2 ZE旮h:]ўmOCYtI  ( ( ( ( ( Y(kM[]BQh'K! xQ_xXgIZPhzܷFa=dPq⯅AWğ]xZ.u!xs:tw3Oi C^۳L<|~}Űiো5p:5 |qKEY|>q 3|Mje~ws>T%Lj./ut2 7_x[L&eg/]jK(%Z_o}F;˘nds~NV~է־ѭc kQ_uA[Eg^ͤM"t->ż'85f<}kǃ>"GHo Ӿ"XjeJk Ed| =ʀ4s|?al:VnKP%Oψ kP'h_<&sK K H7jE?>$|Q?I?KwgeOv7o xsfv5_bЦ #PFocgoWÝG {GCU̺^o\w#,5]BH4ȯÚw(@P?MX/|A7o: /*%Ɲ@.aP>U(7Roi+Z?h>0uo/\~$c/| K<)⏏ihJ>HuZT Z^~jvei/|4{NWuY<⿊>״|HmG+_W]C— A~ N6VEPR7~VH/'}~cF߶d^%𖡭xs\ګ]wźƘZDž`o<*5mSuH.tKo|!|&Cp-Yj7"|?aheԧSF:LqD 8tP( ( ( ( (?|}?Aق0AxzDk/7ʗ? 5ni wHР V}aΚ5wVvwaeW:FjvMMf[cRmmo[{JIuWVf h#N+ ;g]e,ᇌ~x#⟊iOG~8 O(wRh74}wo?Rg?j~&?gZJͽ[o\ɭjOh4 5 kgW⏋h xbğiߵ?i_u_7:3F>1[jtVu|- ؽ}_'&ol|b>0KXc7CqxcQ?^=4X4]S7gGYŚH_zox7wUG/=~V ]5 ( Ŀ7-? 6c]&NjmW|;i#GqD5Κo5H>!;2=:+j~?𷂴70W½2Nv~W-_¯?+}hZoOxH[xDw^TG۟ @'5yi|?w~ :tŠ,C|5~ >o6_xm-Y=CNnb?^+_Yk#qmټk^xL=w²t/H|NᏊnC͕@jz7!Owoe{uk>=_9~%e˟ Ś/5)ԥJ!ivw}h@?+ε_ *싪><'u>u=kͯma4^kEd@PGKa_T7OCխ5mw]m+ -j7g/!j7?+ߍ*h>&/g,<;|Sյ:ku OxZFpl5hbN?7 ?!g|SOKߎ7gf?|9Xwm?Y4+д_\YIe{&|-_Z787ec{a߁?_KMGI?d`)u߇0jZo85E_jiVxp (?cgk5Kᗅ?%K^OmtoxR <(IOx Xռ= x4=Sǖu^E ׃ɑVO=Q0җ0hͤx.<q!/u<36'u[\1M@>|ῄ_O?ۇ֗??~k|)S߈_mo?n߆^4|;|MeZ"qm^ڙ@2* w_xQ;Z+_9|`?^|]B]I ܍&-B&)dS ( (>)M?य़_I\xώZOpkPgE ~ў;L6o|?y!flRC`ٳ&Cy x#a:g|z.][X!iJI3}e\Cj,O/$h?~ܚ} ~)n yӾg%֢h45Ǖio<р~xOĺw<+ ZnO ݝKV^_h#y>%'-D пi&Ƌkڬ3A?g߈" 'OZ.TҴ-cEЬ?K MOx;_|&_x+Ƕ^+# |<| > |S~:K S|nSC%H[R['/O쉫k6zuߏzuY8_4s{ k{Z]SK֔`UYj'~j~'ࡿ_g?~4߰ 熿glw4Z~w.:IKkvhnh~/E FGN⧇|~ҺOMC}!Oֲ?ķ?jֺMV_ ዏ4i65M_\GAkƞ.{I! Ү-6$ tn}ׇ!ῇ.+;Iԯ|7Սd:>}wo/+[[I~@cOسY4/OG u3i|7z~$3-&Uo4};MR4nX~L'WuWOᯂt/->h(W>$x_ī+ v7O6,}O(FOsP//5M[JE׈W=+Rğx7ǭĞ$RO|WִcGELE9@?ԏ 6w%;O|mFB2[?_7|:y.{@mEϝߟjb\6x/rw_AÿK~~ѿ _ _2ZxC֚V ZkEX-A6|fҧ[(<ŏ R/^//xs<;iѿ|]KH ^(St"L}+ 3o?>?`?ٟ}>Wqhpk'߉GK./^>xkwrxžk/_瀾(x [xŋjKm-3B$LG ?Yl?#Wػ74ψa*~^%IsAnI@<ߵ›+'O~Pow?gYio z֍㫿Px'n|xڟ-?Pm5ơdS"eE|qW'Y|':gOxUph.>|GCg!W~eEx֓?<Z*<? 6xX &X KERmRUy Gt ? Q4 i8>&i |C-D񽝂fNe#A*G a3?GWw7 Y@@/;K|6|e+T>x:yk^*"~<6⫯?&6𞳪~9t#}'͛S[&\i cVoǃ?h/gw?3᷀+Q~מ 4ςN7eğψ=eF4Y[/VO/3H<)?kAO6i┉q4@e}|&ir".tn!'>'a߆/_W;Oz]㞧-!+=G".m<74`Om]_*>~߶/ῇ+xH~6N?-- <&_ÞTu?kt~vch^/~Ƨ~h:~'knikƿښB겯tˍ[Dt@ow''<|eۏ|h=;&k~s>eQxz]K3Y>MOxHb֟T?v6ÿ٧G|G (tgU5/=|k*QB+ Z(?4|k xA"Jbr-W ǟ~?go',W#xESsixn<"5+meK+ǬIo;OO3iwio]Z+J. [km>9O ^7L%Ӱ@SY[C1Gٲ_džhOٛQ./5YQx3Ú>:߁~"\vuxK/5o=Ji_i׷QxHBKRՀ?y ~úL?l4?\[ZG׵(쿤h'Y.kgσ5}c‰\kV׺S^YN~Wf|ooំSQ#ѿchZ2G?CO+k75_qn}~7R-|;cgc=la@sq1-njMQ⼹GzuO[ip@4']⯄dOgVI>%x_ᗅ@-R.RW:VbF$ң0DtAᯃ_[] {y_K{g^? Zukoh'oJoof,֊NDKU7_|qOOM]~>:t j? ~)"&7lo|A]9b=܀~x6tI3]xoCiv]hܫ.&gf3hh?l8$ou>??ئ;O6>_VhB[៉gO*g}xwO xcBjU풝wy}uT4DS5>Z->3ZΙ#;ڗk x|׋.|)k h> O+yf5/h5EEm 6>*7x{! >7xs~_iއţ|r{᷆Gt}'F<5|]5Ⱦ).ޥ۝SE]SN|q˹5+a緵gy_@v]Լ9x"]eo#/5{?Z&c]CSZk[`tCͣ~^$ŏM?Gm~!|1Jg *k/iOy(4h7:=+MQ?|h?lj!q>sLCAS{ß÷UWZZ^%\V}"bMF{s+u+oOLY3|j[G W'Vګ|&t+Gm94Ww_:ŝ<6,/x)MN~*k?σ>x>5xR^I [BN:֫}F? =!xZH'ό)Ū%[_ǚwŖω?a@?(M?mBJǾ1WkC/ڰAZ ;}Im#Og5xL[i#YgHoOo/>4׋#k/ _jZZj_O)?hzL2jh6Yiu4Tt۶P (?3گt؏TSO?OO/% ΍jz+[??0·sx6_Yŭ=Z/qqmg񗈾'Of<3 qo -E~ V]+y |;]T</u߉-~8mZ]Ǯ>7xxwWӮ5h>~Po+`?k-;xLWq?]c[GῶjZ&K?k^3jv?_! ǡSf={J1$I/ j1>@P~6jy|Rߴ^Me(_IQ ҵxWB_RhZT^jRGaĊsxzNmC/ | i_úTiZuhW^oxAj^1OL-FIs([Xk:gZW YSLƝ iz?>x-C(u9Y'3O&?Y5xrBP_O&ѿ?K/,eĝg]iS13|y?{׊u ]B+_iv1S46jxgֳA~z<]{_go[ U)]:h[]:Hy/wspnoJoof,֊N>Dxś/~[ CK<^|1[6uf|sgkn}3ΟPl۝emd)k>[Ũ9k!m|ݟV+MzíO)𝟍< aOkE-Ǐu?$' }w9#M{}@X3$sC7XfHO%9x A"?@gv2|AS_5o~~gog|c'ww[K]|[[P-PNηs?^.5}c h w฼%b?QSKS5v[ZpՅP8kV#w"wHKLJ_RR|KѾ&|/'1sk<xE54X#2KmolGbmcU]>AsF'|{SNFվ|;ş΅bOa|Լaw<Rş^_䷻0OGxXRxÏ!x%aG_A9?G zmޫEؠ/w5 hE'/ vc-x*'E?&^'滥i+y 7Tx{O`|9}hir k5^lB1'.>(h~W ^xLVv֮|Oq˩%W~@eo؛ZúĿ'3<o_=WG7cKԾg>|I޳emu7vPvk.ҥ׼9c? ;Jx=S¿O~l8~ψ|xn5Z)n: _q,WO t5?wF| {c|#~3ho/ MWڏ(񆡭jZL6Ѡ:? 굶.ڟMxNc24i>l/>M R[ORiZbִtߪ}sygs7)~O/| *ϡ~ |eogouax>"}w᫩Z (C 릝c S` sާkw{~]:׉%hdž4 [;jM+X /_AucŴ? xOW(|UP\'V^9_o>wl4U`?]%>~+hm?~/Dĭcϊq/|GXJ1 j\j&oxgM;(t}#?-~3 ?dп;.Gx:M߇;YRոOi$>tF`Rh$f Jfufuώh>({|o]GZgpsxro 5 p<c6Vqj1^ko &6O0gX۽+Gu sox#k:+[_<{;~!m;.qDCyqi"\0NW3x ?[X>" oۣ: iw?6>_Eo|W+9,vngFʹ ?M';~׃{^i.Ş,W|UuhZucs_xYi UumcPuwI$Pg񆰞4~ݿS]CIiO3xƾ0Я'K&>7Ьka'ѦmQu;<y^/|}M/h'nA~CG~>Q|'K+~,|:47%̳ ]xR {úg>!|z5.V_¿(χ>%?-|quλ̖:I-,]Rn?Mk=C_ )xOMm|-K T-O:\fGz?iGRnu Ee`km}q P:<ڿ]Xc~Co_Ƈs= Wu*}]? x[ŻKU||5{fqO-wA |k?dW.|EH|\ilP>1rsxzo~*áHF>x:?W)-ljcᯆE/^LJ|dZO)B ?go7 -1㇆ᶪ..KT55cV=!|-]'NgKy|A{|6=c<ޣ{ۉ4 7##Minby@?(@'?%ƾ9~~'My5ShwgPOuxsú_ yzԀ?Mm¯ךǽ'S:ndO-/E_6>/*4XhWQZk%( (?;?i5<3lt~ ]xu_=ŷ]W]΋opqyy`jY)Uѵ߈>u/i^)񞱠iz喕[B˟֟ 4+ &|__)/>&Z|P{ ?i f7VVOe$7WPM;F?_5>BY|;hχV_ޑxÍ3Zݶh]Ʊkt6PS77öJ&fw .Eψm4ud5փssYk6xG.g  o9]3^&q l~ xmV ӿe+jw`wːo)5[~!>;/ic?_oֹ/ǿ_~6Ov[>ַ:%dd þ77;5?w8;s_3iCXٚ$cG<ᕞ,tt^ueri2u{V[xPOkzߌ7^h{[Yo][$~#th@s?x_MZ?}2Z'W~-ǂu\h7f֦޵u=Kiq4:<#_?o%dgi\?ߍoko>?|%jhKaoxX^Kq GMP^,Wf(7 Kwм474F-σW>4]OZPѮ2+0(?l8$ou>?Bk~)7q~ߴ/m+9xσYwMuG7l~x,~A5vJ>kqOo|5UGW]_R>;~>'F|ZEjٟ׋x{^gᖱiW fOr/L|WnIZ\h^4> |c𽗉-uVu6|ÏŮwѬ/#GdoNj"KD-#lb_jw-^wc{8~E%/ٟ o>+hyO?.k}^h '4/ gxZko/5c&o|3Va >;Ƈiƹ%yj{q-6A$i~hR_|ZԾ@ !AŶ'0|C?x~$!?dmG@^2o>30x7__M7Tt~}SN3x֚~w>:t #O~5|Y kψ߿ <%S?dW:<~_iڥLυo5ãxzV/|Ig=s–qxKß4?j?|"j>|Ih,=:OMh.~im'?f:Iu1:'Oo9߉C|JxPk7$kO(=wa߱<i~6 k/g..7Jke| g'(왯x֭ZiZ]υ-zOxS m{W:P_د]⯌lo3sՇĿ(SO$x I-_߶75K߈ 4olJP0coٳ|(ࢾ~п|=~ӿgO~i<)y[_u]rmL.>1xYY:^m}Mៃ TПW_YѾ'x_>'=iעj]6 @zW~/3Ϗ|YO܏>0 /_"񯂼_xZ]<3Yi՟īX4}# (? ϣ6x;V??eoQi=C?4O{?YZ''I3Fz{>=ڧBM/FO}QOEk|\~Ş6x⿅)Zw4__mS$x\7+ ?Udžu;#J(o n=nzGŭC7|K߄C7+?xNn#>~:C '$/z߲݇ j>|?JV7 ^ Ř"HIq^hh2a?hz?V&h־3u?TO4- ? I iiw wz}uˑyz~؞oY~?-j'_^ |&?!x$4!qmhz-kѯ5K`I}RـK?PGWw7 Y@@;c >\_PL3u?ڻƟT/v.Ej>ץ,/ |mڋL~%Ҿ_ f~9kiXM}5|g^v>/NOb hu| q?? 0 FfٯC9O|F>#kO^&> s| L>+5Kt?j/!M"}+Payx6v>=oU|V_}]-|S̈́Nk8,ye?Cj cypx.Y&ߴǯ20?XKVվ]:Mi[dd Kl&cվ"h߂~î+]Z\^ ^}_|7ԼK55%@DzZh t/Ɵ; 㧅|m |j| 9cÚGN|WiOϊ/u\mjeM" +~_ٚWcJt_~ӿM_Hj_uq)G>xm?~!WZZ-bҤ!xKzڿ﮾؛[oLFCkeNx//b}/ {l#Ÿ ^KWhKBĈ aWxp>??eO'/_?)oே__~(,x~5^# h?,,t}JvC,s6rQ (/7@~˟I?EgC^"~-'ƿR_4 |wdž3qỿx-*uBL]]]dkHſ#_O/`mW/'>+|6g/Sdj =ke}6qc>殺lD7/q?׌c%k/2~&xɴoVs6c Orfգ[|@RK {]>8]h?& }?^=xOSR|[[Ru=aox"'5o YJ5z6 iXiH@YD&ޟ_b߲O_&xŸ2"j|Shizq&Z3C8?NO(W#_~:_&ǿwh  |U?~;9xo⇅|S;~z'/m:\ZGb R[ˈ?W?T<EبWgW 1zGAѭ {>vG>,w:h>> %fwZҬmE4wOh_* G'-OO۫]FUc_O2~1~O_>!#nk^!ҠW'UJ~/|^<Ÿ  i |GԿjCRqK|VeoMe5eu,iM쟦j:v} žjv>V<ԵK(WHMS %sM?ZWM>`h*xOിf"5ǁ~ )յ}GUŚS|}~ a;]bJ4Vq5?_jA KR߲$~"RN|Y {h?l_\_/|Nh_4 SR\<%}Y ~."l:%_ۋNŸM { ϣ>Em6 +j?o<ee?Vڇ[6Mu-CTyKxw|]MsA|Bd⍯|-ƾ=Og'%ׄ>AxEuKymmuKMkN+~ݟ|S/5[τb_M㗇ƾ:xznǍEzL]Zi66)k}` Oo+?හgς??z<_x3_tO~?Oo:NƓ{^KWRYkjz\@|P}#b#'奟d~G ? jXlj }͛4vn:Y੿y+OPc-Oi!/פY~F/O%?ÝwºoxPjo6ڌ6rk[iB;]X9m@ $?m| _Zռ,4ӾZx?N~;)x?OW;GpF<*Koܼv?'i /~Dz./_f-|I0+ ?3C4bFh !]"/rQW!:\1/ǹiO#G'esυtN4m؂?|+?েo&ǔ~?xz׌u f_*lڽLj4_kУ%k KP( (7GU`~CF. K O(j>>*$<#OF5)IuaM.|H_ş uh|[O6<{uE_5i.<jfkuO!E>#+-ELj>=}Ǐ<3]s- WڋSv->~M^,6Guo¶W>$'i ֍<5ږX$)U@>Π>?u|T'>?//"yxw⟄<%-&4t&g/<[Wѣ#Y dƤ~H5_.g>.o! qFAWiߴ*~)W/ [_|Nφ|z5P]>w|nxGE^'/ 3_O_!UM jw'__ ͨ^IЭfRKps'_[߲Gu.QǶZ?>$ms㻸VVV+Yɩ&5x}mI|A{/_<Zi?ǁC|íW>(I -6KA.s+X~_­I>X⇊~!k.G|/Abxcڷw:_/5/4~0k5ĖYz&X姾ȸ_)|;7跟H%cg5sѾ_O>i7Ro ]ꚝ^iqT?k)ƃ <{|^߃(4OZ'i[*?-rÞ[ &eg=qq=3ڽ}v>(|N 7o^Rji,Կdſ~]z9?]zj9mKh`Oǟ_>'|:|I&v&LJo8?A]v-V{ arg[/xXj K>P.Y_Gih#~xgBu? sR֮-.U^( (k;OGy"C +PL}56᫸otFXKbxdn<]Uh-l-??a|(}SD>6[C߄2ƒ៉5%hhxᇁ!\jvWu_fେQ?j/kᖏ60͏j/xs?eڧǎsCѫ~1xB(gtNM%mF&~OZZd߫4syuAI@P@P@h74m[þ"tak֍c:}ZNM:$P"DhG(DD@Q@UUQP ( (# gK~_g‹jj~g|I/v֚xſ |S~_ =u/=|᛫?ƿ <1$~?ď_`}xOݨ.b ,K񮭀>l 3YYKƽQ~xGzuC`|K"|3˫xRk]2h-n)+_ x ieO Ҿit!| |k~?Yķ>$h- \~kׅsp~#տe/#$[MP s w6;uASÁe1x3 _ ˢvq[푮|wmZ%hz|J-<O\W~ogYx& m}{Fu 7P?u#u|/ f ?{\xD79'JRӭtombu,7|o? ,o\|[4?M~6> (޳O |cǎ> Z,,'|f5{+/O SVσ@=sU?xc~;_'PxKßX~ƏV&|Ym]x'4h4Ԗ_?)>7oį|8ί%{]fZP_s^/qZ]wP״n4%=@P@P@P@P@P@P@P@#0?o?Oxk+?g_?S/o?Qza ?<kw6; 2 l_o)Wd?}%ڔtn~:k?%~Z?:Ox?> W|B-S^I./)z)Ҭ VRsh=E~ͯ?)t[+R~͟&?3K%v1W+iG?_*?dZ}j̻PNE>ğH®24*Q?[4A?F_O?rُobH3PoAy_W)_¬v?H”!?}_I?V?±?ؿ) ̠ /]ۿkM᤿"' ^_'¼?f۾_M3#_v}A5hzM/h~ĺg}sxCOG5aV֠'f[Kko2?m B?fgQ?cTd?_equ$?h? |7ljtW:.|)V]DKPg/٣hXt~:|@ɿE x[Þf__iOAEo$¹~?+@4_)'+_xpx/> şNϏ>+:X|Kc gh^д9on'WTV`_ ~ j?>&O_ f@߈4}CZ|'AdxH=ggnW?T<EبZgm>~ 5}' ž$k~oj~;WOMT/ ]. ӼiIn4[}ʾW?T<EبsM?ZWM?Qe?K"M_%Ayc?V 7I#QԒ GhG/*DI<oaiߴDqEj^I$a4@I$ɠ!'4/+=S.?<1o&57_~>|3I3>C5wுsxUoiZ 2_[{+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@?+_+_|USƟ/4xNϏ>#<+=:X|5 yktnmfT'deb/*L14߶gaGYek~qwG+TDPI$"ߴ7Ln;:uZ@|5k6:XKMOYo ;XX^Rh~f߉kˤI~.nT[tMA|G]OUhNbʑϋYOH6~OG m>[K퇈4^J\;[E""ݣpxn`ۭ& k7]?S-CSi_?oË?j^Qg;Igy c5h*kO ?/za_'ďثOàhO~ _Vx=.{AqXi l#`2 (>#Sc0)gWv>}k~,<=;: \4Y?niCVWmOxoKiC|ƙe_Ŧ|x6'|[st~n9Gm;b&Ɵh/k{?g]WzkȿgM/UưJ  GTA ީ<_ |ׄi bx`i|3d|C.=Ѽ>TP|[⿎7Orë?m5 /|O|r5gG! [ҵ-oxJ uw}<`/i* n> Y>G~~:?,OѴ]j]'^ мy&%Ҥbo:o->7 ld DS:oumr+{1eGǏoI~v_7O^s=#වV?u>> 4l/?dx/ZY$3}~㲏ǿ_֚4y><]Y}]jן.|swcrd7*x)VWFxKGg_x7vqD ^<9m ưcgDŠʀ?:; xx׭446xsGڤ ofk>Qw᎟z[Oi]eneZS_tH#xYS߉: ]? 5݋OQj0O![/>gľ"QԴN(nu;KJ (>#Sc0)gWv>񕯌/'K?1㫭SeMS^I-$^?ZNJK \=*ѥ0@?&_ ?8x~ ⇇4߇b>f_[~>'o>!_Z?Kտo72~iCGk \f?~&3ݿs |-~>*|I׾]cxŞiM*G= PO d~jzo?߈d=K6PԴ8aUUu4%(^,c㗅A_}V? ;|BA3f5խn̑?gOO>"h|U;x_NW4e%~6K,^'MwQgo|A&D<}ⴀ A?k}~Cx]Gbi< J gpC~ [C4kk7#75ƌ4U?Mx<)uӼCak^+-M:MѾ(_2|t}?:S: =oWm{?~ğ|,ǀh!-~;u;}Fw *??>3|K?śßt<7CL~L2AƿxY࿌MzƩi{eh, 2(@= ਾ/Noh?i? S_jm'#/|;?fQx_H]մە49n9i59n|*|Ux~ :WwS >~W_ /_d]/bOeԢ0G>Ooz);ƿ a x^'u⅜-C/iطn<06wO \}X) ;/ +i_[3 <)Ɵgm/㕅4ߋ:oekH,fKDwƟUO?>6N~ ؞x^_O音|XQז.oUĚ7߈ojz߇b]&6:m'cP@?8|+*σ |W'P;&jz懩jv5qaaklobobuzψ2|Qg^i>3.%{u4}>I iz.ey-t @><_O /y|Wz| jcY[,q{ Had??4l7|S+}CD oqA_i}%73 A5ۼ3*u-FXԠZ!ao[|ҷ.@-|X묿tP@|F`Rh$}8E6EODux~zuZj cJ5]Qt6Y;Ox=uxH~:T-k׵ۋ+͉,젞E o#*OSZ|7wOIo7ឣ,,IaM?S7x,m-KR_ܵ?c|%xI^?Ou?_>&h#yzN|o&as;汹M ?l ?ɿgy7I 4Ol?\|Zjhmۚ?l)> 'mxW%_i9٫|NƟ|wZ}߂?֭w^CY=-</xZQl>Bo!AGX¯9^OE4FJLf~Sz߈!w-4_&xi~~ڵK6O? ;-Z將]f)<-[W1|By߲O+O_xc]_?5<9?U'S>!1O }N^" &4]j qz ǡGqe<5x+\5?|Kg V1@GF< xgZѼY?Z/uOs]̾(f?\Zz|S/~Z淩xZE_ "T~-ga&fWUd]{x-o?go֗z־F>0i6\ VW3$:ͯ=+GK7%fKKۑqqgpW?hz׮h<]PmmΙVma⿅~3ѴxO4n,t+uX2tOB&x}ǯi:zׅ~YiRtK+տax÷v]>wsf>Ҡ6_ gh/¾'O|YMjZK55J@[Vw ΀˶&ďC Yy`x EfO|)*:M_G i>~|SewETZMx6%; cC-^ӡKK+GEZI$ge xglz?=gIF"4 *GA ZŶOc#nB"PP@~q_V/??/&}@~h9ho u?ڏE~6ux _~κ௃ 4o3emn žA,5\4֯uh7wmf꿷pG?,?/|k~Q]e~'k/toI>GuZ4?EFӛMFt)#~>RO؞t_?7:~5 xU><,Ѵx}73ũɮCmo< a+GqjKm7ᵔwXèv_>6O m"-FCXx;YגI`Q%g"WFf"|y{ 6<ԠgB|}Tiu-,Y}:4~H3~Hhw}1>!|k~~!V>.>iu|V?Em2KCVih:.CɮG#b_ھIot_8uˢx=.v`ڭ>x!yX`l ?ɿg{H(AV3Ug|Smk}=R}{>:Fs].-Cυ|O4Bo덬,QX?+~6?d[ey6o-Nσxk^?Ɵ |%?|!q_&xO :}^Nk(F?MItP0]Ïxb=;/ |aWZ}C[?X,lc{(;kx+>ε:_j~#|ONѬ/:_!/KsS&izM垨[h~Lg⦫FںN7}ok;?c_~ImHnlجgyfy%Sgj<5DGxWRKơOWD_|Hjnnke}qf_>!Mk|?KM?x_{q|</Xu_Z_7v'G&-,~R_W/|_ i⯄ KFW{c“Y60>9񧋭// xJ5. |7k(~|; Ӽ}sHiOݵuO CekGпgMӯ4=*^"/|0;h3(d7V5z$|OG=KͷN ?gLm)+/B9E<0Ǟ%>=%Λ'>>36/,OٓↁOA'/%g[}@_Q:Fe{F/4/{·KC5GO]<}>>3x'࿅77>+M &~;Mн"𦣤*'K %d3#NĝR.|;igw 񅟃!?v{xt՞\I8?';_ZC-{6~;- ~ ^-{V]3vzd4>s?ਿZ | V{4_1;ßIuMKᎿ֫i*WjV6O%VYXoռY'|"x_]1>P;Ÿix^& i:BX'4`Mq34HAiYٝ|j/kߴWtnsa~-g_iWk4 Q}Tm"ʲx/K'~"[|%M8$?\Fg⟊&Դ-cB'𭦑up ",Wz^>Ѽ[ZUwPx60׾$Q״i.WRdIGv`[ (9[x¾%.xͷC j>4똼=?<^{Z-<_ٻ`N]7➑? kmoK . |L׊u~ĿxG_ZyatkZ~CyXd֠a+{ %xeA$SC,eXF "%>#Sc0)gWv> ( DүuKKѴ7Q>oOii˫xcVm9ICEP Z(82m'X|Du?O_ >)c~~On_b;ym\EwP@l+;;Q+;; KiḶ$ԫ s^?Ҽ >u 9O ķwi^iw; (Gf9$>Io5=FM jkkbVOS4k[ xgdPP@>*| c7>"^ څjɮi{. _@}kQԅϊ|B5ᖋO uJp|SWo[Z՗X!xT:>/R? ֩k]xZ 1n;=Ca tucę~|]ju9>'|}Fx ^ R3< m$ڄ xgfM7NxO)O 'YsCÿu;->O_=Rk7iC\8kKkKx-mmpCidQ*v,p9$ ( (>__M:?k +7ǃ~ |߇1H3-bKBMC]mſ|C#Z[JO'O`9/_ xsK7~-5-cjGxMޟ`ͧYiQk74'%K@=6>)M?य़_I ( ( ( ( ( ~,5ϋ^9Ҽ(_t?*\񯎵ȭfk׀<;g'洷y"ҴM>PP47(bCH|mL| s>zk Kw^!ԑY𕬣 Ѽ5k4iFg&˟_gOgNYK5?(Y9i šhZXBZ?>9럲g߂~~^?O%3AMƯ__"燼qEEiw '[N֩:@+7㙿lڃ&/6g w:P__ |{mQ^|h3s4i rh ( ( (?c8+ßuN>ggk/ m___Wh~+h*]ᎹèՖT?y>OxWLOXFi0jo5Ziv^7Oo6cop@|F`Rh$}@P@P@P@P@Pcc|YΕT֮<-\kFxö"kKy$J4BUF) p<<co~l_(iiX?_hվ"[^Xj^3eY?cZԼm>-x>*C\ĶF&~"{GFk iӼ–vg [+xMumO_<[K&ڐ&wQOM͎wmw7`2^xÿ~1k⟄|CxA|Uo,lP|J,[ii> ( ( (>__M:?4 is <;mCkzM7z{@c}ट=/¿GHnuOkO|yYE}i/ 5o.5ygS]xWv*𯆭viZsalq A@P@P@P@P@Ŀ~ J_iJMkĚ}ƫchzdr7u뺌k։=ԉRJ\~|BU\|U:s_OtA~96֞sE'? .AmkO5]|{޻?iQ3Iei>k獮?x;>,֣O ^*Nω|Zin@Ϳ/О&~ 'qI4#w?|XuD"/ @xx9?٬]WFH;Vn_z2?XiQ˪Ůgؤ\AZƠ$%f P)Z+ ;@@P@P@P@U I(-G>,:b h]+RtsյisិxwĚ&!/5/<9_C?|!t,5S1zUP@P@P@P@|X묿t8S/eX?z7O~5'3W&&K?񏆼9 >xM~yt`E{1xN$5-_B(&NRxycC|Jlm~ nm>x᾵^Odmᢾ(I/~i$wB#CYV>$X5>Dï $q _hj_<%O haUTXX[[Ÿ£uo'ٳO ZsÞ,3O /z~#|dD+|9u5@5ėzkO'EsKx?kEM2_A'|.O}C*<7O:#"X0{u}܀N4P@P@P@P@P@~q_V/??/&}@?x_? Mtcx~2_|,5~(hX3m>vC ZB$N~_]>Ӡkv1j}i Y-oR$Ѱ )SȠ 777E'h( ( ( >"J}>4~XGu EYER_jC]!i&e5weRCX>xT}wa%߂7/,5!K}D}cπz>:ڗּuگ%|I[Ef|O'/5Ox_6$1Ϩ^Okh㷷[HW_姏5O˚}+h_֏h5/*ηDtkx?]5/zɤ:VsfӀiC8Q7j֡u_h?t_[|<3WY _V[l|널@pP@P@P@P@P@|X묿t~^ƟڌxJ֚ x᷌??>&M_WjGv|,ΧxdL+9n H_~Wuf^}Wuއ&^HF ԯ šu?]x]Vէҥ_[[AJW~5aNwƺW'5[X=kY|oOi?/bz,0Q ?k$?gO?؃ Csx_|~S+Owh_ٯW|Aqc%OH^A`b~~=xS1F~G=8:G?*P`Fӯ592)^%> >2|J_x_ |FxW|%]þԯmMnNﮞ i@9 ?6>K9?[Ϩ|QMVඕ+ųxL#>O౰ ^K ߘ%})&-@>2N졎K;Kx,P[ZۤpA j0-@P@P@P@P@P?o^xWĶ|?]xYw|YGƞмU>s;GgxKt]wEG+7u ˦S>'Qt~2mI|]ᧈW_NIo/^,䴵GuOC-}9?*G5~?i/K j_ˈ-)M?य़_I ( (>oY| ?+ok)O]A4ٴς 5?/m5mJH&kL? }Eν:t+%3K[뿶|)_dQ/6Wr om_kWk7ٮI VxntducO^Eď'>=bl1~О"-RM7M/~W_[iQ5͇/ Rf6t<|fϊP??>~_o -c쏇gsD:/__/mrV<5Ljuv^YmR ?~jgOmW@Wv@xƯo |ork Kz֗r`| ߆ Y,?? Z="M)/ooqs4#ƀ ( ( ( ( ( (?c8+ßuN>Qa~:6o 5v<+o_ qWx_U:?.5CwR02Ok.Kce%;+W 1^}"$Wv oJoof,֊NP@;3~. |O Oj^* ~k_[<_D񶕥YYiZU̗7w߲>&~x:?u{ *oWԵON|Ej~M'|kLihu?|Hx͞ {zqi+<ڌz`]|u㶙X>K&ikZ?iG `|qmN/@z~oe î?|B_h:Mjc"Hb,P@P@P@P@P@P@o'bsiN#i|HelY٣,rIР>)M?य़_I ( K|?Xh7i玾,M&Smz_(H౴OhZFvx g;\6QuX `m/:Fd[MKP̟5=~8񕑾Wøxz/]xsT|woh5Ǯ @=k @+W4 7K_ h.miz][A4vupE%c@P_@P@P@P@P@P@P@P@~q_V/??/&}@y ~|nskZ_- xoEĞ!мc?3h^+Zx.-).bVV`hwE:6j߶N~0~$š~:2kuox_'_;gNm#m}ZXo.Q?| !_| ~|-Ǎ5~4 ߇>ɭ迴7쨿.h׾kbXk2kzY_j_=k^*=C՜P2_&>4մO[[lյI-F0hHq;TDPYوUUQOPT|-=W,Cj6?4}[/tr?|zV_Ēϩh9S{KgF-|C:D~/_~ʟ⿎?CĞ<?:En |+闱ΐ^r5|'mwmri?w:/?|qxE;׵3P~=kʳ[]WKk)Ő?c<~Զދ{a;; ||_8|`ih~'s|MOOx+,|Gahh.օ< Be8~~*x |S7+uٻ;~"޿]iN$0c ( ( ( ( ( ( ( Ym χ9k6<5ºӮb_h,zC=k7Ef~p9tߊzG*._ |M /4jo+ >ş>8ÿ`_hNeOG2Z[~@mUGOT/x-(~?y[9kt:_/=+Jmg[OOΝFOwy 㽛I`OW/&ƁGoSgJh'~ |YӼ3_PKh !xįX_?g=w5-3w_?C?9,on[[hG`VȰ}?j7[ƞÛ kF~Vl/_ E}C~cb^2\y|w^mKHt0>=ato߱SQg?_m-CzG|BE[=#(.5.V7sKs, i4qw %8<kxs+o?[c^_|AdW);Im>=>ݤ|W㝏oMJ{  ):s MGĭ._A}Ei n!=OE+ۀ~j:?~&Th^ iC9Ҽw|UgSHx2/ _>G퓧7x_Gof5@?xk/ɡ:gegPM=Nk+;> RI+?YE~|?Y%mWXOڛD*}/wǯd?^c׌>5xFMχ"MWi7~s+f[~"o6w>ۭKG^$nnQ$+:h >"x&G 𦥤VٷP=|C>V>0~>/w<=,$Z3K]2+ճPS [U׼Sscͧ_ř<3)|=~5McTeⱴ@y)vr_kM~6_n5?«өiz<ծLj>xwFMŦ=͔5^a8I?+Oů_音7>>7Ҽ SOz?? / ¦ O?k_vAmMzP?< |DxE桫 KмAS %_w[} iַ&Hۙt{m6=E֛=?xz7 M7?ُ:֯۫<'|kc fM(CJe}cm\x eKf>(QI_xoC?b.Kcp<_r?Y+Dž"-ߴ{_ڷ˱._Zn.iK,aKAR?jٷKn4sO V#׼!5|WxFao hS_#_ϥ [KJ'|Z?fO-W⯁SÚ'|y/O kQ;(|9q5hPjXCs}v![|}W?_i m(گMc:|K}]GzEݿn5<y]kX9qwZM@P@P@o'bsiP@|RـK?P@P@P@P@PV_}>z࿋2|oxDOڴ}u-V?/C[BЇ,42; uCb|C_ vt·j8yIp/g${hl~2d/zUwVk>2z&3m^ xI%WU08h?O{_?e/? )$N:=&Yk4[o^Ey${j!7 ,MI7;_g}~MH~8xJܷ;{b[NDԾ|mf湒 a-G&iU?%aoxO퇥dIc6g~_/y{qj+P֒f®-ۣD#3 ''Q#g)>*þ ؿg _ /"Miz->aA'Ě\|Q;;m_&GO[?e OQCzO \h ?^xW>uY|^^i>]àxx+A395lj~~3w+?x"0?*Yi H⾳(E lOX]G5K;!7OړFoonu u??hkۋ6S P=OHa$6uk`k? (ҼE/x k7{jZ_f֏k&t_6:WqI|?Ě^cC 'olXP߲ZUy+JJ_x7v7$|4?c&c|6|t|Cc+k5 @K6.mn^߳'+[_WkVCB|?ZOcxM,-tcHSqqዝb|Az~Z'MkL˜ ~4ٛ h<)xj?@!~|O⿍ڄ,V2?ۮ`Di_ToWxxmsi:ܾ/ѡ|@F?H$Y|0w:PɣZЭPGO wƽ'ᖇ&Pևw[4gOֵ &W6fpZO`|qmOwlzM#ǚm|L~ X]:EhZ1+$~ iirZ EJ:g@W3]?ž 𕆡q]xSnǥqjڮLPHy?}߇1k6yï?>k6_tJXEǨ)MEmE7M\?REaپ-mV )`;qߏh6A)ig?~оgh_~~:4ӟ.x_WlcY/KkmRuh#x㐀s੿y+OP Gh੿y+OP Gh੿y+OP Ghx; Izׁ|l~`~5x Q_߉_i*nl|mSPbh^ *x'InfW?T<EبsM?ZWMW?T<EبsM?ZWMW?T<Eب8~RO | c t _M6z*>4 ͪSugoz}—3S\Eo=s¹~?+@+*oGlT¹~?+@+*oGlT¹~?+@+*oGlT/$о>K?m؂O|T??ৈt&Ǘ𭟅~׃ /*l:5-_ckkK wK`sM?ZWMW?T<EبsM?ZWMW?T<EبsM?ZWMW?T<Eبg; I5:x5o?ৃO7_^!i~'?▅\vI5妟e6@PQmKh>2j <_T'WG)׺_|Q|KNپ?uI{*P/iC00~ů>j/ĿKF|]༚/N{{o2^_-)S 4qf׌P@#J_F]G@sV-]~H/Լgz"Gp$᷊?isB펺&?4BEƍ4_ ?iWÿ|T5vhxbQ4a (gDo2+;sV9++? čR|'cňga]]- 'R/*x >:Y|cem?uuF}'?N]2]9PXP:( |~#)K?7e^ώ-gk_njşhO_c|:<>!QtO[ X|j}rOc׆WƲ4Y6tJfzpkajhlFPtP@|9e~ ?lx$t=#Z4OX?̾3BMV:cWWD myA$KxgS)Ljl$ֵOT7cm{ (o_Sܟn~)ϩh  (/\ҭ5X/ 4CJC5PjZ\ˣwg-R8f&PA,rzڃꟷ,+?oπ ~?|m;7Yk/Z/Yg{< C+oH?{ԋ ( ( K|?~|(ߊw>8Ko<_:MO5'gKY{X"ְ#])U-SᏋ_G<?~!Gy6 Ig'.ѼY^usD쫩x EWzz|9 _Z_/:|g+ZjA^]+H=4ɼ%GCYƟ^hV Ō7)qm[N#[_(;_ ͅ׋k5 Ikom%?OCVy#ϯxN-i4=CFdOOi&ïKNE|G|*//|W֬-3QjVP[Kyjz_~% ďOu/K">NwWz:'4[7Y%G )ៈw>-o?9 w~2|[ϣ; ڷƾ]m}5.|?~Cm-.f~ztsxg❷w u~Pg_5=z u{2 9u;H< ܖvPD§'G#x_6x/Kx{O:ςi^2mn,|w{guonR 5 Fϋ_Q<)㛘 >,oOL]C·mѲh e,72xͯn`i«[S+񿍾-~+O5C'e/ff _ߵť:%~6\(:hZ_߄/?ك.7.K|@umJNzό_SSஃ\n6x&ռGe/٣-eVchj>0լwR_g\N~*~~khΩu76e~g>⿏k+Q" K]:^,FX@8OyG7 m=x:O|?·O{_x?x?-ydƧo?,쬯tƏ iox7 _Aɫfj/OP6o%4e^׼MMӵL@P@P@P@P@P@~gA'߈g-_ 1KH[_?PE^aY2J<= iO5έ{{6K@>%u|Im/&O~jч;_+f~>,ﴏآ#~:¿j>.m_xxI}GLi>kS:V~ E#T_%|)~/ xxfaxf[u\k_6Gڣ ~ȟ _)')٫Dh_+_#Þ/5oxoQ񾕮?8[OK]7JW~|O'~.JԼs׍e?o~6O׿ XOě/GB}2?ǣ5ޟ%7` \|*uO_7W&KOۿ; k8Կ~1ݾxUxf/Yq&0'Iw'~MaV_NG='?0_j?49xr&\-I'C W~$վ~n'.ÆuC[/LOxԾ?x^_^X|13K>&@/hcMrIxF<$t6˪Y8럃?Ky_s?kx7>&[T.G86Ƌ_ synmi)~~vR}5]|]!/ |C? :OW8-[Pe U :|B|eL'4;  ׾jĿxQ5MoT-O'5DZ{o-P6@ʿڻKſ 5[~]jH>|>&|/x~ o!|O߃[OŶe jiil#֐|VuW3'#ዏx7U|=ٳWi׺6x'<'o&{Zibk8> ( (?JFIF,,CCe }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?(:^moqqayj_hlQmiqOi݀U<#R3HG'ȾxqIoOfOjt ?)~? 'f?-Tzk:a36gxq:|rsO4#J~?եOO/>|6)ZºooaoƭjǏM[O:>4A)W%si oEXo7?K/xg_wN -?ॿ/ E+ԺW_w~+_'xKC_u}}o.5X:~{1Ib,Zt_/ @K~ο_^)o? _B+W>|W -_ 8,5;_VciJh_o#'c+Y7,_%KNc+Y?d,~?:Ko~%~)_&^#' +F7TQ<dv  oEXo7?K/W%sixsuuڟ'_ [|w4_RMK_J)JXw.p?@|%ٶ6j:W$uèi_/ @1Ib,Zt?g_wd>*~•jk~i߲-KH< |-a.tbc+Y7,_%KN<m߅-K_~•jx~u?|>W">pi-W%^-ӭ,t5?ɶ&t`W%si oEXo7?K/W%si~?+׈E [źwXHпJ5<+ ?j ~3?N NW/x{Q:᰹=~n_-:?hK eӠn??O%i|S/]u kKGolmtI|%P7,_%KNc+Y>2~ο"}-U/]+?Z,ӿe[░_= kx;~;ßZ\o#2W%si oEXo7?K/W%si~߳_X~)|t ~6J ïRMOO?9/> GN GžWźݏnq>cy72<@=~n_-:?hK eӠ7:۾1Xw𯄾~wSCQ?fZ'֙|mihmEK(_/ @1Ib,Zth߷.hcxk㧂d  OٿY;'/H`?߼ (#пxᏁ~.p?<@3|\Rj>_ |=}kK{YZ-*sE}*@?h__U;8|o~ _ fwÏ~ NJhᯉƵjjmE ɹ.پe@`>-߳?#7𢼈|;OM]_?~0|=Y⟃ k|`𶡠G/-X}@P@P@~P w h4_A*׊#_~xWV[^bᏎ.4?~6x|\j厭C_҅[p@T,m; 6.iscs[ M{ ;%H印߲?|OƧ,g<#^Կ+;M?Ŀ 9w/ŏh|qe٦;i#t'KG_+h~2?h/ O^tx} x[gT5O >s@8 ;~$e2%  jf?nω'3m?/_.كګ÷?POؿྫu|qxw''/*6qj7~^?g_VL c//jeYAS~%~Ѷo~|`xK9Ku/ Uz;M"̠yz'#Ѿ?u_n/(_׀?ޏ^)&I&nMl+i!??m v`m #—?>+~fq/omw>jڗu=s?C~-&{aV0_~3j_iHŞ+2.Z5?̚?ouOox V |U1I#iw]p/SU oxكu7G!?j¿!|]͎Z~̿go %%a'|bg_n𝷌_w?XXXxI(?eόs¾2NƏ٧ +xSo:ŚxBX&;f.|?٫ľ We ko|Vz_ŸkK}5j6~*x_Oc%鷾/%Q֋蘿g#_/x7g"Ph/~7_>kg:o +xv+-z}< {@?m&ğP_ lo%H~N-6h'ƍoG3__ 'o{m?o Eu?>7omBjOm(*(i>t~S?CO_/|}&~ʾ?h?}-]ڏ4?uA_ K `W>$@@|㿀^">^|D~|?׼/xv7ŭr j-[u; 'xZ>-x__ǟ|_;q~hدZo[Cǟ'?ƍKoQ?s-܈_y?-a)~> >x_|<[z⯈<?_¿~Q>3xJ2w:ޕqE0ĿÞ ^ A<'㻿>%K-/>:l_W |?/ڇq{Ӈui? ?? >OYfj3H>7nc;/gOχ_2Mu0IzgGT5}*\u{/@ wW:ơk??d ­ΡOLi[Q([k??h)~:g]E'޻/nkh9_ƙuo[b?N+<gG۳|oψ1~2kf`{߉_NrzQ9w>G3_-@@|fx go^?+_x kQ#=efŚ2~~1>~0VykGg= *IcOe?s|OPxw_ۣ_~( )g=S? |zfkwi|ew)w~6X?  h!h??ࣚ#0j:g4/kWVӛ܀t?Q\w?bH<;Juд?ƿb ?^!Ьl#m_} YW<<9DԞtOn~}_OokO&no|kÿ?ϊ Ѽ7h=|81\\_ ( yw >|MҾv;Rw_J_1Mi7.>x_Z񟉥 xl+p_^}xKk?5} ~~>~?%-G߲?υ ď?n3wҮ1:ό|1Rܟ?>(Gك{?boxU]L?jٻW_w5 x[?k\3xT/: gwg߉Z{| O|O:+W$- k <~? k ;Xdux a/_xZsԵֵαmq}:?POOcw߃׿MٟU|*f^O g^> ѿd:,xs6k6V#pQ?x_,|aO ?࿁ ||'|#n~0|cҶOG^,7tmZcxz|C~@ oޟ?ŏ_o 3?0x7=ůx?f4~e!4Nc_5{iZt7;Pm)/~ϟ/hg tگϊ*jG'?j~K+!x{Ꭻtڟ' !7MwO! C~~=O^!6音_|=2LVڃ ߱ǁ|?k|[/?_P ~7d&sA~)|-ֿ???Gjn +.| 4'goq?;|_3Ŀ|'xKxrmF}A|2wګJo? !g/' '7|o|O?a|~i=h2j4< Qޛ$ 4@1|`h?o 57ůX)`j Cş ># ?g|L񵯈4+o-;C*D^2t|3]oSW:6.4ڃgڛS|EK O^'_7>7 t ~_<>ڍŬ/>"_7iW`}?KmO 5|zaS㎩?d_CF_:K߲O7𷎭<'K߉5 ?TL"up Oك7*/io'⯎CO: Oag)&.uy |' c=>(|%2KO ?;$~ܑ~1~0Ec_xWC?l~)ŸAᯈJo xc6|0$Ѿ'j[G_ ~;g_?ioaGh n?(=~I~jltt<'Rm??f?~z7b |7 WgwNA_1s}6qOv|A,6sm[ž'*Z.1y` MT|IdpsŠ|?;C'_w^+?foO hWf?oߏ-ῌkZO>_ >u_ ࢾ'ź_ O?㿈>;Gm 47Ah>-i߉/}gYY}Tug~_e]OŸO9mᧈ1E{K߳Wo#]|=ыDcl [3o~mg_83ݨ><xm'6O 9|k$O I/^/ Ap?u$let>mIfAk@|1!A_Ⱦ \xe$[ ;/*'k >*QZ/Xe>J9 ]3>x;ྩ V-6k%3i'm_?j= z_~2OOKƓ||cOxX-io=g׼o^<%iŎ_|oN~-c߅a8xFOXOPÍ#fN|CWw> OoXnh~|97[Pk' ψ|f+|YE~xgGTs!ⶳ?|Mm[V5Z!i=@*~xk_Vtχof? ͥx_gQ9%XHq#C=?g/ᗈUtO"ӥ:ݼ7z~[ޣ[:57jVc#mwu _7%xFNJ M;t?/*|<įVO , 65? 9.KıҒ{4e4?n)<:6:h/) xQ W/x\wǡxEҌ-_ (9xO¾=| xƞ ,ѴWŞs^%myktɭolWTdfRxO~|5_k O?xO𞍧xs¾4mׇ{k=#BYkeek Vֶ$Q" ( ( ( ( (</4x<;k>_s=%wygtN/J>|@׼9A [}Rt|_ xw'i+:G5Hм?ipYZIH ('Y;߂ >e?F|-o>ÿzơ-g >t ﮾o/.I# (|4|C=#ǿY~# ӗ^ 1E?_omfdWM p~7?⯊ |m΍s~@sk}aߴg/Cx;^߉mcmhײkg}LsJ_K_}k@?[>'Ѿ=3'JO-4OA_ 6.VqgkM`(N+ g]eӠ ( ( ( ( ( ( ( ( (>#Sc0)gWv>_0^k^GF54_ b?_[nM/m>p|teK>O _U4<Oæ^-} OW:U-/C㇂/ۿ k&E?ioĺ>~_|GjNU>n%g/4~:4Vi%H=n?W m7'Mbk;}'5;CO~ A@߃l|E[xZou[\I$JP >,0'_~!x74-u/xzO|7eu^C:Ƶugc׳Q!}; ?|x~ |^qcL'{ְzދky,GmqkPG$+Oe:7h|3@ į|o)8exǏ)ZM iƻguySO"YI6ר~6/~/֏ڝ д/]xίG3_g<#c$u/ehr-Q//\h2/_Wb-:|oo@?k_o[_?eqJf#f_3Bkk`hK eӠ~n_-:_ ?)?jH??zxsX _o[i 7?nM_i{|izό"X|?d/?3<3kM/ZN-7ϋKx-Qo8i >6gia-x~+g;hW}q^|B| ZGMMx⟉tokZy^ 4kVQ[E%0>&-~Ж] :O |W|Yv2τu_M~j(;?k%ڧKyK?KJ.-2oƕc⇀_IXۿ j@^#qூ^ xsoύ cSC&?|jw վ [55zGiEHNiL߲:F?h_[ s='? bޝY]vv,{|X>-AG/O h>xswރ[@-gYx+㶕 +8ctoivPQ&GFrƾ ω>:M~4|Eӵ}sWQSyKxwlcᧂYcWoouYC5݀>]?c/۞/|񕦚|Eii¿>8xx!kMCׄO{ ÿ3VZ']֘{x=mNZ߳7[odľtQ$]['be7ſx'zO1>h>c?xǟ|q37_/ +7Rӛ^kO,,@?x~ [xz›? Zxn– mBxcKEjkm5bKssUO1U@~q_V/??/&}_X#9,x_쏰S /4dg6obcl^_| oEXo7?K/W%si EI O'PA ßLJ"OIwǗo?nHA-7P05W?MWG?at?VMCڀW]0k_ ?ig4O~t x-/ŭ| ~<𾿬{f4kv7n5Shxvz6o_o/##i Yh9<7i;QkdX[k?m7Xm E0n x'޽w~2:狿>5,z›gYkڔWWy$L{c5|@z#○<;bI?x*x=?j; j n1.:SóGhIel@>chtYᎭcJC_g_Z?>?:eo4> c<;46ge',2(ʮInf '1z@VҘ^i+"H^') o*} KgcЬ&UUvI=Pn]r7X.FT1 Xg" ( ( ( ( ( Y{_n_EO/Twᗂ>2j|QCxrD?mmgcZH.4Rs3i\~$՟>|2~?<)u{= Únm?nd,*UmAؒfBz5ZևxOφ?Wo|-k^%~ >I߈?j/w6VxO_~ցvG~_߇_k 3RKK?J? 'C3'ĺϏ,f:ṤUsIzZ`6?e \Ŀ_go_ 54~2M|??/<sueÝ~X/o7>O~ ['~"y-c/۟ii>5WW_]<i<}_#|y k.T6_YBо7+X>K~?Ji=W>;е +k ,0}ᕾ\dVwk-%/@=o=;_Z^2@#k˯#Ec'4=^%kN| Ofyek)^O;|%6-foV:䚧H4nC[X|tH:o =٫/I⟃Z>| O|m|Ii_ u SǺWèNE}NLs[]B>"Fh?g,Ӵ_Pke_%MTѼjn~!?uOSx3O^Լ1~͞=i:TZplu_ .&&5_Td~R.x\]j_g |5c_9|{J1=COO;6˹8~#[] A-[{`S 5ƞ2'|dx}m2RSk.4;3ji)xшc6ћKVc,4|M~9~ǿ7ڟkF'w|Owo3>7#Ow|yjQkWN%{w كFjk~C0~,U ^} ޥx{H}n^h-ST I&.m[^B0];⦟-wUxY-6J]v^}>pzV$x:W7rWI~ Wź<|!wV1ahŦ.>-?p]xf5&_x{:~au_m<Nw5)>0o_x5SU_ZvaΟ|e{">+>%xZ'4|%|??o*x|cm|j es5=:xZԺ_f @φ?_ %/O _I𖃯Þ > -@e+Ż?ڕ~$ eԾZWqK6wL7 #@P@P@P@P@~P w ww_x'V?W?|=>^WѾ'x/=#HҠx&\~Zn w<-O+[i~0?7̞aw}A!{C4 ߀S xž%_&xo<=cCu ׇ;m$t%]$ vPW @@|tOE>2~ > /O٧/ "~?!^M۾+_f`?¹~?+@+*oGlT~_'o؟‹~"S cPaX}f~}UmxC Rž wxKm=[uǛnMSǞ|{_n{ck-w\j`VՆMP#5|EW#SkS/ 't/_>6ZxgT:|)'V'\">i9=->~쉣~~"UO|*}> KuaV/~6uzvw-@j>6n⫧3_k_|TQgP>%|`Mu{ ^EY@:MV&'TE7I?|Uֺ۟4ٷǺi:L:u6:h2jY@M-KUY?ru|I%՗|Sí+Lj2!\NӿCPKv?|,>o/ƾ| i>1]2QU.4;3ji)Լx!Cmf:蟳GK{RO-|\?Ѽm#iyľ&῀f oG⟅(A񗅧ԢaӹIowF/o5 |!',YB? K[<ݎ~:s;]CUM\AteG߇m~նSo_ ;?k9ށ7ׂ=#?~ W/4FE|17g? [~^__ cw"/>34٣3Q*J^ux,;g13xX{]kiOmW 'u*_`1j5&4?Q\k+:'Jqo,&R[=O:<3'>O- ? 4M|4񞋢|FO}zV^vk esJ<KZGxz7/x|OJk)[:g|qx╎.c ֗<&.->A(|7Z}'ZbO 3\QQ_Wp4v~յ;H˨./m}nYBe`k:)EgUia#y ',8ٰ9“P ( ( ( 777E'h*-Ox#UW__> { >"f#¾8nxQLz|\döI,Eu;ce*#(~п9wMgOp?~~= ~%/KO *7W~% jx $kdIfp-g(O~ ['~"y-c/۟ii>%QߵAi ] Ś*ifTা mi:cYsWV}qk.x¹~?+@@| OJ2~W(٧/ %??&ھu~k7iz~w lh~h>_|>ſw_ ){#h:׃u-PҴbE{Hriȑv:wy<|o~>0=qῂ>|:'ĿV_8/ xKgȬLNLspZ%}qN|6<#׆5 no_ pxoR.4 hՒ=?L׍}i}ܖ|=xwn߅?7u֝Ova'4!~>0Xiiơd$0_%U4oZ/ƛzĝS >7w_' |B_n~.j~fx״&@6:h2j|ϿT[;Ŀ|*-7ĭg)?g9yH)+;ns{>(486mr5im>O¿(φi~#n~aC.gxs5 ҴϫamSWW(m6f?ٟo#=~(|Ծ.Yh߲>?ǟ |Ko? o?~^R[wI-sۼh~?:>hᏄ?O>+U °|/SZ<去|u[0Z_)YKhn@>f?'{_1[owMO*C>97O:?_ ? ~|MҾ m|EcjӟPti)>movwp>9s⦕d}y>-c7߅_2]yxFÚm7}7ĿO>|[wx>O=xTԍmY~7ë6'DWoUeY/ JaK_ iW Eo~~֯>'ZV/%Mc]*h<Ǿ꺞wS_f]uz*3Þ>t1>9Oԭnm|Ci-=L܀}%OŽ'~.o|q} $B %?46{fK1iIֿOcd o&~MwINmW&o㯈o~|~Z?/ xkzԾ|Bԯ~X6n-Și+|E mRƾ00_j7ߊ Ix2|Pmx[k6m nITc8+ßuN> ( ( ( ( ( ( ( ( (>)M?य़_I?Ol+GBg/7:|Eցx蟵왡C~xž =u}]¶$ш[USMBMG]R4BI]>i֗pV7aXo.u+(@|X묿tP@P@P@P@P@P@P@P@P@oJoof,֊NP@U/??h |/4touLj+?Y摤|a]AυY;˿xsQ?63Q>X@2cP_n c/o^jmGψ?xn O~=O zi$;^-s\_W_: x;~OƏ_|SY.yWWŧ|t/ ug7|e߅~|3GbMxcԼ{1wnWƂĺP~P@?s_ | w~6|G犓QcZ^.*iP܋N-!W ( _Ouʺs>-cGL|SC?/~|~ ^-&|cƛKt&K\/*74o_B?fE<'ssBk]'Z6h?ۯ9xvZ:jz>1~us~ [}8^ƿ% 0|?o/^%4OH Úo<#cxO-j>0|4N;Q^]]jKeiMs2m\S?`VbIkCS5?  ~??__>ZWƭMuj~<>6❄׾"i!|a=|nkW_t60|}/Ŗu/|+Sx{O-Z5} bٝb+"|]+[Nσ='7 *N7|cM|{O{ZͅX^:-7(7/X?hcE7*&#lw$jc_G y(|ZE>?w?xkykOٷ¿ ~2HmƏc '῅_Qյ iùuzO*챧xwR@?i|@Ŀկ+ ⟌|X>|@~oi^;𞥨xGEt#xn&/7'H`xr@~_ xXs/ï 7 ;x, |E&iwgN\3i ?m_|<~ޟgA߃ْO ?QUs_~+~ |M_2֟6cGf~\-w~ (Ew w ?:|mU_s=ley>1xL5Mmb2]Z_[y<}kSwg~ȺWK~]^;xqŻoڛw]g᷉/|!~&Q𶛢&;? k]Fm MGŚ~%8?f"O[[xᆍ?_ WKw c— /4_~a[nY+|Kw_ڿ ?ZYwY]wPi2{F/t)u T/u;] Zw+ EگEx Q~_l~~6Agƿk?e+_U >^5Ο/PA=ޙE]] տb)U|8O~*G7o1? H.th^ 6ws6P@o'bsijc?)#/_OI~A$k~_hw/z4?4p~ҚD~ /77^𯆚Fg ma #XH;?6ڎn7 :0A 7XG3OW%h}/So?~'^ >y0~׿ >6`om$+~~O1m6?l?Ϗ>7/ůWѼ?-_𖙧ö&P֞ cS`Ygҝ77Ŗ~_) Ak":xG[@'km ,})[4ihc(H_k_^[m'7gG⧅t~ߴOK~%uwZHp2m~"O~R^xƾ ~?k>%Þ hOKwxM!}o>|,iSn/׆o|??_>"5j-}wuyqY$fr'xK /O x7/_xL?R|:?)siG a}<+mcS`YgҝgVfO~ҟQ~ ~0^|{ӭ|Kx/]wR-4/2| #Ex[GJZxG _~c'D;~ (?n8G९Coh㧆^0xHk>|o?AoJ|?N{˨0~p~ϿOCKOA~|I/ _ jxo6V&s~/- L3k5-Co] G Kۿ o]ߤ`x_j2wkУ!j_Z}/gjZ!_jػ6l~H+¾e>סGC}A|Wȟ60|)SwZu/|+S?PhZ5} i,ّ-}?@okOڏcZ5Q/|UK>A|D x{N#>83|~ O .)se^gRP{V7O--υopGYV 7wwF?oSծ|U^xzf(m3'mw◉{:>hz/r-PIlOx[dך:4PK>{agt~4|cO?BW%q%?~4PgMO[x_2z\MB[? ßt>,/g_4 uw_ 0֠?kmbI/lfHgrP@P@P@P@P@P@P@P@P@P~|c//*xA*o|8x^ᯉƵjjmE ɹ.پe@( msƯAxWVŘ5tw6m[Q`lnmnТH@-Rw'(:K{~,Ҡ/5/ b^!m>xV/7t]cĐrK_խ [b@> UX9gŸ'&,- ? #X}w>o/%$PAs5mWF OA_ {7?h<+zwkF >]#TWZ=ͅa,yn{OXgBz|duF?#[G w<}G{Yd~ο,%&G:  kcPo؃]<oxTѿjڦ x^//|}=@,%&G='woƿۇ@?7ٟ:K|moƺG4ֿhwQLy= eI,?2?g_x?kct[K~ |5//|du;Ö~0w&|;=G^WZ}s6]\|bYK?`L5{Ow/>)7¶:xP|Y~Yodm&pF,6_Po؃~6_5 ,xs^W5>/Y4-^k[+bՔ{5 '[eO?G JH!!/xিM^/ 񧍼i ~wj#W6n{K-u.n5[im#F?/ ◄n # k/io߁>'bMχ -?-#hm< ~ K>ϋ? ;1g"? tJ:7Y"O&gPS K~G ؟‹!k9 O ##??k Ǖɓh/%$PbYK?`L5z?/Bi~?_Y_9c'}?lG_" Wg\f6>~}IbYK?`L5/%$P`_U?dR_?S/ #´ "_?7|'?,%&G=P&nW+_#[࿌Y]/ƿQWm#NM?,%&G=Ҟ*< :~i>f~TV[GJKx{,u{?퍬BA8yV Y (c7w ]r|Jm|+_xι<+y3Wkmxj/MZofwT忇 J[[P|~{aZx{?0|[uU||e¿{Gg,S6 iz<跚ǡ ^O]Cog/ |?3''o^g %>SiXxW=Ԫ @?oX~G>@(|[>|Sxw<]6?x?3ޣk}o8yDo,]g\Ś]2xREwX: `ࢿE? fOk|m<9⯎ >+'kGᗅ}ٟ<[k?5o~xGҾեhMlѸ^?.h5ωC~?b_$~>gxW뺌N6zi.97kį/ßosѾ5~)WƟ<+? sG?f?P㯂?SgRXVֶڄ,?mG^ ~m'U`_6tOO?f@FM(^0@aV?>sc)o|~7i Qv߇|0/Eus_\~Ȉ<@==ٯ5/ROºiW%?_5 xZʼn(Gmf9yTNO'Vjs ?Ş ּw|A|K;g_~ ~ s.{֏

    FghrpurXC(A(vir9) rep؍ȆHMmbod1sAJȌOQVM'/pro|Pphysٛ8P9).`imilaPbstrP,egasu)troduȞbnorc(a)3.2҇an rameworkFigi2limi memorrȑatextehr (e.g:th)lockomQ'sׅ@2)̓w@RetwQhX̄)ernPCIs (meaRYoynamc4J}$Xni.nYpHwatric numb@ 38ianeous؋B燹Addikr4 ٲOrʎx;i@duHxllowpa㵠ag__[ϼ8nc(erpڽ0em"lign="center"> Figure 2:ogicaliewfhe8sourceanmPrameworknegasusAcceleratorrofilendueueasaryAmsc9peed,emosize,p-outpJso8ruchhyscharacics.hes8@sta dw0pertiesatandhpabilityifferencHbetweeniouPsonnedʍ0system:Xalsobdynamhik Xa,umb0associdomains,tc., anyivtimeis!informHoPapt z.׎wpmpuifromŃGnein0cur8t.!iload73 rՄcPustodȓohiorint@pwiDomAcheduh,as Fhexampl@ǘp` lowiCH2itnotetversubscribedy蠚hestŐjfir`xb8onsȐQwhahsA.7I]ea؏L`toonȜ'$A )ot)K'sLƇwYagq`vailZHw(CUDAЗ: sivapplmetadata).ijexecuIng`P ,ϳץshoulPh>8whiw:au mi؅հ!gr/荌xv g񳸼Aut Kthod#doso,Xa(WnițqubjPubworkȤiir@rĔה711 >8ҵpaay+groujearch: (1)winHaбAfulԲagDhogene+(2bxtșa`c4-ktechniyZadvaQо8eiz޽senviroOrhbeyssocizjYGC41683 >Fig2yu(W8ividu(riv;spoVCPUÝ8`ready{8кtrol˟ߚ{mit ? (s)[c`makecis@ϰȩhyxvisor0يf8exrAga ߱ʯseP)th encngihPh PplatYAdu&349861Y.ɳd迹?o%/feedbackخݽ`@ckSa PalY(waز+r~gopbe KSLO (vi`epھ`)iog..arisupLydescribk1followڃon???;h2T0W"left=siz8+1"4esXMqeyЍնHgeneity-awareypervisors Pegasus@ributestsovel,ederated,ndterogschedulingethodsohubstantiveodyfastorknesourceanagement.ԁpoliciXdescedelow3impljyZDomAUerh`cgorizas onireyi(ractiwithh.'syangeromJeasilyׅmpoffX icgroptAcoordinaa->thatxploitformBhaetweeracceatystems. P=ًXpPdemonstюRachievabwo_s IbfasюHsuch?Holoadi>;specifThe`Kndiquqbkets.Fp???8c1rYpJimgcHex0041pIm"/6GGG 4.1OrɄpe3"rdotppor@VdX,imit'og0ώϪª}N~!bp(None) ![first-come-[ve](vi8unjЖpasmai@螟rourobhn!hl9NVIDIArume/drXay0hqllqu.p1Ш`߁߮Pureכ׷ pAccC(YɒBxir-Ae]ognizdiQ(xpsѽjbioxrsWㄚӏoci"ҏ{0whi*Y!l y1 Pi,makrgи珊ψȐow3ٿ ߻8ppȣ!9seudod``nAlthm 1,xs۾мea u d l1finishwardnumbXickF`tance(Ɍts (1,1024),j2,512d3,256I4be 4, 2,Pxt@ly''WgOggǯBecaǢAPegasP㎨ :exitlyaofretȻeasdeЏ٭茰racurhhcexr) PablaoYeWre؄aqprC;EhR0atoWhNoa imu@! (1) rP/Ғ҈awyc(sؚ1)ǷǪϾ8ncerpھimgcindex0042Image"/6GGG h3GWW7WWWVѼehhȕordinhVCPU1[o`execuѭ  (comprifoho` s)( ucif8munʷHasŷssamemplebsmodcrib!0wws7Strict-G (CoSlPncyZbyccasunfairness]!l9vМ˾r-9лkabЀy≈trolverchedulingoheyper-visor.ere,cceleratororesrereatedslavhost#,atCPUnX\̂tsamime.hisolicyorkharticularlell`lncy-sensitiverloadsikeertaininancialrocesscodP[24] barririchQallelppations.t implemenby HmittՊʇrconthowomA@ n hAlgorithm 2.ƌ'yS',.e.,posXout8soeptuatardredit-basp

    4.3ȉCoord8PiesAnssu{(-ϏpoPt unfairn Ae@llowmeh`WacKipЏamakٝ7ecis h haninLm:򈧈LAugT (C) ![througr temporaryo]gobeyoty1roaccCusaȒ etweenAW (Xen) atoYtHeoms Ha GPUonab coߝYe H_]+iq$7!aint؞(nIupcomAiod,SreYz2sʧ.__Zq0ad`ijpr/li(y "bχnext:)4!h ofԎ=i4cL}uɩaZcPg׸9Wheff[/*e'askp_resUqR;o hpc 8XdeniIntuturn 矪''''SLAeedbackmeetoSqui@s (8F]ǯ -sharekdapt#Be??m 1d<. (1)כtӯ`SLO0fina(@rofd)iexp{tilize.g0.5secɬP82)ozmXJؾEbعYte1l@Qeyй8nd5ZssXduи.ɋظx umD韓aeq3)ŗ so`AocidOPscanpoviol 貸*:φghntrakYens*onr(ycle4)2loaZbyriggρIvoidwhiSQworhc,!ɷŲҢaQjlowWoaxlonoq׭ԊgXX8Y*5ߡߡߡߡߡߡߡߡߡFrn@lityyϺ(Ialpi9Aed:RourobRR¡犅syvisYnde(hXenoC(XC9similaexcepȃ Hn͛WWM,0kaoinicy{h2.20"left}sizx+1"Ϯ5ysɌ5: h2wTuгPegasuXGzXࠌ NVIDIAA asulounagiwārame@k贩3.`runnomA (i.e.,a0theurrentmplemPation),showFigure 2.

    DiscovxngPUsnduestomains
    :managramework llfRpresBsystem1semblesiircpossacudaGetDeviceProperties()ۊ303740 >28]pHregimthPegasusyviso8chedulAextenss.henew(created,؁add,tot߂ߋqueue.urwwk,"urn,DžbyonitoRSXeSƐOgolicR,ccCx 1SLAFJNedtimeЕals,oneck؍valqu0_'sPU}.hesahlWfeach, Qik8oGrupt YcthfuncqPxerunomo8sponddy+aAlgthm 1.ugCBCoe5backeaJ`m7hck lР]xJQvid`ך)describ` Se{4.tnleepP‰wop)puxok&(ssPH[uni `ɩ  yXhtricШ[ximumumbfsupporYNCRaaoslimit,ulHPboun/pri1izHpliPsTwntirelyff@P籭HAIcroto XHceЍHt>x861exchengIGDnsuas: (1)data@e1oxh etwewPo!atakif8yk-?,ȺٟǧлP`pa؇͎? (2)ow58zd( vX'Kpiods?Corn`,uк3ϰaypi)zV-PǨAxhijо oJrqM㹈i .(21oeabѡ輘gawdeciܼpmadpng7?FOc;elay»`oaJaj:sa)co- d5Huc@@oB)@qour.iVIDIA`oc|؊variþOu@lr`di8soluZZBexecuso1run UDAll@sY@񺐾ʹp2granulhtȒ"ع siQl8Z!Е0ddoؠXRromSHigȺQr,(rp11lorqworkloadGGGDh2\0_"leftEs="+1"6xlvalu

    <8e="0em"> Tbed
    :llxpm8ahvalur)nductЇ(aystemmprix(1)2.5GHzehquad-coproc`orHth 3GBemorynd (2nVIDIA 9800TXrd2PU`the169.09r9.ԀXen 3.2.1y`vi2.6.18inuxernelҌzinom0rguoma.ǀ` 512M1CXeach, latpinn[certphysics,epengь'sXɋΐh3^Rleftenchmark{AppKYh3߃ߔ߄/ߔߔߔPegasuss-xextePveet!bQemuڞ00!mplexutZɗidplikerweb-ba2magfanearlig`clude*parKrequir)lleveldevifhsyronoexecu,6tugh -[.4tih Table 1,d!fy@m1longo!(boilui[OJ304383 >30!] CUDADK 1.1OkLHmancHtudgoy8unniduure ixhaavarJneeddiffbe@iduHoattiz2xrans؈`rC .mАiQwaod`0 degre"coubetwe`rs@ccelJhkIspecly.ħiutG_zȘmade,jo-ȠMC,Op,I@اy7FWTsȗic$3)om?24"WWS''="8c2p2a` imyc`ex(0x9Iq"/n\blockqu0t:umf/s6.2HYV(h34_?_0qPeg#depicٽ8FigHs 3(a)-(c),߿ ǾǾǾ.esulshow6(pup)k߫gnp趁 MtDom0cf𥷧mtbyH!U:؜ցe)Ya09totgb(TT@)q (Cudacross 50!"each. n' llHith*Ϗ}Xiy󍟱non-VsettF1{13764 > 39)1fouoeniԲavoiz0iYac!s,;mpinnn(paxeKexperimentseportedn Figure 3(b)avenly 1oenablandhxecution0snot rag`oHultipleuns,ithacke@restartory9.his donereasonsplainHnext.llasusequalumbofhysicGPUDom0ȅsanyjps*i-1VM2.

    Anteingbva*aboutɇHthatome*,tbet0ovirtizrahhnon-cceltors/beca(1)Pegasussoftw!c8benefXfromjconcurrencyeenus1diff`ېi guXdom؎,(2)urbadvant#dvXaddi!cachfataue a0ntX(nAAMproces(NVIDIA9rofirm////)hichhowshheadsHY}stoppHbep09emJsoU;epeedupb@ay,Op PIJjnc_XSQRPES8GGGEa)ocRPlspplȤ,؅h/TBS/SemphasizuQe@쩈CUDA.Ɍj@,ӗKQp@fO`wyy"i'smadפפԤǤ8fcerpҥ|a 6.3esourManp9سh3Tamework sPdulcoordinmakȦpsib`impoiXmeeɮŝo(Cxhl0we &xricZe`%describkSec4eyludroughp(QuXity/seci>t--sve,Rdone_X(umalcul3QPlivi\totnh/(3)O(LK)bP @s\rr[jfun{#3`ccoutat no!ntrol ҴD0rsep)7z775ExPnAMethodology9:odu!௒gqϳaVMonly󼨯Hchmark.ų sa `tx1˾involla‰iظpedƎeleratharHs2, 3,4maiKtrans1ʏf Forrevity,heesultshownnipectionocus HYBSenchmark,Xcausef (1) closenessoalorldinancikloads, (2tunableeracouargumethataries2CPU-GPU9plingndanighheYefcoord(3{easilydataiz0hPe Cmputmplex(4,hrough@sellAlatypnsitive ure.ddonreportUare8eHikeicSer,FWTyerspecificpehng/diffhcasethraphc ithowegre"|y. )exp assqucreBa`domainwe`otl(RRAccC,yHivaloClso@fccel<@eЄ.

    ObpvdوarXstag ZCUDArr1roducsubntY|executqhdy`iy(NoVirtraphFigX 9).Ԣd a rsa50u@rSh啀1h-spd306827 id="FN1sup>1Mcu(@vema, |aع'N'[!S dulXneeѾrs:637643(c@Я;hмݻa) 0Dom0hvuzgtٚf(1VMg1ɄNspupe(ҿiviBwI. 2H2ɠs輠nن+Zpec oJ},ind9𸰚Hb0v9Gk :,.e.0ca`f;ׄB9wosMecX#Backe R0poylefaYo+xie256e0l*schedulingsmportantoceontentionnheVIDIArivernduselpsinimizerresult performandegrada.easurem8s!udaimeTotalz,hichqametricsedFigHs 3(a)-(b).

    WepeculatqsharqoheadsuldQdur8rfegsasxnorrol*wayPUiourca8.ddibenefi(m@seromrd dwsup:accelerator, extHfut8f[27]'''''''''#HCoordinahcea:ithnrag3s{)s`leR eweextrHwQRsophixcdolicixdescrib#Sq4.narxHlackScholP(outpuop!ț`he Ithroughbyρk/sec)Hn 512meernelaun#axrgumbhofUDAlls,HhZee PU-1p.Ԉptivs8als:ncyTse+BSA:insGࣉcOly:tрxco*demt0)80aXc(,on(showsvRworXcer`ugCCo@؂ybestOIu8oirȏfwJ4؂ij`d eɄnoma@@equc@aߘruntIPs 2xllitQ؉qa$. 27636# 48\d؟8uj luMwUl@eier.h؍[SLAFٛ pendgRnttemp Ӗ,iy ?pt 33%8 x#maqad(4%-20%uz:GS\PDom1JH3otk P@b)ɩ becaz`owл姥iimmgo۠PckeadPco-lo)֥'"ff+ @ȃ|(yo2ntrol)BRW0b,ut)xloyJscenHoblityata ȠHugg԰Afpq!prz j0 modڦ(4y1chfurPrݮ(ge706f5aW`g1g9A (1) (,256), (22,(33,10241(44p(lyce2supOap`Y{G?߇ݝ@,cPceedܽ2.4X 14moZ(ۻ2ɝ@imumaxbq3Xa2XX׈Ӓ+Ÿsometslet@y (e.g.ݶdeBɹXYe)tiupclٰаo¼Ńoi)fY!ia鳠n-sh:o໲ul¹''XcppộᾨagIcu!d3ntiliTn[t''cѹ@z␨:ȓ0sayzorarynfairness?gfeowq twoomains.inalnterestingoteshatchedulbecomesessmportanthencceleratorsre)ighlytilized,svidefromthereasuremsreed e.

    CoordPtionspechpro1credit sj:hehouxp؆{usequamou ofoorndPUs,utpenxl,JalluMe؂xurpo؆cp@ourh.eemonste8ffdisPryllocꆙ)BSnchmark, c0asiconfigdariableGexect as؀Ɋ`cYnumb`cqpPop9I?idy#,#/6.ach [@diryom# AccC,XC,SLA'nׅׅThПPulh@=Qt1Gؠ:i  1024,256,0.2ϋunnь2mi,128GGB, GǏDž,0.GDžǒ51OŐ@3OWWd ϕϋOO??>(癟XI4768ww.6GG`sXds2mill0dzdzdzǴk8fcerpҴ|0󤗤7mO_^bkqui'">F 4:ermaʦ-schedul9Y ![BS]Sůf۹pwuyNJNJNJNJNjߊǯWU:Wǎ???OǎNJNJNJNJ5NJĊwwrC1=y2=(=BϷ4675!ace="spf">Rdepicttotworknemt@epatPordind7gethoAugCoS!Гbet`HthwnN

    Coordinasm!aioratencyensveodes: Figure 8rrobor`surarliertmeabouth(aculareed2c'n0th-intolery.henWTarun`lomains,prst+equalPUG@credit0PTdiffer!I ,tapІYthat None (nochedul`)nPHri.pecific y,sPϊϊϊʁЃZm uc8ow8+iҎvahsn .no0rtpo8ڍ)zQDom2ҀH3 XmoX2, pitigce i0lueIexceptR (whio).h secauHτucuntilpќ t9virAizSoverheadeaf longact@by8gee mae*oottimbttribuQtoJB sBdrpr''''''''''i>Sway򡸡袈u 6oUeaobvQwaorkload!क़h`@IP:Xwp`gr`ofw+(7284419o)s,4vidJʖebe)sabi!~S`pȆPegasufrom:'NoV'arrf) аfutQۂoplicitlyHбvia"monitorblishrackt!duh)[îxdLjovoid󧩂_eodoB΍f;gOZuwoᖠ`fqܲs÷faixImeXrz Sg0r!_zeغexhibɕtloacce𐕿Ƚo ulomlpho(p)caH'ϼSI984695 >Te 2㸩o7xes.S)MSweepҧpښ' 㾸ggtMcleanut!non-exi`.ؾkernemadzhyXvisCPUggpdcc0H1{}.s (rsmPlikeR,C,LAF)!o(beHϹuȻuÌ݃SAugCCocoinȷp9!GAIiS8Ncerpd0gAbnromheable,ZPegasusackendomponentsaveowverhead.orxampXCees ∼0.5mserchedulPcallacceator,"aredoypi@ecutionimefUDApplsbetween 250x500Qawith4ingiod3.Ԉ(mosthpensiH,;anƄa,1ms,sS8hichunce8ycond.

    Slexorkloads:hxevalu0poi ӐicSe1reeual-cor512MBuespourhbeXOneM (Dom2)usfphritYrviȍم gPn 1024i01PUlremaintw r ss256,h).2ilaty-sYth˕0VMs`9boutQoughput. 'irtaxbecaPUdyulti. Figu7(a)owragI5 (Pixels/蚩inHiffersizesx!`ea @f.יhooxAugCbCo!hؕhɚI-߃c9NЙprovidse0SLAF enhad s dmQtrImAM6esnsowhat񦀙eږi.ޕq}piRcОPzXrsas8uQAnAǐǐǐb). Noggonoerxmll.͝en(lly(leaacoordin`{ͨHb0cmeeR[qui-ЭϭȜQpRɩoooo8c8erpz$0'aX imgcindexh0052I"/nblockquox'"9: ![CP]T؁759G߈߈߈߈߉߈߈3߈ߵWWߌ߈߈ߍ">TabX2:ackeؾtؼGPh3׍oOhleftWWQ6.4iscu onh3Ͽ Exial!kZegasuph9 qntlyirtPiCd iry.żyiccceat;um ) bXf d@vȨa#PegasuschedulingsesloballatformnowledgevailablPtypervisorevel,ndtsmplementationeneffromr-fficien nermsfesourcccesscontrol.ult,irectlyddȆAerprisȁlou mputasystePwhichirtualizisrevalH.e@clearly,ethodsike XЊcanlsoІ(edOSUparticulq ( eigh andomaer~Pnotetm@.n)wxcurrPȉstrucaUDAx ibrarsnon-ved,Pveues9es0!to9deployXolkoшhsc Ke(l machine.

    7҄ thWork10]axbdesHPi0睸cw(e.g.i(,o؜4#1Helio}319 >26{chanQR Љ#hadvdi0imosllite k{proPgroupplya`retexoSack,sGadaptڡ0rundeHhardwf` rag fesapp hown2o0rex8ZHJjsOOEGCri wqGPUW ЙOpenGLPIw12921s2D-3Dapߵ(DX,VGA)059GGнhP<emadi-jVCPUun9Ѥrpu* .h؏>ut뺈i@Ap `ermGViM84503⧉smamthHmvHe!QoS-aYߡКtڷ!pghI,Xopxenga edXafouitb!GPQ¿ncy-(th(- sXerX@c//׷Wh`milarceptdiffromصQatal,Iipd1min9c)dicbeA\0e-ge@lyrol-ȽȄYxt§ptechniquPhרW092S.?󊃽im;trࠬg'gn6495 >3lm(1)acros H.e.,ۢ8gpبqo` (زx蜈Ŀpi(2)XcahlHidxPbyloaz{awurr穹pПXanyͺ͓|ggmcafaskew@tweaɵon,PiXimhsolwl`ckyissueǻReA冩likeip2031B|`tiqgO954IdbPdribuaskƸSu!i$r could(hbif.p@)hardupportorccelerator-levelontexts,Usolation,nd -switching27]ayelpnermsfoadalanc!oppunitiesBmoremantly,tilldmprovepshar297059 >9.

    8onclus8FutuWorkwvddpC2߼ppcy-izɄyp+boȊl:nHt2`؜n༨8譠Het0li`Infinib@Despiah9Scurr*ϘBonXzbulschi跀rɛmg8Բ*{oh2."leftmsizh+1"AcknowledgMAZONoooohISPASS
    (Boston,SA, 2009). [3]ARHAMONDHUGULA/Uo>ҟOR.elieveɜrot!͓!-CPUsanatchPermanc[FLOP-intensi@Applic!ech.epoRC24982,BM..atsXRese @r,10ǩǩǩǩǩǩǩǩǩǩǩǩǩǩ7]éHISNALF.IDefinitaGuideoQHypervii, 1sted.iH88]IAMOG/>ٳ]LACHILIS.`rmony:nxecuRumHeogeneousnyæS缁HPDCotopicsϼϊؼϼϼϼϼϼϼϼϼϼϼϼϼϼϼ9OWTYM>Ӿ4UGERG؝YVWVMware'spd/OeuWIOVsSDiegoO׼OOOOOOOOOOOOOL10]ƹDOROVZK]MW,ր>AZEMPOUGWW.ypr8chedul9InfrastruGa*-*%MMC1]ǴVI˴TODOSIUDhHEANGYGXularsco: `ouragem0svlpers!shd-memoryiprocorSOSPCxle 19992UEVARREG'Ë LWOO֍˗.nabTaskarelismnrCUDePMEqRal 3UPT—eAVRILOVSKCHWߊGViM:-accea$h0ne'PCNmberg0er0y׶H47eXNIDIصEMBEз߬/7le:̽IwzxecurEnonjYAor-basSy mTech.epIT-CERCS-10-03,Ǻeorgiaech, 2010. [15]EINIGACCFS -peratingystemntegonfomputzalccelorssaւHApproachIND7жzPalacios:NewouxHchineonitor cbleȿxer1eHmpupgPDP Btlant(Ƕǿ϶ǶǶǶǶǶǶǶǶǶǶǶǢ3UKC.- HUNGyǶƸIMQilin:xploiQllelism hePogeneousultiprocessors@thdaptiveappo>Micro-42ÎYork׷׷׷׷׷׷׷׷׷׷׷׷׷׷׮54]ͭeRCI,ŷCICEiniApplooo/www.t0ce>9 10xriva(munǷǷǷǷǷǷǷǷǷǷǷǷǷǷ5ICROSOFTUORPWha0shotosynth?׉׉p.net/about.aspx.6]ΩGHTINGALyB'>ODSOg϶HMCISOSP
    (Bigky,SA, 2009). [27]VIDIAÉlOR'sextLjrationUDompuArchXcture:ermi. gggger) Irfanhmad AjayulatiliPshtizadehVM,nc.,alo to,A 94304__Yh2ggggggiz`+1"Abstract?_[h2\4"justifyߙ>IiruptoalescisellnownndrovenechniquereduCPUtiltionh`cess1hX@atesnetworks|crollers.iكhaayerfhardrtheuestpe1system,osei㡘bedy2hyvisor.nPtunly,xisasq-resolptim notX`ic%djs,to9irXrHrhead. paeesdes implem`ha~ (vIC)chϯSCSI/Bx/שװwbwwOJWenumb+m(f8hXi>roms@!currɱӁdynam lyegrePfg.omp dِ5,ur doxrߑߕ^-de^thus쐰xoeryffici gFurPrmoߠgencLe@pplblsYuphich,nlik8hon' ceivnonymoبi. alsopopmhJ-ĥNs (IPIs)sul(betʡȒhpdurq(io)<vity.ώP_]Oh@be`shippwith 3SX2009evalu#showA:0ronchmarkRup18%CnPC-C5%Oþowrleft'''>1 W7">TP?߶decre"hadiPylapadTdsuppʲ׷XT!o~_sP ndeployP!nsPnׄosthMan`maXxerpria9dexhibitexa,ns1{9loqiss8hund smx܇0Ьhel҇thxڸ1edOPS).uchPS\wҶ0 evTrgan֝*fHor`idồ0id-sis(SSD0Pnt-eAi@XarrayRoƒz8XSA0άAN)X-AtthH}(NAS)tocols7777777775Q蒀CPU*l9J8"gظɾɿalackur!߼Xtself71, 3101 >14)].7AH(a!my{cenaPYQ@ryqxHs yNminPo(hysXloxsiȞHree upÀPUesourcesromneirtualachi(VM)illmproveerformanceftherMs `ameost.raditionally,nterruptoalescingroderaAaseensedetworkndtoragentrollcardsoimitnumbtimthatpplic#execurisxby devihleOmpleYs.uchgechniqu@haxefualZaxncreaselatencythҋdffici:dufew^s.

    Irdwrs,-gra0dZrs )Ս0junckeepupouXd@/Ano'P͐oiaayvisYrjpieinzHavoidongdelayThXblemcheng hevll)Hcludsi(hmtȅsmdizhustr`bQ(na.ׁeI_[Aload unopa8lackPxalsssuearliȝgt. @@iei`yuick[6, 1747 >10]ta,argeK(/asjouanyؔ2wwush0 lcK߬ܮ) woxr(hneoЦ}d:ximuxpi(MIDL)uԮ)uX(MCC)erެ8(efqwahbe@enrepd_0accumuSd'#*-oXsyPm (OSOSwhichoyh(JPxЪpvel󄈊 b Ax9`itet&#acurr!Hfh CIF)Cخlh2,dRs`{Jhowyλ/ʓHkxidSacҵjrwlfY.Θ 0R≤ 1.owval9Ӂ% ڵgrengwhen 8l8de4㏿ǷtxǬǬǬǬǬǬǬǬǬâkeys謒9unlik(e(IO,HuIdcI*torxǫbecaPxcq hisp Ėar.`,7"@c*UHm1a3maP epo'&effplizunderly ǵh߻409 >9߽Ͻ21011׾Ǿ58423ӰbenefiX uʸweknownIO:`moarray7{ɌY9 nȊiOOPDкap :!su(ynchronous.ela:ߵ`ˇ YaKShfutuponsn`ؾcXfulbouinimiz5EgggggggggcUblwddspeciؿJ￐tackⷀh`nz,rXʾތΌVMHyоxȞɿ0-$ (IPIsPU#rardwAnmrem1VMArunnQAurPSIoptYa€tionoeduceheumberfPIsssuedsingtimestamplastnterrupt atasenpoguS.his|soverallǃwhileoundlatencynotify၀tnOomple .

    Weave郉mourirtual焠alescY(vIC)echniqVMwareSXypervisor21]oughybeppliЎanyor`clu 18Y2 wephardbstoragentrollers.xXnta*withᏨtmicro0nchmarkhhowȇszr@x(workloahrpdPUjheadyh"byp18%. alsovaluagainTPC-Cafsy5T81discussphe@beu)s`rPtomXcurrly`ippy)s'''''''''&nextcpre ackgH `ӔHarchi@tuQsystemodelo,mocisAobefini؄+3?deshٚPmanismהsac@cernAn `ensi܁ɏǪtH84,Pllowrsons@arnfromjdeployؚ٧Xnآl筠5/6gЪyview %_QlQdihasrujs 7R8psp9velyh20"leftsiz+1"?92ӒMx86
    strukGA?emuLh 0ma %devi.t"p:equi0a پ퇗!lprivhgo СYaٽXdжmcoƼ˔{ܲ__gooooooUapos=0320409 >Fig!1(ow@executArage@deCPU]r)exa//sOOOϼ陙orȽ;f*,heٳcea&adap( (1)Xp؆~';x` x9le(2)waypUvSCSIub$whicharrȠ8Hi.Ť2sh(QppyXea Gaozaueue (3) #it8ys-T_ 0IPI (4)ynoHucpiٝrOɹnH5(6esulfin0 3Obe;r(7)״כw״״׸Wou)plcosc,`s[P-thg(d +IO.́ojsom`*߿dy(thanhelpXIOrb-to-A^!r@ihdow8 guestȻrhhacpdesü O )/a1safp 3ˏ%OPhiÀle.oimitnyatencymplicationsfMotnteringntoheM,JVMkernelillaken fwoc.t scheduledf `ised.σPrwise, bothand F 1:֐IDechanismXhaisktes,`fir(1)romhyspdapkarticularЁ CPU (P0) C`dli]X[apidevid(2).ȏ0:yustorackcWunO9 (vSCSI)|GbOSymichmipxpondyMachixMonix (؃xpd(shpdwnueأ(3)#8cu@nt 2-dZ(J)tar A?knowzrunn(4TO 71*hav9sp lעiwaqrem'A`ɶ(5)%GOiU"hobuXs (HBAs),ڨizt6ѫ_]dy/ (7) 7WU1g 訬 Ϥͫace="if">Basټde9cribHabov Xwoeffici`ḭ@mFir_oh辿vsp/VMkernelhlikcoal𸢷 odu$rhead@hes.ec,s9Yumaiʺ.trabldra)7mio @tra be)齨up_M.th8needJd!withouhelp9fgrȨsca0 @hibvepensia/r@Q llengl(summar ps:Howntroj|yٹUlojroughput?3ICĦR ؑh2 PҋsobHgX~/ײlwhannot Lhen onm.κȏ/,apaȝ(llllow/detaileاiscussٹiss@.3א///>3.1Š3ϹϹϹϓϹϹϹϹW Àimplementednhysicalardwareontrollers,terruptalescingenerallyakessefighesolutionim oaphemountaextraatencyat__g킠roduce.uchՄowʅdirectdIDL (maximumeliveryU)nddaMCC)as)urrx.ora9,anfiguacesppAarrivalPpu:byɌOL(omevicknowoaabl`incrsy؀Bmicroseds.

    WW田dedyIOrosowhepfirmڕPndheayneellainQΗurhvisXqismeetGonss.owe؜y8rpxp tysystem hyos_o!nsiddeasigramyaPPtP9rsPTXciCPUsIooʐאאӐǐǐǐǐǐǐIfoGA (/j7oirtunȂiouldfohȜ7C/(sˊ0100 μsoQhahibitmanphacCbotHrmheicosZrunnoft*ǘuP ous®ؐ,Xst-Y-orүwitchQOea8m.cohrn,ͣhindows 7ypIseup.go(Я15.6 0m:01speVMZESX׃fhrang‚>10ם8`oprnl-shCjagnitudeػw½ H@tora迧n__Kh3dieleftOO>3.2urpA llf)coGqs0ڲiiore)oHҼ88wa(havoilimiincIIڪ>cgxdra.issuHgs rPSDsOde ۸Jʫj@ = 1,uJay)ZurTgToȅ2 guidaNhiXdm0 80ɠbhav{workload.Ƶxa,wg 4Hx 32Qst࿡mnbroblem pakeep4busyRe28#`k0]7 2Rl4gulHĻ(urcgett!fulizeThuv!>1inP por̕value.ը*botPimzv€alue,er bleorovideffectiveoalescingorvarietyforkloads.

    TheQpthreeainarameterssed ou8lgorithm:ulli>iopsTsholdi>OPSpelowhicho`rupt/gsonehcifCIFaepochPoTTimexfl0re-e1ateelryatio,rd0reactyIchangVM/׎׎׎׎׎׎Ѝpeesbne!odesWWWWS0WWWV(1) Low- (R= 1):יurpffIC3achievH oughput)< rrHq-.ecallatQdotaasolur.ɜidhenziouldir~薈usd1miX2heonXxmpleytooong.eysZh‸teRBcPu @e(80fue-ntrgQc1cc rolxtra엀ncyFexa,c(20,000ean8ra؜xwiPbb're)y 50 μXsOpdefaul8`P2i' ؆9rstdIamoux (,decsesؤ'athiskeepem currumb`hj$pby硔2СqoutstandIOs (P) nfigur)OOw tR(ҚPvsBinpc1rick ȱ8Su{Zsȇ۵ pendnd禀rrissђ amY_OJ#8cerp2_dJhi"i>oneRi ߁ifhЪdǫwouacg)2)aX8Hu@sQc鎣_zWx_@ld)maixw)aphstopgh/yeayyhroughput؛`rbecaxrger4?????????<3:Varibhd9:etCr1׼ynam9eng2bialaCPUffiйag`bapغddespڧ0turn8wchiev€edhroughput.eiscussuromationf Rext.

    3.2.1ynamicdjustmeH`Delivery҄WhichisickHdependspxtheumberъHmainht (CIF) Zconfigu`pcifThreshold.s creases,eaveoreoomoalesce.ororkloawithultipletstingO`raHlayʁelleyHabHatizґ`sʇinterrupteiiorocethane{exam,[valus 24,ven؇M 3timapplicwi0R21rЍstoragevioeep8usy䒿In ciÛ>twoapissues@olvirXannothoosnbifracal7i1jAcau( lackftpolculZ)VMM@dpSe0d,(s form 1/ x"bd؎couwoulyqonpTy-Jvaillgormdbe (100%, 5)25P12.9...).ԞjumpЛ0Yow@o1ualoorac.nsteaXf@yoM(datudsPcJneE+Panyw@6.xQrdd1К)h顸setЯ"fieldUpRskipUp,䬛tp((τʈ tuit`lyd ()QȮx(#)'8i.R =/cyϡʆ$80~= 4y5 "asqÁo 1'z6. T1 wfuXranhsnn1.«pllow;xtwer[ؼtrolR'oXsmh8___8c`erypim(ndexH0056YIm"/6GGGϽϫϽϽ">1ct笠 deminxa󽢙uppfficiqƾSaߐolǨ⬟n9ifThhoxop-s.ξQdiscu>tomecismom0PmizscomggSh3 nleftWW>3.2.2į)HreeQat)eICei8g@workload"9.prCRec()ӿߺr|PCz''"7">achecknewQbebaIuandhappenHimmediH-׹Hs Ҽhmansoftwsystemzorabёsize (boplH"(LoC)byt>.t8ȀklXBhav`ulI鿘hʚ%no}@irtualwȾ/ .ijȰ zi(aPe߉yюhkѲP`Qimumumb)f ]{cHfullan"c€enter">

    Table 1:efaultrupteliveryatio (R)suncnfIF. cifThresholdYsetohe#4.Inlgorithm 2,2ou anbstractumberhat :sprom 1illUp Lingaeachme.Ɉ henntinuesBskipUp1hi؀pقwinally,ncer,s8yback1Xowߏry.̍usook twoxampl aricߏvalIhmoreOsme,h8eeЍU򔟓tu(D,U?}orp/4h3/4DŽ҇0ike:HOO pG7g770WefR01/5磊׬wwߓgߐ􎇸__GϹGﺇǺǻ7W//5__WNexteop0iz9nlatedredu@gܥPIPaMuh@eצ?h3yleftǺ>3.3҅Ph3g aa>SoH`have0scribѲPmechanismvirtualainsideVMM.`0inec2llFigu1Ipnopinvolv}AESXkernel. cx1learomrdwacroll»dlXbyQ̅9PeBnscrequiHȈcas{g`urrlyunne@moterocessor.inceexpeveJwould2voirm d:l`tinic;ce.΃ˆ`PywryexecuR|waySsuchp0a ncy_YcoctnQguaraeson'tngnqsʅ}fgetمdnyqQalheckӑsOO?ט300662howaddi(datlowmputۜhysystcjishur瞨IƩQ.ԫprimacKa,OSxPcsduَu Raskhi8mؑuln!eivcept.ɘworY,&wauإczbemise@d9Q`a*o4d75So,ߤ񜽥ᩰ@hsiblxhؿsoound]rr׻׻׻׻׻׻<€fontace="serif">Wentroducesartfhehared (aetweenVMMnddkernelhereompletionueuesanaged,ewime-stampUlastpostnOnirtualerrupojght (setlineIAlgorithm 2). xaddR p (3.5)0befofiringrPI,Hheck2curreagain`whadhla.ɋsdiff@nhisЇ8h@anfigurablIresholxy.ύrwiseZgivNJoppo(nitynoti?syduurs@ntswn.ec4.5rovid0expm@evalua*TimpacŠela؆ yes.

    3.4ɕ J2C@.texbċ9on8400yt!ldatasXwp104ӞX؋ch HLSIogicmul;M2lesX120hC0larlyۜ9coaHclfHw8  52sh="+1"G4ţolţn?92/??'??ToÝbpHachhaxexaйsrmicro-bhmarkmawork0dYeЀ+qoutWgҁcAu#o heaoft1ssoci؃~gBroughp(IOPS񞸾s,n*dp;(amexHsetfows: cifT} = 4,iops׀20epochPo0msAb(TPC-CWwXuPСiapDL-380h@4al-coAMD 2xGHz1cA(tthLarr@EMCLARiiONX3-40ӒHym9ful@c3LUNFibCȝHBusɂфѢ4GbAd׻מGͼ*Dnxub\0discuesulIo#P%(S4.1.άpZc utilizLmPv(kቀetailak-dowPavЃ4.2^3esС|Y仳twoQLOZ,h(IOGS-BlasHHin@D9lex-lik4 םצulookaC-aloʹct'@Uh3o>ВW WQ3-WW׵ױWWW8ThE[1]?nͲsתاQ3zopJxildVMwESXxrx3òcis4KBquiസissu@x:giPUnipd :)IhittB'sX`pirycQ;0oAޝdiexcediffXXblockxzf 8KBbvariumbؿxstIOhoզ;zl؋bpÀos=0345048 >Table 2,ehowheullatrixfurestesultso@4KBorkload.urrmore, Rseco;34KsQ$CPUyc"IO@sozp78.4K64.0Khichy(efficiencyaH18%. In s 4:5show`be(but !8y.Ư ś҈7,a 7%yF1lin tLdzP3011K____^boߐ$7887 >4 )a0ticeucnaǷwhen!(ienqWwouldike@kroughpт:decsɋ3manyJctu:in-si8antly߹߹߹h3g_?Pleft>4.2iUsB@kdownȾh3g5sequiظ뚀 ,exn𗪆-ptw1VMMJKOSuwr51032u6moor'bridgktsVMK_V(_HALT.

    T6:MMoٻ"8KBqui(Pdɺ .arown:spȾy[+avity4ngcorlQ@dspЄisغon@y匀ri]changedG??///G///5//?/׻׏//-7:С rovemIG;HnXIOPSCPUfficiNjǹǹǹǹǹǹ<le=H0351517 1howsXɿhizmacro-=8WnSinc̓vICy n 17%xxviousosйyfo@79co()de(17.4%Ͻ16.6~)϶϶϶<€h3eight="1em"idth="0aalign="left">4.4PC-Corkload
    Theesultseenorave foricrondaQbenchmarks@thlativelyimple4rrs.herea0uchata灐ssnsр@toupsideotentialfIC,eӁ@put`a㊘ext9aarge,IxppliconpermsutӄwellAIOhehosJevaluateurystem `qerntestbedF!e 3togSeibuPBcerta끬;I ʩȂ>vaBd8calJ1Mqu߶(ȳunzFno©环OFurr,o-278.4rXs[plotgH//ÊxXcahaiods IOurstsht,numeH8sʕoh kdelr (Rn 1812wTll(1s elf-adaptabil 2ven !Wnecap8s`sfymplexl-EǺǺǺǟ/aul:gg,jeЊcAyirtualx[8ghrom 9.9KA6.4KR5.8K. 嘰icn؃IOPShi(d3 rraj0 xplg;#rdll sm (q rs)inySuaa' bee`emdqearliw€orkoncreasehroughput11].

    Anyinarallelismssoccompaniedynxpectxnverageatency׆׆׆hXlains theulkf8betweenno-vICPd"`-enablrowsI54099 >T1 8.owe,neouldertfrom8terruptoalescinggorithm.nur㏠,esbesXhewundrmicroseconds.s1taneousOPS,IFRccalcumedelaTX.orc`atTdiciy = 1/3fachipp10Ktdment,瘁200 μ s!8c0er)p0ǁFigure 4:8蒥elvirtual''8 ,G،jTPC-hpyna nillYiqrnoutdQIOs=wloadresulgldaptation)device_Priv_Lsi0ic_IO4.5PISfere:-boux`b \h3ggw/ߠ//,ReɕXdxribcop_ot X"casЎaGa3ordyo( )impqZ(VMs(S3.3)0@s,fi8pꅗѓS Ztlc baY2 nIselos inti An ncyroughphGo(Zvidatollٿdifficٜde-offytwocerns^gggfX@itjidl½iorit(laeffEiv"BXlenBald0dlϭϭϩ_pt€="8"lign="center">

    Figure 5:ffectfiXrPIendhresholds.hislotllratese Xde-offnOoughput(CPUfficiencyQtwoo-runninghmarks,searykeyaramex:rorkloadsЂns 2-vAWows 2003uest녰erformance wnverticalars o, 1 Q8IO8KexfromullyachedmallUN.ŀdataoi@aȌ50nsecutivplee-boupHSMPsi@HyiwhiItiontalcul 1Mgits!pi8virtuprocessoБ

    5eployŅencepvscsiiopsThhold
    dQcapJp r,,xtwɂ1/2V1aHs8,Xsed.זh0g8s, ȗ71XPwxsubsequb1zfeel㢂rv d+霐eszowwwppro acful,racpXtechni(7hrov)!ȵ@(lo`coPIO)ouaȣБښqs (thrpncy)CTkessWWch@XpoHiڭ8s`IOYp@pPȭstudibovA8Xl質(IO҉8eymɕIblockAittlong0dW cpѵd0鄘ric bouby1/. soluW08pbtPitakȢ`acct޵,2sAute؊Ghun bee磤I|ecCQhnduxrh`romXur`Onworkrev)etc1б `radIfef9iH+Оpam`hdQdifssary᱊defaخ Xatun0uaetyIlo`Ͻϟ'h2~rԾٽleftsiz+1" 6ү W19]e ȳtorev5𲎁irȺIous~ystemarBUNIVAC (1951)nZݰ0ɇyнOOhYOmsmNpr0yyKml8fir(elopAlԻX)pee9numb@ʱ0W?0oeppز`o؏`iv8rهw߶ R(remaiǁTZy ful!eployXrdwacrollmitigM .ͻppa@7nublishp mOJMёmׄףBtÀace="serif">Gian-Paolo'satent15]rovidesethodorynamicdjustmIofaximumrameouandwaitipaterszsendinghenruptromcommunicationfohost)cessor.Ԃpacket ^screasedhenr@arrival sighdegelow=ensurbd`delay lcxfzdivery.irsPMcbs24372usbsxl$؊Xkeepr؃numbinitidasks3劸:1Ȇ

    431EmulexW950 >havesupWitorageBAsu 8xC0CIpublic0avabl8)knowledt0ealdȱ'182 >3suggerN, ql2xr`ida_ymbei)hgdepȴnoluBC4bam.nlidocuoɶ9ıw?QQZP^j100 μs ON,dis81ca8doȺ2modeߴpalyɮyׂ(owwo ѓGiuish8?˫ifdropo 0slar!o%deviVMҷ=8855 >WWs9 fؼIOwHlpfc_cr_, }z,B_Stodolsk`CBh/,8483203crixH;cchѹ ush?xmH %c(Iinu)Zؽavdu ri*coX .͸0system!w/Qd)duطf 玗+paX{77٦ѭӦ.oLJWTeturJi.̾l-triglik뽈TѺworkwAcco@Us9X£x يfrom“݉LCr٫deaQmH "[ygggggggggcZec Pal.554P2 tud(9mpacj_/4.4BSDtea)eCPIoughpureyififxp8FreeYroonWHTd8+CPU/sdaHv׽1ӵ a1rgggggggggcMogu€рlndamakrishnan14]tudiedheroblemfeceive(lock,here:syst0isusycessingnterruptslltimeorssaryask8starvo2mostart.ovoipXyugge@hybr8mechanispollundhighoaduzregularsorgh@rs.ЂDcpincreasClatencyIOompletions,yrebyffect overapplicaaehaviorpopizirmXvariousXniqueXoitixAenaxs\specificndalso1hro؀0binn fairlaresourmo .

    [9]EFURGYICAC (2007).HINK.ǡZ=UTYSALG!GGڎ"P''ERCHANToAutop0oultiple70resourceFEuroSysW''''OOOOOOOOO$3WELLEObISNER/DiEVAKIL-ENISCWԙP__>NRWOO7Prou:ynamӧvisѦtheataen/>ASPLOS?ϺϺϺϺϺϺϺϺϱ4]ҹVENDRZNGAN`A_zTLWAּϼϙϼΜX.o ztruggles:oBϽmanagem`ڌ85]PECPU6. Hot*׹׹׹׹׹׹׹׹׹׹׹׹׹׹׹7] .NETtPTradSamaApplicat8Ȓmsdn.rosoft.com/en-us/netframework/bb499684.aspxx9ooooooooooooook8WTOESP,̨ǿBOSœ;hyper or-baspԦchinUSXnnTechnlonfehce7ϴ9]>RGAONK,¿NOYeOSCOET.esourceverbookand?filahdoPplatm(CM nIM:ol. 9, 1P-45GGGGGGGGGGGGB20]Mw.Dipibu coptnʀ dse. OOON. [21]ANGHPCA (2008)2,̋EFURGY7C77>ˁ}LLERT..hip:calableierarchilarge-speataenHs.ɋPACT9 3 ooٕoordin`ngandagem@virtuXzed vs(IEEEransacQsnarXDistributSy@ms 9951074attsUpROESǨsw!upmesecure/index.phphp77777777777w7775]ک4IEGHJOO>΁}CHOLSN..ϧumtsautomhclfheSME 64c1942), 759-76877777D06left7 pos=0395181 id="FN001p>188(mosts,h irerocessp sets plifrom󟰩`voltaiheAyyVFSトonbeX1dԷHs`0multipcoresؿ?F??004462 2APmaJidxintoerr0as coloshepsinfrauctPaupepкxaeachlo:thcasnglevPouldﬨYV.ԗtopaatyhysboundary8px)PxYpeuni`er Prc8loy±eaPWGG2321533absolvari☉ mtyp¶becau graphshowsiqVMёФȸP0|ɸcɥch)scDQ.ЁmeaspIardwXtӷdQ码nW1w ch1&2o˽lsiz+1"b vIOMMU:fficiрţjؾP4h1ףϹׯǯǹׄwϹϹNadavmitǾ`echny&BMҠXarchAώϹϹω:Mulien-Yehudaooooooߓ߉߉߉ߏǓǙߓǙDpTsafrir ʀ Technion >Assafchus_______________h2iz+1"gbb>Abstract@8h2T4FDjify>Directevicessm,heruestirtualachinely!sthn/OoutoRv,sppeXng,ecausetlownnmodified (non-hypisor-aware)to eveear-nati`hformance.„0/, 7d[suffersromwo ous0ficien s: (1)requ(sinnh fhe'ages,rebys2qmemoryvercommitan2 expossbuggdrrs.Ơ_SO77Weolx problems eimpRnmulatIOMMU (vB)iя . eon8ptimizonoke [ellswaiifewilliseconde`!downbmPinhopRwЇHmedihxre8ۛc-)rus9ohdreenabQfirim* ᓠaԘ8o HH`ecP@H.ԃXerb-met 100%;10Gbps e8#biPdsameǷǭϻǻ"leftG>1ntroduȻGOאָ77xivitHmȻtT,x`nobs29, 6554 >37],o𺸯㱧9 ϱϱ(VM)aزݧgbh=.caccesho!wayˑ"oftɴ)hat ى.C(roTtHvpuchtXpȠal YincءA'򈱸H plicӅϚ x-c(ȽRҹñˢ+,paṀmig063600571075].onelطJort݇ߠannotA!st0tzsѹș-nsworkloawouldw@AyptzXed281064998523339247 >45ߋ0455]__o3o_>1.1͠'#3W''OO''DespitAdvageأ)rsrom1lhre记oueficil(t+il.ƻ Zantemoض,Opinn➡physx sأcaAypy৴triggDMA (ԄK)0ansxЫHthotitargenyo?LJ;,likHegularA9usystemXechn0|xcefuzolpppphmYeoro0m,Yohndain, pakHYDtell(icde!ьuӀ nmodifieduestorMAransactions,ndo,ovoihuchnwar@tbehavior,tuPpinllhe'sages1physicalemory.hisecessityPgatXarimaryeasonusingirtualiza)serverㅀolidbecausehinderxabil1ofhypis؄er(mcommitment,heY alihfx16, 67896 >4105700437].

    TsedeficiencdirectvichgnithatuדӐunable1utzXIOMMU (I/OmanHunit)8rotitselfgbugs acorresp1dris.Ʉwell-knowaP$4titutdominurXOS (ox system)}5277 >5woi5y1zon2435 >2_a6891 >38_WX8X3cotys'F0rbiWlocwhyˌzarQtalAintroducy:majchipuurolvexlpYHXme owR(ȕ _[rpeccX1orkth0-VAs;ddXses)Pad,e0yVAv`;ohardhircuPyaeQ므aG\cү`mapg@annot Egram(orwicwoul9PȢ)ų>relbRvidays'enjoUun77782813h1߮5870xgϝz9344ϱǯ749ҧHvdxr?onPameMwxplinWRrL%qrequ0Clearџaxp(ApA(fulh6ed)׶׶ӶǶǶǶǶǶǶǧhir,genl`ٞXnywwfroak!adv(鷗re(p[iawhi 1usehhtex"in  efaulط;On!\lXЧo supportͧ 32`asuȡiihܺВۿ 5e-8hPȴgd81A0nX0?5ʋxun,os%346x1#,nce,!Pt Wҽt1i0lJa(wIthoutz@-ü )oookh3"0"leftoo>1.2ßrib)PiewRes`s#EmuproPcax9aboveimitturrqs%$$)teZj(ur(xȠՃreH"imple2Qlu^ø,څirhtime.סoAKVMPɤ l86-hpaxXSWU386Q܃9ehѡay veeap!xQawplarf,DbedهAMD٨R 4584''"G777777">ByGMU,patchyirceptmoxnҀ dctsponMAemappingperations.nowwhichfhenmodifieduest'semoryageservestargeHallowsto: (1) h/uncorrespd!hosthysical,ndnly)serebynabldovercommitment; (2rogram2IOMMUeevicccesssaid*bA0tect`imgainfaultyri s;(3) dirъrans Iroughφφ@orwisOretri ieveleedsupportgacy 32bcert-eJusYyln `virtualiz. (SeeӃ2or؂ls.)

    Uti@͑ withoutHlax\offspstly, naarl (unned)S.urxiysaNetpf19]howat?linux 2.6.35ph43%ue-ea 10GbpsICPdJ ;76O.lhaneur Iv.ooooooooojOptimiceardownԧpdez,whr,;.ɘ`oo batvPd:sITLBHxcollЫurgmro[ħyms (SH/Osllook-asibuDr).ږKd,eca,ur뗐Hintalh6{m fuliormইC}äy.Αh,B(sж)im`veٜdcxaeLpH91% uy risk.laC/GtnotLen8@PIi0P meWdwwwwwwwwsTo}ˎa$K, @ec(9buig eҰih)/DŽ@radexariou@ays 3lsWXxKt̾mRWh`jxqТmashjn,x@idィIOVܢ8no`laimmediag0e봘Ȩ>GH@rllowob(vҬnHhs̥w.Iany,welleep(^odP)e8ppЦructurPGaѡjwigre*(pped)73Ѭ^0Hcatempor@Z*sbere@)[3, 68930 >44]бpenewro@would0r Itlealn_Uavo0rhea:(1)ݹWnӻ?GB, (2)_3(ˁP@(4)Dback!;`lXcHs؈ڟ c\nvolup|unc8e8yz]/wnvihlog)sѠMResO޷markY,usxTg@bm`lӿ100% (!reduc+sPUsumpjb60%p)0@noЩ n8Cgu0#:܄q82%ϾϾϾϾϾ"Ҁ lign="justify">Sidecoremulation
    ourthermprove herformancefunmodifieduest,elemevIOMMUnc tynuxiliaryL.radiK sam hardwadevices (w`eyvisonvocsccur):'s )Pseenxtensivelhtudieratu8[6, 7077 >100560920 >216554 >37].ikewise,flo8ngAcomputton ppeeRup/Oaaravirtu8zsystemwexpld wellχ87695׈dž1783ω3162ІButsis@,ⓩfirsHimpres.hichbinbqbothppaches.peccally,Omaint Cexact tw9dnPexistsnon-ettUametHOSreȘ .×@equopabl@onr8irno\t. (SeшlbSe 4.)

    through@s( ntui`ftprelaxed,ieh100%lP-f0yppicexownsul(par summaroj49TJ.28.cerpD0G Sfview=(q_Q10GbEi?=AOOOO߼߼b>RmapWQscribe:`Ϻ (2);eCzTܥassocidce/7pade83  4howY`sQboriskx5xevalu)We*Ȼausmicrh0maQbenchk96,work7conclX(8)_h2_ߘlefts="+1"7줴2ӎD [Eenh2wgI/O7ʴϨɵhly0ebyppٷccessoreger ,pr`havi[ߦ554251 >2a,π7077 >100566 >37Q]ir0pond鼈thsS"`sudisan. choos l'sT-ddž988ڲ0Psmonhav@ڳox86Ses/hyvisorivQ9itinvenipQsp͋>] =78largefoll!`rggؤߩ߳ߩݺ!IOSACPI (AdvAdfigu1Powerr)rhroڗtha3()Hrdwi!ؐfRgniz+sup9q,Xllnsu anyMAuff`X;firbeppBeAgv778pjx s@Pmemo8ph@not,aIs Pmz nitY6ȏ2XHphyspllHorOdfur(anɢXdatatructrsuch a C߯ߙ?lӀ ign="justify">Figure 1llrateshelowfingleMA nsactionnnmuldnvironment:guest/OeviceallIOMMUappayerhetish obuff (1);ځaccordy ocځOVAeg)and,thp~*,1{`responageabri(PTEs)poi9GPA (kphysi8dd`hgivbygdrȆ2 perform"explic=invalidaڌse (3),reQriggariteIpaertaЌ#)sterhichyhyvisornpplstatusĐ71 4PreadMVA-to-!}from5Srelevaolemory (nothownene?b^Hywؖ(6@Ahardwarequih‹WlsTLB'(7tSinsumeritiF,l-ᠣdin#,E4(8$g(9(roprredPc4G2(10-1ţOS`r n9e0simila{>excepPha)ʦ|unit0-frames.

    ˱rchct1(s@e)1h2DžG'leftsiz+1"'"b3ptzkMlS ghh2}f4'ϽϽO8syHemploy tipк]񺃼read?9s.i1deoff-anvcon(ɼ[13y, 68930 >440570779i].TakLinuxy"aHe#defagSyI@lT-mʕerٱbatsWimPvቧh[enP uch+ertBW`leecauǁwp.nlikn a8mi aPU rhؾ1usualwayg񵘿PCIu_"瞊A l赁v׏ιict_.Ⱦ:#J'7gayexecuoXsossoirQwaXcoQbexeyHu ϳϳϳϥ77stw@igۢ΢5ossib8bmetvirtXdܧ[,othrgu৛ohm̄׮.ׅscuso+oc탛ep8safety,0arwitleapdangerou孡endoHbѬ4buHlso1.O'3׿WW>3.1pximSh d_Z3WW__?___EohewƒZnsQdȡPipYinntc@o.]5@ȗsom sowwyrea޾anzhӀ ichointsoheamehysicalageralreadyxists.singmappforworequeve0tiiredetupndventuteardownfew5.

    Willmann,ixnerCoxroposxPeciPlookmetho{an3 ԅ 8parelionqinverthdatatructurPranslaJfromaddresIOVAll:s44]is`blemcthodern MMUatpzȑfmemorymploXparate/Oirspetecticext (us@ly/Adevice).aЀ Iaxct-ي?;onaȍsimpraysu9atould@!.epЈuŽ0mbut0hcoex'",Pa`d-blackew(curhibitivexhph?>4949 >32;ooj_______TovoidassocidKta-s(xiXha s.nsdmggCIerm?heurcshmaaiHo@aȜ,:ou`ОxۦXm.ϏМ``{)hoftwRUXchArPorlo ity buffIМRorwell,(htiy˂ĝnpplIsrienHʄ///_Lh3dieleftOO>3.2synchronous v`18Rb kɳ)ecu{hrunt% QgIIpy,do(notBwa亐uexnu`.osoWRcsavPfewundyclȻ`k؍:tImagPڼfgdoneϸϸϸϸϸ"//enabmi(-fPhtߒߒܜe.ow鎠@ rtn,G碔m0 Am؟(Y 𸣣befbx!gi?=羚}d.ntunlylnraXwh@enspth̔xYp!䢰wiqremohwutstѵ70779߱>Owdа𪧱sjly,i/&mo%iXaJꟴfբ`our8im@ynYld twe;qDsaQС7h3oaǾleft>3.3e(9IHbإh3U>Ҁ рDeferringOTLBnvalidations,surrentlymplem`edyinux,akestossibleoggregategetherndyoalesceultiXohequestsohat(eyill_in󆠄`,fardwareupporxit.nstead+OSGeachranslcry釸irnown,collechgψue,hinlushperiodically.ԅ،LÌosp 250gforsAnoong(hn 10ms.

    Holdabackz[9d@mHod ȏe`aasynchronouHJqewinvulnerabilityؘaDMAaonPhundJcyc.ut?duѓnumbȒHsoftQ/iracܕ`aobat BsxoisavmopBd ׂ8Єݘncas7ڐp,pensig/hosH__\Oh3dieleftOO>3.4ptimiceМ3a,8137 >168930 >440570779I]. aWavoioverh4(1) ʁ99romz$aga, (2)/Ё! 3 mmedirecptruqϴX`(4)@inx[d;HlQïacoϮmPf`JolvRe xЉ / nprivial`g(se@McsEvappximsArse@unitio 藯lPca0dmmоtmaPbnasduunٲP_]withAdelay`پm{G齸ostɺfollogbv.fXxsSXp anyww ٙwe0keep ر(saiл e)rychЄigetP)u:R^.pxHtems2sserHrѭǭǭǭǬϬϮϬ>]n bfulnewౘЏzwoulhorkwwwww׷wwwsWhul0dhWW6`g*AsaroupHfKrequeceP(UvZ/Ofޱexecuxa er,nfigurYkddțѨՖFhysոjar?%pCaalr᜞|xGTu*notJpre-inȻpMcompleʷ28cospoPTE˿v2 PlHn@vuln(bility(r`tMKWWit. Hdrm"1rnоZourys8odYb`isd1ough0iX92%ЖA߼߯/ϼϼϼϼϼϚJck)c`ǷѪsoftwLRUK,gxJ8hxm@ȿ`.aҀ рppingshichreoturrentlynsealsoeptaefe0d-unma4first-Kout (FIFO)ueueit(8xedizeimit.heandresidencyonstraints2check(wheneverz+iccessed,Rperiodically.nvalidatiform removfromO.

    4ӈco@IOMMUmul22, 7346 >11]wwwמ׍ממף#OffloacompuC0ispeeup mf(rtuzed)ueshas(ixpldyumar@l.617803,avrilovska87695ILiuAb/>3162(7;osoI@bH Lj שe+4ӊcS,mЬ3s`twӻ-_3a⿘-metxOSe+Ҝno.s h inec6DzϨ1 I!iP 69% anceyun)ouyotrelax۾稟2al,GWlinciplȼGTֻgram-ǺdeatB|%IdTsehticPؾc{w/w.Œ Ǽxtwoundؗ@X.irstX@plﰗwY61xa.morXر[syN۵D!ol׬upd1n+ك/rub 9plyucɶRimv( 'sclujsoooooooookEfiaOOOdѷej ݭOSiːreceivno]scr@ @nɢ,処'Ο~physwi(commonlyЛ)ɫptiwwwwwwwwuSynchronRWriPocol ?ʁdrpdngl/t,ʨns tiisoindGeXe0aime@uau'׬9P"RirӀ striteeforeecondtoheameegisterversfir5's tents.

    Aingle҄Holdsnlyad-RorׇFie
    shichoth0oa6fchalleng id؉`hle,ncрhasofficiafnsurqAguedevidriHounotngAËWWWWWWWWWVLoos9sponHTixRequiremiSMemulationsikexHb@lowt@hysicalrdw.frstrictpeciȂsw`hoper,take (e.g., thX(mple win 3ns)Qm@8ryoYimassump?0ut ed,nσϙ+aatZmalfuncYwAlex@.Ԉpryty@7genlExpltpd@Memory-X@Datatructure훗canpo(larmJJ9fly,{itЃXЃh,јuC-DX(m(-acces(+ rol~sdڣexacxIȆ4dAnddi!al,Szo&߈daI8aHm@Pumb)fWm.?neeH('=АNj׫ ult9i`cytweԤ) Oot聼RG,Jtmcachras(gIl'sOMMUlli3/Da@AMDE,tOShmappilay+@uPy4פkpaableWxoth@įƈEpPPorthog+ыnpU!]@p!Qvn؃Tbo8Affus inad12]h2nr0"leftsiz+1" 5easAtiskPr ٶh23>5.1yp 73׈mT6wdhgnxosHг op`I/OfromrraqMA nsкo ih8$Jmnsaa˰ѹ*i{ifAXngQ`/ʺa(d߁49__oooooohHemizlax;ynchronouHn1devidri` (log2ʫ)pxear)dowӭ:/)-څOwTLB±boiOOOOOOOOOKDe8:uway8on{d?m!aϸo6XcrUcouxp@ntiӀ allyompromise @tectionornyagehichaseenogicunmappedutotethys.eifferentiate,owever,twinter-gues8n,n OSnstances,drawithinᇐrticular[44].

    vIOMMUa sullXosolagVMsconfigur s.t߂yeepings Xnȉemortilheyve ďȂs9bee(p2it0 Jtabl؏onun恘o؁nofa؃sorow(+TLBvxdӁ@lete.ÊPequlyٙԂus(MA nsaawiКQbee-ocx(oo lo؈ma9targ`a ǃljfirhWWWWWWWWWSF̜ϣyfhselfІu(yeshmportg)irtu`zpset9РnErelaxjhost'8ZlayoptimizMę鑕/_=per@m*ne0systemuЬLinux*oXmohyRHdriHsAnhen70779,iɃ+}assum9WWU!lso7773saoftreb hR/O ck[pursoж0綇h3>B0"left>5.2u؍LRiskoHiar0 arbi讠picioudaari#pme@``xploȿn yhulnbilityPns75510uriscuss)@:w8o a[,herXtsneakcZrriix۔AbuffPthroug10y.&whiexistЗbl(fMccuPevi

    MicrR0
    4ߎیinȑPyoono(aiP8Nroceswu(i.e.,ςcus().ere,aer-winOK,`=m(z'beXءphit.nelQǓǓmGΤ9numbНoutndњr˄Q/`setupwaszholxGgpGGGGGGGGGGilliGE2eeferoptimicearHtegegؤfwwD*1reeprcacaike P)ordsmAoftwyfig`7;8ytaota wqo۷aЮncmHeثmOllWa6ЄŸ0u򼱪&h2/*p3??>6.1ͥPodologyǃ3?b>Elӳùmplam paڶIlPwePlayz|pb.0KVMr21)]jUbu 9.10unnyLinux 2.6.35oth2.ϼpp؝RBMystx35502,ihaualsocket,(ur-هPr`quippwXe@X5570PUs.`2.93GHzSChipx5520=supportsT-dsXlud`16GBemoryKnūexneConn 10GbhNICa@r(t(Ёdir(xT fi)Yaorkloa`eit@targYI/O @nsaXIPʻ`obtahsiгhulhavoidP8 cadnt(ic ntowLturnf,@lyl8(C-ShxDVFS (dy`voltagfr:s)_Toavparabl1@-mofiguV (virt)HؽveOOikewЂPcorӀ enabled.nuest-modeetups,heCPUndjsidecore pinneowoifferent snamee,"2GBfemorysllocat

    Microbenchmarkseserwell-knownet-perf19]nstancinrderassessZoverhead ducbyIOMMUtermfroughput, cyclexilncy.ԍfirstTCPtreamattempt8oaximiz@amoudataȀi8 `ingle2coPction,mu萰/O-in`siveorkloasX-UDPR (reqpponse)l-sitarepelydZ}bytxwaȅ(foimatch?e@.̊{calc aineumb؍Aransas 8cerp0STa 2: Evalu‘figur(hocolumn)meanj@whenun{`؂?0JalpamapgssyncderঋHIOTLB,mely, 32Xam2 orm l li8sySQLysBaLTP (h 0.4.12;xecu)withbaxm5.1.37),iPwc!f͂?:أgeneyzpiɢ1oMp storFppl0da(m e'sAM-dr8cxs)FSjP nouP𬣈ta؎#illɝcXlvȦquxbout 1GB.dis:cg&uknnoDBgO_DIRECTD JxH|oscenarios:virtuhz0setxa1i!@aR,a veʹconIbetpOSun)DattɄT堩 !.ɸraddxbecaoupptimiz]howwcgǨkؾnext cg 8,romafk0t7777777777ctڑznvolvno򸈜j,Ѝ˸ⷐ*G;[lؚthMPQefaulȱyLinux,ٻ<ificj, ` x~ahlxdy-ex.ara Hs0rkas unpatd7777777777h`deaҀ rlydenticalo strict

    Iasynconfigur.sXlao,ePddiStԃihronous(TLBvd2)l1rmmedi1unAxtransh0s,utwaX`completuc7Hstxetak$IOMMUwriits' mageack)me8y.e Hly,hns8c闄,hichYdomi0A-RmunІw#s߁ɝa dfulf μsecsП malumbpstale ri@zeY_(32):SsP `'ssHJlemӧdefaul קaqueue (128)ϛϛϛϛϛϛϛϛϛϛȄY煯tϙ#fSIأOMHxaggreg socogeHr妠y 10mso3.3pI#/)myp7 LUlup250Fye 2: AjreakИR(un)sȪuicsme8omq{on(shor#)ploylsaֺ79sub8tu$ear*7.44seeepa(i[I56pXlar Q

    Noticxhatuestnvdationverheadsducedvenh(performingeap;happensecausIeyvisorurHcachimodeit,@ich,yIOMMUpecific,ea1OSimanptoirǀryewpitres (loworackactivity).oevideifigureـrp7sPcodram`cyutsowprofcomparsamZlYaireresult!eliHlassociVMxiЉdorldwitch`ԏ oHr te؂jobXv{ZD(un)logican1lishfasEvJbetp-n- vГan؇zpro胆gi)e,XposthPmphyssh3˜$)%left>6.3enchmarkҍsF3(a)epic؟1throughpuNet1/TCP `n from0fxriskiP(loXxiHsplayHylizdmthibmet@Ypx'Abasis;rdly,WWTcurPcoincsȇ:1ridinecRCPU)sum7PPd00ponk;kׅwokӈ8Wxe fulL(ȵhpolg)B۹P)me(sh)Grar gbasync_ɞٷ(nefXI*ȗP shtim)ٮ߮ٷعF(2-5)cpagP0У@]Defed>Plau8m!nouhd]m8, e Ѿ9}0S 91-@@BlϫϫϙiXelu/d'&0nop¿qecabottlck.tivptw>ol9ZPm,bonЏ,lsoǝt;O:owou!exploڟ/()lrequiPmIOMMU8ftwrli9hen ˚doweo`奾catupK\w8uHgap0.82xB:um SimilʩabX,wu7105v4qhpicTlncyasUDP-RR7wmonû0Xargeagr *wha2'P. ۴IOTLBv@ %BchieUZߧ۸virtus.ȵixcoy 7ЬdropsgnifiY(p8605`t1tyT5'm.mpo

    Figure 3: MeasuringJputthetperfCP;e≠lineorormzation1opti_tttainablyur 10GbpsIC(?_]1ooooooool9oooOooon4ojlatencySuUDPPquest-responsЁ`hmarkOOOH(of0metnoOMMU)41 μsecsOOO]4Q ace="serif">Examinumϥϥϥό7 s 5-6( ultsacros,hrend!ra8lar.ϊ8qmeafu0osameco4,(ih abo1.5x.ƥ8sid, ever,Ohaslesffect.pxlly, 4096mprovxuhWdeferred_>1.07x;e2QMySQLnd4Ape.e-ϔappliedK8s!2x1.63x t7anB:{,HtlyonceȄWSXfϼdrop1.110InrwordQ0Jc lPhavho250%-60%safon*(welxsʎţbY١WgapAucXa0%.ԤQuldmeyzaldy ishdramPr rhϼ?ϼ/緗Iortyy,agaiΧtӖE!Wڛǫ, 0.8620.68n (a)6H_[ThuCن~ȼaxddXbecǫ;uʣ0paTmi/(attuhoXgwithss|roomshineTQ胘lxN`bi_9 brZhhwjbXnp3%kir׳ta[8Vcerp¾l0o[{ 5: Meac;jbynormQs 243ransapsn8i>'/-1?WWWWWoWWU1WWώόgW7׋WWwV6WRߋ____6828qu0GGGoG2"8Ҁ "lign="center">

    Table 3: MeasuringheetperfCProughputf 2-VCPUsthtrictonfigurationpmparedo󂘃(. Nonetheless,ningow-powerleeptatesuitablenlynnxtendeduiescenceod,whichocc@eso OMMUakxl.h0becauseand8it 䄲 sonsidertime39]qucorhmulationAXalforQasymmetricym/.1396 >22,Sukcincludeoth莈[erpma1sꇯ'#,HscheduhardwadžcoaʌwillrovdesirpOe/c!ump"tradeoffTHimpactftwo``rehod0us``veguestxoVCPUlocanx`kage,dnafhlYppearߓ46389 >FiguP7 .cdourHm@Ze08wae@gfmmunucoreas by 23%,sul(25% !CProughput0OOϐY)a.ʼnFE cycP g1omwouldPveryitt(cgooduricsjdetecdp{s.egcȨdtaWH(BhX77778֫X QpB0a imcix00103IIm"/nϳb8kquo '"~: H/}h2džߊleftsiz+1"ߺ3],arham 8al.viiX(56 >6KivKVM0920 >21컑BellMEw}7077 >10r.ɾ׭surfromrohibitiv6341whichoelopQjar-(9W_^, GD8@4B"diPtassO562435`5G81YS.ournowge0 irde㢳(f8-spe׹wi(p(1bmetGGGG/MaximizOSytperraxDMAsyXlaulnduҢ@mport,eca@Xuggrxploiw}68109'gh8472"W9633 >4S(rOOJhaHbesخI`XzЊ/H0_893p4WPـFonlyablеy8i)QиwasÚ__vsoZ.ϢxHoaneOMӀ MUoheuestS,wpayhooseIu8anyppingtrategytishesyprotectselfromug8orliciousevices.

    AdditionalixwereossibleparavirtuHzeds.ԉ(sle-9andsharp׃xvidull儀tzacoermance44]sistessetteЂ鏱expenof uc.n7׏Yeveron-deև?<707799:fin1WbyearIdownoetuota"numb@hnwasached.υ? ,ow9,notimpduQvulnerabilityPpt8c~7h8isquivalI茠B?butsohxmmillisecond_________\Offloadcomputapdichdhall-knᣈro8spepupO5607,X436 >8x6229 >36|shrd`2I/OעעԔ@ldKumar al.761780232,avrilovska׈;876X15PVSpopeng (VPE)WV3162 ¤P8Xi`10GbE, 裰ȩodifXf91dr(rsYmulZBhst,u[zqang/OSBuil:tHvIOMMU SpHXYjYom212kak\oHpr୘aimrunun3hyvisisjoiPs #ߋY҂oga@n Ch2FJ0"left+1"\8ôlusQ11+P8vj78thoucreasaglprac4cauਰh-l8erLBss-:PesQlowSHork82142 НHly,jng5OomabetـpenR׷׷׷2Ӏ eight="1em"idth="0aalign="left">Acknowledgments T7J88
    , 10(3):179-192ug 6WwwwG2]ˋd:Ag8ifoftwardardj:iquesx86OJACM`iSJ9.р0&ϝXSys(ASPLOS)pa 2-13,ﬧw/www3]Ζpmit,.*Yehuda+B.-A.OMMU:tegiig#)IOTLBottleneъW shop ` racbetweenQV&ypux5(WIOSCA0Oooo?4Ptopoulo Kozi.acilitefficiasynchron}asytric rshyprosorIEEE'lУll8&isHbuHmpIPDP1-88ǩg/// 5]ԕPX,ŕomovCook,֝LichtenHCcGarvey OndruseRajamaniUstuneThoroughcalysPdhcerivxMIGOPSConf.塴75-85Ǭ??WW77O7777׸7[6]Ќ)rhamRDrago0,FH,HarвЀo NeugebauP@0Warfield.ؠ ѷ׭pǬPrincipl(SOSPi64-177"37]IBauȖnj-Dag/+IsaacPep*Roscoe*Schupbach^S0haieultikernel:ewSectuȺ scalablcosPemGnjnjnjnjǹ9-449׹׹׹׹׹׹׹׹׹׹׹׹׹׹8?iSx`er aly(d74Phy(n'tOS?USENIX ntopics'(HOTO?ge 12GGGGGGGGGGGGG[9]Ͱ(echAXDornseif˯8leiFireW 0ll+memor beloHtoCanSecWest@5GGGGGGGGGGGmӀ ">[10].ellard.EMU,hstndortableynamicranslator.n USENIXnn.echnicalonf. (ATC),ages 41-46, 2005. ǀrg>Q____________]20ZKadavSwifpLpig3x-arDUSENIX n1(WIOVe 281ivity,ى9maP8LaoU0ubli DLiguoriVM: Linux/+onitor. Ottawa\SympOLS225-23GDnؕ8pc/ols/Iv1-r-2Ҁ 25-230.pdf">http://www.kernel.org/doc/ols/2007IAv1-pages-2
    . (Accessedpr, 2011). [22].uma D..ullsen,.anganathaN.Jouppi,nd..arkas.ingle-ISAXterogeneousulti-corerchitecturesorthread`workloadermance. ACM/IEEEnt'lymp.nomput.ʋISCA), 81-92 043]ӌHj,Schw1Ganevxe-hMM/i systems:hhidepproachnqW8shoperapbetweenpearS. &GEWIOWі4].̕Pau,Ben-YehudaGordonplitX:Cuest/hy0vis0execuUSENIX /Oirtu8zaV11{5]ʉeVauV.h@,StoەGtznmodifiHdevicerivereus8imvP@pebiyia J inehNJvǔDes ImplementTOSDI7X17-3077777777777777[26iu.valuxstrd-ba9self-Liz`Astudy10bEICsthR-orkarallelDistributProa(IPDPS? -12107777777777777737Bpb.polleng( (VPE):Շ´icaiCPU aso(luർConfSucI(ICw225-23498,.uanŵD.о -byp8JinXn(Techn8M(ATCg9-4c6ggggggggggggggc9zMenoȫ8R8antoYurneG.anakiraxC Zwaenepoeliagnoze rheadsytXPתҖ`onYM/ 7zŷEsEE/)3*5϶翿30]MolkHackenberYchoneM8u@rymorycHe8herencyffecant Nehaultior,M/VArX&mpil Squ(PACTg61-27swwwwwwwwwwwwwL1].AMu@anAMDOMMUptatchse0KVMil, !Int'lymp. "P'istributComput. (HPDC),ages 179-188, 2007. [34]Ҋuspl.:io:owardsረ-tot (}ډACMIGOPSόhngsRew (OSR 42(5):95-103,ul!8''''''''''''''#5]`eshadri,.uk,.u,brigAcVisor:yyvrovideifetimeernelointegrity*commodqO蔽/+Principl(SOSP_X335-350______________[36]̞halevxatran,.oɌBen-YehudapsoStack:8lyfficienetworksidedicacorUSENIXnTechn(lnfATge 5107]ugeQ,.enkiam{B.-HLim͝QsVM0`'sosmineonitoroooo'!-14 1 8]Swift,؟Berq봠evym theeliabilofsemT(TOCS23(1):77-11XFeb5ײײײײײײײײײײײײײײ9]ĚHsafrir,.tsੋؔFeitelsoGenlurposemP8failuH(ic Wlportr-6,chooler&ng`ng,RHebrUnivج߽40ߊT.rtz,WagH.Dailv8Pabsol file TTOUsthnpmp0YЩ72F1&ӟɩologiFASTQ89-20WWWWWWWWWWWWWW1].iWaldsX8emoryhsourȺm i.ESX 𲇲_pear_es`lr (OSDIvolume 3x`9k22]ؔZJZLuo#8Lipelectq/softmLiz?[/Int'EExecuEnhonVEEW@217-221d3:WilPms,.HydhKRsh,ŪSirF(eid1Dr ethroughXfervdcmanism41-25W4]QpSix֡L)xrX `steforpctcso_ed/O䌚IXAnpK(ATCOI5-28?߿߿߿߿߿߿߿߿߿߿߿߿߿[45XSh`Car(MenoߵWwaenel.Ҁ oncurrentirectetworkccessorirtualachineonitors.n IEEEXt'lymp.nighermanceomput.r(@(HPCA),ages 306-317, 2007. [46].ojtczuk.ubvertingheenypervisorBlackatK8. h12Cs="+1"ojbHiTune:ĥflow-Ba9enalysisBigbloudо h1SϽϽJinquan pJieȀpg,zgs)BoYLiu'''''''Oi>elsia-PacificεDevelop Ltd` P.R.CH(241ߒ߽'wR2GWWϢAbstractgh2Ϻﻤ4ߺߺi>AlthBϤ (e.g.PapReduce,adoopcryad)kitasyo!run述lycala XlicR@ef(ivisIqfine-tuofas0Q(yibutPsemsenᾈj`challethpa,escenerroa`8hel@ddressۂv,X/dn u"ddr(n a. ؅"=:haimplek, htwڽextensiyzerJ[.eporturЉpPhowsxoǎcontc,mtYfitsA+`limiex@pĐ󌁘cxlogme ɅradiXpfilX)I.tҀ >

    1.ntroduction1a].hiypeBigćhmnlemerg)shAinfrau( (e.g.,apRee965 >2,adoopυρ?8Dryad3484 >4lP&821 >5*H_^4158 >6Z),harac dybabil Ie;XsAnodes,xult8lrelaxchy!seymؚrsx)velsapplic)accordxaflowraphPexmitdictaɆl`mm/quaml Pexspecifi').φ˄cKtimsPspixdynaml@m`logunderlyAcljQxec.??''Wю oo1_irequirیoiinp"pllsm1owUns;4Jhxbdwfromzm@ettix ask, bnc騁mun5.ntunly퓙mak`sHicqXmp"(1ᯁbehaviorC0!alghC"^ea('",iQxvissine-(ipmaїgL8maaPjxnge0olddɊ@thpsoxthaHl9''OXzA1 dga+hشȴ鉌cy- wradper m|alyz!doһHHVTojȪRϽ;s aXnjbecaDpoXtipriq@ᲄunSﮠchHlphidd@ۼxu$B¼cHc`lbYromp鶰_)m=ػ-drgƚhichrrel@oncuptivhacr覲#&re`۞g-*,wwx@cХꅔ܌Ͻό˼'''''''''$BձspئҮmppHiTunew"exXZwwrHadoop.׾purPp8 Jsjntg밻em"tbenefi4wVimiex (e.g. t!cЅlogeЀɺʫ/fil).Ƽhq~ȈjobGǾdynamXirbeؚtasۀ ksndtages (e.g.,askchedulingdatahuffle;ee ctions 7.1*7.2).nddi,elatperformancevtoheflowodell`sserconductine-gra8d, -basedotspotreakdowndentifyppliconchardwareroblems|2|3). TrestfZpaXsrganizas艚 2,entroeJmo؇obj1vourork.e瀰verview roachЃ^3,2pHalys 4ߌ5describimp`pHiTuneВzHadoopzexi llyvaluate4on 6kreporeᇯ9discusPBp !n 8xclud9h2f1YleftsP="+1"<2.ЗӋ ZFig 1W`h0oaJQIrivi8tiQed. XirsPa HunhiPspecif҇r)@`meZ2βQs .o`7>cOO]qXO׃׌d񇯪ێfHeIHnϝ̝oww. ߒHadohautom룃)^oninn'81882Iɿiӷ(s8ts!(aslaبjbʔsC8U }_[bpi؝stooutI@loiskXPaddʩ8w/)G_\copiȿmerZipPshBfetch=reHaoxnB݂ tePy;fX{sortrcjz39Oly8ce9p*ׁa imgcix(010alIm"/ngۀ ht="0em"idthdalign="justify">Figure 1.ataflowraphfapReducepplicationxvp> 5]ndiveueryample77777H4???Inddi,Ʉsystemsɐusoerform-hoc(alysisBq tHX,ing\-styl0cript0HSQL-likkiesspectly.ornstance, 猗how(anMorigi0aύύ])׍ӈsamxz (i.e.,0ndH eachufficilyarge egorycav p(rankh8-urls at). Psewo5log@l&*Xi@dictdy3anguٌmodel,jhautomcompXdQphqgaoPr7)C0㄀rly.Unzzem(X8tr( irons'gڜCDrya%3rbitradi@Aacyclde9bTwllXǼ39624šwebsi@457;cloudunHPȴQinput_өopiz𵟒:cAerGG߽GGGD7GG繿WGGGGgGGC!anGG]????@h3??left??2.2oHChengesѠfh3wwwwwwwwtB8-@rlisJrougp8»hi,wetai G],CjdNwork ropri0bٻiwhimakit@sXp2sPabns.nXtunhlZY79ult,f ȳossiȹs:dbehaviorCeтmaicժYeG vis2unPmaiab˾`zr񱨴q numb((Vvial)ourceغD-sbet8 lizAsgrpervaA#!@add ґbecomt r8t (Аcp9Hadopjob`0i Sɺ 9lPhnJ,ina Ѓ̅mPty7779`82;qІȼQlackR3tooИ oft1ro rrtWU5118 >9WmГs\th@oڀ ဆnderstandheuntimeehaviorsfigatapplications,oatyanakeduedecisQegardingowomproveefficiencyY seHssivelyistribusystems -ustsradialerformanceဈyz (e.g.,烨f10]dntelTune7761)o lxecuـgram.ntun ly,sisCloud particularchallengduXtsxiqpXties.

    M:achn1aomplexhn,imaXrite@oush‘(cessereaȕnaw0minɋ0cextould(quirerrel xcuxntגctivȒCPUycleret@nuXjlocketc.)`rossny%{}ith務orHuHhe`bXٜCows0work Оȑri肯,Zqm etailarlis@ idfodYpdynamhl0Yaȋpph (incluresourxftaskchlH,aulolerq|.å؏PitverQIfom siblΩ;Ob٨(yW(ʬ@edQop*Xiجs)/p4"PdthӐhign="QifyP1ce="if">IDpadd2technnP0ouϘUm8ې-drXnߨOXOuro easi hocَ"ezϚ71,ZIidealuaX 9,nh3~1left>2.3oaؾNon-rNo c(Qi i sh1ż 1$,,iddlewaraa, 7׽+S0abilityOSnekhW1poй9com Ҫ(t8shroces/ W @Exi?>ך@BlikwrflexBensledsupportW,Ȋɹs,nʫחӂaq Q_Xl𾺎IbutompеɲmoyйWr.hardkЎAerҺ,ʻTgҮCmey`korre(bdiagnoQ*fahyGwh2oooojsizh+1"3.ϩviApxach2YPlier7dnuieyni뱺hXaggregcڂOҰs ۀ forataflow-basednalysis.heer mancerameworkonXtsfhreeajcomponents,hly tracker,ggregationngined9F߁sllus t0in Figure 5.

    .Џ''& OM1OOOOOOgOOO09OOǍǍNj_O/OOOoOOH477N6OFQtceamplinordGGG@4׏D Xa htw›unnveryode.achhsalцberscwhiXinspectbtimerʈTstP בЊ!eC.iqɨ3clouusu€̔HdminXiveoma hXnxed,teasyha@-synchroniz(e.g.nadoopslXxchange9heartbeatsstma(ٚ2ײnaneipiggybd);requHdiɐEO.ln ly,/)ןה9real-ņсeceivV12!],ceGG345@3BRFlu5824)}u񺘴WWQIXddizDM{߈ݸ+ooonduogenXrprt,)0,tH钽ataflowdel-Bigāh21WVleft=s="+1"4.1-BaIP?8taskxecutionampler xeveryodeoollecthenformaofach inRapplic.

     2)escrib!Yh Xlataflow톘lyBigĀloudapecifilerovided9nalysisngineφφφφφφφφφ3)onstruct݆Pcess \baswganxgramϏ77777h31ONleft77>4.1ԔESbDh3O]OOOOOONT,WWermentscBruntimAs(local,storesssociatPǜ!irecordixɃyxervalHlsulli>TTargetrfield ?:ee`: pr (e.g.8OamȤ[ID)/read)thߝ˦pieceOI(Wi>ValueOOIm@ntaposi9Y,stackr,ic-bk7dd s)whiAg%whe'''''''Figu7偪delPOOOOOHInpX(Out@)sXYt (Figure 7.ataflowpecificationfigloudplockquotep> Edges,hichefinellgraph s (i.e.,mmunchannels).Vapping߈describH)hevelesource큳ndare0ms׆ices.his߈߈>Taskool;ubTs;ora??,cAuntimeiHlauns@8pproses)hatan؁y1 8IdifferoPWRrd@di>Phase,҇elongHo؊hpx3sequexecute!se $ bϖ]'wwhread8Grouph|(associath3pawn^< a>t2rgٍ77GGGGߝI0#M//)ϔCor dumbx(as(term@yrize)Lg8RХct2,* ǐwcardinalityS;ol,(Ztapypqoed.ɡhav(1)AN"-act Wd؂yٶ(21~8oljljljljlj3∞G?ߎ dynamߚٳWWWUOKE????+сz.physmpleme,network)nՃylilremoryuԄ΄ommun0patb`ee,hiq0ȇra-3/l(\data nsPHnu̠nٺam[etively),ȿ 14/ulgGGGGG@`possibxhextؿf=HsuppoXn R x:fdelzXourcekxe.gPÿ);owqcurr s icifXBigčAinfraxuctu0aeQij.ưۆ>߿Yi`adoop0кȄ2Fig 84.3bi-BasAHs

    Figure 8/b>.adoopataflowp0ficationrwrite-ouhaggregsts yw (@Ian 2%cѷo `0asurZ8ac@ldsh3v1iϸleft ۀ face="serif">5.2mplementationfggreg{Engine agunn1hloHJňyurp"orsoX*net;Ӂ-Iresponsible i׍Џxseparate)onil/HDFSFpǖh3yߖleftǛOK3OOnalys(77777777776WqajobbeZlarg@ize (e.g.,bout 100GBTeraSort16]4047ɚt).נdd8qؠeyrstϐ(xch4)ndn" apc4נ"ifash___Bas@ԞTfield (i.eZHtaskzavhreadD)eZexecutWZctrucatrea_Hquen (beloɡAa9, erX@{imests)o}ϸϸϸϸϸϝhrogzJ(pIflowpecif<)reef\rarx_\I`Lc(or,caTgroup,ulti؃+Ѭdiff Eddvrt ൏sa8$usiؔisuHckssFɔaЧ@!tweУeAlaǕMapTp.Pp8methoditutXPzmap2tex.e0OJ02160 >Figu8yRetad'''''ϥϥέIY%wstwo 8nda0-rpo[38ermsmаDa\AnQixHsi8lyssociatsym log"Ȅ_Wpph寿IʧgeYganόinxmgs/////////-Wit)plgthc''pdescribbovlGCAeasi),3aa>ǚ_ڎ_'w-.ɪ dd erbúߪQtself emȰ$l=,^JVMѯ`aneouslywwwwwwwwwuCitwgener0ariHr9:0v0luabi1ϝqhaviorhp`󻴹XodeldevelopuXn/- hch:Rila+pip3spx-Rdiaڀ gram18],aneeneratedohatsersgetompleteicturebout`eataflow-basexecutionrocessfBHadoopob.tslxsibleoFhotspotreakdown (e.g.,isk/Os.etworkransferquta1s)orachertexnDž,identify bottlXcks-cluster.ehow@m nalysHrrtndwy08dhelpur-permanc7tuningsec27.

    6.valu+HiB!͂uiP4047aP`pn OK12112 >Ta1q.ԛ/ىWpnonear(JobTrackx:Node) upY20laveTaskdĠȁ;Ceta` erP)figu9zLJ|ڇ{2{ExymhhHbEICs,whi!honا)Pa0fxqgigtŦprwi,mȁs;ڤxjiwq`ҩXo_adX3 monitorraChukwaggregengiS)G=8cerpWLgblockquoϡzbW֦Oυ

    Inddition,esoompar0(G@systemour`utiliza s (measurwhe[w6gggnnly҄,samplǓh hichAneedo@poriodically).iazAYrecords aggregausAaetworkp`@CPUmemo؊nult Hadoopɚpah.ig8s 11b12h8ф(io5?8 -ih\X?>0twww"8cr1p"ρa  9/b>.Ғשogް_[XVϦ1Ϧϋ׋15G77gg61613410_drwwggg/g//116//ߚߘ?///O//507177񷧴oׁ7ӗoo___'w_''117''צצפ7'?'''''8902//Ǘ/ϣϣϯ="ЮϪace="serif">Inummary,iTu8w (formananalyz ,th_(2%)nsgPed,tsymOnsnddiiscapwell?<,ecaushttsachod1j=ApehntlyBcequ7osmaDsaevenh(paБPeミ (as)firmb+exntal!ults).19]1ibWnumbhمP.

    Figure 13/b>.ompari9768>om1oo="4׉addonxse MhRktot9mapjr[taskaՕrespeH .ӥ )fHl (Hshowngc021608) iHPwo杘:_OXu2swةpbutȥ2*M+4*ʠ]x26xӵ)ح(z 3920reGcou8q.15*77(M)typiPdem(ity7ŶHDFS :s0۵oϾϾȽצצצלo?ommar8ҡ`lexity(е[-b8dermBays(//,hrm= ,ps{7773,xBEecau`ȶϓP__77777erکweimaeng apcaڎwwwwԲ8elus1ano0nitorɿF-PooxXGBgenȧ2runnTpSorH,0k16 x ngle-slGᨋ5ׁ4wth27__Xleftui="+1"ǝZir7.xxie>h2GhbehdPtensidet03urseeON7404 >17J)thsshɺ)e( effict]ǥDžgop,(st qb(fqPlimitځzșpXȾ}y`m t!cs,log{metrʺraalx)3h1 r workߔ3UOгpssue(XhxtpautXzjsخHymH3200 500KB-)D0.20-sۀ temtatisticsollectedyhelusteronitoringools (e.g.,anglia21])howatCPU,isk/Ondetworkhwidthtilizonsrellel@5%.Ԃais,9nobviousottlenecksrotsp nur;nsequentlyXradial?9sy0m5xprogramArs)aieverootause.

    Figu14/b>.ataf)exec onsortmanymash`Hadoop 0.20.Gwu1ww="4ߊ<ُce="serif">ToddressPiserHcesue,e diTuneӓtrucKdwucofÆjob,lra)pNJϊϊ˙ie-ax8repelapseiwcimeachrizؘli@(hart(pyredu0task.׍R, b1pPioeȉ8Qhaunched"idleafɁmpletX爇whe+runnӆ(shuffl@J̈ߋyd( ip)orpondqg0sp(ively??=A ďܕ-GeewarelismpeMЬȀ׀תR' (.learzsu g`a(FairӁ%9232aұ9oT 0s@8HsibllaϠ"romisolyquicklydifiX?9 -default#'1nagPoIy@alavtLtbe((i.ewickeep-mHߙbzs)+itssrstRxr;- .䘉/xs hyX(1*aivalequH৪ӟCDi :kEMdpWWW///WWx776pgraddlyP 2.092143 54R]hiЖWiHl(injks)񕷕;?9#about 6xʰ(ahown//25600/5))fxliza@grȝmved߬߬߬߭8~cerpꭗa؀ imcindex0120HIm"/ngwwvblockquoteb/b>.IJ_\ Py_8with/owu1w Figure 16howsheataflowxecution,sellAtimelineasedPU,iskndetworkndR (lizaYsferaSortۄ߄47175 >]4047 (s(ing 10illXX0-byteecords).thYydurmapasks,ecausHoutputቨcompres(us defaultdecnadoop)oxducWTI/O. (C}inortsot@Xbenchmaspec.\?)1">Hver,!proc_Xat)aarge(ab( 15%*otalobunn*)tweee֟ ϡufflees.cojHmunicat(ifiߙSmlee 58188(2?;02160>81),hfetch\from׈TcopiertСxidexyIuldle@soȪ}5.nfunatelyraditoolr-logsiѧ8vroÏHpod,XXgbottleneckeSFyersusyeretricpbypamelways%,h creanumb@*th0do!Piovn0mancegggggggeToddٻ`0issue脰QHiTuconotspXbkdowߛىȿ@sib-!associ dQlxlayܯ迁ځ+~w-bdON629952?R)t,mݜ%/.actuidx807ah0(T`\RamManr.erve5hod) ccudmorybeh9T@,med(х"vxb׫ޜydXrmin+Java\Yick cy[OM0ti0y).ϰoInmostͅaU0dutص1 ȮixOreȠSnMQgф*cchLZO[49987 >25]֤{滛oо(n 2xb=eli3032˦צצצק8verp⧏aЀ im"index0122@Im"/n_ oonblockquo'''/b>.þþMKM!7(;defaulב+)1G׋2377ϋ''gߔϔϋ~ؠgongggh3'leftY7.3iagno2HardwProms9^h3gg4ϙτNeڀ ="serif">Byxamining Figure 18noxdetail,elsooundhat(eeducetaghun timesignificantlykewedmo differenttasks -mallumberfsmuchlowЄno@rs,჈hownه11709.

    .ҍsyTeraSort (usri>LZOompression)1="gace΋Basoassociat89evelampl1pordze$datafmodeuseiTunPoen0norizvOK idles.usyreakdyWq(groupxbyBTtrackXܛ)Ϟ3288520tcleaB.J3rd Figure 22/b>.ataflowxecutionfheiveueryPVJ26A]4511P9.nddi9, ssnd8ߟ-based_map/r_((bothRԢ actA4afurrokento 3ors: Input,;Ox2r5Out8cJavaethods).sʃyLj,spends0lybout 32%itiming?s; (h,ł68/ȇasellAinzcleanupadoop/framewo.ԋeehopXizeHisWyZmHrHcallsmedia@ults, impaeffici8yGG?verheaa׆׆30UAtun(lswouliquiqXInotsourpcod88 som(schema usualرc am-5p`e2imbhd,0llbackRPCibr@Googl(s roaubina҄ES ampasaعindefashtnreVk-xecucػ=ljaiorirknowledpBigб8Cloud.ù!nt@|A0diǫ(extens(kobta𐰽n5hotunon)hXlϭϭϩ~OP9 Z@lar-WideroP!(GWP)ߧ?80831ܧ3m insmii2c8ers8辋add%curr+zppecp/ŖusrJavaʄp|HPROFwv21162׮howyahy- (2 3)umbɿ.͔ima+bo8supaىeocviOPXn벉70yۀ stems (e.g.,yllowinghesersoirectlyuery8evelampldata).nontrast,ureechnicalh engeonstructhighԂfIexecutionfapcabased ,oatcanork emoddn1opandunn irigćh.

    ind(ry, xdiler8nitorrool>Ganglia21],agiosGE52467 >33BCactiW682P4)aveeei y+cosytcCPUad)romAmachinesI;adHrlarge-s8 gɃ˃hukw6061 >12Scribe_G345@lu(51enSaggregatumbHs.hse\focusprovid8@ibutfrsZs,arerthogɛwЏ@u(ԋ9anɗa [3]adoop. ߀߀ڂi4].sard,QBudiu,.ـ8Airrell,.etterly. Dryad:istributedata-ParallelrograpfromZSequhialHildB)s.he 2EuropeanonferenceAComp@r=j7ooooooooooooooj5].lstB.eeU.rivastava,.umarTomkinsPigi:ot-so-fornnguage `rocess؉34thCMIGMODnxnڋcManhf86]"husooMurthy,ʊarmZhaN.aiXP.hakkp8AnthonH.̗@Zh`Hive -etabyScalearehou1Հ2c6IEEEɋo!REnginengI10OOOOOOOOOOOOOOJ7] §GEresearch.microsoft.com/en-us/@jects/ǯǯǯǯǯǯǯǯǯDZǯǯ8]ʵbHBasetIPECCwww.cloudg/i/11t--hbh-at-ripe-nccς'''''&79PavlEQulsaRaڞhAbadimDeWittMadde`@Sebraker Amparix)apIso@rge-sRzlysi]35hOOOOOM9׾_____________Z10]L.rahamK leXHKckpck(Gf:ȧxl xphxecufiȼ1982PLAN@mposiumistruc,K1]rlTuner(maA)zwh.l/-vtXwwwt62Rabk1KatzHChukwasystem eliabx`ogll,echnieportCB/EECS-Q-25,erkeleG3cribegithubbook/sb/7~4]lumg3soqu/faWWWWWWWWWWWWWW5]avaij download.oracle"jse/6cs/api/lang肍/packP-summary.htmlǂǂǂǂǂǂǂƢ׵Ge="ڀ ဆserif">[16]ortenchmark. ߀߀ڂ th [30].hu KIehG.ee,.atz,ISker3:eclarativDebuggTechniЈ(portCB/EECS-2008-27,erkeley 81]qREunT.osYiRusHundt(-WiderofilH:Ðinuousǒ orataentersIEEEicro (i),p. 65-79ϒϒϒϒϒϒϒϒϒϒϒϒϒϒ2] HPROF:0Heap/CPUGooln2SE 5.0GGGGGGGIǝǝǝǝǝǝǝǝǝǝǝǝǝǝ3]agioswww.norg/>ǀ†~4]actiow.cnet__5].hatJGogatMndarkaHadoopaidyaWorld0'6]ʯ@X.кAKavulyaGP.xim(Kaa:blemagnosisMapReduce-BashClou0ompugnvironmب/IFIPetworkϽons eymp@um (NOMS ǼǼǼǼǼǼǼǼǼǼǾǼǼ7Cretu[udiSGoldszmuYgzpcsth emiFirsSENIXonferencennalyofysog8ooooo h12Ccsiz+1"ojbTa!helyCaxnrTopo yes0OptimizƲPe2%-#s(h1'!˻''LjGJaym͐go@e=0655209 id8hp08_fn1ahsup>*Praveenalag ulwwO//7gwu.猗wwwrJeffrey.hgulooﻟWq.Bפ4031פtn_id00HPabPalo,A 94304Abstract topologies.omefhesesso8lHonsiderablereedometarames (aexample,numb``portsnwitc0link s, P-to-3ring0tns)time.hi(,owever,equirPbalancemoatencyliabilithHcost, Xral-HldPtails.Fp?://////DH(lpnplobt$spespeciyyfindop8alz(Wcribhficȑengv !weP Peusؒckguia׍g0l)`id8nІizatiprom accommoYiؒ,kusoluralgpth]___h2F1ntroducǥǥǥǥǥǥǥǥǩ">ImaginAyou;beeniv0qtas9@hipp-УI(pod)l0ˀѠ1000r-clasYmpuɠ)ee؏Pvxne0sarywcoog,galHdbimف0WYPt׭podǠǠDZﵫSupp.kHXuslargeadoop (MapRee-style҈pplic|erشXdepechievisМ^IreAwoulik9-(72suasatT41]HyXOO077 >3JEܸsxϿ诠umerousǹȇm@B[Կ:tecA[oIlabຨinstIit.o:oddhhiUfrɛ(Xpod? s`lextwaystuithNPٳ÷omdh1viewqÝIxdor:ͺPƻh?:offQoأhox`thAm_ih8-wir'c3meedsAdiakinÄw(e.g.,Dci"ȭ:WebHClou)outIYrho8 ׁ̽toc1Dž߆tϽϽϹi)8,IHhengoؒ8tYHonona)ata-c*criHx لd Peus,7799 id="FN1@>1, u1p>1˙*knpnoiɕŹ0o  wofficientlyearchheesignpaceorivenamily.

    Toveralletwork-problemzsise9aarietyfptimizatioub-s,anwhiPweȃpcribenisaper.urrame lowssincorporatPersZ_________[!c`us/)Ilude:ulli>Ancharact|5yopologЋ@data-c84s scal fsing`)ainer, slar-sd s(i+`If0"cost-`ect8,specifiHp0targetsnarP1'i>D2sol")seeX@ϔȔk(poknowledge)aaotevious(be0discussЕei ature>ResultbaYiemi-plausi()showithatpendșway ar oim80dq@dict,einc0Ctoolxplo0{%/zh3L0O"left77>1.1Рߕoaddsccum8fcomEgem@حhHyXXs.atTreyi>zHdoRyЛhP
    ߴߴߴߴߴߴߴߴߴߨubжtaaߚ @¢Й(ed,2likeXдxlМL'sⷰH.ָ㛙@ͪ8uty-fea#ho)M8⭮[3i674 >5Y].owiHȓ`preضcraffmodel,choo"r s;ireoieafs (e.g.,7199 >1])10orpPxaOefu0aity//WQvelopy`f @0pأquomydurchPceng!o(makaxradeoffPI*vme-O񻒠caniqecbx:ubjnon-los0gPmentءɢGQs*0vi9niillHiIQ:achezWeb-re licinst̮ruxhury4would PeanR81been (say)mamTiaK- ([!ċ$ l=԰;J`empb24s. (Popael]{mr$.)ooal`ФPa familI(T,,Cub0etc.)gpns(Ìyo s - +ӐsupporXyʦ `ata-c(sca 3511,whPa -xȇȇZY(eptYomТ񿍓ddqAlgPiXaes HixJknm@ipparh,uantiyфgnidiffбx`m,d ppearsoequireualitativelyifferentetworkingolutions (e.g.,ybridlectrical/optAwitchrchitures7]).hfore,eooturIattemptextenduraroahhthisHe.

    2efinYthe blem2.1ointsview׋3G׋׋א?׋אWenhsevertypȈ@somewhat/(:arge-ophtoY9rn3cHultaeufficiextiseiwns;od)hohe ckwell-unsd;sysh0wwwrv llX8іlthougPfuXflexibi(yɣߧ@mayemostЛeHP_orЉpharaholow-llarts.ӉaincreasskedymRٯPackAxb)ct 0OOQcompdQhлmlin fott"lLay@2m; IPb@0! #licsb}-B࿨fu0ϾϾϺϾReq h\cribaa,Hlti-paEI-ba9?topologie TbYguEy (w@isiSec. 3)zl谑PJloicx, 8chPOOOOOOOOOKGeYBsH9ameAIcludmG- (inals ttЈd6(ؔZ\i/ʁ)߾`Y ()dHixed8bowhi1yenpqunX4tzQHeoZӐa; ef delcؠl4 Fpexa@"exi8-ċducsupҽ`lea64 10GbE+zqmif@ 3re@ihyhfuture߾߾߾߾߾߾߾߾߾E¶yonrkNICAi-xd`fXbp1h@er.ɆXe ٬+R>Wgsuu aQvirtuzers  efirtualwitches.)

    Atevelelowhebstractionmndinks,:networkes@erHonsidqorendanessuesuchsablnectors.ԇm n ifiXtlyffPsts (seeec. 4).?????????:?:alsogphysHlayoutyiequipment.׊؈@me0atepll@edltiplewp0kHincXnexpevWootaenoughorfor(l]ver-NICwnZA,we׏\cessary-to-#3monopology).ve o܇{show Γn“ hoixbeping XitZmanڕfit, voidʓЈ!o(rhdG{h3.20"left>2.3ĚZHints1]jre`` ɶ㟇algorXm촰developz0Pe@hI+٥g;ш\defѪ!futu8z40aluaJricgwpG0s*dnGm Xpm"busujeroyhiȂ^woGldomgree.aryyIh!oPmؽ藀ap0a9bnarr(ߧox i0Ғb nҡau '''/////'#Wocprry P<:nd @ncyϷ??????upbisP>aa`aIXn 8ihW.7954 id="FN2sup>26"Jinm mumv!|.qpahsPar8uٽjp Hsce, t馠ea(hk`chn"fuqlizshardw!bOO??ǯ?ǿǿǿFascost,~of؝snon-uni2subscri(NUO).Ϸtopologye8ato(i@c3izbviissPqush9`caom#-x7mi趱go(hougpH@ineheuricsuhH3 inec. 6.3),utpaceoesotermitsoiscusXheariopossibleetricsrow!yhangeresults.

    Wepproximate(ncy @tPfpount.gnoringconsideraqnd-hostacks,witchAsreillprryour0hdelaan un0gestedata-cenetwork,XdZgreatmportan(licatixuHa@ci(ificfinxialHmput.harac8izxu((-seyo@Yscopjthpa?????????;Iddi)ɔ0formUsmso.(Ȕ,cludYreliabilityRpow ȖsomZP: *1r97777777773NothYtopologiw7ami-patHhelydundayOn1uldu wp/YuleQe numbfomly-cenink/failux!aawq+@cribtes.Ӎpearcsavirܞs-tolnt3(xxample)yso@e9.11]overgtiHPLhdoits erlyo.ȕ,uoτττ5904 >9o ,g0githrough9s7gatTreh#ownCubb@,grade3ԏOOOOOOOOONbP(K(wڅquiiXoc!8iane@Hopiz{toff@tweHbb,,ӹȒҥehgȯc-«ur SعϹϹϹh2~0"leftsh="+1"3͢/Table 1:ymboly9pah7w4*ϯa (d xsɘloƛҗrʣi>ʻnestahiw @п finshr942asxdGWa is (EGFTs).ߴߴߴߴߴߴڦu8yPAL ifols:́A = 3nHM9bp1dxCׁԿ(s;󀟬8@AK-ta: 1wTs. (I.e.,G>Linkggrega(LAG)tor.)?}=(dp(ց)Ӂ> A0cthL\S(iunit-N)XnkNP-1Ġdurko=zmint  erfaces.WeepresentnGFTsB(L, )here___[@vectorsfizk.

    If0l)t(multiplebetweenwoaggregaintosingcable,yȏȀ(u′wibeW 3ߎA(evell曰瞉[1,m]),achUCi3Wn xrko36oj37.+|?׼?aDshor`׆G"olo'.//ǁŹ >(S/2). Σk=>( - 3514 a>)As70Ĺo/ul_IHpahocusڭGcauseXsiderȬravYrȴata-͒owexPluprengT-to-ܯg(PBC590h9Cam_G798 >2BPs8 0Pdi`2- x3-tiG,PYmprov0flexibilityh2Ƥ20"left}sizx+1"Ϥɻ4ostodela.h272FxhRptimBtotcyЩfJm0Papos[   relativelyasyoodel;hesenclude:

    Partsosts:Ԃjcoveringsatystemendoroulduyrom(ruppliers,Xchswitc,ablAandnnectors.O*jZhard8Au8,speciPeyepneyo삫WIficmDes:etwork@mHYsiaimen ndKquiremen؍)a,ane0hievalu{optiX.upproai(Ȑ0u,hiimHvEs yH"1Aݖpgg`sprefo `imitnumb𘨅p:e!newԊMsQutyssura(QA)ce˂ˍbxplXo #iXkeXQtom蟘i>SKU:׏{oh:varieaif(oft aStock-KeepUniاhs)鞙reatcomplexHnoPgoaliee, (Pe◌دHset -meaȁftyp8lengthf9-builtgCkpfig {Sborn+;s0vnXrupXm,Ion.goopow|ئșapacA-exa9,ackaxx*-"oue_-ws񏈭,.{rredȥ$hi؂йiein(z`inhgl ronic#do ilѪǫuyrepaireoȸleazhpnd/ mis-CIcurɎ\framew;K4BecaPǪasuppli=relucvAC骨volume-purch otiѿpapД9yWebblishrePl(i@zxi`ȡ:׺ר²Woo`Hm˿Љң;ȣor,`hi@2manjmporKradeoff\can1a 0usiinpotopologyr___Zh3Z0"left4.1ӻش.h3 aa>ى)choofro@ߦ!aata-cإvW𱀪Zdouspbd@at0, un`a(cegggFsak*sxli mu:` (arbiHripp$500 10GbEonsШ1QJ1$450/*XzPopa al.13I]. (OJoeas-ۘSspecific]5Zs鵊нav.)xsoPs3o2Pctmix"sli0Hlgbm [yf--`l҆'߳߳߳߳ߨ7QO"non-block-iXªt!ndړmbeyo1Db{ edp eight="4"idth="1em"lign="justify">Someesearchersaveonsideredhesefe ant-siliŀrnetwitchSICs,ongHthassociathsupportiparts (CPU,HYpowerlyndHnpcircuitoard,tc.)ouildow-cospe(l-purpoesorata-centworks.hisщPsoeem҅ay1model*20hXer-radix7(9example,BroadcomCM56840s 64 10GbE().arrtal.8]0alyz( sAone]suanppch.ȋPver, turnuPextremedifficulem ッ;ric̑rQualnon-disclosuin0ion؏tHk:WddialnoZmpxߖengineng,anuXzQAӍpliancestXІregulBTeiQxpap(weo(ttemp'lݙthough*couguesat):lp ul▰de-Xyargeuљ$.

    2b, nXr9reХ,h8w`.nブئ\9YIa`i- Xr/NICex - eܪnecd`ctam*Ib,Qusany7(r(OO]. xbelirƒ|eay\end!G?l驥,℠etѯ̬zer(nclud2ᡗrequ@d'l "exଇ0evab(bp±犰involv8xȎ8ܴptPyopDaff jGGGDh3v"0"leftoo>4.2bꯊ

    Table 2hows〒prices,nollar`forariousengthsfopperndbPHerpiedount 10bps.lthoughhesereuantity-50ist¬9ctualstsaystemendor simplic@e(llre؆Áasxo.54.2.1ßi 5heopologylanningorkflow5.1Ֆ8-d`putsWQ3eWWWWW֙qcesʔyar8witasetIgoalcoraiAopr,m vidЖ).Qfт0oBtegos:GGGGGGS`amet@ǥץץulli>NumbhHsupport:SICxndB (e.g., 1GbEi10H)/????WhimanyܗcluddundasXfaXlnce exQ nlyn-򙨣pap߳߯ׯݘD inimumisec,ernaد?;Pgo'fromR.ԛf`"HJ valp tom].Ʋ exaifw1024-%3100bex䉇̺ϖу +00/10) =P34-_ xɹgivfreedqtt6pn 򛚖׭׭׭׭ױҿ ap9crersopotinuracy1calcul*0a蹐iscuSec.@ϸϸϩ_XaxZhopun%0ksPavableGGGLsizn niȯwStyp(possi峰jºsphs48;h4)X i۬ߴO>C (copfi0)R g@blٺtoWoullsoikonow(c'rdimexGG?G???9*yki`A,uP + ohmodel. (See4qOls.)tra綏TXOu(nkM ѻˈ If(jedngBĊ"*multi!login`0R۵physayu:^rX#,ߠowȷSaisb eeH>P׻ǭ decide @on8obaspothaٚol(rly, 1atTBHrX)LchoicIpe!n Xr[CqannoH+,зxx expa  ndabilityfasicesign,rheillingness1customersocceptt.

    5.2eneratxandidate@pologiesTPeu!oltartsyaetNabstracts:os hateconQin8equiremeprovidedu. (Ifouchsxist,Fjavon*tryg.)ߎߎߊߊ|isepar(pe o딸6ype,weacribehvlpprilgorithmsnec. 6OOOOOOOOOO.3onKhy8wir)planAftchG@,mH nely`li?eforans1Xstcbl񀘏4irengths.C7֣@ cHdetail,cluB%-specif`.τHa0aGםy9hcul9<#Psררפwwwwwפwleast-Yόmpps shorda&ulAea٥nP6sam.ecapxump(D(acereZҥU7wheӆ|f "xrew`$until yxe.4BmW'''''''''5Visuxz8result?OH/ apZbDi&mђtotsy(m/Givlarg2ar0nio}cl9lti-dis(ahnavigv2ܥbnc11ran0hKSor,owzau2-Do (e.g.etworkbbisec)curvsm`ty6ǿ{2ܔФGA2G">IL8crֽqsyHbc="8ce1 p?imgHcindex0140ɿhImage"/6GGG6.1gȭrX__w______Wۼ`abstract哬yۭ3evaluoti`yRRecyZmschc蝰+fam9WI(D, 753672/_37_.>ThP* qnumb q Г??: v辰n  umberfwitcheslongachimension, sheectolinkandwidth߂߂ف>T

    T8go algorithmescribthsxoeneratplausibl0`idtopologi(bas`seconstraiH)hi`؎neankaccordip@irsts.ƐYsakeimplicityjassum hHANIC8orhav!1hunitgredHicт71ǒlfI6.1.1discusslaxBlasttgggggggggdW8tYro@mormy:ivN(-val,u(?5Sš radix ( )R,a8tbepfeaHyperXs.OOOOOOOOOJA1how8ur9pseudo-code. firstepyr0ש3vailaAٙra-cl8Ys;Rѩ@stuishhrبE=5)w_rixposktJ0uɯDhXVV**we:ϬϬϬulli>G]רҙ"_Xy`i߈7p6߂''''''>!5 = 8on?a9eay)`t·oi-,q,Xni`NexaxPa 6x6 2-WltZYkPp3x2ȠHW3oWWS/ȔTɺ"tructuCi"߾;s\m enoughպӽxnec0mylo:v%9a, ptiP (nkt(LAGd? PKesmef筡armultiȒ#)cҼ (S
    ;hisaneeryarge,utelgorithmuns stnoughorЂicalalue.

    OnceeaveeneratedentireetqfeasibleAdid0s,ɇcomputeisePoH(Rs (usingin(sub>i)/4)3]),aximumop untnstru[cost@eachɌseϊϊϊh4~0"leftϊ>6.1.1ptimiz!HyperXyddswitcpp!y\dihelp#ٚaraQ'''\3____'_X2Kal5OM37OJ0m83Tbisb`a(D_6_Z/?/,)peboyXsnd-ީ)k߭ltiplierLAG)Sheshow !vggTQȾR0nۑdi@iIea;'vailJsamo"@ 1x!Xmaxd_________[G n: (i)radixR{usH er @(i%մ; s_?M= (sub>1(r"followctrts:϶϶ϱ?g?oV744372oGGGϵϵn ="justify">Ourlgorithmopssigninghe Kisshownn2.eirstet> = 0;ll邸i>,nd`itializenumberfpareortsPBtoR -Ԅ.tverytep,eonsid anyimexon*mmaSobׅproduct.fnoughAavailabl0ocreasb0widthat,inX߉by 1.otic9 HreggߎG1sac@x8necP 1deHOtinuAPuhldootaveleft߉is.. 6.3eneragƔTre pologies1 -mo()ul/ԼMz ?4links.="8cr)poל6ל҂5GGG C3+1ߧwtvǁdown-LaccouoV/·o14Oߗߕ____FysuitanSHNS,Gariousposdifﮉubpiomaximump-Ծksqcsquired.e)ursocedu(pseudocodeqwnn3)systemcPyxploxsp ^jpOPsup9)3bottom-upuriutpuتf(8ItAyimoPqǽ7Q+Gbe th!.ƙ0iance,xtta61fu0bis(wwwwwwwwwsr3̾.in:mpty=(0,,,)ғpuNM=*D e;NUP=1grin RS!f7 minal0Tslsorovided,eunecursionithGFT=(1, ,UP=RTY,ndS=SNM.

    Inachveall:addotherevelo pxing,ntil8lodulerggregatednonele8pology (bas(for:M==1)!.othat 8l +1thxrou`ystematiyplor@possibPoptspicknumbofow8Ml9Im?fPchuCׁא)9bprrom;Giҋ)KGE.eakuctrasquPQ4"5ssfias(XvaluGE, ϗ"o8gggg centerpr095GGG">TRnenexties.ƙXexamplex`ZN= 1024>S= 48zr32@sul+m!n 1illV.Șver,ny򖰁 clearinfXoxR pec0(scriB sHxsimilarTex`i9m d ururcBp`ɟXutputet:ulli>HI:f'$be1W (i.e. NMapseudocode)nto(Нen''$''oin`z궒ne8namaximumwמ/2bϏϱ؄macrjxSobuildupȴpdoZagn!7chi0𰬅h0alreadyЎQmHbyhoicѫq3w`* bH, 3Dradix/ȼ۷fGוِmNsi؈(rysm zz S|ׁӴYc /[,uPgclink0ProvybisxѺ4AӽP-mostgQava'R1upnexiX`_}R}/OblockquɹHa@a>T3:edussphs0Ѿ//////Gge50gggggwggggbx)f5(ur(Run-tim@usJok0x"200mX,hcep(cف6c(I??

    InEse(esmhoosetwe(packaversnpwitchasnselyYposinсs (gealooddea,inceODrata-centflosftPexp8),ur (l-to-㍕staythiX3's (8usefulfarhippedre-wired.)e!licyice,itsque80ermPbhp;rX)er{hassuȐQndard-sizeMabP 24@x36deep78%t)..arrangrows;@ptpscopXlno%eaH8aQ.҂xepa8by coais ho@(i.e.,}sourȄIinpheirHSe @i8ؔ ;9s14]S_R&ãhlt 4eet1?3?.ƜHaperכ1both҃e;0dp0gorm xdix8tti)hdecis<utu8workϨϨϨϨϨϨϨϨϨmo x {8nH%do unnis¯eca9ic0oo8УpkwhQBm.Դe8ت Ҵ1cei-huray8bB.n؅ѭ`ctB ow۸) el`vIfew$ n9]manrbeli@oȨɲtricI:(Xt[qminimumasPq`s9H˛. (`hَydo98@muٞ9vpܩp!.)E`ټ8p{c0mulo؞neAarybظpRcȩpaddip-jpromalsoj- (Aenougomw(espYA)hrn0l+(sqhafialɺ(p0lۺijmXwn) +i@ڎKmxmeֶbʝi7gunit!(h4lengmeI2suɰ@1xomurjkcou֧@@mplicQvoi'oopsoooo8pz$0'imgPdex00151IImage"/6GGG 7.1lwirnsGl,Eb>pi>eۊztiintap⧈tX!tedgӄ_reprXn0inkA,Afun2YT(v*3siz рefode vHmgecindex="00134"lt="Image"/!>VlWessumehat(eeserrovipnumb`rs,YirrrangemeȆrowsA(XJzwithY`),nd\two-diPsionalpag (particularʇ3:coldJhotisles)ωωωωωωωωωThereforerablem)toigurueasiistribut8pversrsّrlogictopo`yэAposi!NsuchwcacosSlowest. denotقwqaxz”from2py-@Lxax,,)!ǖǖǖǖǖǖǖǖǖAlthoughlgorm 4geic,tHpendhn-spficunc"PMap(ʙCsǍs'׍aikthreee.h(@a`fXultՙw2cus(detailSec. 7.2ϡϡϡϡϡϡϡϡϘalsoL7C0(lenKwhich, ;PgHq,驨inTappriaЖtyp8Knpmput{tsue.3_________[N[0giv@ y1{,s2Wך:iyw0zb>,uԗeantahanceeHcetwe@߶p @iim٦ڏkofWneededQpHcauм@se8rh:)өr`rICsPnXxcбyw!=midde,؂Fairf,xpulls'b*yzrpurownaConnes湻havunieil-hu@dray(ivHZ)wHet -!2n-bo( BJ཰cro(܀)numbP8[ QlPpie ߽߽߽߽߽߽߽߽߽ܬ0ccoui,ddPlfgjeaȽSavc@rkHchSWWWWWWWWWSԛnX `Y8,xceponseáѝ|0mselve)only\ѿ AkR߫/j*h9Xqnehjdir0unyЙ,utoѥ0-aAecuthypIY.piHKimiz̖thoookh3"0"leftoo>7.2ogiXphysbmfun+Vl>.Ɓ!a./cos@hardټm (beli NP-xqywork@pedu);sol8hugU mutnod??

    Weavees`eduricsor PMap(.)theyperXndGFTopologys.
    :ota}68symme90ong鉨dimensblso,iePaaedgef. le abaBtreɓ@q6phWidenal hipreduears؍蜐{agntc0hYl mut(ings)ˆoa nxfinquen +КК.upperh‡x"; e75 𖀌8lu`ociat .hɘgaߢin@eA,ssȉgcurrxu= 1+!TRU (i.e.,''t1Ih8)prob yrqف-radix>,ut x qif________aemplo`PԶʱYno\yfirstfashуilaHcribc;,xcept!o"ʲDZ{{ndomiz𾐽nfromott8oplef/@~,at Qavaиbparti y-populIf󼙹Zn,üKQmptybow `risles\seehorlengthh30"7.3Écoఐc跙h3]F2unc:CP()BusHAlgorhm 4empu ,CJsar`صдwcenarios:t(ard-(baatXѺPileH=0688053 >T2, xcom魧LttيХZngle-channSFPpXdMlinkLAGt1. QH 0quadQru@up5e8+ b簡lȂϷϷϷϷϷϷϷϷϷ̾Ñ濠always^iRPޤsɕTtHasrired,obtaп\.o`H8resull9sHo0dפ$ourreڴt:2M?jxP.749111 id="FN7`>7 7.4hoosingetweenopperndptical
    Because膀-speeorkablesstoreha(see T 2orxamp),ormallyeouldref@to /-f耸lengths(lowlimitn 10GbE/,pproximate5eters.6p/0However,numpх havoouteohfmit.nȈhcase,neplsomeB'wip폫߈߈ߓwsWdrIsoluti 2mfutu,啀cib<(bnCpnarypts) doᐠeabreЃqmoderlargeh2WWWWRsizP+1"8ř쐹Peussults2b">=sec)Rsethowrang2vs. phmanHtradeoffstexXРhdes er. (RemembЦHaHnon semi-(usipar0ѫhiquoڋ c.)Fɼ1ʲ M808 >Ӝyu`sʋ|aFatTr ,ytiv(, 1K8K.ß!uClC Zɀtard-ludAin llZXbY-to- #Zy|˻  9fewף1SI (أP'apdabilit)poinxeapflochoiDimgcindex0136ټ Image"/>z,ut/;J"epT˽Hkeeprgraphle. ،/l`tڊiqt.Գ̗‚lɃophysiclayXa0bsx.ΰsnaPvhapmu0hx:wgeXate7GGǽǽǽǽǽDzD}b2Ao@xobKirstIᅃlɾ€|ߒ"zlways; il)ONonoftf betterJklowdghslqameXangSed,WPeẀcxsi מ.:8yn(lth "ugоXsomewqse8]sެٸ IrentoorRupporٺad0sgggggggggcTsobvᤈdeWW؛;g. 3Js q( N"= 8192))؝zf  witchesostu(20%suchAinig. 2 (theameow-model4[13]).otehat(eelativHankingfcurvusuallyonothange,uto0sweepotsx.

    (ure 4ihows (vari `hyperXetwork (st-casexp8unts. (ForatTreees,simp2L;=6@@onfIonslotted/.)n an"timebyend1mo0money,ducGH Xhgenerh-bandopologAalsoaؓHs׎׎׎׎׎׎׎׎׎b>Comput
    : nJXtolXblecisin;tgraphaelizeasily. ϒ4443 >TᒏpsxڒousN8center p b blockquفG"(w)W׆a imgcindex0153Image"/'77755K,ep ?pW6?Ǜߛ3W$100cho؛OO????W???157??ߨO???_>4? aHhopعh2?Ͼleftsiz+1"6].

    Ahn el.077 >3es(edngorithmatinimiz@ numberyswitcheedtouilyperXtRHhgivenisection.owever,yXJconsidanyayoutssuesPopa?87199 >1comparcosts҆datxrAarchit@uremiliԐ@alysisXuser(hX3,dncluqenerpWTiddirXЗfindaeast- des@iecihWyÏXppearhaverioptJKl8mȓ_PPrack_ FarrPtoGGǞ558Cz8cablYӍRFat-Treh8aY:couXbelnabnsoliKȊprvelaIA,e1yes,nor`yahXdis`bu9s੘low-radixQmodit9ĞLusmeasX.͞A;ɩPnircuitoardŭ !h@er-h`k;ĤIu0yntȍosGG]ԫ.,eJQlrdbpsx1focpʥ be``taiP|exploi(y!l`pΰo ئbsAwdiffdom0qnЅpeuP`imwwwwwwwwtCur9ouoHlekA ne,uȩprYy:empȫ"umlviduoOhs LrB-pporyK(8t;csȴdepend"XrafdemHs (0goxЃz)ccurدI T-?=requde8led-var2׃ՎB~t ioe»aмAth`b!,himak#icultqp gts;opa7113Ю`ag-t@zp xyb0߶߶743514(mୠQjPXuHrf2*-ei:0olded-Clp()P@r 1l WWW7462580[hإ¦pynamadm\av{!+cincrHuP؝1lex9<GA/,cLknGhissuQ h2»$0'"left siz+1"_Yd10utuxUPrst8ь_ʯ(exlbR. 0eسX1(lojer"lnerser! al8is3z,ubabXwrong.ׄxneo6ec逸Vbeed Dealingifferentidthsorotndoldisles. <(Incorporat plenumapacityntoppers.ibPchoice/design-feasibiltesz(Seeec. 7.4)>Modenetworknergy nsumption.hisequires큙trafficswitchpro`tyGra}/ulh2eight="1em"[="0a8gn="left">11ummaryISCA
    ,g338-347, 2010?线2]AAbu-Libde@Ca,`owpon,.'SheADonnئSymbio`u FutureRúbSIGCOMM3ǰǑ3]ʑhN.inkeraviCMcLa@ÒSHchre r.y@X:Ԭ,ackag!pEft ge-Seϒ̔c`ucompJKNov.097ߛߺ߻ߛߛ߻Ǜߛ4]Al-FXLoukissa\(Vahdatp,Pmmodity a dTrchitHi8GGGGGGǤGB5ojRadhakrishna(BgiHuaGedera:ynamFlowedulYOINSDICApw׺׺׭׻׻WW6].QDaHTowleincisrac8Ic)onNorganaufmٙ4/׵׵׵׵׵׵׵׵׵׵׵7]8gt

    [8].arrington,.ubow,nd.ahdat.ataenterwitchrchitecturenhegefeaSilicon.n Proc.otPns,ages 93-102, 2009.11a>]dvoc1CAT6xwhichrehebutrequ haps 3 Sm𕩽maye dxtoB)enwxp(s/?771044)-omalhnfiguRnI wastePels!pquad-ܕOOO_9026_5\5_Activ(QSFPpyknp20 h,rѺ`m:us(bhA+qsoYdoonsihem/OO9204066'guYlabsminI!?GGs2880877W mod@(ixoit ntiz8lengthmultipHM0.5thȫ8ucSKUHu؈5!havh(s0excesngwould@pallowոnd`ify*availZ҆/GBWR h12"0em"lign="center">In-situapReduceorogrocessing *UCSDepartmHfompucienceanalyticsreedk ponlrunnanytoday'stes.pplicatzcpkogsm as؝ykфBz)combehaviorؖpreferYa`ycnsd-targx lgorithm (dlso〸lper9axrsecuyonitng,ebuggZoptimiʆlxfraucturehat(kepjMcloud,ousPs!machinspa ultipleata WrtyenerC8Ќord1-10B/sM ngan@e@enTB YRay?'#__Wh8ulkp^aHrove8o h 0itoo ف,p i0Pns8pll˒aRrXzecler.h`nonlynsumh[amounworkJdiskXndj,tdelayQ3lhime-ivįii߸ar8te""Xbypasdait򇁝 re-first-query-lHrp.nliP͝ouHexit8por(rʉXYfiȜX8llowiuH[nAi8wyyncyquire)xʅ)lYrtagap֓ړymyddes YdssPx(r>loapɃˏrprdes@8lRӈHow ؅bij1c8mpjA/Ǡ"left>1ro0ߺ">SpaboYxuc8#A-spe׺Ҵtrv 8mʨAw y @ , ZdeءA-healQjG/scePvXȮty.ƗanscpE-er| d8car+aniJzaint-of-sQxPuj,zctPrdwaHmisXfiguK+1-brog[6, 42249 >30y]''''''%bsemi-پ<@ompOʲIhthousBm HиunJn:sux5dR1-10B/NJ3880 >4ſعɱ:(1)t 1-n`xuldue 86BqrawcaXngda(To0nd01Jrsetman@ʓ1Bparel B6394 >12*Drypge9251 >2tӋIme`8capit-,yY'XGRenormight="0">
    Theominaapproachsoove ataaingleleredicatedyrunnuaulk cesym.nstore-first-query-lXr?[13](soadin*distribun@henxec ies.?;43198 id="FN1Hsup>1Howe,+cr8zؓaworawb.,Afaaally mit sca`xPȘ(ok TBWb:aXn (48 `s)ouldqui300b/⣿ٟk(.ԣ1|GѦm!pnsfoparmplXburdZ@vifell visioned.econd١emacxiAvabil8dreturnyleresulYpenPheavy rPfu.urrrvidrict`ncyqؤ fo .Qit0Ȩ8ntb% 0ɂRi8y׶GGϺϺϺϺϺϺϺ˷8HIgh(nQ)haٻaz-choHHY sibм1|hsummXxfulhmXubsetta isÿ8bceP@a zA@YǸa{csca0whx)a cuG؂niIng#cappї9lxfY))8(e.g.٭Rli)rИWgTe(seoaȜn in-u (iMRpr8tecmIfoү mselvByZ һ+y9volu٭ቪ@)5:*gntribd8orx. 71Wvironٯf@@antd'Hadoop=.ο; s(Q񄗗iøhy9reX,xn.4݄=;yCpuppornt-!swebendpQ,*baseetc.)usHliradialW9depmXna`yehbecaؾgكesufHѷ iYXYire9WWWWWWWWaqrxllow s:ulli>Cinuo_ml:ՍkbatchАq@qЯ9OtiinpuP`inЀܾeamhun`׾grambھ{owxzHdeɆjoblidx/tumbndA[7]᱑Hӕup`!re-upri!om 봠nkarrHs/deiAdc ;iuPtar`RЇyo0pڽ9؏Ly/g:MRupportsossyapReducerocessingoncreaseesultvailabilityhenourcqlogsromhousandsfervers.Ԃqterpretartials,esent C< >2 <(ArchitecЌlonsWeploaweithtotyp6bȅaest-ef`tisHbutPeamor,͔ar2a>].develop iciقȉpgiPnyroupkey-valuPai(i uҌ-dow rpanexiQXmpacՌGB \als)ZcancelxisheddIpol sS*maximiz8aXinsu7Ⴙzverf(͑%/ulPpeight="4"dth="1em" ign="justify">S؆2nviewݘdesp,Acussre)d  c hdormsinug. 3ro!uxoJ},fulaysooɠ/hmaP ˅_4߅R@iʎj$

    2ėznFh2OJh^wwGwww)is\(Xm,ῐpl dixcler-Ӱ/qɓ8eaٸjobHȴnsAҷbepmmedi9beSiH '"g(e.g.,)fo-.1e,Xday'shtchGgPȲHexhibchaIpak`abZ, -ͤ/.ƴ(,0npڭhHselve. 3-mhfroicrosoftrge-yfxy8) (17 -26%)78316QfQep"FPbȏGr1by 80%3880 >4l2cup(e-drزЯPegr=morec٦bar@[аphurQdHh(week/////,Be٪`summarn-situ忀Y:OOOgggggSley:ԾgetHPHenviron@(jȑXPnm!,aۿXKB38N0xd긘,srunsPp"4Qv(Y*rIQ72762320Fig( 1).`vsParynn-.od͂ӿؿinumb!fsPP\CsoZ`Plncet񯛁NeBu3aggregxo rʴ٨8unФ024T׾׾׺ǺResp)vdicthsXhspp*شxCsu aQocimrcao뀀fdargeting.hen-situapReduce (iMR)rchitectureuildsnreviousorktreamocess5
    , 867 >75490 >9]oupportow-latencyonuloggLike'"ors, obsa:verlidwindowupdandeli0resultssew (ars.

    Fig1://(avoitxcostofstore-first-queryr0syovOxsour1ύu46 75!ace="sf>Available>:' ssymo Xsystem1renthatay❉complete iimve܋ZilityYev f80rG+netJhays.dditiony+-actxlyh2hathrough@shehng,ѐ ȂXYexi(ytaskattach(etric9\quio(utput,Cuhoudgerccura.Ձalsxplicitxtradef d=(spfy9abounKhirh7777oooo>EffkAWthouldparsimonut`QOXDIȟsub-paneseUsIn8P[rcromcratchk,Qfur8rmizz som@x(Sh 2.3.2)ǿǿǿh3G' left2.1Xψ׳h3GGAnearPccѐ''B[12].rograms HKpns:peDsey-valuirs{k,}inrdp[ssA)gpa҂v[]4shar(a0kP(Xȳ1ܡ ex8hм8selm8ވdXribHalgebraaggreg7024Thw8Pٻswil@ٍ~`'(rӽvndesym鬑e٠٢Rmxjf6yrhӶDaQȸ̲|HL?aolumjxg-ŋ=onnotard (º)ϺAwmaߧwhiye@ibQ ' ">Howeimarynѯbdiff踊yxHt0msSNinu ,.g.,rlo@hs.ikoध4867 >7,jboPb(papifinp)gamsy0# 'ranhR*deʪmarocessednachesult,hileheindow's slideefinestspdaterequency.orxample,serould1ntrrvenovalast 24ourfogcords (R =jW2sufficiX撸real-*AMapRjobiMRzreferrtorҒawell.o0o@quihP-lPlhat\i(IptQo ЙbegBtl c8ump`extEi.fnd+tinuo},Xblyatchup߉'''#h3֍ڎ<0?"left''2.2ʌexecush3Ineneral,rtectuhav9reimatasks:alЅ֤maphasgroupinput~byeycgggzPnlPbdymxlikeadoop,Äɮs-valu1ir {k,v}#fromw*ividunJ!@! zұirksplitset  +rʋti.fishCtaRa&"Ȃr(nloaڅ6Њ_Z㋽p(shXle)J@oQ:{,vQ[]}ook">idribuorkQacr(ultiitIαsgn. Figx 2(tus)ۮ/)(i٘dedt8osoo(whilQкihy`combPI9aggreg虹ermHiCtĸan(ilahPrad Ϸ.owYlDry[842883 >3],an۹ՅڑQfurqҼAnet777g8c erQprׁ;15ؤ8 >23Xewe! rgorip.G-95621<HolicJVƹȼTwPXizhBhpoQ@2k,.g.xc>un , nsum߄max|cp8ztpI tɩrZwwbh3xleftgg>2.3ע8ow/gthnes(hh3'rslidQssingindowsotustecauseheyoundomputation infinitetreams,uǁalsonablexcrementalWons.owever,cdo*immediatelyeHmselvesfficip8-networkroces.ÂiderimpaggreggyhereachogerPccumuls ley-valueairsoric0nodinу0e!binpi.

    WaHthatisgisn'tׇ2ouPxa slidguery.ɇQ8case, Iy1recordouldluded24ucrvePsultXThus$inh׋ҊGgrouped,-PXnsmittЍupd (e)fz<R/SimeoducoheadiMRdapt؏sub-panestӕ hiXconceptтatro!"pri@ҕAle-o[21];hQ8IrAdiiȎ-situapRSז8vcerp◌aЀ img٦ex0160@Image"/n_onblockquo'">Figu3:*<٣ɦʘhystassuCsaXatؤarrQer`njnjnjnjǍߌnjnj1njǧ??׌ǐ/njǑ4ÛǶidu0àPP<`>i2.3.1ЄmanHa0xh4/7s⦘kxd`o (tieqzȻllo˚ZzO} 1N.οfgeneLseɪ$жpar]ioreeسp9wObm;cYsupporfundab)o3erlyѹKolic.y, thЀݼ0M)qdi pya's ia.؋A`yhлjpbanularit⻛gf-X`l0delɬAloahe{(Sec3.4).tsthi8fa0d\XtarN,inimizugapqdropp(a4.4.2)﷾fJga"pos=0771272 llpIXfro xeamigtpypAweKAl(aSoughb!ymx s Rmt"Heɒ,tip|wwdex`Xus)gw9Z60au.henfir02mȸxtagxoXnon-de90rPimImp1Gfee`hs׋mؘBhf?ag(Wpa( =h2@ed/dI2X)p`𪉒yr!rbfZoż (Ui`umoxerOOL???????<2׸#??m"1em">
    Salaht.ww908p7sd`analysP dschemsuch,ϗ,HalescRdisHl0yxycludhato `goo8ڛZrPfurmotive8aida`adٜcurre_arrl7workb8ame@K6696per mEtPsimCHrepbenefit£-bXd snumber-of-packe ύϦPtexjnet.o8nt0Qah-t842238i1m80uPȔxIGigabxNICinuxernel 2.6.15ũ switeen-N(DE)ʪOuphachp7ë"sy

    Airstlush,et`kIrollehdootlendemselqaIF-ba@)roachinceItocolayEetackeanQqlower[s (whKjpo{decis(kmade)]knowemanticsQh.till,(peculatahinfechniqumᑪpplicaP1aggsiveGgXthout`spndCPnu(qndsize,ߑGGC7h2LQMleft5A="+1"Acledgementspvscsiǀrgٴ''''ǵ77dždžǵdž2] Emulexr@rVMw1ESX.g` 2007?>-dl.eb./l/vmi/732\.pd٤ W____oo3:QLogic:dv1darasƤhModxsndPS3Octob89?wqkb.qlAKanisaPpm/Publish/548/1492_f.SAL_c.html______[ߖߖߺO4QLE8152 aetËWw.stine.de/fadmin/ims/prPkte//_\+'gggggg??ר?5?x:neCp r+June10WU/a@ts/ad19cc4e-870a-42e9-a4b2-bcaa70e2afd6/elx_rc__oneɾ_efficixy_Čǃ///6hmad.asy Etisk/OorkloadhcpizationnXerHPi>,lIISWCeEEE 10thnXnalymposiumn, -158,ptj7/7].ng,.͸ala,.a89Liu8pysisfruptoacchem!rece-l blemigigabitth@et wostsn_X ÀConferencenommunications(ICC),ages 1835-(9,ay 2008. [8].ong,.aLLi,ʀ;K.ian,nd.uan.ȅXerformanetworkirtuzthR-IOV.nPCA-10,10LjLjLjLjLjLjLjLjLjLjLjLjLjLj9]Yl,.hmad#C.aldspurger.ARDA:roporYaAlofesourcistributedtorpcsHc._nile Technology (FAST '09),eb.Q9WWWWWWWWWWWWWWR10(Kumar .W`loapharactolid#in֓En onmentashopNP:nalysisTools (VPACT`?Ϟ?1׋?8'A.ASILutomȌ`ŐBalingcross^DeviXzוx'10d'畕2]ҧQckers՜.ccombxMethodappPtu#coalesi/oruptshatfficilyJcXy. (USTO 606508Aϲ<3]ioft8owoseeqliosimtilityx9 vertiviskubsystem GGGEACMranCompupS., 15(3):217-252x997//////////////5].a@ĝusumeciKemrmdynaaltunŞgra688927756]Sh.h%rotIt@@ofPemmps 215-225RWWWWWWWWWWWWWT7,El-BadawqFaidarP׿Palysis8i@h(lschemgigabitetworkljun30(17):3425-3441߷׷׷׷׷׸׷׷׷׷׷׷׷[18W:A.ahtImplntȸexil/(evaluC0Pybrido?;W2(1):179-188ܷ9mo 򿄵z8ywww.cs.c .edu/~mark/s.htmlƁ 20]yStodolsky,yBhenhNhad.astgriority Hio0sskInmoas'93:SENIXpmposium MicroĺO˸€ rchitecturesymposium,ag9-9,erkeley,A,S(1993.XENIXssociation. [21]Mware,nc. IntroducofrastrȈ1. 2010aref="http://www.vm.com/support/pubs/">///*ى______________[2].ec,AMikuPandagar.ŌPmPnghempactfnterruptoalescdelays 0steady8atcproughputTenthoftCOM20028nferencR,P023]ʉhang,.ivasubramaniam,.׀RiskaEqetor`erforceirtuzxatlHncy9h8InPro MASCOTScSep50leftߜ߁pile=0352779 id="FN001p(>1h1F2멌cperŅ="+1"b-PowerudgeҔ8֔DÂsȮ$h1LjǑǑǮDž?gwHadih?yi>DukenivQty1oooooogggbAhansalww?}MicrosesearchOww??Jieuwwwh2wﮇߡߡ߸Abstract2D4oKcosar8erygnificpҭ s.oaximallyti`xrovispapac,hPoy-scrip,atsIeump@ـx210id 9y8Yn섽. CbFmethod[toʌgnexceeH8,urrXenceimihinardwand weluitvVbecausۂ.is󂐻amoiHpc.׎q(`alsystemǶinfrau3siibui?9Ouruenabl`oam5utperpthQirl񼩋()i8guareexIt PponPworkloaXx3availabHcgebyynam8Ipo(Xropri0u R`differxti9ȍTdeя!mfulʢi)in`sucZer'sAxo@ceevalu1ussrhromxldNW翧1ntrod8="€ 4"idth="0em"lign="justify">Dataentersequireargemountsfowerndheoshirsupplynfrastructure,ackupenerato(1baties,consumption0aificacern13].sideromK,availabilitymayQlimiting0,specialfomXdseployed priseuild`educaalЌ0tuemergɇtai0-basedgelopclo@todPsresult,?e9(inHz8apacesH`.ԏne@oprovis`WRhaXeadPaȋicenowPs ovsubscri.ɁЀbXrԑd8ssibleakZerіhmb(srer(an/N.Ӂtypopelow'evenh(ՕЗ(neausag(owePkeepQQtotНwithH?Ts0t u8rtays̑e,App8\bumecpism9h(rott@?R Ӄ uchbHcessfncPB!beSsr@saffiؓ"methodswv1134 >9i, gc68831 >ZV6 >2OI4679H].

    setȻ49epsax esb;P%shif(VPS)coord1$Ԏa rnumbxPmgiw/ Mariouſ1ompxytiǕ☵ 0tharHy{ox`porѷ8beswxystem?oundIei2axpHri80؊wvraonPxgfF,s}selRWlҜhwwet.ec8eow{oؗpractySraisuchlinht`񸟮? ckH ϖǹQM#lxerrorih Vwell-studijor`c0gIhmŭrsthcha eьevaludžhrough@ja-vxHtb@runnix`!bat cbhmark Reعl@ata㿀hfromicrosoft( rvi are!dWWP=ʀ "0">
    2irtuzedowerudgetinghallenges2.1erhng3팟largeumbof 0(data `tsXamople ns,ypusAv%.Msrom׎mayo-2Ȏtsamehys>dependn nu`
    a2p le8.sEd,[olt]fe௨((DVFS),?Q(܌!ЌHc@ H꣖erailFig 5):a絀,vһx25%epe :P0opportunomaxpz`ftJlpȺsel{bew_os sfQy.piz?th)llengX mod xHGnoJavHaQHcerta 2iyXaownpbZ9ӗandatz8ʛc"贘org8۹@clou@" XYVPSystemcluȘ*rkapwork#paj  3ļľPXyﮏ7Oploadu Qkd˸Ыp0aho2o(`GlS7e ˀ beynamicallydapted,equiringunimeoordinationcross ppls.

    Withi,Io#fowerotsMsYsoon-trivialinceheestnayarythorkloadolume.hxhenscaus0ifferexhoH tiersn.pyxample,nsidHwoڋo fr-end#execuarocessorntivetagyack灀vi0ataXorh.Њusх􃷄dedn 8liz%anuppoithangetween 50W100WOHmprishdisk%h 蓨dSfkeepsn,80W,ddiA8cup2that9i^#!I/O0t`tyteak I,땗8eacphi`h Hٖɑsspeqelpy#bxpormoarnotant''#CT0ބon;umpR influeedy*sharpon@ulQpmhhP9capacvailablFHifnvi肩- vhenergyɅ)Mʭxovq .niewqsxoximmbudgemeism yY?owY''h2ֲʳ,1-lefts="+1"gaL3ymes3.1B.A/eߪ3eߪ߯ߪ߮ailepos=0402810 >FigA1how xuSwaoxcor`pooBonXsI0hyBurlyphysB֪K˼'XsaK-3wtopmoCXaatxI߉77348 id="FN2@>2isc8_aryplharrang ipelinhat,seescribedetail!ign,acilitateu8ethodorptimalowo`gLcomponent*0roachtz*v`ablemoefficiranxwi8 hyservrackayoutasxhParchyo'%urYeVMelycorresd".ith ,nstituQofte`oad8lancȒqsim(behavioIfarticu"haeasonylumbYrhpermxnearuniwMXdirecm5xsettff8{qumonҚ9yrge,!dؘ!dinc8e*sayd , Xnetwork xtyYloszgen foc8ree-:ata圈Wq.PSXindepe((\Zris0hyHHts (PDUs).

    Rbovȇ`csȭjatmxm0lnXnnQP.́mԯ 7n'snoYssiظ@virtuPztpO#shcrmultipQosystemlinw+ u[8, 4324 >1]Korӡ ividus8a}*Ĺea|܏Rardwplat;񺱃װ7NJpagpdpobtalwEr'%wApuon@lsayLiϸɹihouЇu mș -poiprocessPcurr1]WGBmo`adva@man#⹸B lICPUtitimlh,.e. )Н4l fromarero 1pea8!.ӿX(l0DVFSHsow2y'ȓprPgHWeh#knob`o.Fmemorks`tNnumbfOrѫ0],effxthrottlHbxcycl.ddilud{framework`ನvayttaldyesز0HiZhdohchsanyf@ur6ri}e,Hdcooequipʾ` ensɌixwwwgggggggn-donaturКPksp;IaIdecistypYmade߿:a񊨯h di buاhunt|own ior,ʀ evenue,ndoSxpectation.hemplemenfuchierarchysowProreophisticatedinc8t @orporsnowledgeboutXappl'sMayhypervisorCPUimllo.sresult,VPSystemindataanagJlane @hthans*boardrlade-enclosubasfirmware.

    !p@uxpkh0est!er,enoqPT,)Jpio؎qconstrai(t⏐sfipps.tuld!RcapacityilȊpIil,dynamic,W-of-daSpricesamouenvironZllyvenergy162]vailablh3>B0"left>3.2op̝lÒrollerNayartoning//(ix?n s𚻖as!Иido(orke08pracPecauowptorhFirsWnzload,@nmhugs x⮉0tif gNWMecismadaptݟ곪un͐Y@ofeeded.e dmeayumpsoerrAdd:a9'@rYwle؆ocihid+"ڊnfrauct subnon-l(a`hgransm3acrHsu߲0og(aRby ip׿ S rectcto eppenõy'limi__XЩ (backddbo6񫏬 8einɪת'nromҢ`pPw/Zalsoό߱h_gmrwinٽ&circuYbyuXv ˓tequipɢ?tiluBتttribu$ificgVMsoutpu2>$wI" anchhnnb Fig 2owNloinvolvJ86pLQa img1index0072Image"/n/.bkquote'm".: @agram%''''''&bn!vail*@cerobjTzپssmaximum0,p1'dedYyinHzthrottCcc`eirƸ\@robћᲓȾשIaID߉upproprlayer.ϴalgorithmmakPms1choomomultipmknobemployz !l˄A@osucʀ hshoseasednuleatctuateowerncre0sndeuobserv0consumptixlevelsayecomenstablerscill!Hshown821].PSRatrol0eoreticramework+eniperaby(sign,vangfricalngtraints (qspecifme(dsdounelersourototypr utlinЇSe3.5).

    3.2.1ppl@bBudgePrioritiesNoHwh؉algahmdapДonُl`PT,jPID`utputHiumialgs'es.ԁnonobvailrg;lyʆgm1inidu8caffhrough)iretivVr{ѐros;ous!n 9we0zeasurnhardw,fows''#|72At䝨visAtime,acasximb,ex`usa`asay, 99-th centpeakoad.טnon-virlizsetوG@P98simpnumbfxXo XvCf}when9ea0w +9}೸XpQҜroȴinXu8re18aewWccepH,Ě#VMXncطexpoZtSudzvrequi8aatXȼ@bet:ۼKȠYpXsPndKhp>0iةi>AiҪ ߴߴ߰WWWWߴۅuΔ(t + 1)l)chrn `p (t)oHmp!tamouunER,Ǵ U (t)#(fir@emzhXd%Gϱofromߪٹ'':M:w8prǁimgcex80073AImh"/6GGG">x>p(?P0Aib>tartingithheighestrioritywons.ftnylevel,resotnoughowerudge2ssfll70CsZneseawet8fairhardistributerin,˂s8propoonalчtixvis70W;0po y,wsለaffirst.imilarl؊1excesqIleftv8alsssigqus2WWscunki (omayvablesom+be8e).ԑFesYontrollȄPenforced.ʼniGAsterminsX crohixifeedbackohunYvalue䝀meə@#t9. 3.3o̊CVMomBan/(Atypllyvidinnumb(tierE!aa ‘xedsequhriXh-ìզreceHromop}amoZhɮn5T)'؊mun amq7Қ`thu8Hin!ooooon co(G9бlo1d/4OdepZۢ׈oarodȹusag볹th8w;ri ߷[shouldː[ ;QcH @dpetnHer(cЮ`outiliz|&½0feasi0pecificnobxorkloadoluP[7].Ⱦȶ`ll0ӯ2.3h`=ӽghang?:#󶹹depe13layasusVFS CPU.urСbehav softwupgra0.ɕvirtuzfrauctuiuprxmultipnпhtX¾wQn,iۤqicWVPS dynam[ouAly9rehus3ee"Ȍ:fHuräϤt HuKbaaob`v9׶ڸBarrIaipelжthroۡhdhcZX1^f軩o'8elhipԟ@CnenotAwp-oriJlؚ† sumKhold)8totalgKs{)Aߑ߻39d`8brٶ?nhquHɷpkHuutomhma #mB/zAnx(@]WWP8WS18120 >Fig3,aw8escrib3.5Őuc\un?$]ell{f˴b)tҾٓtʀ ionssot`tanttifferehpowerevelsndurthdependsn Cayptrolnobsed (IfigurehowswogVFS\),mplyinglearnqaodelorȅrelatIhipoulden-trivial.

    FS3:ervvarithrottlIofZltiVMPU`meXo1E4 ace="serif">Whilepipeessumpholinanyracticalase+ ouascri,qorelyz lynquirsvabilitwhichass8ngam.ԘanalysЂGBydiœ beyRscopapaper{aspficeedbackGreb8dproporal-ihgrHdvve (PID)N(u(t)
    pres0ha(ocat!o,ieoohceXtwee#8appl"budgeЕcur陨measx,paramesiKp3.4ԌLҐ4h3?OO׽OOOO˽t??,5s;(iVMWgItmmA̴YsoWr',u7bs?ǧ?׺ǾOgor(!mayamultipWVposalnu8rototype,wo:PU@mKaDVFS77G'Fon)maximum|q8H8cess9)|sleepaa(alsrh@C-)uXN8,du`ˉutilizץwt11]`ʼ߂ohi)outfforshDsaH//?>1omfrequency (P)sx". ʀ ThisnobffectsllPUoresuppliedromingleowerail,ndhusmpaVMharxose.

    WhiweonlyY-basas,eindir@influencrmponensuchstorag@ubsystemyimitSorkloadolumXroces Iinurxpmpfou*atconsumptiof׃intensiveataihdoxvaryth3scng.ȍver,)afuturex߆مvid03trolSanℐubVPSameѐ PerformaaOmizaI:ՐfultipVoppopportunityo< -. Fig 5how߄R(aacj (StockTradhn,ӝX4.1),diretq@two.ā.typQarksqx`ogVFS쑸lHց˔WWVMHlloCtJ.ԛXkey `ervHan$(yachiXtPbintGyieldyO/e$WS77830 id="FN3 >33.pLoopñ;Ȯlh4wǮǣǩǣǣķolٜÜreOumjYT޻أ.uchsul(arn`in-situȹpwnXpds۹0758 >8].Ʃhce,˧Jsreprxxs:OM9OOǾǾǼ_?(PVMHX,AuBcpuO[eutilizVM(c*freq?Ⲑocessuence(tgparaerYy qchlsimXrly.ultiЀXTiyidӼ!a3{">Noisibty8W׹ћd.n)JloYct( ranupsa]Jobtuni ȶidhʀ eierow0amonghVMs.orachp,assignedisonverttoPUmXllocationsi(4).ԃtroll easyimplementndctsnstaneously,uttoesotmpensateYrror:modelqu+

    3.4.2IDÇ3AccuracyfoooporaneIrov feedback.incOrreal둛murstunsett,xtorkvwithoa.PSaR (FigH 6),hvari#that pys@multi(omogeC, u(t)И˚,ڙ8umsacroslldAm٘differeЗʃ!ctivityሐacceptab(onl1umf~as(sZphagHrelhip(st1similarˆH yaraardwqhfQ𕸢`"oft:runn(}twfunon)leazo`putiliz[_[70758 >8!]ggd="8c erpa` imgcindexp0080qImp"/n/?>bkquo7"f:ԴlPlr!_?///C//badeY ai`dvgؐ.Ȼx,i:ߪߪ۫ؼ8r (i.e.WbudgeXlnߨVyonggPvalPt`ʻ)harchy.lsoanipuЮBYЬh>orpojanyٽ`ohqJppliper0ceǾǾǾǾǾǾǾǾǾǾ3͵Ћi)//////////irا*@÷`:Ѕ>(MPC). 0ws0ڋragGknob܍2غ`definyerm c qhنᆷnquHmecism2ӐgggǩǩǩǠ??/??;co0͕3izXbytyp8lis wo:Aerr؉)squifI:ro!staG鋘obje;V luqQ@stepsyxmqfutNC}"בпYctar`[yet psolvEoutnext Nw(ʯ,h@ion(repeaȱ@cesben smoothѰpg;GǦﶷa b>CF:uppoXdvfs(i)deDVFS[vVMPUlHtГopix.i>f"where PVMsheMoweroeracked,amaximumssibleerformance,ndwEaeightatetermine relativemportftwo as.ԅXfirs ptimizerrortweenargetJpredictePBlevels+ secoYeHongjgN:step troljectory. HardwaCoordin
    :lockiagra sy8m2howPn Figu7DVFSnobct`1eezmayotsp(boundarieuttsmpuaboق dirh8burough`xcrvice,蕐tphysH((BcesrequHsromMPCutOxPÂ (potibeYpdiffns)4*ڦXfncym jedpj(noѬ uPttlErrybPˈIler:w$onY,s ipWnxomgain,;add0sint0unCPUme3urCcessleahVi yielh bų(q7yX䵊jNsYGs//8cer9p*Աفap imgx(00821Image"/n紷qu'-:ԫФʨp_Whbas1es`@ZrP6previouwo,hxǼbexVPS.ert`loudlatIușMicrosoftzdo) ePIo$ sth糙uHuAwhe`vaiHle.owPɗeod1alsoee.`rЛ䶈rwPID_rllway膬a8eftIu:tbanh$pBcQtepᩂfh[/infeasiJ񄰫upmethohaamploy 3246 >T 1mmђoنە,ǢǢǢǢǢǢǢǢǣߢǢǢ3ǢǦ???עǦǢǢǧ":Ӊylj/-3.5ɏem:h3Oo|Ǟ8iEnePrkrvi@zsaphys@l򠢺unloatgg3,kivg0(rootyW@owsy-V)actu??9aKʹg@9logL;datHزH1svypa0esyXmm#ac⍂fП_Zvʀ > Crollerarameters
    :heeedbackFssednimplementationreunusingnown hodsromUystemes@iature.orPIDǃe`oyatariousay,bp Kp,i,nddolZiegh-Nichols25], testuns8thefurpplics.iƀPtoieldobgkeepGtableჀorkloachangHoweverodoesotecesslyYfaXgencrinimumshoot.ϐЎunheuri csvailfOO`ayegredePCor opeaichorizN= 1.oxpime-8(helpfulJenspsmوxInPSlʙhonPndividualM8l,ЛmodeIrelccusha xrnuffikopizeffexȟerrqermIaAstraiXmax lma,y!at؛wthHhase(Pra _hqdetǣdOsAbeyoQscX.<0/WWWWWWSPriP?͏zlgfhf(dvfs(i),v()lear'aңȓ4each ܧ[#1settPexerciˁnss:/etricXDVFSCPU󄕍GierwiscrHKhardw @U,r𶹶J10%10@mea@E״sgwϲ0758 >8µpqu (4)BsVnŧG4!i)̣ȵ$$deped$LaatItyplhavl"numbٹHPXfig:9%ZpXbulkQﻨa襲Wahx (剣npmOOOOOOOOOKAddiYófrruct(o(QӔtoP(Rircuit8uʂs,polx netipٓ2hchniqu@ǘǘǘ0)zb>Ai߸ssumknowCmayIHǾcribS3.2.1.fultiodi(rpriHwI(ticomacр雁@+zzy{batPPceXask sapRe-du0job:do2[– ڇ@᳏buled, )r,CoordinAcross̳ھ밡tG9;byFlv\hXlayirnժ@geҺʂ4senGwxsތ receط@backhuvoiistabilour!`ypwu@U舏0henLPID,6{ 鸗n[rsߘ!Ǎù#߂Onalsoustep ,ʀ eadingoontrolntervalf 36edstheatXe!ay0ler.ԁEalgorithmeachup estsutputassigned_\.

    4ň(uationWesewoyph`applicsorrs-anactiveulti-tiHn(Prepresnline8rvicsubject0variablrr,at)com(Jally- nsbatprosJasks:wwwG%StockTrader: r17]pen c_qler(webbenchmarkmimicahYsite,vidhYWindowslatms.tIfunp˔behaviorequiPIBMebSph 6ϏuHoxr/nasif؃9xs:pmiddimpleJuhogiclba0ȉ8ragckendcfr-x 8htw⒰ Rinres(Ȍhaalancamoș"MsoqGgggggfmod5enhgw: 8,coPOolumqsaq) ory(graph0lb w_o1O9p׵uaArelevne0Nep磧PECk׭romPU 2006/.3429(5+.gr0dobioul(ypylowr0ityÜ08ooo?Tre8cyt,Ѹ9ȅyܪ]L!Menger_Zkmill)sSaѼh鹙apshow 41186 >Figu8.ainstʾg8gpa,.hء'Nxf(єygcԽ Qdu‹helpǎŎHiԢߪߪߪ߫8Kp꫔0aȀ imc@ex008Pal8Im"/ngwvblquoq'vXwwr'NGEIWWWWWWVOtbsИseven, 񀀙wxhϧeҘubjectVPS6o蛰¸%qucohHProLivirtuxzFUHy8-VGGGGGGGGGTb>Aweployyq%s 4lМxhGs: 3&rabd,¦dÀ;atast@or¦ecomdq13Ms-C7f 6)tqgXn 10VM9assЃyڧad_1otiqsuX cp0sourxuti𫣹peak¸erˀ if">Stocktraderndrereatedsighrioritypplicationshile "T#A"SPE;givenow.heMs:mix(upcrosserver@uchhatomehostothy肹 ionlyrominglevel.a Js2mohan@eon.

    Measurements
    :owpmDž0orxe obtain8]isechniquH폰 betweresourceage,AcbonitdeVMy ypisor,otualpusp؀nop[dnardwP.}iiestbi'p,etfattsUpRO6420 >24@t,onnecHŎludebasۛ(umpiw(umHwhH*xbudle);Ȋ)ri؅3anypecific,PquD(1)(2).oolqippart;.ׅɕMPtJtiʑ@'Htroll(xllID,caCPUdoexerhmaricsyxlmeComX nInddi2AVPSwimultip鑒䟧33246 >Tab1ўlsomQќbudgetsymYowharchyphysXlayoxt,cf_iDVFSYi֏nobo Lxila oSorks56722SZexceediir lopPC,.e.`Ժ ǩĻRhrottlyirstIllpu4WeductOru)diffصloa8rP8tak8谈խM(5›@١Aa ؄on,﵌4529Fig 9h¦ !ϙʔ+a8kpencdurv8und(dashHabo )Xæ;(sВPl.Ϙtwou_n[ity9?YdσϪ0lea@=erroA, q߇uPc76ٚt xo@une(aBuessaryhi<86cArpL0Oa imgPcindex0085Im"/n/.bkquotH'.:gainpv(ouynamic/(g''''''& fXzr8rapac8`abilPsayPfuls=t䵀sup:environ9yaPПe3674 >16k68515h3ϱleft4.2es sѴh3Wu0Rѻ:ta )*aHi`f4.2.1owerudgetingrrors bsefinedshexcessconsumboveassb,ormzHbyJet:py68.centerp7imgecindexX0086iImage"/6GGGϊώߊϊώ">where PMpressmeasurdata kption.Àoelowbtarevelaysulpromorkloaeၡtrollrlyrervative.€߀߀ّnotn*za\AperspecA,tnn msfchiPPpplic8hXfnce.//Ϝailepos=0448396 >Fig 10how[aHdt0arHeviۆMacroall8(imuns, 0 hoiԜPID-bas(systemhhbecausprgrBoduri@(ge,mpatoPC O oop$Ȇqcted.ȃTscillsڄ袀lsoe`[75373 >21]sphyslrchy lj phari0_Vnob` XDVFS,6ra=VMPUbao[.roxonewiscrete❋ophKatHv xoyteps.ϔIРXr,KsieldaiQ(²p(thudho mple+9taid@ZGC777wOIa <7_籷bkquo"O:ot32 cwͦٺWItth񱙓򏪓{vhn* l ؤsoPq&)ensay}layԪ7pmoIpp(߮50242ߣ߭hoY(ST-xfiStTra-x)p,Ay_8[similaߐkb𵐴`betVPS ASPEbߨorit subjgreJuaH]߳amodelRObz(lcuracyຄsPAdifrHay!souryNг0758 >8xAultxX0˞ump"8A{dothrottlesuffici*,ado .uoÙZtgvaHbȾౡnpgyr²C,ibudgeZ' ictulP8YZ;d˘*neِHstHwebe2arPOKk[KvirenJiLphyspi rchyyaxivid)0o"f¹bgggwϹ$:ncemɺCh4Oleft(>4.2.2о*Difʀ рferentiation VPSsesXedoespectpplicbrioritiesndoSonstraintsnharinfraucture. Fig 12owsheif7betweenDŽDŽnablby X.owerdcompuntrolopern,ormzqump.pόɋύ8ncerpڍa imgcindex00898Image"/nWggfblockquote:vgeOIurachystem.PECrST-A l y/iideallyn(swo uldav:iWed{Tphyslirchyasr,hi+tdwQlevel`ttZofߜVMo8ar,iuYo0^ns:0ghM׏'ћsimila mHts.ɛɛX@,PIDMPClɐSarkm›ߛߛۨnPoploФߍ,ۖ!throttLysJ`.ȥ@moduQznotork ellorStTraѭ/weeYOr?mulescausing k'op_r9(xplHJ024217h4߶leftǶǥ>4.2.37er mance">Whawbo0boPcasAroUɫ@iت1rrorhdinguishYfeaYkXixabil鹠im誠Ί9il轠seleؒeYbin&Ssetɿ yield`4aiv#GGGGAnllth(ecty(nǗ44613iէughp@iresp`him؎2p,ԒD\sabudget.z9w a!icez8dvantageooQu@itȹyt7Pmeas(shlxegx, σPWdef2qfraPonXj򁷙pdqwhrun{unlt:b8^cerpʩ/imgcix0090Imh"/6GGGǻ">9:_Zxg.ƷpemXalculpJڸnOLXn48384nco?:lyw.׾B²0e1OOM@*Yue髈,`tߣ٥aarkϭusiww?W>ԗ76177ϚwwG~blquo(":(aprʀ рiority (throttled)pplication,orPCndID,ithheameowerudget.

    WeXso1inec 3.4.3qtbisstricDitsefDVFSrolnobeca hardwi8shHamomultipleMs.hiXIVMPUilimit㉸bhI@toy,AonlyidSaldyBcoordin[Pviceotudimpactowrack9sett*p woiStxT A'sOnMX,abeVM1,co-@a)rromrxWs0or,82zpl(dHPHc 1h3s 15(a`Pb)Xow¥)Ñq0durYexpmp,adivЦirunxe @!unaboו("Halwayp00%)?-ڟډrequbst4.Ɂ58do1FBlevel( Aspreapf8sthuv3ǰ5ǓǜdZ(s//ӥP#ǜİP羷wwwww߮1~advant蜒@yn44ѯxobtain7pcasۭĢڝQ\DŽǘal8s0a *²SShutd茹:ɯAabIs:[ >){.¼0,ͽInP0~lncy.ȼ P,Tflu(cRsump2vprocessk.@gnif荺50-60%,sp2o`mpup4s rid@€orectiveanodu@{psopT,nкthrottl)L 6Ip.Ê id0aHyaЄٿq)10m,achwhiH50W *0peak h(i.e.,nc")XsutiHKwr0d%)Ktotאկ؄pz.uppoak 2Qpdesi.n`V[4 5 ³kllם룈75W numb!cycavail1Sqd909bap!'oؑhehGG!3b8?)Pˀ Uyclesynly 30% (insteadf 50%).heecondpproach ievpartYit`owereductioneliminatingdle$threrverscanfhighPperformance.

    Clearly,xploihutdown8$htrolnob˅odvantage.Ȉ,wtAatency.lso@iityhardwarep,ord(amoallMsocxx to8 BrequiH.ommercial ؍satrautomcyigr`Fsour0utiliz3changPYalryvailab[20].ncorpoutechniquinlHʔKbudgepenPezar`lle wi`likeyielif0enefwheottlG @ximeuaonsϖϖϖϖϖϖϖϖϖAddonA/s:eaintPchoi-valIe3.5ӕiᠣ0)ccepto0-subscripwit8tapacit83dynamicsȉfromorkload sear|xduڃ؁ aayד68044 >1SYspascenarios.PS탨pxoNus1aulti-n}cl8iPwhorrenvironm-Hxٕrg1sola|1reiylowl85BemyR0data 9wisZOQde@dpaXz`q;pr8񀗣diIJ8iotHast0a30nutJoel0Xrk0,owAa9dlpgxh2>B0"leftsiz+1"ߟ6ҍyWh2Ϲτ/ϹϹϹSiavQnsidPmѺZ.Ю򛺹qg\Qbe`率113(9Mb|ȣferx5shifKxdiscus96@3, 373"831 >׹6782ԘGro`]AXb΂rCPUtiliz58IWo>],f`ImȩnodT-ѷ8jlimװOOK rar(cPro1j𷸳#y(Hyhys*ack`youtR,CDVFSҎhknobjߔais0td[Vǂթ$W򠸽muctuhsٶ,;calabXt@Op؋Qvai max@z8mG_469147 >4 2ho2madxetwɶnumbۆx%i"sfrequh.nunnhomoeouIg ƺJ.׼xtebo wwpshIminfrru0re hpHhos9o7, 1427 >10].heethodooo>]unespowerettingstachitoetnverallerformancebjectiveyetermin0oordinatedrequencyevels .ɇχφ߆,nentrollhiss؄3rocess؃ofʀ8A?e irementndxorṔcmiz艌energys sadNJmodIacrossultipl.׋pt+weuslowhead(chanism do lear2-J.ur~workithynamicloaXcalsoێnobs.

    Partitio:duotasdistribuayC(ineffici:becaQunBDapacitypXdataBnyblrS SolthblemayeencusAbee26153assumhsu@sVdeployed,r/nfrauctupator_________[addj3b8js,r8variouIl:asp`Ǥ.çm joi1',ti@0on.lnagZa304^ -applicsXȞ4B.esxlysбOYHunwaPfeedbackSinstabil69939 >6wsqa踀archyʹ󠍅OOexwthroughwy£nvis{,a1(cк9 studiF512 >5 Xcom01ar.PSltrLd"e@ ruXfj2OIed.͹aǕ?zH`(usKvirtuPzWhh!id 1572Pially ,{ropri Ǣ{ffHntH껠G@ѾpC ᥸vȊ7.Ʃ(8,pɗK0Ѿ):2s y{Y$TwHricTe:"HclouXona@蹹׼mayh8YѠ@a(yR`þxiata *:@uron߼YgcausavailYϿЂ bhewadaphoӃ{X asȯл0m|dricrosca(lwaysɬ raooojh2"0"leftmsx="+1",7onclon&moסs `TGT!ipnˀ edrganizationfargecalepplicsntoierXssautom聀lyistributeowermonghg94n ropriaPorb.ultip;controlnobsrexploitforptimizi`permance.ԃlgorithmbaͅore8echniqueshelpnsustabndobuster.PSfmimment(Idaptpracesigahsuchsckdetailsystemodelxlivisibilityn׈

    8cwgsHENNSDI
    (2008),p. 337-350'72LIDARύcSTIVERD.eAMBURGWװr-;data8er.SбpxAebruary P7___ט3].ƗMALM>!REE.oopוǻrough@unil+ICAC.5)ןױ???z4]ǝHA>ARCHO-BLTocDҡ>EFYWC.Ͼ`farm^SIG-METRIC9o//O_5oOVINDA®OGRUeGAONKA >IVASUBRAMANIAMߎQ7DINϏtȿc! iltechniqueszeffHWPxrEuroSy____?????????96]w_6NRIKSSO/xww>LBDELZAH,Զ1tegrdapcomponps:nm`chengoce-systemsa7c@-studyRTSO7wwwwwwwwwwwwws7ORVATȥ؊NJǀeKADR,˺WWGynamicoltashmultitiwebsthnd-to-8elayntrol.jEEEranCHut. 56, 4dP44-458??????????????:8]˻^S/[ZAƙeOTHARξwHATTACYAVirtumachinme"ȥngoC10>ˀ