From 5d5427d553d4e5768e0af1aa66f2fdf15cd98176 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Wed, 7 Apr 2021 20:24:45 +0200 Subject: [PATCH] =?UTF-8?q?Kontext=20weiter=20ausgef=C3=BChrt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Telematik 1-cheatsheet.pdf | Bin 202415 -> 249567 bytes Telematik 1-cheatsheet.tex | 1972 ++++++++++++++++++++---------------- 2 files changed, 1124 insertions(+), 848 deletions(-) diff --git a/Telematik 1-cheatsheet.pdf b/Telematik 1-cheatsheet.pdf index 86b716ea4b2b1eeed63c70634623e032ab9cb5ff..597ad9d1574487753052f53f830213e1a5db745d 100644 GIT binary patch delta 205131 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 z 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

r$bfy2xZP%n$L3h zx-LNu!r&ku+)sv-Ot8XJ-Q|*afB>4x4H|{*aCi)VjQ-f~>n@jpfx-ad4O2W-6;Q}X zZ(N?bYxP-sH%5>*vgiOI=iw0t0kC>`E0d2lwHw^Ku4ZdLn|=*%SN$Bma8|&n8+=Y-=m&-f#U$usnWRtt@&1@#nRq zBG8OnGSDQ6?^qq^R^7DZAm^BB3C6pm1!!~6XxBzyKVi?5$PxEGoNTI zIO)Hle;zGu5{Q3i^@X4r93Q>OPrEP`8DGrjxjP}080fAm3@92J)Fu&XO2E!9Z@idA z20Dth^CN-vD9cvB1ib~wEDMtQtcYqwHm?+MW)^AYpq0taMOw%afS&A}oTAD*NDgD&fPX?Y~CkRsAF$yU5y_6u)i0u&xW8(jtM=@$>OzG95B6U-%1SrI6d{4~M<3>YEk z+k3u7>*rO@l5?SLriR}_{~E3&E9l|nb>As}ngm~cvl6UQ^uf2j!}Mn@6n{JY z;_OSU`TBiXro^f={o2Gq&)+YdlebrJH?A*@rKQlSeV;k|YYMwPUz~n_ zUj!Jxt?YMM`CYDi&+wDRKAbP7&>#S#B`U}%BDEJPQF?)iMUX|VuIySfR^>b9ii?GfyfpN3xNWVq1Og_h~Z>{Lk1C>>xpS4%J7i2{7MrTd>?vE+= zc?&eLhvTs6vk!@;C6C$>SR^sShCxDq%cWy)`@t1C9uksCeh|hg)3lkWZC4Vgs&0c) z=1>u}yokx@o34^I^%7sbsYKGt3|8cl`*1jZbzhKp#aYgL$|2oS51*0G?_Pehv7Kdi zWY(4X;=h#|)v*RL(Q{fv942VQLNx%J2L~$8aVX8vNc3rbn~9@*e^I8%i&~6-2Yd5z zYyum_(4Neh5N%XhfSe2y%d-zFtU^;GRZe}S&R3*-;*n_LN49y-VYwMO?TGI3;>GnA zuP(#DX~1feW&uXE0DFS{)cN;q34^zdfV`JQ+sj0PyZX*kd7ICab1T^?7s}7`q6=L) zdURhw@Ank1&8R3&-CkHDrYie?#H7{zCv~`bY>Roo!cLvy5S_q2M*~kMPI;O<^k>h5 z*W`oK#?z0g;;lF|N{&e~8)p+B=b)07#u`V5JA~CGDE+rA_po&Kq)Ih}cm>-IcQg6w z*zW{t(T>bPP@+f?RL3OBPf+s%8Rea2*=|=rCXeD}iLPBE=wd+G7tIZS+@8Q-We@C& z#cJDz3jCy~nq)q+X#Spb|Aq<&BCB-2kLrEjm*z4FOrpoTGa1sQgDw@y6-w))0AZ0s z8b$M2Z`fT27L_~P)H`FK>2u03r9FF6n=>R`43z!ks5({w!1G$7>sXB>nGC#YxXBd5 z;Eb$RduVD7k$_3rhjK)J!o~F7t)VPz!<9*!>~N3Ls1Wu9cS2GEQV$)BN;f|dpN=@| zk*C(K?&xJ%U!V1>G|66go^BYtSv~wnQ(kJ}z1Rg@jkhmAJ2A9Y_F-k3L-nnB66|is z6w+eE_1mMfsYoJ_$mAkn>5#)ORbe08m<+<_;XqvR@MfB}6Cr!*v z-Cx7hbA6Rf8Y!-E=FocWgz;qN0Zyf((?VrkrhPA(stp4ofG}X`sRB1Vx!I=8c-#3B zukOto^n_c=yUCD$9H8RxwlELh09ue1U!%2QUJB07RenD`0YF}JnlSqu%w4#I;l5>u zNc58jsXZBRBq;PG1Ct?O9@GCxKHl-maq1^lkOodMvkjlG3IflwlE8N&2n~y@2Svkly#yF3{5vbWsNIQ{Es4+Om{9;l&g7G zB{BsBjHJJRtE(byzj^8(u2#RdnityoZDklXXfsD0Zcm5#L_$n^?+Hnpq$(*t6u~>% znNn^bt!8OimVPHA1AEPr{;w?x+ZCSX(UlADv4No zM#@gg>LT0Kj9e>i4B8CaC3P+@g)Op}<=AXQFO!Z!J5&wNA0U$832T!K%|Vf4YnBK{ z-ef<2#x%HH&K-JS`8FF`jH zvGjuSn}zQ|8&=%dx<7k@FIP2e_2?z~$}&Pb+HXrQoecxhZ&oh0a9H=&)kTDb1IuN9 zJ$pHw2V52z(55Q-+En3rew`;gw;+k|U?k~@iq^X_u7g1p!Y>pl zz3A|H1-y+FE9O(nh^RRxSm%Kx1@Dqfp$q)7Zm)wwppt|6efBJYuS{4stRaO!M69fT z#c^4x@z%LE3o>`SI8=8Mev!V*NFzAexS+Z&uR1JngB4Y@dLC%hDP8H|>DSJQGveyd zT;PMyA;5M~hx1OVL*@J`Z_1lZ5>q?9b);4)H&4kqjX;=gEY_oRB8j>WiR?n(Z^r%$ z_jED;yBhlVGW>8Z^?ts`uK!f7g5^?woMEdIgRY7FRJaQFILRl`zSBhG*j@DruO9=khi>Fk1-zLYrBJ4YIe$OYQA}D`8LcI#IkUek;dX~wtC>fKkkW`w3_RG8em4hB+uX`UllN2 zl)HX`U_|#4f_At;c`SuyP3lcgd&a8g`|3OcBEab8M&#wK+z*jgVEw~?VdEegCOu~U z1G#pCTSOU`sYO$~A>9Iz<>#jsXM<_nok1q4mgU`c>D z|3&YaY2Bt^LKf1Dz*5vVjHyOn-tnhWJWm0{6 z#$zckkQtBT8|rZNg^^d9dcSS`viQb(e6HbYU`g-MQFDAY6=b$VI=rVn`R%@VANp$r z9s>W&CWCa(EG2q!2PvI)Cn9i1wLae!v|1$#$o$^I6GOX z5*y2k0uUmDeH`De4t4{asaEiQG=9|ROMl@%!K1B>;%CYUmr?Dev7zTks?`}V(8LxB z@gDNeK4C+_w*6dx>ESw_pCdNK@fih8edc-xdR$4L{gxaT(sE(?vbp{x+yb`4ZBuNJX!-UFjp%y|}prMpV#_O~L z>_^KH*5Pxu2xI4|calW+pNF;dgnb5!76QC~qX4AG9j>`_;{*lwKo&3g z{c;Wcb>1rlOX`NeH2DLv5CaNzPoW6DFlnBC)Glqz-X`38=%G4W-=@ZHvaW@GkR<;( z>xN-=Vx=IyspZ1PLdsI|I}mRr%LD@YulKzq6WN{6lQNY3V&G^tPC0Spb&@?sj&auh z$z31+Fps-`Fp|q-Iyb@iJ+>0zeIYI_p2@{ZY_DQYMmsGb8^_;F91Xy_oj1V3MVERH zdZZ_9;xpaQq=29YR5~4Wn_HtsGqupZZkUjof(}{8*uGDK`S1XxAXD$xhqPP6=H*2h9jnq_|4hYMnI)8;gBriqu;6j2<^f3 z|6U`14G#@Z#bAzNz^Kls|LF?#JL6JfBXa)x@CE7(>q}^Z-sI*pNrJUvIOH%=6{Kau z&jR_H>fesdy$<*aT&dzEB)mn5S+vfIOfqJeDW)ZK16tFTt9a1aXxw*SmMM}h<^9r3 z;$L*d)5xxI(*VIpoNW^(1T2X~XIGpr9nCC%C~(jO{*-pwZpm+%u;}gFOPM1zn)nB1 zvF%lIR5&H_!ocyu9icSrS*Jxk+-t$%^NZ z=kje#tB?0g`^5q-5OaxcjEI$2&WC?mCUddO^^r6Qm%a5=eu42%LdCG2i}Omz)nZoSyq%Q8BM-;jbHmFJ)# z;<%wZyM4ZOF*xRw!*gINq1DpJ>T3GNi22NX%Kq+ z9x^Sb7JgCABFoJ$3c;eNEt%~he>3fZVxRq+l*v#MS)vx9L62b;^b8XOWK_LeG!e*^1 zI`L#F?mZ!NQ^zp1kG(-I>Q^>@&-}pn{YADu`X$7@_q*i83YW!X7tQaf3{V^Pa*K6lI2@ao|!bhHxI$ za8`D*NB-8gixPRD$PnfdF7`ZLtz-tVbpf2wSZRwQIN#eAB>&V=P3}>&!XUj$uUu;8 zqM%{v-0I%Y*vSR8R=+m*&a^~O{ucb}K5f6z5B1U{Sozp2q8f#9s267Nhc831kXo@q z1`Av&l_tkkG)9VYaIr>zdCK&0W-Z2PNo)DwFJNQJkTFDF@9y*riMPNaX*+%;R^3;v zXE8Kpq6!x%AVeDvrzO#FE7}<*;efWbyYU;bhgE3~8cc>w_W6Rcs%Ib%(S{{;K+DGU zQppX8;nS5yB)y_@>VaO-aQ_KIbn`Ac5XyQWL=3@g;V2{3%s9 ziUxT=+HfV1)$B{=bW#W%EYm7!XP`#@N)m2=4D*D2gp&k?fh_+z7KfdVLBq{TEV_RKs7J6wr~9 zc{!veg<<-Iezw`ID+-@B#~F?7`a$xc@$AK!5B)~b_FzPRK6NaOh(nmv0kc!FE<5{Q zm><{TbrB#z@T$rJy(HNAgl?0~@W4&nPZJ=dKu;mWBTlK;11n@!pJd#XP3itc`2m10q^nmkn~Z1C>;Ce(Cb^@-e9=m-w;hzQx`o| z_IYNI@jGh7cVzNkt-hFE!kA zz;apizj(&CdwwBwgyFpIC@!M}4UdzXWgdW1j8@zyZ0pX8%q|%$)Ry-T`=W<2=v4zY zNDN(nMo~ALZ;YQ09(PaHA4>^@g-1mG)Y>7vYlzv;VZ3655?Qm|ngW#p7;eP>yv=CX zd?ktL1@rCL5}oGaJgvQ{$#QwAVZve2_WJ%iBp*&=8H+OK?Kq0i7#m#Hqw3ij?9l|> z9`-keGw>%ZPDR=uYE1RB>)5+pv8Qe%!E-ZziAWP|Gf$K_;(DMwZ(Gv+@7^Th|&MAga6iuPm*ApBp7}59TCV4B5|6T zqhFlMsejCTZ>Z?=k+tCp;m|^z`j>(Pbhpz7H+#aSNuT?$yVX>X)f3CZknfpnLqD~t z!OGjnQjMs^MYJZ5$#Vp5HegWTCA|T*l)`!>@$fCI1R>aA2S8DcWExyt| z=+%WyZq=je<&Dy9g-8d|Y{*H-H!oLNaM$_3yh$O-IloHS@-lC+2NA|-FW*vj30I;v1w(rTM_|av$UYUTVIKJDOdz1Yuh8*Q@5~;R)a=z z4(~^0Lf_rU$!B<&xcVc1VywAbu~?6qy`{MHc;0g|Zi<8w$ns_e+RpMpxDao?qV#1r=Xf2G-8T|^|ZLbimPeR}{b zLy?{4>6p$vD1Hwkd5yH^A30i4REhEorkIaNnEM7DMxV@!9WExxKe#%iD8LSBV9C?n zQl3gyTZgSWVor5`&>G0;>-c#AGzF9XdNI#e5(G%CfV2FKWbBZzm0+6w(Y%kl6uk zjRPKZf>ncDUiGX_BL|9}DXK~HjJFj>fPglVZpfAV&LWI|+d98*h><;_z|`Tx&_gQ; z-*)vBx}(9b>$$LAz1UUCaSQy4;-H_=--Jh{?opTyH*I~09N`_d@#Hu`-96ZOT`1;& zy5D_y3l?bO;hw(t z%5GJl`zRuRC7AoG)56Zov6*+}9oVT4^2p|N4?Fu!O)lpyTbJ3VWj;z%X-L%2x6~Fj zi=+C?25mQ0>(6{@MduQKChkuBqC237MyqKJn+($`diLdflN>dvq*{GNy48;L3Ad4bLBFBiB3=egN@nuF1u{j0lZw~9R|Q) zncs2E7Kb1-r%f}f=9|gyb~>sR-a0@U!AOSTCX~C;`{>AJ8{4Z29vDN2Mp6jqN>4Yh z(31H*ghV`gly@)kn%X6Cm25@ntC+YZL*%~05{u_$k%@{kBDC?u1AC2*7spj; z2zTLsTJu;dyz|PhimsG)H36`4YnL<;MrPtoS71Z|$Ev3qpYJ^om4oSZBSf<0hz7uA z`twXZk#Z(#%k&SDe!nE$D&A>Kzvc+Wt3G97g^1GBpMoh<)wTuEVlN+s;3_;Pa_&wA zFvXKPDpbHi6;rV%ZHXQbW^$F}@Y#^YQY?Uft$czj(*JFb?)5tD2ahN=#t`(yBZvKS zA20&*o0&%z2Dh~qXB5Q7a}`U+8|;RNFR6y8Ir1YP@-W!BRw(8#u?aeSP(r<_co9%4 zQj0Z1tVW~=&SBT$24X3K@GqVRmo_9CEi`3xrw9z;d>Wr$2n?2~?{&J8;1W1=SyJPF z)a8(hBT*UxG^j#?^5+=yeMoChY%P_BO zCL_4IaKybmPd+&+3q{*>lNVm??S=U5or?noG96$q+GRU+4`1&?NbJ9+OfglWjv-l)d_j>)pIsgNTl(TeV0Qem1I z-NoQHEPglIpP(9d4~M|z90}78)a5usIrJ9l1KTp1TqN^sXhTgE8aWMp8>vCCJX2q< z#Y*7;9ITQa!A_VRr2UXp`>TgW^Y0*J8n{SbC5s*+6i^?m9+S4SO!U1@S2ED!AO-&UE+c^i`ePXo-1nKiggp$z#^MnS=U=P&DLvWsqN{TIQRtj;TW{JO2P9LPEx>}n*WdA`6D zn=grwh1YcMOOvpa%LEgp`)vVEgELoGObH0%`-2Kt{crF0>isxqE6EN#x!^(2bUUQ? z8i=)$8et=HM2dbm=Mj>fl-oz`vVjNSvc@o~aFT5OGEwo(2!dTMx1R`qWA8sL%*Cf% zBf+eSiZ9&LqQ)>bjZm!dFwXo`Yup7F5dUGSnk@O9I-j3;gVZP?vA(p|36gcUU|SxU z;ZZNKN(Eb;mn)qGBd<$v1dNNRJJ=071D!(T$gya_us9W~hk zsoY2sT`md!iboW1hGVnx9-fCVbVe75bvv)++`hf?JuEy2=;sSMy^I&W`b^^kb+&1p zh3c`iq~}xxW=g!H^}$ zhy-JgFk{YELzesoTb!OjnR65o$u(7X7%8f?2}FYPQ;*4Qsb2kh_rURP>@T5S`@lXS z=Izn`TLi7d0C)d?fj8fhbGlXvI_0Vq7PVR$OF?o*nLbqK zX)L~s(obI^0q9Lj-?tWFz_s2u$D)nOZmBPY=dVJnM#_++sCVU~Nn_rPO=jI~T3k;k zu`DdzVIjKwDr2BVn~twJI3iZjN_QOc%-5h~zm@^Rg^WFadR;Io>4kK8QH%4Qy#+P) zPxE!o4-uxm>Nq>^%>8!}0l!i(wk2$1vdn^`d0}U=ZPvm&ZbtgEd2>Xw^C;vQgWP9z zg5Jud@$(!l^W!?7`kw5+)-*T|@gHH%F~q}`mCfT-kdYlR=I#>~S{ct{7n|Va|KNeg zMs0jYRz#_P`OIPzNG|Lyk`}F%&r5tV-w!H(;&V-i8;$uwpkarCa^y8~vqIlW<3qMr zPPngY9!S#k?On(J>!HFTB!SNrW!(V1BZL#2bGql-d|YquXPREt)`G-6Z;H3y*WGI}GT6bY+ITC&3}p0%Gc2mz^43d#8-}-c_qj{_wOZ&q=sV0CnGO(s zHJjdq*BHZPdu+7{{It+gmJ@&3pA2Qk`dlS3FCQ|b{qRd*PNgal>Iw{y~x#EM8ybCc)K~RLeX)%ayi5Y}V0pIO8Wg$S=o% z)4|dt#zDx-JE2W<>x>C@N=Mjn>Mb$9S{3kAiZTGxv50d$MXlJ%BK9sDoF{4#-%nMU z2!#x$=bFMGjwHiKtfZCr7r8-HFeI54PFTX2fr1w3)$UW{JJF=xhGI=ez8I zrW*@}uJs9Kz~l&h{LHjxETUXht4RU7D15yn`SjV>!PupWQtJ-#a_l+_K4e?@O8brq zUXhysy-(m?(i4Q|GnrQUssJd%bHs zvl<~vVdCm&L$Y4pdRdRM4&kjD>(%k#0Vtl$avxL$Xe^g5swy*UIa~oZN3%z^Pi*SF zSk!Feq|hSNMx>L@9J(`E0HXJa#uVd!WnfEDWAGFdw$8qNsPO0y^Y5o6m0OAra-%U|iaE{Th1=1_Pf2Fy>Hy36SUD750cz%7ye%$%ScMFG(G_f@xz`kB|n=Ng`o< zvWzr2vvP~SdpUm919~eRncFs=WKwC@;wtgyw&&9yrK9On>Anw4DQ#WL-VLZG=Ee~| zcHScd^&`N2t`g!=JVh^J_S~Y#1Jgk@XzR#rb6Ksj({fd9aLpOgcry-vh`LRkQTtsf zT^$ph&$!=Coh+MJpHwJppo4>IMG{inzkdr-Lz(ogn)|Mwx-`Yfe@{6EQRGa@g&zf# zB*K*tmbB>t`t7Pv69bnGmnxP8p|e-HM#3o}*F7a5>oLMnO64YOFc+{rW9Ftt?fzhV zWq=7#nNDqEYG|XY5B~OlB)+psltHP8lH+~KTH_NE0m9etrK#*@dk<6xPP9W@vxvSU z!e@ohQwEDuuKzHo)QDE-d;WZle_lTr=nQ%hq|Tgv@*z?9a9Q_hs1Ob;RTm8npWXba zS>1X0c|(UC!JH(GfF{GQ)$V-Ph8CCDvx2$L(7emi2{ELBtn&7M4XwT-5E}Ani)RN( z&%6wv9^;Gj#05X&;k}dAeQk16=TtXoftx%ZDcq^mB!>pKN-{6Ih`L{qO4GUI?U-cIQ?#0)d71YaaS=J{YZ6`yP`lj6l@rAr9z}x2&%*z|5{IC}_ zy^1vIAMAO>2$7xih@3AtYDgXuUEem1g_VM|_8WBNYg8$sgCIE{n$W#d9rnk!)0@AS zft8P~(>Fs}1r>XjWb!4x6+9`iR^r4V!v21@KY?Jn;PBLc@rsAT3=4A%xJX>@(JJXh z^G~DEbht{0UC9^1I{QZE7zQF7%vS`;7yqhBi_314A((6i^9qvMU@*jhNOH;ai(~&c z`+LSiv7!!dvMeB)3T0LBvUc|28^U_jV*GmN(Zl%R!I)^oenhC1rS4 z?;pI-gT&2$llD+}N=BzIeVghy3&O4f>5aZ}4mIoPBm0tHZ{V66AoLzJl*Y4&yvA(o zwaZaMIEKEX^l*Xpyg6|((rFGn-pI=Ooo4$v(&ytdZ+(v2ck?EKRC_F=2pPG? z2BhTM*=)-ySnLtdFS;;)L2ZT`iw!3B~TDe1^llj?6wm#re^DrXM!w zqrv!Av6`FiPwva=7Sv%~bZxAb1N}Ov0WFVzEn!Zua8Gep>(HtB>}VWwzf_bsMJrH9 zhw4wo@pz(@KR_ZI(Xm)Rb@oKvgr97-51B{^07q0IUy<_U2v){{4-*K$E2uy4Q8{4gaBJRC!dEuE&12^P>1{tl^kiN+`GaZdz;bLPK zG*UlUIPT~{O19rwQCe>Fm5P(_GOjYtEQd7ov>NIM195+ajSI;Ne5YvR-7IFQZ`C|{ZqoF9-HJonj+5QA>wRU7+$@9b^6X)E9 z4Z9?9X_G7F19*^6>~)=0pr`t`j|ft4NRr=80jXP&&=NknyCRyeT6XMan1Q}4fBVv5 zT`A=l-e+V~0X&KLCCZv}pl2)-Nlc3OsOnkbQyv=8e!_bqvBEF*hYV{!95IKOUTB$e zX-0RA1IUzmI7wwbZZ`F~M0I(DAQ5XuaNKn5#coKzT%y;b1us_#EOOe{S1)^9dXB z(*GC~QWOd;0it1s1zS(_ae?3mcK{k;J(*+`zdJc&8&tzuu&u`+Kjdo=+0yBqyW~7b zI6v5MO1?lq|xv=DrKarzoMA0A4yvwvT7 zU|O}P$xl42;~eqM+32?re}IY_mCIGWUz#`SPWu9j&{Wl-TxJisYS50c44f_Y!?I|n z1deJ>F5s}-G}`jA1~U9kL)4$EHPvS6-TSt{z=p3YB7__AsEMN@S{mRZ9hE7$TM){7 zL}%hkusOavW2s1QmG*70I@Yd$zH{r$W{UUvQ=qnf07SJR65SXxV~~`=CMHyo@+0RI~_0ZUGkEwf`jp{zcgM>gN#>Z zcTj^i$C(&u6YG1WEBpR8U#a$ILNM}e?XCk$BVCIW=JDRsRu&*mMxj<`7POiJghz=< z>)oSnMo-_>7y=If-Z~YsTG@8tCy6nVPC0C^w-Fd)7L_>Fe~q5s%0-=Gsd&Oc@;Cfi z=h{8NExaT$(a6u2O?xa!if!A8)%<-RP6^hU@rsZBv(PNM%kj4S0`4u!`HlPrKK?0g z>YbEr%FT$Qw+Kpyx-#V|v}z(d%5S6^B&nbiV8Yq@@O;@7_hCHiwyV$eN-E%@!+fPGvE}Zrs&m_~H*c zYZLJ_I07%kgAT<;f`T2=R=DXc7PH2In|b$Ju5l&<0tatdzN)aLQ@v*@VDx=rGv#|6 z#x-0avOvTn67u-U5pXYI^Xq6^n{g)19ngW($$ zv{e?=e}fb8Fp9)=_x}@B3##;McU^$HLS5?-zyU<|;BI!+r0;sS34>SUmawK&&QXB9{?Cz4vPw39*~6X~?VGCXaGzRV-(kod$P?{K2ERc^%~) zLP5}2Po9^?c_=j^mIsOM-nWjAxvj~LMqn~Df6qlS4-*>7y_gpZe=GLJlU3mJFA6VF zyDS^=v6R_1>risjEUW?za97cN#_M)y{E)3e8P`K=z6?z>?76dUySt+q_^}!UfHb{ekHV4h^U#Exx%! ze>@VMRMS&ZvHP>G|!O+)M5^jwpLAGN;S_~u_V6GH?m%);}-1=Y3c4uq^|@| z1^Z#ne*>G~Z@yKiJMQ?n^X7MkW4F*V((^jW&jxnb%*TKchZJi*-37jM%va_f)p_}I zfm{2lXFsL1vkwhx@f@ZXX9!+0s=0f_e?HgtPgoJ>M0NeRX~x{qThye6i%tpnXV^l$ z2nD++@8hW@l3ws(xfG&_hRMk4rV)Rj#>{d2ir^~ zz|rCD(avo_?Oemo4cDg7j7~-oe_b;XC`WgkRd66=o3fs_k(b1cUdfYHWK}ZD%+ljN zC~MK{e9?1o;Ap|!3DW`;!rZZ+x&68qdAW%>8<20H0;~ocX(1cA{)jb(>ZRc{;P?dy zf`l*mo}L}gSeZl4?flDn39dRW_0HsjukI^xBMxlW?_iiJmblNIw(`mgTN?84&b!AvbLj0Lnb%^l84w&!Ob;=n{dW5lrir9Zg;Ue`K_oi&6@ z^7#tUYzN#19DV{~)&Ia!4`U?ZOA_71OVzE=LX}%ic2MsxQ0XY%868UiVB=FKu2KF7 z0p&5CjCmwNk#TTJ8%lu|e_YHYux@qAso<;PELBKfzz}4?pZ$7Z&kA`xt?n=vlBZN& z>ToJ!2Ff*t{9HN>^kKPoL04crG4p_HQYEPR#uOUI>z>|sP8clq+e0{pw8$YB@6Bts zZ`)g&|8Kh@6u`AQz%r=fROU?78+5c(N+59rJzB}ZT>&V5t?dv=e_=4I??G;rPeLEj zyN@jr0?44z&LeEN`m#TNtmRS<1Mm^aQa0px6d4lB;7UUiIP=D7he{L&2!<$PH@PY* zPI@YxT__B1;1KtcfJ}@suM@2haPJrZR}@#6o1#YufVQ7vQM}0&cq1pIxl?Uch44F# zJe(XGuFV)!3%mXdf4ZM_hmIxOT=n*w)HyNS7T^@Y z|J1jo2=-6#xb!N-_4R$q##HgmtFnR9fn1$moF4)zo;^ENf6QgfEKSz9+5A{)ERi^M z6D9!%vrQcamDWu!qBJIQyV^khqIAFWWAKS?ZZ!gL%rB*(^1;I_m|Te~>XVLF^(|OC zbHpp9{}>6I9)_5g;oYIaI&@3fkKR)6>DcKh(}{ORy-5KVhV^>z%Gm5G91U(4%6nXn z>^42Ez$iKqe}Cj`eu`_$-)c^P`i9gizc1bHnfN7{b`A8doUyj-hiZ%ep8DIna((tBgfDXPdLsSNx`eizZQ z_+?82q_VX*U^Mc#&*@Ty?X;|_5dx~%nJ@^Ez4m`af9(h=oKT=wcWs4XdKBT5Jw3QK zbCdQXJNo$Bc!@!H-!_FThl>MnQcy}fsj>@S&>a(;{s(hIop#5IOB__hB4e_gwy6?h zo?g8$%MzCR^p398jr@Tzp1GM2EGqI#z)WM?VqM18!vi}hs#p1t2;o=!a(W|LEiNEX zVvloae}s{upU84f>e_`|PIilKo%d0s&x2u0AuXar<7E4z=|{kM;#$9S$bYbz*uIH; zJL^%2BvIpl0rX==9{wE>!r}998ZM(bXOUjeA0Ruk)Ua7Gj2nm&)9Z5}r*+x!JD<%J zt*8NBZ)uxWeT#UoQQSALvB>*}P+ClA_%3|_fAhh!e3uKMLZG`_&mdM9G+>!KN+WEz z*xRL~JXt0a?muS?80D@5LxFzsm96vOtt zOTZ*_;_tZj#bQlX8{&&oyWjDtL?%kVOH5SQ9gl|% ze>G!@0Vuoe6XVyo@9Llv=7s48!NX8~(ieYdTdyb=3uQ(A1@q}yk4)e#qxA~lOJzRo z*g0)0o`Or<0XvMTZWmjMmdI@P<=#41&2t|(1UtmGojf7mu!i{%`c<@J!5EeG+=5MT z>fmh=bz84aSms0&*F@gD5RG_7P>K4Xe-gG;KBecA`xdV%4}B(o#u9PB=|0*<`pSjU z0gmT%(+;y`+|?J|3INj8E-fe$ZCZ|Fix^`=yNu?fB2DHn?f542twT^ADe8h^=8456 znh?PvXa(~$vFex}O9ZVmb2?SqOmjcebb$FC{Hts?08EcDT)-ojq@Lk?Q!quhf1{;l z^9@0l<{`|5h8E=64~EppstQ_p4)s#EB->O%%TNNNz%xGtr#)L^(X zk1kk&Gi<*TRE6t>5_?wb=FNyPza!TL2Yk^=E0W0<=4EOOrpc(ej)@|p9wEkSEs#JbnZp`0De^^*Wu$_fm zI;)=m?L=!o5Af@JYL1-OXYl$gTHVEARmEqCxBrMRpN(FE>_`6}lK+ch1sQ%ft{f42y0L{j(Rdefa) z9eRcF(Z!aN<9y4f_7AEfL5&v5$b51>eV&CNBZD(^R+T&5?vapGlYF%SUV8`veXaN^ ztpJ-Rj}Or^dGjsHq{X))P9itX1QVp4%eC)VgQdHJLWky@^FxDmH^zb01y3x6i`Yn0 zgun!dkpYl?18Y-ce}Tp!e@8D}tH1@zT)QnHFF$65;uK-aG+3Cu(EA(o;KRbYUUCFZl)6x8s6CE;xGJEI`}<-Ab{Ir@6g|5geZ zB&fC|)H86=rBBiVY0XJ2_3wNEONQd?g_$NwgsQIjS(OT95^iL3baG{3Z3<;>WN%_> z3N1yCGH)5ifWLX_Se(X z|L&RYS?H-XwArPsoGifdPEdDtE)Gs%fQ+iN0T(xblaq&olam{bo?Zvy?g0Le9gSWO z?CJ(_f(rk`L&g;ha({oZ$%5Qp995m503{Cx02dE{i(i;aK$w#gz|F}i^dCnjS7CrG z$P;1(P~`w9IYGg0X!J5p&OWXX8(a4mo&S6UFj+DKxP*iR*#6!Qka7gOLM%a0fGWt{ z7VP+ywhvb1z^bOu3vAW$2CHN*i7P?uNX zaQAj+1Aw4be>s1G9Ne5<_Jce@5C@ROi^Jckg8=eUngGyCh5xS4&C(U(?C!?l266bS zM&MszUXED~Y9-_3=m>_oyP^G+pDe@`Z25BTKEQupu07Pr3+neDvW7sdtp6&*%EK9` z3x&9NfE8u`?ek(n`(v{Ky94+*IXMORg#cg|0NC5o7WjXcfR2wd`0quozsxT+1o$~S zIRmU;$^ZvItidmT(EQv$o?w8xs|Ps1@1G0*OK4nN04s>4JHP^L1A(IbiT+{+TmOq+ z?%x&S4KU(-X+JIi=U+en{bcgeVOCC12cJLge_t_B-%wsgS(o+SCI5F(TH47Q;K$C# z17PRo;{tzhaq$QN1o$`s0sk9E0|fbZ9-M#nDnhND07Cyt_vM`ald|W(dw}WR1HugW z-&kr+FP#epF#TzCV@^I!%a>nV|DW6a?=AoTy8N#w|F4bye>0NzaB%p0o#|f=|3B*> zM~H*Zzdc?$*Tel~3RIn5W&!$tUG>5L8eM582djVoyQb(4dYJ_&sExyaj}hV~5AgE``Cmyn zsHKzDUsJ}-#}5Fxx`KSrIA2= zM)`mF06?j~O#dQ&08si52>^gHe@GAjl>I|O0HEA|Nq`dol>b9K0HER@dQnjRLoW&{ zf9OR)^$)!$sQsZA1@-@u;ERIBA9_*H{zJR~pw1t9(bN4yFM4`^=tWQeza;cRpg;7Y zZt;g+)Ghx@ye|qb51Qj2@4xN}X!QrVUt)h*LBOtHx0ko=j}sRF2>u6h1Ax|l@MY2Z zAISMql+8czMbq|A1}|0F`Z(LZyvKh$UTlzm;7bbj|G<}e9R7hX1v&mh`z8Hqu_< zKf3tqh1kP4!FDLoXS;X^Vrk^!-+Fyl@UH1C`8g6fyQR5Z!LN+|P%_E>PB+dtq;Q%( z$0Bovga*l-of3rw@6;Q6`s#WLFKhgnO6ff-TEO8uo&rC^Rqpt^8Qr+F9)+c-b`qg_Dn5W_f6Cn(aG}M82`#ra!xeN%YyfA8Bw$rS*Jp zcolxdB!Sev8?~D<$3IV++t+_96gbIP`{6lA^8GxwMUJ~smmkO*^Qaw8;PxzFd|UyF z^2O*<=gpD0&JP%hL0Zrdmo0Uc2$K2H7yW_0a=d4Iaai)=cN1{Rb|Y24lsbH|o_o~3 z99V`)ESidL-$`P?t3SD4WZ|8x2a~vD%5^$+zfxRu$4#AN(g2OMVy z_$38nJ&ZO(yur|}>)L-dcd(8%RrkrO;`wX??V*+~akJ;gy78L68iz~)lisB9iQ4uy zMRr?vBM&YX;(b{Z>#VYP-kGYTsrE`4WwZ{5D zVx^jg>nyX1n1^j~{7mTNfb7^pPIH&WbgXG%07*k56=G-SG}?bAd(oJ$F3af8S3G4q zf!7YV=~4r3U406&qesYFxip*K<9jlpG5tGhH~jbs3w0-3m_(7cpgyvc`4C^^}rV# zL86Cjls1G)hU8es-p=xCqjQz_D*@fYM?G0X_KK9Q^0aCFMdcLdx(bZr+{XHxKpl^p zg40>`gBmWv_hr;~Aryh23pKG~F!i8`i$!1Od!0**>?W2LKPnOwubE@X3MXS;H)Yd{~;u`xE0VwkM#n<1& z5$Cs4@ssOQk+)EIlUgYSeZg?LD6C2(M~HW%_PBqf7^32AuLH|XO9x*Pk2=KI?IdBZRLGJ!Sy4p(4zmXe<#qMzm;x}=B2<5Hus$xVYulw~n3GDi$w5*Fh)Ag0o;P+t z*B>*BpTi6(HE@`DE3Ic))twE@-ns_@_)?4#v<&G)ZL?)oyi(h!&hB|Nr0_p_*;;f2 zy}sjt$OVLl))`?JI3D`mBx@1g(os%5z#GYB^ZMaOe0TQM0_xxGVX>pOgcO0y6cK;7 z>yjL8lS;tW=Zvk5!8=AS84ZOf9GSB+oE{Xqxi^%DZ44z_KiQ-vP`%h`Sb1ycRtm%? zoAOh|Xv@Kp$}IYDt#Z*7?g(as>`HAP`_U~Z$MT}`E)1;_PK#}$QWC3U6TXXks~r{R zt~hTbxWRwTY*J7OUQjQv6~D-ua(aJvIdza-lu6bJv#2C;s>EvSh&Dz=p+tJmPcqbP zPl_Ku>lh+LgQSK5FqfU|GHN>o?Ar2s`AK10ii)k2dj@2TU~9n06#PP&WQp;2lbZW< zXsz7GdijluI^^5C!X$0zU4HLIAnm&#GhCKP6Ur}j#*kBL!aJo=$mb!K;Z%P|C4h1b zz`8B_tq+U#9V}MBbu>glkKYT_086|^=U5%-DT?E3s7Y?BGPA>}wy))qeog(8MPSfF zMZI-Q%pzzs@c6-OSqb$~CR9;El<%wn5nTtv*R8PjD8NI-JVkXrxTKv%;EQtm6gvFz z%}&etX5_Mrb)13KLH-~H_1qDye!gjJUT{0;_-Y#ldD}aqBs5(7m za@nmXQ6{~7=6ftkF2q3Ev~lE>-kg7cdav-uGW_d zg{BY2e0)*Kv>OYaghml>#%q}gcZifXwF^usY6GE7Y2Q@I4DQ(k8S;MwK$v}2bWfj_ zlhIAxf%eitJSZMrZ857CPLXiGT(LF zdsLxydax2W)LLC_^49G&`W9QNxJ4xq-RdYI83`knd5)1iL~O@N=tryF#;OvsG-Fn( zAwo`$RjeRvBy-B z7}?>;d(p-%32{qemu`3z0t$3sNp~327jqJzowNg{;&2I**|Ut<>=}&+!7IT_^0)0? zs_Ht46|!zhsl$Jo?^l)--lDps|#DOd6+1cT|8;sfwxoq=m9SW8(aq zC6|Wca^l(zheNjJG_2jAJiT33kwz^V*Kv!l1@~Zim41KliYlw4azl7iU%xdQ%@U9& zFzzmlH6Z?)9eQ?b7Dl~;cNxGgw61olh%rC{c*KONLpd~LVbc-64+U*Z=`+@`!;A@D5Df6E_--c^v#VCbl_9{x6A$&xcCDUf~nQ^wb?Mi zeY)Qrv@~FpA7Xej_LS(9XVxp$;W;S@aaqIY<#@%RwHO*+>n%$lyhYB6>pG8*KcSk0@7*;OZq*2s4it;?^CPRi3a6gw!QF*+h2}}U80(fxCEV7WrS^Y=f)PbnQS+wbcy@{7D-#j+ivuDgg#c~3 zS0I0kn>8nlxq5pK#uKj$oX3h!J|Qsj`>Ek8&ONotke=q%Z!WrNTjQq z4Z>lIOItNCc5JACf+gWUW~9Dwuzc zl-Yk^^4sYd6<$I^NvnHWF<}QQHOyO(B@bJM%t#PcWj&184&J!2;*I47#r*Cwt8>fv z(x+WboViQM268X*fxuRsO^mocHPP3e%kz*v*x(do6|BTExaGou2$N?ZYM= z?GYyb-GtxM3Cct1&U$&hvApM%?x8*~KoDec49Vl{y9j(?AZg2+Js<*bo$5gtu%rwgM-Ds=2)5`xL0YyF$Vn zBQ`_<1^R_%@O(b5m#93?PIW-&wcc@OWnliGbVjc6F z0e|ZI+0Ks+o(uw`C(`#v>~?Cj116u2l%jmmC)^@qX6iR%)@JR9QHy_8Y65*TRQz0| zjA67UZRwa}g?-hul~k5}DC|tXeE-=0fwB%Zv5(>v^Q6v?z#qzn@KS`oH8>FyLXng- zhyt0!1BKQZdJ0xNyVgygX;8ut+nL*<4ET1)#cbi#CPP7LIP=xT^zXP3*JnMExRz`@ zC3b>&`D+A1USGc_I-q}kx~NmTeC)EzU03I&ENUZIXt!8?-pX%!2kV|Af9`X>U9)v{ z#&F_y;iYNBY8a#RA=jl5jkRe_68&Vu5z6+UZkZ!S)q&Yt@aI8gtHE1g}0!!G&d3ufz0fAr))sh;vhnY_1emYk@1{K3G3nDmQ&6J_gL(%{0E}Zpw zmb18y23;5(HqnY$8~OBGX*YkluGf`1jojRQ5ao~4^8+#YgdWj8s%-2DBbo?rP68O* zjYssfD?>lO(06}5mn&2p;UpMGg2Vlc^@gamU880odK)Xuz?Psyi;Z1n{pr#J-E7~; zbJ*+L*devd$lPl-MZgd6F$8r7&OyBXVdvYLrpanQqLs^WYqsnp^DU8lZTNt3JSJz8sGPuOBT(eeKSPw%F zAUQd#C0?42ucAi#gJl7T0>J|G^UY~H!S+CI#d`Z_#&3mQ@D`#Y(#d$&{{13v*59L- zcQ|y)`^|rsun}H=-YyVA!)Ig@4|6!6$TM_tk*qW)iY6hDiLE?l!{R4h^gq`n-K{p_ z?l1PcZ5-L!_PaEzp@?~DZimcPqfVx))FrvHjflk047JMC9GvcZ%w+|MIM%0EGt(CW z$w=`I6VP;3uPp=7&*=Vxm>st{ji)PKB;2$uL&AUl!#`U2S90cfU*A<0OxwGj1uBNa z$i){pUQVB-dwz?quwd&pO7|`a4Ott&c@rVokh#9@H$I~$1lX6zLyr8#Fe3`mE;Gdu5TuezE-Qn zRAztG(_c)G+MvLk50L2^FxZa14jf1)zj_$3GB{4GBe;rhGLQ>^srq~r5wQ){ z$7?a$&2n(iEXL=5M1nXKg@=5Q7p+ModoYB5T3%P9CtA@&GW8lGSq_Ws@ylS4 z`xYmhYcB@Cj@~0bOQ(=7s%lX5FGxnq3Y=NYsIXQphS+--01}RUyBzBp0q9dazZYr( z9gpnMwDQ;sf*LklTV7WkxTP#cFFqI+Zk3gAAecOLnGolSQr8pOGLHay{4=bLUK4+o zI4ni-{0tc~`W5Bdht&%NAQhg3y?HEbNnzWynus#K=-_vHmwHq&J>R+8L?+iQ2%|7# zgfoecWnEk7BN;4UV3du46AO#HXN9NF$lszQRdla#r35@drwf#!jHj+$56H&c2u4s< zu0fY-FciMdCT;J+eE;4lfMBFtUNe7ZML1SFjwq=?!&V!aXl#4Yv*|HiHxE(+D_Bah zcv8!6VtVuORB@!IwJa&j13Q8xT}!m<*ZF!q&51Av{6XMY+ARvhxBJM2Ivv!HFe>C~ zLNyA3VyvLCHc$@m_grKPQ!UyvS_k~l)U&HliEZQfz&7Q29<*(e9$h(5bZLLsJ9XW| z2c$-OrfEqm_yc-Jmtti0HMIL%^OIL(w60N?s@2ZXfo6N!(~5O%H1dx+FX827+F>jP zlU>zjkqnjw{`Xf8>!zyRlRozfR!vtb6ovfM)%35FSDaVhv!!o9ox6x$sRZiFviiFX zS?MeAmsk66AzPFZARF)^Dl2~!RMUPx7MR%KnPGP&!ohjZO9RCmlS)y#SimDkN?xNP z6yXSjO^{WdfgN6Q3N`%tLnP13!uz82fGCXmA-r23=$PC+)X_)&Np7{3%l(9iK!(`U z1dS(Fb>@`Sl>cUa{Koc6Z##9Zc97z#icaHK;?UpRKB4TkDEP=F(-nUlH3)A_EXqAy zMcUT*qA#n~n|%`!$(#4oH$T@kIpVbbIN-^0VPaLM+v;4?sj` z`dF{+>AszO-fOBSgv`{AZ2A!o$YYJ=rt?@q}fr$9GLV6YUKvzHQ99#_CpB^=9UBnCgZ z3?cH*TC8ept?10}$5vxYZ?40w_g$(}KsLOgze44q3;y|VTETw_c83r_rmDA%jT#y0 z{{A21p->zp6imuU{@C1NVXcPDSVGi^V7B&1HwMR}K(C_O)jAS3sw~((uVV=hd=Gw+ zUy%>w)qK_8N_&r;CS!#^LxNS%?<%;R0F-aDBY{Xet!YG3Wm;1>y$OT3lOK-* z-|t$76FV8!ACV{x}N7k>|h~Y?YBNi=+@H_^I zENz=U!MvSxFKEbC)<0LE7jX&aG@nDyqk?PFN!(;K)Kdt5 z+WctYuvo&p4$`jf9CP6cP~{DN}G+-|l~(hTr%p!yhy78B5Pt1>U))9fkrPfyBz5_@W5@+xxqDo!KK2P7HhDnw{ zuP%T1?DnmnL#JD5EzX-tH8*_?yn#c}n!at>$2JtodDBamSW_H@eweOCL1GlKPN>t=s(gxMktEecYNn7wVoPvurG=G_g|1`joF zjf;LbdO1C}GlD@ELKI(*r-M!QGQBsh!8~@cf=;rp3!|f|XeU=~qZmhK?q-*XLIyce zebeqF9n8k?vow%~H}j|+nc4NRK=(!xej&dVBlB64u-7Iu{D$%|1gbR|QDw0gABBG> zE~I2;@ByEps;~X+cmd!!G_7>`JFglgjqSkQrheI0)GyKnzcuB#5RC=Y%vgL$NPgwF zeDYQPc@BN6Y>Ij6nfd6El$+{fXc9|))L4W0HpNB2>dj|?%sj}4N^i%e54_9tsxoLu z7=0QuT;@HhEnGfclbzyhTDH%!r8~d06wP69F!xY;v8k;-{8MfIB^C_JE=wD zrg4aUEw+@@8b#JbZ}iYuTbXJ)^SP1&pXxRTDs8mf3G_vP&8(;zTGT@2eh3za`Q#>qmBWgrDB;uTNceN0I@?%kQsGZ9fE! zU}wLbZ43gC*&o3dhQ?WZfKPv@+RmzEK}Z46B-2-{TIc9IO^b`VV(M`V;Unztm?d3l zUg6Ll3@c|=VEfcRPksbI&=1ZmmnfZ9A4*NsNRgkNtA5EE_6LdWr9I117k%bw?0sV{ zy!BtAUKSsrZRL@6?wC+Wv2GjXCBoRsN$y9&)<2i1}8fKD| zRF<#_dZA5AEiU%4CA8IPi*W#qWcw{QB71S>dHLY$;uMXr>{kh{WKFL=$Gv@asG2lEIpt*-y~^0?PS>jsC&I zAG7W9VWw|$rnzQlU0p7BYdOZeh|-5XFiG=65W z#gzvW$pOpMVmRbuqCf~}BiuP@^w4io^0Mrna>T{FEE1X~efRCb;w@obtfS|?;gTg)zCTu`T#!o z-l@b?!q?v)yy0PM3l*imAhqo^(Dg(YS1FFbppo82(mb+eK2DpAtqYvTE2m7$Bq5i5 z;llX%K`Y@^h3pp(Xr_BA$EFkyPOOc$sP?l)DS4qhGY-=IeiP^SlDm(Zjv}(-+LzH} zKhLZYQTFZ85F>xVG}BL91B%l2Z3S<--6hv8g5U+pjGC*gbQ*dIa@~`cylzEQuxpw% zOtVO07;IQ$zVzCmXTKNeI9dpOm;>UMOMw{49QZ3`g=4plOIi0r?z-KAo`}`2(v_#- z_RO4A;?Yi{DkQI>nRlFum?O&CX--5>Kao=i_Z`Q-MX`TY+QJc&>OXYsuZKDBWk-vc z`S^DBnYT#-!>f~3F=%|>BnmooI-nTOpRh%AY^?F?-Q&h0RZj4h9X@vtojco(w&VDB zxy`Gk!6!8)Sk6j$^-tyP2(7^V9|%I(=TmQ&jnB45gk6G~!np{Fd=IeSor5;~^eYN4#mYKlk>8|er5gXXR&rSK-9%keB zGyN61KJIvfB`5zv4u{Csc8>%bhQ1IALw@X}$F6_dxG2t~t=apd5t(T2_igT#w_8bt zj`Fm#1n@6UMGqdI)>}y_MMd1N7W?-eWDC0|3VEg~g`stk+V)FSf|TEg*v&~NU4J(q z$sKhK!*FOjEMV}_h_!n#_(gk?Vez(DUBom$o>5AX3AF3`@mZ;0+T^EfqGU;#6C*$e z0f>KTY0~NkYajuW<2FXhz_*ftCzwQ_>%kMBpH^$6Uc)G&LE zp|)CQRXCq$IBQ(n48y&z!p$h4{DKmVa%xIQw-D zOvUC!4miST2!_%bctl446D6;nQk-oVuE8PdnBiC<1JxK|Ve{L%`>=+59~q?GrohZ8 zMD_6WjEm@6_|YHRKj2KX{I+G&H6X=RF3CZaUr0^2S&lzlVGRfKxrAgSY_jAEIW!mP zpPi$#46x<^$dw1$cunhyk65{E5| zU`U`YG3twtbOZU}&)v+1*@mu2JE|}vI+EbRO({G}!|gO%eeHL#r>zbgAW`~~Kjt4k z1}lOk=7E1#6gyVL2*p1ed)iknWlt{)Uz=@2q7~g*Sd*wYP(-oPtxw!Vq2_-ol*muNy z>qPu=wh*EwkE}iS%+ZdiEQzn!)12?Sw}w2q=v1>Pq+CQcxMeE8VNg)|@kvt^S{Z|y z;{5g3pdM3g_-RiQJ6*FKr1F22NJ6mJ_ETF4KxxxGdTFsNjq&W>@mJ0xi}(p5ps$t> z-S%R;0g*gZUQ~>tTwz9}*lwP)BA4Rqf;S!yJ0Z4y%W;d$`>RlOK z(u+9@t{rhf`0)#_%eA3%l46NbI)xjV^ricK{$D1SUbPQ7lJPxrP}Na&Ansl|-+viI z;d4@Q#AHslCsa~>^R}^0>soWA{QHtM4=K&Wk)VNp-b6(6x6cEi{z5>fLyMqPkz3&W zu?QJ8E$(aZ^l4&xH~xQU{rA(F*bdL@A6@l3WwiVeF8H6TumhK;G3PXF@O*B^yhSc1 zC1idWDK;zZN4-ZV(kB;a#HyFmp^BC3)Qd!-K?or>>)8E%`F5rkfqkOP@!gD`M&i_` zPuua^bM-?3shu``*Vh1L{%d;NZFvL%s@vA4=|N9Tp{(L_12b*S44>RVo<@hBg>M?|%?7e5IGDc_CXi?ewI*+LEW zAVh9UJlL6)1=)XwB%6M)wBkfQtY5Y@Uel2q%!5K=jyhu5mAUZ;iqGm))oKQwOvCIA zveRXt$eQO8pW(dJgci#pP@%)$INaawfU<2#g~MiM!haS;UIG(PdC?hZ6~cC=b}s3E z;zT8@o?P(AC?wztq6X6v?$jfx)m%TX?~D#D*PN9sM>T)jX^^d_Ef4~VB=-{Be^Ooy zsGl`GX<5j>at^d^e0VJT-qB?ZKD0A42GSR(Z$%l#Z;cz$Nr-BEmWyS?>=v&wWzq9r zTxx3Vwq&VO*+8pfqZO&Hx7nH3%Gr)>(ZKZxsXzqt9H+-0#e6vgw4WT{J)^ezEIIF3 z;-n_9)DeIG&>+b~YUNw6lKCn+c3~&r!@?WWO|m^wJdMwvZDT(l|85n7$j%w#kYgAz zR=rf_>$wdd0ozr(5-HkjX-z1BNO~J}6Kig~;IFxw)`P+7y6@R5OKp-kt+5_n0{)`? zy-xU${SC*(CI~iAdR&A44Hm&u^k_w^2-tfnMuvX`#P6(*fx~FVFo|A0)<4y$n%vqs z*7(DnJItc@zDmM9q?h%re94_U=-Y%z5FHN%8F#dz#+RA4woUGm{ZX*95%q{?Se#uE zW!;rj;${+gyaD4Y%(1Nx7xUAu!Ng5+$9j+En@F_1AEp^)7@FRc74w(Jx^y`wn4YQA zZqa`ldY4xgiF>p|?_Oi?j7K~d)oez|_G!e>i4nm^6l*yXT5FUA)ZFw$I(2+Hm)UG4 zg0aBXJafR@@Nl#d7_}eu;IYa94hpTC7l5v7-o!@7S5X46g5K~}Rk@UBCkC7>DJ+%6 zb;B2|7%A&APFgu5kXLHxZg?Z85w{7?w01o1KwZmDf0epBSbd+(!7Ctyi0HFrw!ZR|J2P z0xcf-w&;NmTQxJj#BV!MJ7%kwZh;#H$Rd)$;!zzjwc4>)hs*u&h9%_nvHr#ri{glpq#FAfGSmV?cNz$X% zR2K=G+9u!2SS}@56@$C@HI`rX>)bd)>}fC7h~J8^=SO=xentAESqciBjj^ABE2)%G zDy9^n2AAOEY11!|9RFel;}7#_``zOPhlNe2-%f~NOc+5L@3(_dVdlaaM8kj3*;#gY z(KapBtXDUD2`{8bh(ofhKN;Yicp?dDNPb-+Juad#g0|Qlp$N}ExyRNNM^uFCnwD;G z#GS_^j#G5B7<qZQE?L}1` z;Gnta=ddi@mlwwkWm}Pk(cpim3Sc3rkmxqVX>+la7|r+BeM8Bk@~CNI;!Zf=}rXwyrQ-H2DY14 z(d2mtP9~tg5w~bgCMxd7t29aex$fG#eP_CX%*~gd@9jqg>3@9&1x&nKx5#x*g3=BYn$DfY?4ctn9{eQe z3Tqx~SeltmDeq4o-csByqnw39sINlDJ@QtWAw)F@x4jbhtZ53XLM>c1I+A1eyU!>p zVCLaQfR~rEyA#vq8RpyuS>8n@FQqGK)zw~ea21d5Y(%v?5Ve1F#pI`!9itxlz~GeQ z_=AIyI1g0_S>@3-5ek&LhnsGy1mPF+^yKxXAYJ ziI2C@e`A(77kk#gCmmigNr&j_Q5#`f_=*L=1mYTLEXN+TE%82C-Bl5E1bEuxp4qwX zW#;>;2C|phN$Y>Y)hgV-RZw{+M(J2_Jr<12I9ne=;pP?0K?zZIp3Kg_q#NX#KI48=hlb?yWiOWZa|U05tE9(IcphzdKdQw{&2@faeF~N z)cEyq`+4`T^xPz0-r1jX6y&;W#-a{GKHVTk#AkmBK(3&N6UqL`Yz{5SgsxTEMw*0s z!>2yHtgv^&ANhUDFa#2HugxnE2-8qGin4WwyE0Vg60{tKT^9HPkHm!O6YAIm~n!iZp$Ahs+vq zxa_XESNA&n2Q!dLZZx^`hWNYV+_6=gIWbc8D?9PM2JV4>T&IJrLqJBU#{n`q3g;3z z=o}l%wn|?||d=3dA$HfoYMaM+>#S`o|+r9#6sUZE7UuZ`HRMS|_G{`?JAM z7<*LrHgISv-5hAofriiig>q>h2=!W`$4fEzy<&?47{kP%B*4mUJM|eR8%`w$aFmWC z6S?##q9@CLt`=N)Sdx<%q=)F0ebjGd`tZbN1bH8|^gNn!M7~|3bzUlV0qjO)pM1AH z4%qg+UJh#9UIu6-mPHsI|^Lxdp$F7csa;!gLJ&7msFZeMM zGJhQ&6z{aDH`)DI*d}_{0ueK z-)7rWzaPS7u#+j2%plKS2rCL7J*Ks{%*LBC~wB?jlg_KXD_JWW7cQKll1K z?V(_QIkm0$FOEwEEI^M%iK13%rY{HW6BlM19PaQqf3T=fV38}b-aCE6veVB+*-SJr zlM;m6-1AR~7<*Q_{oIu|umj&g>1U^!VwfdlOiH zR6xbUcD&*?&Rf0{N9yP9FvrUH$$dY(R(}PTx5!ztJ8NAavSauTdZYiulmM6dBRQ(b+LOt&o(|Pr zE+u`@eN(r#HMh$KhbZ({ql#Z2p&TWb zS7ViS6(71felUf(dBfML?3qN@%1ypL zm^gg4fEp1=E_;!1J71gtNcmOOks|_kN`22r!L^`CkByv*3x8pJ5;neSd5g7Fi?3m1 zV`kyF=&pMg*XeLHf}s5dpygJ7!N~YqCseS=7py0v(T$_3Yck=P7V=^&?C;%qwl%(! z^u~yM<|L1Tv11Xa0H_O^V39L(#lGGFzd^UW-`goIq80`{W7=x zKE#+3U6u+c$_#|~ko+ztnkC^>(dy}szrvKDmCU1nY36eM~ye$ zglP-uIsh%{VV2w)-QjzG8m4DR95;$Q(D7FxRw01mVR0RVYNlo~l$9HwpGwNEs&*S_cVU9q0%qZ)#YYkxo3p4 zQOm?tr*u}qgkrp9L;5W)j+=q;F-XtQif)K9fJa;0hpVi{q3=+C)N%Qjs6WY&;Y|!f z!N>mA0-PravFzCCtahZU*-?Yk%57=i-(~hS<=KwsgK9fNv8E+!uEHS=;rw&;r$xDo>ER+=pG4D9;w zTft@28oMR=aA|DIcaU0`Jp##J*_Hax&$X?@z1fttl!0xhuAJVdnw|$ju*{LH%(A9$ zJ}ld;7PYXLALhmXL^`=HkN|YErD2BWwU#9yL`1jHjEx(A`kYwUYY7S%{bJ5KVCa%! z44<_^AXlr6fAAfM5x!SZE{vw>-lpZv=g3Rz5EJRHocf!6r6g`>hg80Fy)2S>Ucnu0 znsEb`qe{1mjYpZ*#2y*LFpTLWMHF*Y_Lt4>B^=oxaFf`4=yd_x!VcxZUB$PM`DyV* zd)ctuS>VlofPC$?dzY6gmGdvwN#RQ*6gE+?gHXgAz7D;R`u*oO0`G5}-WQQTNZ!Xp zJbZV(%BfH_mKMv6j=DsAa-yJ>LC=nxy11E`{7h8%GjWusJ~yK`D5!WCmGMxRgw_mW zK8C`6M40U()dujhqWhih6RF%lxCtoDyqC?Cc!Z*Vw3^LcYB_)tC`|X-WouP`Bm_s2 zS;LrGwp36<%V=?N_~t9-Cpak!_x3{KijMtphQ1sG!Q~r{>Qq;vwe8;bSFf;|vo_|M z-ym}yRc%+I@GNt6$WiE+zebp?9R96xr*LC`l4J?ki*FE-4*{G#UKin=g6s7YcPGQ^ z&UxE^r#?ogUJVFFpuc|J)L0t@VjEVFXDu!}H)@6{0R29*XItCCxEc&m4HDIumnSt` zyQK1Z-6AXD|I#v*fd7tEW|G3q8gDiPJIxh?w0i9x&67jiRv0O)X6k>)ZpmW8FNZID zcklCdRkomfCC10lxr*ypFxMj=r~c*t*Odr=EUG{=_2HZfew%lV8Y?})12(T`rwJhe z62?7bO_E9{$_<*o+jMLQlY-dm#*?fWv+IuzLat)(uwFAK=;AlEtU**bkQZ!!9W+kq z?m!2J^k0|tAPZzO?p+|iGsZ6q!Qo$=5K+DNP_PM*4GzqGz&o_J&Dv z9tg#WDsb~|y`uJP_8n?0fn)1`-T9{9P4w5aep~B3?`vMh%gfK~cRa=KK^>V}1~CJZ zS~Y9*KSB3r`-CnA;-6}NB2IThhrTF(K!0UCbq>^?zgzfpXn4iPgpIA`y)5!E=b z&TRVDi?i8+-W&NAx@LdqXya5{qINaP%b=u8gSY70r0ree$S_sw!Zieeubh@)D;&dc zi@(z52{Fi5cs|(BDbGL-%|wrpNP1K4I1+ z|Ew4;=W1Ck@UdX~-GIF<$^o2l;Q};#1S+|%-Ss-ieh=6g>BYvc>S4*xQ%=AJDBbJs z`e1PmAN9#K)i>1k>N1Y_og(@ZTUvuNS<#rr*M7&Q$1n!Egi3kq_C>~PS6x42^AcO( zq214$rWRmjrWXBI8FusEET8et!zrw(uYdUgVgv@r*4bOCcXC${^Tx_Lp z*h@ZUyqU6R`Ten$ZW~hd3@oxB91;rdU9&*oKSbm#@ca*$p{a z1o4*ZXnR~4hpSphE|<*8L{p2$ z@`I%n4oyx}Dvt-2s$f6y9Q#!)NAM`l@{_fRaP8V;1|H5;UMcW0?o?b8s^)cG z^LR4CZt+RQt|8sonKS2^J%3I}C%6^B6@{!)GZFjxl&5{i(8_&(wHxP%zkIdxiGfGtPVd)= zI{a}ZPmWwV)lF{(k@kp{G3xWo~41baG{3Z3<;>WN%_>3NHkZK%0VjWq_XBXHTepAEf+qGxregMX z&a{kl3|s(VSs@J$00RRv9RmXsG%2ZyrL&Fcf5gzFYNn1(miBgB|1uDEG&OYol!+KR zf7;2~+W~*1Tx0YnU4ElmKjbO0%PJ5wiUQek@s z4@XOL3+K-?|MLi-Fs1}Ba&ofM{Ot}9v^90KG&ZyY$Qn9ZnA(13G&ZyWDBBxbnmT*@ zuMiYG7S7HNT=evAZf}Kd_3iuS*SQ?w!IemJ#*qN9*0zQ)ilqF>V@(!kU{}{{sV?YD= z&)NVO=@|bT?mymt1+ujJ+u6|A*xuH`(9Xls&KzK7X=4hI7n7lLc6X)$7}}ZqWoT&Q zWdDEZZ|G`hX=7;gY4CUDh5#`^MS$UFga2vI$=K1-!P$w<$>l+0?5wq&y_=oaf56Pr&cy7mCQMu$=vD13zq*)8iu}jq zQw04-W^U>XU}a!nU}s|kn0^JAx*J>2{}q2;#lyk$Zzbbj;?E9zyd3Nu0A`;}nEF_n znSOpjdpQ}pngX01T}*wv{;l}m1kK0@FtIdt1{j%|TiQYYiT)`zHT#D@H{a3H9iYwd zIeUx%hQB`lebW6LFB5w^8;?KcfA257tc0kRv<&q>9sgG+BxLUn@S|bie3LR02Kc@9F&0n9ZSysb81Zi z6n}%>Fn&CKV1Ny&G`V#>>Z*1+E0HrRsg-= zU!s4A4L~pShu8u1!heVZKrix#I05vc|0Q+?0KM2BVg%5O{~;y-y~H142GC3Xq0j8n zf9Ny2%pdy9F8hZ*v&;RV&+PL5C63SR3V-M`yW$`E%&zo@KC>(TAr=6=${+fyMfDGT z)}r=@K5J3`FL8e6)A~c7I>UcI^jW9TANs7*_`mem{?eQLL8ebn6H8M^Q>V|X@Q=}F z{igpi`Yic#*A1O4{$=vnl-VErbTIoDviyaX|BCR*|3Ze(fad?gPxC*aSw0uR!o$Jh z^Tz*U@hSVa|7X?K|H99PZT^Ly9ozn^w9k(J73!~2?f)eEwEcW7{!4%TS*pVy^{21H z=c~!i#?;LDkCgF0(toa%|B65N%i;4fvH#cle!iILzy1q9J9YdQezx^z*;zijaqt`UeDQwOPf(gW=!9OKMIW9i zIumRh!h^!4RS`J!e*5aJ7GMq94%{n6n)lU(174v3<iL?H@0A!}1Vb43ni;w<{>I$C$pKXKrAgVl_H-mo z$Fe)aKBWEf16SmP2h&F72-qYWw#zz1EMml`vM|`oE<(nz>1NG5wO@Zs17Q6GqoU}|0xEy?!^G0SLzIJ1JRcioNK$u_)S~H;yInJ&|MRylF*MzWIw5 z5U+n_2sp^gE3isj?YmNewMZ@2B{IY$29*H?3vo#X@Z3eBHh4Hz>d^$HQUUbUHutZ6 zlb{0bB=Ho=SqLY#ih4~8a#RY~+VlPWpFod1ub`*;WIUE_jdYt!>y7g(PfQTp;pGs0 z)X*PPb)1porsO5AS%y1~t}#dYkBn#Ui-+^Q(ci6+99&U}TPe#|r2SEC^=Bj< z=1YNZSO*1os;@fyA1WQj7+|xJhP287RD55IcqDo;nYfF%tD!lb7G+9yDX+5??&^PI zLxW^{kJ;mSe~=H`E=sO#MquMXlgwijlrFhoG0`u%%i{NJwbtcsqEv*T8fOgS_{p_YY!iC2F~Hd~J~U*uc9E!X$r!+{ZFyE_J$QX*^I%rO28i)fGK^Dt}EKhc}h^ zTK|Y2E)I)DMgRj;3zcV)mqAT6VyGFea7gO2ICdHdrl&Fe^E+|>fUqym@86pNz&x=h zMAZTDgEj|0?;V|kLdflB1yzDXFVpXsg1=xb=0Ov?zLMYB?fw|K3q`+~isFBF*g?e5 zarR2|k<88xf!qFSf8T*~vez}bdennjUwchSjMrtF6?KVyBCRpS$>2DLX~=Eh?PyK; zsBp-1I%Ju6db;LlGonCmr{e8Xo9Q_y%H|%=Bs7u~yCLl7c@ufLOY(sS!bank`D3Yt z59&MBZ~v$t$ZqkY9cDg3wpo8kdeU94g-L@sx&Yfp%UvX!HYYY88dCo2 z$pn5-Fx~mn#XGk-rEh;ghcC)b>Z2W5)xL2 zU*57%L1*>4Lr}@R8dzFkyqLK@4@`5JlOIXZs z?wGZY{aQcyrUiuqJm(@siq>GK*KBf=@nI6d>tgrfPFMEEpIG&VWLHd^*9()(ri2if zTZd8j%k*4KcuERvhZ5B-vvTKKIny&mPJpWBcKjw|Ewy{Vehx;SoaOGTNS*}f8U~Ou zAc(47nnr;Rv0XUxkwt$u)=)aXi$*p|VK#~!+6I6HZ4qjPQgoz+o>}qQ-|xMmBz7)^ z#Lj=kg)-sK*mHfGoohU9JL4F1@1cAL+J332`!)lL4%R(xLcuYxnLk0ZU|c2Bx;Ut$ zaxhOIgsf7FZDKF?&S!7%HElS8Mo#m&Y`Kv2ZM{lcV4|SaVAp?6$3ZdrC!-RmFcE0x zm0(H8s5U|xlmd9xK>K@!f+uvMq7# z+r$#w)=$@^#A4`JR99<;@KUAP&B6GEn1k5s1LYvr*6Nz0-1pJho4me+hh>o!y~e;4 z{bw#2gZim^Qb~XDQqz4fJ{HG&M&D_dfK|k(%g}LFYkmHiR-F^&1opYc?X}7jC~I-T z*Q`CGyDV>^ygCp(qa!#&c&vj45VW>Bvk#<&N@Bz)kSVn{3aMP&Gmbpvb@|Yopbdg8 zI58?f-6OXTblQi~HM!qpgy)W+tc_vT^izeL9TGE#=tqC7LUcrZwh1-&2kv}Wh`&ifrH@8$j$OeXN=QY<>i*9WVrhrY2;gkH_PrU zGz{E}6m?E|@~c>Ee|Y>Q9N4Y{u`P_LFXbg!Zj}~St4=nKGwHq{c z??RuVnrb`mmi2R7B8MM7OIoj8)j^M<9_hy28;Vjp#V)YXy-jT~m}_neEoR)qQ)U;b z6g%ByG`C^OU_EOMej=vOC#bSq499?#tPp>HW2zfg$Zz|n!`^KjI z6f@D$Ag_{rDPqedBts>8GpWhg1HAa#Kf}b?pGlVWzX))*NSK#|r8WALq>6I5Io+dFI`-Q;*i^y~J&1e~?jbi24y*q(L^h(dmf%E$?~bQJsIO zoL!fCxQPjqHRJYGj}u#LeRivIbx}ddi*3NMg2|-{rAMW?h3^B0hm~Q&RD%ZwreL~j z^C^gFtFCB*+sYqc3+1`u<<~b}Np(YfS8ezMcfp%JWm+6$5_?`ljN)>ZK-^yY!C0x3 zXqZ+MDK6Bg`Rpx1wAEjdFn1-G5e%&Et zAbzoyPQDt!O_SUP7DQLA6Oj{)7MnAJ6Z+Cn@XZWGor;SKgs6+puj_Q~!243 zXA!QVpPF_Hv{Y`cam4;o2D@&22Ry9`x@}qa#v09hk@K1^`z-oXW?*yf$|*WjjR7+5SeVKLST#3`q+a2T1(R&2wC zJ|$;$MdQuRrf5LPy`wx}%AXiH$s5K zwJ6y@5Zz-IXV$f;%&Uaw|BC$;-{958|8m?e_yQ=!p zwVqY@OSu&qGW@|q9sMr#xSg*&yPngto22De5Vm(IBo`8M=|;l4zY463X{8fj`6s^uxAj12KjmD; zOI%;~$I(phnWNiD?$MeliZ?(W~P^U!u8L9uMXh5H&}KekE5vKm~ko8q@$IM8XWirBXP zb=V`(%|27}5+vB)#(n$HCe5poJ2|i|v@{@|*U;Tt1x6vXO<7qb0RewDNJq<=P@yt< zyL?^EhKU-UaD6!6`&tJbjO{s3kzYoaC(;KZV{}>bn?Zk@ZtN!Jmj4%s7$%pU%9^qU zhE^>3`dvk|lU^Zw)e)^OLM%A}9N`(-I#!O078`9{;VSk8QasJpPrk<*+bDFAmkpLZph7f;I#n0_IqfXGS z^D{PXR78K)SiXq^-0?51wGa^Do?z2sW6?#aO56L5*35wwYJ+P1n$J$cOhhfrwqznO zgFzT^c;U2;@x`)vXsb|cpx)ox;KMc+H&s(p8J^EVL>v`$R%vS$GU}+Qfrk3!Fi6u< zu}|Ie^luStaf7{)1KoU}JdpzZSPQmuR zU|fG@%>*45RqT9xSgQu-BgbSGhjt#G1i@|{xwz6+m8rMVmDDKcfmcw^x#JOD;MrjF z;|+(KTj9(8aD|#fFEWtor3VSN6-|5=cYaQW^brGdaVi3@CP8Y|#;BT)VWSUm%0|W-1-O*-BzR8o#hY?G%3&fIzKZ7QXAsxMn^4kYA=8_?|n@p0=9B z><1eKbfB$)rZu3c)gHcTw<)K9;$0v(`YMiXT{H@XJeYcO z9c+_Dhv;a*PQR4ALZPm|&L5@Mgcm`iJNbwuY1XA=nhkfP%x*=G;q6$;UsKc=0ylrc z3Irt3;3L|xw&B3(k6{gCI8#w0ye zF@gjDD($C^^RCTc?r|L71Y@?0WnO=Z@Ch~;l;i;(YU8c?+8WdB_h5g&zevc39p+SU z8iyehUv2BvIXnLLVqa5gg%~pAKUhA2WUnUQ(gQ^3o?Cur#MF5XL3*5TKX_l1dSvY^&LVyS0 zgL5t})Kgor z4uYkkW=REUq|cu-@M2T~ib*xE(S3@A8nlQrONQ?uI1#3mysj~w+aUo}DN z)uJ=#PkuKe1?bFu_vmkbH<#e^V!xh2BFsw4loOwdeKCNz!GFJNyjN_lA{g+0uU=^6 zaI*k>@2-MYN>8Wc>$QK{P)1^3lfT2S9W241`PDpV;`RzNQidPlWvH}q%S@o?f$tZ! zWrDGk6PLQUr5@=L|E~ZRe?e`U)b?S(*ZMz;aPv|F2&*k4ssmp$Y?*Z zB-?%h+auGuxOqHKq%Q{So?WxURn2?ZkWX$WUV?EP{(XQTs`Qn1mTno{WrqXq?10xT zW32ax(*#9Lm692(Vz1vBbgtt(lHy;<#3TiK*wprHeNViIS8XDr&y(p8Bd=%)#36(Y zWB_o)CX8ZE=hS~zMi6mfoNcC_z4jfhLO5nq6iPsnjFMWV`JN4$d9$S_8=+cl@(C!< zn`i-5Qgscp8o?u{9PG_`jSAE_jFg%x+S#--m)9M69o>{bJ-q6~Uxhuoq+TnRTVE!h zu}XB=9HjFxu*QPm7O7A7E4t!vpsWkc+k1dQU!{fPL>7Np2rt#N0x39RlDfn5mN_zl z*qnOUfLvzw{C_zUwk(Wb*YlEp(7}R_0MpNsS#ol$kaxz{$ueRID!QZAL@V=sv83GH zcLsdh8dK6>Lqnrd_bnvf3@Y7r()7el)CZnz@al_Stw~WZXnphRxwW!IoA?!1qdYSE zhS4w`n<;<$B5A94zwxR{!O_jfbA;Og+2de8*s0594vD_`Ql?hsK>OP<=;tir?(`y| zkg344=n8qHC+4%IQAnP`t@nimi5@eKqC2;81TzT2chAmd;_Tj~lb9Pj5ur-`vfm-H zdUJYovSNO$0S3FwJhx&3j5znqG=@feXCTk{FJ*tyckkFlQc(^xo3M*UxR+ML&t!ow z5v^%^gjXgWwVjAy9cac(2k_)&!{4k(q>YttXft`Y8+9V#&##bY0Sh)W6PMP@ktMRW z0jPk~(yxh7)l6gyeST_1MeG_$CznoK8Nruqq_PHAR2ZSmv^4Zp5J+5_$k()>b1zoe zY+-*sFmAq=nsxkGUDk2yse#|hd3zW0fV-`qcA=*qM&Wp#?-9Y&?Y<6Mz_=w?KjF4%OmkLB^*Y(Dz%E(W+vpbD*kHarkROe{VqsN!qLh zJjXA+K~~I1WQ0qa@$|Ldy6?~D4IYtq$O?avLMmq7Qa}+-90e^XXBlg&h-556mn;aI zNn^Q*2i>Oh4XQUZwNxw5)0q2%1`HkH$>fu5)s7deCpY1@0wp2x0C3D#ruhjB6)GsK zp$~Spp#2Qtce1i=_rB;(2JfyQxPT>QM-jL_>pILu2 z7W|=du_$~dE2azXRq%K1^Pjw_h{R;yF*ifNE~Zy^xXOrVn_KS2n&G;pa}?}MEuAn~ zlq$b}yJ{_bAMA@x2A1czig(RR7`J515z>b&p?F&R?xy}6q0KD0&+{I*|FCjl5Oew> z;RB!A^JE&PLju90c{(J;RK6m42`7ImeaJwBam*F5j!*o-m1d_2?f9tACkEcRfvi{O z@8Y}MjH-+bmK$Qrzff(K`O6ApKks^M(}<3(JiiI4?j)h8vbkMbT_oWue4u}x&JxJ} zcuqH#Ugm9j!P1W+QVRKfQYnHC%T572J!q%}!6ss8du}#}9ka}x6$k%#{AGXrCNc3R zrP}wbgMjQcz`-w9(67(BdUDLf@rT&4Oh1MQUA2$fxp46tpbRk3$WqT@^RKIye}h>2 zpBmGT4iPcF+WTzEe^ck+Wtk<$$PrjLkV^mM#3Y2j)|+&spS^{3AnR4GgDUum!@Z0?d`a6>oykecjfbVxv%r5aOr}{efzzjv z`sdcajDN!qITir+YPb#Z;#5M#>6k(>)#uYTwnFKYBDDP%8H@MZ1e^Z?s@FY zQIDL15AsVEQMbo~#BzUeLwowsbS1y-I{ENZ@Es1GzNZDT=b9j?p%JzP6(GTdJlTP* z6a#GyWR~SBFa;U`w(0^%)kszbDoI2u6VQtrk2JH0te3J)!O z;h3i1DoDE98(bPA28X&K{aOx`nmJH|bm4eykx6fO-(q>Dv(A4kGepQuMA<20o;o5m z*OKvQ&ZAdIdVD5+H;i|Q^Dqfoc0v+gWz$Qrw(uQ5CXZt&w zX}*@1+WdnXv3N^80*^Z_VlDj@8f#|yxAl~B8HGE&2>fnXEV|S~WCsMEd|Yj^y@Vf+ zFLbn>W9S%23t>gBb`7m{A}!z(Q71g3U7W~?o?~ZZ(lUQYH+{cAIeYf%ffL^BwTG;g zIf~3CR?#UfuE|PX&_&J;`H8l>UK7j^=Icr}wuY$Uc$gRy5Z>3?c4)~-U#Om}h3fcn z4&V2+H5E9j{5-MizCa{do{DBBD%?QY!^Q!4=tZ*fs6QUVeuRC0^SCQw3)oTOi z`_HCO;O;mIB6)~VOEWPjJ;7wxQUr7W^p$_Yep|%znfpO~t9@@K^%`1Sso^K` zJf7~dynRSE94~`u-QB!lV}_6rsaf!wb0iHUt3p#JpsI+#ANr(TB(Cs6i^k_izQ+{A zz>WRA^V!_b%+pi*aKDG81Wop<@b56w5@k|cL25o|tayy5$v9S|;^I2E%N?@6Ct&oy zM$>LJk_l1_j8Vbuu|eC)fWm~8S3R788vwmN-nTL5_H^z#xEUlf_6WLg%GPCuhLA z^HO4<3$z2|XU1dYJAVLyO2Ve$&rj#s!K%sc!OrIlwW+*wY|q~fQp@Q0hP6!)c37EqoH8!dP1g6BNS zohSnhM;?j4FA2Gi2lKlhX2o1ZAT;iofoguldJpbYDcT6RCkVK-7UHknraONX`7oqO zou;Q#8>-hS`3ur#zZx@l_ZkkMwf~H-;{+e^0>}Oh^?Oi|@jN!kA?SIefB0>klwkWR zL-68iI(ULPIQ@Rp*|oe7@u|p!rCw(YG>WKOUb_YF8cSJW#hytC3;}%5+XS9S?QPP& z!#QB#sFIEAM7Q(A#+pzgTQGl2c~lHeP!lzK-6lBD5-PRKWh(B4!M(fTfkf`s{1DtqL!;WGoGy4mEml#%GzdAP&wu{9 z6qZ$qc!sVb^Hp8_*`4pLu$GqkTaN^OL0K1-#+5Z6ddO&8kan^^aJiA42T=#qTC3_V znb9A(orQS6UOp`bpEZA(y(@zG@Yqk#-A-j!%TM}-B7?}`Cunw!+L^<(CInr#`-ZJv zu91)M;%>C%Bet>>5x>8ai_?dvGO@AH&!Cf@fLh=DkEwd;YOo_PN*T=^P8Z)g^!Rt4U^FDJgzxE+-bb zTUEI)vxJ!Q*ahAGD`wO+(n1H-B3=f?$*ep64$rZzi(i$3KJMW=I#+EMWxiscC1@^T z??%Qd&k|uRp{lQ#gCr)w?u%;&)I?@<6Avn|Ns~rP1-+XA2vel+X6Rs!)sX;eVM%n` zY?kjnIT!*Pi2Z*$>5T_fR=Ls)taaAbCL5d?v zrC&Iel0IWUb3mf=5|5tO6|Xj8N;EIQoD0w*soMEd%YtQ^ZAvh~_4lt6_uCv#wV9Tohr+CI zCEjDf=UTcVJkmC{(HD_FadrT3MB;g(z4-a~Iu!tQW?;*Yoc{!8`+ybW2{eZx%EvnL z{I=Uc4Eui@d^A3Ufx->V_o}gK0(=)=ukXg7nu|S#x;H4{4IyXlhva-R7Q2`P_E%DH@xf zml7jrJzjaIJ|2u{d)NCY>>|o&bzXfV`f}2wwN8KI9!VH!Wg1nM+xNo-&s5;FLtolr z5zCz{a@r*E(6U7=co&QLfMY)P zcDH}NmYW8$wa=8i?}GLcJsrb-@FdQpw}cN93Iq-Kf!^Rb?=-aJAm%8b0;TVPChEbx zkICNM#8oCp3zth*&st;h^@-8sIv$j@2H>o+2Y?+rIjYFSo-E&+@1XM5C@eRx8qd6I z^UxG|^*&rFc!x65z*Y}1uzH~{Tw;R{_)UM8mtuMuwl;plM8(iMY2g%NDo}=V;tm+_ zN;VKlMCpv0-1Gq=mV4mo%HV#6AbByoi=n6+2gbZJ0D-ba(joWq~V$8QUl#g=2Ml%9la{2Do9ig)QPWXSLhAZWR ziH+l`IkBz1MVQcLb!U@w3zM-K?E`uUD+)?I&A%y1Bk%FbAa2^*W*s!L25A^Ly_Zd} z7LqYgMO0Mj8~ykyR$1s*Ll@;x`iwySswCRNi#oJ!Np8FkA@9xsrL*Vg3AKY=K}zFj zE3YNB+bBop?)dy<zuyhsHiIA zyf04Y4yu{F7ol{~SW*^8J*5ud)Ne9FV$NSUAiQpC>sy7QoG5TY6XlWO4feiYsOX)V za6;3{u4j=y=d4@`vQi^DH>j-p@_cQ$5r@WQ`{Cm`RirgT-MxKm@Ns`ucCi(%oLRu> z%EpHdJa#KN{nl{*?$sZ%wMD|>aDbR8uzP?Wc+T|TJcJ+e>yEJIRuSx~6xZ5iFLLz0 zcV-BN{=6_LmQgC5d%kOu_~8hM0UGvoA&|QUq+JTDVWX$e?|ab@a8MeBAf!C7=YD}b zxj%EvdJ~LsEqfIyyl;P`3DTQ)&YYJ#0ow~M>lkQU48FzaxiRtCh5kjk($}H@o{VQN zTacOZh~+Ll;dHADD!%w((`H5}Y&=n}M!WgvDR7ztjerW4K1Z@PyaG{4gq3?L^0oJf2-W^qAYdd}{)w+2-Oo)dI&U_~KFK8u?1A`ygn`^d_N`x(S} zE5eENk(`09(-zI&EHzu;@aJ_Wlh(PNI7?;n9)QWQ6X;iwJHXhf+OExLr8vtH5!)59bI!H_kg%)y)D|^V)lFY$gnt zx3ZclUR@Yu3U-z-x8eK4+SwfwDf9YfH1qy0!)@MenD+8hp)!Z3)|Ul*+X+=TDB1@w z=D1bIZ%o7GY@0G?Fw{y5mpnKM-kr9Vhj)x4x7DM_S~Y*?ePF_rF6zubx?KtA=#eh0 z5z)}y6uG^^RP`g2))G8Y(^xT4dnRyl5g$$TVg0TAJSx%Gbc5@D`63+O6=}G{3BETH z>|#~%=&ggf@Z?&Rr!j8SJRA&rRJ4ID9Nt~SHQ5@#D znU@cVE_Z*yrR!&tSECB{PI#25)tP=!&LN>#p$gU>ny$WzTH7lMD8(IDdYN|FPempPkTkmN18fJ|o) zc{UecJBkJ^imLfFQUO|bjgS`l$1xBjwpgHV8w4m*NG)+1SnN-?Y-s_;#= z^S*{r->t+#8I>^sl*~{=E|eDyqinZVF~W4({^;8ypvXS+!PRj9bAnKe_@Ki+WC$7_ zWSD;;WFNzj!(~}CNsz^TMEyoNC}$Y``!^;wHQt{;_`Xl6pQp4|?5HTI#jEU5qC2*C zGsMEteo*V4XbX!I(1lP{R0*E+$j#B|kh2K-SjJEh@#{4&^>P0(z73*V0S_TQ}W*KUfd z)ZWi%&X`9zpcWumnfL1ESQ$RwWcxXt@ms3Y;|E7SqUBHbXzF}?Y9Jz~syRIwm)T}YU1Os3tw z$YXM(?i7+p+DAXgq+z9HS>4BnX4r7Gf}R@;iU^E1X7zFME90wc=ksY9f4MCR+dbw) zY$p)VgHU#Sd+5K>y13%2rkgsSNTPoRP$Hw*D9-Ruh#G#>_uhYJ>E7!Wiy1(alSwNO zMrB$_REQ}VgkY*TqoXgL%crs^YR!}%6%MNjBaDPdigY}Ng7=o5jCX`-%(6oBNBA14 z;z&qBuB2qXj2{PKz!<#$b{-yLh(yD(zVYZKdwP!wCR-fYi{@q#z#Tvcir zcBDa#GI*-=`vNN$!)H@j?X`b!c|Z$%sY{i#@EX^3jk^QVbL4je;CpPHQ;aT5)MneZ zZQHhOoVIPd-!@PCv~AnAZQHgr-=9h5znMxZsr$O9{bcW23uMPd8&n?AL793`Ta{WZ zYGwhyaPl7#^_t&TSr-T!VZR^i8>SLCS+=+SU}v1j$B+vVHF7YUToaSp-Ui~*77EtW zp66^szgcn|HPP$?rdD7v!b|-oEy0WnA<2^)g}%r4a}Eu?IDki(lzLp~XZSJB7pZMq z2Sic#4JP)Ad5!}n6`VSA4V_RBa}$dehBHn35(n{*wOCh{Gy=^6W?z1G6m9dm_6d&0 zc^nmfxsi|t*g3Mu6$<&?;K>|deX&&7XyqZ_y_48;p1VL$wD1CGe=>gfgQ^v4eoScb zLuU4jY??oX7qGL&-j5#lO~p%Wlum<)^q_ylyu0ndFBc1%onwY}6h|g;SGx~9x~YCV zJ1O50Cjxozr5p2%$%98P3~(X+7CDwoHCWrbHFo{e;lGmUzZI?&#wBOEZHQ7`D+^KQ zwfE42oW&hyH zFWccfpTjE;D4&(h_XCXu_{1F7`kdw6Ps{^ht>^|8kZ6yo)hog__B+0QV|aftScgB} zXIZCqR_e&Ro!suopuK(48=|#DH83fktle1a23i)EQU!!gt0|Sy0{!tfh~M<^L%E#F zr1wii07N)4y&D0K=Gw*h;_0I=APndjFleRaa-mM}WpT7Kn63zsd`;LQ_$|h-PD-TO zw-##9j)!F9@T!KaJu{^)6MjL=geponOi(#fRAJ!^X^twfGi%RbQATnC8SG!7hoQshhf?q6f&Rl%n;4Zx zQC5uFI*xsLo|$zYR(n8SLEjjaA>6$<`d{bJjgeWONDD47$}M?_6qQz;36r-qstJyw z@02%vABPFo^n0q|juVFSOs`B}xdYxM;gHvx$3|(?+0r-y; z;0oOHz~5U-v!zagyMb7OGN|)AY-3+MG`m~CxAhd`2NEYqqMgCM;(4@U=V+gL-mMM@ z-n|9{!ni>KY}l@OY5%=|#rd+3n!(0ncpfCI|JEoW^!>l|Pm@i7@+7W*npA1umMa|UHBNOjf0Yk*NVX0Gv zIWro(8sdpADx`4n;>EoiB4!u5BqdISKSK@kJNf)D7se0wPYEx61)}U4&A(jh!ryYl zcKFa|t6iNKg-Q*DZanLKifX13-IfVX*D&%G7j>cbI(fp_pOxSia?(UFlYFttq|GD$ zY>Vr6^svWqi?z7GSgvlJ0SEGT1Nj+*$#4Ss(~n1YPe}GK4x8Pj+Jm$0aunB*hu3^g zlX-t%P8Q0U6`FSp%IYseR*#WAJ>zFhF~DB3$;uFSCB6VMt3imu3ga{6=G>D9a+IwC zJ~3u(kuF=IkJQ_^6NJ+K7J1t1cn_Y2Tq;W6B1=60?B{F38q}+M~!^Hz#u6lrLl`MS+202I6vV zEP0V*X;@QbKP$^#z#DrfKidFhYnG93@1Aq6qK*f54<%Yml)<+GFk(Z;-|e7O{lu`0 zy10(VqG)*ss#DT2aTt{%UAd$u@ccgqR&{r7&&FQUs~0Gk!F;fjDvm0lXkxpe!)!0X zuVP_&ee_2@H_@PkBZdinJdBKYn!OR!g6cz!d3zBrNBazW0EL>B`4}yX4ItFHX1|ph zLtz&Byl@m1r)5G;`-hU+;8qO+quQ{%M_>wgAFb(&bp(uppak20O1)`?LJuSRG^b4* z4%K_5ERt~DALLaZWEr#`S;M}v-v^nS;br*COVrWBqQO5~wVThFCf0$He zNI(z@qvWm4_ME{T?^FCBEmF82&6+WCrzN2Ba{xHQ^4QN>kXG4m7z z^38n^onm;Lfo5V(eV^vNRmTR7!>gHI`RfSmEz@l}3Os@MxSRbEGeL|J*%rMvzA?GJ zg2d>{vO3a%%pE7`lD=_?5s7(oJDd*h5)JZ<%W-(afOZ$?#d*1F0&eaLnxpX7eEnOf ziu-?(&DED7(NO!^D%7Q;fMU^!7;$!VKu>& z8=%BT+U`1t_(;&3o^M*3@pB*3L`c}ZzvDf!bFFU5L`JInfC{4>-?>(Z?g$DE^#yE= zXUci6uA*y?;bn*!gIIh?QJnAy*)Q(~wCXUl0l?u@i_yS$X*6pKJA~XK-eTE7QLN1t zl|qb}R3oQO^aB_-#}&Lf_G~pM0nqJ>j-og0czj{S-ll(QdP7sqN~Kc?d^16Ax?ac~ zl5LM;2FR@|a-<@8_z)fb3clvZbXo;5lM=a9OVo`L<=_W}80z6U8tXoP%#i z0I))mYizXNlp0p>xD#8fM_@1u=48D2k$^zL#o;G)nWxVy{EA;M8=Y;2vO}pb_q8bt z6rw|c8NsDwzUR3og<|IPzcrk;X*${u(ndqa{=SA(CZj+E=pVM>DG~&|CsYERx?xMr zx#|fgZ4kFW=Q=!)qGNRt_SJx<&;{jJ0lYJBXZ$NS=j93bJmu{CGAkV5*kZMmnKRP= zqd_4`#jC?)NzA#EYB5g|kdwskjLk>E^4lQV7hW?4ErkQW*>p3{kn?Oa7jdT&W+M1Qs&8lfp&K6!%4fXPT6{zc+MdPaaZYBng5y=YmC#-O6PD+dr_0@(cI zimh!w3|pSZf}?^e1R?AfZV?ts|4SfxSPPiG`fp~fpg&)vp#|*ebZ77{Ti_bSOvlW0@n`_1Jd>gZ|*e(T0 zEG}gA9_3BTo7_OyPR_!1vY&!d$<%GuLFP`6#|vjd6KRB>1zw+@8lglN36E5{SSXzO zhm~~~XgD3}&{>B7oOwi&{fc#h<3yoH8|mX3T@Yg$FT*#WGWK z)52Hk-f32(+c}&ph7A!FNYjP?Wo7n!#Z-M~&_cv^)?6gLwh-M?U6=9Ch*Af}s(Yss zx)}9Jth`;|=owP#<;3@pM9F3^Re+k7ydtoOnAWiSFM)@my4thinH3{Y~A5yELkY}s|Z$S6PzNf}ynmk*e zS5K@6LSI=j)7f9BQ?h?+`XA5As9rx4XakF;8`x&%U9`JMQ}xGf?cI*jQ4jedGL9>- zn4sXX)muDlmaBn$n_lllw#YP79ja5XK@|wDVIosYR4}_8Ra1j`q3NVq86= z*G36h()|!=yVn)j4Avc>+Tg*<&9&)!IcLgKv%UDzHDb#Sd3Jxx95>rIK?-LRzsJs$ zIamH*_ix|WqfuTl0nYdmLne+<0>334Ew^Wr=`U@o)x~+PLEQOzV8pGu?Pc0}Yi2DA znOXj^@F9vF)5W^cPO+dj?V5+yaDWu02G1XOf1T~iqO)0CBEBF9St@uJkxniR1mN66 z;DHX4fRZ$+k}ErTBMp}i&2u9SoH}2u=IDbIXRotRD=qry0DQiCSViGeTn{j5l2b$4 z2aaCaLe$-k5A80f7iv@)qavToM+NI+W`C^z0;k{yV1k+WlcYvtVvW?Rq%bDHvc6M) z3|?c!py_;r&it(2{RQ8o(Dj^+`x>^Ha3t3!{O*R(Wjoo7^6!8(s8S2h+;}*>OB2M56OlB(!Wh-&z4CxzD~W89LhzH z=u3TbE&2H@{}bT5DH5zlAkptT9TVdNTJ=n)(y<&5n&hDz{~i@effr*9x3q!m`uv!J z7?zqckx5XCq2;t18qe9$;I(#eYEanwOdBS5N`avs30TVD-pwkP^vrV_6c0_XsW@J( zEi=lOOwV;iX$Yme>V1=6^?_6j>a7jpQL8>N4b@d<=e5H%D0BA6N$JqB)D;2n3(ct@ zO5kS3sx0QKlJVfmMT!$jXQ6SyT`Al9#CL{56}O5$wo)heWK@d5vyFkkJKEBaS%Q~N z>~i7w0d@?6R z2AK$|5jw2}(H}R}{}5k%bXF7HZ(rIQw9b>6IbKc#xR**0sGO>@9fAMB zrkW*`GJuhl>WT!Tz$Vd`A)`j&Ooyd4`eWaA19;lN3}Ftf+q&~p4Z=*+=?&!hGnv$j zdZ>wjNGDFUA*BTS^Aia>Z5sfX114JsV&w~d08=%!dZVA)Epc0(9%TznqAlE}?Zts= z>xL{L9%c<$A#?h{UDr{vYZ~eSDQB+8cknX`-#AFZe}@~E$GJ1J?ga&scj$@=L_{{ z3F3OCp3u2o$u_(yPHjS`4Z*yNw@wFPazKg1Z?wcvsX@?eBYy95ny$8{RFL2k@rt8$ zRXp(UnMiPx3I!^EE&j*%4oq#`7ELw?guK== zwpFH0j@>g@ZTI^E<%;{4&hPEyP4_1tV&S1y9*BP_MKvK!+$PSqK3MW4f=1ET9B_2! znK{(=!65J@J51=6H6!nz@{UyCPQqi1IXw@;PMkkamMan@8Y}R4E;2NH}>)EP~ds`OE!chgZGv<(nEzJ{CU3v?gwTp4`gqn0f;3aK*wJ! zgfJStC(0BW>02dmTmTUs!mb!=T5)d@&s&W z0-qm?GR1zn;;m`zo0T+3O6(mm%et+X95r;0IWyP-426#4Z$#Tq&scRg&oxM0ept!l zq&-WQ^w@Ce<@gLW{T3?f0dnHt*b#;dw(rB_xKGtiyBQe=)p;QkFeC$pQ??Z&_#4ka zal9N))N>apbh(ZipWV~g5-0XYT&9xh-iifCjFn#2h$RHhF(~Em1UJme&R$N1QT(QEE3`;$$yzOIGZ!Atz*On()ce`MerWZerOHMMCb)fr z6&;nVS!v#jO50dgJ^IjwNGQ_p+o@*vfTus_4K~Vx{b)y;fYqNBc5+hmsd3J}wtgNW z(XjYQ&UL1}0V-K&iE64&$(o&xW;=XMY2RfasMfu8{MQZYmwSz77Z)$k9g9;p^K9$J zGw*5>mQP8zjCAN*=mpSftNE>(c_<|P*)YUdC9AA~Gc^b~@yo1J)9U-smq$;{SS^2r z6hTLmqG8ri0Crw+!q#k6eT|Bo5AWn3G5;Y;^>B#B2(QDv3tQW;#&6<-J0XjPg5SE| z5njLCL}2UC;SqM=-lH`7>~dnIlhZ{4v2+MgRBh2aD?C#B^hB5U`GGw#4b!IoY{FIN zs;a-y(`6zW3qAZF2BTo}{&X|wVd*(Flf1yb0aClj0OYU^s;>yw@!{y5r^n_>9> zE*rZEPNQ}(v{3{9B=z>st)@}o%;Bkv1%8?I3embItR4(Rz_PKo_Onc&7~iEsoKwVa z*HsA-$rInQRBa8T@~*~(%uy)kN&pOElfCRN+5GiolID$_zf&?|$3tB+x3aVxlUfQe zM*D0Eelr+3_1aKwvs~)`hoX~IPmkK#5CvSw4$98Ko|+#8jE2n0$??BP9d>Rej{hO* zpn-94u`?$TJ5m8+T*1}Uc0XEN!(FNHWP~D#!)_!ph>NhzA+Yew4GpEFh5sd@6bl1e z72^sEiD;uiBa4AapQi|pbie*~?zXP{H%hd^ZP9!CxUw_b_}=!Hc%Z`ZFRBP^@Cyb8 zD)2b)1w=-xDG-vB2pAX&<>?`-sCOX}VEV`x1F8xWB{&7}X#nI#2Xf(Ov>4!Rum{Iv zxkrHj9w7~6tm16E;7o)>ga9)B0~^sl0gR(WNQTFR1Z;0S2gT?t;Py9M5aayd!cY0c zpf>h{b3 z1LkNXL~I1rv?>mU055467<~XFrb)>3Ae8qT@cauD642`d8W9=s&AYvOW)K;Fw%f0S z1$TG@EdEJ4&k(?h5(@OU=}ElnyDJok3g-tFO56)z#Bh)=phO09;R^h=&5bsv!Va8= z3HpOS3mYcx?dcQgNvzx}f%ctzVw}o8@96folNaRrTKuO{5S|PJxO2@NFfT~ygBx=% z4*8?UMLO?zY9QL@L{M;ISwxADUwMz|Y((-KHx0fIA0XUtu%MC%G=M7f)~_oLDCT^8 z75W0WM}4yx$RVMf1>OT?F@_0&5oaS~5h#_4ORiLQ&M_8Oi_-qzeF9 z*z@oJT+(i%8o=4ZsQr(uITaa>(cgQKpAJnRBW9$tUSG_OpzWSE-Yy2N_s!6@_!&W2 z>jERJH^!LA;9?*u4A^H%NIfO#uY)qsVTK_n$+vHFW+IxP5l@2;2A8s_gd6s zVBi9ME|1q;%}maL+0WF>FG6xdE;_)Ah{VSaY%mq}OAcsVz! z*Cq>W=AX#Ps7k~4_uX5{YO$aCI2=P`r@1RJ_?m?Sc~a`?N2@3^Sf&o?oLcSS8sjFm zIac`AU1GL-0aEVE@;K zhNn{f%tr1@#9t``P8WJMI`-L2+EIe_OXuuz|24WO)e?(14A?I7Wh^|a1yQ><6Y3|O`jY}xrc4rf-^($4cb)evb z_8>loahZye_>hZ9ryD>{);Kz-cS@t5kCw*@{2^<_>r^T?EbLpuBM!jBfoNA(HXFR7UFdQp4U4gCLRVhr%?bS0vTcpj^SfT|NDL) zMlm-S7Lgq=2sSS#%0%%6)=aqNt|6f19C2Jx<3>8+RB}9yK?gRro($K}c=pA59L#kQ zS^O1st$f?+)o_z0S(uC4GChVEk4HUX9ZMX6nc~+sI4e$l?&JPXZddvHl-e&Hh`#08 z^RE2c&b`cfQZN9gd214kqfRa&f2Zm>-<=$;fCBvf9f+aAzwYnd+j~dxsxicnJ)hVv z;sz-xOB@!Z{j&pT*Kk;Qd2_Wu{096U%pN0h$@e`!{0$7*rVRtF2h<#71woZ=%E8|j z{g;>ZYV?ZH`41H5XPAmZvcqO0+<(BHEYF2}5_|u6)8PTJPs!0L)CniAgVKmMA?B>9 z-3V!Il4)#D8dF$$hz|7LJYW-!`%OX(5R_Tw6-vT#gr5A(Kh#_uJs&{s9*UA>T4BPb z$jo6EI586<=wEHoSNR#$CEgaVU{ytCa-Yc;`k6aD(1r4?vBLMKg$+$165D1t>mHJa zP0=rzd|m%h{tAcm>~<|)bo%#GjS)?$&WRrH zU3SEogL~adsLCmIZ&wr8S4-|MA9TrDL*e7A^G8xD>=}#n!08J+1X2repuG_zb3Y49 zEnol)=Tf^yN^uM|h-~raNt=kA%EeA;FyrCUEqbxy7W|PSXNNRGt#~XqB*{P!Isuzg z55E{b4I)Y%m6po}8bQ<_DLOGnol577R$scBM*`kw7vfTiM-``+&r4;t6V}8EKa*H> z^-s6y#GLG#tTNf-hxTHwb!{zcDJY9DQC7gc77^}SEVJL2SeDclyXSBGrYw)mQArnZ z?#1~%mcMcPkHEv(2dMFBlb)8b^R@uyC6eXt-P9><6p!20Yc6ju|EAy2hgxWJ;6?$H zBP$8rRoWe?+i#{t0tOK}tmax*2ELNqQmznBA`G@1Km^Gc(zBZr| zzR*2wBaHl=gBmDy;y{J5 zlm?zSdg&}c+MKymw}6L*9Q*zDTc4iHXcXFZay%!ArmDzHQWT@HH}CeHroAD5Ydsx` zhW0Mc4V{%!TEZP>{Z{J<#pcL*?!N&<9>Uy^RhvFzUGqiJzvE7yvfIbjg|~`>OKTzs z#p{bS#P@4x<^Jm)4gR})i24VdinNrVNl9}(tK+6XxoU0Z#5}M4M9kVWZWe{qg*+s{ zn%kYlPU=_Vj$Pky?r;%E)dj%1Y36}DawBF_YAgw}s0kd_!U4mXjhHl*M5cZ57KX*G zvU3<1_n%YdH0!Yz*vDg8Y3m286YXTqH7mG6CQ%xYPF4N&Z%{#swQ;IGQ1;ekHYhhp zW_EJ7yzU)UrXfr#pbNK*Bom(CYety>M<4#f%S1UVcQHevDcq$^}K? zAJ}kV^D(FNobQkr=RiJP*0tYarsSWSNPZc)QWK0LiI#bFt4_Iwx+Ng-4C};K_qz+f zF`|&Y7j)6U*iYt8X-h!(=&G+(3ZJZ>Skbo@6i(D)`nuOg;qqI~%#`Ar=EZ{7PSWl0w_i)MEIC3us44# zSfoG{CFaMMXQ?ZnBNTCjOSSrD{#}xjAL9pY+iP~0;~$b-SsSnLbVMOv4DL9e1I*yZ zNkWJ_Nk|H5defpKFUQH+M*pJ7O~dHd{#?N9Pvo6+LZ`7$-;6VI3Fe4vrQR)fBIRpU zZSJ2_*E)dc5qvG^R^nyXm zM8C8Xe@4;ItB&53>vT9J4CvjduEN#s!#=RaH0Wg^?wg%iVaU2fV_9gMI*!y)dv${1 zOb&aMAG4C(nmlh1eUAb~=_~|VcP@Uqk)wIZ^&LQfWng8DBiYAy;U0lHSYk_BKoya( zcd7fma)Wfc<($!ihtJoSu8c?@i`wm-GU!=F_VF;9@PVglZt3z zO$6ZO60!SW$<+FKCpKE-7(9~tdRJSjLI~ZGfXt+Dkz~!MO`fhu-`^^%4^I9u(33?0 z!T#80HpnE5u=OhCQq}(wd75Nmuf9tz$CI4j&m}gNl58A7z~!#`0M-;vuxjHX`_Q9O zKYPN&`Sfd649wCPO;7NbaOH;x8v_YG+ZIFWp0nxr>D4Be{BN4$NHAmeQ*#zq#2iQVSQl6yD zA+a-NRsewp5-&O4X4rMiyy&Ke!>LQ;ddBovtO7PKl0KP@MaLNuUBne9lV*V^0aAdv zh0=h-Zb#EN(i+Zg0?!64?{hVwEC6kK?GdG%UTH>l%nt@zGBr~z(b(zrE64f(J=A5E zSHHIGzb~_gx%AtX6k4qtubKyu+_D?<*(gNVGE*IZ^=sug` z^4mrPKm3A8aIwUI?DIBRKTwt_#W=1-msL&!xesc}a;DFp>fh&Ef>TKHPr#xd$6XAA z0m%GTyw7P>wJIN>O%+{p%`OBXn_V_?;J)hl!?70QhH}qFWSykh+-9u6CEuNFC8+g? zk=HQ8-)ReHytEc`l#3{Ak6p}reK$lhw8_xHYlURBeok9mwd`gLPr=lX?8~LPnd#t< zw|>4aF`dN8*%lBvnG;TiYCw%~r$UTLqSaO@1G9bF9sr^YWcL#pF;QP3^*K})wC1hL zV$fAp7_CuW%u{+%x%$~LcxHa~V-z?)@Co(ZASA-Hw(ARRjyHlnC|0n&2g9w=TeD=X z>Ur^?EAkaBp`6M2DVqmoIhl-D zzH}&SEGLlvdi@U@qih5lW!G%S?owT5>9sTK!;O8Dfyb@0Z%8P5^&X>PYUGM6wBUQ| zvL38;ORYJDr_=9k8sOgDfJa=~1+KSo?tA)AUK?qiKcAEEeM1T0(I|(8r!ah2&O((P!`olw+#SKI$N7avipG1e z?-@X-cJ?~m=4<07-)WZio9z3Xy6e)|2S2A??Plp zoL0(V!Cr_0vdryZ9x!g!oMYL^vR09j8Dnkc`&IQLcE^^iAW_f~NHM?G<}@9l7_F*h z9jLEQM*RV!Pe{B<4iaP>VpJdmdbdpE(WT$mh~MG? zeHP3{x-b?r`yShU|Kd9IWwWd*h^9|MdXQ+ z={*q~ClPSc0iACWP}uM}t=le#P}58KX3J^>Dh~4`9Xvyu-c0~jt9XkWaN(4Qwq}29%+06&z(yP zscaoczltT!u=LPKss@TwnGf;VZvr0k9i@aH@od;IPuxGBOG*zi4Z&?HC2`NqHb|_# z1sKNB2({*&EJ%v>zaYo>2qs?n4Zd~6W>QoyMixHVA#iv}F4{foWt#_aL>_#AZLv8? zCbH`Ia$3I@>`5^EknT@8eG8hBsrA!0Q3LJpXr~qdQ=$xB-rmjSD3`aYXGc}-^|00o~vfduGe5?UkSohTZAfb?!Yu<2H$!5OYtWbi;OllK`1{1}k)*oIc=7VLy-RBjL2 zX3CUFmtV@>aa4QJ(?G&fL9f)=UooR}7nh@A>JGm`iCTHiB9+jCe+ss(J5)&-p#ciJ z>AY)8n~OVwGZpBM0#$+Sjwxab1P1NDAI)aBgWAr?Hu#sPfWUTsKDWwGrpMfx zD#h5Tiqgtnwf&_X{;MoL=pOtN<_YUQ1cL->M=d#w8jH@t?)m=;^Z1<^Ou||q{KlrmBWbih z#yj2FaFytH!)Na)fIF0}H_I@${iw(E5U%d#ylyk;sAba~V~&FS+E+VcYq^WtnZLVA zVTH5-qte@h4lrYM6en%%Ar3jzK2uiNS{mk$44Pw@)CQ?2G<$bF!7BB3_|K-~e!HG} z`e{bwW)qw=hhroj*e10~hXq1|4dJlWsO@%=z8$5^Xg0Fm03SQ27N8y7&*g*oV)RU8 z+tQauc1qq=HFDq=h~=GqlTB1eb4qx>#^h z{_wlFo?1aFIzA1P3l=uibC!RtG0nUef9MLbfn-~91^)!N#L2qK;wYPVGPS~bad}cu+w+F0ZbGuN36K8soJR-!3AGVrMk}N z1`cp}$jgkYl9>kXCpU>3AVR<=(bLPrLz7iY*8bF6b7LNyAH%6zT%(Bb@3t!iRs`|g zPMSEjDAr=i?ztUp9^)(RlGcnjrnvgQ8kNJai;$v}XkZU>tbY-Y7ySa`9gyn$zvdaN z-TxdNjICkVIa2eYfYDJn*tq_;VaCkF#?AeI9Td#$oUH%jpr8V@f-C9jtkOqyLcoJr zZf)xYb@D>Pv&~t8#)uNNb%I0N6HCnj5%+KZx5(Fy$9}UPzi-vIb@Z0IN1E7AwN0)r z+SdQubCy=k{Yt!ZyXI`#dhw00YxBZq z2EY#4!a`@!0C^lJzerUlS0Jj64PdTz;4EK}tS=EfJRk-Hg#KS>S62)WDbVdc3?Oul zfPzBMG4Pm|YSN)aY+EyUzx5M93J`>g1W;)nk>F(RIgqqZJnI_X8ITgNNVV__BX0)i zHIR1fi6PR`W3LQT#2?XoBw}}W4-XHHyl&Xc!p3AQ04Z!A{(t6K%OG8$8G9nwK0;7X zwZNCWUJ4V@LU2o+V7;FP8*Xip?Z6qLzUY1gTLfoEuW?7WIv{RPeGW)VYAVnrBBJo# zpyXc|L*Oqz4j=`Nncsh(yq|F*hT(!qfhQ-iFGzX8lxzJkhR`jbz)Pmd>v;r97(jFV z2XR7qfb8f)S%Eots20$SZm_R)ZX_bwa$ukyxVKkNhLagXsHMh%3N9FK#nz z$mrJCmlq<)GT05mZ|UG{;S~`g2p&*8D$tRU{q&C{z{^e%>P(UHl<*`K+P9lH7AfF(5{by5 zj{NKxa(WZ|3<5+bTTi%W=hyv`%aSJ`ig>`Wo8x68mCA01p=8vCS|;wMf~W?~+6Z+aTh@c7`^GoLmN zKosz6w*R@Sz7)9E+qw5fsovkefZR8Jui45t`Xq?o`7QsS)nd3G>h0FJB9^fV92o0| zxSbi2G5mcJ^YoW>`B(1!*W`^*{l|gqcNc!VV`KgM-283v_ty#Zy5Btq0NEA4g8o4Q zgg%Oi&GmJw#6M?Hpbo4Rpm+V-stF7O@I?+P3SNdy*W&hCa+hL9C{xx zbD!%aLJZjcFt{rQzU$qSCEo<}r>eaC_F)D!@P5JesJVY(`ko{Gr`2pocy2IAT3&w#9Dn_)4NtEBBK|yLLxOk(OwFH^;7^AJ+g1eoZ)r#; zb~M_`?KO~{o0!Pb{2<|79jE@BIZ3Vfw|ISeoDO?CjT5D< zm}8>>v#v)A)7W-?YO^*jcALqmwz#%y^T`un&bd#0L>bJ(hZ$+>mD5}ess-V1k zg{SQ4M>cLO?si6OO0QtNE6>v#UjCy1i=rjn`jp6kY*+DMM!Y2MT)QUvPHs)d%NYt3 z*Ib7&nXqfVXn#I=4}>NMB&nXBLL4ak8x%2X4?#R{Xa0sp5xrN(ydPOK5XDcq=jRFs zMDoIsD80ql) zA3`eg(Ed+1|EC!l8v~+7=~!Sevaa_c4r_Ev<93!M{)?o{&=>ADHSrEh@{0gD=fk`0 zevse#$BPXY-&;!(fPNOwRV|wb`pfS8V^*j`thBF8+x2%qdu$bypvLJKmls+iX*%xS zAhUcpIN?;n(&xdQy{1jTSw=>WN*ucSzGaIY7n!+;ZZ`Dx4QZ6j zQjE{ywfr9gYy_s9tYxN9Oug>m=xOVWcYi0v$6gU^T+fy+9cdAWo721K??k@lAWN{H z)h0FZH?0O`dw?~*Yn0`qwg(z{6m6_ympwyoB<0cRDFHBJ2-Sj~RKFpudhis&{l^U` zXhrOLL;4hD!DdV~^0t(5a{{4mQHW6p2lR(1)r0i&lJL7W4@a@FV&Oix4=LlmO?&Gld^8Uyy*5 z_Q=4d#x2nLhN2+^k}fZ<%R5|kBRREiWul5aZHw@V20vm(_Q&*oFq5#fPQCMPy|H~W zC8O^%z$>~$Wm=qD*o!8#H@wvSRALKD@ij_nqHdfED%Gp-B08!j*~$ja5tdutXNP zmRDRmjQp0!V<0%Bn0hWCi^Fn9yzE8b;{>l$bDs5p#VukFQ~;ZzRq-m z%G1QJ_d@M~x%`pSnSzaP286Uqh(h~~*06#7(ob=VUD56DgdivU|X9xhU8^j+y^69p^#$BcXrc8UdbZUU05Op$*MGxdNT3KT4qxkiU+$}Eo)k%VlgR^9 zg;d(^d$(dJbU@a%yCoEF7UZv~jyk!^mbT;mLTFbRj9KIL(dYJjCvN^N&SL}%FQ`w4 zrq7#{G8UO9nxku;S3v|b`&vhS?7kel)jyO#zkLa3VrVJ|CQV#C7B$PJ%h)I{z^Xqy zkpf7=rnGb;MpfW4Zu;%#^lIESgSGn1>dtZ^=i( zVUSLj`t8vJg)9tFAhRcwW()Qkfb1;-$+NbXs&Z}U6aR}!V(^LR6!9b*UEPc${WUU6 z4e~Tai-wzo22#|LzlZO&`d9TaOm{4J6USRj;YwnoNCut)gb`weq0+pEmjOHQSYlY| zl+sp2nO5%L^=%|HbP`AF2Z`nCz-YE{}fd88V!N738xnof}V**%^D0%NO)MAy!K7-`P- zeUejRn)%f)-sHZ8uEFV#@N4(TiM*n+xYVU~lYc=}zB#pbaL~G?tc5zAJ*vGrt`lO6 zKqmNnFgat`Q_QZ>o3Hx|nAX>6cUhgHxtnmcBym8xPYqMLVOVi>&+%AIATDm2r}qBT zvyQpRI=~h*cojoes`_!JDyDiX-&s$rA_NlSyEv1K6?Nt{WIXKsYYr=9ua$%@m4V4T zfcPoX!?xVv3W?su$7FLQaqtcG(f=f3G|WZ$8m@lpLmfumfa}P-6va zP~8ekbJsz&1f72bm?ft^AtPj>-%3iG2A*38LUmY@hN8|lR86Px1=a|2cj~X6ihsAm zI_-C8zI7HBh^gn}0fq2Bt>o4;_ho@~)9aY;FW0x}ST&xYvgO)Kr+SABBtcR-zV#Ywa3+ zW)HnMjB;(V+-2C^xPsl5Gr7%0!mYqnZkDJRv-v19jeNg0h(XkUZ7Pxgrqc&b=K1m4 z_i~n2KBcM8JwrP@PjH@Xd<;$gBAyWSv8|XEch@f)c^8S}RGyIjWcTn#GqODLkWd*4 zE!eMBF$azU;x;w6l?Dc-+sOT8CoO4C{-t)AL1nDh6mTWryK%8@N2gZU#FW4pV2#7$ z->l>Yuvf=(&MN+eqO6|$f?lN)mC;tx>%~`AbVu@iRUl&^U2w*q^TgOwd#Mou7_TmZ;MxjB&~0{ZyYcHm)p0lW!G^DfU*!N#L?ORv2}jCP7RU zzinFp$YZ*tZ7*L!A7vcZM=9zLQoJJAN!8ERmc%aO=%5H=Yoet!t|Ng-TSf`oKUNiPR+4j0mdeZbBn=`MzyT$2p zlp%%lNK5q>$Z0y@NJ`<}n>w3b=0F*#$zYxPW4|h*dQ+FNJpQ3bSW2abek4?K14MnNQD|(z%g*ot?dX{pk zglGtU%GKqWW~-qo#^MBu|AzdWPMMcFYJf}@y2P}emTj_X(_(=Rg0CSW^Af#SigF#XAy(Ht}x6Nw$~rC?|ivt zzmI>r0^cg4!hfDpwaJ^2=As5~1H>y;J{ZFx8nv$nxTZ&^V(?@i2ed%vMqwQ%E zAjW%!_$-NI-)LOmCgtE68~(zfdbPMCMD63}o2p<9 zN=8-%d3FRFogrtZC-_sg!Z2%#x!FUiq9|&V&lS(7qDK}%vmKHlaeE_;Wh|AWe@NIjMwqSE(we6wbBLrJCs4lf#MH^tQK|a5py+?Y9MO&q zPIlfR6UU5nPWrZ1v3%QDY#nX#tZL|4+r2G2m!;o2JROUrnb*nFL_)OyaO;3Nvi4{g zb$+eesIo0>Xsp&mYUoakusLAjeE|7q1*8utHovROG!tT@r+GgGAyagC6=~iFDxz++ zBntgr1L9*ryS2zA#bTQuq<(+x7FaZpf1B+u73QA#(NQJWbNn!|_i*lbCrvijvK{SS z?yS*j+ni1bkMKE+zW?;x_JsRdw|<$|#Pi?Kk{}c&tPQO+0_e_g^CpmnEA7 zbRr(v;Yeamt?`)c@N%+={tXZ02ceV0Gne_mtw>-W$wOJbG5noJ4 z@owUihz=LDTXLZjM$N=1G_&hy;+!JH&;C^V6~t;egg6`BAh!{F{>REOP>K(AHthKE zGMCSZF@+MRTVqcC&C!2ClrgPaVfvB9-un-uQWX{KA3lD?kccr5?ZE8s;5phmrk~?# zj77j)97~=i&_!MX2&7^)1W=YLYqqFieFdF8;B3v8iV)E`@)Cmkw;ZMFqwHbV_TejZ zRLqCnW?>%ZMrO19^Cb6AZjOFSdaC9b@1(YSmD@WA+M6lD&udr-}4>C!qB!Q;y&?Ui>d15P@c|%}~1b>mlDD;w+F~Sf?95 z*{g~ZXr5Jvhiq#EqU@1Eys+MhHj0q4%PLcEs&I1cOrn1{2pfDG6IVEpb6#GFSyVIS zBBB;=_}M1HU=fpENTzj0@jWFlJGEjdjORz8NEIB(9>wh5JGR@LBvhd*-A40l^#}<9 zsVZyA=d872nWyxw{-Jjer*~g++-}xzdFw(*8feKsnM^J#k%>@6s6pJ8yChjOTyF zlV}3=JzXquA-80`(b`K!30&f`x7;hmdN?0GUo*)Ks{hWdkD21_SY1Qr<;rE zE}UlJAJH^K{Uv$tu|QP2+s5jB4s^BfySuLlaxfYyiXUGvvzEq%No42JL%#8O=G4YA zZUmI#tI82ykRKb1-4lvsBCIoO62E_=Hflh!KXm6zKtv)%^SUo9KYI^dfQsDp2l+r^ z*>x4RBpQaU#)4$9Wf?E_JW+V%Y(Pk*@PJffV93o6d?mQ$?@5?|q8cQ23@PdTAL^+HrO?ZK#`7XuDS(S1byKX zh{VCO5amqcMMVyiYpFolaV-2LCgjpVJ&Y=u8h;iKa~~TK;3tO2i`GLC$Qd%t>Mc(4mW07p57L*&MAbe}sQgw(=33*;)1U zJTUQE-;V$Z|Ey|~!jz2*j0iO7X4|!T(7!5m)aPzMs`-+2g<)MS7 zQ$L`{X!aRP8;+`ed|ah=lc?DDZX1zy|(WX z7&m<1OMG?%Sw~6twKjiA#opSKtG^|<_P7w}blT04LSz0s?xP>k?X-KPVknC_wG1=t zYwq8l9JF6cQPe8+)mrYnhLMb8^0<*Fhlul29qYV(eUV6$M>KI2QJl-hLA;KVX_8y( z=&t2+DAWl5+lBlFY6>6_7gOafc1Jvfx#|svuH7-&-p{v>ap-?WD68s-s9g#HT}90| zpK$aATvngAgebNYf)?;hHvl2*EJdrd!LUqUfcDZz7-Y&d&U|0ViI^$eeVe7{XP6Xs z!|eeYuV*riwDiOhJ|$6nhtOCrlWhgVmI^Sh;twZt&IS7j;}4LY)gX|5;)HKE7*XB| z{JA`O&}AHZrnG;-B&oPTaj8X(n5`@Hy1!TyiO$l3)q_uB8J2>5-|hH|cPVk2NjzPK~4IAU{Bxy7VVc08HJF3^OH9LQ;i7ci@5n`0uNhJ1gg)TzV zrVmP#P=rf1TqU8HtqLxh_DI$o4)3v{;jcgP<-O+FbnU39vmo)9bPFZ5>j8o%z#H3$B*jJBwl*&PYU&3njYw#jwE+pH4+7@ZCB|LT}$Za zh0InkMUj7mmpif_$eN!bNOli=mVuG*?vCvek6?F;)Gb=@R?I&8VI2!T6(He`;7nDi z7MidU^x-q6w=iIOTk-f>{WjyC?h}(tcwuO_DblS31=({C#7vd5QVv#8Q^xD#%wvpk z5}|2zjIP}yJn6){24V3s$#NdEHs3Ui0TFHaS~q_@*utQWk=lvUmi!QUSEMO*s8A3| zClBd~UMl(N^V(#f9aUTDg|()AuiM}|s;6cPJ9SQEKC^n1i(RS_kG6+-_WcB2iZK+k zQ069eHx)4Y*SV8*%Scahl~*Hi#4m3+9bt&eT4xT-TlsTrR?-jB)jSYQk)!I(%JiRF zv2uS3_;x;M1_@rN2F3hX(wX?AlB2H!2>r~X2t~e`>1Xh{T~ZeIK<%HsjR-D8s?H@p zf-^o)95qqvEIg#co3L;zu<&|0E_rpVk=w}EM+9}gi8Qs(%odDRU?r^?4NsRd!y2W{ zEqHU&oi6uW5M_8zI)zVnF}cl?BKvvazY77 z%0=v9pB0SpOkTl{&&}egJi8k-+PHt+dL1VcQ=P2PRySybSLaL1t9W?kpVB5mo4-?( zgi$l^clqgd{rN<5&s3n`mA>zF*+?{#1{|5L5QqAxvkoPbtjo1)8+&8M z^@as}kVi5Gy?&U0vN*$}BtA$w%Bit>!`ZV1bQVI1-qfKnLa2=#1MWff4Qt%)mCEXv zqtds6$2S((*?WX>72mUJjuU_D;n9C!68A%!ExEWSfs|ZN=yo=UwyoEDF`gUHCY@n8 zy(O*Kle&wgBuim6PzJCt+$aodCxBjv+jWLI>fQ4dT76E<8-~d%GQCAkKOfsD2Umg= zxxIk(Ok)FcDy`nv78*2OStE~(tTV0PGp|U`!>rTQ(*Se@AH(g%~rw;6Z`P7I3|*;r|13{P(yUk zDlA_b74YLtnRu8-B0uz6 zig&b3xYwU~8bUlb8yoK=z*DmKx{&Gu+`yx}&PtK%+TZtkqh^1;{s+!*ExZJK<2tr(}yF}EwLedTt~45oZdJu%Ofq_iX>_(%B_8*+B@54Oo7r{wsRGowr&V< zChm?K<%gN(+iZV@Ds6Zh=3n|Wqttxxcv9l|PAHn+iT&z))cZ|9Rqe~$u=uggtY74Q z7OpB#_WSD?NU60cJPh2$2BF47$yvThJEK0Ug=9yddh;d&B}EOXG_JQU1w9TW;fk%C zxCDqMQtzkl2MA#=o*RiB)$p-z3}hV#d@cN}@_EHEsAGSEq@_Mez1Ymy)mR!}xv^TU z5q_oYu^`w;0O-~{dmS%rWa&N1MSNfw86|&c^2M#cyxXmlqeeU#O4_N zy!jE9(dU1LXywXRh9T;tt^;x_OiskqTXQtnq>#Y-bbG=i1*6C#V904gCc4^9V@xvV zr=Ikg6Znw`w&%+3rpRD(MsqvDz60s~KK^s1i2gZ8;DYev!$a5?foNQ6netj^iSLejZU!7JI zN7C^lR*$?lZd6tG=vp(s7E9?sreVSmoJ<@yA9`RKc%har5$cH4qmok=24{U zgh~|CF8gW|)|j2KNHXh{LqI!+ZxT4YEkWX(6V{HMpqi z+2@QGAM#`e!-ag~HCB}QDJ==eNA)z>j;Yvd!~8NXQa0~^z_cBcswZY{E2`=O8HKx1 zbaneI{rzf9!$~oOnQJ(Int^I|o2a%?S=*-3tC;{7>D^4xR&gl>PP zUx3mG!?`GJdt83Oung&fk(n0b`IB!n+;Uu(mz7~3Ml3t0rBB=2o+Z4qsT?>F@2_HW z6M9}G3zMZN&8NNcwh~;ikRhA=L^zyNNPfz`R4Yav57bv9MKDPU&wEH|VakfLdYjdZ zSl-cUJ!P~_laW8E(x~&jK5+}7Dlvavz+Hng^$r`>eBzG;L6?g1M&XM74+PCdXlrsX z(OH6^Pp^6)R~}kWV0vGHokR*yO8T}os;fFvpD!acyyO{U7nd>t@$!u%If})J@R{&o ze1jwR`vU9UQzr3>I?lGsnx*4N7J%R-IgR!!*vUhy&^n*DJc)#%-ods)u!ie@X&S-|%a?|ijTd#jkS(u4tMs^~|ed+hZnbgj-SinJ=h6j&d=<+o8`@q7%$Ea z)s+#PcwPlU3FQWX`N4}TRY$4tGbbNVi~KEcj`~Qd{zrG+vIMn z{6hs@a*IC`O|m(+iYc5Bc=i@^+&9*LXLI@h%lVr17IdctDdWx;CIsXqDy5RW?!!lz zNAuXVEs0smxuZVNq(6T&*?5!gDBz30qp0s}gaK1DNe}7z@0vQWQ-7`4R5d-23x4Gl z#zWyGB_qLZ!k{(s{QQ+?%9xBEZJKaUMgk>pmjgu%W$P2D9h}nr*&>9yKGQ&*Kf-K@)3pDtw3A3-`W>>!mjENK$`9KFv~As%{;xgA$dRT^Y#nV-UkguN+hNY> zn=A9EHe9-#Rec!5Pk&3ndR4X;AJ@V6s@ZY`&g?-N@?4|2D4)JNsJ>)-x{;0CnuUGit3R{oaS%w%zS^IlDsSW)&zc6t3apq^e!9X zpWulx^oXz(WX@%%km(OB1VOSMib*2(O{u*_4{dEP_vl90$s--9rfW6F;|$oaiZObOyhqTbwhNzB>{)|)$j zNHoIsl;wX#z}8{cp(CBSfk+iauBS?vRLE2if98~Y_3Mq5%m*WeQj3*?&B3N4l6J9t zelA-_gl|p0ig99scbC2@s@TmCamx-O-6$e(B3=2?O1CRCBREmqCS{HIAhM#vI zlgMu;_N(YNJs`fP-7z-nJ?YvRsK@~=fCNOceS0adtFj zlL34SI%gRg#!*`rFUl*|=;1w*{tLccatIggk6J$cs(iw{TCeJupOTY(_>+1x10R23 zk)5_LeU@0kc-l{5u30UiIZFkrL**<%V`h0WTvCF(SlzEV(u+wbcMT;5CNI&Tiw+IH`@4@%r+pq03768R_4bcr8D-=m5+}jMvmyerS2W@cTRtkYg;n6D|cKtT*;BVsKsT#Zk;pyCVq_ojga+@ z&%Ol3^MXUKA5xne%4`a=a@SIXSzrrwS52-+IbYFVkZ3F?cd_=|!{$mZj;)v+#=CJ2 z^1JH8&~VpwDu-xK1SPGEofLJ$PN_0?u}*Sbsz?ZxFKYoX5RHgl{v4&fpJ;!8%J>+3 z`OT^SIzqjIp3*A4UA1$lFu2b*=M&Okiax&B*>XqQgE9_HYcS+|<1t{rlUL2#9CGmp zTebr9NU%(M9v5*{WBJ~870rU;2`@ZR(6$Bsu+Qr&za_fjGTxd3xvKK~7CMe8gH;7*0k%BNiSH`M7Zk;bNztV3)+6$!}?B zn@ozNVy-36ksE#>Gh{V8$X+YEXt*;I2n&g}zf}-VVc~th#mCEL89E_STI#)$L;ZgM zezbu43T19&b98cLVQmU!Ze(v_Y6>+rmqEq?6%sixHwrIIWo~D5Xfhx%Gd4Ifm!anY z6$CUmHZqsN2LUL5w*^of%GR!pySph!8JGpcXxMpcMUGVA-G#` z50@?9+53F|Uv+O$1@kQFepmNeT>}k;k}9*9DcBe&4YqM)W@lj&07xh($npT#*f?3( z*f@}AXw*QCR=~f_NHiKidj}BMM&Mro681nN$2Xg#k>gu`oC4SeAm?NSVCMv|^9Zo> z3b3&OIM~?u|0fV^F947l$V5{(4d*3BMdZsGX0&HsD^(3>y-*!lT+ znf^=%h*<;eK_*5v00kpQ3!wGejwVJ{09CLF2L#`KRsBP$1g@LRr-vk}P3$oMVbPvu4cX)$Gh z(OZFkm*-$&53+T1U~vFh{ZS(8AIrR*vXqUf1lZadXyfRB^oKr4kUh}k?bzK||GHUA z8?cLw$KPNEvN1LLqX<(cTUK=&kew4yR`TzVHxtr7HgljOfSZkvmy?ej0JH-DT}>=l z|5#ps&CM40r}IzqTLqpTwqRR;*;^4nPmme#?GKWNgOM{3;Armz^z`_*HqZqf80jaAS<`O1Kyg}$?wHhTNWGJ z|MI=fmx<-u`{D4`mw&m89Nvb_@y~1ggMn}3^xrz9Y)rtWf6N^RHxIzb-rmR!>Fw&@ zi2JP*-UieZ==x`816WyXz>aSzfVY}|JppE5d!#?EnTH#|D)xuzFX92PivNdr-+Ukc zp*NrWKg0)MRs0X}u>n|>{vi$ktI9vb31C(IhqwT&YX1-~fK~H9#Q#P{|IphG#{UpM zfYszb#Qg`oy$JtA|8bVArvKpEHl{!;$A1T~16YCo!Z(p-|H3zw=KsRCe2ag7;oC`o z{)KNx@#SCmrrYvg_$J)yKgjX6t(B3rvFX31yveuz2j9ky)#hLLmI3}3z6rJc7rrU8 z{};X~bNCm&DRcZ6zA1D17rrTT{s%eU_I3RizU}MwC;nH5nK;?ozqR0>55rsg{SW{7 z%mab0Kog{;d9aCKz?a&9_WNpoF=7|y-3cMs^W=Li4(5sc&j^kKQZojdv8oyA%O6Xn zm-^YIKY!^`6t}z2{JC)Du~SE0@5Xh@OfG$3PHr4M|9T7gBhKTFgmNCe86rnBQJhSm z$bJAqi8KtO8}YrV`G6`7`d7NzzQs5fTAX5OUb(<_#m?^P;&gdD5`K+;lPwj;7UN;H zUG8fFx~whhDF5wny^tiuRLYM+oexN{E>##CLnFhhnEj+ZVZL(Ce!IV@zd2$`2@aD; za=}+=tmdLUXB9agr($^+%V103sVd}9s1P6xOXSA4oD=9hQ^9L}Ne{7zLpmlv@5oKv zFR%dnBt39)_xkfCW&NOk3^EV(Fcn&pR`KaFqTtrW*Doxza?3nME@jIFFsvkM+*Qgbn$wMTR{|$Tf2y|1!BVP(a;+PVY6Vl)ME; z1w=}^3^qoIp3|j20bII1#K3nz`=-osCOK-fe=qg!oJTM!cp*f83vjw@CbJ}i7R48= zD7-Yd;!H$=d&ISy%tF?kI)HM~#p?B5w?FQXWbiME9C-(IsC+ruwt}!qEp^n58o@q z%@FiIv6q&JYQ*J^ENy|=9RuhOhMX^2l$!%q@UNG6tu48p;RCPlBE(~#f^l264wbD@9A4Y#=;%+`#eY- z`+CddbLOr8VlPbcbHYY>$ZO`jVa4`V`0<>&y@l z4|qG(wBs&+#ZvaPm3XW{kDIeqnoquPbX2$05bQ9#q??17B?T3YpNaJ-0%jscoCz;YkV`Rtb zr7j)CfE1Q!^YZI5Ciy6+1Wd~FME`8>`{5@We(VEG);LQ8bD1oR;lyU`@Y0kU z?8m%_U3CIu$DvVse~mk3^2H@!{4CcGQb|YaJ@r0nw?7oY=a@s9S zQ2=Ozc<2@KFp~jzbo*eh%$R7!hm*Pwp%tOKwm+whz{5gn`d zzl4Z;bW74o#Y`#IEsoT$>-zJ@9M@Bmx?2chG*QD;%QaR64Pki2e!ofvlK zAhDFdVI@YL&I$@J!jo7C>U%`f(%`gLgmlJLLBmLe#t2TFt-mxAiNZ&kNqDF+376u3 z6boY*CxW|{E~Z2LP4M>c=Z?$5K(q}#je3rAdKx!*;$lTv-uxYrM$LKoKKwn$5y+b_ zd&%EkWu{RWer#tFS#hKEr{Z!QAM)gsnwu%T;7JSnG1#>xxyoXa8IGt{XuO%>T` zoIDqp4SYBNs_&jgu9nJ-B$iUehVV6iM6HJ15x<_YsKpfSGATL0FdY(6pba9%kaPsp zRTM=zUS=yK&yrSN+IfB?<>^?qbabgYJTl7Q*Ug*q3KLN*e@u_HIvKwqbF+ejo%y1N zKUV(XZd1PMHu};e^?0xi`g|@LY8!&>{S-L-F*$%H11~ICq_hZjhCD^y_l4+xw1wEo zyWWIj&k1W${r53pj^)S8IkvUBBG=%=F;ud)^%NZUiBgnYHY1mB;d9(_V93SE5QT=G>V?H;PU+)|qTW*c61QhR;dI zitNHI1{WC^pVNb~1}$6pf7L#J#k@+Rwor434!c;sLIlE?1`0pL z4Q^1i5vsq-d!aM^-gZ4=PMmsM7noU_dq!?SrLobfm&R$mu4|{bh9<;+!$$F%G0IUU z;$=pz>j!ngth<=jrF;_ZV!2_P}!Mh~7gLU1?v4W)6et zL6uHsmTla;w?g=%$V)3+QZ|96T)>djdZX7~fpt-KtPY~`-M$va1Rx(#;Jt) zqbgz4r(~IH3+1nbL{Bj=Dm6L0PB>@#PT?q(v62IJC(N$lLd2?p{7Lf@kRh=YgC__%$ z>H#%YZTx)KUjv zjHoMq7dJn3t2n^J59d=WiB|%2yC(U)#7kU{7?pVG3|6T+WAg}?xZY3>DGZc)OMD;m zoF2sI-T4cZU6HXN6y5n$&C!^BxXUcLXZGju7*bn&4c|R~ayOHjwV_M|iJMUOhy7ao zWg?>4AEyOPt-JLRPhpG4F$7If#V1=U38AH^Ii)RrQX_C2Bt$i*= zJcW9La6cj2`#cB5KagiK^rO;sbZXYrZ=3>a3+?b;7L!e}9$fo+6>q9|KK>vyBRrQu zq*6EmdL@*9v}u;kCY?ETV}ntbU8|}pAYNrho8fF8m|0ONXdi0@ey4b zghTVbW>vWKZjQmKkl^tgZ_OKqZAzVbsFP%w*Vx}#ofAfjmR1exngP%s(1 zI)Wv-M?q$T?b5B35nYR54_gU-BkE0D0Iyx>X((`i8nbcPQcl7AF%LKKnsvF4cVLgQNH^(YwAbw+q40oyvFo~d+Rd;q=|Po$KdYS9 z7ws8iH~UcD)p_ik?A}bV8j?yClQ}WoiBC=W@H@Lt>|h$ZFimre5zbNCoZr$RYl&5{ zFwt6n+^{^7LG9=(@Ed>Zk_l97Fs*S{WC4+8ZmLI2fjTiw?wz`=_g;xa8jA6YjJu!E z9xDO^fwZX><7^({9&RkYA@DMa>0rDp$j`M=!k&;E$8;Z2=}6R>J7iMI7LL4 zCNSKpwIuPi)Yb|h?!$6I+_K^E8Y25BPntSc%(Iy!3n)bjMGeN&CR5&8y?cNRud642 zC)JJqbRr#@C?-Zq%@Qv2vpL4Cm&$0FwG660L`fP!DH;L49Mz$#}lj*4C zH!;n~H=CP<{_WdwX~OqfuJ8EpmF0ea*m1=~0^rrmZ1xN6fUZl-3HN6Xs3_fG!W7}7 zj?z4w6Ia!egDnyX0S(7F-EFdC{B3J;)lQJ-)9G+1G>epJX_@gIQCX|TKq&lf4+U4r zB8#=birb2BUmfnVz*=9UT6Huin-kX`J2rt+Ks`h?nR*?S<=Ydk!V-VOxq&=?6)Al1 zPwv;5I>Ul5>rM3??&6;2pEWtX@sB5D+zRdt1WPxD89~LYTkjD>ait&G2j3~!PrmbG z;Px-`|M8(3M+F&VauEEv@A*JK@NMJC_D*bsC z4;_4c@T7J7Yrb{CbzF-wkhV= zrye^4D>SX~%;-_?gY!}S*Q8v@tcV(wUqAhf;@K(bnzSdYky+D|^!p4^$~1{H<-R{2?h z#ktmGUqR-+Z70WFsV;HLY=@;+P{MwV_B+1`xC-RG(y6R4^5qx{0BG-~Z_OdWb~ssEHibVk)r?T5NgFk`ar6QiB`_IDd}W_Z*!! zkZ1v01=mD?78ibA;97GU1O%wg_Zug?R2@UMaK%B$=wt-i;G zd<^4ynL{40@=MMXOZb(J91Hx-<9|Lphzk^U@~d!{qYr~I?hJB;X#|U2uga5S1A2eg zH^KGKO~o7l@!gPeCG(axIZT-=ly}ySU``;;=|o7Ay=(Z%SPq;i@Wv;2H*13D-`!!k z(Rv&#G-+b;r(O|%xg96mXDg(PK?w2PzS5XnQ?H;tg%xZQ=uCAc2|!&xG`dfbS!USS z^7LvDsm5XK4hT+~KzwyB5b=(}70O6ZrnP=f z8c~|7tI_Zfy!R-oyAYHF@fp>@DLzeC2+9}5oWMzoX8Xt(9-j3gnX)lb13Y*FGMMwck{K6n1=dv@#84kjXDkGqCLgLp}0s1^WViTPc=dfR1+>79`uM=^xJ)2jV!h z{2m@`nxy-rBMncsxNMI_+B%N$^e-7mK1a4IuZe}^6@M+szF1EC@z^|MA&ulG!*r%+ z(AHBjyh4ay_oax3ssE;Qw?y|~z|pYCIQFw@8Gkl^!q*b<6~u3}PS$vR^>mEPGxvks zurZjIU+75G%n5P}cNHv}hXPGeg13>%l;>13rm0kNpJg+c?te>b4bf%gNed!>zeMWg zIl725i>%!;w{jC~jOyD6mwi7Rf~OGT5aGDYVseee$je#84Ur)0ZkxBru$n*^ur$gG z>uYR((K)7zvOr2AJ;>N{i$!-=)vm1{7t?{Ie4}1I#1j&2zS`Jx-E$9_me>z#tODJX zBlFucX$*+0mnuex%04w`%$^MzMJ3xBi+A?@DE2$MsM@2*+>Fc#{kFM3;-OHt#O8~q zN$2!h^~)5G%KO{)X;K|ab%eGJ=*^In@p*%Pm-s9X-OI(1^81^JB?!G7qA>vx1sx>k zwcg~Y{Dk_YaVRlqnVt4g6m>|(T7F%S35~Ynmg7M5@?lYuRCdC9UAZt9MYlZL?DbHv zcRMANN(r~&KH-<&!s9<_r!;)qubWHn&75v)*`i9?ErHM`3EG)>CHLRD7>NtB<$+&+ zZaSBX$m}Ql};Hv>u`}L1e5fH;r>&+9n1e zNk;T@UNZM<41;PB_#-D@u&XAxw+*w5cQpO5YCb)prb}Q^dq!kvocB&fzhmpZ zjK%ukIg~@pY~B;NxhK<$ji7D-ppc9lxzFKZy($~c54%z$jGq*L$7aW( zCO6~m#ja#sEyODa)$#`uacjrxej}ik76g1&`WV1e{Zrxt8wzHohMX(CZ<7QTNhvgS40(64I8&5*YAJ)a-?!X-ol8l8{FA$M5OYjz}YaqD(F)BsmTD z@(ED9s-a2zRQk0xzs*wOj7wq?Jr8GRX)TE= zw>bmu>Naq)0qmDU&%>2}?EM+SibOAr>|nBY7MebtEE}hTpBJqQ!BE7jxR-uWtN4S# z;5lgL3#nM=QrR$zyJ7Rb$>CCDD;)Lwk7 zD>dx6;OoYF;wEc#ttvHO7OkfNRm8Sr$o`y&xcPE^Ugn{gM7E+LSGy;Bt001fj3CTN zBg{m-m>pI=bb))@oViyx3!=$ZJ{cpF-*U`M;_nzC!zBvYyuP&2u@elN5&Wl;3zovs zg%U|MGU>_>5h?_KSUp%wI@|GAf?Rzz%S@u@p_oHr9Q4tBKYR&dh7o?jQ#0GWh}t?#PEeQKuwK_Ir)lB7BhK;dLPhNvuCG}_YB6pfxi$}d1- zN`v-<=TbZSb}!PL9ryEr*a2VivI|C1x7o%0OL{~$lwa(BoVki_7Crk@B z%q@-++H>X(NGms>t!#BuIE`pVc3SI1Xvlkui%kb{Zu4QjJ`9q z4==eOSjlftbYz|RrL1GT!qnL669Tv+`KBY}LA*NKn~RR~LR1WzdSC5JBV6v0WbZCM znHUopdNRG_`(ofP&EnY^aoa-hTb2hSBWr)^z>fj;}h{D>_4SG~roR1#2CydDt=oIX~XD z&l&UR!*Tf14D5RI0bYfFear+~N3v1GI(4FYgg$O$(ddD0$R$+XDYO?VK%+J9yvh$_ z@V(UhI;{$(u(IfGq6^{51S}$+2}~h#-%L$^S_rjN{Z=g9kJX@28j>i`Fyo?iqC;Zo z{pE?d$f{ZtgTckYn?q$*H6V~MIDaKQwt{na5lTJT!CRY9PZm{*+3_+3nncT7!55Bp z@KnNw><6PRU_87W14Dhyx|TvSBV96?CMT%89hVejHeg}OnaGsUu*0aEku;rX7%(J% zC_+5_8`MK6S9mIY={QYn=YqyHV3RDJY)8Ir`qJepnqB&*!11f9|Gdxg#q#{NJlk$j zOj~^@Q?~L7j>zRQ9CsRnaY7+xd}NpvM9WiZ+$?R%P$;A>7BQ}+dwEG>wy5&2Asn!r z5-c(99Y0q|b4K_bcP0=lVs9uN#X1Ck0YO6c*+Grp7i-#5t7t+VPvOa_ii1T z>O*7L2mcz>D{|K zF$e9SqKH?OlOr~JNS|s*BVEY#PI+cUuwhB=>cM1NS3+rba|j7`+|6<9tXlo@j)=A- z-y=rez6mOok2`4iWTeN_I)?CnGGa)Z;rbZq!qc>5D}*XsIKih3h_38<=VEx}k0c#L z7Qk`;h@~lK5T*X8;8vJ47mm0`+rEk+jZSIAZosyqLMpNSlP=Yrjb)?sG0fRyu*9Z? z$&oZsQGN(#>57XplwDv@GC4X8ta18dZkU*(NAdc%7&xj<>9Y00AvTqN%o)NOr?zNw z9jD)xfO3rH#pm{@Y49bq1jua@tEsYJ8848DV}J>jj;N*96{WlhD{(nf!7>Fr)xp7q zt?!~6SPTFgC_iY8j>-T5lf z+($HBix=AL=2^b?Ib4#afJMyzN~hyjBYCnGI>|>?pPrMwq3$IuYj`h`?VVvhaITI1 zER^rSJt5Zznvx94tglL@&KcD|^@vZ;2qXNSMrIW-$@kGflapkBdr&AromqQ%ubl4<_VuTgB7Rf*oq2(R+doQnj;;xwLl?6LdOV5$0PhEp>j=!IM zaq}{ihe^MbX&S>+F{kJ!*EhX0WHci8UFKv-5&i!8eH8}@o!nBMBiC3EDC$DtJfxNODI~K8-t({6$1jY=O9-_ zCO?Q8cJ1Chot;=fWAVMtDEa{Zdx%%7mC_OtzGEr(weJuIB`}SvI4ZWpx88JJQK&)s z5Hp7Z=#EN%4*=~HlHQd(%bQes%(V2_3gUD6QNjqjR4B_=PBFy?g#&2GME04$(YQJU zOSzGPoq`em@FHqsO{(81HzX+XpM@N03Q-ouFMMw+jI8Br`lt}lO}}J+Hj?RlNdB>T zcI4LHkJ-^J=+l~PIAAPEByKR;3e8_m!7^lvH)l$J+@nH{?*I~him#|nM-em{$0j6b z4WJ`2d7Kd%uALy@iyn56LEf;}B<)P+u3^U1H?nb8&7QINn&BJkzm zBik+oJjthwe?HNT=)ox8aC9(k!3PE(Hbp6SK4M>5GjLF03D#p-dL zwZ=M-Gk~@9Ju*j-3ChDET4z16AuGP7#|ZSGh1;sV}@F;^8&+r1l*W#wR4Z48gA%5a%Kir z;T?qXe`Co{tOns3(Z3>I?zdwZ_(b48*- zcCUf7c`p~si58XFjRQ(QbPQdDj88@QiP0Vqf3SAwQNI=GFw10GCSh0j!ja6a%U;|Q zFsFW->^n4Pa8;LKr*!q|c;aBQTpwUo7hjk5)+qtc zH$Gr6$)Xr7e)u$HGrvxlTZ>|r^g#w@+?kDkmBzHGO?|p+VmA-JobDT$a=sFYpiG_6 ze|3m7Q6|DeJaPw#v246^gY@&Ha7b8_9*&Obh)PfW{;64t=DmM^zp+*9VshL~+h!hj z!FI?3DlKuw?DTiVoQ#DuvN~v#RJ_wKL zcYPAzT&{EmGnlpq8y@15g$m`S#}BQy|JW7X4w`Y^9W$@)N^|NmKd!g2h9@+Qk^J%u zapyz?Qt>`im$@UZ9x{D$ohl1OO8AZ%`2G-l*@oeydqOT?My;p1P3190kzU`^f3eU& z4ofr&A<|84i0nS_gbTa9ZPKxZGCv7@hhZ&?Pv6^o^sz)Gy1ngm{5eFe<=hw5#u zCtGrx8-7%A0?EA@?+<0HFob2$_vcod%x~)mRW}kh%5xV%pEWkN$@x6A+(mQwQA4M@ zocwSScCfWYj{Xj9n)zzmf1}a1D-d0s#yd`cs24NBz+z!IrBAAUl4eiBxGUv# zKPN^NG2{S&{zdD4n*l=9v{Y5@-3=C6xdt~bCj#?MzEI;jD{=|%7c8dSwy<&OUOSQb66OSi|2}9$dT9&B6bqQ-(DC-D7^$~=w8=~e|>_a z&k*YYx*p->>kJ86mdutGf1)8~LknJzNjBFkl@`vP3lT6;pJB3OvvN{Noab@<43TH% zn*GfXfLtwb^8K@bPvyFGya?2f8=L+rT*Oa~3_6Br$h2Yt0ZevM2|b!RiADQc=ecyQ zP}@wh0%aN^vNpH$B#3vjAx=#R+BZMBy-KTvkwd?TXlKZIIh*-Se}LeeT_~<@>_lf* zn7OVMIic!QOBO`s_i8I94;k%NwhU%GJV9BxQp0;L`k;7cZ@zKFoMH|Lx{L>JTE1JK zXzGt?u^f`LK$VV9Zu1yS1T$W4qNA?dEsX@AHwTawhS1rQ0~& zpVVD=UsB?0Na*}_e-zxzB*kDO*?27HJ!e*W&CIb4=NeQT1ThP00(77wqQ4*hLb`ep ztuXw;zfPm}qXVgZXIYeM@$qZkUDNnZ+7al~Yvl>B>A*`LPZoIDmb!UM&wUPdP#R8I z6M1ptb}VScCVj`Q1U1J6!v_2I{V^hY`ce_&T&5f?h*W{pus2M)Pv z>H6HxEm~1q%50}&foM9ZNffYV+%k0EH+e2RKZL`lU?qR^)v_-Eaht6cebRJp%QQ4) zK^MhFqq)v{3*i;}aoT|y1@fdIsj?>~rLcPPrry%|cwU5x{$j3QeDo^Lf463IGrIso zrM4z07$4272{q^caoIQ^owDPdgf)Ns;qeTL)UK%S@3 z_uZOoCBzF)06hC|(hNDi{pa5N{ig%zF@XTIi~amd2N!H3ibwCJyR1!KZ#Bx|Eot8r zfb|Q6qze+#(Qge(-!5icEL{k3lU`W^oOX=yRu6uYf8J{mN@h|>JhRxwMWX{nLaU3P zND03|vBQTxPpiE2;*v}O0DfAiFB#pWz$(>3UGItf6kp%Os`rTPor1PxeDA|zARVSt z=Jx~1s~ywC^4xQFIME|?gSPi#9@I%W!!9Q%_YT?v(bek2#Hw~T4xsF8=jE_R)N6j3 zPyK$qep`m*<=V;lJw-X#gp?G=+FSTcBK>ZUGSW@wRl_-CC3FQuS%80=Fd zwwpzf0uK0nAX#iyaIv5#b-XEAaUPc!uksQyG-pv_;QR?z0^6Xx)(#|*rDIP8V^N;l ze~}V))>T*5id4YtoTgo!AT;se3p9||zc)=5ZiV!*he=nQD!rYgO8A-T>8CqW-W`lv zF~Ldo?hMz|;r!10Vzs?wU%~*4ZoPz`17{nYga(#bh$v{ze3DTN5vymhs*!=RsVS}I zcVQ%=#V8SXbcn5Q>G%yu1?n+JbAmv9f1rJPmSfR<7wk&zFb%@Q|nC#u9m9bzC!EmH(9Tk1nUL5;$#5lzqn1bD} zO=q{T$R}iA`m88fjMN^*59Fm%e@Bz)rd}ReF%|<;n>teu1s%r{!QJEpcEYdv$Ihkb z;$yU{8SfjdU|1u0M}D7DJ$2uer?wThFMJat2bLMal3wfg zWpT`G=atHW^IH4PGnO!94Z2u_tvD=eg#Foo_mo)FE%_0q&=f^MRk{crfAE++ZIxxg zRO^bXTfSD91lG(`iSgIOpS)q&R&zTFI>QF3)MqTBDT?ZZ+e%-4TJ-tBtt7;>Gk19h zjkrhBG?KT~J%0^Baq_<+NG<&UMf#C3kXunZ=&p6Y_JZ=@e7oa1BSU1laG#`N+LcnK z=gU_`#e=btt#66ax+olwf9{d{(AUY1*QYv9@X@KF1kY?VoYXo?jW8bjTTAf!K{mKb zto9cERabaN@h4s?!-`_mPz5dX`KdPn4mcfA+yP%1hHE35$l%eo%f%paGB7j`U6)^! z<$kat&4$IE@*;T}L+GJ}B^%&=)f7A^dcB(Fjw!Cr<7pTTmdbzce_2>760HYA!!f0D zFPS7&PWGM-nObBS`3|eKdO5Ute&I-C&Y629CDt(^kL7|oDpgIobqUqV-fdcA=qgQ<+N9jw7c?XG(&3IYEH-pkduN4EgoW` zgcp5!3q5B7joM_%fA1$60g0aSWXrY=-$7A+fS&FV9*cxSc#gy3jHR(oNMYmo>*g4v zyDrsV1ot(Ezpg+d@8nDy&{p-j@tuxOkv;q4*|74LUGcB&JqKXjbC=e-I-4TsFm&F% z(zez|?&55*4ieY~$o;3I0^DhUrTNdb#rI`&81GN?1?K4VfAHzeTBruX$iv3Ize7NE z9*Daj`any$xc|&jrCCdUHZm(YoHbg^BRb(&`r>_mPy^q1^o{l_+bwcm@gkdwadd9R%*<9Bqe_5#EKJJOedz_;vm=ce}2bu|0 zsOAs)`ZTZC4=8sHe<}I_svd&_rxab&dw$Ga(624oQfT&%BImfIQ`k@Pip}H4!neK9ccB}T>9ja9&_ zJ2KU>fADuA!mA}7gpu8O{s1AYK@dz zpAe>%Kt00B!B# zu-#fr>K7~%$Jr+N;3e%5ST)?31Ca`QNZkt9e+nsSiKr9X0A9$@ccZM~ZkpfTjcWLcwv0CWgRT|!E)E|5+Vw85-LQB(qUm8^ z2@atr<1FscdQC9YQEZ@O@3VP@AtQPG`YVb~ntoxvl{nCQTaf1>|W zY7ZU%xee2Hx*?^ndz^P^p?y`Mow25?)~oyj|8ARUl=xBIIcR(eK8%f2l%ZS*z+_{J zXdrC@I~-b?9dNi*Z>`Bg*qMM0MnWK2w!Z$%1Q=f8QBrxqkACr*Pz~ zY3cfeU7D*Zn$orF6uEO|jD3hGe=mH)PhxrMYTsJPx=B&zthLB#R|07>FkTcWFg?F! z3Qw=N!vh%LPS0teV(6rledlk}vo{z`8cA00mGDLK2BNEGwQ_C53-)zsu$gbK+Q!v6 z$dUG{%#~;@d`HtQB#L|_URhpAet4FkH7~q|)0k8^T;<6d`$PNHwsrrNezg+3i)RmOw;Wc&UI3jM-hi>?8bhUwwy%mSa3hs|_|@?SRZ zgk<8)aSIkRGcdb+3J2IbOTc}88cC!684VNW$B z3fH~p-owFXIwce%=m8z#SbeHhFkvtsuNbC?f+KBgMf3$LGMSjy~+e<#A zKNbwC9@Ce})1M=$Ep^Q9k1T)p14?y{IKsyeH4PhepNL5F#A}`_D6Y0uhoZg&s#uAD zR<)qsSxEQgj0wQf_OXLc$Wn|kiG|cvrmTT-QE!kvp?#gn;tW>w!O|}>awRR&=1DD8 z^3EMHZ%J5BkY=89kf<%wQJ(yR^+0NCby=8Yd3j! zC*lMU5ps-t^|WDL`S#fCL7bO`XI6}X5biS12^B}xiR~tc6>)lr2vF+LoiiCXDfazd zDJ0RNZ1Yo3Xb%d8yOQg!=jPr16?uNMu;8>5lXhlma1OMde-Fb8vLB$LPhry-p9>SD z<-;<)=A^3u&R(ZIis@;Y75}{>iM;>;A+JyCmS|`>TcsR__~3`V`!1JjJlbe)pE{yK zSk%H`Y%iEs%~YRJSJc~Mg?FCX)Wwe@dzny->=v26f*7w!+c*O95H09^62Ea62IL(X zQDig6Gn`48f3ihv`n`ZO4+hKg$J&8Z{~L0-cQ3OQg5!*fh++KIYQ|WKU0?U?7 zEX~7FUp%7@6N0jNHEYD}5&*rx_uepZGv%Yo_*dkwfmq=t2|sf$b64Iy38`s|;}Q*t zYF~l)RHD#XH*6@u{!+q8F(q)y5S5xnr0EY+a0Dzp9W{at&aqlMJhT;*G6j@pLn^qa z&$5HYf6qFWGrd}H^4`FphPl(GJyWPmW;y9uMO8}aVH8oc=fsc19#9kuMGMuuG$l8L z+_7Wr{rPZ*XKRjuq@SVg?vXzeu!L4FckZ{we!n$9;?i?SMMxgyhlg;Y_=)JU^Kn>} zJA$~IvNDf6_w%luS&2zDCq0v7_N%Kuy#k7%f5j*(#JXmG*{|f_`M$9NG_eMr*XB=( zYmuRj(M5u#l;<@5S(?#^h&lY!k4*q*Z7Cv+!aJLxcxOx zq|&vSi-x{OzqzfhQrC4o!k;11=W;=OscOA-gHzRgAv!mShvwG@7QF8pZjBb3lr3dE ze-O;aYH(M0ieoEE%oLlQrEYh*^1V@9vF?|_5)&pnhMbZYEj}Cs zB~^Dn+5ipmwp)suazg{}MCi&6X9`ak-(4*DY`(kUNdR^Pw}OQIRU*asp5ly#Ys2eD zmJ?|1QOxKW%vNW+6r+T(GbA{puo{qAf0?q+d=fa4&;q8He?`8_D5*rFHFAc z=Cno^9x{mgbwBNdnXYGoBKh^qV#OR_w#)V_0jZq3*?lt2_tr^O; zjar6zthuD8ju)V>I@Y znJC^_DB#n0Gc}6y22yn|>x(2Z87!bOJH~~14eg$a1bEf9A*-43xKkV#cqM{z;WO)N zZv35yj8cY!x}&4Gq@HLdmwuXGu0Ct7C$Oo!qbcz819oK&o~u*WvH$A#f3n!TILRjY z>a9jL(`=5VqAZ5*Cay5;cDJbM7V+;343zn#uiaPn^EcIKHFdB{X3&78uE%r(dEMc=Vx;1Sx`6N# z>VqPE9$9O_ar6HNMMVuq6$)i;WOH4-4#C|C?h@QRxL)?&-}$o7`TweWYpQ16r)_nw)xF*tG9pD4Iw2D~BapbAtuq}H zJtH?jL{3hM6TryGLeI#^3`a($YT;}R`i~fnOdaItWMOB^{VxL%M-b5YT_y^2et)-< zv$F+AyI2F5SO84y+)NzYjEn$gMn2!28aS(EldD%^Z;o)TaXhRnTVaehogm= zx%2xn|MLi-G^PSDadC0b{_PGBvH>|-7z1qqazJNukj?vw#z1R;ik-0q$l2q6g`ng$ zcXqbtW?*o0bE5~^IMLfVn(zpbhAs%IM+90IKE| zPXEYN>`a~AfQ}%*yTIDQ7-Z}8?%`r<0&)brFAh+Vk_9N(gKYmXmi@7Cu3X#qf6lfMjs)_+cR@BTnn zpoKNi=-uG&%z*%LAteCty}9SBVUNg?Zm)FOl{{(lOu>R}K1Tgmj7_`L!jFMB(Cfa!Y?ARh};(EAUZmlMzx z1aNkA0r`0STk*dMj)@6iVqxqIFanub*uwpZ{w@ZY{=@Hw?`Yu;&|!SAkm?iJh&r#~<^*&zC_>K~`K*l;)p`|Em)gwsQw~(J`|E=$P3U0e?(POpE}I_XnT< z9Yzso@t-sp|M*JTn%V*0?f*{qeV_g(W!L|70OfzCg9`A!gUQ>yw=D=j`KQZu8QB<( z-@lmtKll3IF8}{p{I4kgZ(aU>6B2i^w*Fg9`M3W6M-8;Gu=ecsP{?L0AnLoq{V37Yq?=cnrOPud9 z75~tCOyxiH9#iEHu>u%W{}2a&LE{g-ub}yd-dE82FLAwF0{_svrO|(h?cMVIuCn=~ z|LY7GO#a~eqJJhJYv+F(Faa1q|HAi_P5*`OIh+02zjvkCU+;wXrut*@zBv~E!uR~F z{)O)eTK^ZB-xsq6+8CMqJAwD4ZT{f-kqIOz){U{mJ&- z)yW#@Wd1J$b^wF(zwkXd*FVVozO?(l@ZI0zZ~R{^X@BhE==k2Vf8QkU{rW%r_lp4p zat9g1EzR2*^8{Pg2DjZ;3*ouZ?f&G2I#0dVWTyL>uMgwgFE(wk`9#I`L|o}*{@!A_{8(b&0ski$-6}69`J1RihHE{QWG}IYYjAsa6loh&4 zeKi;9IjhL^_#2v+kp#L3rixq+kuo;ikVtOgkAHJ)-DeVLP0Nf3^RIBn*vRd<-}Vd4 z?fg?7SlD`kI8(A_iNnkyy-ax5#FhO!ek_EIOk>?GL2ZoeSi^Tswo+!0c$=3OU-|it z3aLa{rdAqj)6r{WgXYn5`p~G|j2YqYen>E-@VaOA=U=6Egm9~w1MWEal%CjSQ?5J= zKYzR77k`XHro(fQvf4uxa?R?Fafwlh-W<0G&0$w8#)nZikHY`79d=!c_BmpH8;6@* zY=L54h_Wb*bGg{7Nej>~{>z8)w+}{8rE^&FAVmT}nO10Z<4omXPEm7CuF~VD zo7`-B&+Y7QvghgI-~IIFc2e8gY;^Fno^Nvw9_H%xdK2#ezi%TAuFTa97o?a@rGIaC zUdES73#obg?6bUF1?~`Z@mnQ2Q}pf+4>R~h0kAmEjn`P2Tl^(tmR6uZ-Vh@q&W;U`KCJTh`CNU~ED00>AutQshpr ze=-uxgs>q2qqxV~{=I5CQ6E)74BEM2Bci&pz(!BTmFCX4U~wZwStocbKynI8+S@zY zMe&8r@*?8iYh{Xc<$tEM5egT9-KE;nQ?5|B;+B76SMJ z@+1?Li9_Zckd}8LkWe`}X}U+aNXu`@Ag4AtyXnX5Jrhr^ddaZHr$=f%%@TnpM1eaP zVlWx)=J23UFiSxtPJfCZ(0Z%$mS$^1z(F(bDkjq6L(6fJ)gFr1?XVM_HbhpAje|po zW1ke7&DyL3m@@+xFe_9ZBkH4>vGzIUtazAdC4s27b@7pGyw*dvu;rau#bZcydXbM| z)kWZTMzuL9*0(*Hnld%#L| z=fCpn4F!Kg9OdmvqGAd~{+am*S1mH&3s<02{H*Z4KYsxm`xVLdQ~5fH_BtCmF-7R@ za+MEiNVi$J&i=kHQov?i>y{)WmCvclOwj!4=`5ZHb?$&HfVW#^cyb8eo669?-&$f* zbMaw#r}p-$K8xO`o52fLFF$_X8oRO)7Hg^ql^By$$yIE6M!g+>V?ZlQaP+hXV&4a! zhK%cB=6^*EmGKH^;Me+_oH1(tU`y0U-gD+|^L(hFz# z6n`j)X3q@@2xK0~Qw>%q?tjG##A&)j)Z6=_E`L8Lv_md6JI1Wc^!sTMK4y7Mu(%6) zR5%NVc;Q6ki$P!pmRa_ii%8I*#urU<$^OW4S^Cp0GF4+oUwo$_9g%NR%466~k@X`K z^O}n$KiMlOlJ&3nqaYG)6O=c)T+|obNv<;ZJ#3;{=F`bHKHj*ue9StJN`#8f_-1sC2{Rt;5dyiS+Xju6ZCD9?a3_Zn%$2sC*dSV z+hxe^c9UuOLTJm4zH|e)5eqWw(vuS(6q9 zT$mG|$vyJIokpyMW=B$3sKd7)1l_G@1tGlMyLMI?vV)hVW=4`1s1)XTg+h98P&KdB z=hUM=aEF9i>sj`&S}R+jJtDgYIDf=v=Ib85pjgu^1S#OPJqm~?YIQ*XHO9{*ZGyfZ z<<#n0XU@ZN@Eeyw&gC zF*hzBeJjqj{Vm28qs(m`?kp$`3K zJU2ZtPI+)^U4c6sex#Ll$92udA{iMNx`DX8bde%oDddkK>oVl9)qss-isb!`z|N77U9X{!;+(Y6{(52X5+>B-L+81Ag&4PNa?Zo!{yy?)_9=r`JOJPM zRNm={6SB^&P)B$A#eWX2LYg(zfU>vZlfq>$p#d;foIB4Lsx0FqV1Zw#EWnbCy9JUq z%tW9V%#Lm$6-vr>n9zfhSj)k7p7;&s*W~?u6Q1bgeA0cZoYI^nQd`*D0JbH4Z1Q8q ztzbq{f{)V0>mZFymN+5ToakK6Xvsz84lH7fHB@dVCQ-@qu78$F-AkygJY>O6VD#Qr zG6|C#DLs3=lzTcVSa(h znYW*%WN<#QM*?Vxkv4&CN}~wzj(+s_gWA~l$GD6z-WXk^LK)VB{$Z&r3~+VbFKT&E zzP@Fekyvk+oPR{!w=6Mz`CWGvc~M*5?oJB2b__<5+7r!IV5tOh+C5Guk<~K`0DoD| z(9Lf`_ZknVwD-qBNyFw@n4xG*n&=iz)^|R+CbSrHuqY{44EM7ymC*_ z3vx}M=1l~ti8u)MN0T3Ji_kw&*lOel;a;ip>ta1I0!hH|G7-Z&BXQ1r^xU5VU6oCn zsGRdq@| z?{@gm95|M}L8KXk6Q^T$I{qQg?b+ZAKwKucu``9PH-(%n&6*u{H0`J&Rx^%316E1f zfX0|S&Q)HREUNJ;UP~MrCh|5eXtBDdGn)b{2zlzu8IXv3>+b9tpIJ&DiEgS^M~Voq z?|jPO=dF{+ac3jNZ*4skA@{lwH|_Z&OFW5&Oa-ZdP>#q# z+A+3WyS>|zU!65Qywg^Kg=9`rx`u{AQh$ChHR5zhlE)C+==es4<(tR0{!@>fjA$JN zmt-qSKVtOl(wdG+M173LP|@~xxUe^zs>I2= z2#B;6t=veQPGe-HQ+8V=WlZ9JL0dfP`854XGU0jA9Z8EVAv-P$1LFq$Je~7RMt^@^ zelqs0)aWvaYNIpmKq=KOX@srzdRxu!J4fK&_8ZD*IQ4{(L@{d*lViM1?BN^Y>39a8 z;p9q?6z^{oYV`^}%2CeTdlH&^nq3c$LjhZXNitC(f2RV8iuF_;mdsC^uWXR|)RsdT zlE)8fkxbBFwx9bMQc;pec z$IblCxG1I~eN3tAC%`(?cFhqNZjnWjNa1v4F6$%#vT4HYPYkjy2WMV$-J8e{3$mo^ za%nhc#(k@rSCzd(^}8VBKHb5bPRCx%o1E2zceZNZ2lvC+|xtASgMO z42>QL&dSi*O{e2|Wp7}TQn#ftxWl~r%L>@87;8u63G@l&_gmf%PPLLaU-T7CW$V0T zo3-PI5Y!Wr>aa1GZv0vfdw(>=m2RA z!5@`lU}XI%YipTSV0IWTs-ZipGco>nP&dIAs|aOc3`6yi&AT_1td_RB;Yyv(eeH`1 z;?Mjf?5K)rLg2)jOGoL=V^86$48r;k-IS1V(Mf_xwxlGH)5uuol7HRnYX|v>j4<2v zt)|`cjkM-i_zMBqlX?uzo4edMps?IdVUdE z0#sx~J#Br7jrJ%O5gUEIl>U{wIO$$CUG+`c=`Nk9=<48^a*`lvHkE&C+004r?k6XK zAx}Em$Jq)@buhl>wSPEstJ;w7U*lAvrSESw<1E9M`FTMM3CzC7+0!y%#)tNJk+3JqGiS5QXLZtO?cQhjZZ-o zCWZ3fwwHP-ql>J6^)r=L3J))fV(aT|=CygkT+wvPvQ{&tgyy0trKzDgz(s#9y}^+9 z_Ei}BbK4u@>VH>tA&Q(cm7AhxhZ)o)1WVW5`|cpBSj;*!*0btMq#2~is5TsUkoO$E zMSmxrwV?}Y5JS{nB9vXL3%|i)ohk&Cz6#V7-RBTnH=h?;_;79cX0cC`BH-6mcko*9 zG0IS&2G5?^+Y6Sqd#6SMd;iJDeo}<97v_+0Wk~@ndVfHUeMn&zNjHr=N)J}b;~I!x z@hZ;|d*!#(5Sa(|@q^$8uo7Fkvg(4$zAY8jnx&q`S+Ay_^DzZl7dqHjy$WaM!3AO^ zzbvA&4s}s+sL_PoBOpZPC(}qu#wdNKN%#i3aVHWGZ@%^pXzCUX&3kMp{cL1AJSjDJ zu_sq%>wk$*k)GEFeEYdG+vIqiq}jRWvVaqr8@rB}@n!paE>$MlKq6B)t#A>?8L~uh zjl!JhAhH->_or3I&r#jFF@=z!qAM+&Xu*4P+teg(>dT_N`ba?~fp1Ac4T@seqW&ts zb*rKtOO60*i`hF_1=Yb-B6Zl0ze9e@nJX!M&3~G9mzzjQ6LnqGJB)74Ubua%oGvWe zlrE+Ip}LhzvP%4W+I$5sWZ}|6!+;HaBrORS8z?ibT3m|zn{Mu|?8{i5_?8JYY%gX&oZ9p(%*toF35st9hd_(GNGEn)>nl ztbZMXg5S`whe7i*!8eo!b;?snC%aO}5Q*R( z9+S;_q>H;f{cD9?n=v!F zh1sW>zt8+iL(iEK+1`e*Gj#bs70%q6SAUc2F-?h&#pq@l3RPG^52^@QHcM_LFLKkU zAc!_`>(NLSsP?mAVe~|qeoD|)kK@)IF{`*?96GNo*#aa=P1id6!1dPKiS}9{Upc+; z)65QIe(n=peBoSuWc%flWW5=E8mK}mc%G|E-+il@y}mYd#CJ$FFSY0hKg0MEpkLu2lQ&wje2wHD&Dgnhju-WjHHhe4QJbal^%8%w_x$ zZWD1?C4hl!_0kbJAXzqb{HsMasvsLmTrMr@D}10!y}!?=F0H-dj8ckNHGjdFtUP|n zPt0Qc8BaSN+xQaM*a=}U%{m@7eLWJn&?|J5h*Y)D+re&YnMOvh=M+#)&_B|VSwxh} z<2yZo=2!K?4#DNx%RQ0xgfyTE$i9azsSDRmZDC4CpHWQqv$QMzx}dI~m6!UQc#@&7 zNZ-J+(}hZqp{fFs#+A(!(SL;F^PYlO@Ah^#3-MNDZYDmhs}Xj%krmG?8zr$<158Zq zcA$ymFnkMyoc;aQ#YnQe%0WQ6s5Wf0-=@vEY>Ps24%-R#aU=4dUA@(oXjwgUoWW%9 z>nHF`1#*}Zivq==3@oS_JCk9q5JduDjAYEyA%@PX->-I4`_Fy^(SL3i6+2Ydi6@|;oP8uyp+h>PYPh3@eHHNh= z?;N`RnuiTxSGe6-j7K}P`|zm*Mnr_2GI01~pRMG!kz#G;j|R*;h85!Tg4U~-Cdc~e zCv`oF!d^_2s@FnIMt`CFLh*~yp9flQA2N7ktdeQ1ZPpJWy@InWJ=WpJ*G@9bg-J#; zKOO2wIpf6*uhgUyu8Qhshm-K&v(qc7b1u9{I1zfo+$;o8GiRz|*cpII{rry0XH>n3;trKC*?AG$Oz%;USImtK_}mzR-@{=Zc>}^$v&BG~JWoV0GVi&?wcB zs>aX^{bNv)_X)RNdX4PtF7=I`GTHU!p_eMo0 zzsb^3H(vkgT7Qa+>Kw-@>-uR8A6$}250Tg4V=3J?BErn=`t;Pdu`6+qM8$l3q8645 zU&=zURjG#2A@6Rqctbm1A9Wm{|5K^t8Pk)Rix{o3oh2RThuiXPFs1qZ`9Y0Yi<155 zs%#IvXsCzB0#6E^WyYcAlD;IpqO$QM6HlIM*6^W{iGR3=_6ep+O&wibOF@`!!YAyB z0_7AzI>4Y=+KkJ$wq9Owv?#s03-?6(oeb;cDAtUv8L4RIXapfc!AjA7sKNqlSjW4h7XJT+A zP1jOtMiE7u_*;-Kk)tZ^*N}T7jikl39}1f8oZT~CR>!wOK?{W}QH>m`hTm|*37VYR zJCDx$yr4UI*aM2q#KRAObvZ!`^U)4(q&=RQVTXqF18ra0py4j}PA+0!2KGUubNoeS7G?*VQXxLLU1^U5xtkhUKfB;<7k>te8E8yw3GCNJ#urI$`-}J^EBY>0Us zbkWx2j5Di{Z7-^znw=lTuN!UJfF5|8HckloJp_$%2W)<*X}jl+VtRh=^JrS{FH zr{W1Dz-#Ie{w7eKQSJ{Dmh-}tW!8NjzPOJU$c-ynl_BiLT$un251kmv8V2v`ZhyFB z1_@iEsW5etXACtb3W4K?3#AL6#Akok0d|dxqDmegqfBI(UsmNu{I)zAi>SF*xiW}p zmsPd9j?tusZBkg=3{Q3;9T=>{fV&O0wo~>dO%&%`gQ(4P(z(g;2HZzTs?JG%*f=;m z;fmBWVsx-C-lP0NOu)9T!Y+isIdG`#E&UMgF+P#? z@N%zSPMrGg&#(a&Ab zR_aNNU!+>{^2im|IbV?ye*n-N2y58DRBTw41_uC-h8E(kTNmMFBlFYGf(mquwB2^n z?O@&XM>PEeH3g9HULdI)Uw_gqC{iB|{ZTXt3NKi`B>Wt;gh8S9r*S1x=;UI9*}T;_44Zqg`~#B zTbWkwx$hD;+uJuT9~zYE9VARaXMaKc9I?4N@QCoS7snWW?SvNXQmk0ddPHN2|SEiN*U8ynS&Ns8}&h^T_;k2#fy2RWA_tK`H|4PmE{w^~COW zH79b74w_9(txMv2wKf_lZTuY)rh+MNQEH_@rb*S4pUENKlq z&)bIv-q(k{V7{o=FG zP`@W|n`ZRvXCB(TSDcpO5@LXEoaf8e*E{MZoESKhqkml&v&^cBBMmm;=aKl2;&eUd z1D@zq&?*f6hbGEjv8Thws(wLV?+uh1MNzGH@0gMa?b1(TZ#weipFe+!15zMOxRGD zzcqs=(0?{*1Mf^kJ8iHm(4_l}LKoLP@i-t^gE}9Fqo~gLg7`9}?}w0O^+p*zeO8Qr zIe*}>7$qDor%z>`4_sjJu#u4|v2(F4mp}0K1;AyUt?raIsHV2WykNj+ZIKFp$ zD{W0{Rg(RIncD(6TiB$f2QP|IA*|Pxs=;FpNq-7x?}?E+IQx3q5lb9qzKVL+&Ro1L zYVbL&@Pk6CVCXk-hAZCF{DZ~Ai|=#ZH{zToF?_rZh$1x_FDTc-S(-7nENH~hY>6Vi=F!{X@P=Jc0pYTwtPG{z!>yos7WiH7m3&G6}^DIbO*U^r0WHyKqMZ| z=zov!q7B?=F^?2mXHSFljLLdgYI5q;$2y<%f*&5=k}1KjQnmtO^!OTrTbtu~1`PWg zVt-gPZJ;)$8;1D@^43!Lg=ukiFd>4m0GaDOswm^hARsstMR}MRNg-7wx3vu2$n0Zv zfHhY3Lf&~bXyp{NOS4_!>625plx(zvAAgvVjXqbg&jT z#iyHB_g65&9uXS`$QA%_!b#jFQbrgp0Up+v?@%w;oLkFGrZ>TjbWFJm z80qeWM63chwPV3NS>GcLG2*YRrb)5;P~cfd+TUI$a0D{yMLpN zDz4qJkRhAC=5TX+YJ?jP+-U+werpBUj?7aDC9nobNAdn)DkIm9Cu?5~RY$k5-DJsV z(YRinS;+=ZqfV(qYr|CWipRw_78%a5tZnQ*HgN`^b^(fGKNJ?t1Rv{$FnYlymRFu3 zHHS-3IEVWhaAetTU0{7ckW$#zB7bGKW8&gdrDL)h(<#f7{5F3UzCSi);=63UV{;&F z*sdGfn%GVzwrz9bWMWJ(F*~+x+qP{@Y}b~gN6Qc;Yso<4Qc5h7in$r zlPx1hZ?s5L%6k=D@X>2uMu*<6C^6VP$MkeIr9N37pGcLG`B+Oqb=Foi`|trUD(9Po z2a!rL^1M<%@+}GK$v4{`JyIg+xxLYB1f z+4{ygN&X6S zX8#9HkKZ1T?p@VSP_h9a;J=u_^l1q!y}D^sETwX_?X!q|sCmTI~4O|v|%;pkQ!bNAy%IZ52!9q_Y}}=yK|w%QA2Tju=oRSsDimiTE5D$Pfy~* z)V=we#w=beg)d|%M*%=Y*A;lSaWOWod8#3=J_&RQ39J5NGjyt-fypNb$_H6sxUqXZ z!-^}{K36S~BSIUJqtS_5ko4ICB{hj~(!{Ee5VTAegJS_Eds|p~Ov@Z&)5k|&Kzqt) z0Pe5yC=oU9UT}bem#??`%_8I_n2VnPl(=hZsE5?|ecuy?UFvRVH(j923-~elq`~Zm zK5c(2*Z0=yGULuAs*s9OP-!B=9O zWk6CP1yAC1Uc%)GJbueJs{`q2WODignMn9!gFSPoN)#D945>?v;RPIaU!Q1ZcMK%B zj?bkw?`UXq7JVC&Z2feWS+#J0ZmGp3=d)C5>SBy0;rAC~^j1nHZJDfuDJAQ3K`Y1k z=&%=s!w3N8&n57mf(^t$3&~X=41s~9EG=^0o9*g=0!l?0^f(gF7(%dza??-c=U?jL z7(-09U@M)Vpiw&fNL!6GF8h!(a-Rw*AC*BrNLN639?*heN=k+`LQxzbEFM(&B~3pWVx>tlA)* z5jLZkZ&J?mg=@9s7-!E`b<)c|f}&6=cUCHV&ApAiqWF$=_OBR^COZM44+)t;v1nns zi=IpMiS3hMf2NnE+<-g2v7B&eJ;lSo?y}$J^__2F3l+Hp2`oZvG@}L!)_e#JajKp1 zA4{OTjD|~lj`$|SJ#`?_HQ+3&R}Q|B_rIpfe+1BGx8(`@nJXNOEM}Bh?PI>OK{Dm4 z2I?m?_)T7|tEa-nqBJo=bo;Ys;gULBWr{3XeH=K^0nRyI{{2K(ms@XEzzB+#JXr%M z>|uB+uBUhe42<+M%iVFfl`K<`efwSn@eq)IHYgFm;vdctGnnm25*XIn}{M!5d)?Ejpa&+!MmzJ`hK(K!(M zUf618hkRqxmGIHPu-K#g!_Z_Xegbo0DXztfz?JJsnk2cVD^eL!ThYv-9kA^+HG4Q>RjM_h(;nPdq$iA(cQ8ztU1`PE8P?x zglduIa(EZf5fxk^wW^tVH3y}^!}{Y-GJqcGhDB=H0e$B-WbIsyN#2?rbe$t5;d@Eq zOL4`w<;5a5G^ChH+n{Vg2f>WCV+}NH8(H}yds)6bcv-*Xt_TWd3W-AV->he~N`UtB z3{(46_q0a2iDqF&Wq1YX?AbY>r$)<k&K>;C#w&S8 z1lszkW?Z#Lh9yCz(X)?E)&|9)r*@VXFSJCjK^(7&PZJ@&*31%C5eHF-k{0ezsa`D=v=S55=>8!9UmyjcD0C z+Q3lhlTXN8nEpqu^$Vt({uZlsERD26s7*cNFXU(;KDn_u()it1>!6WWP3r`O73dG< z`vN)zvvVprrnY++)6&^I#gfh@7ZBb}cb26v+9by?)p2-Lu~)E}j6xuBnH}RBuJt33 zAn#?IkB`|K<$HuJkkUyz!61faD8R`p>U_o{PH#`HCVYeFHeStIT zX8@a67bmscyYzpXWPe8*R?t$%Dc=Lxmx(koOsX-@=`a#J+TZjiXeoFWmJ38P^DBd7 z&7}hF-~%x&ciNRbJ0yTE5kZ3p!?piZcP_3qLtTr9G7r3U@IXMciF^zPfRFDbs+ zD8sprV@q19KHF1>KUF{$<$wR|t{>Ptm`0k)5c!ll|R_nv{ka9Y8Yv6k?K=FXd)Y)sG!jtzs zdkwI4uGVKEI)VJ}gE_7cHY?ves58iC$_OGIHj}9bR%`I~R}=fTOOl&1Hf5$M-4u4# zUzHz>q*O4fe=KojITaFm){qpASl}4}d9Ll@sPL|^h&V&hbmh@)7~l)!NNQ1TWva!R zP!{bpcYR5&s&bUOf7MhJWi`)S&=4rdBnQNDsk*e?5lOD2LNK#KkE^MEqy3-vNlMM-ooCxsO4LxzW+;vq zTXbo(k7OF zj7phnb2gB5D70j7ecOd^+)uuL1nB2p{8hMK1(SZ7+m(LDN&-`awJ691= ztvsR8Sv3QAK?tyfXv`4!C7Y+#rS=j0jT>ovb9mDu!m;z%08&WN{1^ zmL~y0Go2LsNwqMfvl_c&;2#CVT!tw_?nl5i3gX`KgYD(-1Vb!)=tir@3|3o%69@1 zJBcDR^)o_U@=OdH0IqU#YIL!0NW=!riF+e-G^0(FHn(UaG zYZrJ7L={<#fGH5$rTImdlBAq}ZoL)x?`zVzeLAr!6HM3Yf@{i*cC+BY4|{Mje{MH& z1La*D?#Acpzf`FWbGz+$`Hga>wspEhB2g>qJB@hfzukB2Il|AQjY6mnZT%?h+(l?j z8)i@b2YvVRJw>>ip-{BHsMBanQ#e=Qd*i`60^Wc6yK;e11dA}(f02Rp)h$Zfj1grP zN(2XZg4-~T8i)wQYqJ;MPjrbZ9z{tXUNI@pj$Qg2_SpCn^cZAq0D zdr5!J<{{E>34-2`eO<(KX}I1{Dr?x#!1mOx=%X0;XJz(Jn)X=i0^{bPxO#eL>KX@s zvG5zVwMa^ipvA~WV{H#sY<=HC-KlUu!9~s;!1GpVnKrTlic&U7qn4^L6}u!eRyb&MvPA#ac;H4ObcNB} zTbrY?>dTQ)P1wC!{_ler-X|WpR7Zy6u*Lw~-cBC7G2>zm7zeZ$?V)L#d( zAlfH8@%qGldrMkHSP2fG$HJy`pX863g6^2X3S$ji4x<+-yzCxlAM8D&QTw>QOS+|M zLD?lZU=PLF7QM}ZI>Jh4tH}#7{HSJom$=^IC}h>@`EtwR*Qgm&nk=85mdruxINKeW z3m1t>xL5JliKZIZLEgPX|Q#_E=uRixkW^Sfnw{tTW|J1M_<}0`v#qn&EI1!P7%?4XFE#kBdMADNL z#L4a`q++q}1`?*^F&9R4LOgmzX4`JBa9$O*@X~*;i3&&{!Sv-4;bD;JWLr{uA`w(_ z@7Rj7v0}EToSYWcO!A$>Va&aT5 z&Z3}s?RHU#J+f_L5RJ;lc_nYu8af#A7+1Di2q8B})bQt$PoKcx7aRS%^6&$$2k3CJ z_5>cY6ZrW-NjGCD75%s!|AHN#>XO6f#-`+!Sm78kh$v3D< z?2-NdEfUT8za!D8>?~~mU!N~0D;v}QB%(1OxL7%v6G-f-fhbpKC3NlOpHk4EWhxjV z*C-y)r^H>d=pryEeh?yHuwAZ&5yX1o52XIYDq^PupmEjyY&2k`pD`Xip5O0XocCKM zl-%Z*UCXPUIZZQitt*joL28*h(J1m<2sGrh2#MgOrx{Y9zCsR0#7dEg5fcdEP9Yz{ z(rxs_Fm}}V0OfPfg%u18OxVzZuvBG+06tV}#9!#paB#7r1F@n*Um;&?6zX>(NiGqj zT%q-}e8={E`oI*d54wP%%@}B1j+vT#b(yh8i0J{3IZ@ z8U^_x%rKU>7Xv9+BsLXLzM*X;jm!Q^O4{As-A{}R*coy4i-#$q?7)k+gUJzZp#&li z!roNq`ht#v-*qqy!oS`fMD5&_>(Z%*?_h zqpT2_cL^f-`}SyqqhMlvW?a>r7>FsYTpOZbBRt< z@Nr)OZ9=gi(!?m#Kgr;I-9U*gYAZ$=|FT8`R0l1}4?iNO1ZTI=uVC$mlR;nuc|>ak z3%|CAiC{p&goMF9zgu>Os`2A;5*uR!F7tGP&yCX~qu#>08-7|p@_t*QDIz+bpvhLl;V+uvxz!dAJ!G#Q;B?35j44`+HA*t%8G+X0K2|93eSKdfOZ2A(0%|y@Y+!FiDGI))qF!fkJ0)EO>h)jjn%L09TZ(ad zc;LBO6q#`hyv5&)BD>8S-DD46JJ!it0w=F3A$8p#e+9PhHto1<9May1j45Gb&V4+1 zR|NTdRsXi7w(?kXtJ083x#;{YLOsXV$I*DfubF3jg#pe>qH@B)Eci$Wq~Cqc#Ymrh z%+W1%(0~>Ct%vPVd@W7ef zpRzcGqawXySb7cI$l?<{3cVi>+FO|s*3u;pGSw0J6lHh0^%^Y+0HMVnW+(LddV|_e z6CNqmkhyX0`3c@mshMaQ4#RkEXZQM_W^&lnEpvKa#y@w|*Ea6N!abmE55Adf$%HWMrq?X&Pb9N$Li;@vVMa|@Uqmu zGwoi4s&*PpT8UehamZmae5+4tj|&HVy&#eYExCo5rZe*~V9j6IKzJTWG6rq=q6+iL zQupt36)!_`a7Y;*9ib>p%H4fHK*`-eC(Ca!e;A^h6^l@YSf=Oqc9^GAjgUejm0teh zqz6;n!*i5FU#=$4Mz@xXU-1P$OE*p|^aNnS#MB6E(>Kx#vk>jKT?dunF)i^P;Vb_A zG^rb@DQ$zo1P;=$2-vq~;=6Mwx60@49P59(@^XDO(^Kh}Ji4aSP(^0(#vhXGNq{E( z77%rL@>Kyttg?k!o`pCGKCxaW&?i4M_b@`l>LHii!j5M04#-QSEQ=BTV8y-rN1$nJ z#UCl&l>44Pf<0CrghaTE70GJZ#km+2)6bGu;2h7M1sGB%VU--@!rN;uPky4!+S3^oCR5ctc zW1&!a%YoE*b3Jt-dTF^;(O>m%Y}5XrH_#Cx8KOY%s0u%-`(@E~L2{YKl7^ljtY4i-RG7>qCfBa;R$I?*eJD|o~fE$nl-(QTN?+Xc%ngcnDNdLCzguV zic=l?;%}ERaZjt2H37fNf%Hx25R;O@RMgc18%ZRYQfdF~U18MPS&XFbVAK$%y`;IR z3glT&OCqmDyRaO8N`&gO|A>yMn*{&c+&rTvNaY4ke_z6!4u7~%&!D{4-L=!TSX64e zKj?bw6$ej*^Y@9yW3U+xw!y2Wz5Cs3akgv=YZ(zU8kET7}M!^p!&Pby0eC2y!-qJ1nl_0H8lJMIZ>EGKj zEKkW#$D%U4J}O9Y%{1#cgG~=W0^ZccqD=eM0>P4h6NnRhl%EsrfZ!$&O(kXPtZz}H zU5Q^L8!*DW&7W_^4Sn@H+!trTQqs{y;LVjFb?%m@{NWjD(K@6m>M4GqNjQqnDjAx! z|C}>LZvH0!`VEGY$w`R}evV<5Y*6GwRO|FIXMfk7QE1R89B0nREotx32Q+oQd$#H* z&R-;_H%KUy9+Va9ZT#XpLY-vaS&Bu!l_%|IM%{`gzM81Xl5nOduV-ASo+W{;FQkgd zAeYufpd0b8e-&$0D+nHJUr*S6z$Tp8f8WSo#FEQZPj|z1Pqmj-Drf%0?eO)OnE(&0 z$o40Q3-?`E+vIdL81>Q10?wtj^5C&}eR6v#_ZT!@+3u%OrjVqIvm@UWQt03}7WCsY zDn7^?Be+?3+}jHb*9S8Hh%Vi4)R&GO^a?ddW{fz&o3quowJiKs76{e1Olj&0Pvj|T zhE3+^-IFFZA;nnB9=Xt`+Nr98jURWq9H16~5FYglaJjVHc09$S1oo7?r`bhD;z=FR z)H6Xp6LYrWyS?46R9Gadld`i(lNh|+McGvQ0=;?SMsPHKk|!HO?OI>yd6xfPMMt5n zwzr{3O__7bzjE8vLC536CB=g6tY1mX*)4CW9-~z4oKkZx`}bp2=ftJl{*v04OER)UuhiDU^a4-LUC5m zbVE@(wa&jR0+*~1_CRX^jK0?`^1w2Ejco3~0tpw*cu-9@Pyl8irmmHw)$k^mHuj2G zd70F(*pNQ#Sqv3QrDCNge}RzUBUhci;oKx(#8%j*-UrCqzNWYdz+_n&Lu9k`ed#cg|O zmjCen=&NL>>#Fnn~bSwI#AOF-ra5%sXX^7)_~EiB*%9^QrQ$x(_$J{^(dS6*bi* zjGzaA*IRSR7qHfmwqJF{sxn6A^5=Vw{!^@tlP)gEBD{yeo{TN}dmTpium(hgLylW} zy5%1gsl7V^+^gb~xIoJ(+spfvv=9-V|H@4D7Uk92JaE9+V*d*Ni9yZhT$-r$tBq{? z(nJrtb7o=WZ{bbnjzf<;M=O{|~xGx0?oL(4F>uVj3X5}Tq zJtED;y;X{&2DWZ*={(mesqeWU$$Ehi$TC>VgW$!4o#E!pafj(T|I4%3%~DaXqikQ5 zvgAsTC1A1gpqspkTsv#hETm=HR(~?Lmv=M;Vrip|kH!w82PGm!tkZRHnZ~irG@D8q z9|^YX>b#9w(_Js(y@)tg`=;}PcU#kgo0`l4*==S~d%DZGz=iap-QTSF!P5&BG%a8a zX}!OS0e<(GTiRZy#dAmuWuw{u3fBwttb~6+4p8Z)D3@1iVo)5QGI?A`Ob6FXgR*e$ z*!6-;&ai`!s;u-QnkCa}dFQw-_){5BJTO1eE!J%APW#PgZ<8D^kEG7O2H5 z=-4pfKWpV7@Mr_?9`S*wKZ*QlNK_k--9<6NdP}>r{4-F%oIUg)TsLHE;CO81S#@B_ z1$Z*|FJ#;O+X<;_rBfBraricS#M?2@EZN5K7#LD`FBw)h8X0EFGxR9t`01S*RnD)M zvqI+CDHhJlv|w!71uM+sEbF+IHxc-JlEM`kUfPR*6jO{)ww_>tdAEM@4l%rB4yM~k zF0E7d@x>{*U!0B#g8l~$&xcOVjLsf&4bVY^;6~GB!jn#UHZEQ_=J)=!F+M4PG?khL zW8al9yvj{w_9xXmqUw8e=c7S60c|J0sWmdedI5*A*k)WDefD5f{rUBdw83KC7jKoU zWH8r=%h37x>PpYQVo&Wn#1a!vvwTg&hD$iL8CGJZEUz_;c4Gz-m3iV{lfw3B8So*- z5uune7?DCWTZD1%dbiabVf}DGK&AM{p=ta_Lyr8^WB{hcQ?YAEbPR<*`Nfs8TvK&X zGtssWy$+dm@y(m}S1l(tXj( zN=x)oj%s3*H5cSp+szluYE-cQmyGj3wpw2@H&yn_RgpokplhBmBu#WJ_I9 z4M{7uQR~k%yF5_p$Eg(3GP?@4p8`t7I(TAWraq3w{X?jm0I^ip`Hm|!A9p6hvFzDd zdVn_OWNRs~5FGYWXZ5Fc-d!+&;{ z8rmoMxcYJ_C@;apJUrP0NcIV6RSFcz+IqlJoxVIEqcr_LLk^Qcf6ijavc-N4iz}MvRW`dHZUE_ zIjtklcJC6a87t7Sz@#>rVk0VCu7nQ7fMTknZh33mjLm8!P~=&W@Mv`}8sM9zL-kQ? zGqumnJznG^yPklZW3r34%tS&P?{sR-Z>QV6&$Uhi2*&PpoCyn-^-k8|kV|6?b-*Z$ zhaC=^k6c(#HY+=Li_2SbT`YJFq^apiLcbHD-!m*cNt!xxs%*>%U?WW+7DRDU^VehR z)#Oaj5vrf6Qn;e;bUz&_2+o|m>{DNJ?kZO)KiyS{X{k>&I_OJwJ{|sGbUf^Cf}I(^ zy$qZK8df3`m}vHS^+~s3@h+0kpq#on(;rV@z5dal1(fR@#cCLF)?6G}hch)~)k)Y{ zCXns;+1IsszV6#W3zJd_yw`{>4sA}dBK_f^GJ{BkXraX`?$E-VL9AhuHdjroI0< z-ckcof`45klI-O_hRFK<6JORwlz&#wSjkii4J~Rezoc)|<>{+1gWPt+y3ZKTx~WNg zFdl5zzQW^!*~&YqXHIQTQ0}$++#9)McSq7(cGo+t!T){NWCbrTZe;%W`=HxuLAnW9 z6-CRS3t)>3t?7T-NI$GI2D6ol>FBvjl004g+tnuMY1S zty1Q>A2h>t)NKnTvC2pKo_1@f%`8op0oVhyIm#C$=@831!p8RM1X-!R=>2Xb&i>t@ z8e-jaMZ~YhkXtJJJe3M!fr;J7 z$j!jo=JL;zgA@je%cXo~>Axg#!q!S#YR`eKGvT)S?73^@{JRRuUE?r`*^oZ@^l0gT{AB9?%1 z(X)@W!dj+{$8b|lXV<7Q??{uYKw!O+R3^RKJvrjr`##6Ol|D=6)INb~zzS7Zm%(O_ z2;UN}hWOAhHaolHVY3m3=qgV)6jyXBPzivhxvo2k)})B$|Ff7z+_kb3ahZYi8y+>G zMlu)Kal-Zl>6p+NpyFXK1V|s};It5NB``lKS!Fk@eX6Y$X)+oX*RO`@XJM(nv09;AYxu}Z2Ndd$P`MeUY|zd3-Jcl z+#u3sw^PYO4BwU#47Q$OcNMyyIup66c#?tig31-5!KI_PtG|Y007wH4j%m6cgX)P$ zyEDjJa)H!$X3a*&)qroYvXy@iq%XmclG;CH6i%BO2B;xBx~v%Rlc$fYXS1a_!cmnI zym-Rx)xJU#$h|rK9+%Y%6$Y7nU`(7~-G`)~iKr|FN|i175pC~iY`*LF*A#GDO+cJbW7Imyr66M+J5|yrQDWkMN?6>|y zrYin(%T14qvX$!`WaKNXtB3FLK2?VY{36Asuh~kUS5MbrUat(M6mWuX+gL8<1RND9 zKOsHSx}|{Yl{+@Oj{Ru|6@jdQd2Q;%FfrJ9wi3lI=FbOdKmuh1k#gcP*D~y+(R+W0 z5yz3#MJ7zeRbxB2MHT~1R$Yc`qUbq6qR{d%v*i&Vzg&`BpWFjAuM_6iT+Y+|dxVHw zo5G-}faL1}lAW4PAnWu1*|L>hkMO^y$D^9tmX1M4`1>J9O~E^Kh78RhbZHo5?wTP% z4G##SKTEwUz!|&*@>~;E=|ym-=O)F5bD)d0Nxd1Fingt)V}kGQ8E5>#R7YbOtaaSk z+mWJ{)CLG5HGJi@04DhRA4w{hg%PCCHnzs~!2IQOEH9-n=0nVUqhB<;8oskWf{Dd4Ae>{ED>XkWfc|*gP>~i5uaC*QmlNq9RG8jp zJO+u00Vi#RDe`pTCp?($qufXeGg;mm%Wy=PGod=4HE3y{iE@E9%5=)H&#cf_i%>51 zZFLwaAnH+=k$%wYw%2@9x^`$nU6$j!Nz)Pj>Se0^3|2D*GhBY{yv#Qp1bLsd*N?81 z8Nal4fu~}IxR?>^%DIdIS{>e(!>;ML9FfjWg?Cs8Hry`8njaeYO8PpH`5dMTikCPm zPm>dkDgV^l#k)=_LKrOg`w?_2L3pS$nsm}LOD&=}`gyXjXD{@;D9+el$l-VE7Y#JJ zuyx=Haxl1|tzr1exI5SdzVhprHZ}8dQOFCh0WRiPpJEEx=ZAv)GUK%rlI&MTOY+lO zv@$h}&4$Z7KS6MZ#C@=Tuzc~r%H?UCmq1uUw33gER5si+=7MGGkHbu75PUI~YBj>~ zzL;*?#JqwxyJsyZ&C@AMT7Q1EO7-Pd^kajePCzVmn{v zK=>86qWh!pI)%zuO$~rwc3dkge(kU)5$D7i>9pg$La-kC%ikyP3Q=t%g7SRTr{6|S z58ZZpD)V&l@^NQ#se-jB$(+#o;^U!)+IwGiVNZ7A7HRK{g{!KPu}t^22K z5YC8AHYFLB6S-w5XHVnS^hCHYZTLnaa9$sKZ|*_J*L4JmC&^VhR5IcNGceUPl#j_! zT)03r+n~Jq(%JnJp>M2kqGeXo^xN=)Auu5?fB%X%*f6vFr?##ZdL;bv)LEaBh|E1Y zugra?EvcEDP*`yF6yziLuda)e_(GPOKquYd!-OI1f4oBf4$c|<1XbF~Xpiusfp$iN zu#pS~IY+a@UQ? zOyV{mJRlLven6cUx=X`_B^zlVv@HwF#gDwMqZ2tDT9D=0zM55Fy6HZOBVS-@`*L%Y zPflthvJS}%cZs_k4Izk*p4XG{0xH`xTPX3_9y3%rEfuT}j#&&4KF@URKIhRN1zsk? ztTV$f9U&m_%u2!z$;Z?KikhLo>+q|bR;9E)vpkzTR@>FpRY?ucXbdS=Wz?}weKyT2 zhMtY&LaY?o6eoQ!NpfYaV;+GfcM&;%R$jxaa5hA&Y-!Otf0;thwGHHdLI}7!$@(`c z>fLNbMw%J}xzAaT2Ai{GnT1BGJNJ1bXvqa|$eGi3^<=o)bT9MNAN|MEpj}x|q!nKXO8Qy%uGQJShDpp&2BD?6K4*1g${QCG9wI0yabuprWEQ_ zi0!(kx1_kwx`gt~5dut^X?zK;xZ~!sV4eLYJOBRKo54d>&SKb3(FDuV;w-3qn3R~d z(X2q%DaJ~e=ERmZHz5OLioa%)XnI`!-OvG%tO}sOT5~yeE=^fE6{(n~euTF1Qt9nF zUW`UrqLif*>I>F9C0H*}N0vqF?zdRhhSCCm`!zriGI;*=GE=1hgWQ8!G;bH|s^~bD z8c)B5p+l?@NBcxO3XwZwo=0w>&iogm&#PW5UewE05HVl@>0+mOkG)VxFg~ z`)vis&Y5x}3X0isVhyIL4ffxZ8~)#B(J1fioAEaRB{(nIVHm?5% zq<~agxL#uTi9||49LnV68shZdg~Uo0*^4kayZMuXghYl~ij#D6QwmN6ZGQfgbC~=1 zJ?B4Dx9gNPYtQrQ?UmcpSCvum^4xK90C8pBI7}-mryz0;gp#oAwi?3d2-WDo2o;E- z8HX?Ty6AU5h#46*8l-41#aD_y7#aZgSHd`)*t{_t3k*rkwGR3Y9_&?|{6(DN<;54w z%WLmjMU0rjH=I}#8=`awTurh!j~b)_tbYz1wxP~h!r;C}k{B{1Mdf*omZ57EbOXpgtUn#zw+ zT2(o=e{nSl3DHN=gCYDx4FRkX9>Dpp22{?$^^ie>{-@scBX;r!{)zgR39AlSn7OH@8o_K0!qgA0J`}C>JPg(LaXvy+CJy(Mf}#xzl|d zlWQ(FQM%`cP`5!2AgGmp3Mt%s$^TXG)zQ=GQEW9n9G(fVe6`5w6Ye5C>|q^%|BZl$ z2Y-DX3iQj*-xJCKfc81izOUfEXCfW;7gh+R55>k4mQT9h%RLZ=@4WaIy}+ACq)-DE zoXI=#*w2^1*WMGxuW!5ZZ;sa<=8u$=?;m5|yu_wIJm0r}H*ep4iz58>UG@A>7fM(f z!r=$ehIzp5{nlB;elxdd%0)?y7yx7!GlfrtV*}Q6$0ny3fx!W)2k4NzM58OEP^3v5 zoA(eFz<$7>zzjJ+)ER|(rDoH=d2j!n5yzvu*X88XPvrit1ty#@2iU5BfF>jEIg%6l z1py;MDoh9>z?KCu`}wpdiA)Z0_LVUvq)*7zkMjpi?Dz!SD_983r%7E1dlde!lNjkn zo&v)OR&G$we>^rSTl9Z7Dp60YzTq+Vz9U2`FTb6hx8M8$if_mQWsLShrbL4Fv2TaL znUE(tM3FB%6d}*%*CxKaQ2?qR`oP(@Pfw}G4=6-(5hk6Z+u;$qY%f9-~-;RgS|y1Y9+)UyUjd6S4ern{lw@!+w#hMl5?vJuKjl zWIh(%9;k;}WbAm1X`TW!jD!JmM50U~laAHAcdq(JZ~k(o5mlw>X9ciibodO zNCcMNvoP=1S}wt)Uh!P|8+u`X+T<`>08AK@wvpX+nr1 zvJKL|2p0e-`67%dHbF+B-2RSp5_g;7`&YB|;MxiP;Z>Z_<9=PkF??nCOJ~9cL$`A7@n8F9tBgzH1}1`uD`8EcI0JIq+&`H@C5?$I42&9e zy|=%%sTNy8;64uxJacB%vuy=R5k8Y!CjObPOoXvQ%-|s#$+=R7rEwdO#0&u{Yowos zSM|t13govD+wY2K3Wh}C6GwvZr0~ns-uT@9=1Y_|%5>%cYr+#DyGLqfZ4Y=|Ojtu0 zuR$TE_tmrp_yQl~mkKg(-iz{;RxP>QaTW4@mb_?6gg$*tQKFG0Z>=(P- zE!Pygh6+dMxchR)oaRZctV3uGsGY`^k4}5jN^oHS5qoz*IYNS@(jib+9SwvKXH8*3 zq~UZDl!(%i#1}uZR=p;>jhY7`k?{xy)tLD(d+{}ozRxTMj-fo=ec8o(jyiPtic$G7 z^5Rp@YjicxMD&YudS?Fjz(F~A2~D~zOTMAeg@mmB%{E%G>n{Dc^*)Xcrgi9Oe$T&CZ62@4b*E z-&c42PBvc-5`IVRQo{~`4l4R^(ujID6*TCE{R7^No}l$_2M5rje1QQN7<*_rT}}he z|EPbn`9%M!T;e)tIj;>eTkJ0hPa5P??>0axWu`!70a`9LdV^dEo@ zHr716QTKQ-)46{J=V+r&A4Y|FU6>t%FyE|f^#(Wxwlf1ZV;RTpRe#=vk=ZY#)+Aq?~Ew(wB ze2bHUs(fErruUH;D}7>E&bgCqTg`(!Hp$y2B_DE{)r4@E$iLReZ7X>r{RDw!FfK{J zG55N-{(2L=y$qpYNQTpSt4_;BMxFadw!o_(Smk@z>I=Pyn-ch!?%Lj4JnD^#k|*IX zVMFm2d<5`tXvBaNldxpabS&c^M=2wsU=a;I8OWE$#?bVQH$jRNMEbY(i}_473KJv| zi;y}wgv4vUCAds-kVPry7us@96=- zT;^L}luJ#^WufC)sk&S-mM%49EL5Yfvy~M4#Xawo@go)rr{WN=IEAx0Dzmu)q^XdIPA9&m$I8)Mf=PCZQYd{(cf<#(l*OR6jCp+&o0mvQ-SnM0qHw^#Co^O?4)vpM z+x&`}(2njjSr#|AL!wbD)x>Jr;DE)Ri+va#Y>=RJ#S-y z5i4Kph$rMqR_r9{UCy6x(Y#A?Gy47}O{NQGX|hm3d6xg+a=;1f(LBgt(jC*%@E>Dy zh=bZ%y$<2}CvByRLVb|9Jqo(D_WhsJRqWIg*tGRpRH^hv{&QwwK73wv^Z>(bQCJ)#J%SjB0A2INc**2P{Z>{m0Mhm5k zl1sg3p{QDE>ezDv6T8^4oV%NZg;3*nH?DW)lS~&Uj`p&y8gHhPujgs}E1=Lyw2{C7 z#&TqVJus<4+BXFkkpRHFmg8aUse2EM>mOL5#5dK-)Y+^>Z}iqeo3m-$~MJuZNNLzlb-X**K7aK(Wu z(Loe(c<1re$;;1*AmT?2_F;`%IC>{bUv&xh0p4H8R~VLvO1H=dMJa_=I800E&L{ZA z7sMeU1Nm)s>|p>k{=$B*)Su6zMS`E{Q*A0E^vh;zagcJ9mni@JWiwyo>yVPE7>WEj&srmLGSffjBzyF4yVvg-wIGYMwCq_VHvO| znyk&EY@ry6uiL0_ih>R)_G)BlOn|PHs2$U~bCAc7mbTYTf zbYc5zl@@>+5pV}pTX=TcVSw^5iR~J(eRC*d>6%waSV+BETbOl!53ZGGw3icUdTU*G z4aKe6GAQ5c4k8}Ux}F%+?ksj2tAamqdPe_TdRVw7vEBf!=d3>Y^c{jcKXphv6+6vc z4o#o(_3_BP23ZhZdAHx{q{M^$-lD`9FTpP$^)o<54C+s5@KW(2EJpg?`;Lek-UG_y zPxR}`Ie`rJzRdnEB|%Rl7SD*!oohv7<6hW+;EtmY4k4nypyydQv9FyPqfv>73RcOuypEf&#$2Fw3wTD{lh<)X5B(uL6N91Yj@ktKL) zzvKtK_@O$9!!^jYxB{VuTw#&MAdZ^auly?M{f)ZzqM8Op?;F|;;<(;(=jlRYnQ0Np z3PvG2H=nm|BM+=)qiC{k6~z%HFNAg8`xro;y*X(B4$y~AG4GBeVM_zsrfYtXjQ0q+ zV?1)XOvELN(DPP6+=zf>gJkV3Q$QmYAS?6~9*68~b7M;eSP*lyf4_N_SeI_&g(C(f zxBuu?bqY`sley4&b)7+PBNgiJfwYh+8hlXsf%LD?X_TMW8-7uU#7&eb>OW^`tmvoj14NlX!y z9*7I-9w0Yevgzv|xgW82nO9_}wO}eIBeun5p;3%c>egaKwV9ibS>Uq3lFN|V!zL}q zm=6f|^nWVy4Yj^_X$|eEjeNuK;hl9`iH+c>?00-0S@% zmSHutpr96iKz9y)3ybG&04&gZ!p5SVi3?yHxq7Sk{D|}1otOWjstZs+>2@6@+BR|- zA0D1zLY4aUu4jGU5Hr7h41t)^nxL7iQ82l3qB8Y7i`S*T3VuSU*u$b@YPQx3~b_{en^F3@kN&S9c% zzb)e60@b+S2bmOYIDn#fsAnmAe%7(24Jw3axgis8T`9Ft z+#e2+{*$3dZuOCw_bN(1ej+P`+f3)n`NAFizAdjvFY8-L-!Qm*So28yWX zq|-oa!(lP?s6QuR`+5V80#Si8b0*I*%=HjNcmC-~?(HV{+Is@VJjDa^o}D~tmeE5f z4}Tj9p06+JJ;1AXH4N(!LW*e5r{X-kg>dKM9yOOb^f&L1(~c5BEMzV)gWim;IL+AVP*=-1VjC6w2x}8=zh4=~Kd=1hf_-ZW zcr9)Gvnsy1Zh>8Y@^RSjmP&6)p01OCc%H(QO(yd(GLy`aj%*z^K*n-@^NV`N#y`mh zC`C(Y_A4gq>n`WPa2aSKo!(u~ZVV!~;M7~C0N_zGv<|YbFeWT?4(?^KQ4{Sadp+I( z<-h4UVim>uM9`L)28)%Vv5OCEvGUjDGL7i(#Uqr9Jw-Lby{E#VTCOe3G1jWs_Meje z6})&I^&se6uh_Mfe4_30m8co1HQ&!n0uxQV22joXnU^-{K)dYejM@TG@F2pBX>7MD zdVpi-KTXO}4TLN4+q(otMoOC6TDaRm4>K%3+!VruC~#Ua#eowc5p2ag%T?C7AVI7| z>PTz^x?Y)|UuR$8bPh2Wfnk%@KNXURrJHB;1c#bP@Mz0>H==mM`7QH9Ae_ZLs(Qq! z)mex)0bXSD?-WY`CSF4co-+4H{qZ*w9JV5q)_q5K66I|%Brw3*^Sc4FGG%RH81E3-z zWs+XV7w>TR+}QD72Iz6#z-@1n2r`oJ&M z5dFHKpDpOljWNx`%ixA*y|Hs-8Lw558-E?jvwG!`l!WW>f&EI96$)E~Hvrk{vM{A% zo-CnCXjjn~mMhAX%v!xI74^x|&=QU6{t>ufHutIoI+6vl$LE3fUixLIu?sg}|=E>H2 zet~UcO{322U8IqWYa~r9`OoKq%0oD<5zBk(YpxOAUqYKJxJ+@MT5^-$OMtY{t&~xx zs2EQJEj)rf*%ej*2d1kt$KtsSv@9e^mss;1wa$)Eg0KfPy|#>vllrL~UVPM9nt@bv zCnrd+yAmn+YV)X%$JUq`>eFDa*IMjzBC@TcROasoQh z=hnGK&Q;uj!)!hC*KagsH-P)=`qZ0+$fFy*Q*4=k{9Xb?)k$<}C4Ba`tF!6a@s5F< zOVU7B)gxlZO`s4R)b?Wu1vJ8J!zy6w{a$jYZ-3Lj@Yy3G#mX?nTQdC>;rZaym0^U# z&yd|brRosbE-f_&W80C7w&=bYd$QPoBErT1>sDWkZ(V=mnFJ z0b)MD+i+dCKE0u>2lKz!;r}T3*7uEnTtL*Ax8sfO`A`9Ib3P_D6Upexnp-zf@s3VX zqh9XbyCqLS?%-BR;l-|%ioPR2_VRA^K}s^|AB9IeA)Pe3zl@Z>WP6fvT(ujRdl#w^ z84~BfXu@*T+XDgG1+*L~4XAHc& zt24|G&!=Ri%IMWs>@!OdiV~4eBKby~u*gTC`TQ!9i4+B@GHiT)+BGB@FI=U1?~BQ! ziE1sGxHRH_0~TG|Fmm;G(EQLQ^g{!ku#BbESmK6c>e@K3ZEyBCWKc#XtA~qj6wfr# zOXzgR+W7OCFM&H@k!%mC`M@i6ZxEF%(2dpLQJ9QEyY$+!{)!$poWA4HA>rsWo}~D2 znSD0wXGG81!K`k+*+TP>|53qTnCg$MT5lQXfLP|00T|f(>6z+~W-F{)ZPiRB?BDKi z99s+v`{dmQHZIf(_;#2D#$P#QdU)Y8auBAjVIQOg{w%6?_l;WuI$Hr^U*4@IF`V=I zS#25vBWZ?6OoLfFI5LKz{ElRNyZbGzofustrf_6em_kMdX%{R-;<2q27mCbSE}eaU zJMtBb0K?v$mvD`prmV}S(GjjrhPIBJ%r77mMQ@h;tD&mD0v5P>&iS#aSzg<}X0-?} z#?TjTbP&M@f#ZW)^(MD5CfTUZHygjAcfAN+K^cEP$fll`QSfYlbQ7kyMrbNE!R$Qy1PXa1ZN0W`2;Q>_B}Zjxvat1D+#Nha^YDGrO5 zecdTHEB*#>4D7LPzPccGsOLNIaI=JnQF*AuIIpriSPB{Z{yq)e84W1n9Q$X&EI=0X z!&@x@8Ns+5!P*3;qGAAtn(0M>eQvh8s*o<4SbHV551|V-2}$ycQKbhcqA~Z2W~eT! z0a~QRSU%+`dtA&%?K2EZ^P(IDU~VutG%h$LVg0ntGl_ZJ(74vbHw`}Ma4CXc!|U51 zG#hC?73s~UqZ{qpEP)Gu3s7JYOtR@72FiaWk>8@8`VozBj^C=wKINr4L4E!+V%Or{ z_R3(@dZ$96kL{Y#&Rgk46nT}WCDZ3O1Dx5FY)IRLK6)$|@?1OV^hyMTdyUdg9IXR% z@v(~YRhj>>t&N}SMU7$M2VghZ6<4bSZ_nYjvnjq3csQaveu*8Nb<+_q2b9>RuPw1^ zBq8*tab<{Fh`K1cnwTAZ>k54E!vR#6v1Fz-F)8l5`oz#iCi-Zz==$U_%R4tFfWr1k zBt{^z`0#a~GD3kt9U=krq@A|!~KcX?rhXKWcV_OO<86*ZceLoVN^`nNeOuu?g_2W}5lc<@x3Jwo!NQ8ko>oIp^ zmYmCrY4qQ1;M!NJ6fj8eSY@J-0p7UidV$4zNR#EDoU! zer>uIKs{uP`!Oke8+kl_bVd||!H66Sb_x(XEIj97STa?^cUm*eWOT>Y73t zJ5pytYCK8gGz_Dz+{6X9^vK;$KJVB_V8M;-#TdjV&mmQbp(i&wC-g}`b-Xj> z*y7O>rMOKH0i<}|$100`-M88FW&9_*Zp`E?Nu1C9=g|gmFv0+y6sM{0EreWFllF{BLxEm-jzZM2aXd z7!n6F)BiFOoLp?I|6wG!*qHyrNZ7iWD(YT0u-)M6Lb(51uZAp=aREkkd)Ql0V1Ycq zft}V4t9#h29u7TOuUpP`+ZDAhxy##?ms;I9JIx$?%^+*w6{m;L2WF=yd&t0N)MsVR zP>znkZJZwSXXmCwgfwNKYhp9d(8$1;f&M^xaWwv!5PgHg!_ndhap0YR4?*0kt9&4G zoD)C-5GVyrUQi<_m?4lGh&T7z8t4!&A73%=HXkP;J~A#K(?y67XbB&z&eZ_~*o3V) zDwz!xST+Lt14t|m2J-hY*xW;%n^PTd8P}S>?v~ILkPai*-qS6RA*dTL_m@l}&!_;1 zF0T;c*}r4}VjYX1p1uM=TS!F&fskRcoC2oK2^eH4>8GVra9ixBL5Lmk6d*VH%l`+1 zOY0j$>o3N4EA;&j$ARGC$uA&0n>--vxa=Sp?9*N!6}NhDP_UouUtVoLrB51hp9cSA z>b>~Pp#FrLy*3CG6mT@=i2hROS63In;6gwbhJ=s@AalSxI_+P8P}Ae9y`#s!|3(Rj zU|Bt{LReyS_Rctd^BnKh?CrsUSaAvd)wZ=hep)R6JcQ%{b|bkV&-V7eZvEyA1b%iX z5w8x89t9+R@D6i9xm;zFV2hKr{&oWWO*+=I=@W#&;PIz_s!df#+ykKeO=_;f{psfW zi}aXl3*zwCzRC_95X|WTD%;Na(~PhC*Xt)}>TfC;3Fym<>FNFfc-`ZJ1902>`#aD; zm+(K8eN8k37>HBAkMY~C)(^_xMoGdrjSx~RNY#E(z|1O7NNvg6C(S@uYJ8OZ7w zVJLS0lx6=_#CiY0?e`yA7YE&UUm|;&ypRqd?LxJG1@H(X=7-#-f2$~uFSpff$dP(fpI=j0>102nx+K-agVK$eR{HR9J!n<_>T~R|gIn8MKfJ*NmIGl7w!{F3Z3UE5Ev?k^IfP0ut`pf}z6( zV@*#+WOF{O8`tw!+~O9L+#z&0 zLuF)frJ|>-8<52?Kdb4r*it#`K;C%#MfLFy;b8~&S2V+s8#M*PtbG;3er(lR%i)K9 zV!=aE!ASLzt_AbcH`jX#@8>l7?rFPCSLd*us4&XYlVN@v9Lb-bO)RNXB)}?N6M{JX zrkFjC062&amC^jMZ8WqV-&)#wU1lG7FeUPGqV078*m6nLk=TMeF8KY$GuBD-#P;gL zAa)gzXUA@Pk6w4C(zL!wE-KttgCy%(**I)lk%RJ^IucX)eEu9^3h`aK^vW5-9g0ZM zHRYdq_co`Y7@5#?>cK;Y7nHstOe!Na#Qd4x0HnPJ2zL?N`Iuwx^U%_%G75Ptikb-| zp8uo{vi${`k)a%UXd2^1En(t9tjC#OcVnzf2hZF+1tB-$mFx6t)-gSrJ+)if428in{Ono(nx5w1jp+f@w5 zbQf|Sk4%agfpah32q*DCR#*?$Yd=6079Lf5-eF{lm70{%52wKgdd#HLKM z`U>%w_E^ZnwKdA68w>s%ooR+011KwSXMbv6+>b>4I&X~jO%*o#UL*4LuP#A= zy=(2jyjPeZn}W^qfNVQ-odSjS+Xr}^a5*{HnU|Phcaul3n_&D(TJb6hhSn%b^x>SP zkw)07(e)5+wpOR$!k)K_=*nej4{^X^AcJ#c$!$s#3oofl+Et0CS9z}Rg)FYF2Z%F& zs%~g!Gj-0c6;;{D6c_K4NaK>O>cus;O+k!pfs(#%>~yR1KWLyJDw%a^atZ-tQS zG1{^J4q(_hral3}ymJuEvVixm_ zUdFU$$t}WhL=AIPB?beKAJd_`TR5Y(Yqk>-G z@{I`d$`9{})d(Pe7dD$CBQcjz!i%^M?S*WlTE8u~aVbi@5tO?=U2eq2JT7lC^W9}JI%l`IyFaoY95za>6CzNdU?YKoS7vy1l(N|4|$`3p= z`a7~)GZHiIgCj>m3FNpA*Nb_g8*aiaa=BdzF(Kc;qy?KFMi5i$xQ+J3&(QL*hk;aPNHt5}Mo zRinY-Lz*)Knyi|iTRXhuYhPSaU9qJ_F3fe)Rng@LN@M$#CxfJ{b^l0P&=?kHNABY{4!PYi*!)ix2fZh*kEQ9W-O%Wm)Pyg-XS;GgpVFwX z%=MGjHW(mh6!;aPKx}2Szova{^4UH#9wQAYqjpX5@X3U(fE46VCl1RyRx{1Cws4Ek13(f|Vnzl(5<6~-k;b8mkNA|@_>A(=+ zw=RL!vI4ODsLDW&(l%62yMoxqj9+!wHE#H)4xHy#6Dmf}13zk6BCTUhlDr4x9KT*!u?wqz2y7VyZ(DxVA*)o6hc9JdL#$D{ zB8~1{%b9b&je57J17nf7wJ!>=3Kj(OTdXA|lD?ZukgJMIUI z0rYsWh4aKbk=n~0%+znD`~u-Q<(#Q(E$POiBB4L`lcu60p;Mr{b|D|Q+4pgLio#i$ zH4I)1Cv02cXW!k-nu90ygtz&ALz{x$6igdI1(##`C-N&#D6;&&O2g zWeeWT6M@9$$YLZQD$a|(^CW)nUI)25 z9&gj4*Up25qQ^5FqiQiZj=g&4NaGglxe{?y#*rO+dN|hsviYxbTX17FR*Gp-B#*F| z4riyiZrG@ih8t$W7+?4{^jpM78fxuZx9fU(<~VEZD5XK9X&Mg&*A6Io&B0re&kteC zAbyc;&p7Xmk)NgtEBYEhxq347Uz{dJ81zLBUR0CI!Imn3sC_`$Ex(to=G9hBH&r}~ z%-gFk>7LA-YpcSxYS6RoPaym5WL5)F+{uy*;b_mxrdmz13B2~E#j4)nT7LoYokc0y zoZ2Xc9-7SM5LQ|MBnKFx_&IR7{kUkEV%iZv#T>d9>gu}2ek%_U@;Xe0iXV{rBmamh zr+cLixMqn$Vle+bXwwCi&@lQ1bu$1;5C;>FA+;VJym+V}iv@$b1E&OP;k-Y4PeMLu zkv4$%%Lb({7gcjtaR!XC@Zg{i!i;MCB%Ow42b0x6)ars+)oKLN%Uz}nUX8x34=}XV zZ>od*MuIY_F1-qfP{8Td9Qw{WmGr5LPziY#;Li&RPIcaE9{iNKnBsRR3I6Wce9SF}PJ`8`+e-)DHBX*j@r8>bZGrTuDMl{mpC2mWQ9Xa>~3T zlzr8Q?ft*K^snC1cBIY?M}vROPNeVwQcZ2~#(LD8%ht!hDqg)?Adb9SgHzm8kya;C~@# zPtm7u{kpPO1y{83gdqaavKd`DV?Zi!pE|pr>(%qR-L$_0bLzyK!Sz{2KQ$+OR2=2b z8z}KuI=%oO5Xvr3&Q2VZi&>nXiTp1FJsRAO;G5(y@a?#S&R*x~dM#jnSSt zdJ)SqF#ofIx6{`OXL&1Jhn{9%Vb1VZ!j~+XZ(JmH^F0s3C^Z+RCG`RQp4dvOQ93XE zS-&gTs?MW=DbVXMMqhfLA-0>L7DSWF30n2KsVW3`vJ0$Nd%Jb_Xdaasc?;hmEO$xD z(V7s=vAKFmknusZOpu_jGxP{tqjI$7J9$?&cDOT4o)k|f8%;W-2{(4m^PuUL?Zf_h z+o^Srh-S@NQW1Cp{A({JKOXL8jYI&9U*3654lykI9%C9+SSuU?jFQy3BH?vsH7Bw} zqrL&he}ZcA7ibcFl41kSbgCs&j8KcVH0nM7MV!C}mD3LNb|JV9yVbtK@4hPu(Dh@) zu98LEualhTi$ytDp~WLcImoY=2_YrI;XY?EU)G$$y7+fRUG#eK$R_0{QMcS}2Ui|H z?2W(RRy}&yO#Mr=q}j}L(6Ef332uFsW_SS(NhEDB%~Z(nZFL3lixe2_i#e7>3}55% z&ahz_x1~E3wu#)}uWb~MeEWV2Fdd^X0t3;7f8~4XIu{7yIwW*-`b`V|tnE=VZm80B z#BRO{F#S1TRBE;IE?)T=*?n?93@a-P7_H87!WH$)#)nqQGX_SQiX6 z#hi*>uoVw~@q6$#&2Z9I z@tbuyRxhLb96ujFBnJPilklu4W%r*f=)CZheqT(`l3S*lI0NRMBV-GzPII_ zS-^&A%b59GAqBTWU+1fuyH@%kA+w8jkVk3&3mMfdEKQsp+tX9b8PB}!E8!fF91VY< zH05)tjJc~`yOM@`@=DKe(Cgs!^}Bhodxp=29T)1BB?qG#GQZF6fzs{EjvNa>jYFj| zIVq8mee}saPKH&RU0=1Gt;i%?>KJ7!Sk!?5S_TH|o4PboX%?)YSl)m@!D_r|XI|?j zE;xmLN~0i^9#0KA`fL`i;jwuA*MvQ!T0N~hcM7O@pKJiF9Cw;fedC@5#-E~&2N}7$ z69sSufp&>N_U7rAa4Q4zqC242o(_FnB2V#AlFh_)6cEYs$K|)^%|4Yxjey)Ui|g!Gl9+GNab@<%~Ke;;ywoN~09+A(sasBQ_l|Z!g*AJAgt$o_B~N$Sm)1+MzDmkVBs!+y+U4XJ z%UH}=KaMoZC5!*GHN2w2yK1S46D_QUR;Tb@;$n%bgPhCdHCi}5x>hI4>8dU*xBe1# zPOR(DnX1xiT}d1V@$LmRMsr}t|EgT-sDE#)gQ$uK(#}^ty=505Q>2p|=dUqPVy!S^ zEGv908;-p&tO~ zlKE0u5~UK9im3zue8C8)@F+7iV83o!ZVk)eQoQHC{H{h7LoJC%8E%a6>N3Du{t|9=#nyhgAKu*|%>3XdtC6>$$ z!Z?`lw1NQybppVCifV$DwDrGszJNZ!x20BHsDX$d&FM*Cjrok~xQ4#~5@hBaI<#J9yV(byD;UEtaC6*Dp zOHyT{;qZg>Ri1-ikFm9jDv519l}g+qzj)}$D0Cr}aS#-iMux4Vm?YF0`_(9{ybACJ zc2-$;D)iC4{0)mt3|_b9YT_7?;hIbLrQ{uPbu5O?NX&fnVn^>8dL*0O^Ickq4ki!j zl4}4X`iElcH~o!01G3}KGO=RRj_LJfNw5Rx_8Ka8MFBXhezY${;KUNn-3SRnJ`E>~ z+U0}jLxoFfd43`X%?}Fs(LIT@*9LVXohMi(mf~q`=lXOKAJ0it^p3v7xz0SLW&TYOHZzU<;>r%p|5~eleZ8;V+U8Kc-+BT4 zSf5joYat5d={xFDJpz#v-NoF*YVi6Eb$uTP#~0FF6?wZLq{87_d7 zX=kuwy#V8ez{FEorv6BFZnWkYW}_N~nupyg8n^D3bDww{(H-e+3RzVoW)p%3t|tvb z!!n(Suc0xXYI8_9aoWu~9d~|8sCiGAG*oK z_RjI^mV&duW)vbcFWcn?9-f$vtusK7Xx$l%rYCsoErIM4Cg%a$6C$IYI?n4%T)*{qmtE}8i3eIkb4`oWFQ+XPe2nL^!KMJP9OQVnX7lS! zD0`bElIu|ew0!gR?Lx1ck!!f5`pKSIB|L=YAv043q1VbME6-ItPgPSzJoBGWbpZn6 z*QQ1@P5ct^7uxMAhm6NE$Q~IhB*^%~e;WIK_`+*a1dgABJb%bV;bUy44Br>%Wg>A= z-Oh{}qjNm*giLhMycGd~R-88NF*m4tyxk(RPOJ$~p%3(_?}@q)nGs8aGoUcOTMK#p*)^lFeCMX~iwCku}IuTD8-*Qkrd{8Y1VoOH>(>A&nZ^<%SMv zamg#-pu&3407QA#BW4d-`z5~R0Wt8)x>WSr`Rg@xyT)~d4r zf*@OmDdYuM5N3i~IoBg|^Qp*LdDUV8<<@B{zo&M@Z3F~I1DIziv-d3e9Co0V&a z@-VM#2BeJAbQ4aY8AO{~K!rWV)e`QBovhmfV?o8rsk(rxR@63c3#qL;)*f_>_iC<9 zwb)bh_lXygobPp@Lc&30Le&xG6>zuNGBLsVmS1M!=45P%50BH^cv1D)g>T;doj!aG zV+8AJuB(E;z=l;m7oK9nL~)D7fZlZx*PI{DH~) zw+$L=I%iMXhlbKS(ka{A`F1+&rTEGWZC^pU$2>F|VYU44{Pi~p6ru(H3A2-nVB!F% z#C-h*qJm-5?IIQ%QLV}3#Koj#oA50oIe~SV!a;y1yw6&L-ReM3DeVVcj(0!VTb2b9 z)v$3NHp9wQf(%EcBIhI#DvGc3Ez0X9Y-^cNPjzU8#I~`fQZX%zr)R%-zEP&MsuR64 zo0T2j?gF){j5T%LsB=cz*MlsWiU7Yk1PtOcvK#XNjIo|y(+{)2m4Cwsy6UJm*Ph61 zjuk+1vwK!M=C<3#fkhHRPBj1eV*$>8z_3D9l8z*GvKDdPiyd-b%9B8dNf-rN-7gSZteE28H z#Z<_WS@%0Z_l0H0X4$RHyCG+2(67@BttCYAVy+>{6U0)3M0@I4JpGov+$h<}aY@ADcilRuZA&ox;5m z%gSIO;a#HflCqo0VNd;lBMaU(MtR>1w}~j8XaSZ@{Y|}d<%7h}v7=kmZ&GG%uh?KO z1ocp?499ZkmRygn>4drI>V=7w;EQ$II}jL|Mx1vC$yFt9N=a+Rk5p73Z2@?g{7Rm< z0f(rjNrhKqQsd1Z8Xzr!h9G?~p(_tY;>G-o6-F;dXR?nG; zH9?DT3*S~Yh&^b5hPzl&)?k9(hbEpVfB6@7+)XzaVWg9qgPGA`6Tb6xc}<02W%Q$W zccR-Trf7fG`;KXS*TikT;TJ&Vo*TpOS0zNO8=R(v|FnPnBhotB@?=|jR99xHy%z+$ z;s=N$)QKU{c>g@7QPPyGKu%libIXJkMI-cY+j?3}9nyfHIw?#`1P-Kw(rG6*_&2h- znp)u+!gAoPF&yDGS)_kAtwDl+rGhcraa=&O8bscyM$xMEbiBUh$sXYMC5$P!9l;`! z8DJk{PB1sY*^MHtYRZ7u6=SJPLO!B3QQ?Izk`^85xi7JR^L#DCx15g-?PfXGI&NbY zG?;#aE!yz$1%`%p?OKUH9aOF4*xtN3&)7|c^8+h$ee2qhl2t9%6L$Y?^0i>50CbxE z`LrZDmECzRj?^pr)Cwr`@agB=IEghBMtNtV>1UH5+Qzn|N2YME*nx4opXx|%Ec~4S$AX_};pA;a zHCK101+qQ`?2zw$sxw=}YuNJ+*s+t(KURh((Pr**;Gu$ z{-OqqnL#5PIbel02yk0SaMl2AA)?wGn}p3UFrMBa(aIt8ddK%gb?L0o+Rc{hG_j>qX)N}cuAThNM_Ldvkr7Due76|3}ySQz8ocP z5cu`P%#E}&6JTE@8ynWt-Y@ZmR_sz&q_+s@2vGA=KLPrppmFh1P7yWVJ4FnETRHb8 zT31Eo2$0*;cEFql$5=Cf3I5QWZ#A&yu+$6oqt`OJ7RwMXo_~h1Ur!Ebanf1!Oz44}Uk;XINB1$_;8&GQq>%Hxo@O$r11Ok~ zaknz*RDjlTJ)L72YzkG0o({`c%O96i>r)<{9BnUzQU@0NZ;9w+hRmk8QvIAms_O%K*};!P?2sl4zYqNve}`|?^F&NCsHqe}aX0?Sjh*c?kbvr2#U;$i zhag`|U~BeTqa6!G1s0s$a40j;VVGgX7?h($@+=p~oL@nfDXpkI)}!`#15vjNL4-0s zP5^VA_16Pf-X|2;7`y}VE&UfNJ7HFa&1xLrBNBCoP*s^31XmkO0bgY3xo9$memUFg zDmHex>ebPlo7)CqPII-I2JWWL4skT#63TOOA377x0=270ORQN7D%@Opu6M|rN1>5i zaUCB@!f%gH(_Z}1ZFJnz)3MUPy^^xKH^6iU3oWYS-dBI!uTCLY?>a+hTnfjo3X7epAc;lbgPq}y&vSLf6?QJTq19IUG`=;IpXw6OAe-S)ySkblr zACilWDVYeA9FdES@qf@QLKZG2_J1>Nr~ukJ_M2_Uey_E2hg_OVq@nJH^@5A+rLWhP zt*c@LTcWl;?BOb#mYtuMv#?T9q;%GYb^-n+q%*LmpCK$HquP%l9NHozRRap^oDgs2 z*!g5~E}#SR(2M@g*c3JK+WXprIOpJUc}o7+O-j+sd1f1F;-2!cx`n}v(Jf`d1psE- zLGAz)pDU?YwrF5^YhB~2mS}PB5uFS{W8h_LQ=H1EbgEc)R&2GWuqR4$Z0m9O)M!`z z_~Q}BJx-)(6zN0kRnEF5O*VP2NR&-ZIAn^mdL?wWL+r>-m9rw}oFbpYLi}|PA#yBaNaH!q>??0x7% z!sML)#Fgg`tvUVZA z2=Xt*Tym($D@i$I^i@eQWO&b%2-2>=bWvt-hbJLv8I~et=_DXjJJLKbpaIf&FyMqk zZbGPFT4^EVp)6F={P~U}QX|FGe_L0s)B`RfIX2;JztI)2Cp`Wk#+dVX|2`}kX+Z>w z5X%wrn6uQXV2(_=3Fr}k%Wms1iZp4Jg>aT>$rkjeofQ*RFo(pjES6V-lWRtDz(^Lz zlRn&+a29QpO)!ThrW5Qz7nm6SsC__%^Ha}?X>^fzD68y0*4;@bdf0on{Faq5beXY=7#s<})s0HeR&SffWQWpg$^sz*y>%cTyo_ zrL@8o%unds51}p6FGDUUwISlMpyl5#!G)3sU6Lr-HMUA^JtvNvc>P7?Uc@j}>h6=s zbWOi$+!T!EShI+EEBZJ4-g(9V;WNyI^ZROz#+ zukbL9ES@s?MBf77L_PP1iuq5}W&Wr$>m8y*B`&?3CYX)0uG4PQ>XEZzHfNMG$^pfx zz!t-SaJs(Es2*&YEFt|umhSKre`rkKmE|A0nZ=K`WK1ZRF*nQsOgF&@Mg>G&qZ-hf z&d1ECv;-+nR36ng@ruRKABy(t2Pq=$9hM0Q`mZL$6Uqocvd3gdBeDeT8!Dd>Y; zWB(_bqsWS;D$3|qumzS3#q}^s{F<*~ULd41G)$#lm?*4n4W$le1UC+7Hbi&AA{CIx zX5Qc*gd{;Wbd_JvpegX^;z;=TT|rOW5tPQl3H?E$J(d%e>WekBtNTw<9f_WuJST5P zt%x8^_|Crpb^qKYMzHmv@nLws>@6qa&1xYdNehG}#_3uk= zQ)kgYF+JGae=t*{^OZOxH#=gXM+iw8&-`2UQsM#w@SO;6441QgVwqn;q?HA(ZX_S2l1C;^M)i&vk`C$0lqM!?%!$>0gSHt1> z@3EaV@in$>}7@mVET=`o+Q+@ER9xS{5~9fsY|R8Xa^?{Ki29VOaF*&KXmH(7pL@n^O+ zSpf=J;@c~Y{MhPtt(UkX+R-Me5;-Y8fp&CSMT%1-WY8?Jmx~-zqw}2 z3UJ^+ea)nP_!mx}`J?WZGnbPeU&Jd=GEFFR3Ni_=69|<;%wW>jU3$U@ zE(c@-r*otA0}?b!!#y-jzLU2U&A03ej%9jQswzc$Gn&&4%~Q&XTT z*!fA`UhmS}9!^)aLdL2l57&J>8_mp|^$!f&gFD;%*&iR%i@yp!pUY=gbj2LQ*^LM1 zDvVGlDpt8p9k(^xyUa{>7P&sI-Z{2KUhS0jeAQAbY!HjDx;;FbqcM9a0JVxLSSP(W z8SruMebo_kz1QumaUbs-a2huV_Z|Jl!dRv>wqki-vJU!V*|zeeYv`yk0GV|ky>9z> znfWS990FdcL(<&x1$;KEM=Wz)<@7)au0r$c(-yAxQ}Y|=th-!sp=jYFDD*&KZd1oxlcB zsB!Ckr{xlo;Pzv0gXD_&pCnv*z8OB4=+|#Awq~ljGnkUiXF{(0oy=N&8 zV+^0~6G`}H*h#?e+H_RZw(8Dk_m;K%Fl#?Um|a5M^Ks7oJ! zA?SBQB*BK5?r07H{wgQ%;TNNTT4w(cKkt>J@N0YwfA5bHRDNLjh9}V$4_7Pe!pTRN zpYET1GR*|tJsvb!#`}bK8gm7eyD^mV$6cQzsS40QeuhycQ}CXVm>j)=Uu}wxZ1w~- z;8MDu($0bONCWLjFaRpM?I(m3L)XuAoQUJdMPKAPzN%Ye&2j02JF6C6FiP|Uo_*gq z4EQ;hh69^twrj^%7aV&ZXiguaXFI>qW@?%gmD|Y(;#wDfA>H>9 z=6O+gJ76lXUrS;N(%i)9IJhwL<;Z{aG3=&oJ@9LRD^*a4Z~9T7`{{<4=7tPfl476S zZjsgP+0xk9^bxif{0ggmpSbtCB<`~Vw(rHS=$f29)zd4vF0bLv z@TT#k;tjAU2)sFp`3`frDjK;JHeY0mfA@b(asezfweED_79IWW&0 z+MQRk1|m=FTfMB5+bF93y+6<+=4wucA7H8ABhJ=#7hPmA1>X+kJUAbU#aGjm(}lT* zQg}DDzp{=e5{k{01T;%jQ?bLF*B+VWDE{tj^(wW-4^YwBW|cTOeR5n=yF`xKT|uu2 z5F@sJL5kgNaLE#~k5zeSudq?cjg&J2J`LU7-`@7p z>*yBr1-aebxSTj6X!>81+@NpNLmD4&MBZN&hK(#Nz%F^BHY|J0g6`{O_=c*JqutWW zMJb_{x(__bnz}a=?DqQDL zh_BtCXn1bjx9<)IZXw#1ennH+L5Fux`(@=^ZS~rEk#?l_8^d3SjewPj#l?-C#g?0bqDi`;)!*u$l(T7s zJDeZr+o=u>oY$VZt@egrRE{q#`pWP=_RR+JJ{E?XE`0ykyro@^C7g{wKm*^8E?oIC ztLFsb@UMlchC7fuFZ{bg)7qA`)+@=CU%S!in+=`1{;Jfb;TX>FZ?NdsvV7*p6RXiqoti z(^L4+^v^+Eo!GKIGE++`M8$kvkEJv*H`|X?Btr$9xjn&YevC(YV)LUL% z5m$@XOOLv1L-esuV1$0+kLtd*do|aLh3LaEP8>*o>wFV4tu2zK68vdTJ1-TUQz}g< zSOKKnmI}`+m9CUoq9*bvk{*oUy#d;ma~(F$3ZdP&DUC3sBz z1zVz)OC|Y8j_`LJDdJgVJ6UmD$WIU@29t9&0j?n(O$ZghK4O=S651b+=66)?b-D?6 zifL#Xz@cr=n`gy0g$la;^in=%_nJA55ikvmAm3XrQU&j)M)Cs7Rf#%>-}3GXn6C43 znRYMzK(^Pi@FzK2rb3)-{g zA)gaxEO2O@KxiQBR7 zHI!mvtOBy%`W06Zbdx_zVJ}OH3)(=#;3#2=r1~5W^c|53|B^O~MFda?r?w-pRH5Rt zqed)AVYF>^re07J1r~*ZXCBq!!d`$m`0PT?-d3(!fiZNjx`av9lG0_URRncdJ2QCg zsJUhUZ|y2nyvnLx%miF5%sqnZ#@2f8$t>Y=0LYyx@O_kJ+v-$c{cV*!6lK<;8(3xc zAm*~}QXPG^=rAJPfulsZG@noF#d5N`C0u(YUxy419?4!uRR%6~;?pYp5}LQJ*!RGr zPtdib<^=xapp6j5Dk~`(*cSBSJr*_m*CSk6Ue=9$rN;-M-Y*rdhvfxJh$<$P)s2Nz zj}B-A6j%1Npgv3^ZOF$t5}gI9c{ZHjN>bBo?vMMwucAqbbYr6$HgRNWuto8_HKPJ{ z)4KSN6K|@-kBAp&D;-R8xtHnJA2hnq*jB>Aczz~N{6R|{PC59$t8x$!gvzgKdrW|V zhQn?MmE0WJVPI{?7WfzPMrY9$BpvSxT8_mUsL|G!i+B?vL>vE{5S?IA9i zHG~)}7(yaKs3krft%wjlpMt%Irx$}Tzrep2`}{zm|Go*>Xf5ukFiB8h-IsU5DF&Id zL}3HVm@=g7+h^ow^(^6r^*y6vcoT?S9diX!&cu`Ob@7GSnGc>irt3{xJpzkn-}JVE27oyhc#4iP4WkQIF|U%o4I3nIjj$y9F{U}Z6it|*Sqjy~U2-?0uVv3O ze(o+K!a)OPkLetqWZep^nC#>=uzd<QE>68BO8>;p>JbSG8_;F4Vd~9W`<8cP~`|qj|Fg8pRIfYOXMH$AMka&?r zT#X1V&^X(+2Dl*7cN}dC|9yzNP}p;lSE%Z()dp_+B}2*}a_&V%bh(+$Qd$*Iwn0s? z$pMF+ZN;Xx6&1Y{Gifqf)u_q|#nWt+PX*wN>_EH;qXNy9^Mr#ICTEsB21^z4l8XY znPgc*2P_o^q^?pphTmuQ4(hxx=AHZU70f)*d?3 z<_;KMHSjTT8S`jKXlPx*Xz5U?Yf}D{6iNL0H>GF4%32BHRUoWWFb9D+f8P%2h27DK zn0J1uqgl<-(7dZhEULD6k5^;wGUKXr%V!Zv4_fIRDXq= zObCvy+N{kW%UxRq!0-B3eJA(#(swrZco9eT$c)!hZ|Ac~<w8bH|D@YD9lyT;Q;jOCG6#9}bOsPO&55?Vi zwbq9!fHayI-_q!jp!!DI$QA+N|8%wkMSLJqw~)7&B>{c;ij8nO$tO~0Iab`eu?hb* zw=#$=**G9fXOayOg$$)+I)X%Kq0UW;pmv+^+!Y4c;sRm{i{0eJlgi0+K!r*!`A4*l z+7gJYlXzW?^4anmoEmB0d&BaVB{QAp&7#M?krd;~Q*y4~XpVBc;WZuJJGH=LF7C<1 zRr7<7rrH?-$vpn^Z;WM+ZWtMA|r=xPhMEn z4BGHH=|C2z^(dm^wgsg(-Si+YR2==EWvi-t+;N8v+vV8r)Z5^9C|5ahMN?=~N+(*c z$J$(!-Fe<;3MtL_atm_YBt<6WkP^@f1yQ~frLY-Uw1r2zqkmFPDrD`KVV`;%`8kf` zeVHGxZ;X<0uOQs5afOHE zkF{06%g~9E#fX9yc4V=wZbY%|Va@sXh`8Q~mH71y+uR}BD6Kn&3ePx;A9m9KxB6s5 z;;Uv1J5jh~G0&BP8`(@rH*r z<$(wuIL={-#v%?vkxOw-ZS#`?ssuq^#|0bvi-QmE^9>C5?b-D*V5_m|iQZV<AT54~JruP)wu_rF~5b<0)rOU_ONnN?@o< z+3>B`RCgxnV1xH|eaM`eX2~@)^SMg(SR<-r0>#pCrrLb|`R_1^V8`W*Wu>u8)q@|3 z6bC?;u|%1v!rK^lVD&Q9il6Hg$oaU{{$2}yjWr4*EWE~a>t3mbJC+_ErM6OSH$Svk zUJs1IxC{LizetoG9=_~I{B`v^*X!W?{C&|zU$X7_-NOBkhxIMvhy7ii zR(2KKK;g`kCm0NH5KzPvpHJH!X3c;7 z|5ZU9=lwfK0tyKKD}$XiLs{EImpW>?g9uWdy~{!pHS`uhCZoiFhn7Qw9w9Z@?)HN% zgO114)=}k8*bfz|qv}QzhXwr%$4Sm}vSyPYuJqlhogckm*}0%;|07=++>Ji&2<~B$ zv%BAok_3hjTFO{L(4*XvofxKN2B%b`*Cyda18fznavV<7Aayto^G8S<1UipjLh6G9 zQmJ98gfQ1XaVV$=O&mPZaEyJqOpOG!6xf9%4n=)Plp}LO2gy0J8Cj&&OFMAQVCRMr zX{^N(FAG)|!t&eEx(HO~bLH5buoo2%nOp{r24El76f8d5;-oLFOYahY+V8Xv2nznqx~rx1Pr0q;kgrZ z!YeoS$jl1m8CtFQ6=S%J|GMp50*J%aZ&dL(Cc0iXE5owDAf#p>ry@CKtlm2-;}ov} zcP&InqmWd!UM;J&pT7ZpEo?!PV3-q0^LouT(IEP80PavhH_Ybryu7AO-f4)~Vqu=% zlIrSdx$|wpayb1U=ZD*2G$ht*;|Ec9T(PipZF3UEdT5rHD4W@!*`UgYx)`!$t}Gof z*3TB~^^WtNo9I6HY2}&v5dB6f_=}Zkzhc}dB-_d~#LoqPA{cG5qB~ysN;T^t0c&Pe*(BeXogvFjJgDI$j=%oH#e(<<41&Lf{F_YGCsETEbA|wWvqO$ zRddQ5Fqpdp3{qXXK$4AO;jB{{ti*q*{RHpKh04_y#Ol{=chRmNOA35_*Ft;#X(;mH zQ8|sqYlbd?>{-l~h!o`O^3rQf1tlLgZQ6HwB&qomZv_J?aVI`osW8vKVqD4QRrajP zK&i!e5S8-#RWsUJV>i(3k2v806 zi}ie1R6>=U+svn?4E{pU`D6-sciXU-=X%5n%&V((ST|5`jo+9f0=h(a#+xQTp&Yq9 z@soKydZODEoNT%|Ic!OYkOLCqDGOUB8pLkwnqR_YLYJ8qp})7DHxS8mI*pwiF*nf5 z7zay6^_j&_6zE4>-E$PLqpU_^EGgJNDkJek_yB!UcM`DU*4cZ6jyU(#NsrOl8^01t^>zlFiF}*M548hT2 z`8!^LbN*^Lg8AcKm~+{x(cJl!UJ0`u$~dg~30~x@Y(BWHD$(^X>EleQc1 n)4ccO|Ct&7XJYX5f{=T7`FU8|;PVR#iwX$fv$D#A74ZKH*ne5u delta 157881 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 diff --git a/Telematik 1-cheatsheet.tex b/Telematik 1-cheatsheet.tex index 45e8aa1..a941579 100644 --- a/Telematik 1-cheatsheet.tex +++ b/Telematik 1-cheatsheet.tex @@ -1,4 +1,5 @@ \documentclass[10pt,landscape]{article} +\usepackage[ngerman]{babel} \usepackage{multicol} \usepackage{calc} \usepackage{ifthen} @@ -6,7 +7,9 @@ \usepackage{amsmath,amsthm,amsfonts,amssymb} \usepackage{color,graphicx,overpic} \usepackage{hyperref} - +\usepackage{listings} +\usepackage[compact]{titlesec} %less space for headers +\usepackage{mdwlist} %less space for lists \pdfinfo{ /Title (Telematik 1 - Cheatsheet) @@ -52,906 +55,1179 @@ % Don't print section numbers \setcounter{secnumdepth}{0} - \setlength{\parindent}{0pt} \setlength{\parskip}{0pt plus 0.5ex} - -%My Environments -\newtheorem{example}[section]{Example} -% ----------------------------------------------------------------------- +% compress space +\setlength\abovedisplayskip{0pt} +\setlength{\parskip}{0pt} +\setlength{\parsep}{0pt} +\setlength{\topskip}{0pt} +\setlength{\topsep}{0pt} +\setlength{\partopsep}{0pt} +\linespread{0.5} +\titlespacing{\section}{0pt}{*0}{*0} +\titlespacing{\subsection}{0pt}{*0}{*0} +\titlespacing{\subsubsection}{0pt}{*0}{*0} \begin{document} \raggedright \footnotesize \begin{multicols}{3} - - -% multicol parameters -% These lengths are set only within the two main columns -%\setlength{\columnseprule}{0.25pt} -\setlength{\premulticols}{1pt} -\setlength{\postmulticols}{1pt} -\setlength{\multicolsep}{1pt} -\setlength{\columnsep}{2pt} - -\section{Multiplexing} -Optionen für die Auswahl des nächsten Hops bei großen Netzwerken: -\begin{description} - \item[Fluten] Sende das Paket an alle Nachbarn - \item[Hot Potato Routing] Sende an einen zufälligen Nachbarn - \item[Routingtabellen] In jedem Switch mit einem Eintrag pro Ziel. Enthält Info über kürzeste Wege -\end{description} - -\section{Serviceprimitive} -\begin{description} - \item[Request (Req)] Anfrage an ein Layer einen Service auzuführen - \item[Indication (Ind)] Ein Layer zeigt seinem Nutzer, dass etwas passiert ist (asynchrone Benachrichtigung) - \item[Response (Res)] Ein Nutzer von höherem Layer beantwortet eine Indication - \item[Confirmation (Conf)] Der ursprüngliche Dienstaufrufer wird über die Beendigung des Servicerequests informiert -\end{description} - -\section{Korrektheitsanforderung} -\begin{description} - \item[Completeness] Alle gesendeten Nachrichten werden irgendwann zugestellt - \item[Correctness] Alle Daten die ankommen, sind auch genau die, die losgeschickt wurden (unverändert, ohne Bitfehler) - \item[Reihenfolgegetreu] Nachrichten und Bytesequenzen kommen in der korrekten Reihenfolge an - \item[Verlässlich] Sicher, Verfügbar, … - \item[Bestätigt] Erhalt von Daten wird dem Sender bestätigt -\end{description} - -\section{Verbindungsorientiert} -Verbindungsorientierte Dienste müssen Primitive Bereitstellen um Verbindungen handhaben zu können: -\begin{description} - \item[CONNECT] Einrichtung der Verbindung - \item[LISTEN] Warten auf Verbindungsanfragen - \item[INCOMING\_CONN] Anzeige eingehender Connectionrequests - \item[ACCEPT] Annahme einer Verbindung - \item[DISCONNECT] Terminierung einer Verbindung -\end{description} - -\section{Layering} -\begin{tabular}{ p{3.5cm} | p{3.5cm} } - Vorteile & Nachteile \\ - \hline - Komplexität verwalten \& beherrschen & Funktionen vl redundant \\ - Änderung der Implementierung transparent & selbe Information für verschiedene Layer nötig \\ - Ideales Netzwerk & Layer n benötigt eventuell Einblick in Layern n+x \\ -\end{tabular} - -\section{Architekturvoraussetzungen} -für das Internet -\begin{description} - \item[Generalität] Unterstütze alle möglichen Sets von Applikationen - \item[Heterogenität] Verbinde alle Arten von Netzwerktechnologien - \item[Robustheit] Wichtiger als Effizienz - \item[Erweiterbarkeit] Wichtiger als Effizienz - \item[Skalierbarkeit] Spätere Entdeckung -\end{description} - -\section{Medium Access Control (MAC)} -\subsection{Annahmen für die dynamische Kanalzuweisung} -\begin{itemize} - \item Stationsmodell - \begin{itemize} - \item N unabhängige Stationen - \item Mögliches Lastmodell: Wahrscheinlichkeit des Generierens eines Pakets im Intervall t ist x*T, mit x konstant - \end{itemize} - \item Einkanalannahme: Nur ein Kanal für alle Stationen und für alle Nachrichten - \item Kollisionsannahme: Nur je ein Frame zeitgleich fehlerfrei übertragbar - \item Zeitmodell - \begin{itemize} - \item Kontinuierlich: Übertragungen können jederzeit stattfinden - \item Geslottet: Zeit ist in Slots eingeteilt, Übertragung kann nur an Slotgrenzen beginnen - \end{itemize} - \item Carrier Sensing (CSMA) - \begin{itemize} - \item Stationen können (oder auch nicht) erkennen, ob der Kanal frei oder in Benutzung ist - \item Falls Kanal als belegt angesehen, so wird nichts übertragen - \end{itemize} -\end{itemize} - -\subsection{Carrier Sensing} -\begin{description} - \item[] Höre bevor du redest, und sende nichts, wenn das Medium gerade belegt ist - \item[1-Persistent CSMA] Falls belegt, so warte bis frei und sende dann -> Probleme entstehen, wenn mehrere nach der jetzigen Nachricht senden wollen - \item[Non-Persistent CSMA] Wenn Kanal frei so übertrage, wenn Kanal belegt, so warte eine zufällige Zeit vor dem nächsten Freiheitstest - \item[P-Persistent CSMA] Kombiniert bisherige Ideen + geslottete Zeit, Warte ständig auf freiwerden des Kanals übertrage aber nicht sofort -\end{description} - -\subsection{Collision Detetion - CSMA/CD} -Abhängig vom physischen Layer können Kollisionen erkannt werden, so warte eine zufällige Zeit k - -\subsection{Bit-Map-Protokoll} -Stationen melden Sendewunsch während eines Reservierungsslots an -\begin{itemize} - \item Verhalten bei geringer Last: Wenn kaum ein Paket versendet werden soll, so wiederholt das Medium die Contentionslots -> Wartezeit - \item Verhalten bei großer Last: Hoher und stabiler Durchsatz mit vernachlässigbarem Overhead - \item Bit-Map ist ein Carrier Sense Protokoll -\end{itemize} - -\subsection{Limited Contention Protokoll} -\begin{itemize} - \item Idee 1: - \begin{itemize} - \item Anpassen der Stationsanzahl per Contentionslot - \item Contentionslots sind gut für den Durchsatz, bei geringer Last können wir es uns aber nicht leisten, auf die Antworten zu warten -> Stationen müssen sich dynamisch einen Slot teilen - \end{itemize} - \item Idee 2: Adaptives Baumprotokoll := Verwende verschiedene Auflösungslevel für die Wettbewerbsslots -\end{itemize} - -\subsection{Ethernetversionen} -\begin{description} - \item[Switched Ethernet] mehrere Stationen über ein Kabel - \item[Fast Ethernet] wie Switched nur mit 10ns Bitzeit - \item[Gigabit Ethernet] jedes Kabel hat genau zwei Maschinen angehängt - \begin{itemize} - \item mit Switch - \begin{itemize} - \item Keine geteilten Kollisionsdomönen, benötigen kein CSMA-CD - \item Fullduplexoperation auf jedem Link - \end{itemize} - \item mit Hub - \begin{itemize} - \item Kollisionen, Halbduples, CSMA-CD - \item Maximale Kabellänge 25 Meter - \end{itemize} - \end{itemize} -\end{description} - -\section{Internetworking} -\subsection{Pfaderkennung - Selbstlernen} -\begin{itemize} - \item Jeder Switch hat eine Switchtabelle - \item Eintrag: (MAC-Adresse, Interface, Zeitstempel) - \item Beim Empfang eines Frames lernt der Switch den Ort des Senders kennen (Rückwärtslernen) -\end{itemize} - -\subsection{Weiterleiten} -\begin{itemize} - \item Falls Ziel bekannt so prüfe, ob es in das selbe Segment gehört aus dem es kommt -> verwerfen, - \item sonst leite es passend weiter - \item andernfalls flute das Netzwerk damit -\end{itemize} - -\subsection{Rückwärtslernen in Bridges - Bootstrapping} -\begin{itemize} - \item Flute, falls nicht bekannt wohin gesendet werden muss, oder - \item verwerfe, wenn bekannt, dass es nicht nötig ist, oder - \item leite spezifisch weiter, wenn das Ziel bekannt ist -\end{itemize} - -\subsection{Gateways} -Wenn selbst Router nicht ausreichend, dann sind Higher-Layer-Verbindungen notwendig; Arbeit auf dem Transportlevel und oberhalb, zum Beispiel für Transcodierung - -\subsection{Verbindung einzelner LANs} -\begin{itemize} - \item Physisches Layer - Repeater und Hub - \item Data-Link-Layer - Bridges und Switches - \item Netzwerklayer - Routing - \item Higher-Layer - Gateways -\end{itemize} - -\section{Netzwerklayer} -\subsection{Durchsuchen der Routingtabelle} -\begin{itemize} - \item Suche nach übereinstimmender Hostadresse (Flag H gesetzt) - \item Suche dann nach passender Netzwerkadresse - \item Drittens, Suche nach einem Defaulteintrag -\end{itemize} - -\subsection{Switching Fabric} -\begin{itemize} - \item Switching mittels Speicher - \begin{itemize} - \item Herkömmliche Rechner mit Switching unter direkter CPU-Kontrolle - \item Kopieren der Pakete in den Systemspeicher - \item Geschwindigekeit limitiert durch die Speicherbandbreite - \end{itemize} - \item Switching mittels BUS - \begin{itemize} - \item Übertragung von Datagrammen intern über einen Bus - \item Switchinggeschwindikeit limitiert durch die Busbandbreite - \item typ. 1Gbps Bus, ausreichend für Heim und Businessrouter - \end{itemize} - \item Switching mittels Verbindungsnetzwerk (Crossbar) - \begin{itemize} - \item Überwinden der Bandbreitenbeschränkungen von Busen - \item Design: Fragmentierung von Datagrammen in Zellen fester Größe, wobei nun die Zellen durch das Fabric geswitcht werden - \item Bis zu 1.28 Tbps Switchinggeschwindigkeit - \end{itemize} -\end{itemize} - -\subsection{IP Paketformat} -\begin{itemize} - \item Version: Versionsnummer des eingesetzten IP - \item IHL: IP Header Length in 32 Bit Worten - \item Typ des Dienstes: Infos zur Priorisierung - \item Totale Länge: Die gesamtlänge in Bytes inklusive Header - \item Identifier: Wenn Fragmentierung auftritt, bekommt jedes zugehörige Paket den selben Identifier - \item Flags: DF (don't fragment), MF (more fragments, alle außer das letzte Paket haben dies gesetzt) - \item Fragment Offset: Position des Fragments im ursprünglichen Paket - \item TTL: Zähler für die Hopanzahl, wird an jedem Router dekrementiert, sobald gleich 0 -> verwerfen - \item Protokoll: Spezifiziert verwendetes Protokoll - \item Headerchecksum: Erlaubt Verifizierung der Inhalte im IP Header - \item Quell und Zieladressen: identifizieren der Quelle und des Ziels - \item Optionen: bis 40 Byte, zur Erweiterung verwendet -\end{itemize} - -\subsection{Klassen von IP-Adressen} -\begin{itemize} - \item Class A: rießige Organisationen, bis 16 Mil. Hosts - \item Class B: große Organisationen, bis 65 Tausend Hosts - \item Class C: kleine Organisationen, bis 255 Hosts - \item Class D: Multicast, keine Netzwerk/Host Hierarchie - \item Class E: reserviert - \item Loopback: 127.xxx.xxx.xxx ist zum Testen reserviert, hierauf versendete Pakete werden als eingehende behandelt - \item Broadcast: alles 1en -\end{itemize} - -\subsection{IP-Adressierung} -\begin{itemize} - \item IPv4 Adresse: 32 Bit Identifier für Hosts oder Routinginterfaces - \item Interface: Verbindung zwischen Host und dem physischen Link. IP Adressen werden an das jeweilige Interface vergeben -\end{itemize} - -\subsection{CIDR: Classless Inter Domain Routing} -\begin{itemize} - \item Überwinden der Klassengrenzen durch Supernetting - \item ISPs können nun Class C Blocks zu einem großen Block zusammenfassen - \item "Longest match routing" auf maskierten Adressen - \item Beispiel: Alle in Europa vergebenen Adressen teilen sich einen gemeinsamen Prefix -> Nur ein Eintrag für alle Verbindungen nach Europa in den meisten amerikanischen Routern -\end{itemize} - -\subsection{NAT - Network Address Translation} -\begin{itemize} - \item Lokale Netzwerke haben nur eine der Außenwelt bekannte IP-Adresse, somit hat nicht jedes Gerät eine vom ISP bereitgestellte Adresse - \begin{itemize} - \item Möglichkeit intern Adressen zu vergeben ohne die Außenwelt informieren zu müssen - \item Wechsel des ISPs möglich, ohne intern Adressen zu verändern - \item Geräte im Netzwerk nicht von außen ansprechbar (Sicherheitsfaktor) - \end{itemize} - \item 16 Bit Portnummernfeld -> 60 000 simultane Verbindung mit nur einer einzigen LAN-Side Adresse -\end{itemize} - -\subsection{ICMP: Internet Control Message Protocol} -\begin{itemize} - \item Verwendet von Hosts und Routern um auf Netzwerkebene Informationen auszutauschen - \item In Netzwerkebenen oberhalb von IP werden ICMP Nachrichten als IP Datagramme versendet - \item ICMP Nachrichten: Typ, Code + erste 8 Bytes des den Fehler auslösenden IP-Datagramms -\end{itemize} - -\subsection{IPv6} -\begin{itemize} - \item Header mit 40 Byte Größe (also 20 Byte mehr als bei IPv4 mit 32 Bit Adressen) - \item Fragmentierung ist nicht mehr erlaubt - \item Headerformat hilft bei schneller Verarbeitung und Weiterleitung - \item Checksummen -> komplett entfernt - \item Optionen -> Erlaubt, aber außerhalb des Headers - \item ICMPv6 -> Zusätzliche Nachrichtentypen + Multicastgruppenmanagementfunktionen -\end{itemize} - -\subsubsection{IPv6 Header} -\begin{itemize} - \item Priority: Signalisiert die Priotität der Datagramme im Fluss - \item Flow Label: Identifiziert Datagramme im selben Fluss - \item Next Header: Identifiziert das Layer der höheren Schicht für Daten -\end{itemize} - -\subsection{Routing Algorithmen} -\begin{itemize} - \item Ein Router führt einen Routingalgorithmus aus, um zu entscheiden, an welchem Ausgang ein eingehendes Paket weiter übertragen werden sollte. - \begin{itemize} - \item Verbindungsorientiert: nur beim Verbindungsaufbau - \item Verbindungslos: entweder für jedes Paket oder periodisch ausgeführt - \end{itemize} - \item Oftmals unter Verwendung von Metriken -> Zuweisung eines Kostenfaktors an jeden Link, bspw. Anzahl an Hops, Kosten eines Links,… - \item Zwei grundlegende Typen existieren: - \item \begin{itemize} - \item Nichtadaptive Routingalgorithmen: Nehmen keine Rücksicht auf aktuellen Netzwerkzustand (z.B. Fluten) - \item Adaptive Routingalgorithmen: Berücksichtigen aktuellen Netzwerkzustand (z.B. Distanzvekotrrouting, Link State Routing) - \end{itemize} -\end{itemize} -\begin{description} - \item[Fluten] jedes eingehende Paket wird auf jede ausgehende Linie geschickt, außer auf die Herkunftslinie - \item[Zufallsrouting] Jedes ankommende Paket wird auf einen zufälligen Ausgang geschickt, außer auf den Quellausgang -> es bahnt sich seinen Weg sozusagen durch den Router - \item[Adaptive Routingalgorithmen] \ - \begin{description} + % multicol parameters + % These lengths are set only within the two main columns + %\setlength{\columnseprule}{0.25pt} + \setlength{\premulticols}{1pt} + \setlength{\postmulticols}{1pt} + \setlength{\multicolsep}{1pt} + \setlength{\columnsep}{2pt} + + \section{Netzwerktopologie} + \begin{tabular}{l | c | c | c} + Topologie & Verbindungen & Point-to-Point & Konnekt. \\\hline + Stern & $n-1$ & möglich & 1 \\ + Bus & $n-1$ & nein & 1 \\ + Baum & $n-1$ & eingeschränkt & 1 \\ + Ring & $n$ & nein & 2 \\ + Voll & $n(n-1)$ & möglich & viele \\ + \end{tabular} + + \section{Multiplexing} + Optionen für die Auswahl des nächsten Hops bei großen Netzwerken: + \begin{description*} + \item[Fluten] Sende das Paket an alle Nachbarn + \item[Hot Potato Routing] Sende an einen zufälligen Nachbarn + \item[Routingtabellen] In jedem Switch mit einem Eintrag pro Ziel. Enthält Info über kürzeste Wege + \end{description*} + + \section{Serviceprimitive} + \begin{description*} + \item[Request (Req)] Anfrage an ein Layer einen Service auzuführen + \item[Indication (Ind)] Ein Layer zeigt seinem Nutzer, dass etwas passiert ist (asynchrone Benachrichtigung) + \item[Response (Res)] Ein Nutzer von höherem Layer beantwortet eine Indication + \item[Confirmation (Conf)] Der ursprüngliche Dienstaufrufer wird über die Beendigung des Servicerequests informiert + \end{description*} + + \section{Korrektheitsanforderung} + \begin{description*} + \item[Completeness] Alle gesendeten Nachrichten werden irgendwann zugestellt + \item[Correctness] Alle Daten die ankommen, sind auch genau die, die losgeschickt wurden (unverändert, ohne Bitfehler) + \item[Reihenfolgegetreu] Nachrichten und Bytesequenzen kommen in der korrekten Reihenfolge an + \item[Verlässlich] Sicher, Verfügbar, … + \item[Bestätigt] Erhalt von Daten wird dem Sender bestätigt + \end{description*} + + \section{Verbindungsorientiert} + Verbindungsorientierte Dienste müssen Primitive Bereitstellen um Verbindungen handhaben zu können: + \begin{description*} + \item[CONNECT] Einrichtung der Verbindung + \item[LISTEN] Warten auf Verbindungsanfragen + \item[INCOMING\_CONN] Anzeige eingehender Connectionrequests + \item[ACCEPT] Annahme einer Verbindung + \item[DISCONNECT] Terminierung einer Verbindung + \end{description*} + + \section{Layering} + \begin{tabular}{ p{3.5cm} | p{3.5cm} } + Vorteile & Nachteile \\\hline + Komplexität verwalten \& beherrschen & Funktionen vl redundant \\ + Änderung der Implementierung transparent & selbe Information für verschiedene Layer nötig \\ + Ideales Netzwerk & Layer n benötigt eventuell Einblick in Layern n+x \\ + \end{tabular} + + \section{Informationsgehalt nach Shannon} + $I(x)=-Id(P(x)) = ld(\frac{1}{P(x)})$ + Anforderungen an eine Funktion für den Informationsgehalt eines Zeichens + \begin{itemize*} + \item $I(x)$ reziprok zu $P(x)$ + \item $(P(x)=1) \Rightarrow (I(x)=0)$ + \item $I(x,y) = I(x) + I(y)$ + \end{itemize*} + + \section{Entropie} + Die Entropie bezeichnet den durchschnittlichen Informationsgehalt einer Zeichenquelle. + \begin{description*} + \item[Eingangsentropie] $H(X) \quad= \sum_{i=1}^n P(x_i) * ld(\frac{1}{P(x_i)})$ + \item[Verbundentropie] $H(X,Y) \quad= \sum_{i=1}^n \sum_{j=1}^m P(x_i, y_i) * ld(\frac{1}{P(x_i, y_i)})$ + \item[Verlustentropie] $H(X|Y) \quad= \sum_{i=1}^n \sum_{j=1}^m P(x_i, y_i) * ld(\frac{1}{P(x_i, y_i)}) = H(X,Y) - H(Y)$ + \item[Störentropie] $H(Y|X) \quad= \sum_{i=1}^n \sum_{j=1}^m P(y_i, x_i) * ld(\frac{1}{P(y_i, x_i)}) = H(X,Y) - H(X)$ + \item[Transinformation] $H_T \quad= H(X) + H(Y) - H(X,Y)$ + \end{description*} + + \section{Architekturvoraussetzungen} + für das Internet + \begin{description*} + \item[Generalität] Unterstütze alle möglichen Sets von Applikationen + \item[Heterogenität] Verbinde alle Arten von Netzwerktechnologien + \item[Robustheit] Wichtiger als Effizienz + \item[Erweiterbarkeit] Wichtiger als Effizienz + \item[Skalierbarkeit] Spätere Entdeckung + \end{description*} + + \section{Medium Access Control (MAC)} + \subsection{Annahmen für die dynamische Kanalzuweisung} + \begin{itemize*} + \item Stationsmodell + \begin{itemize*} + \item N unabhängige Stationen + \item Mögliches Lastmodell: Wahrscheinlichkeit des Generierens eines Pakets im Intervall t ist x*T, mit x konstant + \end{itemize*} + \item Einkanalannahme: Nur ein Kanal für alle Stationen und für alle Nachrichten + \item Kollisionsannahme: Nur je ein Frame zeitgleich fehlerfrei übertragbar + \item Zeitmodell + \begin{itemize*} + \item Kontinuierlich: Übertragungen können jederzeit stattfinden + \item Geslottet: Zeit ist in Slots eingeteilt, Übertragung kann nur an Slotgrenzen beginnen + \end{itemize*} + \item Carrier Sensing (CSMA) + \begin{itemize*} + \item Stationen können (oder auch nicht) erkennen, ob der Kanal frei oder in Benutzung ist + \item Falls Kanal als belegt angesehen, so wird nichts übertragen + \end{itemize*} + \end{itemize*} + + \subsection{Carrier Sensing} + \begin{description*} + \item[] Höre bevor du redest, und sende nichts, wenn das Medium gerade belegt ist + \item[1-Persistent CSMA] Falls belegt, so warte bis frei und sende dann -> Probleme entstehen, wenn mehrere nach der jetzigen Nachricht senden wollen + \item[Non-Persistent CSMA] Wenn Kanal frei so übertrage, wenn Kanal belegt, so warte eine zufällige Zeit vor dem nächsten Freiheitstest + \item[P-Persistent CSMA] Kombiniert bisherige Ideen + geslottete Zeit, Warte ständig auf freiwerden des Kanals übertrage aber nicht sofort + \end{description*} + + \subsection{Collision Detetion - CSMA/CD} + Abhängig vom physischen Layer können Kollisionen erkannt werden, so warte eine zufällige Zeit k + + \subsection{Bit-Map-Protokoll} + Stationen melden Sendewunsch während eines Reservierungsslots an + \begin{itemize*} + \item Verhalten bei geringer Last: Wenn kaum ein Paket versendet werden soll, so wiederholt das Medium die Contentionslots -> Wartezeit + \item Verhalten bei großer Last: Hoher und stabiler Durchsatz mit vernachlässigbarem Overhead + \item Bit-Map ist ein Carrier Sense Protokoll + \end{itemize*} + + \subsection{Limited Contention Protokoll} + \begin{itemize*} + \item Idee 1: + \begin{itemize*} + \item Anpassen der Stationsanzahl per Contentionslot + \item Contentionslots sind gut für den Durchsatz, bei geringer Last können wir es uns aber nicht leisten, auf die Antworten zu warten -> Stationen müssen sich dynamisch einen Slot teilen + \end{itemize*} + \item Idee 2: Adaptives Baumprotokoll := Verwende verschiedene Auflösungslevel für die Wettbewerbsslots + \end{itemize*} + + \subsection{Ethernetversionen} + \begin{description*} + \item[Switched Ethernet] mehrere Stationen über ein Kabel + \item[Fast Ethernet] wie Switched nur mit 10ns Bitzeit + \item[Gigabit Ethernet] jedes Kabel hat genau zwei Maschinen angehängt + \begin{itemize*} + \item mit Switch + \begin{itemize*} + \item Keine geteilten Kollisionsdomönen, benötigen kein CSMA-CD + \item Fullduplexoperation auf jedem Link + \end{itemize*} + \item mit Hub + \begin{itemize*} + \item Kollisionen, Halbduples, CSMA-CD + \item Maximale Kabellänge 25 Meter + \end{itemize*} + \end{itemize*} + \end{description*} + + \section{Kodierung} + \subsection{Quellenkodierung} + Die Quellenkodierung ordnet jedem Zeichen einen binären Code zu. Dabei sollen Kodierung und Dekodierung möglichst einfach und der mittlere Kodierungsaufwand möglichst klein sein. Das heißt die Quellenkodierung versucht möglichst alle Redundanzen zu vermeiden. + + \begin{tabular}{ l | l | p{5cm} } + Code & Stellen & Bemerkung \\\hline + Block & fest & keine Berücksichtigung der Informationsgehalte \\ + Fano & variabel & + \begin{itemize*} + \item Sortieren von groß nach klein + \item Teilen in ähnlich große Partition + \item Vordere Gruppe erhält 0 als Codierungsziffer + \item Hintere Gruppe erhält 1 als Codierungsziffer + \end{itemize*} \\ + Huffmann & variabel & + \begin{itemize*} + \item Zusammenfassen der beiden kleinsten Auftrittswahrscheinlichkeiten + \item Die kleinere Auftrittswahrscheinlichkeit erhält eine 1 als Codierungsziffer + \end{itemize*} + \end{tabular} + + \subsection{Kanalcodierung} + Die Kanalcodierung fügt Redundanz ein, um Übertragungfehler detektieren zu können.\\ + Dies kann man durch das Anhängen eines Paritätsbits erreichen. + Eine weitere Möglichkeit der Fehlererkennung ist der Cyclic Redundancy Check. Hierbei werden die Daten als Binärzahl aufgefasst. Die Zahl wird um $n$ Nullen erweitert und durch eine festgelegte Zahl der Länge $n + 1$ dividiert. Die Division wird ohne Brücksichtigung des Übertrages durchgeführt, also modulo 2. Der Rest, der bei der Division entsteht, wird anschließend auf die Binärzahl aufaddiert. Wird die berechnete Zahl fehlerfrei übertragen, entsteht bei einer Division durch die Prüfzahl kein Rest. Erhält der Empfänger bei der Division einen Rest, weiß er, daß die Daten fehlerhaft übertragen worden sind. + + \subsection{Leitungskodierung} + Die Leitungkodierung bildet das Codealphabet auf physikalische Signale ab. Der binäre Datenstrom, der von Quellenkodierung und Kanalkodierung erzeugt wird, muß also durch verschiedene analoge Signalmuster dargestellt werden. + + \subsection{Digital-Analog-Wandlung} + Zur Digital-Analog-Wandlung können die folgenden Modulationsverfahren genutzt werden + \begin{itemize*} + \item Amplitudenmodulation + \item Phasenmodulation + \item Frequenzmodulation + \end{itemize*} + + \subsection{Digitale Signalcodes} + Ein digitaler Signalcode heißt selbsttaktend, wenn aus dem Datensignal der Übertragungstakt gewonnen werden kann. Dies hat den Vorteil, daß man keine weitere Leitung zur Übertragung des Taktes braucht, um Sender und Empfänger synchron zu halten. Ein Code heißt gleichstromfrei, wenn die Summe der Impulse Null ergibt. + + \begin{tabular}{ p{3cm} | c | c | c } + & gleich-stromfrei & selbst-taktend & verpolungs-sicher \\\hline + \textbf{NRZ} none return to zero \begin{itemize*} \item 1 positiver Pegel \item 0 neutrale Pegel \end{itemize*} & nein & nein & nein \\ + \textbf{RZ} Return to Zero \begin{itemize*} \item 1 in Folge eines positiven und neutralen Impulses \item 0 nach zwei Neutralen \end{itemize*} & nein & nein & nein \\ + \textbf{Biphase-L} Manchestercode \begin{itemize*} \item 1 in Folge negativ und positiv Impuls \item 0 in Folge positiv, negativ \end{itemize*} & ja & ja & nein \\ + \textbf{Differential} -Manchstercode \begin{itemize*} \item 0 durch Pegelwechsel am Anfang \item 1 durch Fehlen eines Pegelwechsels \item in Mitte des Bitzeitintervall stets Pegelwechsel \end{itemize*} & ja & ja & ja \\ + \textbf{AMI} AMI-Code \begin{itemize*} \item Ternärcode \item 0 bei neutralem Pegel \item 1 alternierend durch negativen/positiven Pegel \end{itemize*} & ja & nein & ja + \end{tabular} + + \subsection{Scrambler} + Scrambler erhöhen die Anzahl der Pegelwechsel in einem nicht selbstaktendem Code, damit trotzdem ausreichend Synchroninformation im Datenstrom enthalten ist. Dies wird durch Division durch ein Binärpolynom erreicht. Das Ergebnis der Division wird übertragen. + + \section{Analog-Digital-Wandlung} + zeit- und wertkontinuierliche Analogsignal in ein zeit- und wertdiskretes Difgitalsignal umwandeln + + \subsection{Quantisierung} + Zur Wandlung in ein Digitalsignal wird das Analogsignal in Zeitabständen $\delta t$ abgetastet. Der ermittelte Wert wird quantisiert. Die Differenz zwischen Quantisierungstufe und echtem Wert wird auch Quantisierungsfehler genannt. + + \subsection{Abtasttheorem} + die Abtastrate $f_A$ muss größer als die doppelte Maximalfrequenz $f_{Smax}$ sein: $f_A\geq 2*f_{Smax}$ + + \subsection{Kanalkapazität} + Die Kanalkapazität $K_{Rausch}$ hängt von der Signalleistung $P_S$ und der Rauschleistung $P_R$ im Medium aber + \begin{description*} + \item[Kapazität] $K_{Rausch} = f_{Kmax} * ld(\frac{P_s}{P_R} +1)$ + \item[falls rauschfrei] $K= 2f_{Kmax} * ld(n)$ + \item[Rauschabstand] $r=10*lg(\frac{P_S}{P_R})$ + \item[Kap. bei Rauschabstand] $K_{Rausch} \approx \frac{f_{Kmax}*r}{3}$ + \end{description*} + + \section{Fehlerbehandlung} + \subsection{Stop-and-Wait} + \begin{itemize*} + \item Sender sendet erst, wenn er Quittung für Empfang des letzten Paketes erhalten hat + \item Rahmennummerierung benötigt + \end{itemize*} + + \subsection{ARQ Verfahren} + Mit ARQ (Automatic Repeat reQuest) bezeichnet man Verfahren, die mit einer Kombination von Fehlererkennung, Zeitgebern, Bestätigung und Übertragungswiederholungen arbeiten. + + \subsection{Go-Back-N} + \begin{itemize*} + \item Sender benötigt Puffer, um noch nicht bestätigte Pakete zwischenzuspeichern + \item Falls eine Bestätigung für ein Paket ausbleibt, sendet er alle Pakete ab diesem erneut + \item hohe Belastung der Übertragungswege + \end{itemize*} + + \subsection{Selective reject ARQ} + \begin{itemize*} + \item wie Go-Back-N + \item allerdings wird nur das fehlerhafte Paket neuübertragen + \item Empfänger benötigt Puffer, um ausgefallene Pakete nachträglich einfügen zu können + \end{itemize*} + + \section{Kollisionsbehandlung} + \subsection{CSMA/CD} + Bei CSMA/CD (Carrier Sense Multiple Access / Collision Detection) hört der Sender bevor er sendet den Kanal ab. Falls der Kanal frei ist, beginnt er zu senden. Nun horcht er, ob es Kollisionen gibt. Dies tut er eine im Standard festgelegte Zeit lang. In dieser Zeit erreicht das Signal jeden am Kanal angeschlossenen Sender, sofern das Netz Standardgerecht verlegt ist. Stellt der Sender eine Kollision fest zum Beispiel in Form überlagerter Signale, zieht er sich vom Kanal zurück und versucht später wieder den Sendevorgang zu wiederholen. Gab es aber keine Überlagerung kann er ohne zu horchen weitersenden, da kein anderer Sender mit dem Sendevorgang beginnt, wenn der Kanal belegt ist. + + \subsection{Token Verfahren} + In einem logischen Ring wird ein Token im Kreis durchgereicht, der der den Token hat darf senden. Er wandelt den Freitoken in den Header eines Datenpaketes um und sendet nun fortlaufend Daten. Der Empfänger nimmt die Daten nicht vom Ring, sondern schickt sie mit gesetztem Bestätigungsbit weiter. So erhält der Sender gleich noch eine Bestätigung. + + \subsection{DQDB-Zellen-Verfahren} + Auf zwei entgengengesetzten Bussen werden von den Endsystemen laufend Zellen gesendet. Möchte eine Station in eine Richtung senden, setzt sie in einem Fenster der entgegengesetzten Richtung das Busy-Bit. Alle Stationen, an denen dieses Paket vorbeiläuft, erhöhen ihren Warteschlagencounter. Wenn sie nun auch senden wollen, wissen sie mittels dieses Counters an welcher Stelle der Warteschlange sie stehen. Wenn auf der gefragten Leitung nun eine leere Zelle vorbeiläuft, senken alle Stationen in der Warteschlange ihre Position um eins und die erste Station beginnt zu senden. + + \subsection{Multiplexing} + Techniken, die es ermöglichen mehrere Verbindungen auf einem Kanal zu halten + \begin{description*} + \item[Raummultiplex] räumlichen Zuweisung von Kanälen an Regionen. Unter Beachtung eines Mindestabstandes kann ein Kanal doppelt genutzt werden + \item[Raummultiplex] Vermittlung der Ortsanschlüsse an Regionalleitungen + \item[Zeitmultiplex] Aufteilung eines Kanals auf mehrere Teilnehmer mittels einer synchronen oder asynchronen Zeitscheibentechnik (konstante oder wechselnde Zeitabstände) + \item[Frequenzmultiplex] Aufteilung eines Kanals auf mehrere Teilnehmer mittels Zuweisung verschiedener Frequenzbänder an verschiedene Teilnehmer + \item[Codemultiplex] Aufteilung eines Kanals auf mehrere Teilnehmer mittels Zuweisung verschiedener Kodierungen an verschiedene Teilnehmer + \end{description*} + + \section{Wartezeiten} + \subsection{Systemdefinition} + \begin{description*} + \item[Wartesystem] Aufträge werden in eine endlose Warteschlange eingereiht. + \item[Verlustsystem] Aufträge, die nicht direkt bearbeitet werden können, gehen verloren. + \item[Warteverlustsystem] Aufträge werden in eine endliche Warteschlange eingereiht. Ist die Warteschlange voll, gehen weitere Aufträge verloren. + \end{description*} + + \subsection{Verteilung der Ankunftsabstände} + $TA$... Abstand der ankommenden Aufträge + $F_{TA}$ ist exponentialverteilt. + $F_{TA} (t) = 1 - e^{-\lambda t} = P (TA = \delta t)$ + Dichtefunktion: $f_{TA} = \lambda e^{\lambda t}$ + + \subsection{Verteilung der Anzahl der Ankünfte} + K . . . Anzahl der Ankünfte in einem Zeitintervall T + $P (K = k) = \frac{\lambda^k * T^k}{k!} e^{\lambda T}$ + + \subsection{Little’sches Gesetz} + $TA$ mittlere Verweilzeit eines Auftrages. Die Verweilzeit eines Auftrages setzt sich aus Wartezeit und Bearbeitungszeit des Auftrages zusammen. + $N$ Anzahl der Aufträge im System + $\lambda$ Ankunftsrate der Aufträge + $N = \lambda · T \leftrightarrow T = \frac{N}{\lambda}$ + + Das Gesetz von Little ist unabhängig von der Wahl der Bedienstrategie und sogar von der Größe des + Warteschlangennetzes. + + + + \section{Internetworking} + \subsection{Pfaderkennung - Selbstlernen} + \begin{itemize*} + \item Jeder Switch hat eine Switchtabelle + \item Eintrag: (MAC-Adresse, Interface, Zeitstempel) + \item Beim Empfang eines Frames lernt der Switch den Ort des Senders kennen (Rückwärtslernen) + \end{itemize*} + + \subsection{Weiterleiten} + \begin{itemize*} + \item Falls Ziel bekannt so prüfe, ob es in das selbe Segment gehört aus dem es kommt -> verwerfen, + \item sonst leite es passend weiter + \item andernfalls flute das Netzwerk damit + \end{itemize*} + + \subsection{Rückwärtslernen in Bridges - Bootstrapping} + \begin{itemize*} + \item Flute, falls nicht bekannt wohin gesendet werden muss, oder + \item verwerfe, wenn bekannt, dass es nicht nötig ist, oder + \item leite spezifisch weiter, wenn das Ziel bekannt ist + \end{itemize*} + + \subsection{Gateways} + Wenn selbst Router nicht ausreichend, dann sind Higher-Layer-Verbindungen notwendig; Arbeit auf dem Transportlevel und oberhalb, zum Beispiel für Transcodierung + + \subsection{Verbindung einzelner LANs} + \begin{itemize*} + \item Physisches Layer - Repeater und Hub + \item Data-Link-Layer - Bridges und Switches + \item Netzwerklayer - Routing + \item Higher-Layer - Gateways + \end{itemize*} + + \section{Netzwerklayer} + \subsection{Durchsuchen der Routingtabelle} + \begin{itemize*} + \item Suche nach übereinstimmender Hostadresse (Flag H gesetzt) + \item Suche dann nach passender Netzwerkadresse + \item Drittens, Suche nach einem Defaulteintrag + \end{itemize*} + + \subsection{Switching Fabric} + \begin{itemize*} + \item Switching mittels Speicher + \begin{itemize*} + \item Herkömmliche Rechner mit Switching unter direkter CPU-Kontrolle + \item Kopieren der Pakete in den Systemspeicher + \item Geschwindigekeit limitiert durch die Speicherbandbreite + \end{itemize*} + \item Switching mittels BUS + \begin{itemize*} + \item Übertragung von Datagrammen intern über einen Bus + \item Switchinggeschwindikeit limitiert durch die Busbandbreite + \item typ. 1Gbps Bus, ausreichend für Heim und Businessrouter + \end{itemize*} + \item Switching mittels Verbindungsnetzwerk (Crossbar) + \begin{itemize*} + \item Überwinden der Bandbreitenbeschränkungen von Busen + \item Design: Fragmentierung von Datagrammen in Zellen fester Größe, wobei nun die Zellen durch das Fabric geswitcht werden + \item Bis zu 1.28 Tbps Switchinggeschwindigkeit + \end{itemize*} + \end{itemize*} + + \subsection{IP Paketformat} + \begin{itemize*} + \item Version: Versionsnummer des eingesetzten IP + \item IHL: IP Header Length in 32 Bit Worten + \item Typ des Dienstes: Infos zur Priorisierung + \item Totale Länge: Die gesamtlänge in Bytes inklusive Header + \item Identifier: Wenn Fragmentierung auftritt, bekommt jedes zugehörige Paket den selben Identifier + \item Flags: DF (don't fragment), MF (more fragments, alle außer das letzte Paket haben dies gesetzt) + \item Fragment Offset: Position des Fragments im ursprünglichen Paket + \item TTL: Zähler für die Hopanzahl, wird an jedem Router dekrementiert, sobald gleich 0 -> verwerfen + \item Protokoll: Spezifiziert verwendetes Protokoll + \item Headerchecksum: Erlaubt Verifizierung der Inhalte im IP Header + \item Quell und Zieladressen: identifizieren der Quelle und des Ziels + \item Optionen: bis 40 Byte, zur Erweiterung verwendet + \end{itemize*} + + \subsection{Klassen von IP-Adressen} + \begin{itemize*} + \item Class A: rießige Organisationen, bis 16 Mil. Hosts + \item Class B: große Organisationen, bis 65 Tausend Hosts + \item Class C: kleine Organisationen, bis 255 Hosts + \item Class D: Multicast, keine Netzwerk/Host Hierarchie + \item Class E: reserviert + \item Loopback: 127.xxx.xxx.xxx ist zum Testen reserviert, hierauf versendete Pakete werden als eingehende behandelt + \item Broadcast: alles 1en + \end{itemize*} + + \subsection{IP-Adressierung} + \begin{itemize*} + \item IPv4 Adresse: 32 Bit Identifier für Hosts oder Routinginterfaces + \item Interface: Verbindung zwischen Host und dem physischen Link. IP Adressen werden an das jeweilige Interface vergeben + \end{itemize*} + + \subsection{CIDR: Classless Inter Domain Routing} + \begin{itemize*} + \item Überwinden der Klassengrenzen durch Supernetting + \item ISPs können nun Class C Blocks zu einem großen Block zusammenfassen + \item "Longest match routing" auf maskierten Adressen + \item Beispiel: Alle in Europa vergebenen Adressen teilen sich einen gemeinsamen Prefix -> Nur ein Eintrag für alle Verbindungen nach Europa in den meisten amerikanischen Routern + \end{itemize*} + + \subsection{NAT - Network Address Translation} + \begin{itemize*} + \item Lokale Netzwerke haben nur eine der Außenwelt bekannte IP-Adresse, somit hat nicht jedes Gerät eine vom ISP bereitgestellte Adresse + \begin{itemize*} + \item Möglichkeit intern Adressen zu vergeben ohne die Außenwelt informieren zu müssen + \item Wechsel des ISPs möglich, ohne intern Adressen zu verändern + \item Geräte im Netzwerk nicht von außen ansprechbar (Sicherheitsfaktor) + \end{itemize*} + \item 16 Bit Portnummernfeld -> 60 000 simultane Verbindung mit nur einer einzigen LAN-Side Adresse + \end{itemize*} + + \subsection{ICMP: Internet Control Message Protocol} + \begin{itemize*} + \item Verwendet von Hosts und Routern um auf Netzwerkebene Informationen auszutauschen + \item In Netzwerkebenen oberhalb von IP werden ICMP Nachrichten als IP Datagramme versendet + \item ICMP Nachrichten: Typ, Code + erste 8 Bytes des den Fehler auslösenden IP-Datagramms + \end{itemize*} + + \subsection{IPv6} + \begin{itemize*} + \item Header mit 40 Byte Größe (also 20 Byte mehr als bei IPv4 mit 32 Bit Adressen) + \item Fragmentierung ist nicht mehr erlaubt + \item Headerformat hilft bei schneller Verarbeitung und Weiterleitung + \item Checksummen -> komplett entfernt + \item Optionen -> Erlaubt, aber außerhalb des Headers + \item ICMPv6 -> Zusätzliche Nachrichtentypen + Multicastgruppenmanagementfunktionen + \end{itemize*} + + \subsubsection{IPv6 Header} + \begin{itemize*} + \item Priority: Signalisiert die Priotität der Datagramme im Fluss + \item Flow Label: Identifiziert Datagramme im selben Fluss + \item Next Header: Identifiziert das Layer der höheren Schicht für Daten + \end{itemize*} + + \subsection{Routing Algorithmen} + \begin{itemize*} + \item Ein Router führt einen Routingalgorithmus aus, um zu entscheiden, an welchem Ausgang ein eingehendes Paket weiter übertragen werden sollte. + \begin{itemize*} + \item Verbindungsorientiert: nur beim Verbindungsaufbau + \item Verbindungslos: entweder für jedes Paket oder periodisch ausgeführt + \end{itemize*} + \item Oftmals unter Verwendung von Metriken -> Zuweisung eines Kostenfaktors an jeden Link, bspw. Anzahl an Hops, Kosten eines Links,… + \item Zwei grundlegende Typen existieren: + \item \begin{itemize*} + \item Nichtadaptive Routingalgorithmen: Nehmen keine Rücksicht auf aktuellen Netzwerkzustand (z.B. Fluten) + \item Adaptive Routingalgorithmen: Berücksichtigen aktuellen Netzwerkzustand (z.B. Distanzvekotrrouting, Link State Routing) + \end{itemize*} + \end{itemize*} + \begin{description*} + \item[Fluten] jedes eingehende Paket wird auf jede ausgehende Linie geschickt, außer auf die Herkunftslinie + \item[Zufallsrouting] Jedes ankommende Paket wird auf einen zufälligen Ausgang geschickt, außer auf den Quellausgang -> es bahnt sich seinen Weg sozusagen durch den Router + \item[Adaptive Routingalgorithmen] \ + \begin{description*} \item[Zentralisiertes adaptives Routing] Anpassen an die vorherrschende Verkehrslast; Ein Routingkontrollcenter muss ins Netzwerk eingebaut sein, welches periodisch den Linkstatus der Router erhält und kürzeste Routen berechnet und diese an die Router sendet \item[Isoliertes adaptives Routing] benötigt keinen Informationsaustausch zwischen Routern; Routingentscheidungen werden nur anhand der Informationen des lokalen Routers getroffen, wie bei Hotpotato oder Rückwärtslernen \item[Verteiltes adaptives Routing] Router tauschen periodisch Infos aus und aktualisieren Weiterleitungstabellen; Finde einen guten Pfad durch das Netzwerk, welcher einen von der Quelle zum Ziel führt; Graphabstraktion für Routingalgorithmen mit Linkkosten und Pfadkosten - \end{description} -\end{description} - -\subsection{Distanzvektorrouting Algorithmen} -\begin{description} - \item[Iterativ] Läuft bis keine Knoten mehr Informationen austauschen. Selbstterminierend -> kein Stoppsignal - \item[Asynchron] Knoten müssen Informationen nicht getaktet austauschen - \item[Verteilt] Jeder Knoten kommuniziert nur mit seinem direkten Nachbarn - \item[Distanztabellendatenstruktur] Jeder Knoten hat seine eigene Spalte für jedes mögliche Ziel und Zeile für jeden direkt angeschlossenen Nachbarknoten -\end{description} - -\subsubsection{Vergleich zwischen Link-State und Distanzvektoralgorithmen} -\begin{itemize} - \item Nachrichtenkomplexität: - \begin{itemize} - \item LS: mit N Knoten und E Links werden $O(n-e)$ Nachrichten versandt - \item DV: Austausch nur zwischen Nachbarn - \end{itemize} - \item Konvergenzgeschwindigkeit - \begin{itemize} - \item LS: $O(n^2)$ Algorithmus benötigt $O(N-E)$ Nachrichten (teils mit Oszillation) - \item DV: Konvergenzzeit variiert (Routingschleifen, Count to Infinity Problem, Oszillation) - \end{itemize} - \item Robustheit: (im Falle eines Routerausfalls) - \begin{itemize} - \item LS: Ein Knoten kann falsche Linkkosten ausgeben; Jeder Knoten berechnet nur seine eigene Tabelle - \item DV: DV Knoten kann falsche Gewichte ausgeben; Jede Tabelle wird nun noch von anderen Routern verwendet -> Fehler breiten sich über das ganze Netzwerk aus - \end{itemize} -\end{itemize} - -\subsection{Routing im Internet - Autonome Systeme} -Das globale Internet besteht aus miteinander verbundenen AS -\begin{description} - \item[Stub AS] kleine Unternehmen (ein Link zum Internet) - \item[Multihomed AS] große Unternehmen (mehrere Links, ohne Transitverkehr) - \item[Transit AS] Netzbetreiber -\end{description} -Zwei Level Routing: -\begin{description} - \item[Intra-AS] Administrator verantwortlich für die Auswahl (RIP, OSPF, IGRP) - \item[Inter-AS] Einheitlicher Standard (BGP) -\end{description} - -\subsection{Intra-AS und Inter-AS Routing} -\begin{itemize} - \item Policy: - \begin{itemize} - \item Inter AS: Admin möchte Kontrolle über sein Netz haben - \item Intra AS: ein einziger Admin, also keine Policyentscheidungen nötig - \end{itemize} - \item Skalierbarkeit: Hierarchisches Routing spart Tabellenplatz und sorgt für weniger Updateverkehr - \item Performance: - \begin{itemize} - \item Inter-AS: Policy wichtiger als Performance - \item Intra-AS: Performance als oberstes Gut - \end{itemize} -\end{itemize} - - -\section{Transport Layer} -\subsection{Multiplexing und Demultiplexing} -Hosts verwenden IP-Adressen und Portnummern um Segmente an korrekte Sockets zuzustellen -\begin{description} - \item[Multiplexing auf Sendeseite] Sammeln von Daten an mehreren Sockets, verpacken der Daten mit Header zum Demultiplexing - \item[Demultiplexing auf Empfangsseite] Zustellen empfangener Segmente an den korrekten Socket -\end{description} -\begin{description} - \item[Verbindungslos (UDP)] Erstelle Sockets mit Portnummern; Sockets werden übber Zweiertupel aus Ziel IP und Ziel Port identifiziert - \item[Verbindungsorientiert (TCP)] TCP Sockets werden durch ein Vierertupel aus Quell-IP, Quellport, ZielIP und Zielport identifiziert -\end{description} - -\subsection{verbindungsorientierte Kontrolle} -Connect $\rightarrow$ Data $\rightarrow$ Disconnect -\begin{itemize} - \item T-Connect.Request(Zieladr., Quelladr) - \item T-Connect.Indication(Zieladr., Quelladr.) - \item T-Connect.Response(Antwortadresse) - \item T-Connect.Confirmation(Antwortadresse) -\end{itemize} -CR (Connection Request) oder CC (Connection Confirm) TPDU - -\subsection{Drei Wege Handshake} -\begin{itemize} - \item Verbindung wird Aufgabaut, sobald beide Verbindungsaufbau TPDUs bestätigt wurden - \item Benötigt zusätzliches ACK (Acknowledgement) oder DT (Data) - \item Packe hierzu eine Sequenznummer in die CR, ACK, CC, DATA TPDUs - \item Muss durch die Gegenseite kopiert werden, und erlaubt den Verbindungsaufbau nur dann, wenn die korrekte Nummer bereit gestellt wird. Verwende Sequenznummern deshalb möglichst nicht schnell hintereinander erneut. -\end{itemize} - -\subsection{Verbindunsabbau} -\begin{description} - \item[implizit] Abbau der Netzwerklayerverbindung - \item[explizit] Verbindungsfreigabe mit Disconnect-TPDUs -\end{description} -Kann den Verlust von nicht bestätigten Daten nach sich ziehen, TCP verhindert dies, indem alle gesendeten PDUs vor Beenden der Verbindung bestätigt werden müssen - - -\section{Flusskontrolle} -\subsection{Pufferallokation} -\begin{itemize} - \item Flusskontrolle abhängig von der Puffermöglichkeit - \item Um ausstehdene Pakete zu unterstützen müssen diese entweder sofort und in korrekter Reihenfolge beim Empfänger ankommen, oder es muss genügend Puffer vorhanden sein - \item Empfänger verlangsamt den Sender oder Anforderung von Pufferspeicher durch den Sender - \item Mitteilung des Empfängers an den Sender, dass nur noch so viel Puffer verfügbar ist (bei Sliding Window einfach das Sendefenster anpassen) -\end{itemize} - -\subsection{Continue und Stop} -Einfachste Lösung: Sende Stopnachrichten wenn der Empfänger nicht schritthalten kann und Continue, sobald wieder Ressourcen vorhanden sind. \ -Beispiel: XON/XOFF: funktioniert aber nur bei Fullduplexverbindungen. - -\subsection{Implizite Flusskontrolle} -Idee: Halte ACKs oder NACKs zurück, um den Sender zu verlangsamen, somit werden Fehlerkontrollmechanismen nun zur Flusskontrolle missbraucht werden.\ -Nachteil: Senderseitig keine Unterscheidung mehr möglich, ob Pakete verloren gingen, oder er verlangsamt werden soll, was in unnötigen Wiederholungsübertragungen resultiert. - -\subsection{Kreditbasierte Flusskontrolle} -Der Empfänger gewährt dem Sender expliziten Kredit, sodass dieser meherere Pakete senden kann. Ist der Kredit aufgebraucht, so muss der Sender warten, bis er wieder neuen zugeteilt bekommt. Hierbei benötigen wir Fehlerkontrolle um auf verlorene Kreditnachrichten resultieren zu können - -\subsection{Permits und Acknowledgements} -\begin{itemize} - \item Permits = Empfänger hat Pufferspeicher, sende also weiter - \item Acknowledgements = Empfänger hat Anzahl X an Paketen empfangen - \item Kombinierbar mit dynamisch wachsendem Pufferplatz beim Emfänger (Beispiel TCP) -\end{itemize} - -\section{Staukontrolle} -Jedes Netzwerk kann nur eine gewisse Anzahl an Traffic pro Zeit transportieren, wenn nun mehr Traffic von den Quellen ausgeht, als das Netzwerk als nominelle Kapazität hat, so kommt es zu Staukollapsen und verlorenen Paketen. Immer $\lambda$-in = $\lambda$-out (goodput)\ -Staukontrolle ist essentiell, um Schneeballeffekte zu vermeiden: Sobald ein Netzwerk einmal überladen ist, wird es Pakete verlieren. Nach Erkennung von Paketverlusten durch ein zuverlässiges Transportprotokoll, werden Pakete erneut übertragen, was die Last abermals erhöht -\begin{itemize} - \item Die Senderate jeder Quelle muss an die aktuelle Kapazität des Netzwerks angepasst werden - \item Staukontrolle ist ein globales Problem, da dies abhängig von allen Routern, Weiterleitungsdisziplinen, Lastinjektionenund so weiter ist. - \item Flusskontrolle wiederum ist ein lokales Problem: Die Quelle darf das Ziel nicht überlasten, also sind nur Ziel und Quelle involviert -\end{itemize} - -\subsection{Design/Aktions Optionen} -\begin{description} - \item[Open Loop] Designe das System von Beginn an so, dass es korrekt funktioniert und man keine Korrekturen zur Laufzeit vornehmen muss - \item[Closed Loop] Verwende Feedback, um zu erlauben, dass sich der Sender an die Situation anpasst - \item[Explizited Feedback] Die Stelle, an welcher der Stau auftritt informiert den Sender - \item[Implizites Feedback] der Sender extrahiert aus dem Netzwerkverhalten Informationen darüber, wie er sich verhalten sollte -\end{description} -\begin{itemize} - \item Erhöhen der Kapzität -> teuer, kurzfristig nicht umsetzbar - \item Reservierungen und Zugriffskontrolle - erlaube also keinen zusätzlichen Verkehr wenn das Netzwerk stark ausgelastet ist -> nur für schaltkreisbasierende Netzwerke verfügbar - \item Reduzierung der Last in kleiner Granularität -> Bringe einzelne Quellen dazu ihre Last zu reduzieren, sodass nichts terminiert werden muss (benötigt Feedback vom Netz: closed loop) - \item Verwerfen von Paketen -> Pufferplatz ist voll und alte Pakete werden verworfen. Für Medieninhalte sind neue wichtiger als alte Pakete -\end{itemize} - -\subsection{Choke Pakete} -Sobald ein Stau der Router einen Stau erkannt hat -> Sende Chokepakete. Chokepakete sagen dem Ziel, dass es seine Senderate verringern soll - -\subsection{Warnungsbits} -Sobald ein Router feststellt, dass er von Stau betroffen ist, setzt er ein Warnbit in allen Paketen die er verschickt -> Da das Ziel das Warnungsbit in sein ACK Paket aufnimmt, erfährt die Quelle vom Stau und kann ihre Sendeleistung minimieren. - -\subsection{Random Early Detection} -nutze verworfene Pakete als implizites Feedback, bereits bevor die Warteschlange voll ist, wirf also vorzeitig Pakete weg um Feedback zu geben. -Mit steigender Staubelastung am Router kann die Entwurfswahrscheinlichkeit erhöht werden - -\section{TCP} -\subsection{Drei Wege Handshake} -\begin{itemize} - \item Client sendet ein TCP SYN (SYN = 1, ACK = 0) an den Server -> spezifiziert initiale, nie benutzte Sequenznummer - \item Server erhält das SYN Paket und antwortet mit einem SYNACK (SYN = 1, ACK = 1) -> Server alloziert Puffer und spezifikation der initialen Sequenznummer des Servers - \item Der Client erhält das SYNACK und antwortet hierauf mit einem ACK (SYN = 0, ACK = 1), hier können nun erstmals Daten enthalten sein -\end{itemize} -Terminieren einer Verbindung -\begin{itemize} - \item Client sendet ein TCP FIN - \item Server empfängt das FIN, antwortet mit einem ACK und sendet ebenfalls ein FIN - \item Client erhält ein FIN Segment, antwortet darauf mit ACK und geht in timed Wait Zustand, antwortet auf alle FINs mit ACKs - \item Server erhält ein ACK, die Verbindung ist geschlossen -\end{itemize} - -\subsection{Sende- und Empfangspuffer} -\begin{itemize} - \item Sender: Puffer um Fehlerkontrolle bereit zu stellen - \item Empfänger: Zwischenspeichern von noch nicht abgerufenen, oder nicht reihenfolgegetreu angekommenen Paketen -\end{itemize} -\subsection{Flusskontrolle: Angebotenes Fenster} -Der Empfänger kann seine Empfangpufferkapazitäten verkünden - -\subsection{Nagles Algorithmus - Selbsttaktung und Fenster} -\begin{itemize} - \item TCP Selbsttaktung: Ankunft eines ACKs ist ein Zeichen dafür, dass neue Daten auf das Netzwerk geschickt werden können - \item falls sowohl angebotene Daten und das angebotene Fenster >= MSS -> Sende ein volles Segment - \item falls unbestätigte Daten auf dem Weg sind, so puffere neue Daten bis das MSS voll ist, - \item andernfalls schicke die Daten sofort -\end{itemize} - -\subsection{Staukontrolle} -\begin{itemize} - \item Implizites Feedback durch verworfene Pakete. Annahme: Stau als Hauptgrund für verworfene Pakete - \item Fensterbasierte Staukontrolle: TCP führt Buch über die Anzahl an Bytes die es noch in das Netzwerk injezieren darf, diese Fenstergröße kann wachsen oder schrumpfen -\end{itemize} - -\subsection{AIMD - Sägezahnmuster der Last} -\begin{itemize} - \item TCP verwendet AIMD, also additive increase, multiplicative decrease Taktik - \item Es wird also kontinuierich auf zusätzliche Bandbreite geprüft und durch die Erhöhung der Bandbreitengrenze wird das Netzwerk regelmäßig die multiplikative Verringerung ausführen -> Sägezahnmuster -\end{itemize} - - -\section{Application Layer} -\subsection{HTTP Statuscodes} -\begin{itemize} - \item 200 OK - Anfrage okay, das angefragte Objekt folgt - \item 301 Moved Permanently - das angefragte Objekt wurde verschoben, der neue Pfad folgt - \item 400 Bad Request - Anfrage wurde nicht verstanden - \item 404 Not Found - angefordertes Objekt konnte auf dem Server nicht gefunden werden - \item 505 HTTP Version not supported -\end{itemize} - -\subsection{Cookies} -\begin{itemize} - \item Cookieheaderzeile in der Antwort - \item Cookieheaderzeile in der Anfrage - \item Die Cookiedatei wird auf dem Rechner des Hosts gespeichert und vom Browser verwaltet - \item Speichern der Cookieinformationen in einer Backenddatenbank der Webseite -\end{itemize} - -\subsection{Webcaches (Proxyserver)} -Bedienen der Clientanfrage ohne den urpsrünglichen Webserver dabei zu involvieren -\begin{itemize} - \item Der Nutzer stellt den Browser so ein, dass dieser über einen Cache auf das Netz zugreift - \item Alle Anfragen des Browsers gehen zuerst an den Cache, hat er das angefragte Material, so wird er dieses an den Client schicken, oder andernfalls beim Webserver besorgen und dem Client dann weiterleiten - \item Der Cache agiert sowohl als Client als auch als Server - \item Reduzieren von Antwortzeiten für Clientanfragen - \item Reduzieren von Verkehr auf dem Zugangslink des ISPs - \item Ein Internet voller Caches erlaubt es armen Anbietern effektiv Inhalte zu übertragen -\end{itemize} - -\subsection{Webserver} -\subsubsection{Grundlegende Webserveraufgaben} -\begin{itemize} - \item Zum Empfang von Anfragen bereitmachen - \item Annehmen von Verbindungen und Anfragen - \item Lesen und Verarbeiten von Anfragen - \item Antworten auf Anfragen - \item Bereitmachen und Annehmen von Anfragen -\end{itemize} -\begin{enumerate} - \item Prozessmodell - \begin{itemize} - \item Einem Prozess werden alle benötigten Schritte zugewiesen, welche benötigt werden, um eine Anfrage zu bearbeiten - \item Wenn die Bearbeitung abgeschlossen ist, so ist der Prozess wieder in der Lage neue Verbindungen zu akzeptieren - \item Typischerweise werden mehrere Prozesse benötigt - \item Ein Prozess blockiert, beispielsweise read(), dann entscheidet das OS, welcher Prozess als nächstes ausgeführt werden darf - \item Die Parallelität wird durch die Anzahl an Prozessen limitiert - \item Vorteile: Synchronisation dem Prozessmodell inhärent; Absicherung zwischen Prozessen - \item Nachteile: Langsam; Schwere Ausführbarkeit von Operationen, welche auf globalen Informationen beruhen - \end{itemize} - \item Threadmodell - \begin{itemize} - \item Verwende Threads anstelle von Prozessen - \item Vorteile: Schneller als Prozesse; Teilen standardmäßig aktiv - \item Nachteile: Benötigt OS Unterstützung; Kann per Prozess Limitierungen überlasten; Beschränkte Kontrolle über Schedulingentscheidungen - \end{itemize} - \item In-Kernel Modell - \begin{itemize} - \item möglich: ganzer Server im Kernel - \item Meist: nur statische Dateien werden vom Kernel bedient, andere Anfragen gehen an den regulären User-Space-Server - \item Dedizierter Kernelthread für HTTP Anfragen - \item Vorteile: Vermeidet das Kopieren von und in den Userspace; Sehr schnell, solange es eng in den Kernel integriert ist - \item Nachteile: Bugs können das OS, also die ganze Maschine crashen; Schwer zu debuggen und zu Erweitern; Inhärent OS-spezifisch - \end{itemize} - \item Eventbasiertes Modell - \begin{itemize} - \item Verwenden eines einzelnen Webserverprozesses um mehrere Anfragen zu behandeln - \item Vorteile: Sehr schnell, kein Kontextwechsel; Inhärentes Teilen ohne Locks; Komplette Kontrolle über die Schedulingentscheidungen; Kein komplexer OS-Support benötigt - \item Nachteile: Per-Prozess Begrenzungen; Nicht jedes OS mit voll asynchroner E/A, so können beim Lesen immernoch Blockierungen entstehen; Flash verwendet immerhin Hilfsprozesse um dies zu verhindern - \end{itemize} -\end{enumerate} - -\subsection{Mailzugriffsprotokolle} -\begin{description} - \item[SMTP] Zustellen/Speichern auf dem Empfangsserver - \item[POP] Post Office Protocol: Autorisierung und Download; POP3 ist zustandlos über mehrere Sitzungen - \item[IMAP] Internet Mail Access Protocol: Mehr Features aber komplexer; Behält alle Nachrichten am Server - \item[HTTP] Yahoo Mail, Hotmail, etc. -\end{description} - -\subsection{DNS - Domain Name System} -verteilte Datenbank implementiert in der Hierarchie von vielen verschiedenen Nameservern -Anwendungsschichtprotokoll für Hosts, Router und Nameserver zum Kommunizieren zur Namensauflösung - -\section{Sicherheit} -\subsection{Sicherheitsziele} -\begin{description} - \item[Vertraulichkeit] Verschickte oder gespeicherte Daten sollen nur einem bestimmten Nutzerkreis zugänglich sein; Vertraulichkeit von Instanzen wird auch als Anonymität bezeichnet - \item[Datenintegrität] Es sollte möglich sein, jede Veränderung von Daten zu erkennen, dies benötigt unter anderem, die Möglichkeit den Ersteller von Daten identifizieren zu können - \item[Verantwortlichkeit] Es sollte möglich sein, eine Instanz zu identifizieren, welche für irgendein Kommunikationsereignis zuständig ist - \item[Verfügbarkeit] Dienste sollten verfügbar sein und auch funktionieren - \item[Kontrollierter Zugriff] Nur autorisierte Instanzen solle in der Lage sein auf bestimmte Dienste oder Daten zuzugreifen -\end{description} -\subsection{Bedrohnungen technisch definiert} -\begin{description} - \item[Maskerade (Spoofing)] Eine Instanz behauptet jemand Anderes zu sein - \item[Abhören (Sniffing)] Jemand versucht Daten zu lesen, welche er nicht lesen darf und soll - \item[Autorisierungsverletzungen] Eine Instanz verwendet Ressourcen die sie nicht verwenden darf - \item[Verlust oder Veränderung von übertragener Information] Veränderung oder Zerstörung von Daten - \item[Fälschung von Daten] Eine Instanz erzeugt Daten im Namen einer Anderen - \item[Abstreiten von Kommunikationsereignissen] Eine Instanz streitet seine Beteiligung an einem Kommunikationsereignis ab - \item[Sabotage] Jede Art von Aktion welche darauf abzielt, die Verfügbarkeit oder korrekte Funktion von Diensten zu reduzieren -\end{description} -\subsection{Sicherheitsanalyse von gelayerten Protokollarchitekturen} -Dimension 1: Auf welchem Interface findet der Angriff statt?\ -Dimension 2: Auf welchem Layer findet der Angriff statt? -\subsection{Sicherheitsmechanismen} -\begin{description} - \item[Physische Sicherheit] Abschließen der Betriebsräume, Zutrittskontrolle; Schutz vor Überwachung der Umgebung - \item[Personelle Sicherheit] Sensitivität bei Mitarbeitern erzeugen; Überprüfung der Angestellten; Sicherheitstraining - \item[Administrative Sicherheit] Kontrollieren neuer Software; Prozeduren um Sicherheitsverstöße zu erkennen; Ansehen und Reagieren auf Audittrails - \item[Ausstrahlungssicherheit] Steuerung von Frequenzen und anderer elektromagnetischer Ausstrahlungen - \item[Mediensicherheit] Kontrollieren der Erstellung, Reproduktion und Zerstörung von Informationen; Scannen von Medien auf Schadsoftware - \item[Lifecyclekontrollen] Vertrauenswürdiges Systemdesign der Implementierung, Evaluation und Unterstüzung; Dokumentierung; Einhalten von Programmierstandards - \item[Computersicherheit] Schutz der Informationen, während diese auf Rechnern gespeichert oder verarbeitet werden; Schutz der Rechner selbst - \item[Kommunikationssicherheit] Schutz der Informationen beim Transport von einem zum anderen System; Schutz der Kommunikationsinfrastruktur an sich -\end{description} -\subsection{Sicherheitsdienste} -\begin{description} - \item[Authentisierung] Grundlegender Sicherheitsdienst, welcher sicherstellt, dass eine Instanz tatsächlich die Identität hat, welche sie vorgibt zu haben - \item[Integrität] Kleiner Bruder der Authentisierung, da er sicherstellt, dass Daten, welche von einer gewissen Einheit erstellt worden sind, nicht ohne Erkennung verändert werden können - \item[Vertraulichkeit] Stellt sicher, dass die geschützen Daten geheim bleiben - \item[Zugriffskontrolle] Kontrolliert, dass jede Identität nur auf die Informationen und Dienste zugreift, zu welchen sie auch zugriffsberechtigt ist - \item[Nicht Ablehnung] Schütz davor, dass andere Einheiten nach einer Kommunikation behaupten können, nie daran teilgenommen zu haben -\end{description} - -\subsection{Wichtige Eigenschaften von Verschlüsselungsalgorithmen} -Fehlerausbreitung: Charakterisiert die Effekte von Bitfehlern während der Übertragung von Ciphertext zum rekonstruierten Klartext\ -Synchronisation: Charakterisiert die Effekte von verlorenen Ciphertexten auf den rekonstruierten Klartext - -\subsection{Sicherheitsziele von IPSec} -\begin{description} - \item[Datenherkunftsauthentisierung/Datenintegrität] maskierte Quell- oder Zieladresse zu versenden, Pakete während der Übertragung zu verändern, gespeichertes Paket zu späterem Zeitpunkt zu versenden soll unmöglich sein (dass der Empfänger dies nicht merkt) - \item[Vertrauenswürdigkeit] Es soll nicht möglich sein, den Inhalt der IP Datagramme auszuspähen; Es soll weiterhin eine begrenzte Traffic Flow Confidentiality geben - \item[Sicherheitsrichtlinie] Sender, Empfänger und zwischenliegende Knoten sollen erkennen können, ob ein Paket ihrer Sicherheitsrichtlinie entspricht und dieses gegebenenfalls verwerfen -\end{description} - - -\subsection{Pakete} -\subsubsection{DHCP} -DHCP Discover an Broadcast (255.255.255.255), Server sendet DHCP Offer zurück mit Payload, DHCP Request (gleich wie Discover)\\ - -DHCP: Discover/Offer/Request/ACK\\ -UDP/TCP: SrcPort \& DstPort\\ -IP: SrcIP \& DstIP\\ -MAC: SrcAddr \& DestAddr\\ -Payload: (optional) - -\subsubsection{ARP} -ARP-Request/Response:\ + \end{description*} + \end{description*} + + \subsection{Distanzvektorrouting Algorithmen} + \begin{description*} + \item[Iterativ] Läuft bis keine Knoten mehr Informationen austauschen. Selbstterminierend -> kein Stoppsignal + \item[Asynchron] Knoten müssen Informationen nicht getaktet austauschen + \item[Verteilt] Jeder Knoten kommuniziert nur mit seinem direkten Nachbarn + \item[Distanztabellendatenstruktur] Jeder Knoten hat seine eigene Spalte für jedes mögliche Ziel und Zeile für jeden direkt angeschlossenen Nachbarknoten + \end{description*} + + \subsubsection{Vergleich zwischen Link-State und Distanzvektoralgorithmen} + \begin{itemize*} + \item Nachrichtenkomplexität: + \begin{itemize*} + \item LS: mit N Knoten und E Links werden $O(n-e)$ Nachrichten versandt + \item DV: Austausch nur zwischen Nachbarn + \end{itemize*} + \item Konvergenzgeschwindigkeit + \begin{itemize*} + \item LS: $O(n^2)$ Algorithmus benötigt $O(N-E)$ Nachrichten (teils mit Oszillation) + \item DV: Konvergenzzeit variiert (Routingschleifen, Count to Infinity Problem, Oszillation) + \end{itemize*} + \item Robustheit: (im Falle eines Routerausfalls) + \begin{itemize*} + \item LS: Ein Knoten kann falsche Linkkosten ausgeben; Jeder Knoten berechnet nur seine eigene Tabelle + \item DV: DV Knoten kann falsche Gewichte ausgeben; Jede Tabelle wird nun noch von anderen Routern verwendet -> Fehler breiten sich über das ganze Netzwerk aus + \end{itemize*} + \end{itemize*} + + \subsection{Routing im Internet - Autonome Systeme} + Das globale Internet besteht aus miteinander verbundenen AS + \begin{description*} + \item[Stub AS] kleine Unternehmen (ein Link zum Internet) + \item[Multihomed AS] große Unternehmen (mehrere Links, ohne Transitverkehr) + \item[Transit AS] Netzbetreiber + \end{description*} + Zwei Level Routing: + \begin{description*} + \item[Intra-AS] Administrator verantwortlich für die Auswahl (RIP, OSPF, IGRP) + \item[Inter-AS] Einheitlicher Standard (BGP) + \end{description*} + + \subsection{Intra-AS und Inter-AS Routing} + \begin{itemize*} + \item Policy: + \begin{itemize*} + \item Inter AS: Admin möchte Kontrolle über sein Netz haben + \item Intra AS: ein einziger Admin, also keine Policyentscheidungen nötig + \end{itemize*} + \item Skalierbarkeit: Hierarchisches Routing spart Tabellenplatz und sorgt für weniger Updateverkehr + \item Performance: + \begin{itemize*} + \item Inter-AS: Policy wichtiger als Performance + \item Intra-AS: Performance als oberstes Gut + \end{itemize*} + \end{itemize*} + + + \section{Transport Layer} + \subsection{Multiplexing und Demultiplexing} + Hosts verwenden IP-Adressen und Portnummern um Segmente an korrekte Sockets zuzustellen + \begin{description*} + \item[Multiplexing auf Sendeseite] Sammeln von Daten an mehreren Sockets, verpacken der Daten mit Header zum Demultiplexing + \item[Demultiplexing auf Empfangsseite] Zustellen empfangener Segmente an den korrekten Socket + \end{description*} + \begin{description*} + \item[Verbindungslos (UDP)] Erstelle Sockets mit Portnummern; Sockets werden übber Zweiertupel aus Ziel IP und Ziel Port identifiziert + \item[Verbindungsorientiert (TCP)] TCP Sockets werden durch ein Vierertupel aus Quell-IP, Quellport, ZielIP und Zielport identifiziert + \end{description*} + + \subsection{verbindungsorientierte Kontrolle} + Connect $\rightarrow$ Data $\rightarrow$ Disconnect + \begin{itemize*} + \item T-Connect.Request(Zieladr., Quelladr) + \item T-Connect.Indication(Zieladr., Quelladr.) + \item T-Connect.Response(Antwortadresse) + \item T-Connect.Confirmation(Antwortadresse) + \end{itemize*} + CR (Connection Request) oder CC (Connection Confirm) TPDU + + \subsection{Drei Wege Handshake} + \begin{itemize*} + \item Verbindung wird Aufgabaut, sobald beide Verbindungsaufbau TPDUs bestätigt wurden + \item Benötigt zusätzliches ACK (Acknowledgement) oder DT (Data) + \item Packe hierzu eine Sequenznummer in die CR, ACK, CC, DATA TPDUs + \item Muss durch die Gegenseite kopiert werden, und erlaubt den Verbindungsaufbau nur dann, wenn die korrekte Nummer bereit gestellt wird. Verwende Sequenznummern deshalb möglichst nicht schnell hintereinander erneut. + \end{itemize*} + + \subsection{Verbindunsabbau} + \begin{description*} + \item[implizit] Abbau der Netzwerklayerverbindung + \item[explizit] Verbindungsfreigabe mit Disconnect-TPDUs + \end{description*} + Kann den Verlust von nicht bestätigten Daten nach sich ziehen, TCP verhindert dies, indem alle gesendeten PDUs vor Beenden der Verbindung bestätigt werden müssen + + + \section{Flusskontrolle} + \subsection{Pufferallokation} + \begin{itemize*} + \item Flusskontrolle abhängig von der Puffermöglichkeit + \item Um ausstehdene Pakete zu unterstützen müssen diese entweder sofort und in korrekter Reihenfolge beim Empfänger ankommen, oder es muss genügend Puffer vorhanden sein + \item Empfänger verlangsamt den Sender oder Anforderung von Pufferspeicher durch den Sender + \item Mitteilung des Empfängers an den Sender, dass nur noch so viel Puffer verfügbar ist (bei Sliding Window einfach das Sendefenster anpassen) + \end{itemize*} + + \subsection{Continue und Stop} + Einfachste Lösung: Sende Stopnachrichten wenn der Empfänger nicht schritthalten kann und Continue, sobald wieder Ressourcen vorhanden sind. \ + Beispiel: XON/XOFF: funktioniert aber nur bei Fullduplexverbindungen. + + \subsection{Implizite Flusskontrolle} + Idee: Halte ACKs oder NACKs zurück, um den Sender zu verlangsamen, somit werden Fehlerkontrollmechanismen nun zur Flusskontrolle missbraucht werden.\ + Nachteil: Senderseitig keine Unterscheidung mehr möglich, ob Pakete verloren gingen, oder er verlangsamt werden soll, was in unnötigen Wiederholungsübertragungen resultiert. + + \subsection{Kreditbasierte Flusskontrolle} + Der Empfänger gewährt dem Sender expliziten Kredit, sodass dieser meherere Pakete senden kann. Ist der Kredit aufgebraucht, so muss der Sender warten, bis er wieder neuen zugeteilt bekommt. Hierbei benötigen wir Fehlerkontrolle um auf verlorene Kreditnachrichten resultieren zu können + + \subsection{Permits und Acknowledgements} + \begin{itemize*} + \item Permits = Empfänger hat Pufferspeicher, sende also weiter + \item Acknowledgements = Empfänger hat Anzahl X an Paketen empfangen + \item Kombinierbar mit dynamisch wachsendem Pufferplatz beim Emfänger (Beispiel TCP) + \end{itemize*} + + \section{Staukontrolle} + Jedes Netzwerk kann nur eine gewisse Anzahl an Traffic pro Zeit transportieren, wenn nun mehr Traffic von den Quellen ausgeht, als das Netzwerk als nominelle Kapazität hat, so kommt es zu Staukollapsen und verlorenen Paketen. Immer $\lambda$-in = $\lambda$-out (goodput)\ + Staukontrolle ist essentiell, um Schneeballeffekte zu vermeiden: Sobald ein Netzwerk einmal überladen ist, wird es Pakete verlieren. Nach Erkennung von Paketverlusten durch ein zuverlässiges Transportprotokoll, werden Pakete erneut übertragen, was die Last abermals erhöht + \begin{itemize*} + \item Die Senderate jeder Quelle muss an die aktuelle Kapazität des Netzwerks angepasst werden + \item Staukontrolle ist ein globales Problem, da dies abhängig von allen Routern, Weiterleitungsdisziplinen, Lastinjektionenund so weiter ist. + \item Flusskontrolle wiederum ist ein lokales Problem: Die Quelle darf das Ziel nicht überlasten, also sind nur Ziel und Quelle involviert + \end{itemize*} + + \subsection{Design/Aktions Optionen} + \begin{description*} + \item[Open Loop] Designe das System von Beginn an so, dass es korrekt funktioniert und man keine Korrekturen zur Laufzeit vornehmen muss + \item[Closed Loop] Verwende Feedback, um zu erlauben, dass sich der Sender an die Situation anpasst + \item[Explizited Feedback] Die Stelle, an welcher der Stau auftritt informiert den Sender + \item[Implizites Feedback] der Sender extrahiert aus dem Netzwerkverhalten Informationen darüber, wie er sich verhalten sollte + \end{description*} + \begin{itemize*} + \item Erhöhen der Kapzität -> teuer, kurzfristig nicht umsetzbar + \item Reservierungen und Zugriffskontrolle - erlaube also keinen zusätzlichen Verkehr wenn das Netzwerk stark ausgelastet ist -> nur für schaltkreisbasierende Netzwerke verfügbar + \item Reduzierung der Last in kleiner Granularität -> Bringe einzelne Quellen dazu ihre Last zu reduzieren, sodass nichts terminiert werden muss (benötigt Feedback vom Netz: closed loop) + \item Verwerfen von Paketen -> Pufferplatz ist voll und alte Pakete werden verworfen. Für Medieninhalte sind neue wichtiger als alte Pakete + \end{itemize*} + + \subsection{Choke Pakete} + Sobald ein Stau der Router einen Stau erkannt hat -> Sende Chokepakete. Chokepakete sagen dem Ziel, dass es seine Senderate verringern soll + + \subsection{Warnungsbits} + Sobald ein Router feststellt, dass er von Stau betroffen ist, setzt er ein Warnbit in allen Paketen die er verschickt -> Da das Ziel das Warnungsbit in sein ACK Paket aufnimmt, erfährt die Quelle vom Stau und kann ihre Sendeleistung minimieren. + + \subsection{Random Early Detection} + nutze verworfene Pakete als implizites Feedback, bereits bevor die Warteschlange voll ist, wirf also vorzeitig Pakete weg um Feedback zu geben. + Mit steigender Staubelastung am Router kann die Entwurfswahrscheinlichkeit erhöht werden + + \section{TCP} + \subsection{Drei Wege Handshake} + \begin{itemize*} + \item Client sendet ein TCP SYN (SYN = 1, ACK = 0) an den Server -> spezifiziert initiale, nie benutzte Sequenznummer + \item Server erhält das SYN Paket und antwortet mit einem SYNACK (SYN = 1, ACK = 1) -> Server alloziert Puffer und spezifikation der initialen Sequenznummer des Servers + \item Der Client erhält das SYNACK und antwortet hierauf mit einem ACK (SYN = 0, ACK = 1), hier können nun erstmals Daten enthalten sein + \end{itemize*} + Terminieren einer Verbindung + \begin{itemize*} + \item Client sendet ein TCP FIN + \item Server empfängt das FIN, antwortet mit einem ACK und sendet ebenfalls ein FIN + \item Client erhält ein FIN Segment, antwortet darauf mit ACK und geht in timed Wait Zustand, antwortet auf alle FINs mit ACKs + \item Server erhält ein ACK, die Verbindung ist geschlossen + \end{itemize*} + + \subsection{Sende- und Empfangspuffer} + \begin{itemize*} + \item Sender: Puffer um Fehlerkontrolle bereit zu stellen + \item Empfänger: Zwischenspeichern von noch nicht abgerufenen, oder nicht reihenfolgegetreu angekommenen Paketen + \end{itemize*} + \subsection{Flusskontrolle: Angebotenes Fenster} + Der Empfänger kann seine Empfangpufferkapazitäten verkünden + + \subsection{Nagles Algorithmus - Selbsttaktung und Fenster} + \begin{itemize*} + \item TCP Selbsttaktung: Ankunft eines ACKs ist ein Zeichen dafür, dass neue Daten auf das Netzwerk geschickt werden können + \item falls sowohl angebotene Daten und das angebotene Fenster >= MSS -> Sende ein volles Segment + \item falls unbestätigte Daten auf dem Weg sind, so puffere neue Daten bis das MSS voll ist, + \item andernfalls schicke die Daten sofort + \end{itemize*} + + \subsection{Staukontrolle} + \begin{itemize*} + \item Implizites Feedback durch verworfene Pakete. Annahme: Stau als Hauptgrund für verworfene Pakete + \item Fensterbasierte Staukontrolle: TCP führt Buch über die Anzahl an Bytes die es noch in das Netzwerk injezieren darf, diese Fenstergröße kann wachsen oder schrumpfen + \end{itemize*} + + \subsection{AIMD - Sägezahnmuster der Last} + \begin{itemize*} + \item TCP verwendet AIMD, also additive increase, multiplicative decrease Taktik + \item Es wird also kontinuierich auf zusätzliche Bandbreite geprüft und durch die Erhöhung der Bandbreitengrenze wird das Netzwerk regelmäßig die multiplikative Verringerung ausführen -> Sägezahnmuster + \end{itemize*} + + + \section{Application Layer} + \subsection{HTTP Statuscodes} + \begin{itemize*} + \item 200 OK - Anfrage okay, das angefragte Objekt folgt + \item 301 Moved Permanently - das angefragte Objekt wurde verschoben, der neue Pfad folgt + \item 400 Bad Request - Anfrage wurde nicht verstanden + \item 404 Not Found - angefordertes Objekt konnte auf dem Server nicht gefunden werden + \item 505 HTTP Version not supported + \end{itemize*} + + \subsection{Cookies} + \begin{itemize*} + \item Cookieheaderzeile in der Antwort + \item Cookieheaderzeile in der Anfrage + \item Die Cookiedatei wird auf dem Rechner des Hosts gespeichert und vom Browser verwaltet + \item Speichern der Cookieinformationen in einer Backenddatenbank der Webseite + \end{itemize*} + + \subsection{Webcaches (Proxyserver)} + Bedienen der Clientanfrage ohne den urpsrünglichen Webserver dabei zu involvieren + \begin{itemize*} + \item Der Nutzer stellt den Browser so ein, dass dieser über einen Cache auf das Netz zugreift + \item Alle Anfragen des Browsers gehen zuerst an den Cache, hat er das angefragte Material, so wird er dieses an den Client schicken, oder andernfalls beim Webserver besorgen und dem Client dann weiterleiten + \item Der Cache agiert sowohl als Client als auch als Server + \item Reduzieren von Antwortzeiten für Clientanfragen + \item Reduzieren von Verkehr auf dem Zugangslink des ISPs + \item Ein Internet voller Caches erlaubt es armen Anbietern effektiv Inhalte zu übertragen + \end{itemize*} + + \subsection{Webserver} + \subsubsection{Grundlegende Webserveraufgaben} + \begin{itemize*} + \item Zum Empfang von Anfragen bereitmachen + \item Annehmen von Verbindungen und Anfragen + \item Lesen und Verarbeiten von Anfragen + \item Antworten auf Anfragen + \item Bereitmachen und Annehmen von Anfragen + \end{itemize*} + \begin{enumerate*} + \item Prozessmodell + \begin{itemize*} + \item Einem Prozess werden alle benötigten Schritte zugewiesen, welche benötigt werden, um eine Anfrage zu bearbeiten + \item Wenn die Bearbeitung abgeschlossen ist, so ist der Prozess wieder in der Lage neue Verbindungen zu akzeptieren + \item Typischerweise werden mehrere Prozesse benötigt + \item Ein Prozess blockiert, beispielsweise read(), dann entscheidet das OS, welcher Prozess als nächstes ausgeführt werden darf + \item Die Parallelität wird durch die Anzahl an Prozessen limitiert + \item Vorteile: Synchronisation dem Prozessmodell inhärent; Absicherung zwischen Prozessen + \item Nachteile: Langsam; Schwere Ausführbarkeit von Operationen, welche auf globalen Informationen beruhen + \end{itemize*} + \item Threadmodell + \begin{itemize*} + \item Verwende Threads anstelle von Prozessen + \item Vorteile: Schneller als Prozesse; Teilen standardmäßig aktiv + \item Nachteile: Benötigt OS Unterstützung; Kann per Prozess Limitierungen überlasten; Beschränkte Kontrolle über Schedulingentscheidungen + \end{itemize*} + \item In-Kernel Modell + \begin{itemize*} + \item möglich: ganzer Server im Kernel + \item Meist: nur statische Dateien werden vom Kernel bedient, andere Anfragen gehen an den regulären User-Space-Server + \item Dedizierter Kernelthread für HTTP Anfragen + \item Vorteile: Vermeidet das Kopieren von und in den Userspace; Sehr schnell, solange es eng in den Kernel integriert ist + \item Nachteile: Bugs können das OS, also die ganze Maschine crashen; Schwer zu debuggen und zu Erweitern; Inhärent OS-spezifisch + \end{itemize*} + \item Eventbasiertes Modell + \begin{itemize*} + \item Verwenden eines einzelnen Webserverprozesses um mehrere Anfragen zu behandeln + \item Vorteile: Sehr schnell, kein Kontextwechsel; Inhärentes Teilen ohne Locks; Komplette Kontrolle über die Schedulingentscheidungen; Kein komplexer OS-Support benötigt + \item Nachteile: Per-Prozess Begrenzungen; Nicht jedes OS mit voll asynchroner E/A, so können beim Lesen immernoch Blockierungen entstehen; Flash verwendet immerhin Hilfsprozesse um dies zu verhindern + \end{itemize*} + \end{enumerate*} + + \subsection{Mailzugriffsprotokolle} + \begin{description*} + \item[SMTP] Zustellen/Speichern auf dem Empfangsserver + \item[POP] Post Office Protocol: Autorisierung und Download; POP3 ist zustandlos über mehrere Sitzungen + \item[IMAP] Internet Mail Access Protocol: Mehr Features aber komplexer; Behält alle Nachrichten am Server + \item[HTTP] Yahoo Mail, Hotmail, etc. + \end{description*} + + \subsection{DNS - Domain Name System} + verteilte Datenbank implementiert in der Hierarchie von vielen verschiedenen Nameservern + Anwendungsschichtprotokoll für Hosts, Router und Nameserver zum Kommunizieren zur Namensauflösung + + \section{Sicherheit} + \subsection{Sicherheitsziele} + \begin{description*} + \item[Vertraulichkeit] Verschickte oder gespeicherte Daten sollen nur einem bestimmten Nutzerkreis zugänglich sein; Vertraulichkeit von Instanzen wird auch als Anonymität bezeichnet + \item[Datenintegrität] Es sollte möglich sein, jede Veränderung von Daten zu erkennen, dies benötigt unter anderem, die Möglichkeit den Ersteller von Daten identifizieren zu können + \item[Verantwortlichkeit] Es sollte möglich sein, eine Instanz zu identifizieren, welche für irgendein Kommunikationsereignis zuständig ist + \item[Verfügbarkeit] Dienste sollten verfügbar sein und auch funktionieren + \item[Kontrollierter Zugriff] Nur autorisierte Instanzen solle in der Lage sein auf bestimmte Dienste oder Daten zuzugreifen + \end{description*} + \subsection{Bedrohnungen technisch definiert} + \begin{description*} + \item[Maskerade (Spoofing)] Eine Instanz behauptet jemand Anderes zu sein + \item[Abhören (Sniffing)] Jemand versucht Daten zu lesen, welche er nicht lesen darf und soll + \item[Autorisierungsverletzungen] Eine Instanz verwendet Ressourcen die sie nicht verwenden darf + \item[Verlust oder Veränderung von übertragener Information] Veränderung oder Zerstörung von Daten + \item[Fälschung von Daten] Eine Instanz erzeugt Daten im Namen einer Anderen + \item[Abstreiten von Kommunikationsereignissen] Eine Instanz streitet seine Beteiligung an einem Kommunikationsereignis ab + \item[Sabotage] Jede Art von Aktion welche darauf abzielt, die Verfügbarkeit oder korrekte Funktion von Diensten zu reduzieren + \end{description*} + \subsection{Sicherheitsanalyse von gelayerten Protokollarchitekturen} + Dimension 1: Auf welchem Interface findet der Angriff statt?\ + Dimension 2: Auf welchem Layer findet der Angriff statt? + \subsection{Sicherheitsmechanismen} + \begin{description*} + \item[Physische Sicherheit] Abschließen der Betriebsräume, Zutrittskontrolle; Schutz vor Überwachung der Umgebung + \item[Personelle Sicherheit] Sensitivität bei Mitarbeitern erzeugen; Überprüfung der Angestellten; Sicherheitstraining + \item[Administrative Sicherheit] Kontrollieren neuer Software; Prozeduren um Sicherheitsverstöße zu erkennen; Ansehen und Reagieren auf Audittrails + \item[Ausstrahlungssicherheit] Steuerung von Frequenzen und anderer elektromagnetischer Ausstrahlungen + \item[Mediensicherheit] Kontrollieren der Erstellung, Reproduktion und Zerstörung von Informationen; Scannen von Medien auf Schadsoftware + \item[Lifecyclekontrollen] Vertrauenswürdiges Systemdesign der Implementierung, Evaluation und Unterstüzung; Dokumentierung; Einhalten von Programmierstandards + \item[Computersicherheit] Schutz der Informationen, während diese auf Rechnern gespeichert oder verarbeitet werden; Schutz der Rechner selbst + \item[Kommunikationssicherheit] Schutz der Informationen beim Transport von einem zum anderen System; Schutz der Kommunikationsinfrastruktur an sich + \end{description*} + \subsection{Sicherheitsdienste} + \begin{description*} + \item[Authentisierung] Grundlegender Sicherheitsdienst, welcher sicherstellt, dass eine Instanz tatsächlich die Identität hat, welche sie vorgibt zu haben + \item[Integrität] Kleiner Bruder der Authentisierung, da er sicherstellt, dass Daten, welche von einer gewissen Einheit erstellt worden sind, nicht ohne Erkennung verändert werden können + \item[Vertraulichkeit] Stellt sicher, dass die geschützen Daten geheim bleiben + \item[Zugriffskontrolle] Kontrolliert, dass jede Identität nur auf die Informationen und Dienste zugreift, zu welchen sie auch zugriffsberechtigt ist + \item[Nicht Ablehnung] Schütz davor, dass andere Einheiten nach einer Kommunikation behaupten können, nie daran teilgenommen zu haben + \end{description*} + + \subsection{Wichtige Eigenschaften von Verschlüsselungsalgorithmen} + Fehlerausbreitung: Charakterisiert die Effekte von Bitfehlern während der Übertragung von Ciphertext zum rekonstruierten Klartext\ + Synchronisation: Charakterisiert die Effekte von verlorenen Ciphertexten auf den rekonstruierten Klartext + + \subsection{Sicherheitsziele von IPSec} + \begin{description*} + \item[Datenherkunftsauthentisierung/Datenintegrität] maskierte Quell- oder Zieladresse zu versenden, Pakete während der Übertragung zu verändern, gespeichertes Paket zu späterem Zeitpunkt zu versenden soll unmöglich sein (dass der Empfänger dies nicht merkt) + \item[Vertrauenswürdigkeit] Es soll nicht möglich sein, den Inhalt der IP Datagramme auszuspähen; Es soll weiterhin eine begrenzte Traffic Flow Confidentiality geben + \item[Sicherheitsrichtlinie] Sender, Empfänger und zwischenliegende Knoten sollen erkennen können, ob ein Paket ihrer Sicherheitsrichtlinie entspricht und dieses gegebenenfalls verwerfen + \end{description*} + + + \subsection{Pakete} + \subsubsection{DHCP} + DHCP Discover an Broadcast (255.255.255.255), Server sendet DHCP Offer zurück mit Payload, DHCP Request (gleich wie Discover)\\ + + DHCP: Discover/Offer/Request/ACK\\ + UDP/TCP: SrcPort \& DstPort\\ + IP: SrcIP \& DstIP\\ + MAC: SrcAddr \& DestAddr\\ + Payload: (optional) + + \subsubsection{ARP} + ARP-Request/Response:\ ARP: ARP-Request Payload: XXXX\\ MAC: SrcAddr XXXX DestAddr XXX - -\subsubsection{DNS} -(A-Records bilden URL auf IP ab)\\ -DNS: DNS Query "A random.org"/ DNS Response "A random.org 123.45.67.890"\\ -UDP/TCP: SrcPort \& DstPort\\ -IP: SrcIP \& DstIP\\ -MAC: SrcAddr \& DestAddr - -\section{Ports} -\begin{tabular}{l| l} - UDP DHCP & 67/68 \\ -FTP & 21 \\ -SSH & 22 \\ -Telnet & 23 \\ -SMTP & 25 \\ -DNS & 53 \\ -IMAP & 143 \\ -IMAP TLS/SSL & 993 \\ -Non-privileg & >1023 \\ -\end{tabular} - - -\newpage -\section{Begriffe} -\begin{description} - \item[Simplex] nur ein Nutzer kann immer senden - \item[Half Duplex] beide Nutzer senden abwechselnd (Time Division Duplex) - \item[Full Duplex] beide Nutzer senden gleichzeitig (Frequency/Time Division Duplex) - \item[Circuit Switching] einfach; einmal aufgesetzt verbleiben die Ressourcen beim Nutzer; Circuit muss hergestellt werden, bevor kommuniziert werden kann - \item[Packet Switching] Aufteilen von Daten in kleinere Pakete die nach und nach gesendet werden; Problem: Informationen zu Sender/Empfänger und Start/Endzeitpunkt eines Pakets müssen mit übermittelt werden; Wird deshalb 'Store and Forward' Netzwerk genannt - \item[Broadcast Medium] Nur ein Sender zu jeder Zeit; Zugriffskontrolle (MUX o. Absprache) - \item[Baudrate] beschreibt die Anzahl der Symbole welche innerhalb einer Zeiteinheit übertragen werden; Symbolrate * Informationsgehalt je Symbol - \item[Protokoll] Protokolle sind Regelsätze, welche beschreiben wie zwei oder mehr entfernte Teile (peers oder protocol entities) eines Layers kooperieren, um den Dienst des gegebenen Layers zu implementieren. Ein Protokoll ist die Implementierung eines Services - \item[Signale] sind die physische Repräsentation von Daten in der Form einer charakteristischen Variation in Zeit oder Ausbreitung… - \item[Delay d] = distance / speed v - \item[Strict Layering] Jedes Layer verwendet nur den Service des darunter liegenden Layers - \item[Hammingdistanz] Anzahl an Stellen an denen sich zwei Frames x und y in binärer Darstellung unterscheiden lösbar mittels (x XOR y). - \item[Fehlerkontrolle vorwärts] Sender sendet redundante Infos so, dass der Empfänger selbst ausbessern kann - \item[Fehlerkontrolle rückwärts] Sender sendet redundante Infos so, dass der Empfänger fehlerhafte Pakete wahrscheinlich erkennt und Pakete in dem Fall nochmal verschickt werden können - \item[Burst Traffic] - \item[Broadcastkanal] Völllig dezentralisiert und so einfach wie möglich mit Rate b/s - \item[Statisches Multiplexing] einzelne Ressource statisch gemultiplext durch feste Sendezeiten und mehrere Frequenzbänder - \item[Polling] Masterknoten läd Slaveknoten zum Übertragen in Reihenfolge ein - \item[Tokenweitergabe] Kontrolltoken wird von einem zum anderen Knoten übertragen - \item[Hub] Eingehende Bits werden an alle Ausgänge mit selber Rate und ohne Puffern verteilt; Kein CSMA-CD am Hub; Alle verbundenen Kabel formen eine Kollisionsdomäne - \item[Switch] nicht nur eine einfache elektrische Verbindung für sternförmige Topologie; Switches enthalten Puffer, welche direkt ankommende Pakete zwischenspeichern, bevor sie diese weiterleiten - \item[Repeater] Physical Layer Gerät, verbindet zwei Kabel und verstärkt die ankommenden Signale und leitet dieses weiter; Versteht den Inhalt der Pakete nicht und interessiert sich nicht dafür - \item[Bridge] Jedes mit einer Bridge verbundene Netzwerk ist eine eigene Kollisionsdomäne und auch verschiedene LAN-Typen können miteinander verbunden werden - \item[Effizienz] Definiert als die Rate der Zeit, in welcher der Sender neue Informationen sendet (für den fehlerfreien Kanal) - \item[Bustoplogie] Alle Geräte sind an einem Kabel angebunden und sind in einer Kollisionsdomäne - \item[Sterntopologie] einfachere automatische Verwaltung und Wartung bei fehlerhaften Adaptern - \item[Spannbaum] Gegeben sei ein Graph G=(V,E), ein Spannbaum T = (V,E-T) ist ein Subgrap von V, wobei E-T ein Teil von E ist, welcher ein Spannbaum, der verbunden und azyklisch ist. - \item[Weiterleiten] Bewege Pakete vom Routereingang auf den entsprechenden Ausgang - \item[Routing] Berechnen der Route, die die Pakete von Quelle bis zum Ziel gegangen sind - \item[DHCP] Dynamic Host Configuration Protocol. beziehe die Adresse dynamisch von einem Server - \item[ARP] Adress Resolution Protocol Broadcast auf das LAN, mit der Frage, welcher Node IP X.X.X.X hat -> Antwort des Nodes mit der MAC-Adresse -> Zustellung möglich - \item[Hot Potato Routing] Wenn ein Paket ankommt, so leite es auf schnellste Art und Weise an den Ausgang mit der kleinsten Ausgangswarteschlange, ganz egal wohin dieser Ausgang dann führt - \item[Rückwärtslernen (Routing)] Paketheader enthalten wichtige Infos, wie Quelle, Ziel, Hopzähler -> Netzwerkknoten lernen etwas über die Netzwerktopologie während sie Pakete behandeln - \item[RIP] Routing Information Protocol. Distanzvektoralgorithmus mit Hops als Metrik. Falls nach 180s kein Advertisement empfangen wurde, so deklariere den Nachbarn als tot - \item[BGP] Border Gateway Protocol. Routerpaare tauschen Routinginformationen über semipermanente TCP Verbindungen aus - \item[OSPF] Open Shortes Paths First. annocieren nun keine Wege sondern Linkzustände mit je einem Eintrag pro Nachbarknoten - \item[Poisoned Reverse] Wenn Z durch Y routet um zu X zu gelangen: Z sagt Y, dass seine eigene Distanz zu X unendlich ist (somit routet Y nicht über X nach Z) - \item[Link State Routing] Berechnung des kleinsten Kostenpfades von einem Knoten S zu allen andern Knoten V erzielt durch den Link-State-Broadcast - \item[Gateway Router] Spezielle Router innerhalb des AS, führen das Intra-AS Routingprotokoll mit allen anderen Routern im AS aus. Zusätzlich verantwortlich für das Routing an exteren Ziele -> Inter-AS Routingprotokolle mit anderen Gatewayroutern - \item[Unicast] Ein Sender, ein Empfänger - \item[Multicast] Ein Sender, eine Gruppe von Empfänger - \item[Broadcast] Ein Sender, alle Teilnehmer eines Netzes - \item[TCP] Zuverlässige, in-Order Zustellung, Stau- \& Flusskontrolle, Verbindungsaufbau - \item[UDP] Unzuverlässige, ungeordente Zustellung, Einfache Erweiterung des best Effort IP Ansatzes - \item[RTT] Round Trip Time: Benötigte Zeit um ein kleines Paket so zu senden, dass es vom Client zum Server und zurück geschickt wird. - \item[CSMA] Carrier Sense Multiple Access - \item[CSMA/CD] + Collision Detection - \item[CSMA/CA] + Collision Avoidance - \item[HTTP] Hyper Text Transfer Protocol; Das Anwendungsnachrichtenprotokoll des Webs - \item[Nichtpersistentes HTTP] höchstens ein Objekt wird über die TCP Verbindung verschickt - \item[Persistentes HTTP ] Mehrere Objekte können über eine TCP Verbindung zwischen Client und Server ausgetauscht werden - \item[Server] ständig eingeschaltet und mit permanenter IP-Adresse; Serverfarmen zur Skalierung - \item[Client] Kommunizieren zeitweise mit Server; Können dynamische IP-Adressen haben; Kommunizieren nie direkt miteinander - \item[Peer to Peer] Ohne ständig eingeschalteten Server. Beliebige Endsysteme kommunizieren direkt miteinander, sind dabei zeitweise verbunden und haben wechselnde IP Adressen. - \item[POST Methode] Webseiten beinhalten oft Formulareingaben, die Eingabe wird dann im Entity Body an den Server geschickt - \item[URL Methode] Verwendet die GET Methode; Die Eingaben werden im URL Feld der Requestline hochgeladen - \item[FTP] File-Transfer-Protokoll: Dateitransferprotokoll, Übertrage Daten von und zum Server - \item[Mail Useragent] Erlaubt das Schreiben, Lesen und Bearbeiten von Nachrichten; Ein- und ausgehende Nachrichten werden auf einem Server gespeichert - \item[Mailserver] Die Mailbox beinhaltet eingehende Nachrichten, die Nachrichtenschlange die ausgehenden Nachrichten - \item[SMTP] Mailübertragungsprotokoll: Verwendet TCP um Nachrichten zuverlässig vom Client zum Server zu übertragen, verwendet Port 25; Direkte Übertragung vom Sender zum Empfänger - \item[IMAP] Internet Message Access Control - \item[MIME] Multimedia Mail Extensions: Zusätzliche Zeilen im Nachrichtenheader deklarieren den MIME Inhaltstyp - \item[TLP Server] Top Level Domain Server: Verantwortlich für .com, .org, .net, .edu und die Landesdomains - \item[Authorative DNS Server] DNS Server einer Organisation, stellen den authorativen Hostnamen für das IP Mapping der Organisationsserver - \item[Lokal DNS Server] Jeder ISP hat einen eigenen; Wenn ein Host eine DNS Anfrage stellt, so wird die Frage zuerst zum lokalen DNS Server gesendet (fungiert also als ein Proxy) - \item[Ressource Records (RR)] in DNS Datenbank; Format: (name, value, type, ttl) - \item[P2P Filesharing] Ein Peer ist sowohl ein Webclient als auch ein transienter Webserver; Alle Peers sind Server -> Hoch Skalierbar; Dateiübertragung ist dezentralisiert, die Lokalisierung findet allerdings zentral statt. - \item[Socket] Ein lokal auf dem Host laufendes, von einer Anwendung erstelltes, OS-kontrolliertes Interface, durch welches ein Anwendungsprozess sowohl Nachrichten vom und zu anderen Anwendungsprozessen Senden, als auch Empfangen kann. - \item[Bedrohnung] Eine Bedrohung in einem Kommunikationsnetzwerk ist jedes mögliche Ereignis oder eine Sequenz von Aktionen, welche zu einer Verletzung einer oder mehrerer Sicherheitsziele führen - \item[Kryptologie] Wissenschaft, die sich mit Kommunikation in sicherer und geheimer Art befasst - \item[Kryptographie] (graphein = schreiben): Die Lehre der Prinzipien und Techniken, durch welche Informationen in Ciphertext verpackt und später durch legitimierte Nutzer, wieder durch einen geheimen Schlüssel entschlüsselt werden können - \item[Kryptoanalyse] (analyein = etwas lösen): Die Wissenschaft und Kunst Informationen von Ciphern wiederherzustellen und dies ohne das Wissen über den Schlüssel zu schaffen - \item[Cipher] Methode eine Nachricht so zu transformieren, dass die Bedeutung nicht mehr erkannt werden kann - \item[Verschlüsseln von Daten] Transformiert Plaintext in Ciphertext um die Inhalte zu verschleiern - \item[Signieren von Daten] Berechnet einen Checkwert oder eine digitale Signatur zu einem gegebenen Plaintext oder Ciphertext, sodass dieser durch alle oder einige Instanzen mit Zugriff verifiziert werden kann - \item[Symmetrische Kryptographie] verwendet einen Schlüssel für Ver- und Entschlüsselung oder Signieren und Überprüfen - \item[Assymmetrische Kryptographie] verwendet zwei Schlüssel für Ver- und Entschlüsselung - \item[IPSec Authentication Header (AH)] Im Tunnelmodus stellt der Payload nochmals ein ganzes IP Paket dar; Wichtig: AH funktioniert nur in NAT freien Umgebungen - \item[IPSec Encapsulating Security Protocol (ESP)] Dem ESP Header folgt direkt ein IP Header oder ein AH-Header; Das next-header Feld vom vorhergehenden Header indiziert 50 für ESP - \item[Firewall] Eine oder eine Menge an Komponenten, welche den Zugriff zwischen einem geschützten Netzwerk und dem Internet oder zwischen einer Menge an Netzwerken beschränkt - \item[Paketfiltern/Screening] Die Aktion, welche ein Gerät ausführt, um selektiv den Fluss an Daten in und aus einem Netzwerk zu kontrollieren. Paketfiltern ist eine wichtige Technik um Zugriffskontrolle auf dem Subnetzwerklevel für paketorientierte Netzwerke zu implementieren - \item[Bastion Host] Ein Computer, welcher besonders gesichert werden muss, da er anfälliger für Angriffe ist, als andere Computer im Subnetz - \item[Dual Homed Host] Ein Computer mit > 2 Netzwerkinterfaces - \item[Proxy] ein Programm, welches sich im Auftrag interner Clients mit externen Servern beschäftigt. Proxies leiten genehmigte Clientanfragen an die Server, und die Antworten auch wieder an den Client weiter - \item[Network Address Translation (NAT)] eine Prozedur, durch welche ein Router die Daten in Paketen ändert um die Netzwerkadressen zu modifizieren; Dies erlaubt es die interne Netzwerkstruktur zu verschleiern - \item[Perimeternetzwerk] Ein Subnetz, welches zwischen einem externen und einem internen Netzwerk hinzugefügt wird, um eine weitere Sicherheitseben bereitzustellen; Ein Synonym hierfür ist DMZ (De Militarized Zone) - \item[QPSK] Quadrature Phase Shift Keying; Phasenverschiebung für Multiplexing - \item[Medium Access Control (MAC)] Verteilter Algorithmus, der bestimmt, wie Knoten auf ein geteiltes Medium zugreifen -\end{description} - + + \subsubsection{DNS} + (A-Records bilden URL auf IP ab)\\ + DNS: DNS Query "A random.org"/ DNS Response "A random.org 123.45.67.890"\\ + UDP/TCP: SrcPort \& DstPort\\ + IP: SrcIP \& DstIP\\ + MAC: SrcAddr \& DestAddr + + \section{Ports} + \begin{tabular}{l| l} + UDP DHCP & 67/68 \\ + FTP & 21 \\ + SSH & 22 \\ + Telnet & 23 \\ + SMTP & 25 \\ + DNS & 53 \\ + IMAP & 143 \\ + IMAP TLS/SSL & 993 \\ + Non-privileg & $>$1023 \\ + \end{tabular} + + \newpage + \section{Begriffe} + \begin{description*} + % Übertragungsarten + \item[Simplex] Übertragung in eine Richtung + \item[Half Duplex] Übertragung abwechselnd in beide Richtungen (Time Division Duplex) + \item[Full Duplex] Übertragung gleichzeitig in beide Richtung (Frequency/Time Division Duplex) + % Adressierungsarten + \item[Point-to-Point] an eine bekannte Adresse + \item[Multicast] an eine Gruppe bekannter Adressen + \item[Broadcast] an alle + % ... + \item[Circuit Switching] einfach; einmal aufgesetzt verbleiben die Ressourcen beim Nutzer; Circuit muss hergestellt werden, bevor kommuniziert werden kann + \item[Packet Switching] Aufteilen von Daten in kleinere Pakete die nach und nach gesendet werden; Problem: Informationen zu Sender/Empfänger und Start/Endzeitpunkt eines Pakets müssen mit übermittelt werden; Wird deshalb 'Store and Forward' Netzwerk genannt + \item[Broadcast Medium] Nur ein Sender zu jeder Zeit; Zugriffskontrolle (MUX o. Absprache) + \item[Baudrate] bezeichnet die Schrittrate $\frac{1}{\delta t}$ mit der sich das Signal ändern kann. Pro Schritt kann eine Informationsmenge $ld(n)$ übertragen werden, wobei n die Anzahl der + Quantisierungsstufen des Signals ist. %beschreibt die Anzahl der Symbole welche innerhalb einer Zeiteinheit übertragen werden; Symbolrate * Informationsgehalt je Symbol + \item[Bitrate] bezeichnet die übertragene Information in bit pro Schritt $[bit/s]$ + \item[Protokoll] Protokolle sind Regelsätze, welche beschreiben wie zwei oder mehr entfernte Teile (peers oder protocol entities) eines Layers kooperieren, um den Dienst des gegebenen Layers zu implementieren. Ein Protokoll ist die Implementierung eines Services + \item[Signale] sind die physische Repräsentation von Daten in der Form einer charakteristischen Variation in Zeit oder Ausbreitung… + \item[Delay d] = distance / speed v + \item[Strict Layering] Jedes Layer verwendet nur den Service des darunter liegenden Layers + \item[Hammingdistanz] Anzahl an Stellen an denen sich zwei Frames x und y in binärer Darstellung unterscheiden lösbar mittels (x XOR y). + \item[Fehlerkontrolle vorwärts] Sender sendet redundante Infos so, dass der Empfänger selbst ausbessern kann + \item[Fehlerkontrolle rückwärts] Sender sendet redundante Infos so, dass der Empfänger fehlerhafte Pakete wahrscheinlich erkennt und Pakete in dem Fall nochmal verschickt werden können + \item[Burst Traffic] + \item[Broadcastkanal] Völllig dezentralisiert und so einfach wie möglich mit Rate b/s + \item[Statisches Multiplexing] einzelne Ressource statisch gemultiplext durch feste Sendezeiten und mehrere Frequenzbänder + \item[Polling] Masterknoten läd Slaveknoten zum Übertragen in Reihenfolge ein + \item[Tokenweitergabe] Kontrolltoken wird von einem zum anderen Knoten übertragen + \item[Hub] Eingehende Bits werden an alle Ausgänge mit selber Rate und ohne Puffern verteilt; Kein CSMA-CD am Hub; Alle verbundenen Kabel formen eine Kollisionsdomäne + \item[Switch] nicht nur eine einfache elektrische Verbindung für sternförmige Topologie; Switches enthalten Puffer, welche direkt ankommende Pakete zwischenspeichern, bevor sie diese weiterleiten + \item[Repeater] Physical Layer Gerät, verbindet zwei Kabel und verstärkt die ankommenden Signale und leitet dieses weiter; Versteht den Inhalt der Pakete nicht und interessiert sich nicht dafür + \item[Bridge] Jedes mit einer Bridge verbundene Netzwerk ist eine eigene Kollisionsdomäne und auch verschiedene LAN-Typen können miteinander verbunden werden + \item[Effizienz] Definiert als die Rate der Zeit, in welcher der Sender neue Informationen sendet (für den fehlerfreien Kanal) + \item[Bustoplogie] Alle Geräte sind an einem Kabel angebunden und sind in einer Kollisionsdomäne + \item[Sterntopologie] einfachere automatische Verwaltung und Wartung bei fehlerhaften Adaptern + \item[Spannbaum] Gegeben sei ein Graph G=(V,E), ein Spannbaum T = (V,E-T) ist ein Subgrap von V, wobei E-T ein Teil von E ist, welcher ein Spannbaum, der verbunden und azyklisch ist. + \item[Weiterleiten] Bewege Pakete vom Routereingang auf den entsprechenden Ausgang + \item[Routing] Berechnen der Route, die die Pakete von Quelle bis zum Ziel gegangen sind + \item[DHCP] Dynamic Host Configuration Protocol. beziehe die Adresse dynamisch von einem Server + \item[ARP] Adress Resolution Protocol Broadcast auf das LAN, mit der Frage, welcher Node IP X.X.X.X hat -> Antwort des Nodes mit der MAC-Adresse -> Zustellung möglich + \item[Hot Potato Routing] Wenn ein Paket ankommt, so leite es auf schnellste Art und Weise an den Ausgang mit der kleinsten Ausgangswarteschlange, ganz egal wohin dieser Ausgang dann führt + \item[Rückwärtslernen (Routing)] Paketheader enthalten wichtige Infos, wie Quelle, Ziel, Hopzähler -> Netzwerkknoten lernen etwas über die Netzwerktopologie während sie Pakete behandeln + \item[RIP] Routing Information Protocol. Distanzvektoralgorithmus mit Hops als Metrik. Falls nach 180s kein Advertisement empfangen wurde, so deklariere den Nachbarn als tot + \item[BGP] Border Gateway Protocol. Routerpaare tauschen Routinginformationen über semipermanente TCP Verbindungen aus + \item[OSPF] Open Shortes Paths First. annocieren nun keine Wege sondern Linkzustände mit je einem Eintrag pro Nachbarknoten + \item[Poisoned Reverse] Wenn Z durch Y routet um zu X zu gelangen: Z sagt Y, dass seine eigene Distanz zu X unendlich ist (somit routet Y nicht über X nach Z) + \item[Link State Routing] Berechnung des kleinsten Kostenpfades von einem Knoten S zu allen andern Knoten V erzielt durch den Link-State-Broadcast + \item[Gateway Router] Spezielle Router innerhalb des AS, führen das Intra-AS Routingprotokoll mit allen anderen Routern im AS aus. Zusätzlich verantwortlich für das Routing an exteren Ziele -> Inter-AS Routingprotokolle mit anderen Gatewayroutern + \item[Unicast] Ein Sender, ein Empfänger + \item[Multicast] Ein Sender, eine Gruppe von Empfänger + \item[Broadcast] Ein Sender, alle Teilnehmer eines Netzes + \item[TCP] Zuverlässige, in-Order Zustellung, Stau- \& Flusskontrolle, Verbindungsaufbau + \item[UDP] Unzuverlässige, ungeordente Zustellung, Einfache Erweiterung des best Effort IP Ansatzes + \item[RTT] Round Trip Time: Benötigte Zeit um ein kleines Paket so zu senden, dass es vom Client zum Server und zurück geschickt wird. + \item[CSMA] Carrier Sense Multiple Access + \item[CSMA/CD] + Collision Detection + \item[CSMA/CA] + Collision Avoidance + \item[HTTP] Hyper Text Transfer Protocol; Das Anwendungsnachrichtenprotokoll des Webs + \item[Nichtpersistentes HTTP] höchstens ein Objekt wird über die TCP Verbindung verschickt + \item[Persistentes HTTP ] Mehrere Objekte können über eine TCP Verbindung zwischen Client und Server ausgetauscht werden + \item[Server] ständig eingeschaltet und mit permanenter IP-Adresse; Serverfarmen zur Skalierung + \item[Client] Kommunizieren zeitweise mit Server; Können dynamische IP-Adressen haben; Kommunizieren nie direkt miteinander + \item[Peer to Peer] Ohne ständig eingeschalteten Server. Beliebige Endsysteme kommunizieren direkt miteinander, sind dabei zeitweise verbunden und haben wechselnde IP Adressen. + \item[POST Methode] Webseiten beinhalten oft Formulareingaben, die Eingabe wird dann im Entity Body an den Server geschickt + \item[URL Methode] Verwendet die GET Methode; Die Eingaben werden im URL Feld der Requestline hochgeladen + \item[FTP] File-Transfer-Protokoll: Dateitransferprotokoll, Übertrage Daten von und zum Server + \item[Mail Useragent] Erlaubt das Schreiben, Lesen und Bearbeiten von Nachrichten; Ein- und ausgehende Nachrichten werden auf einem Server gespeichert + \item[Mailserver] Die Mailbox beinhaltet eingehende Nachrichten, die Nachrichtenschlange die ausgehenden Nachrichten + \item[SMTP] Mailübertragungsprotokoll: Verwendet TCP um Nachrichten zuverlässig vom Client zum Server zu übertragen, verwendet Port 25; Direkte Übertragung vom Sender zum Empfänger + \item[IMAP] Internet Message Access Control + \item[MIME] Multimedia Mail Extensions: Zusätzliche Zeilen im Nachrichtenheader deklarieren den MIME Inhaltstyp + \item[TLP Server] Top Level Domain Server: Verantwortlich für .com, .org, .net, .edu und die Landesdomains + \item[Authorative DNS Server] DNS Server einer Organisation, stellen den authorativen Hostnamen für das IP Mapping der Organisationsserver + \item[Lokal DNS Server] Jeder ISP hat einen eigenen; Wenn ein Host eine DNS Anfrage stellt, so wird die Frage zuerst zum lokalen DNS Server gesendet (fungiert also als ein Proxy) + \item[Ressource Records (RR)] in DNS Datenbank; Format: (name, value, type, ttl) + \item[P2P Filesharing] Ein Peer ist sowohl ein Webclient als auch ein transienter Webserver; Alle Peers sind Server -> Hoch Skalierbar; Dateiübertragung ist dezentralisiert, die Lokalisierung findet allerdings zentral statt. + \item[Socket] Ein lokal auf dem Host laufendes, von einer Anwendung erstelltes, OS-kontrolliertes Interface, durch welches ein Anwendungsprozess sowohl Nachrichten vom und zu anderen Anwendungsprozessen Senden, als auch Empfangen kann. + \item[Bedrohnung] Eine Bedrohung in einem Kommunikationsnetzwerk ist jedes mögliche Ereignis oder eine Sequenz von Aktionen, welche zu einer Verletzung einer oder mehrerer Sicherheitsziele führen + \item[Kryptologie] Wissenschaft, die sich mit Kommunikation in sicherer und geheimer Art befasst + \item[Kryptographie] (graphein = schreiben): Die Lehre der Prinzipien und Techniken, durch welche Informationen in Ciphertext verpackt und später durch legitimierte Nutzer, wieder durch einen geheimen Schlüssel entschlüsselt werden können + \item[Kryptoanalyse] (analyein = etwas lösen): Die Wissenschaft und Kunst Informationen von Ciphern wiederherzustellen und dies ohne das Wissen über den Schlüssel zu schaffen + \item[Cipher] Methode eine Nachricht so zu transformieren, dass die Bedeutung nicht mehr erkannt werden kann + \item[Verschlüsseln von Daten] Transformiert Plaintext in Ciphertext um die Inhalte zu verschleiern + \item[Signieren von Daten] Berechnet einen Checkwert oder eine digitale Signatur zu einem gegebenen Plaintext oder Ciphertext, sodass dieser durch alle oder einige Instanzen mit Zugriff verifiziert werden kann + \item[Symmetrische Kryptographie] verwendet einen Schlüssel für Ver- und Entschlüsselung oder Signieren und Überprüfen + \item[Assymmetrische Kryptographie] verwendet zwei Schlüssel für Ver- und Entschlüsselung + \item[IPSec Authentication Header (AH)] Im Tunnelmodus stellt der Payload nochmals ein ganzes IP Paket dar; Wichtig: AH funktioniert nur in NAT freien Umgebungen + \item[IPSec Encapsulating Security Protocol (ESP)] Dem ESP Header folgt direkt ein IP Header oder ein AH-Header; Das next-header Feld vom vorhergehenden Header indiziert 50 für ESP + \item[Firewall] Eine oder eine Menge an Komponenten, welche den Zugriff zwischen einem geschützten Netzwerk und dem Internet oder zwischen einer Menge an Netzwerken beschränkt + \item[Paketfiltern/Screening] Die Aktion, welche ein Gerät ausführt, um selektiv den Fluss an Daten in und aus einem Netzwerk zu kontrollieren. Paketfiltern ist eine wichtige Technik um Zugriffskontrolle auf dem Subnetzwerklevel für paketorientierte Netzwerke zu implementieren + \item[Bastion Host] Ein Computer, welcher besonders gesichert werden muss, da er anfälliger für Angriffe ist, als andere Computer im Subnetz + \item[Dual Homed Host] Ein Computer mit > 2 Netzwerkinterfaces + \item[Proxy] ein Programm, welches sich im Auftrag interner Clients mit externen Servern beschäftigt. Proxies leiten genehmigte Clientanfragen an die Server, und die Antworten auch wieder an den Client weiter + \item[Network Address Translation (NAT)] eine Prozedur, durch welche ein Router die Daten in Paketen ändert um die Netzwerkadressen zu modifizieren; Dies erlaubt es die interne Netzwerkstruktur zu verschleiern + \item[Perimeternetzwerk] Ein Subnetz, welches zwischen einem externen und einem internen Netzwerk hinzugefügt wird, um eine weitere Sicherheitseben bereitzustellen; Ein Synonym hierfür ist DMZ (De Militarized Zone) + \item[QPSK] Quadrature Phase Shift Keying; Phasenverschiebung für Multiplexing + \item[Medium Access Control (MAC)] Verteilter Algorithmus, der bestimmt, wie Knoten auf ein geteiltes Medium zugreifen + \end{description*} + \end{multicols} \section{Formeln} \begin{multicols}{2} - Bitzeit $t_{Bit}=\frac{1}{Bitrate}$ + Bitzeit $t_{Bit}=\frac{1}{Bitrate}$ - Bitlänge $l_{Bit}=v_s * t_{Bit}$ - - Ausbreitungsverzögerung $d_{prop} = \frac{dist}{v_s}$ + Bitlänge $l_{Bit}=v_s * t_{Bit}$ - Übertragungszeit $d_{trans} = \frac{L}{R} = [\frac{bit}{s}]$ + Ausbreitungsverzögerung $d_{prop} = \frac{dist}{v_s}$ - Ende-zu-Ende-Verzögerung $d_{e2e} = d_{prop} + d_{trans}$ + Übertragungszeit $d_{trans} = \frac{L}{R} = [\frac{bit}{s}]$ - Leitungsverm. Übertragung $t_L = \frac{L_{Nachricht}}{R}$ + Ende-zu-Ende-Verzögerung $d_{e2e} = d_{prop} + d_{trans}$ - Nachrichtenver. Übertragung $t_N = (k + 1)\frac{L_{Nachricht}}{R}$ + Leitungsverm. Übertragung $t_L = \frac{L_{Nachricht}}{R}$ - Paketver. Übertragung $t_{P} = (k + \frac{Laenge_{Nachricht}}{Laenge_{Pakete}})*\frac{L_{Packet}}{R} = (1+ \frac{k}{n})* \frac{L_{Nachricht}}{R}$ + Nachrichtenver. Übertragung $t_N = (k + 1)\frac{L_{Nachricht}}{R}$ - Kanalkap. Nyquist $R_{max} = 2* H * log_2n$ + Paketver. Übertragung $t_{P} = (k + \frac{Laenge_{Nachricht}}{Laenge_{Pakete}})*\frac{L_{Packet}}{R} = (1+ \frac{k}{n})* \frac{L_{Nachricht}}{R}$ - Kanalkap. Shannon $R_{max} = H* log_2(1+\frac{P_signalleistung}{P_rauschleistung})$ mit $r=10*log_{10}*{\frac{P_s}{P_n}}$ + Kanalkap. Nyquist $R_{max} = 2* H * log_2n$ + + Kanalkap. Shannon $R_{max} = H* log_2(1+\frac{P_signalleistung}{P_rauschleistung})$ mit $r=10*log_{10}*{\frac{P_s}{P_n}}$ Bandwirth Delay - + Link Last LAN last - Fehlerfrei Send and Wait $S = \frac{1}{(1+2a)}$ wobei $a = \frac{T_{prop}}{T_{trans}}$ + Fehlerfrei Send and Wait $S = \frac{1}{(1+2a)}$ wobei $a = \frac{T_{prop}}{T_{trans}}$ - Fehlerhaft Send and Wait $S = \frac{1-P}{1+2a}$ + Fehlerhaft Send and Wait $S = \frac{1-P}{1+2a}$ - Fehlerfreies Sliding Window $S = {1, falls W >= 2a+1, W/(2a+1) sonst}$ + Fehlerfreies Sliding Window $S = {1, falls W >= 2a+1, W/(2a+1) sonst}$ - Selective Reject $S = {1-P, falls W >= 2a+1, (W(1-P))/(2a+1) sonst}$ + Selective Reject $S = {1-P, falls W >= 2a+1, (W(1-P))/(2a+1) sonst}$ - Go-Back-N $S = {\frac{1-P}{1+2aP}, falls W >= 2a+1, \frac{W(1-P)}{(2a+1)(1-P+WP)} sonst}$ + Go-Back-N $S = {\frac{1-P}{1+2aP}, falls W >= 2a+1, \frac{W(1-P)}{(2a+1)(1-P+WP)} sonst}$ - Effizienz $\frac{T_{packet} }{ T_{packet} + d + T_{ack} + d}$ + Effizienz $\frac{T_{packet} }{ T_{packet} + d + T_{ack} + d}$ - efficiency $\frac{1}{ (1+ 5 * \frac{t_{prop}}{t_{trans}}}$ + efficiency $\frac{1}{ (1+ 5 * \frac{t_{prop}}{t_{trans}}}$ + + Round Trip Time $EstimatedRTT = (1-a) * EstimatedRTT + a * SampleRTT$ + + ~ TCP Durchsatz $ 0,75 * \frac{W}{RTT}$ - Round Trip Time $EstimatedRTT = (1-a) * EstimatedRTT + a * SampleRTT$ - ~ TCP Durchsatz $ 0,75 * \frac{W}{RTT}$ - - \end{multicols} \newpage \section{ISO/OSI - sehr nützliches Modell, keine existierenden Protokolle} +Ein Protokoll arbeitet genau auf einer Schicht und beschreibt Syntax und Semantik der auszutauschenden Anwendungsinformation. Desweiteren enthalten Protokolle Festlegungen bezüglich Antwortzeiten, Ablauffolgen und Dateneinheiten. + Jedes Layer nimmt Daten vom darüberliegenden Layer, fügt eine Headereinheit hinzu und erstellt eine neue Dateneinheit und schickt diese an das Layer darunter -\begin{tabular}{l | l | l} - PH & Physisches Layer & - Bietet eine bittransparente Schnittstelle zum physischen Medium\\ - &&Spezifiziert mechanische, elektrische, funktionale und prozedurale Mittel um die physische Verbindung zwischen zwei offenen Systemen zu unterstützen.\\ - &&In-sequence Zustellung der Bits ist sichergestellt\\ - &&Fehlererkennung ist manchmal inkludiert\\ - && Zeitliche Synchronisation (Non-Return to Zero Level oder Manchstercodierung)\\ - && Breitband- vs Basisbandübertragung (Amplituden-/Phasen-/Frequenzmodulation ) Bsp: QPSK, 16-QAM \\ - && Digital vs Analog \\ - \hline - L & Link Layer & - Unterstützt Übertragung von service data units (SDU) größer als "word" unter Systemen, welche über einen einzigen physischen Pfad verbunden sind.\\ - &&Essentielle Funktion ist block synchronization\\ - &&Im Fall von Halb-duplex oder multipoint links muss der Zugriff auf das Medium kontrolliert werden und Peersysteme müssen addressiert werden.\\ - && Framing durch Charakterzählen, Flagbitmuster/Bitstuffing oder Codeverletzung \\ - && Fehlererkennung \& -kontrolle (vorwärts/rückwärts) mit Redundanz (Parität), Hemmingdistanz, Cyclic Redundancy Check (CRC)\\ - && Send and Wait (Sliding Window) , Go-Back-N, Selective Reject \\ - && Verbindungsaufbau \& Flusskontrolle \\ - \hline - N & Network Layer & - Erschafft eine logischen Kommunikation zwischen offenen Systemen, welche verbunden sind mit verschiedenen Subnetworks\\ - &&Diese Netzwerkebene unterstützt Routing, also müssen sich N-Service Benutzer nicht um den Pfad kümmern\\ - &&Der N-Service ist uniform, unabhängig von der Variation an Subnetwork Technologien, Topologien, QoS und der Organisation\\ - &&Netzwerk Addresse = Endsystem Addresse\\ - \hline - T & Transport Layer & - logische Kommunikation zwischen zwei Prozessen/Nutzern, unabhängig von der Netzwerkstruktur\\ - &&Verschiedene Klassen von Protokollen mit verschiedenen Funktionalitäten sind festgelegt (connectionoriented/connectionless; reliable/unreliable)\\ - && Sendeseite: Segmentiert Anwendungsnachrichten und leitet diese Segmente an die Netzwerkschicht \\ - && Empfangsseite: Reassembliert Segmente in Nachrichten und leitet diese an die Anwendungsschicht weiter \\ - && Als Transportprotokolle werden im Internet hauptsächlich TCP und UDP verwendet \\ - && Fehlerkontrolle: Durch Sequenznummern, ACKs und Neuübertragungen\\ - && Flusskontrolle: Durch Inspizieren von ACKs und Permits\\ - && Staukontrolle: Durch das Verlangsamen des Senders, wenn Pakete oder ACKs verloren gehen\\ - \hline - S & Session Layer & - Unterstützt die Synchronisation des Dialogs und die Verwaltung des Datenaustausches\\ - &&Quarantine Data delivery - Eine ganze Gruppe von übertragenen S-SDUs wird zugestellt auf explizite Anfrage des Senders\\ - &&Interaktionsverwaltung erlaubt ausdrücklich festzulegen, welcher S-User das Recht bekommt zu übertragen\\ - &&Zurücksetzen der Verbindung auf vordefinierte Synchronisationspunkte\\ - \hline - P & Presentation Layer & - Unterstützt die Übersetzung von Daten und Datenstrukturen in einzigartige Repräsentation\\ - &&Ausschließlich die Syntax wird modifiziert um die Semantik beizubehalten\\ - &&Auswahl von einer der allgemein anerkannten Transfersyntax\\ - &&Die lokale Syntax von jedem Endsystem wird in oder von der ausgewählten Transfer Syntax übersetzt\\ - \hline - A & Application Layer & - Unterstützt den direkten Endnutzer durch die Bereitstellung einer Vielzahl an application services\\ - &&Genereller Typ (z.B. Entfernte prozedurale Anrufe, Transaktionsdurchführung,...)\\ - &&Spezifischer Typ (z.B. Virtuelles Terminal, Dateiübertragungszugriff und Verwaltung, Arbeitswechsel,...)\\ - &&Ein typisches Beispiel: virtuelles Terminal (Funktionen des reellen Terminals werden in virtuelle Funktionen gemappt)\\ + +\begin{description*} + \item[Abstrakte Sicht] Beschreibt den Aufbau eines Schichtenmodell im Allgemeinen + \item[Funktionielle Sicht] Beschreibt die Funktionen der sieben Schichten + \item[Protokoll Sicht] Beschreibt die Protokolle der einzelnen Schichten + \item[Dienst Sicht] Beschreibt die Dienste einer Schicht gegenüber einer höherliegenden Schicht +\end{description*} + +\subsection{Layer} +\begin{tabular}{ l | l | l | p{6cm} | p{10cm} } + & \textbf{Layer} & \textbf{Dateneinheit} & \textbf{Aufgaben} & \textbf{Typische Spezifizierungsaufgaben in dieser Schicht} \\\hline + PH & Physisch & bit & \begin{itemize*} + \item Senden und Empfangen von Folgen von Bits + \end{itemize*} & \begin{itemize*} + \item Definition des Mediums + \item Festlegung der Spannungsbereiche von 0 und 1 + \item Festlegung der Übertragungsdauer eines Bits + \item Festlegung der Anzahl der Leitungen und ihrer Nutzung + %\item Bietet eine bittransparente Schnittstelle zum physischen Medium + %\item Spezifiziert mechanische, elektrische, funktionale und prozedurale Mittel um die physische Verbindung zwischen zwei offenen Systemen zu unterstützen. + %\item In-sequence Zustellung der Bits ist sichergestellt + %\item Fehlererkennung ist manchmal inkludiert + \item Zeitliche Synchronisation (Non-Return to Zero Level oder Manchstercodierung) + \item Breitband- vs Basisbandübertragung (Amplituden-/Phasen-/Frequenzmodulation ) %Bsp: QPSK, 16-QAM + %\item Digital vs Analog + \end{itemize*} \\\hline + L & Link & Datenrahmen & \begin{itemize*} + \item Senden und Empfangen von Datenrahmen + \item dazu Generierung und Erkennung von Rahmenbegrenzern + \item Bearbeitung von Bestätigungsrahmen + \item Flussregelung + \item Fehlererkennung + \end{itemize*} & \begin{itemize*} + \item Festlegung der Rahmenbegrenzer + \item Festlegung des Fehlerbehandlungsverfahrens + \item Festlegung der Möglichkeiten der Flussteuerung + %\item Unterstützt Übertragung von service data units (SDU) größer als "word" unter Systemen, welche über einen einzigen physischen Pfad verbunden sind. + %\item Essentielle Funktion ist block synchronization + \item Im Fall von Halb-duplex oder multipoint links muss der Zugriff auf das Medium kontrolliert werden und Peersysteme müssen addressiert werden. + \item Framing durch Charakterzählen, Flagbitmuster/Bitstuffing oder Codeverletzung + \item Fehlererkennung \& -kontrolle (vorwärts/rückwärts) mit Redundanz (Parität), Hemmingdistanz, Cyclic Redundancy Check (CRC) + \item Send and Wait (Sliding Window) , Go-Back-N, Selective Reject + %\item Verbindungsaufbau \& Flusskontrolle + \end{itemize*} \\\hline + N & Network & Datagramm, Paket & \begin{itemize*} + \item Routing des Datenverkehrs + \item Absicherung von Verbindungsqualitäten + \item optional: Abrechnungsfunktion + \end{itemize*} & + \begin{itemize*} + %\item Erschafft eine logischen Kommunikation zwischen offenen Systemen, welche verbunden sind mit verschiedenen Subnetworks + %\item Diese Netzwerkebene unterstützt Routing, also müssen sich N-Service Benutzer nicht um den Pfad kümmern + \item Der N-Service ist uniform, unabhängig von der Variation an Subnetwork Technologien, Topologien, QoS und der Organisation + \item Netzwerk Addresse = Endsystem Addresse + \end{itemize*} + \\\hline + T & Transport & TPDU (Transport Protocol Data Unit) & \begin{itemize*} + \item Aufbau virtueller Point-to-Point-Verbindungen + \item Senden im Broadcast und Multicast Modus + \item optional: Aufteilen der Transportverbindung auf mehrere Netzverbindungen + \item optional: Multiplexen mehrerer Transportverbindungen auf einer Netzverbindung + \end{itemize*} & + \begin{itemize*} + %\item logische Kommunikation zwischen zwei Prozessen/Nutzern, unabhängig von der Netzwerkstruktur + %\item Verschiedene Klassen von Protokollen mit verschiedenen Funktionalitäten sind festgelegt (connectionoriented/connectionless; reliable/unreliable) + \item Sendeseite: Segmentiert Anwendungsnachrichten und leitet diese Segmente an die Netzwerkschicht + \item Empfangsseite: Reassembliert Segmente in Nachrichten und leitet diese an die Anwendungsschicht weiter + %\item Als Transportprotokolle werden im Internet hauptsächlich TCP und UDP verwendet + \item Fehlerkontrolle: Durch Sequenznummern, ACKs und Neuübertragungen + \item Flusskontrolle: Durch Inspizieren von ACKs und Permits + \item Staukontrolle: Durch das Verlangsamen des Senders, wenn Pakete oder ACKs verloren gehen + \end{itemize*} + \\ \hline + S & Session & SPDU (Session Protocol Data Unit) & \begin{itemize*} + \item Aufnahme und Entgegennahme einer Sitzung + \item z.B. Authentifizierung an einem anderen Rechner + \item Bereitstellen von Synchronisierungspunkten zur Wiederaufnahme von abgebrochenen Verbindungen + \end{itemize*} & + \begin{itemize*} + %\item Unterstützt die Synchronisation des Dialogs und die Verwaltung des Datenaustausches + \item Quarantine Data delivery - Eine ganze Gruppe von übertragenen S-SDUs wird zugestellt auf explizite Anfrage des Senders + \item Interaktionsverwaltung erlaubt ausdrücklich festzulegen, welcher S-User das Recht bekommt zu übertragen + %\item Zurücksetzen der Verbindung auf vordefinierte Synchronisationspunkte + \end{itemize*} + \\\hline + P & Presentation & PPDU (Presentation Protocol Data Unit) & Konvertierung der Daten in das Netzdatenformat & + \begin{itemize*} + %\item Unterstützt die Übersetzung von Daten und Datenstrukturen in einzigartige Repräsentation + \item Ausschließlich die Syntax wird modifiziert um die Semantik beizubehalten + %\item Auswahl von einer der allgemein anerkannten Transfersyntax + %\item Die lokale Syntax von jedem Endsystem wird in oder von der ausgewählten Transfer Syntax übersetzt + \end{itemize*} + \\\hline + A & Application & APDU (Application Protocol Data Unit) & Bereitstellung anwendungsunterstützender Elemente & + \begin{itemize*} + \item Unterstützt den direkten Endnutzer durch die Bereitstellung einer Vielzahl an application services + \item Genereller Typ (z.B. Entfernte prozedurale Anrufe, Transaktionsdurchführung,...) + \item Spezifischer Typ (z.B. Virtuelles Terminal, Dateiübertragungszugriff und Verwaltung, Arbeitswechsel,...) + %\item Ein typisches Beispiel: virtuelles Terminal (Funktionen des reellen Terminals werden in virtuelle Funktionen gemappt) + \end{itemize*} + \\ \end{tabular} +\subsection{Schichtkommunikation} +Eine Schicht $(N)$ bietet der darüberliegenden Schicht $(N +1)$ an Dienstzugangspunkten (SAP - Service Access Point) Dienste an. Auf diese Dienste wird mit Hilfe von Dienstelementen (Service Primitives) zugegriffen. Man unterscheidet die vier folgenden Dienstelementetypen: +\begin{itemize*} + \item Request (Anforderung) + \item Indication (Anzeige) + \item Response (Antwort) + \item Confirm (Bestätigung) +\end{itemize*} +Möchte eine Instanz einer Schicht $(N+1)$ in einem System A eine Verbindung zu einem System B aufbauen, muß sie bei der Schicht $(N)$ im eigenen System den Dienst anfordern (Request). +Für Schicht $(N+1)$ transparent baut Schicht $(N)$ aus System A eine Verbindung zu Schicht $(N)$ aus System B auf. Dabei benutzt sie gegebenenfalls Dienste der darunterliegenden Schichten. +Schicht $(N )$ in System B signalisiert nun (Indication) Schicht $(N+1)$ in System B das ein Dienst angefragt wurde. +Schicht $(N +1)$ in System B antwortet Schicht $(N)$ in System B (Response), wenn der Dienst akzeptiert wurde. +Wiederum transparent für die darüberliegenden Schichten gibt Schicht $(N)$ aus System B an Schicht $(N )$ zurück das der Dienst akzeptiert wurde. Schicht $(N)$ aus System A kann nun Schicht $(N+1)$ aus System A den Dienst bestätigen (Confirm). + \section{TCP/IP - nicht existentes Modell, sehr nützliches Protokoll} \begin{tabular}{l | l} - Internetlayer & Packetswitching, Adressierung, Routing und Forwarding. Insbesondere für hierarchische Netze \\ + Internetlayer & Packetswitching, Adressierung, Routing und Forwarding. Insbesondere für hierarchische Netze \\ \hline - Transportlayer & zuverlässiger Bytestrom: TCP (Transport Control Protokoll) \\ - & unzuverlässiges Datagramm: UDP (User Datagramm Protokoll)\\ + Transportlayer & zuverlässiger Bytestrom: TCP (Transport Control Protokoll) \\ + & unzuverlässiges Datagramm: UDP (User Datagramm Protokoll) \\ \end{tabular} \section{UDP vs TCP} \begin{tabular}{l | l} - UDP & TCP \\ \hline - minimalistisch & Punkt-zu-Punkt: Ein Sender, ein Empfänger \\ - Best Effort Dienst: Segmente können verloren gehen, nicht reihenfolgegetreu & Zuverlässiger, reihenfolgegetreuer Bytestrom \\ - Verbindungslos: Kein Handshaking und unabhängige Behandlung der Pakete & Pipelined: Staukontrolle und Flusskontrolle \\ - oftmals für das Streamen von Multimediainhalten & Sende und Empfangspuffer \\ - Überprüfung durch Checksummen & Vollduplex Daten: Bidirektionaler Datenfluss \\ - & Zuverlässsiger Datenverkehr benötigt eine Behandlung von Timeouts (RTT) \\ + UDP & TCP \\ \hline + minimalistisch & Punkt-zu-Punkt: Ein Sender, ein Empfänger \\ + Best Effort Dienst: Segmente können verloren gehen, nicht reihenfolgegetreu & Zuverlässiger, reihenfolgegetreuer Bytestrom \\ + Verbindungslos: Kein Handshaking und unabhängige Behandlung der Pakete & Pipelined: Staukontrolle und Flusskontrolle \\ + oftmals für das Streamen von Multimediainhalten & Sende und Empfangspuffer \\ + Überprüfung durch Checksummen & Vollduplex Daten: Bidirektionaler Datenfluss \\ + & Zuverlässsiger Datenverkehr benötigt eine Behandlung von Timeouts (RTT) \\ \end{tabular} +\section{Konkrete Netzwerke und Protokolle} +\subsection{Hardwareschicht} +\begin{tabular}{l | l | l | l | l | l | l} + Realisierung & 10Base2/5 Ethernet & bis 1GBit Ethernet & Token-Bus & Token-Ring & DQDB & FDDI \\ + Protokoll & CSMA/CD & CSMA/CD & Token-Bus & Token-Ring & Distributed Queue Dual Bus & Fiber Distributed Data Interface \\ + IEEE & 802.3 & 802.3 & 802.4 & 802.5 & 802.6 & - \\ + physische Topologie & Bus & Bus & Bus/Baum & Ring/Stern & Bus/Ring & Ring+ Ersatz \\ + logische Topologie & Bus & Stern & Ring & Ring & Bus & Ring \\ + Leitungskodierung & Biphase-L & unterschiedlich & & Differential & & 4B/5B, NRZI \\ + Bitrate & 10 Mbit/s & 10-1000 Mbit/s & 1,5/10 Mbit/s & 1-1000 Mbit/s & 44,736 Mbit/s & x \\ + Baudrate & 20 MBaud & 20-2000 MBaud & & & & $1,25*x$ \\ + Kanalzugriff & CSMA/CD & CSMA/CD & Token & Token & DQDB-Zellen & Token \\ + Anwendungsgebiet & LAN & LAN & Zeitkritische Systeme & Zeitkritische Systeme & MAN & MAN \\ +\end{tabular} + +\subsection{Schicht 2: HDLC (High Level Data Link Control)} +3 verschiedene Stationstypen/Sendemodi: +\begin{itemize*} + \item Primary Station (sendet Kommandos) + \item Secondary Station (sendet Antworten) + \item Combined Station (sendet beides) +\end{itemize*} +Bei HDLC wird zur Unterscheidung des Endflags von den Übertragungsdaten Bitstopfen eingesetzt. +Damit bezeichnet man den Vorgang, daß bei fünf aufeinanderfolgenden Einsen, stets eine Null eingefügt wird. +Somit kann der Trailer, der 6 aufeinanderfolgende Einsen enthält, eindeutig unterschieden werden. + \end{document} \ No newline at end of file