From ce9f1f5a0f4a87904e6d940429026d2dc16320b6 Mon Sep 17 00:00:00 2001 From: Gabor Szarnyas Date: Sun, 14 Jan 2024 07:01:47 +0100 Subject: [PATCH] Add more content to Interactive v2 chapter --- commands.tex | 4 +- .../interactive-v2-benchmark-workflow.graphml | 580 +++++++++ figures/interactive-v2-benchmark-workflow.pdf | Bin 0 -> 39375 bytes ...mponents-with-old-driver-internals.graphml | 961 +++++++++++++++ ...2-components-with-old-driver-internals.pdf | Bin 0 -> 132569 bytes ...ractive-v2-components-with-updates.graphml | 1010 ++++++++++++++++ ...ent-operations-validation-workflow.graphml | 750 ++++++++++++ ...current-operations-validation-workflow.pdf | Bin 0 -> 41714 bytes ...ow-without-detailed-update-streams.graphml | 1054 +++++++++++++++++ ...rkflow-without-detailed-update-streams.pdf | Bin 0 -> 111700 bytes ...interactive-v2-validation-workflow.graphml | 255 ++++ .../interactive-v2-validation-workflow.pdf | Bin 0 -> 26716 bytes interactive-v2.tex | 199 +++- interactive-workload-definition.tex | 2 +- tables/table-short-read-queries.tex | 4 +- update-operations.tex | 2 +- 16 files changed, 4781 insertions(+), 40 deletions(-) create mode 100644 figures/interactive-v2-benchmark-workflow.graphml create mode 100644 figures/interactive-v2-benchmark-workflow.pdf create mode 100644 figures/interactive-v2-components-with-old-driver-internals.graphml create mode 100644 figures/interactive-v2-components-with-old-driver-internals.pdf create mode 100644 figures/interactive-v2-components-with-updates.graphml create mode 100644 figures/interactive-v2-concurrent-operations-validation-workflow.graphml create mode 100644 figures/interactive-v2-concurrent-operations-validation-workflow.pdf create mode 100644 figures/interactive-v2-validation-workflow-without-detailed-update-streams.graphml create mode 100644 figures/interactive-v2-validation-workflow-without-detailed-update-streams.pdf create mode 100644 figures/interactive-v2-validation-workflow.graphml create mode 100644 figures/interactive-v2-validation-workflow.pdf diff --git a/commands.tex b/commands.tex index 9fe97ffd..384125b7 100644 --- a/commands.tex +++ b/commands.tex @@ -163,8 +163,8 @@ \newcommand{\snbOperation}[1]{{\ttfamily \fontseries{m}\selectfont #1}\xspace} \newcommand{\INS}[1][]{\snbOperation{INS#1}} \newcommand{\DEL}[1][]{\snbOperation{DEL#1}} -\newcommand{\CR}[1][]{\snbOperation{CR#1}} -\newcommand{\SR}[1][]{\snbOperation{SR#1}} +\newcommand{\CR}[1][]{\snbOperation{IC #1}} +\newcommand{\SR}[1][]{\snbOperation{IS #1}} \newcommand{\Comment}{\type{Comment}\xspace} \newcommand{\Comments}{\type{Comments}\xspace} diff --git a/figures/interactive-v2-benchmark-workflow.graphml b/figures/interactive-v2-benchmark-workflow.graphml new file mode 100644 index 00000000..de65a873 --- /dev/null +++ b/figures/interactive-v2-benchmark-workflow.graphml @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + Load +data + + + + + + + + + + + + + + Measurement window [at least 2h] + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + INS + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + DEL + + + + + + + + + + + + + + + + + + Warm-up [at least 30 min] + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + DEL + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + INS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-benchmark-workflow.pdf b/figures/interactive-v2-benchmark-workflow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..640004e0ed18be97c233232cf4e6a7f9729a01ec GIT binary patch literal 39375 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 literal 0 HcmV?d00001 diff --git a/figures/interactive-v2-components-with-old-driver-internals.graphml b/figures/interactive-v2-components-with-old-driver-internals.graphml new file mode 100644 index 00000000..a512863c --- /dev/null +++ b/figures/interactive-v2-components-with-old-driver-internals.graphml @@ -0,0 +1,961 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SUT + + + + + + + + + + + Timings + + + + + + + + + + + Scoring script + + + + + + + + + + + Data +serializer + + + + + + + + + + + Initial +snapshot + + + + + + + + + + + Temporal +graph + + + + + + + + + + + Graph +generator + + + + + + + + + + + Factor +generator + + + + + + + + + + + Parameter +generator + + + + + + + + + + + Factors + + + + + + + + + + + + + + Benchmark driver + + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Short read queries + + + + + + + + + + Folder 11 + + + + + + + + + + + + + + + + SR1 + + + + + + + + + + + SR7 + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Complex read queries + + + + + + + + + + Folder 11 + + + + + + + + + + + + + + + + CR1 + + + + + + + + + + + ... + + + + + + + + + + + CR14a + + + + + + + + + + + CR14b + + + + + + + + + + + + + Workload generator + + + + + + + + + + + + + + + + + + + + + + Scheduled operations + + + + + + + + + + + + + Benchmark result + + + + + + + + + + + + + + CR query parameters + + + + + + + + + + Folder 13 + + + + + + + + + + + + + + + + P1 + + + + + + + + + + + ... + + + + + + + + + + + P14a + + + + + + + + + + + P14b + + + + + + + + + + + + + Data +loader + + + + + + + + + + + Benchmark +configuration +(SF, TCR) + + + + + + + + + + + + + + CR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + CR1T + + + + + + + + + + + CR14T + + + + + + + + + + + ... + + + + + + + + + + + + + + + + SR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + SR1T + + + + + + + + + + + SR7T + + + + + + + + + + + ... + + + + + + + + + + + + + Update stream +(inserts and deletes) + + + + + + + + + + + §3 + + + + + + + + + + + §4 + + + + + + + + + + + §5 + + + + + + + + + + + §6 + + + + + + + + + + + §7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-components-with-old-driver-internals.pdf b/figures/interactive-v2-components-with-old-driver-internals.pdf new file mode 100644 index 0000000000000000000000000000000000000000..60f7179b9541876e53167fd272e447a0d3e2705b GIT binary patch literal 132569 zcma%i+19E+ljS{6ahw%F5kbTOR1^e7#Q~AQ0Ys1))Ky(i*%$o=-7nId>iVnyTGbc* zU3@MRNFp=C%!s{rRCaR~?zAwV@<0FAfBzpq=MVBHHa+0apFg9~pT8gZU;Fs}2KJwN z;~(Frzpoo-|I~2!nVxNZ|EXnV|LecR+4J*HO-yD#zJDM4*TsKJ;_UmU)58Cw%Uu>f zf0mtJjWeh9%52-Ula`Y`68CL=-f=5=zFL>uSnl7O(D{FQ{@*%($I<-p%`Ke|Pz3EF zIEr*gtdA2-1g#-R?LXco#?Sx18;|+h68rh5%|3#U{dfEn1=!K^?;N53@45Qd#QxJ} z9^Xe0JO7xl-NUgzf4cbt`+qdaZ~I^DY?s+DJF_Dzzl{C!A^vgyUkllHkX!giYfldh&-d}U zZN<-gF4-Vo)Bp43ALIXgb6*Mp&MfS!=5mDGRTe$R3K|f{8uHvn8>9w}3WX6z*Q3Xv zTpBpcH1%4C#2+q7?U6J29mN;)&ES#Yw37SlJco}Xmj0RR+imrYLMZ}}2f2bOUR%;*>FX{qB1#Mv4k0L3( z6n0unz$PO=M|c|Erbp(3!DT4QmIwHQJ$LV`4i>{Jp7q|2$K6gonvv1%w~)*ahJ&xx z$QckqA^mVb<+RQ;oGU{Z@j6!pH1GHlL4{&1SUuX~LfRc}d|xqU*l|X!vx?Bzw;#Vk z@RmI1BzIeYcK}jr-KmPWuC8S&uJ6%(%^tJuF3lt(z1DbtNt0G9*gTx~=mx^)eLWN6=B%|jm+wlfPL2a&4_?KM4FcH3 zvbG*Kr_WdKbe()k2IvP$I{eM$?hQ#AVAf79oko0LTf^;bk{SHAW)3T@FBQ?|Mw*p_ zoxU-lHg*}hn^&;~WN1;s&F%fdVN-{>XW+|e%}e?;KgxF49aF=0MqrrsV5FLC{3y>Y#FtZf?JsS-bn&Aa`D#CwSD0BN-aJN%K8TPgTD z+|Vd_d>U5mba#IXcpPXw)cL@tYvsLeZ<4_`py%=2jK`U~FcYTo$(&^;@{BF_jVUFW_0Yy=bE-xw4aKZ)dHPHYaBi_U?TKod zdQlXa{_pG!pVfkJ9XC)QbuY^cCgB}Eqi3JJGj+m=?52*u^0R)?zcPE)sbJ#G+BGKO zLT{C(&2lV$31-w_BG0`w6zpfW@ZIp{&WYBq3WP=9PSQPIoAP4)^Krj#vU8c?bmD%} z@`?}3D%&(+#B6=(y1=c(V!?WaPuWC=0jRpr+-s6`BZMnlb1V+}co)`z6*cMER~!1he7kyN3!#ZL#DJ<4O&m zzC!9O4vzF^f!&?&O@3ZgEWHC)5pV8#c36HSB@VAE*x-$B3n!3X`z0{&xit^>oR)%^ z+h)H8PyEyHhQ7k0ffa%(DD5p@Uk$O1FOG$dA7ADs0K*nE$oQhn&`)bov7!Babe)=w z)~uBXXj|&cRD>=g`!{Kvdhg>zWd=*l-t^d``Th4Hz| z<3(zA{g7(5_pYt+YAO&t74lx%v1QjLj(hhKw1O3m6S)F<*bz-D+;F2WJB`OK_;?-k z(Vf^@rGIN6K#XvM(%B>`7v_pU2lQlIX5;2?DAcZ(1#8@f>22Lfwoj*UoP~Ei9%NWw zyKE5WKjgOI4E=u0_||1l{R=X`9_&C9744+W!sVf-k;yOCcd#@{}` z*>DA_L?deCJIS;7HcoP*(K{BeZ`2SiaBXp1zkc$u2EI5Nz9nTZLx_5TcKAMCGCUmE z=&m8=r$);!q+_kn1q44~ONv+ZFQaMb?mSuUOz)-jJetoB*Si~3CgZhceDqFS(Us+n z0B@C(d_?5&UcaxJHZMIvC%F}Szjxx`CH)Sp$tYN6j?6!O$}YVI;|epM?fTDA7%|di zja3M&zt+M&sjGddLl=gUYy^jhua*aEf=za+a=Z=ManxFmoF!|&Rl!|sRN znae44$n>(cT!XR4Sdg;=w4vA#47MQ;v=7fEeu=V_+X1^Lfm{b0;su=C9UtDEmiNO{ zDZ+MT-@hrf0!HpldU=DxyBI6&ZSSnV+PCn&F94SiES=63W(LB?75BU^Z}njbdwkxB zxqS@yTFGpfuR6AAV;X*%sN8F<_|(ne@7K{b#Vn+@$57`2)2@|J*^b14v7h3{`CHzi z&g#??vUYx`lGdR>KOXzpM8b*Z)%#Yc>3feI{XV2!d4adC8dY01#}yuZV7vZQza2jj zm+;UDgn?~u1Sd;k;nfbSr)Ry!9ej14YPcnc%TLxJFT_4fh}t>9-7vT#v_2J@dT}~g zY7kv<9j_@rFSii;gjD4N?VBYaZa+r2()(H+@QO4h&(CtyiA-YCaDP2z6#J~zYEFCb zE1t1*wKB1e{RM)QulLl1>i%v3u^In$EnZodygT)BHo$GyuN7!%#DSHlv`KCywtv?f z*hk@B(xcN&QY~Dgs;@_8_cjRXsb{HHW) zo|gWy18pwmx=oGB%ZJ7l55e9x zDU2OZ_%=n?iQ>)Wv(TT)XMUPB1~IfbtadkayMLymXz*+U z0j^cRmFtzVSC ziM2}yRNUK!2luo&Oo6uu$As7bH$&0bkPnt_xyjBOcyq56E~M)#Yrc7=u>2aI$3P0H z?{PrD07_kLysZ zIjb+si*6A$th#SE2TjdFUBI0*(Jo3v6Ye#Vk;^SScGH=DNn z+Zi`Zn&eX~K*A3HnwLs>Q$fGqRQc_f23(ju7voxtjh&!Aq0sAG%%PF>w~1A2;QQtMli)Uzrt zTxFK~)}>r!p0(T`TkY~-50L#Q zw@2Cu)qm5WcXZEg-o?}+}PWr{AI#rb$0Rm}$XMyo4(c=@WonTgrYhipWt zTk1zQXRuJT>!$~J5c`prDt zm|93J(b_Bs(>bp%3Tg=n7niFCeHA?@n@!!XGl`8C{Op9FtL(TV^$wwq#BVq85>P7WRa!TDJER(tsO=Dpbad+Hd;}Gq3pGu~l>+crOy}iHUE>??1;bim>BMFEI1AR7l zmagGfEjPi zmD28-e|!RKy7S206i-OPf-e=2x^4QsLomjow=)mvypMx3J=Eap0{uu_^ZLzis%O2b zajuJIZySB@+Q5*Ga_j-@sVEgBlJHy-9Y7-^kG(cc5+-Mfe= zyqUXJ+X$;~UZeV46)nbyGuA^p+OzDUSjf@xIA+Cy3#qtxC8ejluf zB*L}wg~s=Q(AJGBE}rJ2(lmy&_fJ~+>DEM&*~$$h%N=+WwZiQvZVG6nm_t_#j>x}aaqNZ2~@Z-9? z)~K!}^vHE+v%R(B)@x(&2>R|%EG+UEH=7X6XUIO=+Y_*(5ASZ^v8!u>Tr{_cU2G-L z2WeqE=)B<3V!V*X1$;d*r}J6+Y43TAxnZPnK_t-czajA23Mi1C75l>4HLfI z41(UhUFp32)1BEjk@^0-7JI=3K6ZV?2F?+~h8FxzF6)x=u+|MLz}RbWSG$A5VibOf z#tORm{(jJJ7s`#{ zf;dEmwcc`TIzCF(JDJhYA)C^rOGjGwNN&T`*A9_LdU~qexKj00H*~!|+BXITwiSNa zX$LqT2T4$gFRPCAO@d3KLFcJ$J*jU`d%C?qR_)48n|O>d(8!;E9_K*0*Ae3FF3@M6 z7Bz&b2xRMz`e}Z8R*r}F8)zk)?Q=oRU$#B0mJ5j%jvlP^B_`eKA(Jj8Zc~>7<4xWY za)u=s+t~F{;fvxT6^4t!eA5Ll=3sMf4y0G7^>dy;n`{ze5nl}U(;+r@@<9L7p(uPn z-NcsRwN4wy70~`pJD5>8>nU4Eq$kvUc#S$lp>r40esSnb*N|13k5=QlhyrEwG{y(@ zNn@s&Rb;|XSWnx7(^}~C1bm<2d0f31(5oPIiEqmnnkI61lk@ebK1x=QA&z&~JSB{d zS+^m((IHv@N_y2dh6GkAjL1iGQ|Mqh-L2>Y#xtwR8Z5x4-T02)Zjsxa^Q`jY9Tj3| z7<{rCgI=mN6n;EfAwLw+VQ&z5K;Z)kt$9e$4%%1EJ~P*a!A;lg0)-4owACfNdxIz* zc4exG@f)H$AMxcE*k^B5`xYHEuut9A$?1}9$&z$z&%OY0s^ChV8tn|t2>somvkx~>=vivd#q4fF!6JO|MzoI%KbRG7WK zeko|O(?O6g;gJDe<(C%LUrcnjIvn#|i)M}$sC)DfR^bJ-n><>l+;gjVMUT_L5i=y?Qfqx3nt zoB5U~87W*kt}TXawt0qE6^7tl3-zFlUpb!bU=6AIgsYCcQ>*$~%;o8`hn>DE4$kEz zP(<^LN;zIG@CpTAO^=a55UiZUM9`HsJRG~L%k93M*w(C`pff2{lvS0|9#DH&A=JJrd=dYBx00ID_6n_Z=a~hVhK=%~ z6PNF#Gi*NJI?k`|;f3B>4X*9Eb$V-@>O-Z^PFwAItag{+tX`RuHTqG?uxU$ea^*qtt2!@BZw-la z9Zk1YNG94l?MP1lLVmb0*aM zIc9O~^(3$2pliM9-fUN)hN|B4U!~cD#;<#CT>FjRyQ_R{NAshqw2b!;D{AlU;QZV> z=yJ0;o`~0Nx?KVD`@9-6+q1ZrT>-1tzH-ZW7>?)ltVMUA1?c5LU0%2|Ay*3zUA|8@ z&{fpP|K8GxL z0|J)IU-LZorWbxAl)#v;E!JcOWh-L~KU~HdbY!XfR=~bIDyVb?90avxiA#QTN9AAB zYFU2;r<-)ok-5XEj53uzVD2Wfahd!EQ_b=6b*o!nQ%%rhyrirW<@6KsM7Jq%*6-VQ zzVj}>8K|)>>stc;!2_pSf}^q=2f}q|lkqG`@C{*5M34s>d)5o`VfPC;Hu~@?-2b0HLLqAvf3A z#D`|poJ{RJ^dDmY0~~IY z;+=kVOPw+l&R_J9Am@mFO5~Nehc~?h>jL}Dqh6Lf-!SCLXH0(44eMm^kI5IEGH2g( z+~00Jt<4@{FR9c+O(j2rmvE}ChqJ+ z&K%Heg>=7hc+>98h&Im=RAb(3+jJU@rU0Fa>Tui`J0{h>SsC$RvA61tCdzBzL=||{ z3Eu5w9PF4~jB^E7@W<>LxM;>OHXLP!`DcYpJENgw-6(2O8W_R}S&X@gJ>1v2$DAP_ zz6`xFSjeTwT{6S~yV>b;dO7YXQ*_g0jgL{zSO8Nu>TeR&U{lwB*f;%ktvT2fVxQBW zrFYRv@)(|14A-^2S$&>^jN(k#bz_Ws%TM95$&p`^HNsV-u?GKXj_XC>(;P+Q5F49) zhibqn$q{`HQRjKIwKh^5J1*|!98DX^A!*fhs&zQC%IL#78;r#8vkU6t{p?~>s~XJ)t(6j9e#~-#)(<;waBgr8 z#=)_;L3V4f8I>bsm|b7VYo`Nyl#If}nJ;p3O=~ual}X%fPA1(ZA{R$W(uAzTP?$k& z#b9OU{X5kKqq<+r=lDRaE!QnBDe)s~nPRX=-Sj^Szl#<7oOCuwX|fs8cdV%<%(l7LVdeh`<rb z4tDTo8rOLQ@_r{HZ;rX<&{r9J=f z%H$F0W!PHDGfD8+1DfljGS2}VOeTxd`&ccn`}O1eQ`9I^(jGV2@UVkqua2AT=wTjk zebzY;^5o7I;HBvfMu_Dv25?`?48`eRs0#>)T?y|Jvl3k9xd@}DVkmaC%I1#8zCnoa zrD}}U=;na*Hc1{Q!x2;U)}w-kH|CAC(HJ3pW^HUvdy>z^D0=z+0@{nWwo1+;WC88j z9I6l{%;~ub{!*WtBO$O?xD12f_joh0=eksl8`k4Ye^t@iS{6NbtZ)+%RNVRIG3}!N z42wXq#qsZ95)u(wxd>+RrmSuU-F~jhXZY zwM+X@X-w*D4;?vC>1%(=yVmQGi0aej6RP}xl;;XK4?6xY`}n+N5AkQqu)|AV>fk1Q4#Hbu#rti=(Vd;7 z_Zo06;i{ak@n!OqC#@Vi9cpZ|BA9-Ltb#5(3W{g8=uHkt4oIrTNb)U13K~u1T1W_T zcGHH|y}ZKfulic!#k-RG`pC~-Q@ak9JY2z6wJ!Crs(B*hRg``pWQ#}5+s3Nc-UGK% zXFl@l4`XuV%Z9=nw@RWUWFw}ulW|bI|4$`Dpgx)!D$ubF-q=>tCyY6y-C=C{839p z*D>W;C=c`kZpi@rsu)b7B_ZUb2gsj0Is@L&g-KZi*mDFW_ad87TRa~I@5OdG1*-i zfHm~&?-LJqMR!G&=1OGE3+QkfEEMKe=;=nINnM8bNMURzv18Dg)ULa>E{|~y-SBt` zLs059EH(Ws-oIqXB!T57Rr`F(zVBUT+C6k|>nvHS(N;#rpe#$zTVw2_oG=MV1XgZe zM!apLUnJKT$#|w|Oq!-01HZo#z2C;N`Dg z^ke{k^~LM@p>47oCC_9xl=m6F_dgM}5pOW_E4#)^*}Qg$CQLOjdHU)H)kll#v-_EU z4CjD6j>%u|USIYBGw1y^Q1uc5uQ<~OgdsTA!#a&J!S;G*EZ4l4C1Z#5iGh<|5OP1b z<+`+wJ=-5ETSj8T2~)nG0xtD#+2ihcdE`71OCm6tZ>h}#O_@s8jbDRYsn zZk!{{BSH>{RRmiNEn%jv$Q#;6&$Ixiu6LkF+&gB?uQSLskE`Wj%}j9|n94bo)2N(o zNK~B)j@LeofBxzb43r<S#o!SWQ>}g$ONIh33-pEn>Ror`bhc zse!iLnxFcOnX}fapJTU^_Xy>&@6jya!v6O=&#k)j>JKIiTHN=@Z+teuxN|hTCI#@# z(yGemex0H7M+>zNi&^9b_>Es9$5J6)kBYzdscklwnwcZy!!&NuR8I>ZGpLo(BIjbG zJ=PZL(%ekReP@0HKy`J1?y%8%z=vity$Ht3SmJ%SZ9NJ+Urt_qMi0#_A|Qf%GAhnO zv$NHvH^l?FA9a2SyP^B0Q#W^c(u)jG3z$dOX>I+yu5CwFNdGOin!hy^@H6Bw5sII3 z85u3;0nbWEZd|N5+b|&(c>D< zZ%SZI|9-s%UvT@1lFR!5Sg#H$g>{ z4&W*7IxkSU6we&9{H@u~pmVEKCJXL7;G5EEq22(-ScGs_Kh46Me^l{@y$0_jww}q8 z;$uVmw<&+^S0iZkET;VCV)xnCsQq~u(aTw9P_8nN?B~$Sb)&8FZlX@`Az+W;JcAg8 z;nF?7r0`8A8X*Y|+hlKbS`uDru2zEj6}6>s6V-MNZ)8u;>DE9X!Zpas= z$26MiPdaU0>n7oD)_S;CEyA$sq{Qm2|*hl9Z)IK{wW>t|$tdc8~VOzX9KEk$SAgQft(j^%?)UdQ;M$-}+P+0#t&y}v|5USVqveNMf3-Oi1 zmWle5za#F@4X-kaa}~^qgFMK#)D-;!M`LD!wU+Q+tz2Kxk?#jWk~DK8Xi$_|ck?l9 zY<#o+=GE3K%(({wTn*dpA;jc_YF#e>(z4Q8Y2%*o1Ka8YM}hNg|30feM`n^*Z!9?2 zkB;S;JbJ46` z+_os^yIn`n6Ai{>(O%|Mpk1vMgPT9wk_7-Pj%&$$B(M)7G!d)y%~8$6oyvzbD(zK^ z+!@Thx32qG7d+z#gXkTnN|=OnBm8iEIOJZni>t&r``p(fo2 zeb?AXN5ZDgn>dbpfyuGc$tVOxAjOd?RO*`7I{c)KX zR{>$IXY>#sRfcv-1?FKDhBGHBtORAOZVnQ}tOa9udZwM}wZir0j9f~s9g2d&lf8~v zY?lYJW0pJIN5KarJwpN7VD;U;6L0B+b(>~y#4H;V7dDjLdXHHbF|~q4DAucw+?v4d z<|zO4STdk&-p{jlTIzqd{gWeo6~%+5vZS9Jp!+*@%NlEU6}Gk^w3!iv!yxU_79$Iv zdSH*G$_JkoGJOGsmFb;t=2BX*<^&-5l(}8nMdJp=6z1w|qo=ymECPA9?DC`jZXxMm z`Fx4GgAEs{4c;^i5FEFeRC$p39DN-X-bF~pjE2U}o zJqwIVim{7cR_kxk=j($@%wnEsgYwm>+27W=x|Q`K6Rr_gKHfd1Qrqp3^MkGd(+9CQ zSG8ouZ@si$g%-WE&#IG}#2gHN+PL_{aG+Icvmp5B7Jh7ir6uln&~2_%pL8a;+r1Po zo#C_Hw8puM5EWor-5&H+y}G(=`CtX@Q=v6Po~9th=Fu5F`pmTH&)n?+Bl-^{{OGf& zdNGO*Jl*Y^X|6;a#}g*4jvLX>SUCzp=G7nUsym{!mLpo^*ZUNsirGxVRdoE%QUHjo+y}W1G49zG#++=Mx7K>%1#HcGoq|ys3B9 z4Hf&bb61C$O!?bJKC1pC=iGj|;vOFB)(MA*<5pzV@mX1|I%Nu?rz+a4G}c01aue2+ zoKH#NtZvY)EuD2ST$wMcGJR&hHyg%1yQ@CtL*?FugY~`Q6(&ihZ(m9~vi#bF${jrWU`{28_3qbGhG!nvl+W1@{i-^gEQMqdJ!a zWNk(UY()uV8tL@1z`YJ1PBP%)&K>lp%Sq;SM-g#eVX#kG!%!}|Apw*f{~8V-TpLp+ z&&(K#_h2k?hr;&7t=kKpf!g4c324T;7cM`W^eH#~lwc>Aj%Ve|v2yOJmrb>E{#N!A zWFUb}U@{m@T)$jjxJ8Tkv`+JhFl{d6gT5Y~>)N(MH^s-QfUVeRCYpjpCVFuzi4(>V2k&Fp(PdBuYS;Gzo5K8(B*!8)P54uguosb`JA%Irpa$ z)>oyalGd-w{S-szTgZf$5XINcW6VLG`V8vGs>yks%s5`lWigGzaYvZE3cn+*>@G!X z7&U%_>{aZ)$G~g|r+v3@>YPu;v)QZ(A+%wGTUDWrB^bRWc$gaUXj9vmNXszP)n|am z)gm!IsSw4f+rwGffDpDW^!&5}HI)|d60*D=Wz=z~H`rOkNKOFWP-1LM$A?K+a>v?r zd4$>UJI0LzB-QVwm9$w@hoysbP1YH0x{Ul~JNBSjEH1VM?*goIYO-zIn2n4|GN-?> zqaf$0CF5t&8;6SlyrPB`xPN{bgg*yv^ZL#VAf7xjKRz_>^dsW6lAKu15zjfJ{rN(NR z7Z1)@y%p&rs3Bjk%$X!=3SrwVw`npHe>OS>^%h#8XWQv(>ft%YSqTr}rB`^!xVB`s z4|2QF4ili;XOwdJ{Ot9XuTD^xE8GPYC^{3VL>?dY(O~$LUrq|wyz+t&gZjPLVya=g zZ@RgvT35H(>|!s_%BcCN%|4(%0Hh{nHgh_3Yz>gtzzlw>U^Vvm!(DW0_g>XHw;Re? z>ekl9-XI{kECHP^-pnhvW{=|8=(U%^;aKiA+SDU*hKt(@*e`2`es(&Z8B>IDy1;kE zl1=JgEH9y>KHJt_{7^3UqP9cs`KnQq57NwK{9b5|;#2(S3bVO2_(a`9I_QWeGN*&d zI!`uE{3Gkwc#XKp-DK4&TJsypT&&mWuF$c1TPsbeU;MQS=^(k-#zrfL&ui`8#;M@3 zn=aQ#B~(Q14>8o%MC_v9jONuK3oN1nukR`)1;3D|Y|g z3KI*}f!S@wh3@B(lOXF47=d87aRlLB-Q+kf+aCRy&k$PTv))cF#Ai|8yVshc3*38{ zF1E^e)PM;%y=Pl!dX4T2_yV~20W6<m11+_eI(B1ruv^I3wcM7F`FMW05quWc(=50H%hF{5&FdJo_d;8lj@f3(S$rJg z1ZLFkz9dIi@1De`d$rv!#?@54hyysaVzQpX=yF1b)?~=%$HnszXfvIH8>NU@4| zuC;hK5a`PQxLdlB&+Bfm>D5*RgfkA8tZ8|JVNh9amTW=|Yr`+BNxSu;8RzTZ5l#jD z^~9@#?Cf+88+$aTXOA;Pn0PHRS36_fRNU}`dtFmI53U}JVjN4M{#Jtnr28#>lk(&} zo-gneJB`+TqP@atY*w7+v|NQ8^Co_3)l3(MxOZD1zJ8Mi@;Za{ZF-o*T<Yl4R--nX4&wp^>etls1g=bn`hIjjo*v%~{7z+OY3Id$70n+WiYK7h ztShZt8{ZI5UrJN*YPCb?*vG%pl8IYdHuCDuZZ*8zm+&vVf*TX8=j>Yl5tp(auBi-B zb9PN`G9&Nx~CPwf;LEQs=QTdFDQwR_6t zVDF*=dCR<*=~W_f=|L1-Hp5lX+QJCoTnhpWT*inUp3=v-us8-(tN7h) zmw{XcZoSpDgUjx;FM{udPT^B=^Fpe`=CIjdd6b|z<#KQ@e%Gj5N|IB%F+{Ky9T4g> zb*@r@0C5>bStbPyscMO049|9_u7-miPCy+*@Q-Os$| zyk=#xZ({)oYg|4ez%P7LgU7yb6R2AFieU_`14p!7yN_&2{eEY@trd(&_J?jqSeNoW z{7Q5o>t8#@{QL|z1-ZJAz90GXxmFNfaL;$>#H3pD(&?FNuv4Bjc0Btt?$tQPtDAkx zUxDSwFtq2G!e>frbl(?(aQ-Nkv?r*T2!`O4} z)`iAQ(8qWSS+$xk;X>`+GfA{O7mMTWb8&nwCwB3V>8XwTRE!0ZHgvUe+o!w!w0v9i z7(qo|P`<101zJ(xRWrb2prV)9svho2Ke73* z|JT0!fCWCZxZ_5>Hq6!Q%g-V9Y8if!{Y`$e!_WGiPD?X!gwc9H;DPcG_BZC3>9%yA zU6<<@d!NJXd3pf@us7xF#%kIWrJHR;u)g`2Ku zBwuo@q4imXEeLvP+)#Uk_52boD7Q%e())Q^%}-lX%U*U5wmUFE)_YX)9UdWtTQM>E z7^WasDpbc`IznOW_Q-!ttvotU(;3nDAcyREr}fQYRT&J5E%?rLgQcTXC(_Q+vkEhD zL7M1@U>jyFL&E~Of(v;XR5=K7Dqd%T@CrM= zmQGwpI6Qb@t@JvN(95gdp*P=JS5$4`ht4~!3WD9K^B4p4GRHzzuz&4aZ3Yf7Hu-~g zeX-gW>XY&1IW3M6*yF*}__p}=_Wgr* zY~RB7<3+Mzw@Z3ks8n$ zbKK6|Nq7Dwquc#k)Do2IFi02cA1Qr!{R47exBi=^?;pDEyqkrB_-ynFJVI-v-{3q*p51t=23nPfZW6mdY@*oH^+4A zvBa7y4~klYva37&sHZ1`Q9nV))?*Hg8`I#HwPua?`*si}*KO^ppZ7Ue4%R~fymW=e zBvA^bgq3>b6n5-pY|YAp?zj4eDv>o*vt8lbOM?$sBdhJxN&cFE3DUxu50`C+Et(|r zFoeI|sq=?_)kY7vf2{lduQc6SJ-GG0tqF&LbC4=IDarD%KkQ?qK$hjm)=TC0%$fIk+mwNJ10P*kYlG1^_eN7*VC zy1ZTd1@@{teJ-J!x%A1A_c$6+b!E=(!6dBnbbYq;N)p%WXWd7&MrtlM)0*0)e4=bF zjQTFW%Hn6s!CH5t!+_^xMR^jp8WS3IXu0qwcb7wBC7RiV1Mr3foz`Hhe;pMWo84)# z_^h9W54r<;sGhzQ;3Y*o4K}s-DK#4l9la`(1ZNKIUZ<126AkkA&b(1=%$u=0-R;oC ze(kzhGU!q*Yp|+Eo3nOTYc283@>kTCioGi}5U)=;Z?tR|mS}VC0lR@i)h?a_Z$2y# zB*lDS+sa^Hdd$CYN%=z^JN56tRdB~#1SRX9LnVKuTFqJgJo8tcYBDlFw({mg%?34$ zU3C7){``GUnmB>6tu|C8f^jQ3xF-yA(0*WVA9RcD3(JmsGInkp$NlAPxh~t5LGcla~-Av(KsIjyWw?q!*eBIvb8XS*Xe;XUhE&1ML=L3P}Jb_{hX>!DGtQo?-5<2 zCkpQJX*DQbj?DMY)UFJWi=d8m{{$IqpJ|0ZIaJ(uh{gOjmY3zGw^t=*+?})zX+!h= z7;IJJ_tVt|6>o2zq0SRZH>dCwi`0{XE{Srtoq0aAVD+y#-)A0J)32s62s9kNvi9C` zHUAa}QaUe_`%m*qt;KnLfn^=(T;}z2G1>Kz)ePKN*y>ZDuS|bfSSCFICHD)*Nf*)c& z){>x$ulRQz`d6RlN{r1DT)?Z^}6O2O6Tz*CuiuDH(WcTiY z(-mX;p;g%AzMLyoEj`AgBkX~GsN%^PrLnT+ia04$`QyEIf9yZC^^#x;&))=ZA1Aj|=z#f>)#FpA z0-;s)GiQ&7!I~=7#)?<{V|nWqY@}_mXodNyeJS*<@dMrjlm*MX{zd-64lF78;f~z` zV^MkXWD=o9yIOZ#t9gMKl^hn%WJ!y*(=EjeRmnh2U{9O++;fm3x5p3>a|1zIpP*aVYMj&6&`PAg<3vkLs)N7TjE`-0r z8HXQ=0Roe#O>HbRp;*km|FSARhr=^p-8|i*emA%3(y{KmR~m1MZ6BH<3V#_~!^e@q z_~1=O)*tZKMXMcKde;Hzq;{Ll-+8bkg38Prye1KLJUwbFEW@%=a<<;FI!l~o}SPr5x=-s85)u2IMSCK2n(EYDC-#NGCDP#M~m&4jshrZRd zWw!JB#n-yxs+Q7Q<2&Lg4bb{XXJ^>fbO!mZ0Cep3dO8ovwb;>fq@`juy+S(T_`@AN%IWc@oO$G@XRw}{O-teH`0gV2~7x9%kr2kh=wWW4wiA4muDyArzXk|%tRwcbT zBSb5~h&OQGBT_!9l(|*gU-vm|vS?KvXZ1QAq^I^7M8zMjzizr00Hpv7AkSP1ESOD# zDYW{{><`;T$e?yCl`AvpDeQpDV%4L1@>mgo!%-X;4~6=hWX&$xQQ>j9Ou9IE;YhE? zJP@BSPOW2QY?5fYWVIHgsmqBsW*m8&y=nJiqq_4%UPHd{A?j#l&utvwa*R2wTVu(s zdDIXjZBK%~HNEc{dEqPKwM4bY#a{V_9NSBL1rdKV7K9DCz6+b>eIJ8?%_G2!x>>`x zs2>{NKR0*E?Zvy8R_(Onnh9J#?aL-=<;omc-q(&cGf#X+(FEx`1dlJvcpduOphQ%+ zlC9<~#7^MnV`a9ug80S4CO)f|yXMsL5!9R=Z*(i_J^YepI5m2I<_|LKjD$wbN_bms z*MMmO>U+l+R{`S(&?=-J9$%`{dPP6dX94Z%2rzrcv5we6GLy7fQbp*?gyZYx-w=FU z^=#vt^?hBV!NRO3$JcrM4+G*7qn@;#_bV#{W%5>(+~)J`M_QS}(P{-TJJ{QGy>hK< zpTD0QFjjFY?K8s_s(TX<{O&AUl9KAEGbf2x90m&r?!yT;l4nC&&#rwJJH#Mj)Y9gD z1q|q&(VMrpTT~i*-3XCtZZcU)o!+I&g@2BxA1Wyk9G$&_mJ|nhFRJwfgB~PUo^#j6 zh$e>Y-W{LkSRvC)!tN{G>2cNgD8tW-JkS&KA#`rbp@-@{`6VvwVExha5`gJ(qDM*hT=9m-pkY5BoFQS zZ;+jK%PJb>t#Nzu(`B*OR^-;XK7@kg=2;&aIP8=+7#qb4K>v7Bmh_|U*|^Eb>+j1E z*G7rw#z3jpAD&zz%~?sWiepjUN~l-uFM3+-Wdmx3@zaM8*t6~I%>_w^#pO`F3$qBw*ZJ4ei>XUxe&h z=WjH)UDLk}TM~w+iaYQ>i}q`Fo;Nf=Z(tk_STAU2y-Sfs6r?AucDtVan|Am+0dfu* z?}lSCmd^OV;(@ch0F6YSqT{04-&NLlOTOS218@nx!#Kq&oANvy5GlaxoCn)&{#5}w zNfh^w7+VQ@up6ZUUe@(jPe;5IIV%V8fjE%!$e1Rxn=JMo%mDYnx^S)4d!@rvzhGu5 zl)CaDnG8+r4|bT{Ciw^6L2w~tje)$Jn(iALZ&5|3i{G_1=F7z%)0bUZjn;A(zP z{4Wz8(WhKg_XnT%)vyJ?0`+!Q`dkiI1q^P+$U#og>rw)lnr+Jz%`rW#_Li@fu7G&C zRC~k_;0H8?CmEHjPe#_)@Rrb`Aal*0Ty6Bm7X~8-p+tr~?4=x;n@ zhb0rdj+0NtEAP=ISCOdaJowF$8m~<_rNTaD2nLK~!|R^47yh~~cE{_-NX+}&k38p$ zr!XuZF!B2M%v6v=+{w4n+6D{UL-#cQ(8hpi-`xptcV0V0u@W8@RS~ zJ~uaDLi|gl*|(3*p8cD+00_B%0fE0h)ZpI@5W{R==UZlBA-m1r9R&xGa^rbL8|LYq z+nhfzy<@VNw3@978-c$)|K%p%R6~X6V;`2c>Ex|Xy8Lsp6hB+2J#2T+>3aJeiF|XT zR{)WT3XG45*v$5N+a*4B4l|~6mPx-M?*zEFn%Z27f-~h(p{S~CKAbnr&b;4z$LX6M zpvR2&@6qbjc}-1zJFIO(#>;wZ=P0Q1k~JpQE_i{23JI_f-$Cqk9C&a_(&z4<8lgn~ zV64)QfiIs0AgZbC?-)ScvUb9cSt(LtxMXd{FmCRu)k_Tz$WFIe3J;I-y}b3(7kk?kVF(_;`nz61KwLzsp>cUfB4u5eH=0i@ zqlj-CP&v}otkiZ~c}wusRs2h|;=&c5lqNXkXt+ALeAal&2Up~Xj(&pX{ejEB;PUNV zYh0RZ`8Sx6Z{jw&HJs{dHXAW%(e-89MnM7}q@1oj<sheFG?{^;o+V#(K%H3l@L%ut(uDOkjFk?QP{}`T4i(6ip!iVM0dB@GxiuDJbojl(c6dUMSpf) z?NHlqq@eIfgO^U|-|Tv&E@IDayv*_`@(!ii##g+h3l`S3bp<4tUu0dA{P4Z}J536B z?RXaSYV$N7JP35#9=RGfymidQVKKDE@uk!ka%}0LyLlteW12GX4E?Q(7CvM`q#ohMMDl({ zhyMgOI3?lIDyWzO3r?-mwA3^!T2Bt)_x&N$@UJ{!+P!aBIbZm}zoq{L#Ah#F`$03k z3*US%dE=3`ip^S6m6Q<$>BpzAe9Ezu*@r}?WyA)1|!wq}E43zc@%+HZwVG4zB_*Y1yAOJd%NzUxwgijPs>ulW1^6Z--~ z4w8PWXly*7%L;&$Ypun(+j<-vSg&mn&Ii$vJg^ObL~>RgWmUY+h!7x+SfjD|-S~YW z{UbSCW!4pY+bNzqgGu~}W$Mix(i7yB*)`>XdQ^>`tp8rO%YFPObPDs+GW_SY-bM( znqcku$>En?)F>#YB5xr_j46(Ce6u*M30ol5@#LhRPL*|ONX_<#Cr3j^4yyO@?qNl1ynDM~mDD-yoOyVDh?)JQjCTT3 zm?~%996d91ja&MQ`2bc)e>45*&4E}N_#C{hLZa6JR-Zz^qD=wzhW7CKP(ru!t@YlN zUqH8t)5O;v2%Z^ad5o&P*(z~zzp4b`ZI|tTz(TPH;>dO!cUwLD$IYP+-l#L^j^%;< zI1YIwnPfedD@^=AdQWT?&DIcXHjz%Z?RJ}pU+6a!tzE1L`l^Yq;K!fl|1RG!o6>>T z(Cc5ThYG=AxkuCV8M0%w1}o839o*Z`QZ3I8fUKFzkh~}^3xG^7y2|5%R}*pLv?!2} zQ?xv~GDh}vX{nDh$L>$BZ7);j^-e#~RmL>_)9#yD@R9C0lE4m-*1s z*n?%5RsZE-BB0L~rr<1H(fZyvR(QVLpB#3>O);+SoT)?L&;U)sOOHM zU7@=aRRO!ZsI00L30HnGW=PstVT*ZTasFE7-Kc@P zb&KGIDZRha?46JY&*QV4f)96CQG~nnlCu3M9ImGv`j=}4<=0|R5jV(;lfhMuoo(`!Gzghd|wEc=1P4$KP5;=>eO(X}IM_M@xl(2byvUJ&T30N_~E9rbt9yRz+gd z>2hA&-k;`QDcZHYPRF|#{^TR(e%%%J{O|THg;@7-iHar&EI7z+IBJ%37y|zY_e%th zY>{I);d*O-hRAW!4_A-4-)DQP@_Ie3BFriTGz2D}Jcd{uXe#!Mp=0I7(eT(wOHsQ? zf=k9H%-4il9?)h$zhst$asb_T+&Bn|9FzqxeXpFLP=r{n&c!=Y{>I@ z74JkA@~wx@50sCoW4qcUhCBWg)T%5uX?L0aml5#(eXzSa+oatUu5EH4qAcMpgB24t zR=@iUgg>UIaIBeg9^cwB8v#mElW&(HiM!k-5MEzI;ET~wu0RTS4?5==)oN-nvfbA1 zc@6Lt5z4oN?!1DgNw_jit~$wE{Mzn@iVUqC<|(9E ztyNN*I?Oi4&W$s2s1J&(>g3wzS53e>*J3|}C83u9iukom;@&CTmu=Y-#okKVk*njz zE4|`F)D*knK%bphNZz)#6f@i0&3i_EfgnX9pfbYjT@ZcvCKkQg%N!4I9w6-olb2ii zi;o^cHg*I_`NyiNk|RsXgq_|*(3|e#-xIWNwYQ(G%rxByJTQxDvs2Os6f?Afav_*^ zuKF4-Z6*f2OO^W&1epc{`A2KW7p1k{f~XUvja$SM7C9sebX)Qd@c3Wp@@eVs z91(dHP@UgOhXfD_)HDHpN_EI@{R%MOesHtGiPUX|~@3g5`Ux8 z&^)yr^mXi=k;{VrwOZvy5RL9tQU7QM-6I_k0m=sqk&&#s4&s;lOX**|BST!Paa;nV z9*-S&5(5^~4u~Gf)lmTeCugOw+@r;Ta{)EMI1(vG-p79aMt5?K1y!3V(VduT~ z+*^$AX}TC$&?DVnu}qGL`|V(${T_DJX3A?q&&qRoxf(NjMgalWWbwSpe@Mp&7VYtU z80U-N0-N?3q3X@;RLIBcIQwzzD#ReIFN}Q7_>;w>JMZ?v#&ObF(GO#ZjnoB$z>&XN zpK~?GU-fI$n;lyNe$t7mxVOLRbkCb)+GWIO3te8CZw_yz(rXm8v>^c9JP}(VN)x(+ zXVJt*8>IE)-TZdtdb3UWH|P~hn?qSTPP{m)cDmQ#bUht+$H1Z*;#Z&{vp7Ujwd}I@ zW$8OQERG;ub=*?}!jz0O?{HfDC49%4=*zP;9PV0)&mx~}fK_~wRQ`H!;b^(L@0D69 zZ&}8USLiww|C$ffByVH7chZ1vM-E90cW$Mg9AfUh*GkXlC%#99jo-db(( zG>zc+WHy32Z)xY*ZjPKCsdQul{*wlU zn&B;hS#}02B!BsSeaHb#|K3}rlQM{baOF?y-DO>B!r|L>8<0OCu{bIRVxjmxaMr5P zERMPI>;iH{{<{rCwA_FP41MsU&8+!-S6;rcUyrHg`>0UmVj9koBJY?yYBaJfun`@B z_YE2}<$7u_95HNgc?q%FgLj#k=nVp#ntP15d*L9b?vMqP`*)LBr~-WKkInN5{1f;( zb}w+he`+}6L7A%65W`TRhxFo7mMS%GLjE_}I?+0rJb&itdvEyFi3exVs28vGWc0|H zTDkdZR@-*Jg-mz0*6dR)<=46{@b*DCIG@<75pzhAiDr{&{07)CX!Wg!-+2qWbnj62 zHT(31N%eO@K7|~l@9^NF6qP$aue@1#z7}}wh0eaD3b4r4n0@FuTs{9Okg)eFe>T>j zA5G)@H$F^~Z_;E`nNRB$;c9t`V4t!fhl2OK9waZz=vK zQR;ls1Md1^g?$AFipP8NfP>{z4{BW0`E;oXEt?UdfIGf|#eayDraqI&NE>Oi;;2*11_~#!o+2khuw^J!-%Ze-UX`YQ|8kt2?`u6bi z+0yv#P{l0Qqe||dAayBZg<4J1y6BbmbS~Ae{-z-8?dGxJvhOxg*M{c82bS^p2XRZ| zQhLIl?x0+aMva7W<5m_e8ZS8^Z&GRU)s@qfJzV!2lS|Xttgwm`T8*F9AK2T3Z#67e z7UZ)PDWxmqJ}vBB)lD}$k1TF3$Nlt_jmKb69Dm-* z$?4yh*x@x9&(3#*-pk{gcc?Ya{Cu32lr~B$gXt7X!y(w@t*wz~cV;Denk0iSSZh4Q zz*YNqDIOF*>Q00~sx|KZx>ZFb2lQ3$Ct5Nnyf`V(Yd8)VCegw-w)q>bK@*{KY65%t z<}>!5)t}IKgG^b$)^YkeG>esw$Dz_udgpJ&c?%_)vs>v?za`{-=Pz9U+3T`D5&yIE z{pP+inO+0x>5Cn5?oCr>ygoVh=oBUMUE}PGbNxMPsFbW1rQ4!})Po&f`Sh|1>1=JD zxWcgndy{wEJU`8S5pP<}r6wyRga{K3(!s(c5n`L7%VztiunnT| z;k6V#Z@p-9wB{p}4x`!3yJ&`D_YDse68LPd_-k}F>yH}m*`?}3Xzg5B7kVdSN>59R zIMy5+C^&=nnfGz)N3Lt~dJV>FYF=m7R(6{YllR*jcOKjoo(jh>>s`SZ*JbAXU$GHl z)(BwY7O|E+XB7n*6@*z_M)wQ9u-@~l7egdZ#CFIM|K1?`#pHxbl zTJFU`1K2)1`>5_)zfiC@mFsZsTKiWj#oI^6p(r$awPLu9y?JC?eyY7xRrZN5(!;tDhWIc1G_=EP>;l;c+ zzAxVlnuYGpiq^MYlGQd?@>h=Ds@&G)ukjvr|F+z799I4Hd@KZa=2DP=uP(E!v_8Cm z>afpwIorb%5t1pZnJBM6uz%*ZoA!`Y8_3vzt$GtH2zb1|tM5{^`Z1!(-b_0NrCHHF z%D#QT1#DC+@+3r2A%1PlYCNG#z}$jDeV_DtUjN2%y^;9zzK>f1gRGpDy(Y-k@2G*a z{X>XhN2v9E<63wjTh^LgZ#kWtopJe*W~e*iyX|j~4$yvFfdC+N_;F{;YbdtYj(V!r zZq#<%@GQGBViX`|hn22yUU!n8y!u;#^lp(_Z1s!5UF@_o9!{d`MI7yscE8PnYyGm& zqgLM*KAmo*(|gXhQ_|Jt=?Uy%e*5`C4=T6vul&;X#Dx$#RCV&8g4;{|!t0Qud*7M0 z6T0&qtaLe0+6HjeW%vaNfA@Q}YICAY?C?s>zcVXCF69dOsz;oqR^9lEN5 zL{|~4^gau#`pm4EJ4e&M;TFk9^tMF0?s*b_!L8@BFHo2OfA`(hezG@u6xBIm6CO>G zQIsv)^i8d1=2$q(y0rwv%QL3v_3nGhR=*5A|Fqqbp74f+78=1$q*Evy(~fr?4vO>l zE-e7`}3^kH7Ati5t2yR-}CTfHOJ)~CHlPF1FFw)|~jXile&acPV} z16u(UV?fg>J$vP9bR=HZT<#72#_&kml3T=(IiAsahdP(Sa`}E7ZwtV*9%j3@n@o*& z{E9wc7hZl!<0eOJ&`?(pW5=~2s~(-teTBH7)7IwaPtn~-XnwM>fv5P5g|BGKKXL7Y zEGp~zOTU#B1^$Y4YZX;*Lt{rKZnOaI=uVfRbp9Uo1mGg*cMFq0*uRV|o{6hD{uzi$ zTB>9R?((h9tj1SJ$#D-W{f%0*wz$-LG#9Az*>^Mv)1h7|62$c-SzcdOuw!uob&3%f zCII@P4@ArHkio%6ReUdUjYK8{aBUClSrrr^7IsePEq!~xK2Espyv0#NLLr@^QJ4y} zG#y*w0${~|%^JiupTg9BJKey172|E@#7vm4(#mSVD(w9Je)5)+0#AdGBpIt^9eD(1 z;4TPPs#?Y5-`~;Y>o;E2?=+~kP3yFPmS9w-$9nt6x?!^# zEg7iZfGq9h$#rbWx;* z`&d}Yb6X+^o$2>b;N?NQ_}`(5Z%Cur<#{iCcua21(|Kc_CND%ho*LO6)5~8FExLdI zhLDOsH=RC%*nVANY5lVqO@H^BkwDqvT3y3N0ZeIrU!y7HbJOV{$tsAq8 zQL$!4dydFHnZIHoP_VZRqecE7$SjQh6Wbd%JQH(+)N&mPBomP&awMcizhS z3g)@;v-8JI59pQy4T4I>V_BI`+I2$W0%EZS8AE4wSfK4Tw6K+oK2f7S(niDS+YQAk zS2rSmi1n38cSm-1L@m^^zbr}@s!Zv<*Q?clKPf)%)0wd#qFrJ9-L;g>sdRctRSwE4 z!3^J1I`Hjlk5c$7Uni}MJd#uM>y&c=1z9j)q}Im~JGl{+zdqrghv?=I%uoAf11=74 zVCQcyZ1j!tJi}IIknA;r7t5)LcHLm0XcQZ3zwKGoKvZO<{@7={_%+&VuLByA8ykCg zk>3Os0-aWGgL=g0K6=RKDWx%>U||-2ke371tGK|_miq%y^Uu<~`4Ie# zY0jZdsi>zP+|}Nqcnsb7bTsJ@s@?b$Z$B@e42uKzre#?T*w9)o+ao6w-|~ErP&ys; z_8L6qq4A#$>Tam8I%+S&XV|Q{NV_U;X@F}x*Wa=@1PnatQmmuVi(JXQR~x?XKFbyP z*);NpelHnyR{Mk%(Chl^R;rgCw0CPpyh`2E`o3I(XL}@t-$r&e%`JYtYcdd!V4+Gh z2G@l7-Q1!p{RY(?Ket_OAotHS4y0WrtxPO$pTC!V^8nQ!z-U8J@8HmX&b&sMIInK? zD~mGkN7Y38{lic)#Br-6selB4=F;=C+I>i?P)Ho*qt4sC@$`Cp^SZguK_L=Ofa;?3 zkRQ0JbaFxA@@+6^r`^{KtN*p?TexfSUtms(Ir~~PT2!6xBO6c#Q|<;-7f&hBi6{k> z@+3P!dqrr`5bNvTw8OZy7qIzvT)Jk# zo0;MuB=hx%l?_6jlD7TS@#FcDkB936yt^};4rX5B9Y~*R#+xP3Tj73rb8$bQUmCo8 zz#i{!IjDG(K7B$fQils3_Ok|We3?G#z3cZStmMjBdHeUQ--vyZKX1YYT_1*vJd4-S zl7w7T@tbd*a}Vw%QSv2S0%g<-ng7OBn`S=q_B8D6nZM5va6*93xDr=BppuR1+(*>2 zUwECm6vGsjBt?DwyK^0VA$9QlOM(J@$(YIe{0b`F-~fL?{m|p(aI+;pn>M=g;r^b^ zKv_5=ZT?Op=3X#5Z23EgJ|0->!~50rEyMt=rvO_cWT!ePA4FOHgaf*-riknKYJK;^ zf~&}77|2$fU~8Q_;)85zrF_Vm$zRpHO}*fY8-{G+NPh+H!JiASq=r9p zGyMAMo+?LZS*&Ql<@2lz9@FQ!Q)zr#pvyin<=2iT- z{t_Q2+4e3M^<-TX{8V5tWkZabg|{ z`9~?HlNI%Qw)PhkyQX)H`00T*#qvF8zqA*u_p2$;eY+p~Ib!y&gU{{38Lx383kLrS+L>_q#Uom};QfP9a|TkQtn}yD4{a5A?JnZ)OkH2EZyKM> zfeSFMQ?MoQPkCDr`*mt^X`KyMs@QEKOxk$s@&}jdZq2`T;`#G>ZNUvQ1H7+sms>v3 zGNurdw}TS2oY{?SWMws6-=5Ydp0j?KxWscyOtS`c#XBXdo`w6RG5J=xI70_6_?fZp>MO8_jCy)p^QDsP-3Z5oef0 zlK1gt`L}fkE>|3>Q0ue04`!n!hkAC&1c}qhcr0-^wbbo5-%_{B+o`q4Um%lJ=~sGc z9>X=Hm0nqQS=f&gzj~`++nxaYoRdcQ|U<4onG` zGJ1JJma818$9MJp+l}KoGP*2|&gI4blZO5_^G-_yOsC;POt0%;Lks<442%2yy@A1~ z4+AUoX})vc_<4F@!oKUnrVkCyt^DYAc{#hQ=--tz-X{G3O&Z~5mn_zt4GJj0)y#o@ z`z>rN8Vj*|@k>bL9n4%06SQ*W22}bA|TE2|8w%1GD#*X_nx!&S{m!U$NOEs zY&0^qgKItIw$Q8%h}5yEVHVox-|2?$;j*SahG~D=`0F@TV}~Se6FMu4*u=4`f>dH#^1C-W~O4z`4ZhV=+gtZ zK1Z$HlDJh{*Ae?UdWYT!84dqln#k2i$$xp(Etc0Rqovxd<}a7D-V{zkCDY6=XUb*P zj1O4$oDoP*uN=tTq5cEx>=I?igKW3LHxBR8yIZ*-INDzm>4>AP=IC1j`B)~+8l7l@ z&8}_(?X;eEt&$Cymn0_^Gc$hu6x!YobQ?^z`8)QrAy}bCfM8Zeb)ULnKSVev=;bgj zX?Y`aFsz|840iYf4pbnC>_6YVaijrPK0L+{YW;@$`U$q}+-C`p6`TEEU#9lW@3olr zs;08NCi4&}5U?P3TMU%CsoJMZ26n}NN%?C#){7>r_9nePhhG0WtM8byv9Vv$DD&4B z4+YV!-A4z3xPRND%BL|&B=QFvS;X{vXi}xZNZU7~`0nZA8I>j=!u;m*>h1`IEIB0} zgPO~qqG@^iBgI_$Nlv*M4@ousw*U!f<0EHtmmoLzd{+savHix>i1}M@SoarSh_#gR zN$rxUA^jkROR#dmfHGlbrJhjs?_Z5VC`S`+jXP{ zxQDYgxvqzsLZ*>)GdL+Jp?}EU=zj0|E%Pmm&A67Y>vg?KRglnka?Ear+ zCxLT38fAA^8nhb*zS+$(r%KDpu1#WXlA{X3nBP|QthOa#73|%UM!Z1^6Ay-kV|{7f z{LB<%@?G=Q)2pv=QC##%H`GdOmxhC)mHGWS&5HkUcX$)84rH$Pt0Plr+tw1lUg2`h zdssLdTfSEK3y!w42zL#vJE4y`%R3XzN*{|#&HA7{xDVF?5Voq%?4$LTrgZs}9oBgg zbgy2khn#oR`Q=dUKTyx+i!ja{!ph4nbhT=gSORot2xIMqwbx4*^R_P}v)+InI_}ze z6ux5|(4w8oEi4VGj~!-5pCg?`0KJ}hkDrSs`@#HRVM>Mae(+z?qd)z@{*q6X@jSf0 z)!{JX?};Fr+jlBo;2_MJCnamF%#f6ph1dKfMfl)Q{PPj4y?$;(CE80X{0@uc_!nJo zA+5*vk2_kUt9UiSFTkEsx!6z&R_opCULS8P@EZ4l@DZ@hkxf1`lQhEd0{K?#ErVQ_>r}*6)GjZHNL_W!!R>p<|jTg>-8VC$1+gtW_4RE zKO2p|^tQ>jRpA$oZ-x65;CcC7RD3{l7KyMkR=T!Y&*-`#_fK|FKG#pjA=@|tNw22^3V{+NOve=ATk#Rr`1{( zvNW~n(X}0fgx_+n>D%B-@VJ@&_w;ZqgAV$Qf>$F%*`{G*`Cj{IkcbwOS;K~LT;6}} z4NR6YcH3cce#RSofPp9U7xJ6ZR{8FQgWz8{bPpQJ8YB96E~+uHn&t;0Kl1f8{bzh# z&2DDM{b`e%m9@-ewk`iT$YT`#VWC&=iaOr-ZZKdCnL_s0OGgPlhU(y6XOFlkEobMfpJ;r0_hgy0HMiDkV-2r8HmDOEhA=S|=wq;O+vh@%4%KXk3%}yK#rf`@hvg(TdPeTO^OtUbkR3w@pQ*ev~SJ@ic82$L#% z!P)M((N55aN3E;?&5d4^rP(pNK$yyJIl0w;!~!A}CI_VGR_+kKgC;h2me&UsPHigA zICmj4s7428@EtO@cdiCK)7)mY7tY^nPH!K!nR{V9bh+#nDLO@PLStAaAKvv$x(XO| zx)^3A>)@k!rmyDx7M)T-8KEbP~Hp~mqUSR(2WQMx=gb4d( zXQ3iiaBxgMK)!D`Uc>b5CJ$axxK&FZ%qIF9g0IVCxW%O^FcS|-m-cugQ;%$ zoh`8H_x*_u-J7fffM7xl=Z%nPq(8g9>kC*8d7pDMOx)9m@+3X!l07B7hQoW$Jr__p z#y^)OBRSb~I8EfS7be^H4OjX_@@ZFQtKk!ykus-BGr3K8Kk7r(a)^P2bf@0B)#zoT zwSROPC@C3K%`QyivGANOVuoK_h9%~D%q>#;@bJ5Feg6XtT=p^VSdTt=C)pP_^E1lm znZn8o*~@>E(k(B4UggSiU{^dN0S_k84+qO)e`GG9r%_fvTW~U#2i_pc44B1>)Fw4R zSu4*yjxCDA=u`rT9HwP4IR{|RGjxlc>Zwx=$Lp7T9b}4XQ6fRzvh`c`C3Kb?mHr4k zH)$7{xnmzOEP2X&#;x}*&^mi$Bkj)DV06YNTmh!}NNGAx=lbNui{Y#nou-|z1cdHI zDf?{gcb$stNxhBGW{+?UDhpn5?O4VAcSY3c#vk3kZs#7LLvqWQ`FjyPp)}IKqBwL~ zTY@aa!O33lU~%R79=UluYBCUb4x#NLYsnB+xip)ku0?{KU4758^K~x%APC_9hEs) zE%?gNJoo!z3?m8u=e5mosM$wl3#4YjzKNb&^Cvf(dKc&+{ zyy`sa?yeLrNaT0z0gG;wQ@Uzy?{^O=c{eJN7MD&DYj^i075=pXo_xC?yoegdb}+zu zZ<3-v>)amP)bBqUHxXVqk?)OTeuvF)02|durb(P9=C-8&luFsJRi#+1k7a0&l8X$V zU$y8#wSDo`dbCP*)!(&zY&AiDILXv{!Ntd}h|%GDPVEM`FCfo-=85|{lwr*)^)6_^ zmvNw-WtJXBhX z9G8IhMuHI3;#QXL(`^j;iXt9KN2ZkagrCs7D!Kg4>A5~=J{s+LJ)JE|FT>RD2s~Lz@~yBM#%qZmPX|u;d4ziZd8~U@t|#|{)pdRH zpB>gM4rk7p0assLEZ6S!)jq3PnR_?;VLIB8`n#B5f0bng zn)7M>j$C8HL#01c!m=V=AiDkIv?bi|^Z!%%qXZrr_vvku2#}bmUKoISO-LTY2yya9 zulx4YIr$mbMyb3VXRrIr`-MN}#=(X&$>GQv%fowrtA&+*aLkQ%P=r+IXrTTYBK+xv z5w#IMi~OvV){8j@F@aamVE0AGbA#f1>6xM*PiMFO?!*oCwTe$wTqNN*#^3?OPw;TL214^Jj&UI(qCq`?`gS-<(__FRDO78GUHTnWfg_} zqbegStNyiw{quq2oA@=!kN=w0X=_ds;%LKlc{-z;O)dWBS}Pmw1&!WL>P4HjB%7y2 z=dvB9cD*RRb3=PsmuB0)sfsNAYST8X{dNj&8%i-gfp59lOus{}P+OXllV6StBH8$T z-epw6?Wgd)ly>gDJRX07Wx3OfaZb-1@dX76$l}@BBBj7om2s30&sHQR;R4Wvy)AL& zl$!fj^^-qonlwNpD0Ky$g=6y0R|yD-Ku)Mo?KNMra;;km+V*GN*3yoN?i-;O=A^bR z*;V`fwVS=ceo|ob=v;3MC&x~>m~8QqLqQrl`$<;9dL|z8tzI7M=wc9ykFij1b~;)q z{IGwfID4k~Dgukq=l6~u{TB8V4d#T8CLeH4n!wG=JL%2>Pe#88 zSFUWT+WJt;TU1dAN&U#O30qrtO4qG+EOrglZ9bHb&f?Pw_}-#j`MrzFJ45U)TAjSt zDDkCDmZi(>N(~wijT!=wxvl-g?!V^7+0SeB%qIEc-g`mmdXJCw42GMb8maJ6mF>eS zeXw_Lfd3@F@wrp1;@5Z1+JJ$1l+*F=X)@oTHKc39Q$t|vA7S3muCHt)8teS!&)w5U z8|Bk!eWaMHL(&+w(l_ef;x2CNW9~8}*+q>4R`EAE{mwuAwZFybZf%#5N(}aghOJh} z=B8=Z$7NITqjKjFt7KX^sAr}X)z?f>H~OtLRmk5pPTp`=XF9v|Pk8*g??vV^!Hs0l z!|dNZhV}=QXmt;~i5aYZ%ZTWA8KN5IdY5&Bcy!Y&hAPw2dyEsEZZ3)(a?Y;m?_EJS z-{3B6&XxL_WwX1__};UU53{==2k>Q_4ok5+vfL&%Vff@j!l6$yRb z;pZcHv+>=~!2&Dn#{PaHOLMa8kgbk9x~Al=KlC84eoT^h-)bkA?v2n#zGNZK7zDER z;yZN%~xbTnh>NHcWZCeE2rg_RH z$_UueKw!W#$jpI4PnP6{J{5$uG{6L`7yl{e*X}MfXUPfs98Mu|CpyL{3}gRN_N<0X z^~ZYkJqS}Uzbs&g+rN5PZ#AByn+S0M{N900Ts$cawoN$j{o$yDF7a2S*i#n#E_5W=n?HNiv;w{uYIzS zzizWjpq=TbR3C%fF_EXnc(AoH8r&^^zYM|TtHQk7|687KVafwG{Vu0W-rik)4-}HR zyu!@dig!4mZiWyp#M=Whaw?1qKW8+Kato;6G5GXvM~P;tHUD-+IxqCeP*f*T{ivEi z3j}3wc6WUw4x3~$h*TeJnM?UWqQ^@gX=7CERlBNq_Bv(JZkILYP!yJz$*X>q z08T>G*-Ji**-0o5@)0tr@{FWB#LQ=HyWM3gGi$`0u_BjvJAis@3TueXZ z;qgt^F5;3q8lOVXCJ z6}EuqVK>7nk`D_hmi5MiQ(%qJ(^SrkgiCPiA3oY;nDZXaG!MaX{b_|V2G7O0QGTWE z2uq1>cU9Qev9dj7_*Pub6t*iFI?ce4Ol?mZ>*z}!9J4(w4V(U}*>W4D=D^`|#4XvP z6d1u@m7|_wHdr|%zT2lBnYIrsscNrl>0V=y@b%GtI*FYOaxa2db3serIA0&t5*S#c z$_=(>MCl#;^t885CdZtzm-axypR1WZo8Mc+Yp#?8coK0GBvRY2St0{#qdZ`U^o3xZ zf#2OO2@FgQs*FOkv%?D;&~1pu$-n9~$LZfw@%(AP%zQRH_kNzm!|* zWQ=`pxs?i2k@5ZOS$|K77&mUbOP4#>i{sI!&c&K3ww3i2-8IuT0(dQt(M#pB8vvpq z$D%AWV$V*H8!m@EWH`03X7i;X^v0|B^ zsU3XhWP{Vzf9Iyas*IFhXLgOrUGB9sx`6SQ6Zc(w9#XDYn}QmvR7H!MTMb`|Cwutl zOP2@P5;3l|D2+aKn-lFGV(q*|GMeUF!8=c7Td%mU0_@vCGyC3hi^?tVjV*uu#lYqU zs6IN5SHp?Nd1*8*)i`JWQI9ig@UeH(G!;JY)wPbCn38k%YIWITqf+L3e|(qzb*(q^ zbcq?U%{e*&9sFOPEdi44sB9;yB&>TQQ@VWmgf>5_H74yDy(=IL9&wjBk_fpK3yarF zxPk6uQG;v1w-{e4e7cL)Elk9+jXbpJDdy!!Gx~!Q;L9*4sb4jqvIp% z*rkDf`5tGGLa9m?i6oruKS@%|&eX-)9Ip%7^Rd`r-q1_!d%+UyzO45SmnJE)JGV9u zf<($~s5oTGP;D%9g5t1v9qx0d@f;bB1y6)Nj=47>Dtk@1()!Vt{mp79@_2ZgUsxNu;H&Ly}gN-Tbm$JBPCw5 z%d*axx^jOis5&ez zV5K|fybiBGG2Km_+^4w();O0ss*?UmyJx#G#O9rQweFTii(wCFClbN+66a6BR=AR^u<-``>yLdGiGV4G^a*~=xk zd~I#;6-ke&)iN&%J1>WIc=LI0^eG0_XV)x*Y`yl=kK-8yXs;RqqvX>$D8J%WSro!f z_pj0#oCo`3v6Id33y;HD@%t43)?3qVzg_#tTy=cBuq_iiQ|!g$(|{r3TZ@j%+3lG$ z+XX~x?*>(7+$F{xxE9yoWDYs>5Xzg;+{?qH;`XV+gJH3t!Vb+;0^u=b%u30JknKKf zGNa~uP_B$hSiYEj-4^v+fb>?a{!U>qf9&3TyBpL}?W--0$JfB-DJm4QNikJR%0oI1 z&ii@2marE~Hqxm1Fb9t}v%TDz661?b=$mDb#-2bd-gf~&lHwcaXjNP$lAUN?CZFnk z`uBkiZPxCA0#rMe^YH3m6y(mV~QQY*4?Xc%=he@MlA2hs0 zukMS#E0BoI{@OeQ5?d;cvFRCGTmj#DQ3-{AK?rTq$J0YvZ5qK~URqQxbkHkQ*y{n> z*`q0pA7*)KJgNWbGmX|a5r$UU`J(5P{}yW@Ca&XxF{^kjL`;wNQ4(8mW5}&anA2?r z#xwiveol`)rNT&gr%sNqGY2cK)mZIwenB3M0or&8C-*x$agym@_sEqt4|}5k0vVVX zwOoO`>JDt0?p|TVuUPz4oi)-nw*uE4SGituoo$*~ zGdD?`{~LV$a!J7GXk}e?F!8QtkxWi6;6Ka}_^oJK(=m1YX?-PSGa9xwjsHl+o5w5p zVt?}tiQY9VCagFjW2h zyVLiE^!&d;9KpN+wgk}zMF#h0xmK$l3+vj`UAk4@ujG_MlV90~%cPq%&7XKvcn=y3 zQ7I_*Uac+l^oUGlp6ma;3H_F|s@?g>UDK{`YBZkH zLdW~t-s2~5>iHGE;@in}$1xU7&8}U&yeV~6x%L`nUbj~a_mHPT6P2f3Q_slZ8%uu4 zdX=}sUaq$m=^K-El_lLHzF!&ZyiV$lD4{8YC$^JWGDS1r3p+Y}a^RSoS?434kDTuU z6|_+FT9gLZOm<^tFgJX;6tOTb@5%F(G@?$SDc|3nAMw(=dg9M`ehAhuuU8+AAZB&p zow@;_mAJfC?;sr;r0$?H!FvG3P!(j;Gw@GVnE%DIclT>-qv9NNMRxZ<*^Ng}%euTf z4{yd&|1fdSj_f z=dvHDRpK`^^6T8w>ks{P3#~J}dxrg^r`FTTtwf#d~~ z+v`tKn$AhXkhp{^X~85M)-sCWI9qgzhEDQKjM3n|-du-Qv>kobghfw6)57 zVZ2|fw7>+etQzneevyxWQ1xgVzplg~6%KX=mZ>%+Phplfm_D^jr-`?T6i z-fVraT-cL0eD%v^+i>5%O$VF&tdo%`wO(>hdap@a#Wipnio)Hq^N3rG&$52_os|Jy zaI^V!%g6(6h%hhdazVf)zc!QowYscA4*OF+r(Kkw|i;af+pqT7QC{n#}G?G7=aZY}z|R4aIUVaVQ0 z6P>+9b~sKGrh9iiVH_)*(jBBiZ8L(@t1Ohx`qRqNP7dIaH-pmbU$@<4$1s%-6O{s} z)U9L7`DNbU_q&!*$bZHwj4sNwfu1 z6>Ezx-+P7;^_4{{g1y&!>l5svn|C5zTZiee{l|?KOArNB2tq8{lC?4M*BeRNO!$Yx z{Fa_SuW^BGCBTbKhumHFngyQ2|Agv?&-$T;8-Bjg%iHFO#?YqTlUPGZ=DUj=#kGVZA_j zb`#ZPKUD<(H#x@r27VZG@@+S2tajCm5IPqX#cS?2>=kGJ?pTCUpuLhsqK1{Db=jyG zZgeA3x@`2pduCWgWMr4u#rVY>52vG0i|A<$KCj6x#jZgnqy@zRx;s|NZ*EZ)&218- zr8x^GW+u?sXvp>aXm(61rTV()*;sYGFeHTbdS#T4E9L%M8i}9ve4fl7U6Rvs>!81> z2A{L`>6g-?lc<~Hx+s2_Hp`KrKWX}BBcc;=+$%PQ^WS1k_1By34S8Ig%_Ah|EvuS@f2|io0eN~HNy9q1FsZEcZ&pqF#zx%XBmbZW}s)Qo7D>1V}TlxLimWB>Iq4)-O(>n zS~Dj!PT~fsE2C!T6w3g5S0q-2#RSv(}a9s zcp>J`d06@j0pXIJ^UI_ma{P}1=N-%a)#4i8Bk{~cUm5cw0UEuIc=fkr2P6(mz%AuO zU|WRYsCN<1bgJJvw`;VI+sfAYaIMn$wzZSMI#`K5EPa-bU^#Y%L#sg^qpYB6?&|Sb z;LYAv9l6sS(rsib){8=UMARawz@ z&4h1aVbtBfN=r{1E0Z#%zY4S)h>J%Y*v_NKl*dOK%BHs5w*yoRNP= z`^{=w$UnprwL-%_syovIM}!aW;;&y};aDLjOUn0lQfU-@J4$7L8fE7OASh3Ub{~xp z<<1_+01b&eRgK>cC@4r#H2>h5uVTy>EXV zKOaDt+03kk%`%KT4@A@&)GysVFCO}nmocAK6W?4J7l zEA6v&9uONcI@`CDGJIK6$VjE*TpP`VrL{!n$GE*IvjDqMo3-uuAwA2Bu&_}YrQg)8 zxXpODigN=D5&cDgz0*GxqewAtK7+*&9*|w2xt_>BAdvtBZ9Jh^GKi}l7-or1Vn{!*WKCd-XxLr*Y z_4BhKs!ZUxS}0w5YslTzN(uhvc{t0YWLpG^!;~sZLZrY`XnuL zSR5&Q7T_t^|K>~nJpwAwE{VnSY9=VR+B-utraa683N{F;g7~IRdr>FRQxnlaWX9%CEFwTpp{>97c)KK@6(f-Hj2PGh8Jah);C6;Unr0W%^;u*Dv;Y ze*ix*<;e-QpEk+WqKy@*N^6=a_pZQskOv71XlQw})n(`ttRuPW=gG}SU&CMTh1p21 zq$t$_`!v&#pKXo(l(0^*)oTmFJukJcbGsgXvmeFJ0ls{Hp0&w2*jHy04l05@h@${| zy-&=4`?g;IOp*?8R4{7;;suowKY5@+^Bm6ye?Sju^H6ZQ3ambhXsKm%is>X+aid%L z&q^cqz00q=J3@yQDcoTCGgEuapE6Y#+Gw?_benb?|)WM(20$+0c+SSzzv8uJ}9P zkKAhH4o|ztp9SCYVgKs`BzQmP6lffe$)K*x4`y0-s-Y5^nYN`RVd2^@cibGHfu5H; zl~A*755YdXx#o%yr}T#8DLr7S#HI08ZBKIT)e(YTroSnlAl13cj3AdG${qU&{0wrM zZd14OI=Y=iUUhrpGOQXZW3qtMSAdSwjUU=w@3hx;xOWbn^Eqp-LZtv{&6R4W^WKeb zI?z?BaPL=R^R4XX**mVY>>#9>IdKCo);IHCVBtWNAK~vg4lwbL3+1}^p7HsvNkfTI z8OAZoY4ubNQs9wp3a{?^B`BBZHZ5wKUCkSdyr|Y5s@>AzsWetFa-=QW;roVE=LMy# z(RA}dJa5oNqD=o_Rt9Qo{em>d?a^L>JshMPrPLDsFZi_$c^}o%LcBm*A9T#w#N88Xl&Q zLv&80@;XHIK#R(rb;p^{DHFBa)o2dOn>NZYbi)WcCtkcoZk?|A=hq$< zG^>MyzUfa9b(cmlr!A_uh!e>Y%ahgX&wF)?qEue?(rpAoWsB^3n-;a1KGyAk5$)@) zb1wajEjVsgv*gCNu{ly*wOl)T%HX7ziel#Ec?CGsaBFT>K5T`VT|0GNRd=MerZs;e zmGY1G14~wW=W<^zZZdBOW~+n8{acDp$;Jo5CymW+v@-iww)>fk76ChqEH_{69Ylfa z4Rw3dk`BY8;g^i$67X!ImYhXpF zE=Xo}L@wrMq(G=}NxsHgfu&mRZT%O6bHt=!6`Ap?< zQ@UTPQmd^eXXb~=)n7}fOoUeE*{go>X15X3g0~L{459lUJDAd|=fYPLRiysT>gMz} z)h=90eg1mSKR}>X4zHdD>4KS0U>)fF5D!JUf8Th%B~VwPhbw4dI~}5jJpW6PW|915 z9-kAMNUy*3sJnf`-QFkiC!azEl|5ui0$ z0L>KogRg$2H<)$HjhK<&&iAeiURMES$@b?Zn;gU%m#e+CeP@H>=Mgl2P1V%CN8)qk z5C+$3Ie%N@&fs8xMB@DW)Pw14sl>ylYK#iv^6-P`9@WD@tA4dS}>l@-d0`!k!9{gXGFT%pZgi>#r4-D_~>9W4eG>Fl0 zH>tE)Gm|ec_Qf8`ds+}(ew)tnYkDqzqIYq6$E(XI&3U^@7?I}OHY1XrK=|uwQ67k}232`Q!52eKn z^q`NLqw{6&iY@~B67p{iwJE+?1Vbls7z>Y%GHIgymt7chEpgqt^Gd(qYzEcQxf+Vl zQo-GhbO$GfeEBmj+d3@fi(9qz%cl1ZUK$iCQ(|Oc?`CK2pgW|(`BGwBwR_fm6vxq3 z)3#$U^y;mS=2;zG@b@o&pOH(qMu<2HwZF&*_W>HDqRPKNZ~Pw9lGC zKFinT&|>d{56!R6&+%a&{}y4j*wW|p`AK~4|ADjRjx{OhfAw;as#Ju()nQXOKHg;O zRqOt3c8-$U4y?J(v(Pt2&W<5{tCm;#hEak7Hnxyn;)4H*`q@;c z-f&0O1ddfZKa1Y!!wlNT+G*Y@_@aCsolUludmg&_=qVnqiFs_aj^R~xpWjKyoA`CO zW-&h7KuS4AE{>k{DTtVv+n@THPn)G*dF^mmQ0hJE=UHnp(*$+G=PvvZ(<521F}qRy zJ6IRf>H8JsrrZ)RHir4kZKZFKHNpHJ<#6+cu?c_{j^5s4CD)l#?P|t;SB2xT{29FV z&;f;gl3g1~TXUJYj42~kUd7J$5z=%Yw3$D7W9^gozKSS=kuYk#-L3?V(0N{`UeEOG zyQ)8NeCH059C~uYaEtCQZ8)FrCx-G+~>!s?#Ox-ZnYc z_Ic&YBXsliI~JRh>s69g^D6iW>m{wgfoiMUWo`lji-4bQoZo%wJUu?D z_RGQFwr~mrnAP+Q&#afxd8YE9%l#V>k&g6^RxNg(ahKdUv-YKp==~X<*6e_3K&CVC z9hr*wtzP)R99<=Aa6;cV*Q$QZ2*=A}^9)9A2@tRudkG7>BL*k_)N-RALzvml;#}7#IEx8?Zos0z>Q8k9bRh|v9`z$un zQ;qyK-nc!+M6DbQ^5&H%26ZPc-AnuPWR1_!Onqhn3+TqbmV1u5KA3qM$>k|%Ir6u# z+9gu%&%j<{e#^|088i~hmzYY`a6rkmok&5}FVV}>#qH`hxND;^JBmA1y=}7>rX;K` z#7b0M?}uDl>m_$HXDI=R>mo0mXdyGR%%Fp1+wFP(&A0ISjJ@b_;jc|EzTe_04JyN1 z`XY-)&{*2zwd=7z@1cc}nr;1!k>T!hp{lP0X8U>a%1U}cjo#;9W&-$vGpCH)QyOjG zL>~~AeHP_vzd4&TRPE9<4)-j+&+k+VK<8M8XD^NFo1A0s=Q5^c8Axb-+D#&PFVQ_0!VU5PBnVSRej;>4f6XT8a?|3~H=NF*-!6Z_cB z)@w!c{n=|=|sQTHQ2`0Z$bWxu-+|(kj-vn zA4atzGJ%-dT9<&3Onz?7&($-Uw_X&lwlFCI{uRZ|6~4g2nr2Z^H5Km7?{;a}9+rpw zmPSIHusf(|i?uymlAC5`X-3GPI~dpHd-v2J2JRE9Zz}wYdLDwG1Xrw~raQo(_-^JaX zcR0MpuRrNFxGvPsZCRD5)R*8A*1YCJc?KBo=HFkdaw{^E_ihzmG6n!6iLHA^h~W`` z^YrgquRi5tv`EmC7OxyIuG^>Lteotmarn5^hSr1GdGojnkTI|ikgw1xp09^`jaK5{ zp-o^KP|OaS2Z7)V<*q5wh1!AwXy?c&JsAvM@3qQr<8Rhj-Wd8=OH0|aD0e@4eOO%_ z%t1$EcH&Ggo?U)+J!`YycCf12T#ltkWbM>?2Da-Qa%wdHFt_JQi|UMUsH z_srMd=KV&aHvkUu`a4d7E;q`1BLL_ztC_Lh?4lm*bH6+>x$h9t90|NK9~A_-^40vR zSEWRULqqz$mBWu8WHJ5D&Dy9YWY1YQtPWq&JO7|OaU=N+_B&j!mholU!X0(gg{lxw1Qqjbqek zP=`bCo)Txw>=BC+rm3Wbt?jXOM}oiEH!-*vhDiCvqJt;dr9v9uasuU+ znJDSv4XkLn|n<07=u_$9|4ebbJSN6zh>UCOO-Fkd)VH)YnRpe<#Im&(Emzij8ovh}wp z&nfa(K@W#AG~V}xdn-LU)xP5%+vohQ@f7Q@^nIN|@{yxdEz7H_ z2bh^etQm*Z==E(DFO_D6Ki}}F$QPt(2f1E_8a8x~+v$5FLSZ9`e*xdDwDHrb(@+$E zb7Fhuk69mAcB_GoRbe{zr>~@z7SCR!>~jHElF-rl@i%8A)xk=L4+*;QyI|IFMkWVztO1h{ma?aSFg6`#c6-L+fhIVFWZ>M zlF%EYsq8UdilFXR?^L*sl+Uqrt5Id0U*1vb?MxrJ^Y7YCI}Mv?jvO@R9)EFfZ~?fD^y)Egbz+O#c+FSu>IU}RhQIrt*bcZ(;AjSvsJMbqdm ziKPI(S9F`tKe{mD7}`ZHWAtjbt!|^t11KnKcp5Iyil>CkLv8U<)=F~Add02Vw?U~P z?Itl=x`6;X4Tvj;y%P6W}ll*q!fYF zXr(?yc9n?X{SoA~&V_Y?j`@H-B9wiAaP;cau(+3%bI-R{d5$^K)IZg7W|K)L(ByAT z!%Fd!)%v4}5}sh{Evy*FE3&>zeBr$6RYr&vW0` zb)J)gcFM(Bm$j!6DPP{*fYUGz<(P&{#h>vhTza0ZKr!t+(zFvHt zq(;Ki((<)Mlo#p@uA`-o6<`l)RbcNOu*q-~_}7u3+o^ znB&%=NYtS-mtrv^>n~@ZT3IW;kQ-Es>_{~f++R2 zDp2(~77Z0O0Ly3LdrWlH08Ydj5{xTPQn2S8`&P>bYdTM63E1-5`epSn(ofK`(SGH$ zcQRvA?j|aP4#zP)TXE66(LXf`yde=gk=|bJyT1_EV<;NW5WMtuB7B_g%i56ZD3>*Wu%?C5;JD8=-hcZ~(euvoh%w{? z?ltG_;^|R6IT5d_zI^WwJHFuNT%PKe-p$c*3FnpJG=gYOn*N9Y`Ww!e^ zs>YeE_MpxqK{%slxR|k7{2B8?2SDUEiidR4765A?w;N=jS_ajgY=} zD7TYfTMG};dy^es@HSIePa~r2A58SJ{<@$@_^Ys^=$>`-qhmw}eMC#I@3= zPFcB+@j0op;?}Nc4>Y~DtNkU+xcn80A$#dn{TA=lzytQQulm= zu@TchAF`S1`EX7P`fFF9?JwiHwR=(fn)gs$v6d~ClYP|7DSp&`vvYBDdLyr>Wm#rm z&fuE!e00)0G`vU43h^0_Kl!ye>h8X)%E>Q-Z%e@In*(2K#{Ft}bw8kTKi_+trht{p zhwKXmEo&C+#zgypvqN##QaYC=a7+*PpOl)r1# zUJar@(f}7}2dwN3)<4U?M{7^X6qO*m+~Qx48B}-8pWA=Ol?m+(N6nt}$`z;=o03$8 z`<qNxQ4txi&DOG%pK;y4sZW`${+TKEYhC}a$X!Qk`U$guEGtmbl4LrFGZ!yL_e@KR z&T@^0Ak}#hTR;64+mUXN++m&*{&F z%0P#prB2qPcR4t>?9O|IG8|;*R4*9K8M3lxtKu5~;13e0m>cZ~b!`BMEg{~4VhX2! z>(=e*AKNSAelGvb>Fw#b>#gR`%xRV*0K{^su8G5`&fCcH*4r3r*~Fg>XWXC)tBxF0 zq3H-}n!6lTl8vw~Uwu%Xbv}vGow={^{H002$LO^RJicn3BSuKy_>zcbs9zdXka|f9 zx7+;Iy2MlBBT_ea)`8~lsC6=W7F9{22VNNQ=c+V)X581xgO=Q6m{}6*#iNx~M`NA! z1TpOJz08+6%$NppG~!}!92>>PBACP{1qWRPG5!0kQ|PCarA=os(5~#}J&#sFQ>0#PeC&D$t>w1F9^FN;A3bLEqK3O5ol^eZLbiJIQ3Im|>V1(Y_NRw9%ey~vYp&;qU_vTtM9dY zYUbl|*RY;lZ!6w^AFgqcqg8)ywv$QHi_Fc(Ot(Aa^@SFMVn;K#j4gL`zkcvf9Wb!{ z3is7Q&--Gm@r!%WJY9rNfAe=+_gJ*?Va2BEjIOF$&DK_1l%$pOWFy|b)CbXGr6^Kadx@`ng`^k(cjrd2z=p^hF9YPJd2fbjfxq z2S=EP?w^u*BjWtFI;4f+Zxbl8Ekx78a3#Ch+Nd_PH`Q|_osYZSaDP4V=~4@frip`)JBKeu<4)24Uz z;LLoUUFOi7-p*I~*-?8mf6%#pf2KQjbh=HZGMN?MeG5Y=&H|Z)+s=_CZhk&a!zNp= zBV|~7-8u!|q|#S>-IsfoAgYvuc7p!tkCuS607`Q_908SN5&T@2|6IZbSfb#mou7!Uy{sshd1FovmGB>eANXg2$d)Z+Sm=|iWzNR9gWnO zej^x5-|K}Zc-jL_&fC${8{CR4PZoAa4sXRxerS*H`G?`1( z;`;dCVC-C=FKOhdO@% zFGo(#U6@mG|GrtPG5kR(xYnvhiZt*=4`V4te5Y$IQe4!yTo$$sgP4S9rd9p#&6 zEeC~-o0P#Gx%_JNdA#>*|9Fd|(JRaulwF!P=2WtNn^lrV4&nYzz-;bJXK#LP;cY~A zc>h|*?*IP9i|q|R=9tQ^H6l{8M{TO3@K;)FSeL%@F?Nl;JTcgR>m0_NRNAUF^8u1n1iXp%)nlUzgJBtLz-&Gj!4t+=q8aVLa(B4t7EK zTVOukq!f0Fd1;&8p<3=21wj+(NC*pB?lVc+W=>^-aKErsU@;* zUXi;oU*zfMy3;c|jYff4JZzt+7P)iBqJ%)t&+$U5RJA8Yzkr<{KD4e``3z($AWB$6 z#TjRU+wCsDB7pn)_rLA{={eC(FAL9aQW(zlJ`eYBID;h8i{{`K&Rwsf^;j0I?WyL4 zvIH9KyZX7YKeLWq_#0ktV@ujpFbTWe+7-~FuaHyqG5x;zIfl9me%|j*4w){o-hb*= z3p+^@sk@zC+8YJG+Kf1pXD6EMsyx13_++`zeQZjmu1sXw zgNyB~wy}XM%~3v@pU%E=puXjL!6I_@k>2fob!@(T(bR+AEkI?PtQuSY{3MRps4#Pb zy;EAC)9n#eODl87dfmphbJp#ceIdXRW2}*FH$dx{TuZG?>9bbXk4#1Qgp5XU-xcH- zCIX{=kJBOZZ8*;=o(PgB1nVa;?EJ2xWX_d=xy_9>d9#BVUMq*?hEZ-wwW z8+RdeM_ALVa%m*k4G}x$75d&+vBW5`J9@QRW|QA;wXJZy(Oy597LDs-(#~Dv2|B|Wbb~Oieg;dcah@RR3Of_h=DWMQC%;NGt&XgLIN4gG7UB;Yc_nP1{Hi;7 zwd+aL))O)}4avB8`UJ(iqGbU7m=sd-n_+9c(K~;dNFQmkW0r+z<#|`DZesKWzrtqV zp%zNWNv+JDa

h3j2hHlcTt}RidHc48bwn2j^Ap4~Sk3NH7%eq_eiZ%ZSOoe6ZQI zp@VpVcd0!`rym#A1?RwsROBMq;I>V`Z|$mdRN=F6VUAjibMSj?m$~3%bS^5)CR%;GG=79`c@J(A5^_j3rrNeog)_3Fk`ZU z(|mvN?W~Si(r@r<{$ycQp+uVTI^yT7zUD;zC1nDMw07O8Sp!rv+8Hnz6m!4)dN-%97LBX!G!*tafN}*6os)2?sOS2qT9&Gm5rYq!-!|h#C zCRl-n7K*s*>wms$&K-!0QF|=%N7drGO$X|Pbw;yX^Q883@aaVTX*eb)n!_~fVqr8g ziA8+Lebxu(Z;Mp&w}MADjk+g)pMAHKUv#%3`3Ah)mQuo34OaXxh{+TD6e^ zci3LNBWz5Hh5g4LF{TkhawNIGi234;*SVuCTi0)szQlby`}`t&nv4p-qS&fle`ZwB z(ui7{kR8H4axmFP)>OLG2bunM2@M}|IP}8F#rPHeq!+-kP4Zq#?^%eqsMVU1H~nh) zj12I-R~`#~Dg89#;MHGR!V>y8 z);>Bm?Qx42_rHd%K=2wl74J#)nx9gw>mM*C4%pquZO?yOS$)@o!wXF=_M#FGZ)OFD zOKzrC_{-b7=&>XTK*sc6`e>J22cI(c0U-=N7A|T<`K=YE#7@Oy z(RC&x%+1z@^w4jF=kNh~wm2haAw4bXO?IoV zW>}4{zCNPdo`Ry&V%mmKd(sUDFQ9IiSnzfgCo?{cueA?QD9DeJIevTD!!ykez>3S= z)eToDR=-e{1#F4>`TLS4bt{*}DX>!A+>KjMis7l-1(f_ITzk_|tQj-}x*o*`sxhqk zRNtXy_U|JJn|4L-FAGYGYacgj3c2g;kPUTnCzP_lP!NJ|ocN=1$KqM=A*8omw+%9Y z-wQHVtm@ixssHpU^X5=nd@+S}zZs#AW>wkNn}eiRJ#-Ovt{#af(|?n5au`7=1uCkE zC|j|iwesYk6rNmli$cX4(rsxwlQKbc#IkI}H}TAMvs%~ccKgW7*3NorV|KelhO3qY z&3k_|Ptt0!4JYSMBfJ#AJ>|=?bZRVWz)*8eM8ENfYcF!2scGs*d5k~^pbQAGiLVyr zCGQvKL+QB5r45ARRkOAO&-N}_ohB{i8%%3et8;7tm!dLwig`o{aj=?Jtdr4PtN9MT zrgI7O$j)%d9l6t6v#{qmxKIvsZOx!8eQGjH@USn-Mb3RR_`mlT=2$>$&2izrbIoQj zWO}2}2DlL#fBgfY+uH&Y6t06p!y$7IG*}*;YV@fWf5t~VGnPEVJOix$&Uh_lkFJhP>EH&AHkH3(0RW_(NKpZ%lv-7aRO)uB^iEj3$@$sfFtTbe5814cLOs*x6^o$f zMSvFhL?wEl`{Oh!I%ZT=I^Y_CxTZOMo-Y#HKJVW4qgUf^w`^ljA_pDm?^ZiJc6(H8 zKpQcc)~<-OJZZZ|FZLC8oC=z5G-Be+0Vamya*LfK;!CsR{LMN|Ol{9+BG@1v$K#!Bp#R74kIXepH#~5l*a}fbIJ*_IRQpR2}@Fcx@b0WEx zuQ6jl?M=mpPpdGh=)W%glc^V`bGbQ2?tsD0&#p{IjY`nUm*LK|(c3tPS zSe(-v{}(qDG=V)#fa}F{oa(qyfi|LMi&Y*VxD`PWuRT>a7iu-qhX&CN65$ z(t%_{xmc<)`_~tHcyItN!$w_7#E^h{;qB+q6AKU`bMDQS^XVzY9+LvaE64HvRaGt{ zq?89SEMJ=`T4~!0Ys}m&n1PcyUAfcg0)^HF)j6$C1)t%hoCG|Zn7}bpX)tK~eRde_ z*ewOzdVab#hDKrw-zfq;iFKu1zUDTdpHc90Z6}qx@GF8R^caLj`LPWkxUW-m2I?CZ z8qF5AH)jbraKo5ck~Qk~ZOx@m-s7~+BiF3&k#)XCueFe{={@JT)^6hd`m@g6Vbn)q zE3{_SeRYq%(Xq2olTOpl-R9~R>UCtZB1iZXqGyBheld<*ifpRD$x?w>%WwZio-B}y z_Uc_S3tRVBnOSGJjyudjP-c&R?FOQ!Wj& z=VD_sJR-!FP17qrAKkAI@6B+qP9ED%NDp?_WGOL@CrnK7@s*h~B_?i`$pMIJTTQed+bg+!< zAZGQ3$Y*pq+6%4S@_L=jaY0Q6PZ&@&#jsu5XEytdxRC50YRP-@JW14A^;b>B_kLkL zXU%e{IRgaSk*Fh{Ni}|guID*1!IUzb{KCn33zNasvNU&dvIyN&@(E_e&GUx$M?-R~ zn1`meJGL)w?H%H~jb6sz{+jx7xE%^CBBIHp4-V+xjukXkZ7$E6Cg=Vj@efS>U-j7~ z%hfhT4~E@E3{36bqS5QqU2vvYg^eM9jn8MklOe!e@R!PFe=H#9*)6~7o*_^v8tTI> zaHUUfM9x5-=N~;E>ra_McUT?j_sr*He%=$jT6_CK7pJ

C}9;3=jCV$1KVk{PG}X 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�tu*Pb|Cre|hutD|&Y>w{ziH}p3$1MKX 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 literal 0 HcmV?d00001 diff --git a/figures/interactive-v2-components-with-updates.graphml b/figures/interactive-v2-components-with-updates.graphml new file mode 100644 index 00000000..22dc07ba --- /dev/null +++ b/figures/interactive-v2-components-with-updates.graphml @@ -0,0 +1,1010 @@ + + + + + + + + + + + + + + + + + + + + + + + SUT + + + + + + + + + + + Timings + + + + + + + + + + + Scoring script + + + + + + + + + + + Batch +splitter + + + + + + + + + + + Initial +snapshot + + + + + + + + + + + Temporal +graph + + + + + + + + + + + Graph +generator + + + + + + + + + + + Factor +generator + + + + + + + + + + + Parameter +generator + + + + + + + + + + + Factors + + + + + + + + + + + + + + Benchmark driver + + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Short queries + + + + + + + + + + Folder 11 + + + + + + + + + + + + + + + + IS1 + + + + + + + + + + + IS7 + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Complex queries + + + + + + + + + + Folder 11 + + + + + + + + + + + + + + + + IC1 + + + + + + + + + + + ... + + + + + + + + + + + IC14a + + + + + + + + + + + IC14b + + + + + + + + + + + + + Workload generator + + + + + + + + + + + + + + + + + + + + + + Scheduled operations + + + + + + + + + + + + + Benchmark result + + + + + + + + + + + + + + CR query parameters + + + + + + + + + + Folder 13 + + + + + + + + + + + + + + + + P1 + + + + + + + + + + + ... + + + + + + + + + + + P14a + + + + + + + + + + + + + Data +loader + + + + + + + + + + + Benchmark configuration (TCR, ...) + + + + + + + + + + + + + + CR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + CR1T + + + + + + + + + + + CR14T + + + + + + + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + SR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + SR1T + + + + + + + + + + + SR7T + + + + + + + + + + + ... + + + + + + + + + + + + + Update stream +(inserts and deletes) + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + U + + + + + + + + + + + P14b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-concurrent-operations-validation-workflow.graphml b/figures/interactive-v2-concurrent-operations-validation-workflow.graphml new file mode 100644 index 00000000..da25c8a2 --- /dev/null +++ b/figures/interactive-v2-concurrent-operations-validation-workflow.graphml @@ -0,0 +1,750 @@ + + + + + + + + + + + + + + + + + + + + + + + Load data + + + + + + + + + + + + + + Concurrent RW block (both reads and writes) + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + DEL + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + INS + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + Validation block (only reads) + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Group 6 + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Group 7 + + + + + + + + + + Folder 7 + + + + + + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + ... + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + ... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-concurrent-operations-validation-workflow.pdf b/figures/interactive-v2-concurrent-operations-validation-workflow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d84cd6136196c7a4314d14dde89c6804153fdea7 GIT binary patch literal 41714 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ÔkV11pu}s(6cStHMYJ<)0)bRr3$sB+^J~}=3 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 z z5XnJLAAdZH;MF7lgaC=){;KgHn)DN~b9qFrCN1=gUw9=5OC@aU|oeGP7j&iZ3{%kp;uSOhyBKmtgv z8Xk6NyO|FrhqT$;sr_-#5vmuSRmAL%0A~Z7`m!e?DvZi|Dbk*YGSmD0 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 czdOJRfsu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Data +serializer + + + + + + + + + + + Initial +snapshot + + + + + + + + + + + Graph +generator + + + + + + + + + + + Parameter +generator + + + + + + + + + + + Factor +tables + + + + + + + + + + + + + + Benchmark driver + + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + Workload +generator + + + + + + + + + + + + + + + + + + + + + + + + + Scheduled operations + + + + + + + + + + Folder 7 + + + + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + INS + + + + + + + + + + + DEL + + + + + + + + + + + + + + + + Group 9 + + + + + + + + + + Folder 9 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + INS + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + DEL + + + + + + + + + + + SR + + + + + + + + + + + + + + + + + + + + CR query parameters + + + + + + + + + + Folder 13 + + + + + + + + + + + + + + + + P1 + + + + + + + + + + + ... + + + + + + + + + + + P14a + + + + + + + + + + + P14b + + + + + + + + + + + + + Bulk loader + + + + + + + + + + + Benchmark +configuration +(SF, TCR) + + + + + + + + + + + + + + CR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + CR1T + + + + + + + + + + + CR14T + + + + + + + + + + + ... + + + + + + + + + + + + + + + + SR templates + + + + + + + + + + Folder 12 + + + + + + + + + + + + + + + + SR1T + + + + + + + + + + + SR7T + + + + + + + + + + + ... + + + + + + + + + + + + + Update +stream + + + + + + + + + + + + §3 + + + + + + + + + + + §4 + + + + + + + + + + + §6 + + + + + + + + + + + §7 + + + + + + + + + + + §5 + + + + + + + + + + + System under test + + + + + + + + + + + Benchmark result + + + + + + + + + + + Temporal +graph + + + + + + + + + + + Factor +generator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-validation-workflow-without-detailed-update-streams.pdf b/figures/interactive-v2-validation-workflow-without-detailed-update-streams.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1b74442df3655e714034565ffa0ad77691f32204 GIT binary patch literal 111700 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 $Gb8zJ?D!> zop-^$EnNaS+IX4RQ~vUgU5xb6SUf{3Yvs#>HAp_``f^n|OsxR|+Tk;wA8YlEd^JOL4;KIiszqCmq{`VzT1>v zrN_hwdGdJ09BlF%eJGzUHwyS2MctyC?$d2919(r6lfJv914676{s&oz86i)R-}dHzF%=(O(ynw~=mY3&EgP zX^mD08iDeM+g-1vDkZ%Xs*da}pL!sA?`VI}hEhE=U7tIXbzng8&quKPLT=|^y;)+r zA^hz6AGk+$ujSva+4~D5qXL>_h?_Ro+!a02!{HSFIIDx2Y~|Km7j~@hisT}qk z*kDxXj$jsVZ7E}nJpR>~@sF-QD$K2>v+5@$Ft@h4L{lg(?jW3Kn3~t+}g)>#1%;K2aPQULhkIK0%sLV|fb z>5Op@z9&9fp~}>zg(cv_&v|6%;pPGSzIYnrn?G($G94&@*%q6&<7$VD{!0B^24A+a z!r6a~7wbvcztd8YWyE$zQYaVfH+n^n>$1NNiB!F`9v4I{PpImBr6FewiL^+D__s?= z>o`AnMAY{6HNdd0669ic-0hcWx@#Yg+#G%Cjc|>bQxIjj0cB*fWy2lv!_KY3!k+fo z+w8hntVUyaDku=3+|6#Pied2q*up;RO3nOEro-s#j^hQj-qZ;gz%9l%upg|-67U(+ ziivrv!05ry2PLOar!v3w+y8ZtWYz}zH=t9vT{N0EVgD|I*yjVe_S+@UZQjjN4(^6G zKr6t~a#wtJI2(8urT|mcR+MZ|+KdFocs_tjtux+l>^s>gj!6?mAlP$|pJ%6w=J9ES z(e`)j!{r(k29!Dhb{gt0!_n*X-CHXtw%60nfietrE{^i;U?TsD0NExzx-mebUKZ)# zIjckQ>jamy(Yb%T*H=maHWAWaoL+Soz`@e=?eMQ4as{Gq3-jWYL&nT~t^{m^>C=IT z*vOZchblYYRY3BVE0eV%3#~Dw#Xo;+b^;>0xf1&_LOS7giTOj;tTpq;e)J4=)?DM+ zUy(1@$+bi1SB{z1!La{wDks9=S_7nC`|PK@%cM}Ne_31}*S0e_0CNEYc!^D_tZPS# z0-(pH5CzNe@pCzWtwsQJEWVujF4+ey{(3>%gw9fjXBh?!Bzav#P5DzP@=%Ev0}6l^ z)O46z%fWF_c*Wy%xFcn`R6z4=#KlKkgpJk_Yx3T5`6t>b1L4jRr?YbX@&w=G$S4}C{P zjhQm8DE;SZv`;?1I*5{c8{k)-zyfmstCSzh>qmRhrF@CKH16JH>u82>wsrUYWY<444IvK&>;$}sE9{7elP{y&cxR#34Lvi{ zS5hxuOB561vruoF6bN>f+p=tR=2q0g$ZpHzzS6hd?mvPYE>*-*Y2ZO?bkQ4+F=@jISdR^E7(J78aRF|v4R%J#;>BF$t9bL~VleKG~T2uP#J((f_%_b+Y zv7D9%AM3ouU>fayPy8q^&tJ!5YcsChK{mCru2h=+RsC)4F_8UXVX@@w-dbs~T9@|V zy35-_afbph()dI|dzwUR=1g)voZ8#PB^XRT(Ls0e0f>t@EAi#~w)waXRwPjSY*uezg*5bx9-BPFw%vUI5b>25aY43*&Pt78&DGH_ zs`oDM>ZMC#MH$#W`n_fd{&0N;w>72aR$eowJ@xI{m>E&wkw*JHXtP_lQeaQYq<$3A z{-WfMt+F`&OP$$iao)-5qw*+k+J7_;NC(*RG|q;N*q)965~oR6VzQ$2hg_Txk&*Wv zfI0=4SK?%Cvv@{n-I}+XZO6|~Gadhe?M*DqH>*3~L{rsWdsN^~J@cO{v~A9dC;Nz} z<6Wtn=erJL9ot;@b1n8=PlJxyv&?_y-p1<+;*!w26Xy|0g}v*`WaBs761x`hG0UG&nzX0?tTlL!8_UULUquXolDL25rlt;I`%5%8iPLi-r$B5NnR!! z0D0~g9S3`Np?y1OxqvxesV2*SeS`gL>^GaNndP#+OgWG5ADr@ODa$>d*MB?xy}LcT z;!0}C)!;LECy`@bKAjFt30E4q!QT{mmv&du^ppkNGkTQ!oX8Z5dbgq?d_92v>&LJ58-!Q0!~VYUKeDdmC=NK*8NPP0+E^~=$=H6yJ6?ECAN%W5cE>6{q( z_g^+qRxhFQ*z^e2TrlfjUAW6nm99nSJ^$)8o8p>dx|TWb z6~ab=I6}#T;-kZ~<;#6QS^!==x!$Vd;@`2>Oqhc+9NU0`v0=cd?Fe^n_hBY()%&d6 zOPF|U7V(a){;Hc-D921Wt`z`1W-h_}1u1f~XSjuj59>y1V)gNeHsF_pXuf_4<7?+n zlrG?$HI~%EJ`i9A$1|7pH3ToQ){PU|x0K-^c40eTcOazgk=%;xcr9N0;uw2qc2060 zZ3f%00LX(Oc;|ae5Vd;Xr;i79y!wd0yG?H&UX!U>JvWXZfRv7of&d_c<7y#5OoqoUggqQcl0ISWY00soBE_SIFw(zF8LiK*_$-rup>JZnv5H zq+NLujLY;MO=pIgCCt8f``c|6yC$+N-AP%H_@1y?yQk5CYAVCVoO@OmqDwaR^7fU| z8Quyv-uUmMJKP@hlhkwn?iK+0?F)Bfyx(Hx`7&B}%IP_uBJDPSbYy2=2$mFMnvZ?q zfVWU|S!px04FJ}X=GV!jgpOTy`cu$8_idx~MMu!x<|22G|Bi}PK5dnSI5F4volr(5 zpVE5c^X$oA$=)a1>ltRE&TKX)RGaC)@Oq)ykX*46SNf7}%uz8-9Y_rosW|^2>~591mT{lQ`w@j*EjN(clY*Z?(6va@7ud6Eh=#N^54myj``xHA;yiw^NS31{5C$H?rk6(>dw|Z12*SRUB-}i zQ`>!rzG-%A(niBwkkRYaEE4!b#l*{+F8M;RFvbifHXYyz5>L&XG-$v=NGAN z@#m!1f8DJ&wh-bI-q^gE@vCy{`;T~4puSws73av7P*a7Rj;S7j|MdboZXR#DNdMCT zb)R#2-E%R4U^N9${I5y(%L?P>beMUZ!~sldywQBQx)-ZQ07dN|-sHkh5gx9yIgoP3 z<2W2%;Xms+dDefN%P2%De^_{egS_~4%eWPVSksf|a#UA!YfTpnhp4~4q%ybe=8hNJ zmR!K5Cl)~`*-|ea&9A?~Cyy3_lYm3xPDilq>Mzmrt9`-o<-0 z-Yl0T0`suwT+@VDeXSE-IE@7Y*>bfhZ)^O#GM*}n$5_#@*?`Gb0#2Kx`h5qtD_C!bNTEJGe^0eMvoAV0O#|j5+q12$o0C~I1SxLlB0`hYS=&o@c)z*3Y~Vn-7bY`V zxC9EBFK^1n=ck6;eb+s35ky~VYX(%-PoHFa&qHNV&S12Cakke}C*6LhxLOX=R$k|a zNj{S1OX1xHY8I_Xe6VYAz3cux&8+&$5)pD&^b0-I3Z^909HrLToA|&p-Ts{szCsSe zLWnkZkLBa`tF$okl?I~$UE&2{4y11~s}05a;2qreqdte_*Lwolgw{nJWqE6P-K+-! z6|E;lmt)g1eKA(vsU1H*;JnHo4c{lL5#J<0esz0>1--%dy$wfXQU^#y7=-gx5xZU7wNet0& z({s^2ysVY=lg#SwYhWSrOCbi6PXI4^ALuy`m-G7Oynb84G1Cpl02Tj?1zrCuS(y+D zP5Jk*(5xz-kM_&|09UMa9Gp&QI6;vcED6zF4w+qQ*-jN_*jmcU(`l-Ix=mw{U-ggG zZX5Jj`F&98NxAKHMYlKUPoCxr^Di# zKl-Sgtz$oVa@vG_ZQXMw0<;l`Tb zDXCJa|1?D6p_($e%SwdvkN00p4BG`|eLk(W z?28Y}%hF`byf;}xIyU!9ys*C&Fb!|DhkA8U`x6HFG}zpH#Lb+7?h;e#*0tnBrn6;s zC;(NjS$cA6f0kQw`{mf&<5;cy@>F04Xl1xtWERW8qDGjaI?RlVBjT={zt?t|Mr{IF zTM~mcuJsfp3PY#f`0L%TM(@0WzOcH`UzQ=z%4dHKqI1uoid$aYviB#uu{&Cx+wG(A zr*~-l=B7Qu_Sc`00E(pxiHuM!oW> zv2ocGdR_Nc>N)WiWohi|m?tcmFscSex@sXI7%#L*u5V0-&!tP&%gtb4trY6aBI-x; zYi4mTKGi=U>;IkhV{Mas&kK|o9tP%vNv5?+o?r#kA2}{5uh@mHf05O=9o#Uyx&35q z?MiC#j>VpK>zEYBdLGcZlR+SY8*|ZUal1YV%+x2C)WTuDEOp}Jb=yym=mIZv(jG5l zALTiZ^j6mWfpunFX+}0KLvJY@9VTuczqB z*t-9D4;QVKbt}ubvI6>sW20BuZmrlJZv_!9h_iS zgUIVsnOOuetpe0B^U$uv#t_qGyd+~=H$_zVjn<&1^}U^f8peD3@vZu-9co_Kn~rPM z_JqjAOFkLu9g+&~!9dSt77u9-NsN7Af`xB(FEH*It1{CeYqs!jX>+D_p|s`uwS%eW zwQJC;_E1CFiLWjNbd7as+&K~VQ(V2asgs;wr#!lgy2E+}*`}qUpwS;q)U}H=X*|*2 zX_Reqs|QnasURz`mJ-hNUFKM?Z_e z%w?JPZ0h)F@COwqj~TI#S?>?%DNeTiaUpKPZ?R8*)NZVE%JEBTX<7f$Z5|%9(X>|U zKkm1dS)Pnt(EaWO=sey*QooTUqq&xBv{;)Sc{x>y%j=_cVn`2V2JZZOC}{olom26j z%qXB=M!Rk3u{@Hj^8{H;3Jrdvf>oOmG{$`rJ_e{V)S8W9k zn{ZfqO7?&?LHv4tW;=MTVChnYuZA_W{(e@X{BFtgqV2fQJm25FoZ6#fw6mzq;}PxT z&G1|(S=L7%s;?>8UIV5zgG|FYaf_p0jsg~NUR;s$N@$kV{-^Ug=1_ z&mU0=T7r5Zd2d$H;wN^_mHl`ZS?e_sfIhFU2iT(phozC6v2H;*k56Z2wg(f8gH@h;5Lv%`;I#>+=fyV5Ot z#p8}FFNV9}8==wuv2-BWqVBBE!VhL-dP#Q}!)Zo;M4a&#eRsBVegbG*b3*M3tJy?fV zqArN*@nUi9xACNc=DXO;t4)9zprld~4J=YVw)`3si_+RG)5wLsrUiPsef=46y;yZ5 zw>jq8G5rqMrc>R|`WCLtgi&qC=zq(6;zq1r_o{-iF7>QN9-g5xzh!r!(n8Dok`86w zDh3_*?q-dhZ|&pj@6b5&R^Nn&jCd%wPvhY;7}pP_#hiFEt9Plv3`kQ9{~FlFYwOMm z&3)nBH(RLHOO3oaGEOp5vtQnJ63j{Ek|%NRa6Z*~PY;lgtJ8FR>hAye3fAqH$vVF? zbeqUPB7It&0TF)V`wS*2_vUcRtnUfWbtf6X+al&-)=Ii{Qe|qT^ZYsNX2*ZsVsVo5 z3hLNps8DMhTgQ`X<;%evRqAz<&d)4p37$-PFzah$2x(RAk2Oe^v#t;)2xq}M?9QEk zFJqx60>(-TJ=Bf7cs7T**^t*iZ?Kx8q3cvPJ#^UEn&`QKm)hTrHnE2jA2+t2^wF|> zuduz14=%!;G7ql3h?Y0Sm2R8C;BWlCR2saN})LXzg7 zp7s8{_++OZ3{@$yw^wLx0+iTokOy6jDp|m$Gt=Ld>-G84Y~jovxA&>BI6MGkxA~jZ zLKaIa*myyZGCrDuO< ztx9C=<~^o-o?9>AiC=&DYw$Sk7wxoTafK0fhh!;R*jM0OAJ+BQ8SOhQt0+tDA= zu$?58g2J@kChuoYsNxoQkS*pEUJXLLd{_G2KfD{ag$TB=`>~hNB)Ef|(`q+6XcmM_ z!g&9n6nP!y7X3-Lf&}vJHZbJn=})EFZ#Om>r)1iXDZgac%C+BgXNR`7dDmOo5Y9ESz%k!RXo?N$QweYi0=6Me2W>2>T724!d`ZYL(T3r)@Od11s!Nk-XbJIbHVjJbcAHS2Dwz<=Nr~iCnZs68i6k+%V+{Ju`rPDqS7MA(Ay6Ba)GjQs3 zt|LB+yIYKy`^8~V>Q(0zNHI<1kalyO=V|U(mB=pKv_o_|HMd7*w6d9w7be4YkCC^` zBo&JfVRXbEHw^%!-_eXvp*Wl^wUATTINcvbjJ?Ob#UuO{o(13?HIuGYn?C2XJVGBp zM0(a6oxCYY{6}KYUf)%@*l+bPFCjRs6Q~pnDv_w_DSm4GWvaHb>r+-FVn4?5ff1K=nw}y z$wh9wWOM4=v9E=FiLkq?M@(~?qt@p^_2N+^z4h2VM6F=Qpzws**z2g`}HJ9k`-%V>wexXX3yYgPYy8`lwn;nfh@+$vJ zo5fx-7S-mLe>gsM&=&bKgqfzyD1S6AFdSW5x0`T z{c7`tFOt1w{)*PRFlvNG^a+}|=AW>=XyK6^G(q2RX=9mXt^;D3IK)oD=G~e`=iQn#2@t6r1AQp{;1| zpi-6bSdggutzRI9J(c0-3!ci3w&m1(e8-HEJ(uU#<_DP-KGSZ!qGd`iq8=YG`MD?y z?Plgh0yJnQ*It_1W{vspb!}!#nNyFa+>TX_&Bo~1hJ z&~6Vod@Ao9Ej|euuYfOwPP;Ap_&CH6(~m3pZk!SyC1gw9coJrQ?j#&p&Od{$DnnJ+E+YFyeGBN91(EXWJUGRmC&|Aa)gDpzKZur2G^+(G#3XyT{8h@nj$%R zT_@D?))|D}J$7gANH*+eXR@wlbuPyaeVyn*>l(4VYJzV<8w{Xbr?V+4kH(2gt%?xB zldAssOaNBU?UR=q=~i;kq~1fKZE~-G6|T&-H_kGDcpgTcSYT(+*(;1HNcB|>Tf}ow zF%8*86>(o&nuBk9ajVuYV*VX?QSnGGT2vg#Gh||r=GJ6i}_9Td_M2` zz*yCi$8ggdPq5Ep>}_1FlbK?%l0`_~c?Yy!{;Rx+!RjT6v&aOH&nxnYv2&^fWiq=u zBn#$~yboe(mIdnbr~_7c1^a`NeH!-*!C)iGe_D2!tUIELyk@H8y_@Lo2$cfIsrxRG z5rQL*C2D3aVjp=v+Bw|e##ScjyJ35}%lS&TIR86N#>3FI^XFFCiKjkT&pm|-imU6 z-a7W78e{Qp*KCdUqtf?ip2sUS4$~)TFC63QQS3*-Bsn3Exgkz5|U}NFthz$ z%Jy5Sl1y$Oj|kr5(xz>G9|ldn#sDuVPP+Soz0?X7cET~?>>4^5W9@7zD`7Oa+3TaVikf?}-S{nz&4@aP zYHwh@ARI+-!%c0h$2AY$!Zz_58TLsm*!A|8206Gj;?ea$X6t{&(*&1KjVnDJ4R=et zIBH;G&T!@Hc_5sm!UDDdeJd~HPX#;ywXpmAu+K+kt#==YgWYAQe46ftem6v_{z({Z z#fR3`@52foqQ$*Jvp*unufLx9J2nOx;JaP%zrKfsiL^fub@aCcg<)PQZPvN#oJRDX z+992ZZLAgRbLB2JGp+QzkM8YDqs(;jPUi7W?zS#!5Co_%lxoEQZgP6}dd+$Rz~mSM zwosY{>*Y`dwAks0%t|HSRjXgR7t3otyX)z>y5gJRZF}60z$aW`(9yBQ4tE0xRSH?s zJU^v7&@t@k(1Bm_Z|zrUjuv`%nOLVkZ;C7){4F~>j3+*%M0qya=>B&;Fo!}~ucH!w zF7uqI%A3K$~XT5Lks%S#S!|vMW+D-3SP}-y{yw`q_k(mZqa?jSE~4V zmv=qOfK6R6fV@=P=XXKXZSVV|!;RQ(W{Gn4sdgCWYG2`;82f$3UX}uHv}Z52RG2m| z_8n~Rf%Y6*;J&0}IXYMk3Vec>7bo+xqxN;(U#ZlkK{U`Un?HZE4f92I$=Fgp%c9h7 zz99*%;b=uLmj=FQRUW?|6aa;;GT!^jWeG005rpmL??+7mdbpE0Tf1DZ*Wc`LAQ5)TIqOJ`9qvGUeArpM|XiQjO}BvKN9v zW}=euWIU}mIsXB*h&CMnLcF>B6(?(r$!7EEe3j$ZeRN~wK3U41*ilv*6-9VKN-$eu|dQYjQX~d1vC~AQpH}S7XVaxugi#NcAT)3 zJ2HR6d2b9b7iJyryNL(}w_q(xYzIF1)B5?bQ)YI0{=93`&86a{e5HDt)rsoy^}Qi0 zPks`~R4>ckqYx3?y4z!C-A*DU;y^p#&dkaoY%v|Jw=k z-Rz)ZlbyK;zmPav(qy*ORG6q(B_5Uj_x3w+uyHxI^1){_~em06M=e~b?||5O^)P53>m-noOK&QO(a z1zp%YmX7@O)ipb;6klsz^VA8h2_a5<70w*oN_%Y2DI2C=$LLd8PN-+aZ`$xMRR)O; zpC^$WHlF*|b2A#gKI$wQLI|Xe$aoZ5T)61gQm){@Gp4Fp#Qi8Q!^MV6~t#I5Z z@+5x(8i)gwK+j?*t{{BzrLkzh`stoHa^~~IU+pJSF8;=a`Ei;fpod&(@>2+TYt3$2 zdRy)gC?n-*VT_jGD(zQtWtI#WUI?<~`22pmErTYS!$~Ru&^iTW@F|_VHVCAVo0($o zKIp%&*DSYs{1FhzXq})_$#vm1btP}s%@en-#x&4?{v4^c_OF?&gI4O|t~sE+&)MA( zb$WCTYBpL~Ashbr;9uv`qrY4+%|XNKcOGoLvo0@A(xuyMx80R6*b|GkLD;RT+Pl`m zY49t?pbz?S(=V9Ls+Y&XYj9HKw8i-!vY~g<5slz053~y3y5hRe4L}h(9c9b4I(l2M z{WZIQ49(-vJnT$76aXc5Zb#Ku3Y{mZNVj2vWiph3UX%}O!9_N(}n zfad-vkFJQt?|^DDh-K+MxVnU8Mt%);hY>TpUHSQ;Rq1O3<(y{38jUUOhpvAo5FOq- zNaJsihIIC8wptY{c!Jh)(9a(LfkENqfEa71b*H$|tbE<4zv3Z1H1&H2$gxAhC`?4% z*}tS&?LZe*@SuT-`Q{;?_X$`59cp`ohDcMaq8R-e_LNf&Z4t2HF9EW8J?S<91@y_@ ze8>c$vI~+IyZv%u z1>FRHU9b-|Uf8yz_K#6#;;=D9cxTu(J|n7q-J$xa{~(v%9~|g}0V-}C6Ch<6jK3CV zbt{4A940KsN_KpiSHvFA@Mq=EeGmn5_0TGe02B!J71hptvZV@tzzhC!*0^h~2PyR!7E)e=jmsWaK*? zl3cdfyhtss-t^2LOKRmw|D5+?o!LebKuxq^vqlz0j!Rx&#jH0%Y z+OBWAtx@%y4VT%PY2&m>CErHOwmu-@J!OSeqo1!U`mS6Zrkh)RRc8G2ecGQZ6HX{^!ad?{JW7y){-ZE+8RtSjw~ZWIK}!{azkc0;Xnq zDf*hc{pEzqnkc8^Jl^Eud;6LBAepRwF+RCzGk3h+cDqVW`YYlA;b-q^k>@*Cl>5Z) z3%f}4Pbtp~=W0_a!OYKGol$GiMS~sR$SbYlTFK~-WidsnF(el45px-r>P(3{ymHI( zkSu@(^mn;#G+<-T^49a>>@NzCzq9)0Io+vLW>rl+XR**OH{fw}w2I2eF9oI6 zyFfr0uQq{P#D7M}{6SU(@l3P7;kwx_>=s{kI6L0%iMLAHbD8>U?;!hwEt6hnd*hVt z?{MEmd{=Xqpy^M9+6>>PxX-aP`K?ri?747px<@;u9h zjL8>fDiE>I8TXIaRXixkU#~bF^tmib^owuqKH5_r%77Sg>h9AvlCSUo0^1i$dT%A( zbNxBqYI69!(iu!;m08L!Q}7HllysPYOHMkXqZ9wk}+ zA=Hp~K4JM85cDgraDLsm_3TD_Cg16GH$ALg^X#<0s3wJX4A7YO=(5s{IHlGkFyHj3rsyG)kvslC^B?Cg^y7QS5pwqpR)+%6n; zl89x0o8~|< zGUT{rZU&kS89u{$Gk3i|n=00<2&>pKFZt4LjAitxMANlgxbVEmhzxe0cNuzBg0nf!fc4$9)IJZ8lhd| z(J{k%)+$UtDUy{iSPU^BW4&d2R8&rK-AevE^W_l80~TZqeN0jiQ7q0^|MDois|u`6i#XJ_rfFs| ze|5ox$b>FBD6#3WxIh0BBgni(pGII{&#k{*?jB5P)Z)#*5t2;cCcN=4muDVT5AL_J za5UXK0v4@kZ>>SN6Op*W!>Lzvo9(VB9-;59BCq|;@06#^IDBSAb zI3b5<{lv~&T0R_YECuh4Ho zbw{RVRsPsCzMHzz-tNDi33}9K?mAJ5GGFQ<{%SKx*+<;8l{nzM_1-bN?AX(BTlQv} z@MVG^GdYhtzPKiq<4PvYjeWKBE_`1FX3eJ3sNc(J^&#O7T6jnlXe7d(_-Q2?xKjPK zE<@oMtelxV+n4EusFIu>>lzC7dV%+TGL zqfk@L6t767{LQ74Tpz_%$aWxuX0nGv)#$I$`xxggmx;skIQ7S! z9a>&@RxNN`tY^MoHfjpU#`0S)0Fw6-d?m|Zf7A~4B^Nu6QiS$i`dn^Z5-I88I<~91 zTqR--!=M?Te*0rzpBB4toat?|UjK2=JI$8zR4%1jR`i#=jkV9k@Q=M#H}RSGX38w+ z9qWZ{^dh7-0#mf&bhb$S*Vs_0ryfl3<~6GRz(WprRUj=%X6qo2WblTKGmi~JSHw|# z`cR3KK8$6SWuhtjYQ*F1??_FvOASsAp|YDAx8qWl)D8&XvS#CIE_f_#`Gt3b`o;vV zv39{-pjp)>cS{s||0z*FQ!-b^CV67hYoFtA_^yV>S3@Wu&T)g%8ccKm=q)Zpm#d!b8c-0)%LMalgPP>iY+3s3~U4bg(=(`u*EMYxeu!EV!C?r|qtFym zvyX6>qMWkXZDyOCWp`6H4!3%#^w)hd%+D&w_wTXs--CE4)})#L&(-lG%6Kqb_~pn0 zRrRG`-rkFct>}+uw1FYkv*tom-MOrv+4}RGuDbM#y*#VZ>FLdu(?&hbU$z5Sw|=@? zKH0*HGup(nd7I(hnnx^staila+%~M;t~qW^s|Z}C^X#<=HbV3ag4Nzgnq7C7W;{B) z=G9F<**3SXv%7pe+Gk0pzO^b&yqBt8A*>$jEamm?!rmK9PQuDU@5JSYXk6;q#Yf4g zTe*k?R%s!qxC*xg!trOz21N3$6J+N@kWk zcE&Gn_J?HtE>&l8*iZGk0tZZWfPPh8tb@Ef8&k7=HPdgw<~!G@qj<_c?%WzyJ_Oml zTdaekMuZ6m*(f&-Wh~d0_aa<2&nDD>=2W(y8JD^ZX?WIF0OPJ-WHi&wbVtFwo@uW7 z(^T+kDI|55_2p%ZGsAv9+l8388@?9Q=9?AMICuS!($GM9?44wXXH(Dko;duD&AxTT<83!duoLqW1JV*q+YR zhAW6Via<)AEdd5Yzq6kUcY6`ZJosgvbNz=3{N)K<=fVtLxsZ>&q1Z-;r#c`P5 z6^tg(WBSUZN!j_#CYd*fo!^Ae^SSc)^DeHi5n-xts*KmQv)&*+Z}_H8!l0xW;czHX zSo)o|YsAPb=U)z07~Oi6CxuYC+V7h7civXxDxXnXVsc^@pcK5tlLk2s$X<&19nHce!}?S{%CWA?#t<`eRk%1UNe-pAk=#)S;Sf8>zRb z*68G}6AXQzjguPe20r8TF3+2#*50KO0#hWay2;k?btgT3<5_>csI+!oBPUZQbo)pr zn{rw>?dQ>h9nDXUI4(%&@GMyCV=O%TJ;ff}tWNdv*E>3SoMx6tdYoSDMbEk7oig^Z z>Hbz_r%tJ{i=0I{3vUy0%kQJz)%{$n{?Q7cxT5AP&I!C|zKQ(gdV7^`J|R4(JnIa0 z69zft+vQ4#Detj9nq03gn`xFepL$+^gZS~n_a@zEK1@dOtoZxp4_Ibe>0oS~o(w7% zvH={ZskEik71IY=@b0g^u_`EsFhtnhQAxBAXD&eWCKmJUveg1t64eI13>;Cbp( z`|eH3&Ej`_Z$J%E+8^<|ePF@KIGkAdse85eVbIMWa(?&Suwg8&oUN?4u?`%jdK%3ab&TK?4Gsm5Pk~U-^qDFW?E6B z@1t|tbVVU~t}>ft&(<6QH_s5#!edl(XI zSF2_8Vk)GQ1*~ugg#S^zsle&u)<2SR{tqpUdTn_jGtsC~m=t#Fi!ClG9`sE6oiNn@ zw8`4)i^b!-Vjb!a0@Uy^#HxAM9>PGutp(1GzHcKNRINd7(-vfT_TcmMlL^38Bz zAfw*>!~-0Le=A11fQ{!Y-^aCj->pKZyJUD?D;J(8=hkRcd8JIvZ`MZ|BYSkTXnhL% zk>oGz?aDoFiZTW*>^~Y=T|r%zKMudnyRm-^KTJ*J_ZRGL&n;9!_4&N7rp(7*H;Exz zbHt7@7gmppwEV6o#-R!wK{Ktrio0O+^$d0X(vju`P3!G7K%8Q8$DoVM=4#XU@K+70 z*BZX_%Ee|Q#&K#w)*hKoG%9kGTj@tPv0o}TSh&y1 zN_uQ+SQlAN|J~GgzPAc97LIB6q4w6r z0T#*5W*omdw}@Z7GEpVMs8T1q~4 zWE#K8$JH*sU&G)SyeCC9YyS9MFtUz+;%oOLXQ{Y6-Am)B(C3zy3*gVGH^ap41)z56IZbMcenuMY z{OG>!TX$gwVD;n{4qIYR*R%6=(Tzf@oSUn?>E!;LL_aAI?Au9ch`+melU+@1Jei)5ZQKKTA`u7{5oOV>GFv!MJv51XFBz{~qXcn=R!(^~S17 zD&)w@=@hoZDL(cQ<=&+MO5rh=biSu zKV09X%L$gjy>gVFk0B788{O$t8|K!Shs&H{{05vBgYStdTabWaGAD#P_(W2grq4o@ zO$xp7ywQVY9@_*w^3LIY z-E0p|?Yvv$qyq7LBzuIX`3Jpg9+_!Ty^Q+TcCUyguS_5Vj+1kNCmQr_On32qrAgA+ zKE-*0b@lzZq${`1{E)^z%96{hQ2z%lqKi4$2qwIK_%VmhEk? zZB*9w?(zALwDFqW``%=zH5LTYv&DXkC%;a)_1rP(Wzq!(+w)M*b-E!QM+R)o;H5d3 zQQg{;s!-mPJ-&~@^!`*1DL@?Ot*F?o+D_lOA6I}U7my908ah2NdDcOCauL*b;k>Hf z-WD*?z0q(~&!%>Lt#r0#6?7RDg(wodTXX$tU^n!;w4j7Oz?_2NG+ef2omuv0ivFEgKOqkW(AxLo)b>fw41^mzW}Rtn#^6Gq zN4lmW4$B&qxZoBrU&CL}9axo}yxyYfuf-phk24Rti-DsY9!rh>J7RZBz7&HKO5u&4 zlgB>S3s^Gp7gC_4(;6&_#aH%nUk5{@2GJS4Xkqn^V15UK60Nsq&-1sC)aHA>6HpV=Lj^qTIN3`xk2Drx_DRYocV=+Y?R!nEr`1O5Xo%(p zxPnfvteBl5w~P)IkP~>9N;cS2zItdFrM8xAR%&^C3 zR3SM(#-kb1TQal#x-e*V^Y?zmUHx5j_@S)we|#etK}iEY0Ye`zVx1B>labcTz++?iB>Q{zck2m+5SRUOl|jAvu%91 zZ_EXM@x_GbRoYarEb>yuY?qnv#C0+1uwL${Whc=7RRGuV9Y9?SBp%ZeEVO&O=3h^Q z0M_4mx+`b(^KR!?KIGlXRG3z3W_s!(Tx+<2wCDBepJLw0OjIp6snhujZT271`?={u`eXbWs@5j0jx8(@e9PySboEKh4lcchLSg)dvrIaz5bB z_z4wpZj5Vi%w=p2G$FUP)!{wxZC_jK!v8oruQf%nD2(3o778eW0Rt!)Feem6f`A|j z7(fNl^8IJ`-1ax^R99Je&ffpOmQs718^vC2a_nmzmGFKU)*dX=4uw}*o{g)Y>8hxD z$dPVb-UV(u&lUpbwB=+X#7=x-&Ad`Qa_FWwRhmpnn5j~Kadhl|R>5`^947truD0j= zBJ9bZ;~*C5Nrvi`ho#}(N+*)8dk_)|^6NliIKJbY&U*)>g7ctEJu zGNaYFiW`b>`zD{!o|{N4p&w3*QjeTo3+%XoJc$px=dk|U9DP2S5#OWqL8aB6mPd4_ zD=gd^kwi7lL(i^V_{y{9Atd?sW!B=D!{9<_%keIr-=xHQuax<*xtk(p=dW6~Mfdw1 zoF~-;JYOGfK~JR{$RBpMw{-v3Wyb(H8{MhAFGX|{0Bos!s+H{6ev9wF42Syl!r;wH z{`k#?@Vk7pu&lUTO>9C7TPa&uHN80K^e@8s0o=jo`JCOoY*^z|`S8;FyxGhH{>a6C zNs_enTu4<5)A@DNnC0qrJAfU1BO8aHa7~*d?Dz26+ZaFo^zq>Y=@uhwx2tJc;g{a$ z-eZR~Gm9FvM@QMm6K%%zKNgC+GW7F7Hx4_y{K1^gABcng0EgR;htH4>lJlYA7Cc8w z3ZI<(R~ra>{MI&B8<&{hPg?uA*7x1=vc9+QC5MiPg?y~NjxK8Mim%(zc})Tzp=K_Z zUA+dy_F+n!?U6p5Y*&M6!Ddl?UfId}ZkFg#DmvqD^;nN*RHL2I79&6*=D6*xjdEXH zJ1+ntyq^|~j_o5`E+lE)Bo!5>#w^^ny1mW)uW*+ha~SSvS7{!pj#1 z=l(ETDsnXb2ckn%d<_hS*)-TH@4tkkE+4maMj6kaTkqTaQ*TIS^2LH#Aqzl>`YdPl zTMs9z7^KAQo|nQ}-u~L+=qC>f6?epi=rIM!&f$U!R&vU&rk}4{cIfLT4lByvlON<; zHDveLGH{GPR6o$2T&_#bHt>(x!sUKOE9}vsrj(QzcPZo^)eqf}wSL@@7k;L1{QPRK z$@%HhX#16;+s5mWn1@E;?VY>qz`WJ!9)eBXnNq6O;As&D<%2Qn9fv-{;7-1ONIXOuyJ!2bl9(z8;`!{rjr2}S#hJR+j?e=DK&Kl zYBhPM#?702H>+Jk1B=4?)QQ&{xG(>LX3V~=SIlg1ab>ps=5d!c>9)|~iEMeR4sL{6 z_+w@I^6X#Qt8cG)d^+{uuL>ck_h8M}ABW(r6KisF&jB48sY~j8Qxb1sIELKZ9_$r; z1?oc{R!*zX;3-Dm=-ti`$$qzd>boqTcGj=ZVG9pdxwDGJu3Z2Y&fF|t|4IZ45a(8l1de9w@CVuXUS8epPV3oS zv8zr{c$GWbgO};-NF=-Qr9bxlGy|c!c=w8~LRVAP@X_@ToM`NQc9{nKc*dTexIN-0 z5L+3Zrm=VW^U#jkdj0f{Mwz3UT>+HjYH}lxJgu?c_IX!0rP?SLQ-8H2i@!x6HThMl zIX{f*xqf(^yXdgl>eeK*Z;0e7IJS3BQg+mbaoFLx;QAuqVT~vFRYr{8*c(3O;(li( z`*mJv?m%Ye1KMuLj$b3w|J>=qB!&gb-fwWjT#q#NX?HsM+z5CJEON`g2=J3F8D5}W z+Y&zy2_BH%I(BLaX*SZuwj}@FdfTf~BwA|xh3U&@-#A|7Ut#0?OmXXw@gzKQ`a94E zNj}4sN|DsQY|}yQNDWX zcP5$$V&um+%alj0WV5vlV!_Gkk!ZA!FT>8I*-P|8+^hPWp7WJ@P8(b?I6c{8aAYP*KG&uo4f zKR*{?xWFHEi-zgRo1PSo%R&^0{p5gd2B*B(J+{KPCr|hdHkd=Jb8#5DW8+p94i&OE zy_UW4*mxM^w}))KPQa&6bEm!TW$0zo&n_uSTq!@7=Z|CUO*QWEua<)?f}E3=X!~V# zc-fXs`lI$h$djf2Xzc)0Y~tX152( z#@mngd04F9SBZ&@ac5h07w0o`g*-Oz7Mtw*(f|3HL|V5`yJH!*i+O6wIgm1b_KhB! z?!o>jkv$OF6M+=W(C(t%Z*xq;!0Y4I_HFja4`e;A`0b>a+g3GMLGQ zCVm=wqFlV#i3lp4VT2z4%J853R>JLt7Ww(D+OmG<1nf4y^@KcG1dd=#0*jscM!rZ! z<;Knw_U**CO~z_fRc{$)7y2L=*596Yt_e+Fb9M{t+wr*hr!vD%wew?@fr|L1G*L%6 z_SsGg$og+S@jW7`jbV}Pp(b~ZzVKl9d^1OWl)q((x@uTEsYxF$R9EzJBPf))u~;0; zS&)Lgvv#4khzX16pqZTUdTf#YrS!K8$m{yw$c>o4(_wuR8jEa+{oY|Id@eLNx1T+} zm5Fo4{pQ%GKH4^|6lZ~YDwHt*&kOQn9$Dne6x~g(iVSDl=b4Kb??w{3>X$Ni)gI>S-lJ5E+%W~ z9A?Uc+C4nN4~1P+F44ms(PetBIx1Y7v#X`?ZL zSWscnpaq;a&cvxLUZ%Iz>R2$pMW)MldYfWfmdx5=BcI9c_BE6%cPwgvZ)U0+<6wP5 zW+naf?dQws*fg4%T6Ef7==*^-!^RD48YjG!ln+$Lvhv48#0(2{Gt=|U_fnL0WrCE? zbj>edpDz0pDa-IcW`t;^&nHmBTchMBqjdu)8YJD@wXs6?w`WSQ%{P(p0yRpq5*Nsp24g4oaJY~qv{_=TU^VInEa#qVc!_^Kd(m&jT6$>}v z>GXO#6$SC?{Q|BF6!7w2k7{+}K{&3$ZESa$vEQTWR&&wi$%KcH*q>>ytyz!fTCEy- z9(N8`y1zwSx;a}I&)2-->)m0MhL}^F5L)5&VU13@<^jL0b_M8N8fTw)`QHv*Z{C`l zBUkU2qV2F+@S?G;hwmao6D2jAA&?KM4R?Buwg(BXJWpc%#&+J>@wWn0Kut41<2cA< z>tW~iH_Q#$re^$Q(fskAuHA4a&tT&+lBhZCrU5T&0SSS_eM&_zUlY54B${4n)3Co%3_kq9`=JPk%_) z?gqZR>P2VNpTqZq;G**UoVx=&6Vr#(M96ylvOStsPNA;`ThhO*x<>x|@|fG8%ItM4 zboQg%dECwKt{pH1BKKzB{M}y3`AD4(>=>}8Bot1kvm5gjp3~gT-9Bp}Q_dyWV4DT! z&$m3bN7izixv<~WK9~86UsSfghzGNL*zuZsr1y7zwu@0538McPUfAoZLji_XS_$i` zO7v`2zHj^AH=7VB2=y|9ZWHyaudRTTyL^hhCR2?3YBb-G0MxiQ9)HO4Wlh&M11d1~ z`3HF>wcU>ETpMF#7z>Oxv~V8`!3=1vs?)|`;S}!cZE^&gfzf+~AA3b|OSm8Z&clrC z%*d0mKp62O@5X>5d2Z0ZERHT?6~gB4j6884DR{UtFJ>{X_ON`bIodMlz!Pk zoTazKUdiPHbEz5aa?V=4`pO1b9M8MTBmeF)-! zAquG>@jUe9meo(=y_MA$f6GF_I&a^~qq>u#yio+C0Mj?(QE!_YfXXLx7!*ttx&0dZ z=M`jSSa#S>oF;vjOzisYmyJ=h1p=sc;4TWg5bRaHBU_oot@m!z?=75vy}wJXzQDIP zZ+1Bh=;I2Gq9}^Ec$MknqmkpWtQ%7X$d25ZUPf15bX)Tk_7N2IQqlveF1w)%TczVJ zALGvVBGID{lh4mO@^O5qP=Cutvs-@8WdtAH*P&M|e2GYG5J@m^&=>Z^(uH}UaIK9d zeaPz^dmpQ$&TFl`I&Zelgfpl9RUZBP6Pa2fV z=Lp?q%klQKPrp_(U{F>qTtM%CYjYh#0K5DwaYPYjN z`~uFB-|-Xe=7;Su`aAF5V;=B!Rld{Qw4R_O?vTgT=?p|^^?;l6_*&%U_RkQXl)4x! z%b(i89%W6Er2BLxUY!d)3<>dzi#_0au!7fYcPqI{*k**ncL@!R@$pc8nxVPuLXfU2 zak<%;(km@POZ#tkJbsBNIN3Smf~QnY-%y zxG6A#sq2dPCyw~P0w`JHY6wiZ;NARO_jOay?IR`LfW+&urM1LuCz@F751&eH-Cl1; z?#2}}(V~bVEhyV@GbNcWnWm8gk5|}QjoAPj43))Xw|?am+{*@9t9i51)0CNGe@DBx z$}6|}{4aYh!VJyJwNIR!2^n>iFIJFqeCBl!s4P6JEhCjqqUe1 zUjvO8% zP%u#RXX85jE{$x(Y{84BN$l6F;er&Wepp;j@Y-n!p$?K_m-Q&g^vw3r?w)v~J4Qax z^q+^MCi3CxB8IQKW?HRgSjHOg!~C!#oq)C5-RUwjKFPri_^8rbJX;L@2Esk#CFiz1 z9ZhKdRz2|IiXK&v$LQB-XN^YP(%T2)lD}I+RI7j#wJ~jp(DkbeL76mmb?MljbIP;U z>>l;gcoyx~JV6|T!Z#Twoz9Vc8)b;feBMZY&AV|~9hZ-{DINe9nP_(#?@%YZ#22CcQbzEx#`y3h*|!`X0Caaj;*rr`C_mw+^rWGcY9g|yGIAVmaKdK z5(8Z@uhuf4BKL)x1e+fDOVLKU}r4u5=TC24jSk?m{*_Op3@^eNj(MkV(M`V##NWmvVQPl#uB zZN$dz_Yk1K5y3J%8%BDXRkKLyQu*ceK$_Rpu&3@^)ER!43-~ljmYyXVVlykIt+rf$ zYpcvPmQC%hs@lNR7prV9?j`vQ1$tEQaQ+VOb)hBRkmhOc%~`N=b@_8ATJGi-QT?19 z?aIBEPi}iGO>tvR`}bB}jP0S7-L97ESc{G`{y6rX7WlPLN1e3Zvo##)MXiZkmeDF0 zR=WO|GK+;j%ZnHTl?pM8Lt=7&)7@qLQ7A(vp`)v9+x9eL@|1|?bLH(mAnFA)@QcxU zC|}RRmM=i>$l!IsIo{X5D)&i>e7+N1jQM7sK88i#C~KKvXG_7W^H0;b4&-F0K6rn|SX| z%@U$QaII+T&u*JRzXfcIW7XQ*cnOo5au^u7cuB5n{r8Z@uM=bmdn5l!{F(R*c7lf+ zN@yqU@chePQ)(pR!gyej)V)bSwOHwKqhr9nD?R8Gks$~Zb|-06ZTY!3%I8$G;*5SG zf*!}g;`ZK*Px2@K>a~@+iV`p7a!Pso_(wLSgz5VofY{u3*g2$T&b2)VrsZwFa8BSA z(EK=>uMF$?r!0EoyL3m^Y=qBxU{b?A+X=a`*=pn?bW_CS2%X>B(t^I4p-8RHiVB8_6T2>D=f2T-UGu% zEAEX??u49XC-weXP_pW%S0(DvY}32$<=2dz8^i7mqYHuf9EJPN{?4!nDZIuRC6=xA zrdQKnVK<{k;kCT46n$*`$n*dMY$diQcGf8rNWP9Ta)fReg1BxtceYpmo zm*gMw)e+)+?fs>(?kt0CT$>EJj(uI?$Bd=Eb4AMXmE-`luts?D5Bnd;^Q0bC z?&-^7e+;sAJ~M1cOS&N?BlJAe5Kmvaa#a>5yX@IB?s);6&AAEgdbWLxpIDI2quY(! z21M@+1szjZHO87PM}?z*&4@*{*O^)KOc%_leTg^ZrHAZlHCTI>G6x{kt@lT)+}16J zU3r#jJy1owk9TbiqRVj3K2>^rw={gdGT~F2WZl~0@Sqw;#m#VR?KsIK6`4PLk*eld zHJ5)+$5J08A?LYOWkYt2(=s9uD`XR;@@9}z}O`816Z53U%!LOH5@jW$~m{9AMC?ysD z(qZX5y`zYWdA3RUvGcc3FPJdpV_!`>lh?cu)VsYmX`YQF{AL@@p~(S|}`NkieFt?0J7NS#9Sq8oJSeB+|^G|wd zaWR`hKF}(6%bf0|t)>2v_E+R^3yvcHHrWrQWm^p=nSDEf+rXYob@*c@^=K=5zppnd z<;XA57zghm#1-;Y<@i~3YkmbsyYZ_F_L%CFIe(Sg6xqq8#+pACUZ+QCo)sffqgj)@ z(_``Z)jkyTBJ2OA_hkpZQ@Mb5HWza~TUN$qPKRK;eT}<~ffdVtZxEk2m7I*E@ta;8 z1AuHen}tHZc)K{uVcTUi%-rnRZWeO2eCa*sVK5zKW*S?xI5p%CS^d}p;DFrAq_3u;`qLKo`%z_k)2-0)4SVmm9AUWMCe-dU0hWTR66@%HRTxDGI#~pF_%Dl)6@Ij zolt*i6iZUJwx)&ZYD&z!HU-38m_VL(lu-K<)zPJ1OuFUr5p@x3w10IPAzIk?j22Bz z-~H-l*x#(1=#u%>w5W{Umrlr2FK>1uDtr2?;lnxq=gy;gg(9*g<$-P4E#+-edgpd; z7LuZ;HMS+Hn~ol*AVJUdHfV6n$B#qvtt+Nx&oW~fO~$8)xfAxE%%5EG^^Jz^Xq+^^ z8J2V&`qt@{R*UX7B}QFjz?S~-^LY4`M=D_y6DjQsy;f!14f3zGHl97drT(Q-wHwD< zap;|1+cy2&5Ec2A{-vWy=5_QA`C3nA)pHF@Sv4FPF2}%1NX!iWxlO67Kv!nE?f{J> zidfj5`Z{#(8u0Lyc7=gcc`S!wi`{uRATOQ8VQ}@J9}z<$Rxj9SvS|VTP(N!9)$Voy zV{rczy-pdEe}fxedA2{3R*mnb-zmnmHsT#X)= zC2@YvOTrc*Bdjw+(}kkI6a8)U%I`EZ$N5Bf2942MXa2HS1e-#UORm)OQIe@Q* zUxKGthUAD{CKg|R0J2h zM9Sk~@vKRb9WhnN$<1Cs8G<;|z5w%sF5vy$n4I;_6?@fx`>TAd(;Dv<85EONAsKB% zvu^L~b!#gXdd+q`uKAdGnU*~1a4PZ3GZnc6l(V27@nNH^S%!K%0U^&fbiqz zw3E%2v6eK-$d#;?OAIES2)#_n>x68& znFux^;BknxokGqgm>z{8ZLS$%JADXyUufbkTLLOXj6_;xELT zdXRmb=u?Cnj05uJTlk&o2aP6hH%7VchsL`TtND4p|INrx>!SUgj?uwi`edzY_gc@2 z1sJBpyR*bKTGeaW|J0lw?HByZ7g;};&2-oj;|6}Y385r3bA#v#BsxqL)d-4$S1@N* zqUD6~!P@k=>voXFi!5w-Lt(iG*ve zx+TNe&pvc%yD#4_5dFPOX2TS$o!aglC=vQCZ%4ok0h^o7&{rb|kG=&NrgHT|RS%i* z#d$q{A9{)!!*AOlgGF-Fm2YlbT8!Q;X8l6ggZl<|=3RbdUh88s6B5-ngU=uAwn+)) z^5P~5Fq0eE!e>>IFB-X6dnQ^=;WB?(yoH?CRWhvo(O_2cs8th|kpf z($fqV>30i$H0b_fTpq8S{XQ8H?aOX>=$GXMW+ri+m^9qqY2%nwOtN8Ni1@C3fe>G>)77sp;L9fI(Cv)2j7XAoh#@e_a{wq6{v<@NWJY+>uY?4_^@{DEb&mTWX8 zvZ}1*ij6QlRmF3@eYs;=VO6%vl@cx@zI0+n(oUxSI==yX5G&q|G!tsKJbA>vaj!Q) zbUgIuBwasvb$&&xr^C(87GnGX-zj}Kl&8(<=E#0`--U1G{U_palhT*dl8{;5F!#uA zOm)*CFH_F`w%V6suW}RQ@_IPfNbp2?z^g`(`YNSSQIcv4wRBNdzt04vW zo6W7hH3rhw*=~DieK5Ntl3#hxoIiT8OMXOLvM(1++0*=m>W>6@H{1vJ>1$g#-CCWZ zYYhcT-&0MwKWayxxegebOBv5piqrSVZZ}@w#5wn=o|4;H znyPJXJA0%?hndA#eML1w``7&~_p&?Xo!nn?hNe?78C+?QTk5mwt4Cvx9OBm3ATEtw zpzx^vVhD{u08}CXkbTaKON#et%6$22ZM?%kyzFkUHID|PLQ!%Qhzys%&m4yTHHJ4F zh;J*`8(KG5e~dRpX5qE%IUVjk^UL8?EjFjjqB}KMVAdXithztj%L|qBhNIlfa<~mj z6XxSv>hKkXIxYrysl&{_@sVvswLG#rlC#cZL3Bm|o$KWK`RIY>_z4RUS~OV9r{JZ_ zWj??4j^Uo0dnUprZdC1Vx*x`qd-1+Nlnz&!@`b%4F@WHOeM)`Kk`!;4Ry#A9y@MLv zsbPJP&QH=ymz%QlKR1$O{h3|Ze~lHsf6ewg+RWvF2-eQQN$SJ zWaFm~R2)}tM?M!zt(?};_3rs|t#awAd7RhSsonj3oN)PP^ll&LsB+8Ntu%f8@*D-- z*LCeT88F*rBE9|H=QTi%(12d6Vc|usuFtFt;a*dx&4m=F9UKNv zf5tc-SdUG-ma)tAH1JX53Q%+J1EzyhO!iO5*#&OTFX81q3?iiD7B(=E2Zf`MoY7MB zlc=X0*S$Lfe;s7r4m!oE>|`)J&bLuc;G4(dYkp}YWZwx&H-PXugMFg56ukt-(EO+W zG-t0%e~gIEnt5+)4fZ)f3v8oXf!xo__ykzl#g-+fCk$UB*}&}tq7)lq-0msg@-?Gx zenogZe}hf!A09S)e{RE&I)q|^93!h)AF>ZoIox>iQvBG*#mExh@G{87X_AAvEhI8iASjW39%H z4av?{C5!j>@%eCTP^mb5EdHf9m_k1E=QQR~ysc6>4hQClB~Y>jGe`b)@?g67p3gpB`0g^XeWi& z`k?P~v{ECv#kHl2L|55eR&$bSwG_j1zWrWOOg~a@UpCTQ{)JF;K5opfU4y8+42MB? z{FzC5A+@g@v0+xMLZ9heDd4U7v_kh6US})qy_$2{K@2FlRKGpXpzRxaux zm0o^Y;#Z-uhgC;;Yv>sl8wuNq?KuQqIo#Xb()N9SuMY1;?{B*se7Bv(%Z13M8tmKj zE|(OUlgB=&+>MviNhbs%S+}*>Oug&(Rf}2>Tsxndv$e9LXK3xkr%GsHL@93fs=`Pr zshLbIV{?ml=ap^CdDDa9ZGCflQgFM*>={!Tt`YO)&KoH8Sly)(*V%&WsL=>;{XQq3 zQBa)2C_PiN49qSpJySq#U%Z>rS7dg?vkj@*jdbmk|%o04GtGCy^M1J3D6WsWun zdMK`yVfw=Yc9^v*&=B1^e04CW6^at|LUIKIg9A?)^CUJCRO&gV5$x5lN0ZDcF)CE1Sfon5UN zYb>^=wOmP%S3jTlO&jR!HF_by3*YdvtC;0&QU2Y*xYv_brCgcg-FQ zSErCSz?k86rhn4`@Ogx_vUh?!R?Im!Y`>li-M<*GB8NE&Xr*V-(WHFoi0ABfGQX?m z;OZr8uUxO?DleFU&)1n(ars*S9=#X6Uoao+JJ0hAP^wr<`c;HQH~iEcwn=}G=`Uzp zASjsImd%V^5$dt7{!5<&Jrwb&18i^6u=pIc1}NUPgf zzO{wQ*{ad&tGmv1*xwc^PsVg?bP|g(;xrzs>e;AgjoA9sHfP={RGf;WzxTv$!QrpW zHP?jAhGaEvb5h8Q8LHG5`NrT(-3l`hY~Q$Y^Ge0lz01jB5qFW*>mJqwS4h@)yf4>{ z&bM&xxr%b}|0rxbYSzBtHt0^18?nedx}*fAD;`F~oxdWnnJ__iqwK5g{4BqE4kV3R zRgnIq!S1d>5wMk{y442lzal9OH?ba#cG*?MG@FtM8GwqPpBdfyTd4CkeJ0xV#o+WQ z-*Eapl7<7&vY;v#?V~b>JY9v!9iE&}EIQogpc4X)y`zf$X$3KT-=wZddTvyk+2YtmoLDn`4fW-HS- zTPrtd{##aQ9#=rC)Mlb1INb)hVx>%+$qa~*W@5|TqER_RbXK#cR@>(yB*JdpHvwlV z+UrSoygAGLJUW|ZiZ2DtHxzGLvjMU))C34^MG0$*9!k$p};8sT9L0!2u`!dFP!x{Z06YMGe4~d z4H?_fsQvCvqo>MtX)m9Ln)j6(NbsJRGnGRPdI9>^$MriD%JGW1x6 z_HGt8zP=~jpp3YEF3wcf_bPF(L^lY##NH3C+Rt^-bTxw<{i)*%7$oXV;qvG!ENbu++VJt!Kp47aKxsCYSQ8P)7OVfSOdH z>31D*O9{<>8!s-0Qm;-|vF(!75>n zV$nQPGRzdL#ZGZDhsCE-oo(0!H+F-bGNg`3wIIw5BN*~UfvyM9(^0y_c$X&+vHx4b z4^L_rc?PZnz^O;O+~g$juhpS?%Y~BCB{Pb=BjlM{DG|cWdm8hVi!7ZnlO%DCV>U6m z#vhbcJG3Cr`578z^j&j>LAcVmYGIUfbEQ$z>u?DW;I|vhac`@~8*G~E`Q-e_+RG5; zShR)|^Iw#GZ!~9cq4b{!u-=}P^UlvbRvqo?FE6P~s@UI0)y?}gTk^QZ_7)NHSFAMO zqcBVC$Le(2QHO2WJ_Z$anIc71Y3rF^GdE$=5rA{=U*Ru@2{zV;bXHU1Mzh;9-(x(g z>7zilh{fCNSl)TZ;$uD4bAKgp7WbV`0nl#SZBTulk>Lgm>o=xx?BVIrW(T|t9`)xswr_yM4c4`DS{SZuFdx6*-*3G%O z+AXtISsKHYY{u1TRgH3cS@$d-{kG#X8Jq!8;&r0`; zic^^H%hLk~bmV8TX@OZ20jac9EK_M&@P&dqer%4D0ikmlu{lfLW$#>{6{nHn{}vFd z%7p{1eSF}y?#FmRG2hL3C6bx-JJrpuU+pJeh8M zTpy93U?Qt&X_PDXw^$i%fN1T3`$8+4z9L~3?Y0&B6A{_mBa-HDSGwsjn0dwd<&rNR zIGbB0$yO1E^tWF0f^p?F%jJId86eF1L-qxOC4&*f^%6Sme!RzMnF7lktM>wO)ci=zUTqknsZa|7Pd{oK$b<)wyK9}sx{${M*%pY6clv-z~ zMzoVdebq;$&M`;nPo=dfz7`Uk4=?(UsMYDeX>)ajvfk4YB&i;ESjWYB)5b|DjL^ho zYac?XP68g@ptD}sEG$}9rPfQR=OJiLZ{ZK)khhIvR$GqD}(9@}L7BHqXU)Z3i7Ks_(ii(x_sDN+zxiD!S@|)hu zlq2PG;EsO!HLitNQzW@PQ0aR1X5(yRAx(ZU!~@IA$0QWyuQ^p@lQxxb4$%q`AA2*huS+3zzqB;)=O+W^^JDtlwOuY?q_lXb-+vWc?(WoMTb(jR?`A8L zCvzmSZ(t}MpHLSsL&Y4%|F2`xDvBUL@ zA?eO)yVwLCrKFUs&MD-~&YZ>?uV+-dbuW(HkRNuFUN7uk*O|5j@M$B8yH%QE>C(?C z`~DS$3|=N{rPmqyhEiey(r)Ix`%Jm-&ZURh?66#E61Q0x^sGcYb#M?j7KwIWz7sBa zKB|-R2&wy5j2+MS4QBAz=BT?w2ypvs5hn`*GoYQ}A52~SRWsWLALoT~*u+~7M1U2^ z^E&KLR&O?@5-arw7r+_jm_!_x(Y(`ZOdbCQN>O3EYfH}6ylTJKXX+SL5 zj(-kxxDCxCUV!Bys^Qmf?k2Ak0 zg3Bwu5fsV!-??6!|Luxdsjwkb(n=m^oZJeA6?IbjXrL2*_A z^&!ZUHSs8_0=kvoM5wl{CTeW*=gr)WU<=qSfrwW?=YzY>{jP_1G^hgFhaI0*m%cSe z%DGs;;m$4grVO_1#w--}7Vw4?Uv;hW$FAbD{Te#gy5mD*bF?xj*3oCdOuLE2W$=hk zr>OayPw&P0wvM+Je<$RfPfojYlioaJ=;B#&M%^zi*)K3_z$0H7(;Fge!CptXxo87@ zQ_s3}j&5YNwT3ROxUwgw^HKQD;=M#VgnIu$fBCi14wZJgyl**h%h-d?q?D52Y=Akl zI)e4j3Gh^T_t*rr#0&nOqqcc+ zt=vANHhLY)m*-gT2`L-`pNkzbfB?ew86Jwpd?6-}!7|a9nfacCD5Lj=wONH}6?6Ao zz5m-5uwkuH+w>;%5O5pTXha=`ziR*R4*hB2(qcVv8{o*PzY&Ss7_u^%`?J!fFc9-~ zaG}x^E`L4i^s42KQ~JK)`e=v&s+7aoVY`)!?tL>PWsI zv7I$M5IQ-213meiiby>W|wN zKIQe)aj>*?JQ%kog>=jyAY?)&S0RJDI%H-%-RL4W}TU2UAw(k z2jY@R`h=UrDKITQU$&y2Ixt(yhD&g|4O_tT?##R&*Eqeh$-(!#$iXj)iHAX*xs>s0 zv~L^CmKUJrz82;5C2eX86yWt;2*mNKAAG3e)?lxZXf$$Ahi;zhBNzxd&s)C04Z{OT za>(jd8h>Ndezxtrx0^DZEttv%~jg}PO1xz|`$Yg)2A<>s2%O6+N zT_4YAym+D^Sn~M$l(J5)ovo1HdbJo-KN=S#}54}E9hKD^f#`*XiiUwS;fTtM4IzSGfwwEa^;em|{rw^oa}MT(t@ zV`{4G`joD<^7%YiCNk9la6LGSLvHR;iGVS>s8$>}-82eS0QYgf-b zE@iCyT=^qqf6Cn-Zg=vWk4nvGcW8csEgb^6yN*4xDp9*5XbE2}g2z&*hvPU}S1e67 zIiYuevg=X%o)i3MqW@8JUR#O+Q51dWFU$!PEtMKbGRgUNbOZ9yihsvsDe0&7JK{7Ml| z!%;Aq)rDxw|DZP0^KDAK_p4_>Emg9akbrA@$_<->?R38A>?cWvWG%bs{twr@VmYpW z*t-nj6AtW;17YMwe(4dy!x21>dyo zhke(U7=Gj`$67lx5DuTjMNT1}q<66|9nBI~D@i41MGcelrJx6gGq)!e-U?kDOr1&H zVvelGW_B{w;hr!k=Nq5(x`HRVyWQ@8$*-b`YQ;u&_;eA+?KQsI-UtN>mgZ0J1kz-- zt-+@$8&mY9wGVwdA0_P4t)ck>;-PeA!<+CEwP@x)bLRzAlsdCX{q@QQcI9*3Y($kR zHSYL0J^=~pX&nEWmx{hNlPCKa+?Ji>ylLl}l})GN_6q5TdR|5VwxQV`5q;ETGrz2t zV|Gx0LP&tI-=fYI3q4r6kN4HQY@5hHW*>_9^355T03q?VKV{zI@}RociqrLQ^pq}q z)QOqEu7`6LYb>3en@XZnX&&M(w!z-GotX~%o68=33`QLDMh13}TWJ&6pk!Fsfw#cq zm@3o9UVfdokL8W6`}8CC#{#|Y8E%gC3YdtalD?U}=0-hf5?f@8d!b&&r4bcl;b6L$Vup zcb0CsQ#GcqZt}Os3sdTFAdcb?oFTTY2q;|lAO6J5hTn0s(vB{$N7;92RT@ajJw4<@rYu9yS*>Z(v$3qak*aoRKLn0`#gfZsN(}Ebq?C}`ci4y6(jcZ zBaDAg1+3h_(_YNBAD@i{7=aXd@d`kkXN?V!4N`H|a9=x*WM0d=8i-CyI5y&^SZQCE z+w-TYb{|t8tGf4DAqI5JZIVCSCOav??ltnPK36_-fmGEveW15Pb9H-zBW}ZIa7xvq zWq)4`P3%ZCC*l}xewIVxvHZG!x|Z^wD@nE+sg)2` zLchUW$=%1``TaP!j8YuH_VzWg1{Di-vISYecQZ=l`F4HwikF={5C)}0*%%IIdag}Xj|(W%S}1~ zSoE}9tJjXjzusj@4;=q?txOoM+Wac7HvL1X1kZ0=?&rRI%XpN^2D)w4s>iY~y!hD& zreXVOtN6e$S$s?A;S|D;0oLPoUyKR(5wZkq{j2GiZ+G?nUsNXDS-hIx; zlz!X!f!F>w$-mt3oyfJ_{_oz%>?C-#HhSEyUolel7Q^i26A5A0%@Uf`z#AhZCd%$UY`XOlwXNtcLAo#a?PNvzgfsp3#GLxj^ zVIT^PO$tK}IE|0n(fFif`V${;&lh-f=cDpynh^U%Jx~iSHNUkhwz#$XUvfJrE*kX< zR{u+YfJ`@E~E}f!tY4G-T_qytzO?7DMvq#;$ zUY5X6>U6LUw*8s?dJW&c79ir3&%4HuEy5_aF>UJG1!d3D8HoU%siq&kkivbwYo*d4 ztyh>9+vLb5+0oMF-(-ARJExphwDuXTIVc`zW4LGA$Ez{`7Wt$+Yn#Sq2rTnIXN@jS zGo;zGLuxmfZtBjSNL8xxVqmP({Biy7OMBRz*=Q(|2I_}`v&~W?1)DYoqA}=PB02k^ zCOz7@Rx(DPDxVkcr>+@@d!*fhis|wVR|NbC-+D_gzU2HmV z-xuz_N1ILHeB+q(ED5VLY-5j&^Lia@$h90Z9|YXF_=0+u&wG^3fM9d_MTc**KHXV{ zMD~kxu5b`<4m^ST1VasZYG1+X5L?gZSxeHo>87F^wL#aa%5zQTa4kU=-R>>J@7ie3 zP0x+zKAE5qc)G%@)KSmNTk`04(tiK=NcM%d<+ry~sW zr%3usXr=4Z95&fBQ2828h(xw;~I!-z+=*IP_&qO8^j<--Sj>zmX4hMnu6F0}H`QsxFE z+*%B`wq*!*2F8gu-@8|<4rHbYTYba@bK1=J@aLv*S|ZM*1zhXf_0KCCyG-=hcY`Zg z6mP`qE2?HH-`caN!e@K53wPB@@dkk@OFz|5RcYbB3*V(Bkij}xKXbbriT&w0gsqsq z#|xw2XYN=%UN5d++x=AZVXA^Bc(ye6r9dNtdn1?VK9=d)-S5)+9gtcFgP_707> z&E)t=GA^sHD@@FW<~zL9p#ZPUx}&}mcJZZlrf~T#k*H}^q7i%`+&p`y71}d$y|Rs{ z(8IRiqpD?y=Xk7%VL>SOs(c48bTiLh7py6*U@?r>r*>W>6S9Nty!>m>^UQidoY?1| z7qr-%2d%98v~*mmbtJnb^GxFst+XSKVK)Yhr&5MSXY77odr;-783n|!1mSW_1K00Q z|0CY|tu$hQ^sdLlY8veySwqSn(TRS6ZQc`+3bomLK@a&dnKF~0%xpRgDBl<^PCn7H z7<*JH{cT&HX7ADb^dO6oBDmCBr-hyNc&wFOP3POWN02oo;>Ib-CCiAS?D+`%Pb%JzcaVp0Wq` zc5+tAEI-!E*{)P?E-)R?w-z#<^L*%37Vpyp``zOO5P`GP6F};Zt5B4hQh|*escG#; zd*vY&KJ5iyb|nz38g7d+j|Li>+v{)6YDq_QG^x@?P;Jy|*v|;AnY^cSiWPZt(TV!G zV(whLS8dp~K$exh(^$#pjiqcA5#Hu>5IBQuFj(eTT&(KPr@WzR;eE-T56H_o@>t(j zJCDo|>zibG-g<&o=nTmDU64(^l`%}=Ch#j{-}*T5h*ibY2KVEuU&&OZYok%}dKvLE zz2DHR!KiZv(ctzLs@A&OzI75eH=`l8=S-FLq+BF^YW2?_*CtHO86Y6B~a8zm4F#X*Mvd@-(O0C)yypTbLh_H-GK^nMVlw2Nfr& zWd(72%@-G7KkH9-XDnFUwnLa!q0oSpq$CL5|CN-lx=`Z~w=Y!kW2~Rsz%F(k3nduD z*M6tFuqM+B7E54_uag{SDI@t%8m!ZBsj&vgp%* zjn9A^b`#UNO3{swqi#sJft~t;{-nF<;raZL@M{&ndpuPfpIWKh=ibQ*`J^IES#!en zK^JT&?qo2;Gzs{zxnj~SC;N1c{y%9yibxZmuYWj4xCaom)TdHy*uMjze6{C=plu7) zMIrX4*9~uWuD^}|t}`-{4U>MaXq*ie%$lRbzf~6x2)MD=)3$}g*6J#?uiosbi4<91 zjN7Z#Bfj?0Zb?~|=Q}5)(YqHk`VVyBb?o`5>@gs>Ylh0F{Fpn}cE3POdN${E@b>R( zy%0AMp%!&g>|AE|RQ+>d_;Vaf8n64?V)=2X=0^?K21E-b+7HMI43hTAJ4(BeLcfaO zY8*HiF~)e+{C=0`!?PT|^@2fGMt3$f z*y`P5VHR##2*-Wp@YOQi#euzPb`^5mjoK#NAz{qadGW$TOv1vdT>@BBK5a0gyB}KB z>x<9_=P_&`m%T?+$Ztnl>1a0_)@&^RMA<9PN7lkEs_Z!+0MHg zJ^xdA+82g5&tE#Aah zecBLTv+$P5aIh8W!C_>;)?7Uw;JxK1(+ccj=}21*KT}>OGE+R<2KiwhJvtkvwq4u^ z4DV94qeYV({~Dy(Sy&wuH*pCpJ?^BEYa)3Cf}(d7`;kvY_d4b3Zbm1En!i2Psmv~Z zzk^A>`^aCcE(~gvwWvW9EojP%V3w{&TsEB62PL%Cj|zwDxe)JXh@1ab$_@FzOb1xq z%JhEy4c+QDMiK{)1$88I5){`+89#pRN;+0&^@&`{k$wbys}ixe582gvIr0v|@>O<~ ze1DF3rGt3ntpL5OT>Z_oA|RvzS98yuw&7Xl%vEW6d=35Uu0NA|0_O^+1a~HvVKTpN z-ZYQ><~64$S%-N=l@)9jBkFhH4~wgBBgfodENxvv<2#_fjn!aldyqGn2Svc@zdKaSRV++?(3R}w}wYnx|@`pDTIUWrOy*@jv;a|gZ|NN2G&&S9=^t#(Wr-L=`kL8G=KwxTK z7Pp?HRgKMsR5L}{DD-=R*te6+BmeiFuer|Zp0)<#vwqPcCNHBv#YkSKVpt7(1{06> z8{g8~fUJEe4x_D*=;jSB^0n2#vjhu;*dnMbGaW@Do2jxlS0Am{WI!Y7k)$^BX0j`Jm6 zruM`@L3J=Hx7Fe0Kri&ct3&M|OSLk;oBFbF37KRvJHfm87~4?vI{Iu}7z0ezd0<5& zTZi4(A>UgHDOX%7eb()Un+ik7T)qcG#=H^y2<#1_ApT7riEWfY|OuTXaFqO9zI-s3Q>|SymFl(~8 zW|cnM5&&O*bAU@ePs?vw!%F8`mMYgUHjdUHsKRcLFb(3j^?$6#()HI6dfwWq@7-3V z@#<3z8u>}IRIXzC5)ZS-mYAp+3d(_x^N@xczf8cu&4^M@DqC)eJ4YV@u&$bcM&r7t zm*fxzmhA=EsKD|5BwlJ?ywdA_KT<56do~JaZSdcmro~D7XBxvsG4E>JZcozeiqD*7 z`qNEs2jt#b%-RpGZ+$&KxNgz;$(_3N^!;I3{)6+-|3l?#0SCm@^K#9f|MYfD^>YQP zhmLpQC%tH@9@mSCb?ots7EwH6k0QoZFY=r}zOQxEw7(2U>4$%dgH*(7OPD+t-yQVL zCw5Zm=2(7aHdrPq`Z)Odj9z!Qre6u5NNg(O?iajNNBVlT1H%9@u4<&8;rub!Uw3kG za)UYV9xTgQlZ2(=lalFJxVzi1QfQX?D8GdMREOz7)U%sZr){7tsjIOcb(V;G6=IWY zMPiO>HJVZ2FJ^NbMkZQs^jn5hgsLcQ)SyC=U+q9}L)EuD-!6ady@wcGY^rvqrg*0a z%T!|TvG<>hz`1V)BZ?40AQRilk1Kid(^z<)E_Jg7AqC#g^ z98M&?hUM}40=Ps*yEj*%iouERAL5b6Uf;In&v&zZPiZW&XMgz?7xX8h!qsLDdqkz0 zw8Pj4>rcj&?(YGgxyj%asWu|D`f8-M7OwR<55AZ3W-@;vgRcmjnpF7+x0rXuedm3r zR^MA|j!GI~U^F#4G%E2QzkPBtgH?q7rCAwNi~xPO<91(F7kmXn-^DeZX5Y!8A|k`V z>5oXI5oDOI&$_c79hW^Oe_v=Y)=31{H+U>=)dEETopdK zjskZvkYZj^)pq_`KQux+x=_2Wj)(<~SkAN`P|**+yNP`Pq5^0pszSGHJM%KKR%w}N)* zY6nKsobv0HI(j+W;ImGq<=0sGlwEqzP!|b#n-pkTSPnnVY!Z6+7Q#n_rlcJAVJ`xn zoEyjDXnx&6{CuW{k_8|{qEW+p@9Y=zI$ou65W%U?>8)nvH<4Knr*mh)5as3-%ynl} zE0RFq8NAm{->U-3BHWEBCY?BMsb1Yz@xOP?*jBzZ!9PVFcX*9HQdwI+qFu}ATgqj$ zINg}9FO8#z{<)NrfE}QXZHN#9sN?lbnaJ*2uRptg760DdmK=B5z31LrIEC^D8#mUs zK`>>--Mo_H=Wu0ZLnQn?&V4swcj<^&{}QNp@P;n!5GnO9aHFAmv=_-igoa@DZfhm$t_BCEJcR z_P}=kvU9-eu8_&)CohbFu7NaQwwOjmh__H5RqmGdi&C8pxxfCU^ln_!&fr`P#a~wT zdLEVy6x0(gW8#fj6M#mweZtasIlPNVy_rkURbM0BJ_KAGg`ZTkGDA!=c1lKFVusnm zH2eOXyNuUQ0{1W3iVe`v9C_SdcYtmc3oO)Mzr?XiKmBPjMQ$HB^s|@cvqCBS{JXy2 zFHTs43}h3FXVck`_?Fgp5X`mzf{fSVK+r`UC506JH2)1d`|EUZ0*l_H!!o zI`A*1ns^g6IuBb0rg-p!o#%c$X=R`@F%vQXrLCbad=&6o>HzA(MN8LfHiL162Nk}u z5A5MV44;qJl?6M_BK>|({61EL!mV;!)(&}XRGW?dDmUc{>W%ed@vynFRxXn^DybcA zxOo&`){2h5d8$A}^NpK50uw6S(mi+?V)OLs(z)K=(d z{5&03M(E7H@E3=d6S=cLdXfD1x9N^+6qK4q_GP<>s&_OkY$hQ0WL;zh3Ah}E>G_Uc zWoU|di9)8y@@Zoz&d7i5H62L8C`w*mF}WrBy(c->}C#m{D2pO_w$l} z6PkZ0^jVvH5ADk1Y`lxV!72AASEs&960HLa(__9;If5AIIiAh$6MzPnJIY3VnL_%? zuJrZcb=`sactw$EF{-}77DxCZ@Pyr@`b+w9nmE(9=~Hrr8ZktdfbOQ`p&krqKo_}wPEq&obuSey-SO!HAe?V z*}U1C+j4zW-=d$trM;q{JhbQeSd+-|A_8=90w|>`MuEwHo~`u4eRks%PrRW7z6C93GmZMhQDyru69jbuNmugt2^O8R@snYG_roOa=R` zu5`?_f~6A;yU6=YGijqmjiCCqC*JJwiT#fIpZl0!3q1$}P{kd#F}`)K$}|CK_GQ)a ze6*RLU-~w8;)~sNSVhuNRM51@r;S??H5!L%KUk57k5Md{DC$t z>d1v;cJl4TB=>6X$QkU)8_lIVDJmrywJJPcrHx94M}z+_y+o3ITsBs@V*6zm1D*GaB^b@P30Tz1aBfXHL&yfA(jKFwx%tY@gYZr{lH|9LLVaG&Sholx>a_*XJP z!XO_U)k9fZ*~+a0{!FGnMYg$G8`TO&&dHv&b?DAUQAxzS`ex&6hxZ#osESQlsEvqW@mO|0OJKwF+sp7_|A zaj*Pyctc!stX1Fs@}-Yf3MqvL|I$l)E!o}ynk>1{)|HgHVox6)#xl18Kw5FLJ^SyO zUJ$s^UTX?b`Sf;@*a*X_dSY~h*M&@a>OzUP&W?#5m3XVO6U{U0!|CFZbUpVP@w-Ls zWiX==m^<2j8{$=sf-!JSEnTfSn8(}Iq2I2yb4AcOT8OVIkmQaYpWZ|ZCZBAnZ{pjo z*qp}Wh!{L&vcV={%TFm%N>^?+~gRSTEXJ~0#ZV;to&Z_O1pHs9E^O;d= zuo{@lW~rE(Ga17&9a=Kybodw)YICm*04>t>Kkdz{4O__l^wMlxZ-#OqpTM`8ckc^j zpjO45(f?qZ!VwX+O@iCll-B8YQ~93JR)EU;RPfRMl!!Sl+lU(P=EAr4Q&aHw`}a|5 zIqqoI7N5WTc0!wIZPtg1M4nP^DUqpgh-2}M3I0a_U0$XSFynKICCW->?qVlgPnai9Q$TA-fr&|s=6ef7E6R-cQhcH(#3dxP$P_> zFTZTHa*EWgxD%c^pT2*f2r5gUF>b|KFU=0SrPc$#7fbHkx^Jt(U^v}>Z~7!VI%LQD z8sdV=D(d!*!QZI9c$o~0lyW3&9}l-qbBXNTZhM2b-4RjK}YtHIt>o7jl67+F+XiKn8icIjq2mdQI^G9qPixlB>)iRER(q3 z&3F{_v9pvO#wGIon=yK`%?wW+m3?2vuO8`>YotV?sbcK-U9ZwF+JA+4gS<$ZTJoI2 zen@0i#MYw^+8s zb-pDpT%;J@sK%gnJm3>PslJv|w{#q}y80pzi!46hp$+uX^|!-UIwp2o5FGtFZ+GBnjP?*O&vYbshpT0x37_QDU}oBRdYbhagW7z*1^s~f-)>eGj=dcZ z)%P-xpE?q3I}ee|nN9(lP;`FSHu8q!S^vt~XT8CGTRd+GCT8B?;jHt}4x3+@I@!1g3Or=^cA2#L7 z`MIaNPv6a67WWt_8O!IgG{5hf)OT!xfXyP>>O{-0&!2G1U#aUcAtrX~-Z?fXnlP^m zCCgz8u~oC9Is?3G@7kO_ukv$LMj_#}?IM_(+pG&2wbb*6<9+b)p&M57#-2?+{92Py zrN(HUv$CtrZ)CGRw7fKDJ!pix?5mIft+`^B45??Q48V4tnP@#ho|}oPTOmXo_kSP_ z7lzIDRXDCVZYH-k-NTXpmi^(U%A3rdm0y2`(SOm!ma{@V8SU;@D=C*ygWV*?qR9udwF|JHQvX$<8@e|rl&fO-s z%=9=4psuMSy-cM&ytZlbBZAnu(H~ox?WI?#jAN$L<7sI`T&@F4s*y&epz*Wh?I?D^ zW=l2s`vve^?z*kT`+{Ou?w(UM`aZ(gyOWeuCq>dMrZ8;3gp+8oq0c}5?o;ccN}=)| z_fFHhGoVZR?c`yvK90_92@YPTX|VdG#~U3&4`>p4!gsqZzOMyz@P> z`i|fZhEYnQhNmv%KS%I|C;!x(>Kni>XnXB&tTJgfi8>_&PXX+VYCEEpi860xzDU8m zsO(TG?A=cydtOw`p0)+WPa9m(t@6|UR&knd;W!{JC<~m+(qT**RXAX(x177hHIQ@^ ziuc$O0Qq@+Rm&Q(am!J!!ittpF2#mJ`I~6f8qN3|-WXk;kYRjX#A5^m7%MNeSrLqq zrycbhO)IY4XHNbA+=}F%Ja_1OPiaCd3&Hn?yPFQk7Ky#5Ot*?2R!7!l`12E0?;ZIj z)b#l=gw6SLwFAEUrh8)xEL{=JJJTKXB7SzP*J<&X`+NtTY^!-dvQ?k#EUZfgdx--J z#U%C&+uN($5I|(og8w~C|DbHsYM+W!3Rd&5;S1=^})4$nU! zVvu9MXxaUa-sY!zAxO*Lkqgwk%DYuz8qv4_BrK`#6IZHn#=M0OR zPxSxu9BFvm0J36#zc->UVn+6RUs->iK4aZPAf4BRYAM8g0-q$lulfaOm6b+ssi%@} z6sqXX;(Q_Sy^T37QXKr<8)|2d_Re~+TQrUtw1C)0u%GOE>!LEsF!l!ZZA>4%MY@dP>-&c0?Mo-!e{8jpAG)zbBP2fx3fF0zT7dwSDTARpN z)lRZ#=Y*ue!^-ThwL!)k%)1xj7M+4h_qG%W)xJz0)^W%OkEo;NcdopP&b{SqNnW!!EsqD9R;0PIk1C9l0y7&9SyWn4W6!TsqE;_|NMkPUanF~5>>t2H2A$Z zz`ah3=LMs9V`nhB0fO+mOZVAR)!N;!n{M^Kafi2rYa~eR6HRzF{t~_&RX^DIcQ$=L zW4C)k)%=TT4F^6Au>Oc>SpP2b-a$WAHsl!H=kLrX*mO17?}pr~GyN2*<8i*eLW+E~ zPu*ecI&$ek@Qu|dZfAp*aao}1tr-?SM@z&zlR^v13_V8`!!&jVb#)Yq{I(Rlz<}w< zQ!mGybC)LCo;wJ$9j|xQ=hCZj!^^t{7UW>_=sphb-Ld>R70O`YD6Io8w_Ez%TVuYP zs*yfjB<3_}fExHQ}$geDdT{ zKi3k*AHCV~H?-+<;a`R5At)8_yKWgApyt(R&#$8UY;pGFdk+gydN2G%{qJDOY4c)5 z+^0q3hcBRFUUJ!1#d>L?c3zAErk;S5=FTc}Zl8nfdUwuHc@;`D`{I4_ z)357^wXf|XY!KEuR=4EFeNK(HWw_><2yWO7f;BENs|FOsq{2{|Kw3bl?W z^};UQ&jXshR&ffquvuT&-R@Oi$gw%cDNS<=U!#@*n$ucacfX5@EVs}ztZP}G?HZ_K zU&&wUl`#=fj6t_pjGhy^Y4q6XJ_t)wT<`O0EmE$`bJ1gqO}>+X@nRFm#dQL2JYT;d zz0G zLo+rjZ416Ark28hQOv3cyF2$*mJz>JZok4EQln@)$I_S|yVpZ&`5~6^TbuVX2;;W9qQ-SC;~oOD$Q1 z%6o=z_(6HsqMUS`O|9J?J3*5BNo9jkl5ftBf6GsJehc2zI-2>5g{BJ%&&p2 zXg=*OhqryXTEi~~d0PMzWeq!d?ag#lTE2OPzcj`Ug%Xub$&pU_VK6B>tCdGgs#U1i zkmfX{kBt%hJzhTXPZ4D=gV#IDMTv4|Rk@3*4-ffF4=-YRe3KK5*B{T<435OR{F%O{ zoC;EBt0i0d^V-o#W>OiwhULx`T}rk2@(mXj%!27y9De3?)H;OECs9;>h*eeOn$tF_ zW9cQ%`EkASp+ioO`DK>vVCts)S1D&k*G=JYvIoldI?ujW?3%p<<-uRQ=~2C!w0$%M zhiQCvVc2*fVy=4p;VtENIgZ<7We#w;zuii??A*)NT$MW{PP=8rQ?P`}3>RuWmG0la zky!g+^t{}&t-np8j^_Kb2goo;ekEW;R8nv(Q)l8*R9Z3qT|vNv4{UXg70R3L9k(|Oou0@aOK3ylq?F= z2n;{nq%iOg19icxHnqK?XfHthQ4&h4Y+m&KTIgFRQ-WG z(b3?v6~4y|f9iY-@LbuV-8+P5w0aQJZ}!uEoA~XUf6JitZ865TQ5GOm9dpe}w(#k~ zgLn#7&d#hL-ztT{14s6ZR5qrQgTlpFYL=joQG0~K@9N&u+HkF#ow}(WIsonnT+O-PRE>`5_pwKC9^uV1qy@$nY21$0)&$n`mei4z!-GVaF=93Pk zeb}sqLvVSCyeahTMG* zvc_n3L)8Af(E@K;kvurLf-4*=m1-bg+sY}yz8|~gvrKuEt@J?9OBw|NI((;?VUdJ2tPIz6UR%lF$&$n$+a+{M|Np#AwnH!8MHBr&Bd8S&hGwgj~ zm8&A;k|1I&6#mj$6i;UEu=5~`v+T!pMu&D={=!_ke?+pb{`I68=ntUbB8=}DokkC> z!e};`VpVf|YCi4GaV`pn`3356wJj&pkW9j14LHu-9pU&3AVjba`ukC@j~neGVv}U> z0H`6%qI2tf2Ip^z1}A8u3IVLV)S1DoA@MAfjM0;8j=WcPy|tR{5QiV+f{v+V-9Iit zSGK(_{pkd$gs7icFu%8a1hK-b@{V4- zgE;dVwBmx(Dil+t0wl(DMXkD#<-rTO0-C*bfdSPy-cL$yO=d@`;eOo8?reDq8&K%y z>R%^a33EQTJHJ>%EP9v^*s}YZQvk&I^N6V!_Gb{b-mu1Wi-_dhDSgs@I=I!NS-h3> z9Wc3{qrq^?j6DFoPJ`E8!wJ@i@bm6(w=w%GzOrSGL_2B1%pD7W8<)_uM} z&EFomFTfPjJ_9O%d>|lwL7(rXZJI%`1IeKmT#tVQJQcY-<~NJKsS`lL1z@OVp?w~=J*NDk-^s9!U z{^)n{dG*`KE+0_C?i6f_KXn;hl9Zq*Z&z_ir zmCNRk^;n5otxipn^1%WlhF06(YgF^QzKUW=*oX7{CHX0zPkG4HV$LY;$}l(;l?kYZ zL1lXKcgH`s_q{x<;5(z(9g1X@bx6I`m$r)f0}k6v1!mGd)3jB7icyTP4RRbBcMrmY)w>H~=y zZIk3Hv$Lx|#)AB{Dh0)#dw7|KbKJC>&Z@Up4?|JZ8nZ%FTg#Kw|LkXIw}8|{Dw>Zsz+oMl5`A%}7!-kai`xy3L< zH=K$yeYN)Sqtz2wV;1haX_5zSA8lj%0r-CA~auW!CHbxdv!rC{}Z;fm_OeEY<#WlN)CV}U*@Z|prl zj)M?CHT`v*ZiAgLl!ncwM6=H*-0#Kny?5^&F5VSLOn0$uId>=mm&u@$$@Hpm_8?Hz zYXt<>O^Zd zVXrevD&{Z#ZD{`8N*^=6FWl+(#vLqrNgr;5{){GB=(RSsQrt4z4uIduJ-0($yv`e| zeix!ivA5sgH;_`#-DX$^hFURMUDsV|GP{+|4I9IIp!QH|)88UGf@9bdZJK8`ajt?B zbjccxk;bW$VU9Vr-G-dY?NJKPU{WpTQ9(Mrv% zcEo5SUcTDdu48pq#TGeEd!8=vcYS#6iOL^i3=C`AYd?N}#{JHlznX4ly3;v(N{e9~ zJba@xOOE}8Tlpe2L0B7uIGap{=icuCe)OJi8dm+GbuRhR_?tB3YmYnaip%b~Z@U>z z#54sY2H_PX)+}r78ueXOOA{-_2j+pvA&U0rMosCF{|#>-KM=wPc-y`Fl`~CfM_Ot1 zs*Da4V;lj`5# zUjDY>lyvB>1YLSQT$1I){T(!RU4m|4&X$*C2&DiN&$)%H-uv{S z>oyGttlvj6aNf*!fUfVR!Ir0=O?l8`h}`nBg{>VA!=~(JuJ_0B&QfL_;;(^k@fWsC z-DxPj7oF<@he2BW%&E$sDF_7}MS#+}&aAGG#Nn@_Qu)MI_p_Y*^L+eF==b)pCcH=2 ze6<#hp*dDj$(JyywL9B0Tsj^^NtA2r@XwtpTKf;E6T_~Hl$*iqu?4GL_rf=i5@7Q- z+YBLe55q_S?F(R97gvwcHOeYDF%qjdZeX z=aR-C1lkq~p3n~Lxf@UGAhfLh%IY`(5YMfv5~!zjS-oA4N`#&i%sUZtZ=`=(A7 z4~o+>5XZ!N*|jyV7M+Jvezai1m1i^ut1DQcc|O-pw|M2m6aAIVa}{^j#bex^qQ zn8$T!didx`??%)A(;w$%ll3bIP~`H%dn#{(a(AzM&R_Pc;JNZ(eiu5k_2XWCr2+_w zo%ALu|A;!XEk(6$i@x(07ARmSsGy=CpcJAYmVgDKC>AJ))&Jj_=iGMhL%!@5J0io3 zz_sQaqj%95H^gVD8Pp{CNr_xOS~Ae++gA#mvGwf! z5r~#DOnNzqz~~I(DuV;RNUjQ(4u18n&0*iEJTiwf+995=aBZkYvU{PNpMEfq*p$7G zI%y>sb=WywEzd_sieVi=pBK&2y$=gL#JOSfd`0%t7JL=-p&v9aHKhH_@0`Oi22PHc z#p-GhC14OC`q+rHoePMHc*~y{@?}0f&EW04OCo3&IokGXsP57_XK0V`@pNTCMl@-D1tCFx8zI z3@2tzvu!aaJvnu`88U#9G2M0S(=s{W(%qZJBEG2M59VqyI$jJT0|r6#mR=VgW;)SA_0^s7al zkdyaWo<6AQ&Z$h3^>sMb)bo~*TUEulvq8zN*vXFiOMcVOkE#hj7g^CY8=zJh?>eaM zSN!XXJ_`19moIEX<8r?A@XcO#wfVVj)W&GH^&4c^2}2L!4J&PRa@f~(bVk}G7y{yP zG1~}{zdy8@qs|$?!rtFdh?-ZETW~O%o{{FI;;R*U({jx^sVnU}31C7EMCI>D`uo5b zE4S)3iakyC`eg-r`d6RZDIQX)tcN{aj5fL-9<*K{{0@h0(Bv=jnNJFTU#k4a?2=5; zkVlnZGZk|@p4k&Kd7G`&Y;4!%G2+zq`?ye29o4znn;0{;oBp3% zHSPTnY%JKH?xu>feR;yB<>Bo{_XI0TihSg9fFF&gBtS!pqP zqY;i4*F7J1xDz6OOHPb?!eE`fEXwEV%D{icJ^4JGeQa{Jx5vk*cg?Ikv<~-~+{1h~ zrg5@lJI1JD;YC>EYpup9Rxi5`2$Iz$u=^y_&W?qg_vpcXsWH_TkyVz|-kGv{t3vf} zl^r%Wg|~`dGFB$qFrUIOFu_-zJSOc2)=L<`k4Hg8%1Sk7er{h8jo)^J_h5YS$JRWKG99wiwp+clkZ2n)L87d*9N#YOiW%j zKrPyzY17lX#$@+uUGp5IMc6HPvZ$)Nj3_ zHrbDWOWIvg3u^Fw+WCT3m`}d`{M#-RcH_z=^*9&Sh(Pc^Fs=0ZoVCD}$#mGUCJ&{? zpwQ``_)P8EF)Pq!n3v-*)sRtWCKhjVVUD-D_s8EiTM4PutKRutqgzi~5@2(M8u-K` z7sI^U6!Vb=c_his?5beh)n_4Q=uT@;uXzgFXclYf zB^uqY8U6R;tZ3i7i!I{7Oi(KHim|?1xUD{hzfszZ{$><|)Lk&=nKPI8^ETgeBFaxK zugC>5{5!W7KF_bQ2zN=*sx5s7O>h(t(IW8^=Z6nx-V*LhbWYuqd^g6Jr;JY57~Yqa zWmJtC62W#F%D3-NJ`#6NG6eb#X-MhbQA~ae3!V_Hfxt(=e($kj9=({~mnPh?+1q35 zYKFs~myu=p`^*lRjk^zbNuPa^xE%ptCFYttGsfG~2tN1Y(Yc^0n{TA_nHpsqJF_!6 zQ;=J&-T6nYU#cCvhS+QCLmDLV6k<1*+iHQh&aOjcG64AexE0pMlzDW^oqOga z#>ws6KK9;fbh{3V{k<7CbmzIXA8)-k0&v%g*R66_LSYzpT$fiz1U+1O(-@s@fAOG$ zwN}&%cJpYak*mY%^^Km1>UbyxYyXYvJ> zy>~1l%0DHPJUSMYw(5SE=W5RW1PGiJ9vR_RQTAzRy|@|{z1^Tb7GCLbZ{hrz@OFLe zzYg`saBz$C{dT(RwExKhZw>;44C)Y3*~O?mZi_cC@vv_hXMCCD|EH@_Wvd$pH@FBNAtH_8ae_}i~# zz?)K9$kxnb1t`P`$4~D1OPY9|B>w#7*~F z46uc;O;>=wLL)@B8t)!^swfJ^KCSgDd$&{WJrAdSfe)g$+ceXC`pQy^{-_`dJPvb= zBG#R4nS6zPjh+sB%!d0NSvSe=xGWw`Fb%k2?E4lokl5lDChjQxZRG$P zL}I(c0QERJGqT0bfL@iy{1~7x$|YBvX#MRm+MAcxyyj{|d4^obQF-k*)f)8@LGma6 z#LmKnlm3Z0{8S)-3?U1wn5$Exd7MrnCqrojPn9yetF^ifASVfGeQ-*2VVJUjJ=SBJRwz*desvZC8B+P9~DL~ai+xSxGr zlCoU?sPrk_tntp7#Hby`D8*ZT03MCvtvX$laVFT&c+=JC%I0uUqK64RqZ=z_*Eiw~ z%gOqZmn@`u-9BAM*dOq~$Hps7JoT=`bGu#1(Pc(=IeOS^e{z{eYaI8#**WzzP(*D;@ZF*GYD1c?axu2+K0M-j3aFj$d%a?DfRUr@ zk4nQwy8<@B+xn8b?lwS#Wx|D?ud0}7eZ~l$>jW;G8n^caknvA7arP0E-kN&Un&Sh| z0-_~%pKbVD)YF0A_gz^w4C^oUa_hnXi(fRyM#1gw+rl8qhW`FALSPG?nwvVFap$f5 zaF+Rh-t+yQ}~|y*q^c438=;MK9oEN0dsJmh#@xD7>w{ zP9^ePsvIAi+27&F$G z)VCbBvAnxH1)o#k&+5yuxmy_V%3)hU8e-rp&urH-ebk4!1&y>dSI!oueup7Y;g0Lv z{ZzYRj6ZJyO<3dB|7cBZXC+s%V;@i1Qm_>~UuB>}F&sin1(wCIkfgmUMehvK2 zC*zXKQimgd%=DPuTitV=3PYe;pn5#S;lY+UAh)dV$fCzQ3%#7bjyk_3(ED1jHOnaU z0AQ~8Iiwhd~kgRSh_ z&nvjl&TDczq7J|8g`b$NPuIldWcSg?JtYG1QGVc!YbK0M?LfWcz<<-V>glzV4%_b0 zon9yE5b3^i;x&k(QuB~0ebvi|kb$4cj2*s6E?Q(XRz(8u_Z2^fAGyM~Hk!y6s$$s9?G|qB% zb68w+Et{HGnKdnH){YVj#|>S+x2|N{)*p3yZ&v}IAtS;*pJ~_)ZrtwwCgP~a)8mHp z&4Q?hH}?Lr2FO-yvx9hx&;=x8Yu&tMtx40$Tz{u1s9rv+82enz_Vfo>;u5?2B2t8Z zt1e+jwE2^dnGQ)&XBJ&;Sak{-fmo>m&v^28+IJu0%~pJK{UfY}o8Pzh)o;-uyf)bK zXfW1Kxx5L>#K#{Z3{-aW?p1&DKxoHF+%%(YJc1v~irtsAXq!p0ovPK%w3kvr-Yy0$ zK)#p6E?Jn@hh?sHJ#31oc$)<28=Pgo8HJdBK#CnrM(OO}y#bZ(Et;v?Ex{){kYU~> zUnBhukr!8Ze_z->ETm_dkh-VV0SwZ}Os_)PjGNNT3;Osr zL_pXl(`hmf3$SwK(`B{lYC&mDUoZQtW-QQOR}b6U(Og`?cx_=ne%2SOZef6Oi_ZO( z7$VDpHTccOK=-<5f1PpjubjgDwg9|GW2o{`TWHR$WYNJp5nl3gtEI3qCV&msjoW0n zQ-eckkSh?t(uU5+!X7$4vdTEGQvETx89Hu*x8)9RsXWxzy9FbP|+~rn7$0OcyqQ$t;-dmFp%ec@C(+gqLW&gz;oU)j;@Pi zHVf(T*Y72&u2Hq6@`wL2K&DJK!rEH4H$>~OZaAx9ZnY-^1Lg>~W51xpHllV8$4-Mt znp=^|wu2ZHmcz@b{<%N>Rbf0awc}&hrJC8vr!nbUm?SgLd6>|qZO23%KN>NzYwctP#wXz*)$8vP%x<0M1d+%!`PKd?66i8efIZDz;08K=3pEqc%*j);Z zZ@un*R;|9+?jGx;{M(HGIIFh;7b7epBYH0A<}(bI{jmP2U9abrZ}5Y#?Uo1T-R>Ye zVK%=#uk;L3b?YxY>MBb;<^g5g?HJ(HnC3f}c~5DGp9tMT&}f&rKq}P?_w5ye*8b(a z$?SMmUQP$nfxdG&3^}>t`%&BhQ%7d|jmw@-RlG2HFbCTa`wek*?A!g;Q;%wDUa|EQ zI2MsSu14$f{y@gb^IjSTFEQ(-$D7_X5cl3 zr2ZtSA$E@Jolkd>nm0S6^^eT7>lMxtZ)f4gzZ~fti=B(qr=<2mxz$^rLl+|VcZS*j z>cXrz0TXD05xTlLnhhHDY61I0&f-*)*%ds^=M?>GbhXE^npKW~XjF*61KK`TZYz0T zfYb!TL#i~$Y=ys-w+{Py(WUNGZa!xtP-`NO@) zZT3|e9k&N+`5w5-`9?A0N4_>;Un;bFk>%K#xGgQqbp%`nB_O(_1Hz)a`=6jVtSMLd@^~?5eL1psJ-3_Z5P8Z^Q#~Zh68!IwSCR0o)qH)|D zSjx9Zq2Olz5{^0U)wzX~K4SY;Pgksbrs*U}&K$Qp575QJ5I}dsGhim)H;3 z4^=7-DlN=~em-%BglR{4t_R<9n7>VKk42o48{}n@E^xfy0}Dl+>#mm1*7M9cN22(6 zw)cF;*vkR;XfUK!)ZdM9TmRe_LP<$x%oHlur+Q&T%THUHtxS>Zd`mv!uln5+k-vG* zPtikf*lQNs>!1|}oHCh;?}PM7!cXsM{^!#$Go;;V}*^~$6^jD5SoZjI^rFc=Qb?4LnAjsJe5dKNEY?FaFt zisWC0lAKfT|GwpwNQjZ6=r%W48nb^HU~bOj9t2?9Wn6~J(w*s@PL#VlzNtb=3HGkI zd${yg-2&A%5KW~E>w$XtqVm603AtH+<+fbVEoH&=q9nR(ab9k+iqT=!Am761rS;b4 zaPuth1Xyvjs95Ms-p}}VdmrzVR){ZnU+>XIqrHqPd#Qq0W&HY^K$Nw90Yx-*l>hYJ zd2EW4a~c@?7vbz>t55fyYj%_OH;0_Or-<90Cly1&lL8&@-3% z?_^e6{e0S&gL?<)r&zqAF-5%YO|0-~ApH5S%%Y>cy%ZZ*ntQ;Z$SZ=N!wlhCJQA}#5ZZkn z*rAZ`tv>aNE_CJ5w41M_veiV>LzNep(}xTOVKzp8xMS}%M~m<2<7q3^ z**2gs{Mg#s?QHwTcgM1R;qJ=ia>vgEycV-B6}|G42|lWKwuOf;hnWVL)(-{mkU`oJ z>Xph$yA9aI>>@uf-Ouxz7HkO#lH~!6luQ8D==D{2@>4HY2=yz+&;O&_CjVG;O^WM6~Y!{ePdWXYej3(&|7jJ66>MApc|_cjlHoYZH3K0zXIT-5x>^2A%pzg#Ew}$f9DdF>PnVBVPwmM!XqhLrK zMmu=7+h|Vb)zpD{wfrm5Mw5XS;yEnUWpmSkCrehy7sjfCz_yOA{<#4i3|$6%SZj)V zO}mpomYIYFi`k*x8VPa2 zqx&`4Q0l@5o$`)m#MtR3+@-(MX3keR!vW0bgKQmsnMt@aF%+<$I zzh%AJ+5B!-7+Uo&kuWcvRF3L)e>V&j-bU|LY_ADyNp&5};mv0*m#Lohgd5GDPxi&T zQrC{Nnx>-JEEyBQVI&TpEc*sRqZ}SFYZ@IqJbRnuDtP797&wSBb|q*n)Wr|ThWR33 zS6=7APJ!f+JrmvSgW<&5xVv-Y?k2w}7UsWg(V0{xfP3gUy0}X&t>q3HXonG*9>(vR zhF~dJ&bBj3Q`XzdlmHW!YJrF?$UfJhoOw@zh?%F8j~apYx7%3#D&gvToSG||wuX&v z*8w_&E$N9AvOS@s>6Fs#9V)b%D5ry4u*nK{l`SfW|ehB`_a zXK590R;GV^cU1PZ0LSYK_P&F(x7h}>oLd-9vq)jJKCa9?T{P``ef-g-PX&lzbdjuB zz20~5VR%W|m`tFS)!z-A)|o%Lw-3sPzxvJZRkv1*nWNXXS1nKSTbSc?kwGaRlW_K_ z?DP9g`M_DNd(~b66Eb8zLL)nPdYRN9JNt)TtHrtK@Fsa!LQ#`f!&n^B$-3uCWG7x% zntm;^U`dZmgMAQ^f927A@M+5ZDVvx^*>=bpOsmObW5z77<)EBwAWP?pejXCz;u4=1 z+Ux2B4TEtZmFn;`*u2Ty5N%hcFz$oZNj_@ztHz}j--E{T;64*{IPmcpmFCs&yMT>) z+!HP}LG4C+$+|4cm2`D!$N5>^FeNihOzd9I=5jTjY2-L00N0tAwY<#ZP3D#BHYUnD zR$3a=Xo8RH%jKucu0@?JUp@-D*H)m^(A7G1Zc8oIy7D`|P2THpFzJ80we!uSeWbjw z|E5WwpX{%T(}=U)Q*GUk*IagXN-=cK535|4y;1)1OD4g}`fl4#)&fvIh56BiA&iT^ zeph8dBzoAfO<@~^xy*7#=HThA)rvdqg6?T<^qIKvIT*Kjb<9wOl-3*J1WWT;h7caM4AF


}G3;*E$kKL`Dz-)%i>x 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 literal 0 HcmV?d00001 diff --git a/figures/interactive-v2-validation-workflow.graphml b/figures/interactive-v2-validation-workflow.graphml new file mode 100644 index 00000000..1791890f --- /dev/null +++ b/figures/interactive-v2-validation-workflow.graphml @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Validation [executed for a fixed number of operations] + + + + + + + + + + Folder 6 + + + + + + + + + + + + + + + + + + + Group 8 + + + + + + + + + + Folder 8 + + + + + + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + CR + + + + + + + + + + + SR + + + + + + + + + + + SR + + + + + + + + + + + + + DEL + + + + + + + + + + + INS + + + + + + + + + + + INS + + + + + + + + + + + CR + + + + + + + + + + + + + Load +data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/interactive-v2-validation-workflow.pdf b/figures/interactive-v2-validation-workflow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8c89ee995e1e352dce374f6b4bc421d0b80ca322 GIT binary patch literal 26716 zcma%i+ZwXUmfby1@vDeu1O*R>0)mJNDu@D#q9B5ToYb$=PnnCnLGmJD?e3NA{&p_n zjapE}tSXqyImVdfEyuS|7z4`x^MC#K{{f(XkUz2g0{;B@Ly~{~`pQ3T_4y6mKh@gb z|C!&{kF$Sj*!}F6>wN#IW##_+zs1@8^G{7|=H9-4b^G_(e@o)*`v-;b|1;z^i|;?j z&5y>J2R|~`_1y&avRmRmozF9dllucUa%1QJ+0^0wOaFfi{){8;_RTHjhz`=}B6tTu zF%-i(4Wv^+kjnqLniSvv|4vl%t0nIJPn*AmANQ~MPbPpH-Tzvn&i{L@{ylO3wAtJD z7RKJ+3%0#^?&nW8@1XqMba=Y|=4RW>eYlw$Ir(AipAT;mH)5P`KBGS;{I3JK3D58O zzgqBDkAK~*{5^~1Y{&hBgUF2WK+TL>GzW>#7^&d0* zYf695g^lyEqwnWW@9!!6-&Ojn>0iec-N^g;fBJu)|CfdQGt4dgb80g?cCi@Xoa@B* zd@cDf-_!s2^Y{Ee-~3*B1M}NYNbQv+@axE@sXb!#B=arWNUeqz9`oJlz=2{&6p+aa zUYGcod=sDcpl~X9!6Mm-#kEUX`!nSJ)Cv61AO~31m@BRJ$I0NamtI7svJCXW55fG| zg)58k`Ew@dRg+RY^Kg0lKa#BA>{VVlC;Yg$oH3;E8G!XD*~|*_2BKe|z^6alf6{{4 zH*l6UssCq3XZn9B+>9Uh~_d{pZvH~Trd+#U=~YCW3D6sz*6YnV~EaG^D_Ns(7K-OIkd ztX$8`qeAvC9{qNYo02&ipN{Ju4J6=l%3d}d0=Z|rU%S)deuQup<7}QKrq{Cd!l3oM z=;|UMLYw27elQn$)%%uZY_3AEpy z^qRD&ZqPvD0PV0vs0}ok?}P6x%i<%RxUUDQFOzyC5pErvwzyY#iY|>zZf7tZ+2EJ@N>~4F4^_MjsKwLOH22*SpHw%ny`G{s z^^Eu7ZbYA^;|UEexP!m1kiCUPcMvytET~cpVOZ-@L;$SEV}|j8YoD;Gx|!# zSGCw;z>RlC#4ZYO(^H*F%~9Out{OFHFwyiVqg?HCk@|-oG}!jTj;TvDt@^}9+Ya{) zw-VTudrc6M!@XU@8;2i;U8z*nwaI7Z10}C@d#}cr*tT}J;%HRtn{pC8_YdD-rw8qg zw#x+XZ&vB`=h4OOsgAepE^*W6t?9_lP&Z1oO7RS)tLM>0twIMtnZp1Qs^HijWq3@GR@d1` zrEZ>3)2VfmKYRll>qum`3Q(;}GCzXMWEuDeaa&+4b=g^tddDe_-pd1FF zGSwFc0_d$B=9Ke7 zt#f2m(V;na89{GiXcJVA96JL`MTbUKud8Pgb4i&r8FH)+U#QlXSB$17!M`+MOS9xkk-mn^vaw#X9gTsG7~4wA^ICraBU)Df?Slh6b$+z5C}{J``2(HWFp1F_w|X=R)^x6Q)s=^u%VECJG! zDIl+HJm8MPzMd%KeN5GauSkNWTdCf=)AJTnzWOKQXC4rrODXbZh;sKax*G4tdGOk_ znuimV8uxX$_l`XZ*eUOgiB-yKF=<{HW$RuYp9!5WSZbL1{EQS!Ou>mMaxbn2?_x<9 zba#shSida#o0_f6F0BIJR}AI*?PG_=v$6w-(n2bgj=P?uHHtl`g*fQjH;OJf$qS1J<5&qfVglO zA05bA*Tb{D@Kw6Z3A1M-7U_rcUVjc*5w2!D{b;{Ja0=cqv;M^8JyuR;T}hfcgeQzA z%Q3JXG)oI;Zn{m)EIiDhSj9*9Xbe8L;nL(vSQj^o{BlQE7hsB9mXlYLX|^NF*GZOs zyvof@b?`E#BC3xMjgV<70DY&}o1#PNg6{L30!e_M=Gr{vw{?0QmF8XN`WC2VmFhAo z0Z;pgxOMQbyPx;{3!HLrch_8fx5QohaaX9%nAxu5R{6CZOn>#lxEe39#igCfGa%v0tKq7N z)uVMjvj`R+S^YF5E5D;b8-{R&r(Ju1kjTM7&MmB2=^u}w_3OBkgFi*?Zson43S0^K z4!2I_&|lqw=Y;J$%$Z-y^#jun$X6N`Ham3sObg5PO63>XDCSA^n`}JUfPIOb?q=!m zyk7n;BjM^q0`5G6PbWEN)mx;9A0VjK#?BLSdt0cAcb4T0ZBI**t}6)Hqie|N?%+dK znfOgkD7K8f+pl{r<~XDGeY~@SxW;Y-$Bwf0_d0EuQ)&#bJo9Ae`c|vcJLf(uo*(B+ z?I0}R(nnsv#A&qZfd%PDhi!8*%+^VPXZH^y&<0lo=Xdn(Rvs{)(v~)}jT@xe97y~l z(pPWUv($h$tH$%&2PFnH@?E0`Su`Y8U^SVwNeeWMD-|i<`!r!J(K+otGrS~Z3Yiro z$KYwI6psY!0t0K|Sfw1$w7XJ|K?lsaRN@HDL^*E34EUl~{4U?|s49slf7xM6ik|l8 zI1Hw|wU-7Ix(q#eU4tmIsumv8`4j>O=|N?i_IGNGqaWc}-*0+d-V$Eh^kH5_1SfKm zZ@Zk_qsQ(ezdVmdzT1bWzaN;65Od>>(TboT0mrH7mw_^F3?A5J#qe?8XgbIq=$~G6qzBdMWjb=)J_x!=*r zVhCE%xR`EwyPGSUJ~TL3Y0GR)R_KshCpKVmTYP%M?qK`=xIo=d|0zAQuLOjHp3ggi zWmCF_gZ5VXRNI9U$GGa4M(m0SxzdgK8+RC^-A}T~(_|n{`ztQl(}$tuGv_*I`HJ^g!$Ao>MxP2aoiiVclj? z15S~Lt)mL}{9*h$INfCi+`}Jd(|`x$kX-Ju_sua&aNTKT$SDsawrFwBvWKue8MP0$ zOE*RzwfW$3aW(ThC{X{b@>2Fbtlmr8w?`YU$W4${ znJW*UPn9kdgjUc+gKqEXjlKdi8&{v&Z|Ypk4A`a9D_k$|n}K=T-ezI@$U~Sk9-^Kw ze4F6qeSXDLYlFBSZ1BgH}M+%oHGSTYp*J0znnbJ zDfio-JR2_mrULJ0igK}*L4^_!_1!m(-V$7{?e9W=b-Rbu6yIa^6?`m^SIqQ-7yK4j zO#A0u0-P_!Y*d?;r-M^G-%M-#@rAs}#K(?$@e(#0JaiYYUs0qN#q7F^(Vf&}llefb zLJUbi*vaR$(~v%S_?;i`=+`3vEUWGJsa%*5(cnuLl&}5vt~&|VcRuwC>|yb8yBpSH z|H@?b(kRL2R{2|OEXqvvtGIkTs1k;%!^683r*1mOM?W5h z1};^Z1S;N-{F9i4NmXo!d7S&DDy*6Uz7$Nkez-a}v{9XD6smjS(Vw@AW%9jukanS; z?lrWzRlK6CjQLk{;$WpO^*wF6uioi!bi$rn70E`YE_?fG`y2x^n4WjQnQpdb7qyM_ zf2=w52)0Dt-6BginbU{pzB?bb7L6$9PKmcoGMJu!s~%^?gOi#k4}Gw? z2e6-Oquri^f4ggFu;QNgmS#cxzM4#!%>;&vwyDJm42{ZMavlYh&M7&Hg@bMx)LS}- z+I?(MR9krY4_;qz^cQFe%BcJ-Ag=k`vngBNOq0>McmGW&M@A(l#1Aw0VNgW*OS;tr z#cpT3JNy+(9B1Ql$91i2(Ot;HNI3jpwIC8e3>m#Jdpvd`{maDXt=X{$8oMerqVQqLV_Ve0kB8wogm^C50VC%8m)NyXIp3bxVh6tUY$d{L^0;4mYh$fREe zUu;7*GFUC&S|Q!55_5;8+}+Nrd~>{Aq_{HXqM-=5AAZ~nX6p|+R!(HKh93KkA->u2 z0a5v|)z%6_*Zfdz_geh(>L`t3yv$}&_3W8Hbgc~Uls=!?e)kijQ_?+CU0}ait~Nah zw>A~`S)rV&zUk~YB`R32lGnF}HaA907ly0Vm@7(GobFy9gq5R5_N6wv^V#=sw2qVZ z9Vr&g#bB`qf!+Q5`1S0?0ly-HyMMmw(Q8j9pZ9h_Kw`JV&`tEacD{$+ql*x65%Rkz z<6Tpd7G|x-?zI%160$h?#h#)sraJ}5j5@VSHES4B7BM|-Hs1b$6)cS)V7R+jLk6c{ zl!1BJ_NhJd6Y7rW}Oj=q7hPfH2K``p~_lGfZ&t!O)3kLclzr4aWUuJe4_YB%D>Xt-A!&;Za! z&2PVdCk&`~{;vC1>cxTc2zy{WN*UYDmTEYi$!9+CTbD>vcayl#?180_+FDb+o&zq& z`ir}j%7^S*88_n9EYQSiXfWx9a+ZBawnB9u~7EunaW@R-yKEwf2!Ep7vg*o4v z_UaH+{W+O3SyX0s|CbPBcG zVy@G{wpT7EmcH-@dG1g?xGv!sh%+=R5>vKM4&r-MuR&q!_3NbXfmDj9Li(G&%w)Ok zbx*aYn{D2^ou953(s)tI)Bk)dFKs0WHphu)T5|##9fJL#a8<{j@!rsS^ZhcpThr&1 z8odEzodY=u^x^^~HbUj~rl(8m_p3}W`}Zpwx6}1e->l5T`{``ntIZHLx?JV>_$!bn zEqYB~j=>4ert`3d&na@~0sZ@%SE|JsQ@ly=j{To&+BZ*~w% zS08zt+*-pu8aQT8s{~SPviDVUJu+t6S~Dw?w$kT-JGnjfvUjwmp%(^%duF%_qFsyq z%12$OPZ>(sg}rd7bTkD1Vw-KYec#jAoZ1Y{?IcxP1V!|S`BID0-NUfP0QPF6_T|xd z^GgaR2Wv%4`id?~vLQd_+53k3$Z*_$t}f(YWQhwdX(NeF7wqxiroW5ZrZ$eQx9A*S z)(UPe?BW}E$@VHth68VP8!c-Ob`Z`)r9q$X_N*HA&GdluV!GCwT?^0Qq7B;p9G`Q` z!gaXpKCV`ETt>K8{TVM-;s+cMdmHFCR3v?#WxK#h#`Sm(YvXF(tGwy=yV}}CvXyrB z(_~NIM!VMwh76=WriQ!GVq3WN6Bais*p5IvgN|;_tsUDrFFj`5(cv*sx<+_J$+}lkhF;_yB} zEj045U4G-IiEV>7^Tu5!^;KNF`^-ijmC~QP%+*Ny=oEr!B zF+Bd>LhJk1i}uQ_eH@+Lf0|G4Tvh5X&@YTX@`_AWHDmqjs+=KCfIDK)X?a$XG=)Kj ztJ4lazN4l%7TF^dABjl{_1CYSSrV3)&n<9$l4Jal4_38>jtV0Nv<5=IydiS5;X&5E zaS>Rb>#JRlJPcCOKIj#xH<5mr7o8EVF7WL<=&GEbUS~Tr_1&%A`WDvJ2`nv}Xtj&i z_uEhy6n0tw-O$Qy7I<@eSTcSfFLdbO5dOa;LWaD|&lj9s+h2_g}yci$1 z7*u=r=4LB8gJR&XVh29et46O^n(xq}%t88F5HoBR3CsczJHLscR6MjkE7M%Zmf}6D z?47i*E@u;Z`r#{NET;!9M~B``s?=;*zKHp2SapIp}k@37+E+d+<7l?z9ya7N5hcWwyJdE4aI*f*jN zbF>@n#{9Ratiw0Ji^a_~G!t)xMe5Md?d_s;s%5shoauQO(wt9)&4@NBrfD3Hsn>0* zsSpc|`O>W;((Kr3oA2yaumfmVs?s(j1Iy)ihI&q$_l~QP{;VAkh@_@s$D2&%R!|~p zw}I&gq2g4s;`p_E?pPcz>JE(amKSi-oFu{?RBm-&Muc~T2LWtZS9+^LI6myoryDW3 z-#KyTRFwlU-&VV|#?1N@Pd+5kgQ+uq83twaTuCYIr{9!Y?Ds$3sZOnA-HIMZn2-0=$QrWU;c9~lT&_s*k|3e4 zF;=ZhO{|HfWlx7kAW)r<_Y}NeW7zC^Wabet)(#)!wYf!tZml1gytdoM~%}sy~BLcFV=?BIqKJL-ykIou=N$8*aX+|0usd>^+zV$DRzG zco$zoU27c>Ms~-yIeyz)I-b(;;`;SyGE~DllOGzv9s#l+P;4GP=4r*ddrh(VZzW9X zg`Dh~Vf38YpPQ@CdY9C8gW0^Wb)t7QW+ok9Zob-`kHuCWT?l!LTX3P2nMQq}-oo#T zry}?USgC#-HNm1cY-5E}@~5zp1nAyR7B;ogS7@nJ*Njj+ij^MkKZ>7^CDJtW zX!Z4?iWb7Phj~Mo3E1NNl>jxNo-?)$2BZARaO*BEmrXD^FPih+dfd4b>Tq>loL3*$ z#tfIu$a)3*0%JJit;P+SV8aQRQNb@z>((K~6Qt!%nI8gA{ppoK-CJ9X@S4@%CX!((&fRe~K zsRsY>JZgqH02Yz;9V;zTv-f>>y78**-Pht3t8B|*+A2#bi?^lCvQdW?#VY+oChusc zj{R#(B|~I}Pu;K%_S$DNyjChK&JTbMeAnXLZ&+joVC{gfo{(Idx_K^UuV34=KB_Sd zx_=oOA%leeg=oq-CEDYm>3uHrI=fGUBI_k?r_ZrZ^AbmG9e@<)QsiJt6cx45+Qz!N zmDYZAFKqqxt&Wgn(DUxW)#^clGu~{{bt6T4Jm*3*+5#CKjk6QA|ot$=4NT-0l zP>;E4WtJ1$w6~1)UvWH$_GsIbp883-=MM(8t_B~+Kz9Y}$}ZCGv_-D_g?^nOdRzUV zm+QQ$4V_l_wwYt62)GMN=H7%>UJ1|ofafsuX6?)_y*DJ-)d;g z{iVd%6v>CzJwdfrz@p*AF^j+X`FL1{y@dbx!6Jv0XQ?)d8~9}kWkZx&;#sY*YvIA7 zCtLY6a^_KAZ;*AQD{LdJ0O_y`vTL~bc+=LgDZJO!)JWc)SBX|+|frZcV!Ezq;C87{y)iOg2ccV>zguZe~3($gB#=jyv@ z7pUXuqu(fFKEBlK8-G2^8{VkPCAxg>=P#(+wp=wDy#n=YZC()9qrZ&-pVM%C`=|Fx zBA@K`8N%KnXBi+6|TOKv!DsT_AtmA-b-R3=C0!d zGbl}JrLiE$v3^VRXRA)Or)uH1dGK<5eC+Sbk-xt}xyLR|{NHte^LxaIgOyRe78&P( z#n*bgB0v`Pu@Tmg1y-`v84uo19NX<5W^6gWxx-_chu*1et!RL(%HC#0KW zWZQdp`XV=D^r?W=>#HAhO+xt4TpPxL_u5}{uDcvB2wR=Y;XL{_ycW0s?`c#LiJITm zH*CXnZdCcl(P_ag<1+U>7|h(1j4TlM-A@0W1AXrko6XHjMFIw3@N0W(XkL!nP)Rt* z0Tq?rO{zK<=T=yIh|#kDsR@jwsYAUY9>j;6-xqG?e^#(RT7ma)24Uz}Dj7L07;_}B z{|;R$2p#chlqR0djs{2b`4pSaLmUo@<+Ps}EB_2JvWA_?Tw)@o{O^>kL3xk}`{npDeq=${ER!ar}H+>u6Pf+<*#<`AspG*b#FhE3{7UpTw zxo=i3kdnBhm5}l)d0LQ zpIf*Bz4X}UahboRn`w|#w|!u0?CfZ&yZ4|!5?lI#xsd|-G7d+XrweT1@4N zmONZszi*%{Hl%qA?r7S!!dadEa&K-rBz(1u!4gN;!YFQ;I;LM4z9Bcy!#zUVZD@?a@RW4zj+^@E;A;n@_8*1@Z@*U8=Dfu!A2N zN!DE`m?H&BH3s{>Z{;hVLKY;!L&m@8YZ$G~y%0#J9g+T&FHrR^`e;0Veg?@m zYF<|5vk9K)d2F;bV+f1AeXV^IlAnfs7W=v=Cv{>~so@Xed&ka4Jf-JP#^Y+&etbHw z%}FBwU=kUg+2VlFd`R{N9p9xJSaq_SCo=4x>J9Mjy{`LoTM6pIug0hA#(ewf&oxJt zB?!Eoz5Bl0*%h(nyVV}6K@WJi6l>cS=k*_VxKi+hl7kvX2a=6?zlzQqZkTEu@%f5T z1N<0KYZTpweq7zL@$P1G^F@%_bIsx}#ai^Hs;fDmT}r`K>~zN%vPTxJr@EfBX%elX z^0BU8B=CKM!3)0Q)3{vUDC=jJ*jf06URUp>XPIB#OYgy%39z8lrpB@Q%Yh(w)>Se5 z;}euomnt01^gX15eeSy(SuPxwTOuBwT1HgVw2m1woL$;FLUE0@ufk7W4bejMlZGhs z%~ds-nN<`(+>Q)MeXOo=TT<-f@dN&RREQFBya>+?y9Ys=cPDI?f>ZU$) zg~p3)9Y1q^7`JOo8ClK?j~wjdzP9nqbJPj1=xz8 zKkv-!H)Gxly+zaAZ&^s(;|Nj3w(S_}o1o znr8bY%!c!2l?Z?+;&-)9bI=g~p*vcr#pkRuW42k)(^tr_E z*;}ugHecxF!V*5I9Ib6T0K(CE2$WQY;opzom@*R5|{q8L5;0&%W9xe0u zyZ8_uPFWt>waiOFT+_v!z3b^yj ztLtDH-_%vD+rnswzq7>(O5#2BzRfATTBrE!bK*o>R<^U%=kcqbtHfrqoK&RpbF4Kw zT@a{KyKXLc5p%u$C;Wi-<9$+kCPkU%;ehfJvNGoAkIixy&lHGHvjEe#o`4IxNZ8mp z!{-gK&v*1OR^@!UGYy&m9kVSIOJ6!`_v5Txx-~z&$-T6J<_WT>(hZU9x#`yEt>@BP z=M2u4J|SrBX-M}*-ZNLO7wI!}VnsE;8)UdJW&n}X&8?^gX=~0@`pxnw3_fbxS%!<6 z>RvcE2?sB333kN(R-JeIiz8x~g~`nh$zR-i^g*m$czODXdA;-84s2Bch44l*>3!pg zY!g+xCJuV%(0j_K)^Agai?es1&4uXeGa(c9T%ZQ?uCBWa>0w7D0WW?=-BzCY_t(|t ziMJo?XbrTFS~IE)s#Qu-JH*w@AP2J1CVe17ICw%+e1JDd@%Lp?xa zQSb_++cP>PvOFEXwQ_}eXf4YJPQAm#VvhyCc2#EN=(hQT2ieB1(V4&Kb3DeNhk--dB^ZNx`HDY@YG*1 z>+MqoYl)p)#wc4)8;uW!7~u%bZT+skYtzjWwCPR3>LgZLqjj69WgIamm9@|1f_GoJ zaE5cBMDG@w@&*WRFLp!m#kI`@c&SVf=h$7|B0GG>C$L(9Hp9(y0zC#pq4RAAbgIqr z#SSx+74i1cwGJnqura2H5Z-&Hl41&s@re?f^<;J6N#g7Fxbzv#nq{YhlOkH4^HzDd z*nP@DW!AcO69qfogIz-lW(kO%cG>qjlRg^;;*x85jd!TZ1$dke-GllIcW>=A+!cH0 z7qZw(BJQs~v&VwYA#V3nA5BWsxLX#CZ+Z_H(y`OkgU$(sD>^L^-1rA0Vm!t>`ntFU z8tJdI*RI*eS1YsA>1;P8((3)1ftD1_QTa`Gf4T5p<%+)u(hsSJ^RhrAG^r?ueTIUd8NtM@8xrl3NnA6`e*TwXv%@5i-E zN4FocNU-iL*>LE|7!1o%B^!ozK(4C72xE@Gbv=|@R$g=g-C9#x87JkLdzJ7Eg=W%_ zJ(%#+^{JZMDBotZUGARSEf`8MwsgSf=iPoe+r5UcM;wuYC|uC`sSLP0o>n4d%N#>u z_`IZh$XnBAf3J;iOAfLFD&EO8_*+2kT;m1f^uoh#3*mC5!0%#~Y!_;iRpk4oRj|g@ zWrJ6MRee9$)Rj+HgBu8J+jP`>bAz=m*IOs19P3>a(l4DL*X+dEoQA{pr?jbt((lDXrxFl6oq^%3-Bm1>`rqyHTx{&?xJo#*c$wG>Vq!e{?LL*S zWLUAUxYN^TTZtpcbbA5gpnW9|!6+26-YWE7Xt3`CvOOsi{W0ZYpU$}6$O}zMISj-s zBhHJ3*J+S$y}y!}rcNCd!#y&cVc7D!j9#gXJ@fM%vE(lFh%;KtODn{0odq(R>GmEt zSiG8@*-xM>G#7Yt`^eX)_j5f4xZjvE4edy8`kUe>4{AG_7ZYT4|)gOcF$-*j?T)>vy%e0ftX z!Y0oS+DoOqwqsT~(dG7#^WxI*WB9_i>ApI#Yk( zO6dQ%d4JI~7cJu3nA_dKtz>8ErrJ8;5qm_i6tDwd1ILEpGsY ztML1yH0VCx4$8K+Z@8JJ45nqPThpu7bJ{2ChNm(!Tk)Auu+w$R_t#HME!L`|OM<^{ z{nNfzw+v`u$IsC#0}T8-)R*DZ=#5qvs0v>E-xT+mBnCGqKL!tQ6;~^3awWHdPQUx< zQF<<3@6Kb5SS>DmB6sT4B3!(J+G<|J+ZPZJ)ut1^1=&=8uR}H8rIn#8FISN>M3)gga;L*RX6?L-Y1z(T7C$77K{nGcz9PE>2=c^2IJ$C z+bd(BHQeO%ASu?AI!ryk;HDtqD;~zkO}V}MT)I5d+?!>6{ybQcE)S3)K4=ZuyzIft zDgI_@S?ZpoKD-{F6R7qaa0D>3d6!wtx%w9|rd7ti{kkP8T-2M5FeqxHZv1*UdGS^} zek^zU$#2v`?_<`iyt>EDeES+#9-LxxxhB99x%7BEWdM8H?0JynKX~GGkBo(!^UUYW zp>DC}J6>a;7uM|xEVVWHfUwD$Y5hI*BFw`}H-xV&_Lby@sw z^tSUi5ID$dFdiJNL0uO~*ZF6bv z@)8P-CtA;~cD*Uo*j3>qeRuE8Vew?VnL7ZEzJK5rc#L)f zV9@*Q%Efc~ULM92ZxC5SFG>%gSacZEz0H|VA=uC5+Ihu1B;u4f-<>;eU%8vmx%Hcc zd;7VmCSo#qjkLRQ7H?m`nwa%wZNI2v+~iufvMyaYwQ+F(%e&rp{k{&%SepJm(nUI; z!yzfjlhzOHJnV0z3}Lg_+qZ<1p%2LqXc(ZM4gs!HG)pP?jo^z?uaWli^=NO~_18&f+mWuDX^zWomZnm8)vyJawf`wRfkQJTk`Q!RBQZlCh&7 z=sHUcI3R9+e$AyabKf+v@%+TPxG%egg`3@7de&sRTP+B49vtLAldr(?X*xJ^fD&T6Vniu81}tPDhR>Y<+vM&e_mbo%wli zLF$z%1~+o-mMta7@G;*SOK{dWTyw7S3upxfC&`>olVw>DUP;j_1+3Hu>yOGaHUGn; zW{7g(1q#a2dA8o``0Creh8P;3*Rnle=vcswisvE zaOU&8&TG0u&#apBdc$pN-^9v(|2N5FKkh`@;+@FXtO^f|L+tc1>p32KTIyCFM`Wc} zP)ps+on>pU5FC9Nk0dIhR%Yq4J~kg;KM{evk@TNU=vk{aRJW~HE{iYG%e&@#v^n#H z2CKOtceLm%lg>m}Cw|SFRSNHNu7qt5503~Y&YFMQeRV{)K!gBfX}2gg#EL}u6{_L) zK8@pOJbDrp`p_GSey3ScJ3ap^Zw*NM%Wi7Ah@s6aC5| zClrri_q8(v$fL>N$msq$g6%&d)6eDEzJ>W;9ghU-wZA; zC)=6P5|1sWu`Jd*?mVa5d(Y#(`F>xyPQ4ixwDb>kzUkO6$8ws{ zQDN)5Rhf<1f**i2I~@5_ZwDkZSfyW6vql#ZiEng!B>;lZ)EqehT-uxr*GTG zH+altBGjWj$%&lFL0f=Oj@oA6VG)m&iFnFu9)qh)%pOrQBv0?~Rg5-}ce{7jtM3sk zWj(!f#bmYbi|G0k$E#IZ+eNi`ZBxHFp9rR++E6GIrz85ZOE8Yr4PcDXQ$$8Wq7@|F5YY-6X~Y-qJ91|NS*D*N^>VTA3yT6Bdhm-YxD5Uq2>6Z=-hx5$N|Wo^HAD@|M>( zL?zhvMO!$CjdBdi8YUlEIlYYzsJXp7k~MbTx%#m+FHrIU>b;B`jRshc=+ouHhJK9) z{lizmZX!r0RlJ==(*k0Et_l%-5itl%`UTH#fx-l)iJGW{5;QK*RAjjXTToPL;a@}S-= zPI<5WI;GOI16Wc|Os^4})!xM`N~aYcit>?!qFdD=o6$vJIs>9WaoPNxo7M}iXqRW9 zU#@F&l+h^$)UNag)9u#ZV}2&XH)UHG8^e!+ZETFO1uNl?YiwLF5~x0kJ$S#W0ve)q zP#@?lYo^!qdC3b(?bKeniuFbWPmHGvlgW>|}HKI%&;VRA1yZ*?5 zd;HUZ&dh2Q_qLT>Ra!oUe!-}e*-9(OANq}baj^G_(IzblCri&Mn?7;}(BjqORw$m) z!tgRlt0U}$wG~4rOsbQ%-+C76?(@-;RTrI12NnZxgY!nr5O%1;&Q63VA7%HaU=p;H zay@?@>AAui3Dityub|UfwMY#PiDxLz-hVNSTyjo_EVL5q*v42N=WSj(aYR&8o+g0l zPoLwswY*zlgBFcLG0SuuY4P$#>Lg77K~YA?kSzfRb!47M z4@~*GXnv=`<+I#si?YbV=oD58&MjN1jZMdxNTZ0U?V^)>D;5AlXYJ+#MNtgxF4^(7 zh<&=9`tvv-cxX2nb`z882M3-4ZAY^+`toS))6p4UsE+)Md3t1?MSVdSrBb`ToOWk+ z@`zN<1l=9d#(E;hzPsN&wfdAwwIP8*VmtfB9_P`$au1f1nF9~ZR%O6swm!W$f^8xJ zQsIKbNZmHJoNVQf#TY!zeN=YHzbTUpo_p+&$q98GWX&)?`tbV=-a}{E%sZZX`=}5I@Ot4rZe~1xqIIOl$$bxtJVJY zlvOUEn7Fp-++*{$>g9uTRavJ~C^uq?m{ij)Tro~NlH|}eT z!g7Qjic^3hDz1s?0dA0cG#P>V_}sP^LsDRZvO(;tboZOI!ulG!N!Al$-(aJe0eF)z zDfU0@QsH3dmDwaJT?)*S-Y>?>>-f;v!@efcW=A~K#>W@kv&-2BD5EU_MMH4k8~;^L zt7Nb{_g0X3uC)&J{hjB_ZbLx`iR(vF&1G0&sSnFRR5h}T+rIxsyHfdadhf6ImX6L7 z0r{RBcKpFP&m$vDeQl~GPwEzIh;wvoRbNx{@9eF2wX!YdPit)M7^n9AYN+a0W$Z0_ z!}M}`MZH}&Sx1eoHLbYr#U%IMc2>IrtU+H}XL5aH<}aZlpWThsZ9bNS>Es=diRWHh zi*|Ia6ifr_?|j2zG*0pXMiaej5s+rMg;U~^zS?OX@4hC5qdPuzkN~T%>}5;8K`007 z+LC_FD-uJrb9x;R=2XVIPrF}7Blq>7xuyAxr0E(S7xs;;w?;Wc!fNCE!TrgQLq-%+ zn8>>s-s>;t56Bl7=A(4O%U~!trn2iwqqm);Z8=cV&!GwST^D*H2Y|{ z3jwuFY6=scA!4&DvsKlHqz*;A`OzVLP&N1av>R2TJw3SF;s%)&f=NTF8`D-p@A5bL z@G9DLMlTG``;GK@6q+k`+YxiQ2I!ish>q+t{h3{$+i=X5-;mJV;fAG*4zvDRTY{4I zsmHd>805J0sl2{L2So4NVmSA^UsuV$oTx^tri%-PyqwsnRmC{lgV9=cd%&&i`HDiG zG`){TfpmB+M}QP|-t$=EhbbQ@sewB-=$2n}?0k6y;Sva|m=z!bA>SW?zP4ogV2o_G z^1i=P0?<~=xU(fQP|}cgM_fF~iMqZT*Tzv_weA^L9@W~YQw8*>^Y&B;icbOyj&-~5 zl}g#mc>nDkK$nMk@zjaB&OJpc*7C5ej*%SHAM96;q&x>)Oe{y-_@0+kj5?mv>N6r% zaZ(R!50V9zOPRg|jN4i5-uR9igKWaJ;Ao)-XD0(*kWoNB5d#=t?Qk zx-mrB_feJ%^!*SJhRgLsZU5RJ=VPny&2J0MC(C2nERsF!)NwZ8j``ND`K@QSgpsW- z#s0U&rL)T{$3}~o250|fq0rq}iw**$OqjvWbEACYyq%cOwKdPNh!=qMT&l&7JE2d< z(Ib<{x)aYr+krjS+xijD^R#dqvY zFO3n`$zEnPW$h)-HyjDmbE7F2o&fLRE=}K3SvaLV8{6aCNb3V4OIJVyK&Njqg;SW* z3zs=6<50B~OASV2O?)`9?ImFr4v499%0-Ou*ju^gpc(R3`Q5;3vzK~P9xXiR4l=Gc zwZ3b>FkLvYdG0+%T&~o8E~Y1FN~woB*^|?mxgM_g1OMt|>|TG3;Np{ZgvBRZKSXb+ z)63y{kjVlq7>4SYt6D9@W}2v$udLYeUHi+1#Gn6HkHzlLa6x_R8C$pzO13CTLFJ;#8X1f#jxfGWh+%(u^^D}1yNhf4n ziHPNr?N+!ve<;ld*7@}meAfHsHB&G4gWNOpB!m|L5q}PU05LoLP z=1JnTU#lfosYB1>m8|bvI#rSS!{0m~aSJCpR^f0iC|wRu9BN$vRov5Um1L(+L6ug$ z>OL!1R!XX=C(*jBlCKfkK7J3LFM+3^%~)#Zf=!&Gj;Hm|2*a}3KF(6Cer0lOTzVII z4n=A?;f8K+3-!p$T>K17H#x4yqBu#EgR~#NBRd%nl|pz~H=y74K%-SSuldW!L5<}; zWDW)a4-ax>hSyG1d9BsnXBt2n*?Q9GM|m|1T&GqzrH z;Z%`GJ0sk7xkYsbOVAS8q@K7qVQ`4Bl>}>D+^901-A8uf$Ri%Hj12}jHlTI+ejnQA zc}Z-)oy@JItys{uX>#X6$iD@xbPg7E_>u=Xb`z=0t~5JFa#|K7rReuE#d6o!m1lTS!oL8fg&NatGc5rD zsCI?eq6xqkQb=~Om3y5Mri_=Ll3NMJ9c%wyJ>84?$lo>jRN>WD>*71N9e2*+MGfl^ zH*D-*T}X^;rS4#*TJ0;kk6iNBe!TFnPme+$NQGVbTQ481=QHQX1_;HPnqwRPyMN8B0e--W9Jc z+g5>(6WxW7fD<)R=wt2;omI`%d>y-VLy%gIXRt5}xR2PR&!5zT(On_Oq0iO=G#p^TnyzK@yibEqL`$2y{_T{{Y> zxq3V+V(k`=ohFnd$H#!xO+L87B%#eg3Ksnx!gi#?(M}|M-%}kIi_y`c?Di*Z!G*KDcRyC;3 zIEQ*#4vv{QauY=@2hT(%WXY+p?7PMMx!s+QxMuL1Pn zsw*tZZ@FX0!CeW4@CyJxDDLfdq$2BY-yJuGMnDbX-8|g+zLyUH1FAOZxl(W2SgXBH z(6r3espl^FnD`KPn7E}~}?`KLA@66uh zEK_PWEhu`=_@QOp_Jzt+Gn>N3Nwrn|oNG>w;I7InGS5al8`U0gR`~i}p-CkD=@H@V zsJ(!%(PQpirOQ{o^mn2>$k{Cb#v?X!TYw84c4LWoVFdGT1ATKv87@t+s3W1`9$f02 zkzR54LR>9gD9FT_^(qXBbvmY=nP5i}lzXG`IqeQa1k!LvZycY>5pSD~=UuG0CjgKT z`?`g%U>)FPXHF+WiC)Gmv`o#ImqCQp7fO}OlQ-a`pg@CeJM0c&!$Y5wm4-rdxH3SB zQ=~u8<`>7(ahEscxMcluu7St zfCwdS^K?eeLu|jyMdl`)_@o;iGUU3l6%Z^O`0=JanALjWa9GY_*(Jqf>P9`noF%W&OfU51g9eS*CUS9JW$nr#wgO<0dJnd{62ge5ugQ!sk zYKvQPVC3DWI{Tc}Ll{~&`&}rfOlA1|!pBXN)%O`b{eXrnaT;KJb}>(z+sizSd-pUC z_RA;ilD5xicuMF=zPbxNuP%nT#4+1>W?m~yw*Gh9*%i~UM*1q%&P{3-_b4fO+bImY z&xG8zr;fcB)Q4Eoq!`LNgq-Q#VyyTii!2~?bvlDtrJl=37+V3ze>+zW?ect3d4P*|W1zB7XN6g%#Ejr?8=BGGjyS@fkvX>{sn1sJ(jq@8dyB|J zR_>)2s0R5NnGWr7-PO3j!pf80U8)uZU}Kk8d78WS@^Nc4zJ7SOa9`b_?Fi&;bNW@f zlTVu_ssrEOEjQJ6$x4&Kt)(0dl>QzDIjwZU%4^Q!My&~80d@JT*0@p%d0T#(Ilm1s zH5)XTt`^XC|MsSyzqt)pw?v_l%is%SpN=oDyVxbIYd1WobZ5wM?+TuZ(W%%ikO91D zwfga(ibV4*Kq)sD#D00<)82;DR7mOKrS|Qvl`yf7k}dXNv}f!rndbR1;OKkk>T*ej zPJjN4FTNNJ#!gbEnc9?`-@9htey_x6L~~2#GCP-=)t$b8aQM0^#fMaUk=a`&HBd>L zd+0<49p-xg9yQKTMX|Y8FXS&uRJ3acv5>YloVCf5TZbD6urTSA4g(l<)n=fOBWU2~ z4IowbDA>)@_?-gXzGmXunUqz_p%;ei%5gu!C(3Kxq zK?T(}^y^ltlv&<36vr-pz_UU;m=80zeO$P5R40r)DWGFvzuR7*J$Mj3v1RtC=eCB= zu7svh8v^QlVMlM%b2Zdv*KT)KMY3rCdbp(tkPcA0_}ccgNG{k<^gTFOF>@OQy9vC@ ztl!YSAA3SiQr(iT!RuFGyu298PMFjp#if!y8UPD<-L+3ae(B3k7vc6@uGI{I6k&py zpN>%)=a|cVJeISzl&bt1@{6GUU#QWoQ@eV*8>?Z0Bk@7&Xgz!ifR_07M)mi4s`h(V z1Q9#;vwWDA!QI|(Ry=3q=WJFxg**A&1x-^T?o&W1^ti4mZlA0KJX1$<8KQd6hlV~{ zA+$UD!#J(ENXmxG;1+wj7u>0U0(B0K6x-a76LqGhJRMm;L; zQT{#JH7-nupO(GtD_eewD@QD&xvSILuD$*>o0&4nVQKcpR{+fB0`}bfo{sDAwa>4y z!L_oTK1xl9tjc5g@ixkb-4oeY5iz&rkNLHkus5yLH16W})WhOV*=I_CZxm%In<;IwGf zz{2YM9iMw^Ag~lk1wiV3kaWwL^C~~$pTUyfd>^QzC&~$`Ype2umti3C_-<}>rIarz zDnQvh2Tw-Xo1<;o*dnGiDi*?!lrg)WE3Gm|WvAZau1{Q!Z${kQOPO<~_>MtcxeZN# z7zkiUW|8(9Abpge+sq8e+kE{U?mqd-6_0|`rP{M=h-s*PJMKuTtQz#W3>Y#quRN}8 zfpjnPmeL>^ENfA|1P$_sv3$L{jkglkfm%>P_CLZoPB8pBxQ}DAWM8tm;k(4910lcf zJm!nBYJ9FkG;iGoI3FXuqk|^yDALIHNn(x8TRX}HeslBNd*lb~tT9BLwr40p5i7Kny+7IT#tNty*cm3s{S7UMwF>kp9^VtVtK~ zfx;aL=pggorqLUqJC4rGBPL#Mh^;h<4Y_jE#Nv5a|I`2^d1ovJ1;Q$#lUScFSjPCa z$1R?WbLaUM(Qn5QKwZtmG@FC??v*we^LfS(l(Plc=7$^`EfgSx?~Jkp)tFh9AI7=6 zqZLxpU67}&A&-sFzV!NtqxQt#>I4M^^(m^i{c@yn#T25Ct!Steb3Q+S{cs(wIOLv4Ux< zk!jAA4v?k-nuG_f66XvvyRP(`Dxkp>>s%WsWD}1h*-}Id@?84^n?Z-( zFLO7+8)nr6h&s?f`ORUvx7=~K`tgnm@Dp*eNE!32NAGXZ;h<%J()FJLgjPP9o(Mj>*cVoyE}?1 zo1%keA)rXDu3p--{ZyN;2X?C}Ps)FPE*N%5`qj4gd}nCwc(F;q{y0>nQFZ9HvLZ)I z)gjG-+ZPMF*nEW))A8_SE4LVuqM)!yI{i(9Z;k~%-~R&GIe1o>w{g;MHeP@MkAYp! zNy+!sk@&O)tzsVdr0WXQ>ojOKW-Y#Br13bsxA%gqrFe8ZHO((8tJhH=#F#%W@B z{ffLD5P)k^UEQ`}GZ$pvZQKwxS>}abAQ+^h_rd$b9j2hY0QPR9Dil zn}af&W^Li;tK)V-$;78>+&GR*kkU*~+Tot3;asCXBlk?u@K%6?8r;ZlX&&@_*xjtZ z=r!G=)0@6aMI3aYz+&YEq?CXJ;F_tA(7Z1_@o2lhIMl1%I4Ilpp!eHS_|-Dwziz~! z*-B&%u-DwOnJ=xZH$OGaTfR^m%;`MlJnOHu5kducGoC0_FEguBLjTPXj`Z%$i~>Go zUA48Ld)&(@P<)*uQ6NK-Jf4He98cmi+ZkHwg1IEHFTGz=uc};TiryXoaa8zoRqz52 z)Cwj4EWNx{H*@^tUUlq8L}~`-Pj_Y?W}CPhq9I!r^!V#_M-+De_c?e|o}#9;@cOe% znT`m6o`l$W=;X|fb;@C@Xl|sf=)E&vo#^Nfo1=3$7QDlo4iLao8a4U}XcS$CpY_Fl zlsDo8sQP5SU9F=o<@X`Q=aiDXph*utj{o~Nn~pzxBK|P!_;H(ve>XR&Q)Hd~)5zn; zm*bD||7CjehxNtt`*{56bMd$H#rw~pnR~rCgZN*+j4ECQuU~)sqFOcZ_b-b48U4++ z;>Y4*>AvG{`eXLd0_Xh83q-jAqmdhuYL;3u0K7#%Sh0WJF literal 0 HcmV?d00001 diff --git a/interactive-v2.tex b/interactive-v2.tex index d8625dda..5f2abbcd 100644 --- a/interactive-v2.tex +++ b/interactive-v2.tex @@ -1,16 +1,14 @@ \chapter{Interactive v2 Workload} \label{sec:interactive-v2} -\subsection*{Related Publications} +\begin{quote} + \textit{This chapter is based on the TPCTC~2023 paper ``The LDBC Social Network Benchmark Interactive Workload v2: A Transactional Graph Query Benchmark with Deep Delete Operations''~\cite{DBLP:journals/corr/abs-2307-04820}, co-authored by several members of the SNB task force.} +\end{quote} -A description of the workload (covering reads and inserts) is available in the paper published at TPCTC 2023~\cite{DBLP:journals/corr/abs-2307-04820}. +\subsection*{Work-in-Progress} -\begin{itemize} - \item \textbf{Complex read-only queries.} See \autoref{sec:interactive-v2-complex-reads}. - \item \textbf{Short read-only queries.} See \autoref{sec:interactive-v2-short-reads}. - \item \textbf{Insert operations.} See \autoref{sec:insert-operations}. - \item \textbf{Delete operations.} See \autoref{sec:delete-operations}. -\end{itemize} +The \interactivevtwo workload is currently work-in-progress. +As of January 2024, commissioning audits for this workload is not yet possible. \subsection*{Related Software Components} @@ -41,7 +39,20 @@ \section{Overview} \section{Operations} -The complex reads and the short reads are identical to the ones in \interactivevone, except for query 14, which was replaced to cover the \emph{Cheapest path-finding} choke point. +The LDBC \snbinteractivevtwo workload uses four types of operations. +There are 14~complex and 7~short read queries. +Update operations include +8~inserts and, newly introduced in the \interactivevtwo workload, 8~deletes. +The workload mix consists of approximately +8\% complex read, +72\% short read, +20\% insert, and +0.2\% delete operations. +The complex reads and the short reads are identical to the ones in \interactivevone, except for query 14, which was replaced to cover the \emph{Cheapest path-finding} choke point.% +\footnote{ + The term \emph{shortest paths} refers to the problem of finding \emph{unweighted shortest paths}, which can be computed with BFS. + The term \emph{cheapest paths} refers to the \emph{weighted shortest paths} problem, which can be solved using \eg Dijkstra's algorithm. +} \paragraph{Cheapest path-finding} While we strived to keep the changes to the queries minimal, we replaced Q14 due to two reasons. @@ -64,15 +75,11 @@ \section{Operations} % Still, "all shortest paths" is a strange kernel that IMHO isn't very useful and we were right to replace it. Second, we introduced a new choke point, \textsf{CP-7.6} -\emph{Cheapest path-finding,}% -\footnote{ - The term \emph{shortest paths} refers to the problem of finding \emph{unweighted shortest paths}, which can be computed with BFS. - \emph{Cheapest paths} refers to the \emph{weighted shortest paths} problem, which can be solved using \eg Dijkstra's algorithm. -} +\emph{Cheapest path-finding,} a key computational kernel and a language opportunity for GQL~\cite{DBLP:conf/sigmod/DeutschFGHLLLMM22}. Therefore, we changed Q14 to use \emph{cheapest paths} instead of \emph{all shortest paths}. -\section{Complex reads} +\subsection{Complex Reads} \label{sec:interactive-v2-complex-reads} \iftoggle{StandaloneWorkloadSpecification}{ @@ -81,7 +88,7 @@ \section{Complex reads} \input{query-cards/interactive-complex-read-14-v2} } -\section{Short reads} +\subsection{Short Reads} \label{sec:interactive-v2-short-reads} \iftoggle{StandaloneWorkloadSpecification}{ @@ -90,19 +97,23 @@ \section{Short reads} The short reads operations are identical to the ones in \interactivevone, see \autoref{sec:interactive-v1-short-reads}. } +\subsection{Insert Operations} +\label{sec:interactive-v2-insert-operations} \iftoggle{StandaloneWorkloadSpecification}{ - \section{Insert Operations} - \label{sec:insert-operations} \input{inserts} +}{ + See \autoref{sec:insert-operations}. } +\subsection{Delete Operations} +\label{sec:interactive-v2-delete-operations} \iftoggle{StandaloneWorkloadSpecification}{ - \section{Delete Operations} - \label{sec:delete-operations} \input{deletes} +}{ + See \autoref{sec:delete-operations}. } -\section{Parameter curation} +\section{Parameter Curation} \label{sec:parameter-curation} % \subsection{The need for parameter curation} @@ -117,7 +128,7 @@ \section{Parameter curation} which compromise both the benchmark's understandability and reproducibility. To ensure stable runtimes, LDBC invented \emph{parameter curation} techniques, which select parameters that produce query runtimes with a unimodal (preferably Gaussian) distribution~\cite{DBLP:conf/tpctc/GubichevB14,DBLP:journals/pvldb/SzarnyasWSSBWZB22}. -\subsection{Building blocks for parameter curation} +\subsection{Building Blocks for Parameter Curation} \paragraph{Temporal bucketing} \label{sec:temporal-bucketing} @@ -137,11 +148,11 @@ \subsection{Building blocks for parameter curation} % + temporal information is also required % \todo{I'm not 100\% sure where this comes from.} -\subsection{Parameter curation for relational queries} +\subsection{Parameter Curation for Relational Queries} For relational queries (without path-finding), we based our parameter generation on two techniques. -\paragraph{(1) Selecting windows} +\paragraph{(1)~Selecting windows} % To select the parameters that are expected to yield similar runtimes, we look for windows with the smallest variance for a given value using SQL window functions. The parameters are first sorted and grouped together based on their difference in frequency. @@ -150,7 +161,7 @@ \subsection{Parameter curation for relational queries} From the latter, we select the group with the smallest standard deviation. -\paragraph{(2) Selecting distributions} +\paragraph{(2)~Selecting distributions} % For queries where we want to select parameters that are correlated or anti-correlated, we use factor tables encoding possible combinations (\eg \texttt{countryPairsNumFriends} for \CR[3]): we select values near a high percentile for the correlated and a low percentile for the anti-correlated case. @@ -172,7 +183,7 @@ \subsection{Parameter curation for relational queries} % makes parameter generation more expensive as the parameter generator needs to generate 33~parameter sets (Nov 29 to Dec 31, 2012). % This makes the parameter generators performance improvements even more important. -\subsection{Parameter curation for path-finding queries} +\subsection{Parameter Curation for Path-Finding Queries} \label{sec:path-curation} \paragraph{The effect of deletes} @@ -229,31 +240,33 @@ \subsection{Parameter curation for path-finding queries} \vspace{-4.5ex} \end{figure} -\subsection{Query variants} +\subsection{Query Variants} \label{sec:interactive-v2-query-variants} The new workload introduces variants for three queries: -\CR[3], \CR[13], and \CR[14]. +\queryRefCard{interactive-complex-read-03}{IC}{3}, +\queryRefCard{interactive-complex-read-13}{IC}{13}, +\queryRefCard{interactive-complex-read-14-v2}{IC}{14v2}. -\paragraph{\CR[3]: Correlated \vs anti-correlated Countries} +\paragraph{Complex read 3: Correlated \vs anti-correlated Countries} \label{sec:cr3-variants} % -We introduce variants for \CR[3]: +For \queryRefCard{interactive-complex-read-03}{IC}{3}, variant \CR[3(a)] starts from \Countries that have a high correlation in the friendship network, while variant \CR[3(b)] starts from \Countries that have a low correlation of friendships between. To generate these inputs, we use the \texttt{countryPairsNumFriends} factor table visualized in \autoref{fig:paramgen-frequency-disc-countries} and select values at percentile~1.00 for variant~\texttt{(a)} and percentile~0.01 for variant~\texttt{(b)}. -\paragraph{\CR[13] and \CR[14]: Reachable \vs unreachable Persons} +\paragraph{Complex reads 13 and 14: Reachable \vs unreachable Persons} % Path queries are expected to have different runtimes if there is a path \vs when there is no path. While the performance characteristics vary highly between systems, in principle, the ``no path'' case should be simpler in the SNB graph, where one of the nodes is always in a small connected component. -To distinguish between these cases, we have two variants for the two path queries \CR[13] and \CR[14]. +To distinguish between these cases, we have two variants for the two path queries \queryRefCard{interactive-complex-read-13}{IC}{13} and \queryRefCard{interactive-complex-read-14-v2}{IC}{14v2}. For variants~\snbOperation{(a)} we select \Person pairs which \emph{do not have a path}, and for variants~\snbOperation{(b)} we select pairs which \emph{have} a path of length~4. % (guaranteed by path curation, see \autoref{sec:path-curation}). -\subsection{Parameter generator implementation} +\subsection{Parameter Generator Implementation} \label{sec:paramgen-implementation} % \paragraph{DuckDB SQL queries} @@ -273,4 +286,122 @@ \subsection{Parameter generator implementation} Based on our experiments in~\cite[Figure~4.3]{david-puroja-msc}, the new parameter generator is scalable. Even with the significant extra work performed for temporal bucketing, it outperforms the old parameter generator by more than $100\times$ on SF\numprint{1000}, -and finishes in less than 1.5 hours on SF\numprint{10000}. +and finishes in less than 1.5~hours on SF\numprint{10000}. + +\section{Workload Scheduling and Benchmark Driver} +\label{sec:workload-and-driver} + +In this section, we explain how operations are scheduled in the SNB Interactive workload, how the driver operates, and how the final \emph{throughput} metric is determined. +In all cases, we assume that the system-under-test has been populated with the \emph{initial snapshot} using a \emph{bulk loader} before the driver runs the operations. + +\subsection{Scheduling Operations} +\label{sec:scheduling} + +\paragraph{TCR (total compression ratio)} +% +The scheduling follows the \emph{simulation time} of the temporal social network graph. +The user-provided \emph{total compression ratio} (TCR) value controls the speed at which the simulation is replayed. +For example, a TCR value of $0.02$ means that the simulation is replayed $50\times$ faster, \ie for every 20~milliseconds in wall clock time, 1~second passes in the simulation time. +%Conversely, a TCR value of $3$ means that for every 3~seconds wall clock time, one second passes in the simulation. +%\footnote{The TCR has a minimum value of 0.001 to prevent the system from running out of updates during the 2.5-hour period of the benchmark.} + +\paragraph{Update operations} +% +The driver replays the update operations starting from the cutoff date (\autoref{def:cutoff-date}), Nov 29, 2012. +The operations are scheduled according to the distance of their start time from this date, adjusted by the TCR. +%\footnote{For example, if the TCR value is $0.02$, one hour of wall-clock time will result in replaying 50 hours of simulation time, reaching Dec 1, 2012 02:00.} +They are then used to set the cadence of the schedule for the complex reads and, in turn, the short read queries, as we will explain momentarily. +%The \emph{update interleave} value denotes the average (simulation) time that passes between update operations and is used to schedule read queries. +%$\frac{T_\textit{end} - T_\textit{start}}{\textrm{\#updates}}$. + +\paragraph{Complex read queries} +% +The \emph{complex read queries} differ significantly in their expected runtimes as they touch on different amounts of data. +As each query instance contributes equally to the output metric,% +\footnote{Unlike in \tpcH~\cite{tpch} and \snbbi~\cite{DBLP:journals/pvldb/SzarnyasWSSBWZB22}, which use \emph{geometric mean} in their metrics.} +we balance them such that each query type is expected to take the same amount of time to execute. +For example, \CR[14 (new)] is expected to be more difficult than \CR[13], therefore it is scheduled less frequently. +Frequencies vary based on the SF as the relative difficulties of queries change with the data size +(\eg three-hop neighbourhood queries grow faster on larger SFs than one-hop ones). + +\paragraph{Short read queries} +% +Short read queries are triggered by complex read queries and other short read queries, and use their output as their input. +For example, both \CR[3] and \CR[14] trigger \SR[2], which also triggers itself. +This mimics the real-life scenario of a user retrieving more information about \Person profiles based on the result of the earlier queries. +% The amount of short reads executed after a complex read query depends on the result size of that pre read operation. +% IIRC short reads follow some sort of exponential backoff. +To see which short read queries are potentially triggered after given short read and complex read queries, see \autoref{tab:short-read-queries-triggered}. + +\subsection{Driver} +\label{sec:driver} + +\begin{figure}[htb] + \centering + \begin{subfigure}{\linewidth} + \centering + \includegraphics[scale=\yedscale]{figures/interactive-v2-validation-workflow} + \caption{Validation workflow running on a single thread.} + \label{fig:interactive-validation-workflow} + \end{subfigure} + \begin{subfigure}{\linewidth} + \centering + \includegraphics[scale=\yedscale]{figures/interactive-v2-benchmark-workflow} + \caption{Benchmark workflow using multiple threads.} + \label{fig:interactive-benchmark-workflow} + \end{subfigure} + \caption{ + Workflow of driver modes in SNB Interactive v2. + } + \label{fig:interactive-workflows} + \vspace{-2.5ex} +\end{figure} + +\paragraph{Driver modes} +% +The SNB driver has two key modes of operation. +In \emph{cross-validation mode} (\autoref{fig:interactive-validation-workflow})m +the driver tests an implementation against the output of another implementation. +To ensure deterministic results, operations in this mode are executed sequentially with no overlap between queries and updates. +In \emph{benchmark mode} (\autoref{fig:interactive-benchmark-workflow}), +the driver performs a benchmark run where queries and updates are issued concurrently from multiple threads. +The run starts with a 30-minute warm-up period, followed by a 2-hour \emph{measurement window}. +This mode does not perform validation as query results may differ (slightly) due to concurrent updates. + +\paragraph{Dependency tracking} +% +To ensure that updates are executable, concurrent threads must be synchronized so that an operation is only executed when its dependencies exist in the network (\eg two \Persons can only become friends if both of them already exist). +This is achieved via maintaining a global clock in the driver and performing \emph{dependency tracking} for the updates~\cite{DBLP:conf/sigmod/ErlingALCGPPB15}: each update operation has a timestamp denoting the creation time of the last operation it depends on. +The data generator calculates these timestamp during generation and ensures that there is a minimum time separation, +$T_\textit{safe}$, +between dependent entities to reduce synchronization overhead in the driver when executing operations. +The driver then only needs to check every $T_\textit{safe}$ time whether a given update operation can be executed. +By default, $T_\textit{safe}$ is set to 10 seconds in the simulation time. + +\paragraph{Latency requirements} +% +The workload simulates a highly transactional scenario where operations are subject to (soft) latency requirements. +To incorporate this in the workload, it prescribes the \emph{95\% on-time requirement}: +for a benchmark run to be successful, 95\% of the operations must start \emph{on-time}, \ie within 1~second of their scheduled start time. +Benchmark runs where the system-under-test falls behind too much from the schedule are considered invalid. + +\paragraph{Throughput} +% +The throughput of a run is the total number of operations +(\CR, \SR, \INS, \DEL) +executed per second. +A lower TCR value implies a higher throughput. + +\paragraph{Individual execution times} +% +To facilitate deeper analyis, the benchmark driver also collects all individual query execution times. +Based on these, the benchmark reports must include statics for each operation type (min, max, mean, $P_{50}$, $P_{90}$, $P_{95}$, and $P_{99}$ of the execution times). + +\paragraph{Driver implementation in v2} +The \interactivevtwo is implemented in Java~17. +It consists of \numprint{26500} lines of code for the core project and an additional \numprint{18000} lines of test code. +The new version contains several patches including bug fixes, usability improvements, and performance optimizations. + +%Among other changes, the driver now uses DuckDB~\cite{DBLP:conf/sigmod/RaasveldtM19} for loading and the query parameters and update streams from Parquet format +%~\cite{DBLP:reference/bdt/Floratou19} +%for faster deserialization. diff --git a/interactive-workload-definition.tex b/interactive-workload-definition.tex index e7b43acc..17700712 100644 --- a/interactive-workload-definition.tex +++ b/interactive-workload-definition.tex @@ -54,7 +54,7 @@ \queryRefCard{interactive-short-read-07}{IS}{7} \end{itemize} -For the precise connections between short and complex read queries, see \autoref{tab:short-read-after-long-read}. +To see which short and complex queries can potentially trigger additional short query queries, see \autoref{tab:short-read-queries-triggered}. Once a short read sequence is issued (and provided that sufficient substitution parameters exist), there is a probability that another short read sequence is issued. This probability decreases for each new sequence issued.% diff --git a/tables/table-short-read-queries.tex b/tables/table-short-read-queries.tex index d25e82d3..2b13af99 100644 --- a/tables/table-short-read-queries.tex +++ b/tables/table-short-read-queries.tex @@ -26,6 +26,6 @@ \bf \queryRefCard{interactive-short-read-06}{IS}{6} & \yes & \yes & \yes & & & & \\ \hline \bf \queryRefCard{interactive-short-read-07}{IS}{7} & \yes & \yes & \yes & \yes & \yes & \yes & \yes \\ \hline \end{tabular} - \caption{Short read queries executed after given complex read and short read queries.} - \label{tab:short-read-after-long-read} + \caption{Short read queries (columns) potentially triggered after given complex/short read queries (rows).} + \label{tab:short-read-queries-triggered} \end{table} diff --git a/update-operations.tex b/update-operations.tex index ea9b7d3c..67a0e3e6 100644 --- a/update-operations.tex +++ b/update-operations.tex @@ -1,7 +1,7 @@ \chapter{Update operations} \label{sec:update-operations} -This chapter contains the specifications of the Insert and Delete operations in the SNB suite. Inserts are used in the Interactive v1 and v2 workloads, while deletes are only used in the \interactivevtwo and BI workloads. Additionally, the BI workload uses batch inserts, where the precise implementation of the insertion is up to the SUT. +This chapter contains the specifications of the Insert and Delete operations in the SNB suite. Inserts are used in the BI workload as well as the Interactive v1 and v2 workloads. Deletes are only used in the \interactivevtwo and BI workloads. \section{Insert Operations} \label{sec:insert-operations}