From 2f101bdeeb84784be8152f564a3cba442b410cde Mon Sep 17 00:00:00 2001 From: Andrew Pruski Date: Mon, 27 Feb 2023 14:38:22 +0000 Subject: [PATCH] Day 66 - High availability and disaster recovery --- 2023/day66.md | 209 ++++++++++++++++++++++++++++++++++++++++ 2023/images/day66-1.png | Bin 0 -> 29161 bytes 2023/images/day66-2.png | Bin 0 -> 26877 bytes 3 files changed, 209 insertions(+) create mode 100644 2023/images/day66-1.png create mode 100644 2023/images/day66-2.png diff --git a/2023/day66.md b/2023/day66.md index e69de29..2837813 100644 --- a/2023/day66.md +++ b/2023/day66.md @@ -0,0 +1,209 @@ +# High availability and disaster recovery + + +Hello and welcome to the fourth post in the database part of the 90 Days of DevOps blog series! Today we’ll be talking about high availability and disaster recovery. + +One of the main jobs of a database administrator is to configure and maintain disaster recovery and high availability strategies for the databases that they look after. In a nutshell they boil down to: - + +Disaster recovery (DR) - recovering databases in the event of a site outage.
+High availability (HA) - ensuring databases stay online in the event of a server outage. + +Let’s go through both in more detail. + +
+ +# Disaster recovery + +Database administrators are a paranoid bunch (Andrew nodding his head). It’s their job to think about how the database servers will fail and how best to recover from that failure. + +Two main factors come into play when thinking about disaster recovery… + +RTO - Recovery Time Objective - How long can the databases be offline after a failure?
+RPO - Recovery Point Objective - How much data can be lost in the event of a failure? + +Basically, RTO is how quickly do we need to get the databases online after a failure and RPO is can we lose any data in the event of a failure? + +In the last post we talked about backing up and restoring databases…and backups could be good enough for a disaster recovery strategy. Now, there’s a load of caveats with that statement! + +In the event of a site outage…can we easily and quickly restore all of the databases with the RTO and to the RPO? More often than not, for anyone looking after anything more than a couple of small databases, the answer is no. + +So an alternate strategy would need to be put into place. + +A common strategy is to have what is known as a “warm standby”. Another server is spun up in a different site to the primary server (could potentially be another private data centre or the cloud) and a method of pushing data changes to that server is put into place. + +There’s a couple of methods of doing this…one is referred to as “log shipping”. A full backup of the database is restored to the disaster recovery server and then the logs of the database are “shipped” from the primary server and restored to the secondary. +In the event of an outage on the primary site, the secondary databases are brought online and the applications pointed to that server. + +This means that the databases can be brought online in a relatively short period of time but caution needs to be taken as there can be data loss with this method. It depends on how often the logs are being restored to the secondary…which is where the RPO comes into play. + +The Database Administrator needs to ensure that the logs are shipped frequently enough to the secondary so that in the event of a primary site outage, the amount of data loss falls within the RPO. + +Another method of keeping a warm standby is asynchronous replication or mirroring. In this method, the full backup of the database is restored as before but then transactions are sent to the secondary when they are executed against the primary server. + +Again, data loss can occur with this method as there is no guarantee that the secondary is “up-to-date” with the primary server. The transactions are sent to the secondary and committed on the primary…with no waiting from the secondary to acknowledge that the transaction has been committed there. This means that the secondary can lag behind the primary…the amount of lag would be determined by the network connectivity between the primary and secondary sites, the amount of transactions hitting the primary, and the amount of data being altered. + +
+ +# High availability + +Disaster recovery strategies really do mean recovering from a “disaster”, typically the entire primary site going down. + +But what if just one server goes down? We wouldn’t want to enact our DR strategy just for that one server…this is where high availability comes in. + +High availability means that if a primary server goes down, a secondary server will take over (pretty much) instantly…with no data loss. + +In this setup, a primary server and one or more secondary servers are set up in a group (or cluster). If the primary server has an issue…one of the secondaries will automatically take over. + +There are various different methods of setting this up…PostgreSQL and MySQL have synchronous replication and this is the method we will focus on here. + +Synchronous replication means that when a transaction is executed against the primary server, it is also sent to the secondaries, and the primary waits for acknowledgement from the secondaries that they have committed the transaction before committing it itself. + +Now, this means that the network between the primary and secondaries has to be able to handle the amount of transactions and data that is being sent between all the servers in the cluster because if the secondaries take a long time to receive, commit, and acknowledge transactions the transactions on the primary will take longer as well. + +Let’s have a look at setting up replication between two instances of PostgreSQL. + +
+ +# Setting up replication for PostgreSQL + +What we’re going to do here is spin up two containers running PostgreSQL and then get replication set up from the “primary” to the “secondary”. + +One thing we’re not going to do here is configure the servers for automatic failover, i.e. - the secondary server taking over if there is an issue with the primary. + +As noted in the PostgreSQL documentation (https://www.postgresql.org/docs/current/warm-standby-failover.html), PostgreSQL does not natively implement a system to provide automatic failover, external tools such as PAF (http://clusterlabs.github.io/PAF/) have to be used…so we’ll skip that here and just get replication working. + +First thing to do is create a docker custom bridge network: - + + docker network create postgres + +This will allow our two containers to communicate using their names (instead of IP addresses) + +Now we can run our first container on the custom network which is going to be our “primary” instance: - + + docker run -d + --publish 5432:5432 + --network=postgres + --volume C:\temp\base:/postgres/archive/base + --env POSTGRES_PASSWORD=Testing1122 + --name demo-container + ghcr.io/dbafromthecold/demo-postgres + +This container run statement is a little different than the ones used in the previous blog posts. + +We’ve included: - + +--network=postgres - this is the custom docker network that we’ve created
+-v C:\temp\base:/postgres/archive/base - mounting a directory on our local machine to /postgres/archive/base in the container. This is where we will store the base backup for setting up the secondary. Change the location based on your local machine, I’m using C:\temp\base in this example. + +Now exec into the container: - + + docker exec -it -u postgres demo-container bash + +We need to update the pg_hba.conf file to allow connections to our secondary instance: - + + vim $PGDATA/pg_hba.conf + +Add in the following lines to the top of the file: - + + # TYPE DATABASE USER ADDRESS METHOD + host replication replicator 172.18.0.1/24 trust + +172.18.0.1/24 is the address range of containers on the custom network. If you have other custom docker networks this will change (confirm the address of the primary container with docker container inspect demo-container) + +OK, connect to the primary container in pgAdmin (server is *localhost* and password is *Testing1122*) and create a user for replication: - + + CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD 'Testing1122'; + +Then create a slot for replication: - + + SELECT * FROM pg_create_physical_replication_slot('replication_slot_slave1'); + +N.B. - Replication slots provide an automated way to ensure that a primary server does not remove WAL files until they have been received by the secondaries. Aka they ensure that the secondaries remain up-to-date. + +Confirm that the slot has been created: - + + SELECT * FROM pg_replication_slots; + +![](images/day66-1.png) + +Now back in the container, we take a base backup: - + + pg_basebackup -D /postgres/archive/base -S replication_slot_slave1 -X stream -U replicator -Fp -R + +Alright, what’s happening here? + +-D /postgres/archive/base - specify the location for the backup
+-S replication_slot_slave1 - specify the replication slot we created (N.B. - this uses out-of-date terminology which will hopefully be changed in the future)
+-X stream - Include WAL files in backup (stream whilst the backup is being taken)
+-U replicator - specify user
+-Fp - specify format of the output (plain)
+-R - creates the standby.signal file in the location of the directory (for setting up the standby server using the results of the backup)
+ +More information about these parameters can be found here: - +https://www.postgresql.org/docs/current/app-pgbasebackup.html + +Now we are ready to create our secondary container. + + docker run -d + --publish 5433:5432 + --network=postgres + --volume C:\temp\base:/var/lib/postgresql/data + --env POSTGRES_PASSWORD=Testing1122 + --name demo-container2 + ghcr.io/dbafromthecold/demo-postgres + +Again this container run statement is a little different than before. We’re on the custom network (as with the first container) but we also have: - + +-p 5433:5432 - changing the port that we connect to the instance on as we already have our primary container on port 5432.
+-v C:\temp\base:/var/lib/postgresql/data - this is saying to use the directory that we stored our base backup as the data location for the postgres instance in the secondary. We’re doing this so we don’t have to copy the base backup into the secondary container and change the default data directory. + +Once the secondary is running, jump into it: - + + docker exec -it -u postgres demo-container2 bash + +And open the postgresql.auto.conf file: - + + vim $PGDATA/postgresql.auto.conf + +Here we are going to add in information about the primary container. Replace the *primary_conninfo* line with: - + + primary_conninfo = 'host=demo-container port=5432 user=replicator password=Testing1122' + +Exit out of the container and restart both the primary and secondary: - + + docker container restart demo-container demo-container2 + +We’re now ready to test replication from the primary container to the secondary! Connect to the *dvdrental* database in the primary container in pgAdmin (server is *localhost* and password is *Testing1122*). + +Create a test table and import some data: - + + CREATE TABLE test_table ( + id smallint, + first_name VARCHAR(50), + last_name VARCHAR(50), + dob DATE, + email VARCHAR(255), + CONSTRAINT test_table_pkey PRIMARY KEY (id) + ) + + COPY test_table(id,first_name, last_name, dob, email) + FROM '/dvdrental/test_data.csv' + DELIMITER ',' + CSV HEADER; + +Then connect to the dvdrental database in pgAdmin in the secondary container (server name and password are the same as the primary container but change the port to *5433*). + +Run the following to check the data: - + + SELECT * FROM test_table + +![](images/day66-2.png) + +And there’s the data. We have successfully configured replication between two instances of PostgreSQL! + +You can further test this by deleting the data on the primary and querying the data on the secondary. + +Join us tomorrow where we'll be talking about performance tuning. + +Thanks for reading! + diff --git a/2023/images/day66-1.png b/2023/images/day66-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2518e06b1a46da6effb902e214998b517b448d72 GIT binary patch literal 29161 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

$Q+ zBn*``x~)CjxgBd@EX~7WlFTPSrTyCHK*4qcre{v(=WA0*e>(~o+Cqg?gnn$5{25w( zEtxmHBZ+!mK}?Py%mx=H-{unPzPRZv8HLpRG?DKuPYQH<=cD+V4?|pENZoY}h(-7x z4c9GPZT)_CKAp`Yccofu^%(8P#-%em)5|xkewfv%iV5&p&8$RrB--{yeITqXe*Y&Z zux{1XM=qj|MRzL_1^JRWb<{7}C5?w~<{msTtY5o3W2fMKW8R%_(l#MKbf!os%A7hQ7?Z<6(G5)FZ5#DL;l6d8N0Tgw%NH=f6F`Gf|p00X%ur z4S9F$>WQ=ZF~Jq(>+tWNQ=>L@jyG!L1o+)YEu7A5y<}WsMO`aiKM_4Twkr7Xlv}VN zdyjh3geE9^!k2X|TbO-V!&OK6HcPTbmAzPkA8*#bpQnuXc_rI|nl5A(^M%hhW|Wgh zOgbMDA4`3h-sBe(8L6GI7g2TQ%^73i7iYOOAJ6*#1yvua;7L*dz~%hJ>vLxVzz{T7 z)>~bp9~UqG6$U`SztI$a$Ql3#VPm_=>#tcRjt#mi1JIVgrHJqd@DKNvTDvN9GV@bX z(kv3azfxqX&E2@;jG@=04jRwu$VonR&L$3&JIcRWztiR(;xA~;D0ld4c-a{xTD`jb zY!1s;FB+n=^2-cn0EqHStqa~;Id#Ig+Cv+-(PPSTG79q>}N+U zTJ((m$k8itI`f(KfVF>K*psuHRdLThkRr?SosYv#<2~%klI> zTTkRR>7#<2%~uKU2)D+({0^bNgs}3wl@h$R=u~or&C5gV>}^arS2Zd!D0laR!^OhaB0uCZlU9Q zuBMz#%{_UxDkwHm#IhdSxIU%mnl^N_+l_-FQ(JIm%bqigXNa#tP?@!F`@wXPHd5`* zDNH($m24N-iM`(M~rW1`T*DMbevk-=xYVri}v&ZO+>kihx z^U+6G?yed_Qj>qd)N^Uhnsl?NtE9@T95K7y4KUi;nU`C1K0U1(kMiU76%{tlc;zV` z-O=1_1IAu@@hY;_e|x-s_1d*cTcg>EW47*;oyjp1;{{;9RM|4ppEb6JM(eGRU<02M zLr$6j4u@$g@4;|HkpRH5br@|Hw#cm|fB$D6zJ0u;bKpv3Y7xoB0Bnt)yA9!TFRiyi zjQwc7EQFCG7X$G18ou2Ld=8#O$Oo<6JRFw5GKoXs0t(Lmty=}hFyuC2Cso^?{ z!!tJ&9lp>rIZA15E^9F(M^ANehu{3s!o1X!vvn}%G2MmICSYSU1AH#0{z|9WcAY14 z1AtJyoFo_knj`@PK~dt?HX~JAZhCdi`@WqiwRQ(IX1CgVvNLP^c#RtmR=u-!trywa zd#%zDI9A05z+~fsp{ZN;+`_r9y!NKAj3Q~q3BdOBjo{Zd5{3=mWi9>iqoB4E1xA7K zLQW4rK|vGFGxfTMD1-pOiHY?z^j_~QJ|lZ_!8^0OzTKL8EqzB%7Yk(%HIMOWqjcJe}Sjzh=$c1G|si)0+Jn zem(}k{6Spz%w2y_+S+}tk?kuJYT30#2Ef^ZgkUwWk;0ws?(XAjBRBxw{z`^HAn*=x z7xcIGG*zD8yz!g-R;%413ir5PntpBD|DKS4wLz#KdBwK~;|Mg~THmnfRcl`4lB7Tr zCI(;-&cZPOoWlkr^ndLc-RGZt+RpKoidiK|yVE)pK?9w zO`EnKY{%3pRm^Bd?!VS=$~P(GY@Q-u-0~I6-}~2x?WcAhJh}C&z1cl|7z@JyfVrt^ z&L9MU0rVf;^wqyNCX-w~3$TIvGZbhOUVeAw^8c}P+S%fodl{XF+*0`UmtUke0*)9= z^@yJU1QHoI3=O?JA03y&)#wBagV+IK-T<~sWlbsjw`@I<*J&VBe&Lsz%ee9DW%YS^ zCc$VKj&Pov8=E5w9>um(NEoG)0U(UU!Z5&a7KUhj%yY83)9ZF!(D+C(oIbJdm}pca z3ji<{i-q?!Uk!=%DLhv-@9otgoIaK`0C$>Vr^O!n_rG=@%aiF97~J@7PSf;{%Umf2 z!&z)kkNz!Rf4M*98pV~29UpSycnJ|2FA@2@IxFCdPd;tIG%`7dCaHnNaF8^H14U63 z_2X7yhz5?`)ZbQ9vg_N8$rW7=D>f#Y-&UAz^G;BTIn2$x8rtE+F${QKDn7>b3-@#w zR8PJtEC23`#2k&U@4(Q^-PeMnbpV2iQ>U2Q8b*x?24If~f^Lgh9umUEF@ad4(Lu8377hD_SC09k1Y_SSsvv`M(R8F|QCoS%Qmfw5?s0R*IzmMA22R~-XjZ0W%; zKnzVWNURX~j(z;iWy{}R^Ll_v>K(}JPI1hh>6diikk)(T82|uWpz%>_yuD?792i7X z6aZjsrnQ#<(qZf%9QK|*x2UxrtnEzORd1xnE_m;~nM~sOHpIg3_B+@x2O)+=2mtsp z{TuIoG-q5;_+v3RV3S{Y@57~YRGw<3r?B=?`c)$dHcOu*aL&vnZ!dVvGg#l+&%ciL~9zAsifWGP$r_>F~(@%ETz;5lqx%VPr)Rni_7`SrP z>aijl0$^y00YD5zA*o)$bQoxgGPc<;3^6oK0|-L{eP_J%#;OnAe`|W6r`o&v$Zm1K ztVk+(pH(XXKn!EIF|?)m8pFeJplAjF!zqik56JFzD~|WHwT+*@V%c=hJ;~L;px4%X zEW2>3(FQCGAplE{T`WZ%7Kw;yX+a7W)oix%H2#mS{qGN>^q%p73U`UDx48{~zI@HX z6XFaF94?7stw?{_#p?;%T7_s()wWf@1b=+w8 z+Vlo1fTQi~Rm|5LV`!Q|0Du?ryOE4vC?dKmyqcENRT4>^#gUJ~fGYbK7g>so!n;`dk2)9*f+Gay4RQ3N(t833rV z!a||ar|D`l0IF;PnMgvBBmzJTMKcTlL;Z$zc|R`)&2)7by+Xp>?zd9pdpYQ#90LFV zL=&AoM0lv~7h?eRmnveXEr^c}35kd^T&nQY$S9Uv=fO2}n8M=X_3XxtyHg!Pg?~^4 zkLu>i{oOsheDS7DJCC*yl87)JpJ9VGa8!Wa&1TV#9_M~<@?t}a!D0ZEv7<*55_Usq zi?SPf>ChkzU*Or6w>P7_MWFOgcqF_j@8rHSsoIGz#s{(6jWA~X__n+hnbyx{caHQR zFaQ8y>9%pbf>Z)P*8HTs`MsLwpBTeqf$2)p7rTmPE`CiT#NEZ*%p-fwWL}%O_)lsP z8vxism8dgo_mP6|xzCSMNeAv@WvheL!hzcgJ=9cP*4|^;5zj4-@)Ys}#PJ=8g+}*< zGvdYE!OwYv!~jHEe$BB{=dKF1nt)J$o4L;~$e*?tO_*-Nq|me5HeRT+dj$oAC^`Kg z@>9C0gZ<7Q*pz&sSsxOi@DMn9nb3)ma(AhxQX8yxZ!JHUR9sherGC!5=iD(9$yKRk zLY0?r&$qi8OuWFbz)&Uc^zN-WRcQXaiR?ZTr3#u5?S3-1%}2#y#ClJ5QyU!^1O*3k z?f&ALyfXCk>c26(sFDouZ1LKOsmJ94b%QwS+mfGnIGGnT zVZzurqT<-@6PXduz8>u-=`?iv2J0O?23j8M>yC_u>-rG=1J|k^GzRc+)j*qD4IXj{ zm&?O(93O_7QzJGj>G!?b zAND_T;ljlT0~4!WSiIu*9>qvza0Bq5)Ic!|W3h&(3=jYSV1sLDy8yT`Ij-p$)(qP> z)5Qbg2Lpf*A}NZYZ>D1WN*jOy1{i}7MKcJ|7|vkWFe@p*FpOpxlB6(vn2r3m00V|b zG{aC7?b7+U9Sp|?Qi}&7Z$l6a!v@yQwSs>HFbtz;n!~!a584j~fMHO-)sC3kq&$q3gK|F*(|yH1AeC-Aa=WhLFksKpo@`;%}(5YR(rUaIShjs znr0Ygm>v=zRCBZu33BxV80H{wt>7PsL6`dB8UTb4&A2>_E?l^9F%~_18y0=%4qJHiIhNgZ=u!FH#Y!CEpXB>o`ytxgL4&vsFA=2R>2!gz~ z9g1-f1o8c>BAOrw1|ibvu-omwd@DrXKJCMrJ4!(~daBp0-`Z4PpHyOcG}izA?ryg9 z3;A5u(3XN|D>=FGOkrbgMm?qr)4BinSA$4F6r|-|&RX&3^_Y~+5h&FP(QWsGp0?bh zrG2CQ?zaMRm@t?Wgn7gJ?-ZJ`hN8@TBR@{dyL_!js~*yQaUULoNkNbemvcA#V`YW= z)8l+Z*3Qyzwx6uHkkicd3)8TUe*0NrbyaqmH8$GMUVHwpo0A>aTYCthuSSjmAjY)o zlTR+!w&vDY9*NWz9Q^9&m9ERjlX!vA1A_I8wPW+T4fV~X`Hh^|P)$>5;x~JX%-v0W zB43?s@EY2|J*&;V6JN$LKBt|2>!><8=F<&mPch{)7_xHLx&3U=G z)wT8A1Y7Ir4geQUZ%#g2ot<$pa9j*om;ULla}AlNo&Mvs;<^{6{1tO|oIIWF6Fy#c zchzh;`@T#oYbwpowo3i{l;VOte^0qWdrSKN^1*uGnA1+@DMv-hd3UIeVr(b2ZYXMM z%RQDN4vFy;KX9>zhs(Y712DHYdPL8B`muURcPtQph zr%X?88XKqo@hERM0CJz8@GxJ4f%W=|7km}M^0dUQN6uX95rw!n@676n4e>a$`-o62 zHaW!MI%&c2J$p_h85qxSt^MmyHWya*#EuER^Q$w=7|Z}Ts;(GkFMV}lv_5%j()bAh zm+Od7y)b3V`V)oq7ta@H!{V&9satlPE<2yqzzPXhn%4hgLrz|SG&F&KJ#WYE)V!>; zT1pk=r}*7I)q`U&1Aq&qDlfUvi2KFpM2!VU)#F~7H8nW%cu}aA?E)G5=KSe+#Sw=p z7P_wx%GjqT#s=xt17FhZ4f(~a_%|0!X-hpS8XewgQ7oMCSctl(q*WN^D+7S`s_YKc z6ANcfYfIkCjY^;@bKIk*O&mWqP&LRIWq{iZ0ClC{)Vj~NaKfI9aqrx;CGpg$Lf`Q* zhO`~kf>94D#R{&MY~QgnySQB+9!_4(UVk{P4fEnuC+;~~A<=mmuD1Gx z`(I7kyyIlS`Rr_QWVFIk^VwI4Rdp9j8=3H6`I#-B9ZfGHWO@xU?LTy)Aop~BBQ|!F z4`puMv;C-V%vg7k(B4{B*u)C=M@LR}EMB$Hk6l;M?`AA4e0<5$CmvPq*mrg8I7KVz zwRF+!$wADf6OHk)K7~itCmuiBi7Di^(v)T_Tu$yu%npuLCvV$!{NzbO73+^x?yc~6 z=d~GQ!Z|NH3gim`Ja3**&00v0cr7NTahrngUu(v_#|*?QoJRTkmVeJ;b` z8LYyO?mW$-+N*idi)KxEWRmyhjps&>^FHvOPxDHPlgdpAvB90CDH{@x7FG0y#Rl^+ z006>RlelwRQd+qpG+Zg@-@9&oYVJ9rBooXAd1s5(YiuC3)x@ z!@czbPy~*N_7V2imGlOV8rfL_QSp;J1aK`o$LG;ecNY?&X_}%C0Br`{q>tBr?A>+N zz>B1+FB(j3jkLQ+$is0~SAAZABjke*K60x&QP$i`3H5LMdB!k1Gu$&6*;}`J``+z4 zj_IdAEpXb5X2MjS+oF4R&GJ8S+B!(eo_zH3%d1yCJw|QnC;JWkbKd)S?W)If&lVF@ zpVRx1RjZe@CZ!J1%=rfZ#uEsIHxHOB0W_Md;I#MDR}n(N_4ZZ(Fx1xdI&A`(ns0B- z-M4;kcEgQJtz8@*8vvJjh#8^$iAhlaw*2gCAyIwgX80!yg z{v@Z?eAmNchd(l7{tGY9pX}S!PtSgH_5WHj>U3sX*w}ze7pe@^mqltHJ`1r}MC$fa zQQfa)C!s~dyJm({8&wIn<4)B1>rhrds{Ce$`4ojtX;DrPHG^WeQC#&=d4)s z`t+C@gM}h3LDN@#^zKWSbIT~w(PZ&l`u4|~_MGZ|s4dEjd+Fuwf|T+rXYF2(jbWG9 z+l83fU}wPA+jyAFXy2A@wpXO1dRu)wH2?sZpC7Be-$pj{c`teE-PvweQm-_n z98G_5&DvL|hdTRj_>l@y_l};s^23$SQZ`%p$wcY&H{V;kEdOYtv5)9sg)UpUD!k(e zHtCJEE2rk<6#iaLrJvjJsJ@!-vU*;dG4VGW&F@8LZPrO5Zf2>Z|0JwEvVGqfhbqKV5jD%Nd)@gF0r$oM}@R zy)d)5wCY|)N0SsqF~G8Q?cK2M^KTPr2L;N>-kp2*CiRVrQ6LIo(A~lbP>4aG^af)K zfnjnF1ppwvO2x+k7@W=SZ*BL~`(pqStq&rcT_&-Q1VAbk0S1W5-L>xX|9n?$Vlaf1 zfj$7h=kpoH-q@+q5k<}3^In(`K~lI}=h0{6z4S`-z6~2v%a|~K9s(ZV06_gTUgtnO z0Uu}ArfypI#g_-mY+|Kmtf2Y8`HD%AT1nVr3q~3L^S8g%TG=9r*ygYU007xzMfi;d z06!G@&@=@SiOJe}Is4Sc4I8?}DmEu5j$f5};9PJ*j8w?Bk^}#l=(e(1I0!ss7(hT! zaIZzW`2AHmn?Boiq6`<_a2Rwp;%Xruchg4sx;37)?`sG~aH6tL#4 zWic{D(%=_5DlfA$Btl426iHDY>WK2Rascb4YbLdy%Hbe~bR7J_fGCo}aEO`u*r|*X z49A=#u2cJ7E2#qLFK;7QxVNvh)YwlNO$`+0EJ-{4#PWBSJ@vSNv#rC%Wt%Fpxf2$xd~?2%bRdKVGAU@1Lda&t zWUPJ*aOlR$N|qb1`DzPK%8~_5TCx0P5#KFLL<;_;Iw$kCD<0INhBMhM87+FuzH;GI1`2%idd@L}6D*Ad*I3~` zTyPRjga8m42>%vmp7fm%sSx=@j80g#V#SR3P&YC7MhQ1=FvWU-d+^wcSy^^~uCg;^ z&?5>V>T7BvNV521v6tMMb*}c6W$(p{sw$ftKsymYKp5+4cdxCzG^w~FGE`S^z6G2u z<+PVj!go3;07R1xngPTxB>lU!!nkt~xUHhH%iK^|bUrUv6!^&fbvPdu{QwMAg&o&> zFJCMytuuQ22Z?^LWTIb8J&y(VyRD0KCA5AUoU+~)Of$p#@zS^Hx zd+>De#8(&k@QI46wY?p67Yoi;TgBmiN*sVM*C@&Ay~i$2er1VX%=Yk6<{dp)MTabW zDvEQ5qs?GJV2(!Inr9GCe|+4zBS(60nXk^X^u&qKu@Xieg+GH}&aB zy?IA2Haa50b%8!g7DwQ%6w?S4x=^Yz!)@}c{;b1&LGjiLr%}|bIIXb1yZ-RL)QK;? z>MP}W2L)B99?EPKFMDMo579jpMdyo)8UN`oCTKydS9D~i<~N7MM|k`Dh$th?jZO%0 z7rRRv3s0ZQX?$++LQg(FE=Hbu@X+O6k2hX>f(t<7xYE~8$N_Wv#f-Cs(#U6L$N93Q z8Xd2B=l)Y{ZCtQgBIJ7cPYe(6lCnk0C~xx6{$q70Z25Ds7}cM5`gDuY=nS4dGuB^* zn|ACy$_jbrsTg(D`81nQ8$LR&@$Av;YV4^e<1~Sz?WLzqoNHRJ_!YH)VSuAi$!Wxr zdHYG(G$4Vu`k`+Qu6_Xb%st3Kla2rUSJLxK7X^CWT5LU1xm!7Chw04mlg-91&Di;~ z#{0EgN=YufX5neySU5|{8%YN7Rz{2*w6P>}PdTw<;WKXc5W->#PHw;4>TuJ?&Yw2E zzv@ zw9~jL@zNVho*piNJy$<~d&bod;Ae341NeDHi~;y9={MG7pTEMeC9xAGY2Am*);c`+ zUHSoFu6_V6T)4PP#Gb)3W(WV?qxb{ya8KnpjBrg7)Cgp18e76!4VIJVRphH;NO~y{zD9)-O%GM6)_A#h+!T? zRuYC`EF4Dw1H1olJWFGMAy+GaJL8(4p8*4m%jFOb=MX+*4~)#Uf`1hFJnk*A*dM+D z;5a4}@V~bQzy45g)B6uDKZ=V#EH1Tu7ekp_gTMp3HbUsvI|p6vMHenyxERU|o(1IE zyIr_&;bO!y{BrYMxNzaZ#RI`*09?3m;o=X<{|7i%M_X{tp_~8!002ovPDHLkV1jSe B6jJ~I literal 0 HcmV?d00001