From b9ba8baca50186206d12d4fd683cbc9febf8d5ed Mon Sep 17 00:00:00 2001 From: Celestino Rey Date: Wed, 26 Apr 2023 08:02:03 +0200 Subject: [PATCH] Cambio nginx a miweb y paso a Externo --- .../templates/miweb-deployment.yaml | 2 + .../templates}/pv-local-nginx.yaml | 2 +- .../miweb-chart/templates}/pvc-nginx.yaml | 3 +- shells/borraAntiguos | 2 + shells/copyDBK8S | 23 +++++++ shells/copyDrupalDB | 27 +++++++++ shells/copyGogsDB | 24 ++++++++ shells/copyKanboardDB | 23 +++++++ shells/copyMediawikiDB | 24 ++++++++ detectadMal => shells/detectadMal | 0 shells/estadoPis | 56 ++++++++++++++++++ shells/guardarestic.sh | 1 + shells/mientra.sh | 1 + shells/miraRestic.sh | 1 + shells/muestraPuertos.sh | 5 ++ shells/noip2 | Bin 0 -> 83216 bytes {NextCloud => shells}/syncNC2LaCie | 8 +-- 17 files changed, 196 insertions(+), 6 deletions(-) rename {Nginx => HelmCharts/miweb-chart/templates}/pv-local-nginx.yaml (83%) rename {Nginx => HelmCharts/miweb-chart/templates}/pvc-nginx.yaml (81%) create mode 100755 shells/borraAntiguos create mode 100755 shells/copyDBK8S create mode 100755 shells/copyDrupalDB create mode 100755 shells/copyGogsDB create mode 100755 shells/copyKanboardDB create mode 100755 shells/copyMediawikiDB rename detectadMal => shells/detectadMal (100%) create mode 100755 shells/estadoPis create mode 100755 shells/guardarestic.sh create mode 100755 shells/mientra.sh create mode 100755 shells/miraRestic.sh create mode 100644 shells/muestraPuertos.sh create mode 100755 shells/noip2 rename {NextCloud => shells}/syncNC2LaCie (74%) diff --git a/HelmCharts/miweb-chart/templates/miweb-deployment.yaml b/HelmCharts/miweb-chart/templates/miweb-deployment.yaml index 35548c08..ba99582c 100644 --- a/HelmCharts/miweb-chart/templates/miweb-deployment.yaml +++ b/HelmCharts/miweb-chart/templates/miweb-deployment.yaml @@ -2,6 +2,7 @@ apiVersion: v1 kind: Service metadata: name: miweb + namespace: miweb spec: type: NodePort ports: @@ -16,6 +17,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: miweb + namespace: miweb labels: app: miweb spec: diff --git a/Nginx/pv-local-nginx.yaml b/HelmCharts/miweb-chart/templates/pv-local-nginx.yaml similarity index 83% rename from Nginx/pv-local-nginx.yaml rename to HelmCharts/miweb-chart/templates/pv-local-nginx.yaml index aafadf1e..128d1b3d 100644 --- a/Nginx/pv-local-nginx.yaml +++ b/HelmCharts/miweb-chart/templates/pv-local-nginx.yaml @@ -8,4 +8,4 @@ spec: accessModes: - ReadWriteMany hostPath: - path: "/mnt/cluster/nginx" + path: "/mnt/Externo/nginx" diff --git a/Nginx/pvc-nginx.yaml b/HelmCharts/miweb-chart/templates/pvc-nginx.yaml similarity index 81% rename from Nginx/pvc-nginx.yaml rename to HelmCharts/miweb-chart/templates/pvc-nginx.yaml index a8d80ec0..4e0b6823 100644 --- a/Nginx/pvc-nginx.yaml +++ b/HelmCharts/miweb-chart/templates/pvc-nginx.yaml @@ -1,7 +1,8 @@ apiVersion: v1 kind: PersistentVolumeClaim metadata: - name: nginx-pv-claim + name: miweb-pv-claim + namespace: miweb labels: app: nginx spec: diff --git a/shells/borraAntiguos b/shells/borraAntiguos new file mode 100755 index 00000000..ec3fe2f3 --- /dev/null +++ b/shells/borraAntiguos @@ -0,0 +1,2 @@ +mysql -u crey -pRey-1176 estadopi -e "delete from estado where fecha < NOW() - INTERVAL 1 WEEK;" +mysql -u crey -pRey-1176 estadopi -e "delete from memoria where fecha < NOW() - INTERVAL 1 WEEK;" diff --git a/shells/copyDBK8S b/shells/copyDBK8S new file mode 100755 index 00000000..dfdc92d2 --- /dev/null +++ b/shells/copyDBK8S @@ -0,0 +1,23 @@ +# Backup date + +today=$(date "+%Y_%m_%d-%H_%M_%S") + +echo "Current date: $today" + +# build up filename + +# destination folder (change to your own needs) + +BACKUP_FOLDER=/tmp + +file_name=$BACKUP_FOLDER/bkup_fireflyiii +new_name=$file_name-$today.sql +echo "Backup file name: " "$new_name" + +sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n firefly|grep iii-mysql|cut -f1 -d' '` -n firefly -- /usr/bin/mysqldump -u root --password=Rey-1176 fireflyiii > $new_name + +message="Backup stored "$today + +sudo -u creylopez cat $new_name | mail -s "FireflyIII backup finished" "creylopez@yahoo.es" + +sudo rm $new_name diff --git a/shells/copyDrupalDB b/shells/copyDrupalDB new file mode 100755 index 00000000..87ebb426 --- /dev/null +++ b/shells/copyDrupalDB @@ -0,0 +1,27 @@ +# Backup date + +today=$(date "+%Y_%m_%d-%H_%M_%S") + +echo "Current date: $today" + +# build up filename + +# destination folder (change to your own needs) + +BACKUP_FOLDER=/tmp + +file_name=$BACKUP_FOLDER/bkup_drupal +new_name=$file_name-$today.sql +echo "Backup file name: " "$new_name" + +sudo kubectl --kubeconfig /home/creylopez/.kube/config -n drupal exec `sudo kubectl --kubeconfig /home/creylopez/.kube/config get pod -n drupal | grep mysql | cut -f1 -d' '` -- /usr/bin/mysqldump -u root --password=Dsa-0213 drupaldb > $new_name + +message="Backup stored "$today + +zip $new_name.zip $new_name + +sudo -u creylopez echo "Copia terminada" | mail -s "Drupal backup finished" "creylopez@yahoo.es" -A $new_name.zip + +sudo rm $new_name* + + diff --git a/shells/copyGogsDB b/shells/copyGogsDB new file mode 100755 index 00000000..58858fc5 --- /dev/null +++ b/shells/copyGogsDB @@ -0,0 +1,24 @@ +# Backup date + +today=$(date "+%Y_%m_%d-%H_%M_%S") + +echo "Current date: $today" + +# build up filename + +# destination folder (change to your own needs) + +BACKUP_FOLDER=/tmp + +file_name=$BACKUP_FOLDER/bkup_gogs +new_name=$file_name-$today.sql +echo "Backup file name: " "$new_name" + +#sudo docker exec `sudo docker container ls | grep mysql_gogs | cut -f1 -d' '` /usr/bin/mysqldump -u root --password=Dsa-0213 gogs > $new_name +sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n gogs|grep mysql|cut -f1 -d' '` -n gogs -- /usr/bin/mysqldump -u root --password=Dsa-0213 gogs > $new_name + +message="Backup stored "$today + +sudo -u creylopez cat $new_name | mail -s "Gogs backup finished" "creylopez@yahoo.es" + +sudo rm $new_name diff --git a/shells/copyKanboardDB b/shells/copyKanboardDB new file mode 100755 index 00000000..42c2cc6f --- /dev/null +++ b/shells/copyKanboardDB @@ -0,0 +1,23 @@ +# Backup date + +today=$(date "+%Y_%m_%d-%H_%M_%S") + +echo "Current date: $today" + +# build up filename + +# destination folder (change to your own needs) + +BACKUP_FOLDER=/tmp + +file_name=$BACKUP_FOLDER/bkup_kanboard +new_name=$file_name-$today.sql +echo "Backup file name: " "$new_name" + +sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n kanboard|grep mysql|cut -f1 -d' '` -n kanboard -- /usr/bin/mysqldump -u root --password=Dsa-0213 kanboard > $new_name + +message="Backup stored "$today + +sudo -u creylopez cat $new_name | mail -s "Kanboard backup finished" "creylopez@yahoo.es" + +sudo rm $new_name diff --git a/shells/copyMediawikiDB b/shells/copyMediawikiDB new file mode 100755 index 00000000..eeac6347 --- /dev/null +++ b/shells/copyMediawikiDB @@ -0,0 +1,24 @@ +# Backup date + +today=$(date "+%Y_%m_%d-%H_%M_%S") + +echo "Current date: $today" + +# build up filename + +# destination folder (change to your own needs) + +BACKUP_FOLDER=/tmp + +file_name=$BACKUP_FOLDER/bkup_mediawiki +new_name=$file_name-$today.sql +echo "Backup file name: " "$new_name" + +#sudo docker exec `sudo docker container ls | grep mysql_mediawiki | cut -f1 -d' '` /usr/bin/mysqldump -u root --password=Dsa-0213 mediawiki > $new_name +sudo kubectl --kubeconfig /home/creylopez/.kube/config exec `kubectl --kubeconfig /home/creylopez/.kube/config get pod -n mediawiki|grep mysql|cut -f1 -d' '` -n mediawiki -- /usr/bin/mysqldump -u root --password=Dsa-0213 mediawiki > $new_name + +message="Backup stored "$today + +sudo -u creylopez cat $new_name | mail -s "Mediawiki backup finished" "creylopez@yahoo.es" + +sudo rm $new_name diff --git a/detectadMal b/shells/detectadMal similarity index 100% rename from detectadMal rename to shells/detectadMal diff --git a/shells/estadoPis b/shells/estadoPis new file mode 100755 index 00000000..f2f405a5 --- /dev/null +++ b/shells/estadoPis @@ -0,0 +1,56 @@ +# ssh crey@k8s-maestro "cat /sys/class/thermal/thermal_zone0/temp" +# Shell script: estado.sh +# Autor: Celestino Rey + +# Los remotos + +for i in k8s-maestro k8s-currante-01 k8s-currante-02 +do + cpu=$(ssh crey@$i "cat /sys/class/thermal/thermal_zone0/temp") + equipo=$i + tempcpu=$((cpu/1000)) + memtotal=$(ssh crey@$i "egrep 'MemTotal' /proc/meminfo |cut -c17-25") + memfree=$(ssh crey@$i "egrep 'MemFree' /proc/meminfo |cut -c17-25") + memavailable=$(ssh crey@$i "egrep 'MemAvailable' /proc/meminfo |cut -c17-25") + echo "------------------------------" + echo "Temp.CPU => $tempcpu'C" + echo "Equipo => $equipo" + echo "Memoria Total => $memtotal" + echo "Memoria libre => $memfree" + echo "Memoria disponible => $memavailable" + echo "------------------------------" + mysql -u crey -pRey-1176 estadopi -e "insert into estado (tempcpu,fecha,equipo) values($tempcpu,NOW(),'$equipo');" + mysql -u crey -pRey-1176 estadopi -e "insert into memoria (memtotal,memfree,memav,fecha,equipo) values($memtotal,$memfree,$memavailable,NOW(),'$equipo');" +done + +# El local + +cpu=$(cat /sys/class/thermal/thermal_zone0/temp) +equipo=$(hostname) +tempcpu=$((cpu/1000)) +memtotal=$(egrep 'MemTotal' /proc/meminfo |cut -c17-25) +memfree=$(egrep 'MemFree' /proc/meminfo |cut -c17-25) +memavalilable=$(egrep 'MemAvalilable' /proc/meminfo |cut -c17-25) +echo "------------------------------" +echo "Temp.CPU => $tempcpu'C" +echo "Equipo => $equipo" +echo "Memoria Total => $memtotal" +echo "Memoria libre => $memfree" +echo "Memoria disponible => $memavailable" +echo "------------------------------" +mysql -u crey -pRey-1176 estadopi -e "insert into estado (tempcpu,fecha,equipo) values($tempcpu,NOW(),'$equipo');" +mysql -u crey -pRey-1176 estadopi -e "insert into memoria (memtotal,memfree,memav,fecha,equipo) values($memtotal,$memfree,$memavailable,NOW(),'$equipo');" + +# el disco externo + +espaciototal=$(df |grep discoexterno |cut -c19-28) +espaciousado=$(df |grep discoexterno |cut -c29-36) +espaciolibre=$(df |grep discoexterno |cut -c39-48) + +libre=$(($espaciolibre/1000000)) +echo "------------------------------" +echo "Espacio total => $espaciototal" +echo "Espacio usado => $espaciousado" +echo "Espacio libre => $espaciolibre/$libre Gb" +echo "------------------------------" +mysql -u crey -pRey-1176 estadopi -e "insert into discoexterno (espaciototal,espaciousado,espaciolibre,fecha) values($espaciototal,$espaciousado,$libre,NOW());" diff --git a/shells/guardarestic.sh b/shells/guardarestic.sh new file mode 100755 index 00000000..645db0ac --- /dev/null +++ b/shells/guardarestic.sh @@ -0,0 +1 @@ +sudo restic -r /mnt/Family/restic-repo backup /mnt/cluster/ -p /home/creylopez/.restic diff --git a/shells/mientra.sh b/shells/mientra.sh new file mode 100755 index 00000000..9fcf0d1a --- /dev/null +++ b/shells/mientra.sh @@ -0,0 +1 @@ +kubectl exec -ti deployment.apps/nginx-php-dev -- /bin/bash diff --git a/shells/miraRestic.sh b/shells/miraRestic.sh new file mode 100755 index 00000000..2e0138e9 --- /dev/null +++ b/shells/miraRestic.sh @@ -0,0 +1 @@ +sudo restic -r /mnt/Family/restic-repo snapshots -p /home/creylopez/.restic diff --git a/shells/muestraPuertos.sh b/shells/muestraPuertos.sh new file mode 100644 index 00000000..8f983e46 --- /dev/null +++ b/shells/muestraPuertos.sh @@ -0,0 +1,5 @@ +kubectl get svc --all-namespaces |grep NodePort +while read -r line +do + echo "$line" | cut -c1-15 +done diff --git a/shells/noip2 b/shells/noip2 new file mode 100755 index 0000000000000000000000000000000000000000..46cbb7d0a8f18744d9d5b7adeabfd6fbf06c2024 GIT binary patch literal 83216 zcmeFae_)lxmH+?Tn;W>fH^2oV2_ecu2pBbx3!)-o4T1`Sh>A)T3n2+4OGsjJ`PI^j zf|e?7QLtq#mb9fUb?J&qTWYbTO1IXfyKH5v>(Xr?#8RX!ZP}LYQu)5#^UQ>YE4J?E z`~Bzp{Tdx+=FFKhXU?2Cb7r1-o_pVQ)2@$1BA)w;dgY#STl+`6F~l3MAs6#<$9TS% zN7+!XROKyYU-Z1PFGfs=gQpO)p$D<*jsa7_r-Fhj&!KE4`I)qGPHtLLd*)sFIS5#>dcD;y!OpmN7U3q)FITVWD#1y^=USEiQi zyZ%%^MYxsnaQnxBDX6}9t88qTSJ_xQqOqZA@v;%st&8gCk8Eomc_~E(M>K?Y!}Qw) z@+1%OtUu8xAPA=NpPzi}_ftNsU7cU$RrRlW;PLna{sR*xw7yjOa_{5Q_IzQkm#mFEIBD{{ zb8=Me@FiU|7CxRscc=bcYH*rtaNmk}-`loKu@ z=HW+t-`JWO(0NUtk<+jKL*dc8ew#bv!9netzt-pZFaELL z=skbz*LT%}gVrs6px2VuKewVXXH>~YKC`~$q2r%fvHX!wo__Ym>!#*y`_rcjD>Ho_ zT3Md@;mf}+dFR;bg1#Tyv|_=ODW!cs^>-^?->|+Uui_t0-+Af$J`-+wYDLwj&;Rq+ zUOfJt)$qTt?w*30ZPo2pbaejd`dL@>8S*cAe}3va>q|~99J%(sd;UHBp-+5f#fScM zde@&SW_|ZpkGCDa`^l^NTv?U>%=$+j9CYQ7Lwy=w`qrR74*h5U&i{a?q2GKqz4L)y zFaCPnt1tcSCr^LpiS;G_1h1d}pQb)-<2S5G^!dh@`>a0ytvg=J`R0|6ceWtXv;ICN zWwU=i@j{m&?niKAEwJ+KO4vW;A9NXFeOKjoh%EDN>&jw>Wq`LZnfcamQb!vA(wxu2E4 zBa7ZIv&wJD%HNg6@A$0z#H{@DS@pk6er1S1&8PZM{<5t4f0I>zcviV&;Qo}pF{`{W zD_@mG@1I;{V%5JT3;!co_}|XLKbV#ONLGGMR{hUr<^M4Y|Gup9UuTs&dnd5?y($a8 zEQ|kt%PRkB7QKU6<)gCl4`t>5kd?nTEC0tV`ajMp|6W#JHr@THKP6fGPtL;cUiiQj zers0w#~m?Sp3KVEX5nkSaet!sn9C3=KQIfwEvvj=R{6%P^6zEk&&%qcpH(iu!~LoK zcox3aG54qP8?xH(m4%oVT_`HhR)>bMxs+FDv0nlkf+)>N~o#cOWKG&DgY)7n~7-|Ds0wYE05 zs&;k8t7&d(s;kL(4NY~KIZc`7>Yx_X=Qp=56jDv5(OcYv+q2MXS)8eoa(l=y4K8``PB`L-lBzVnL0RXTi({# zyuh0eW}87@+El$rEjLoVtziK;ndNjH*6W&txu|ZDvS9E(MCn3P^PI-!n(9nLbCZ{; zp|mPASa z73hjoV@q`gao1()7SN$Nb80fnTk7V_Q^S&Kb?X8Vg&D7*S#qjw#4%L!_04UWdCTb( zty0?zp+=*+txhA-60|peX=_8Kj)nrnh6U9yN_QY&s#Is18@#2}4Mv>eiqV^IyEMPn z$U0L4vgtYPw83O`O-)@JI#8Dp%c>-KXIg_npEF0QHKz^MGjkSIGi38y>*~B4rcJqa z;+)YV$I!L}SZjAd-(XEHz){!QS8##no2s~AVRR&j#x6kp|eClq6lPb$9H^G+$wMN!a;0i)R~DK5mGE53yBS9~4gulQER zUoqReBE`2c{)%s5{1p#n{1tzQ@mI{|s6ugX#$R!q@mG8$W|d+Vxk-xq zF#d|KfRCyXzl=q^x8o~cJQC{|(G~01+||3|(;e~S-|Z@CXCVIZ(}#**U3;kH_^vLO zE(oRbL+O}J4+Q_z=>T8p6QT66Q2KBveIS(HA4=~HrT2u=yF%$5q4c&;dP^w1DU{w2 zO0Ny2SBKIoLg`E>-55&OhSIY`>6xMQv`~6dC_O%u9urDegwkc9bV(>(5K8BV(y>tb z)H@;hhtkJF>BFJ)flzvXD7`n7-V;ji3Z-|1(%VAmEur+LPAj)!o=|#MD7_<;-WE!4QF?oOr`OTm8B0BNxR>94Fy=GIy%Alh-J82&yGL~8 zdz-uR)0?|$PoIAKKM5%u{aJ+(Z~KE0uK;*~zqu6u7Ag9TWPtAN<1L`#Zj$+WuGT zrLa*&Rn$xGS38}ll`j@`z-uH;-_m=!$RAlv8*jmvHyL}j{n0~{MvJHQT~&(H>$`I3 z``CV)yKbRgxrGh#+dCtv_Rg~C=B^&Ri@Dy+l_{mWLjf91tifr!s?{`kW-C^Oq zE&K@Z6Tn}w@PQV-ANa3z+7FI^{zeNQWAV3xe+c}Q7G7@Qn}8nx zUT@)}Eqo2|p8}s@;Ug_P1AHIwu@;`T@VUTW1@33TrvcvsJf1~=Eb#9FKd!Mwmag40 z;5&i8Vd0lr`YGVg0pD%mu3x7Z|82mxT6m?!KLY$Kz}H#$C=1^YydC&53wQ1A2L2@Q zxmonL0p9?8au%J9!2cF_It#uU_!{6wf9cmHw%r!s4*JRYa{Wo{@B7cL;caTqzpJ?;@$mf&4hWwsO(bJ(pyQ;f`vfh-9rK})5$ml{P^GAC8 z55VH^8yB28iYu8=I+9*>D4tGst%i;%OFw|#dq-XUM$rdWOIy;dBHGcM6wNO~bDD)u zrftEbZ{c>ZEXCy(NA1M@L0vw$e$M8u$H6U888kirWn?+1E9DL9dfmg{v310&Xq;s3 zpDYdfdcxWPTb76vdeVi?OQHAc1nG49LGd!ZPmqp4gON*k>5k6N)3;yz8Cip)`ncG| zTd^b00n0}|`Bpx-U<#%$+V?>+?LPI%I^n%rs4B7BX7~09O64kemw2| ztk`>dEb)I38@p#@v8v12K#fm{`pp=`L-lbj6ML`&F_ocTX8ijGy0VkDw^DX&$eFT@ zlu2)%rED!_`$J_bD2r0|G-aaGNWKsGuh{%-^2ng`i{xd)Hiha|QP!8T&rvop*U7uB zldVXx7!}diIM+y z)O-7su@gZ(Y+1#3quw;^O~ngQuY}M6&J6Nfh#LieC+f|jeunfW!Y<(Hp*;7Z zzDK-|cpb2c??ke zC4^HO!iia&Z-Fzz;z&>Kke>MM2dhlG=&-RdL7UsaHERkymRVYU47+$LuxIk2w7%q| zALz(ex%W6>Raeaa3E}0gBi5$oq}mT2!T#=`-e;kC*uvHCH>|ziZtQZc1IkcOy7zw_WA7-IdVJ*t+W5VB5EqhIY`m$oQadi@}|2acgZG>bq~{w21O@TRu5d zUS-ScD39CnictAVTYeAabJRYz>TB?wZ*kRU&*JZref7_bb=304F~!jiYkP&i-`Qj7 z!&L$Q*MYOf;;65OB^$HEMCOjYnrYT*hK8_WvI6XA(aclBs-T$+Si7WsPM? zsD26cCQwiEii`{R8A2P*FV=Xc!I=ckacpH{s15nZYNOyBZS1u6RP}dKuiUngvNGj3 zflua)>~+k_dOCG>0e5Tr9pv3Q8}ZsY55IG|xXRgWY>o3vPRs6i-kYmw zw_u?6HnY6*D%-xF&N-yDn`0~E!&KQk_{Fopk6Zjoi|@)g7Bl#+zVOSzKUEaa9}0en zc(Ln;^PAO{<13PH_)46_2mQ6JcOLcjSlb`QjV1%!ec*Ol+yuC8T{sKZ(%lN~8y5HU z|D5h#Q&RX%Io_=Yk!|AZ(2zX-NICj^(5)w08#WTQ61EX^hPj=fwL|O3KGuOXr1uiu zAibOTIN=20Bw+_Z>&PC0)|Ug|Xze*ne2fr(B;w5=)U)oaB;H9lt~~g$?IYOBK6)r0 zzgYgC_NHzwiAQhWBZp$!pE}GQ^k5_P&xIeca?i%s`k1|5#nV#{VedMno1Ff2elklI z=c4b%HJiTH(QNz@JD$?(lppAIcD;R}eizvNK#Dnt{Wm_f=A--@+2!aEd{XAws&xCo zw)Ah_!mb_4OHVcS{VaU{wXVGM-DXY-FU=Y(JOj&;V^}8gXM2Iyi@JT#SB_4fRJsM; zA0N7^<4dE0cD26u^6&1NMgP|K1I|95efq&1%IT}&FDHF%huY2u*Z8>TUPWqiR|UHH zW#p{=flqxO+Bx3iM{>MXM^fZv_na>Nc<c8!%znR)WEi6zGmpX|Z519RhokNos+ zU0$@nQ(c`ed>wkiznZotK=;(ByV38{Z$+$4rWeI3zl?H@y-mBSe=HTW^BG5%@s}_D zy32>!*@Jx7+jfRRhhy@iqUngT6oUX>Gmqu^Xl+UuX)c3LESCe1i#)S4XrrG1n zTHDlTTQ;an6dBnSkHO{ibEri45 z-8dI9&KlcKT+rUBy-z80bjBc?qO}rC_D-yW@a5)*_RDGT3XIJ?8;{3SM};rhXg^;> zth{UhkFJhtFCIldaxTR_r6+c*!UhxplbtF7r-V9YF49-_$qD6){8fjX3?)}|@8Da1 zI-@Jvk9F5WHzkir@JG7`B{QwLu3UUc#>Q`949)ofZRCLW`svee7SOkP>dFR*j+5#1 zo2SgsoJnC*;&#oEoHm90h-&yrYvS%BljI<+3gC^>r&-@o<1SBYPGHcSi^}ZE?RC!rftU{|wC7IZJn}#ry4ZOW=bWmUFp7G;MiGq%mvn`FzXDEpb(5zqUWr|fym?0=;-`C`gp+Z4I2Hahuk`~%+*IXRe&#e2+SAuj6cnXbu&>$SWlpIxDfXBrhK47B6=Fweq?l z)V~h)5|yF0N^DzOXlu9Km+aPlg1x{_oBzazRvp^jFPLj@p0r~@KUiyvH$iU@^fnR? zBwpe6Ht<??mD8m7n^hVJnwBiQwV51&~*ts z?~)y{{7658XAiF#{@9g|(4FRlJ> z-qJb43FU$B?}mTxt#A4-A2fR;XlRd<*8VV!kH+(%Z5A)?tva;Jre*JB!}8#Jt%Y5G z&8kCNe9j+%OCC|mT5MSnb&c(U57k`;&VR$Jou@N)j{F;;{95vRL-lDZv0HiC zl3r`SzpF3L?BH!ZxOV^#^m~2RAJVUx^)w2fIimx=Lwk?$^gk!v{)O@B_UGjXG=}JF z&#Px;Ej@y>V4Y9blD`}sstw_3-po|q>iBqDrsryL^wQ`*`r&+fGtVrJnQQQ^`6J)! zj|Irslm&B=t3nB<=f>{`uLC{)>L1V8GUjIDpW!hW19N6jywmEZo6Fm*?p7d|?Y2x~ z&lMnZHZiqNAcv{f1aep*9MhkdyH3j)k>A7@V=g75`j{&xcSh_!xw9{|-uFhAL ze#<^<9P?Sjy!4|cZ~B29ji479D>vzz<0+e#o~;%6XJ{ShmIcq*(5btivk*G+S>;1& z->SLq&YC7trn4sPv#LpN3dxCiX5=l|WA_rPk=bfwhJV%h7Pz9vb)uuW%rn_s`Jlq3 z$4~bF##ON}tXTNkH@f|@eCVM6gN&bI&e)KLd~Vrlo#p)V>C@wa^cflGtfL;et~iHm zv*ocRBo95;7!U6k{snnF9+JoTq-#U+kUsT%cfVeZ1N-0h>%e>T%Z+b2x>C-#=(%;f zgZ5mjsjvOEbn8{hHU6T5kN0#~ zuCiS@(3LJA%}ewfW*n`&@V4>}(&j&f4d?dl*I*p)%!%Qojs(@(Ji)@NC%d{BoCDTjYDi`vvQA z2l9~2BluSZ%wOHhFwb{^iAI7kQ2+M{4;h+g&9rj_+ZFUXu(`Rk>(&j?-`Y2z{|fcm zWt;IO)}li@$;;+y?(12m_DGfZq(#s+ei5{x^{QJ_q#u2ey~=d9Z`KU-YXa3 zIR8j8T9*oBbl>|NgXZ@!1{Ibs(NA0Y3#jL8m-DUMxrUxyYF$}}eo8Oj;r{1F(%EOM z%#C;L{oV6m`9)?Ko$)(w>-=~5^uTq_C7EWg!D(xwrOV~spspXom)6oW{gP}o zf2Z{1nL9AEPw<0vHy?N%xSG>DIYSYy(%VU^uS#El+;zUBw9dh0Q+1bU6ZJ$(=Xv63 z6!iTNeLtl&c2L(%7SH#CzB~U&^j@%S8asmC$fp*s7eGt)+VL81DoZ81%KcCbhEZ`w%IVgqB| z=envX*ZEfl+_y=Wt8H+YhlvX4ltE`UWrrz4p5`3L-bE^&?6Xb)n?zheJ>iZA_us)) zd(NiHmbPO%D|SV_EyUXiy9uul_7UD7c#j1>`&i=fgtUFu;-hPlnUkG#LjBa4S**wA zu7^*cXUyAEm%$5XKqnNl4r>26J>n&f*u470`c-@&l*c|7?+fMSKdLSDDKf6TQ~uT# zTdsL()4Yne|8EN#m~h zAQ_l*XY6W$Z9{f_B>jlld>?dAc4wn_Wd5n&yb6(c&gGGf&O`9gf-`LEw*_rXG;NrB zLOOfIH`#Jlz4n7kY+im!44b!!bIW@e@3r=M@-ec{8DF&6S8#Y+Xe$ZwWyR~u%1BCWBymvv5k(VQ}O4XLMo>RFRJ7ZuMH z(EjffbI-L0{uJnbgSzhShpV^G`qrv<0(*UodapPb^{%4cSE;w%!c>p_YNFld!~JyU zqnei~+n=u@JA>;5a_vE%qLiz>A<%aFmMC=DnLJ2%o!k;*lHBxhjgN^x8;@Kjg(ZVy^pB}Z(5 z#(`IAg0mm=O#WjujXx85-lX%{?0Gwcw#*pQC&ky#;SMBmE;_35uF{zXbaMS*9<5{T zc!V~E<8*K(u!k(no!7JgyFZKvt(Q1MQav|UjnK@6wxd>D70w%s!TO<*RH0_A`4Yr$KrF&-px)N%Ks`ormf^i0*!D zC+PfBXP+xsPqq+t5ndteBj^nD2ywyVoQdiTlz0|FXQ(Rf`8+PvLsaD4&uU^1-wX1lwt>@O9 z3$p5=w@>G>58sbGXSw-~JZE47{=}W(X~cgd2JfiwUL_ts^vs@IKCspk`6+93x7BYy z=!*{PS&^luXHyy@`JP|+o!v_UlU``ufp#JR?dPF=*v`8G`f#9BcX4ksi9a7aGn-uD9)P6%Oq?8xwB-{`Y7fqZ=#_<(3EE)(i76_dR&%0}rk6a11}x*_JR5=>O4urc6Ao>N4ld@aoP5BooP5 zYtF~G7bUxpQ^ne9>8(+WT-67McW*b|>W+F_UO-<;to?0p<>}St+0i76^PFff)|%&T zjC#TUweXlWIKdh!8{+rHr^k*gpx?Qa2WQFayZ1XW$|MtaMxgzXXdgFo_skt+?Ue*S zVBzjOxx~U>vG6^LHP;!RBy+&wDKFp6*allJ-%V!;4nG0E_v$R&!ZfD;{afz#hw^_Q zkIm@33!cYVxOfnKbh)@Ua*(~`+~Ta~EwU9E=K3arY=wC?GWx~|n){mbx?iSw@9e-U zz;+PAwkUg#ZT9%gt4H9)-6hn0L3HKS&^hAMT7%}o(@4fu`W<<3FmYa9#tQihH%IuCT)3!TeqFI<9LPSB=w!K|Ug z(kZtecH`;Zp>e!wES&9`#QbRGo`V}-`5U?LrSXliSD2tQ?eLo0+vW_8`ByZAz`WD@ z0RKb#FNEq#PtlL3Rfk6(Z|iQ%iI9HxLZ0#`53r_oQa5~;>XIyZNPc?uGRy6U1KPzK zQ=7ZCP`|#n_jY)GG5-?lY+KIHKsINczlPWRaG9OYiCMP3e5e_;BY8dqpYr8=^17RM zBkgKkH!=^&Tkja`VE*kR93f~=sdKsbhO_S?jUk^sHnaTA=B{9LH+Hq7{a_#OyGQzX z+m3kY&tpIKc8#Uo1y)`fKiR4Z_>p{;7&!hsaSE8;MI2&zbh^+2A2VoIJk^HUzw|$E zIwbwknU%Zqu0H>YXTI)SRyu(#OK5HvGp4f3|ARbE+BNt@|3FSldwFm7`_R-wM_9v; zSXdi838pn+FYEnpkDq>fAN7nc%J}XCwv6{gb_0v!KLtMGqg^}5%b(Ky`0dc!-hXq~ zT5#t;?*jDA@uqQux2MG$cS;Oz@;97sqQ10HXPM}k^>$U)H-qCi8eC?a2mWXi zKcaQl;iwKis;QHGmLz{@IDOLjmN_E>m-`Tjjn*F+-FxbxjnF&IJnKZ>D@l*G{R`V+ z(J6qAY?kEoCFG~H##^?@oM&PK)E7MmmySrzH!~m2m{R8v`!16Dv`uGCmIuur`Cr=q zr36a__pJ_NJ7UqzUCYsxFwJq$JZ{$ZU~R4LZvVEGy1b(?H{JiJIRb+_Yo_=&LYuAr1^(V~K7YJ)924)jh`$o@`Tz?ZbQ7Cg-~dKif8Ge4VdRIx=|H8>R2^{q%m6 z_AX`gVFPVT)&UOd0&@sj=2`7Da8|+pEP~|b6iHl`qWCO;kCHHTxI-wev?^RIpr ztUaP9pL8j7^#0Xx#&6B-JhOkFAp>45VFsa!P(dgm^=pc0FZ(L)jki^*;MvU=x7V0oy`;H~Fi{?;^g6cnVx zLH=&??yjub+XQ?RaNW6^I|^Q9w}9*Y_Dg`@41BVM>shMGbmme<*<{M~dyE}u4 z9Sz+LoCUsn$7zTElY=`r0~}A^We?oB>}c}xlV!)$_Ax(bL;I{G^klayDc_H+NCE2s z>|*kI)}#Gal>Bh=x>u(6ci!RMQha4|54s)L5nz7;#^-X5>N%=>!T%!9IfKDj0c1lHImo6?#IaM+*i+#^gLiYuwMX60^3Sn_ubf(y^XCsTAmKZI87`+avfy{C=>7U z+cef;dnVf?J68Kd#LEz5yVeowdB8T}!vya$ocR+b6V?!R5snkwoi%rdEuW9tjUmh+ zG!j-5+6lV}2MDJK1sge|Ayg5Zjf-;@Dg59%+T!Nt-tzv zd^h7uS~?Gf_!$pBoL?Eg=O06Gz0>z7@USo58@?QmjQ3eQR$1Ee&$Q>24K?(zU)smK z_$%J;7JX!Yz8x=vr?J34lsrwj#XkyuKI3!0_J`2Y*{ghL;{&0?z_^dN>dbvU)BdV1 zw+ECRiBax!Sbi^l)|*A6?lv+;FN1fHprvt`Z1o}vZ?Y>|Lmq-(&P@-B=Px1)?C4qg zsp9|n(lP7bNQXK?deA-h;c)})NFG;O8Cd_ZSo7}h`R>9B;;#`eBmOF}<}~k( zFy8H*^|tQCS#@WEy9wMG#7`2-7u;y;;_Dx+Qh(^DWHJ^S>d!04H``7ggXfb3|4Hm1 zp@p!Lu$8b~dHQvL*xeU#?;D) zM{@J26uQ63nol}EFmn*S7k%y|9+iEYY~?Q9W3Tk4>7$*K(!UCodpggAfBK*^hBN z$%}KYV)+x=bFsfNeUjcd*}ixz7&qZ+&!RSDj}+^UVYpq%$ep1$UN}N2*7%=q`_?`G zxhJN5m)g<3^=;ZI^4dG~eVXp^M>h(X&xRK1R4A=^F1YqfvJo09>AG;-vz|EfIpRNn zJ+-*-EB#YFeV@eGTBRv>HjcSt^hfto)OG@ys7&uFx#y!wOCBfbugZk0HZ=Zj+&t_; z(HA4$gDBofjos()Qwe>%5x;cfc z;025+ZFOEjI-fC)ftP*GNovCJ?sClV3cN+V|)oy&tW4GM;aN zEF+A^_bWl(PS$-{m*Ww1yf5QF>dbT4+3+BmIM(?XI9d; zO`&tH4Wwi6w$7A4+O?K=EoWV8`v+%fYiV2WOv(1>d7iO7q&3H-r+QANF;ze2a`u*= z=e<3fI6<6U9$_q>(K<|DUP3neOv4VHu`hm%Z|;5&R)%ZI4fFQ~^ldfqb;R0RVuyl$QJ48pEd21? zmYvspu6U7mmo&fGUydQJvU7bV@fyM=g6xx?^XtCZKJo_$hY80CWjv7CM)_po6@=}C z!-UvVXKa{!O0#c6Cp2f4VIMWF+Ed4XXHN=}6~dqM4c%Sh@V#*PYNDk*f;n#{J`H`zUOrj4J$Ig} z_ESRwn`-pL^1!||&{y(4eZ${)l6z2rF7f>bjg9t1`Ke^reSY+i-mB9dYL8h*0$aV) z_TSOfnk0Wob)7G&bq2rXEZ!WxWU94Edoj%=or!bTah&q%qw<_-JQ*%$o*McQ?iWi2 zhEMi+`S`}}j(>Lh;dL(TV>`LK_2aq&HyzTQWAQB7?oQkq&P=7JJ-ENCd#<_*_tMco zFN}P_)tym2i`@mh`wZOZ7T=VkFS2*Esjv`gPo z(i$rH#LLi0c`e(NaD9y-k07M$x>asQ+Q+oJt~?5yOj zXQYdGUL+Vs?5LhA={eJNA$nRP+YKG=?+|Zdjoj3q`=+dQFT=+JA-Z-vUlrXuE!}^C z?htIqZsIVXl0{GYJri2;S$_a6H_vn*GK@P09LfI|zYNJX=tHsYdlkV;1!MD7+6c?K zlra(QJHxUL)zdq~x|98P)HBaT+;~Bg_By{8>{-p+M_#6_ZPe*Yowd~I$Fn50x2ZJn zZEmKWhk$FnTg#fIwm%)}*L_+2nhlQn_3V4}YZ`6+fp__IwtB994SA1#6;SU8^=i)1 zFWLJ~ougkJtQG%3oja&gYWt-#Tls7QY3JIIZtD4#^hD2sq#s+&`ub?s7UC_`(Yfw; z>a^Q+*FDq0ekQIB>6X^Em9+aJ?S|nk)R$b;uKYQ-E^Dou_C9Dy))W_w%KzY4f7>mBr-5K!wA#iJ%(cKIWMA)v2Ey>?4YB$ z&C>iWZHM(*{FrZu+V$mf=&ZK(Rb_e5lPy!)?S_S4Nl(ptIqC+?|a1UH(HQ&aK^@ZGy?faR~&whA3S5zeJ9OB z!QHy5cBLQ4J6OBy`X=8*V;h#8>q~gguX!(CWdqfZN1&tkSA1;gM`SB_?$rovaua7c z1jX4w@NjVD4(95*{9lS)-E+l%sowvSW!Y_u_W!02|95%GZa=)n55u;~578J&FZ3Km z_i23eOnCT6#xKzGlArNTmDVJ*_yyq)Ce6O;;lD&r?^TFieil9HSGbU2eraQdykCl#-Mt@BDKGMccQSUBj`NXq`BcyxsdDEeFw#WGP&I*ksax5nnANZBXp}q4~({Fp; zj6AT%PwV;WH{mBj`R|F{cf4lz4c;mHE->kp^$(w(4F1y={}%>-P}i6E4nrAjrRleP z!*XKXgQ8xi&Qr%CPpvE3>o{8-g|B>Ma0(e*24Aj?GRA8h{AwP*5o()#$XRQL_DtdD zKw8(d=Sij1=W{;?5{?@ejZq~sz&5;@rae7#c$j<0lEbsKD}MR5sPX&Jp`+*Y;Xr6ibKc}z z2#jmaxL|LP@8xv4be#DuTAz^pVBC#;3dYi$(`$b~pSat|ex0$p-S%k(eL9QA#lap# zb1C2J*L4%+mr!mymX&^)1UtUKU|-0dp&(l9(;JPGSglv z-|OF12(4i3&iG-m&G=Jmfq}gaLLcG`SAA?Jop%E;o2jP zDGGe|70|6P@Yl?mNIw!Kl$F58KTyVMdNf7)YU#DDFFn8C-e)qpWOZ9-JO9A@v`2bw z?s|$oyv04Jjte(;brceS<-@~2h3Z*9;#Jjar{0_3@4Q0qW7y};$X2$1v%e>ejUay| zdCrC&{)s*BUIX1m_kL8sN3qt{4Dc0Jj$fi5_0W~f)n+bzoNe-=IH@pkBLAHbO;ZNCaXH-`B6 zE_Y`)f}?%qtH4!vt*yI;cnx*eP1R%8*%=#TgH6<cU5}|*?!rr zd}OP<(y`Qf6PvjOPdYnV9U7D0S-(+dt~Vkp*4~4c@?6G^*%cA5SnX&$y1$FbSp1xN z<{ee(kJXJ?_T5tVtc~$5o@8P2x2%pN(hiTkT3M)Eb6@Rm;ofuDmK8<37vdJr>T2;U zb6yqLi{qS={UhI`@56X#?wNfbbY|Oe*e_hd5X_IKyRa1&PrR}AC+b6a-l;8)+582_X@;%$6Y5R2 zaIHmJSH{EBUBCl=f@g2oo??C9Pj%G?WO}p!yq+3E>Yd`OOz;zmt&9)x?!v}U9($F@ zWlfY%puKAFI~tFpFYI&q4iz^1*&Up>X)bOv^ys6lFPUsdCVIZr{qCaSh3AQ(Hn?w; zaQD6A{R7z?r!RWH{3Pc@9h?Q}ylxFJ>6X4lvCHl$^t@N?yg)mZ@K_b1dm(hkaPIb$ zeGgJHE(NyT)*TKn5!R{#aK=LWgoQhq9--}A;5vhAux)GKv9FZ=QcwGiS^Zd}DBnZ5 z_?=98hvj#+ts{Qj9w^MO*0>Ye2T1ntqCOn9`3U**(VJ=F30-&3hjhkW0(_Un3%`$* zi@lM2^iH|ihfz=dvFL~2|N0+$w?w{d#+JMHz9i@0+j9BUdJZQ3^J|q2*-`R1P?`vAPXX`kg9Nz2T$meu-737EPxBipk z&*6&Ce*#~34Mrnpony`?c6R|}59Dhd1IO7T)|kX>=Z{gY`;b3m9@m2R40w7@{W5vo zYx^Skh}YhEgt$CZ=Qw3AXzpVpWHZD5vfJP2j@ur5Ew7ztK%7sFA)Z8-LD2J{7UHc0 z_m0;#((e5(b52HH@1Ptf)-xBKhq-$pdiP`<^tTf93`)izFl4qd@Ere;W)whjCzJ$j_*{F3id!+M=BUMvnOI4 zK5u32?)9(0K0Mz4rH+@cVO{6jW5yQvItOV#D0?fPS~{!yF*BII>qmdT<0awp`&!r> zgTtENp}Nvp#?$!dinUhFU>sz-%{vR|r}Sqi-;puz@iWd^%XIfc&tEjRwdYZrN0`SE z|0loD8A*11eRD6(xu5)T%~|vcD(P|yyZ~W?OinAwRd@%y@=+# z-eYlfVWZ+3krUvpla-T(I?--=KlMEjib{R=WUmO3MYi_stTRemCC z#{W@YH~D|1uYZA;xglP#d1syBh4uAnY^iirC8dGijjbU%!PjdC{Wj@xg) z-Dh6AIjlQ-?jDNdr}38zG@rDe|9WR&H#MiF)0zi*htbVx&3W-^&Lfyx`c9PN&&~mJ zrl53~*X*+icmGv$_CER~oykf6(<0 z+No#wjewvpvO)LS=hUWc;Zjd+yE*mO>KQ)yHiYUO;5+hvsSU|r&t2U(svqsAProXD zTtCk4)7j4>+F38&?;W-#bjIC1P&>JtIq5E&blBcW?fft}z>k`Hk@zLovTtzrwM(RP zPG>{+yf&h@x|6E&!s9n^pRR@d(Ok}NX7C(r?x#C)XAtII-w|2KTC$G!+YfOMxqAD- zP_Qc^l_=sbpd(wvXDKYPkgMVcHfOlltMXb>T-7C{?$?A7xBOd3H zwawjg4bmi^-v|%#4SscP zZL4bDrhjhIKlK!OqeqS!d8PPD+)>xs#xG<0(;AuteE#ckFkDBvi=i|iY*?%?s zaCfH8=ae?)bpXBxzx4=l9&(E{hwJxb{JPZGfNP`Lp z*l%0h($d&aSKBS^EWXYN{v37Om}J#i=Ih7e7iX&HHP)%tS?!!DI*Yd&E6zC@MO&x3 zkxn$JI}$D$kf}ebPHn(a_rDEI8W}oOTQ_g<0)I(e>%8W+hRpJW*Nrj)t!Qo5513Dx zWPq9G1q)~}s4>5>dV$X<`7@?W%IZ^tKV^oLh?=I}S$(nv;dZ73LomOZ5!c^Y_-1re zq()4!{uyywcQQz{)i*Cax0ZDyj<~5i86;ZjS{F5B{6&i!GYu_ttf7gYVsE0uS^b%s zEeF*zvUW9`5V{)}@zL&NkkF6GFVXO{)i3gE7cXjo+1ji=)o0bIuWM}a%QN*2ZGNV1 zS>~dIH>}O`Di^o4R`Q$o)s2;PnVQO`<`E4oqep6jd0tcVyyn{Fo;PKNnZ+7_T7JI1 zCWF#4VQZQfEvjy+^&1bPFQuhcGXYHDa&K+pX)Vq_rMFM_j?-t^{-1lknT&NTbe z>oP+$2AB`k^+(ha8f^wPCEDb((TXE05p)lJKNsMfVQYN2{l{}1ck_P?w*dgQQL z{`VF)Eo^FD+T`6aOzL56BW-c0Jfu~c_#vDj z{>_V9nf2XThstVQNZeLm-HPrls$10Dx*Ro|-#ku}E3d8LqjgwznrvNML(BDx8fxd% zw)v`8oAC0ag8r~(gS)t)7GQG!$iR_ho`Ew(vf+ll*0?jsc}|>j2qq~l^nm+sn&D(aE zTdmHNoGA>+KP)WCzwILbx~5vRK=UrZ(-qkF7YE~%COb2 zpfXnV)om<}ih{wN+?(DM4|#UR_fyGNV%M@}|I{IU^?Tw)*B)NrUdrZ*5*=YJZ4- z)y8-m59i}M6KZOj7b7rHcdi=hO-IIga;bdqjZ;OO2hYO0&iE}7CxFE*>cZk0c?s)q6Nhj|SYHTBm<7*r zE$KjY(*h)lqM|Ti8k%GC5x$zUb9`xQ!#Q1MU&(wDZ`h#q3 zk4f1X%S(&h9j2$xFpSm;r01v!MnKyO|fwbg@H{0?Gr159Z*BdsFCNIYd2gs)7h$FZI%AynKNfp zjvATnl^E96E72>w&dN+JX=rPZ%O6@ZolxN`SWh(_LgiW;nYopjMJ<)nZyqsa#w_!v zF)}`mSzhGt$7h{6+=qi*n_)=wP|l?eXKSaU3AV?Lz$q;1jaaEq=GqainWc>oH=7J18d3j zXk8qz-tC)0!u{`QL)573{A#v7wWboydqAXmnqBnPq(&Te;?NjVsEW73R5n3>0V zPCb=PX{u>%l||{^LR)XhUs|ud7AsrbBD_~7M20P<**>bK^hk^QIcc8pikuFzKWhzk z15I@qHtGwV-y|N;J+n4z^x5|`G_orb+}UVDMC;|ex;j+08V}uAYE-JZF|f3*00lEz|XWU4vTh{}k z2F@tvyz1IuH4Qv-`i0cOmY-=5u6d@eG^E<+90j-cuhqFVuq%FDW1U=e{D&slWpfCE z=@L6;ePILdWTkwR7Sk z=vCf`=GGD5pH=Kmt<3D}W?L1+I(9dqwPen$o2JdVe#&*zCYj?(d8rA`BFwpjx4<8A zwLks#Y16>3s+xZDoEvVv`SuxARjSWDWUro}^wR?JSxumEvHXipmq|J`%~i}k(;F$2}A zVaN=Wc&zme1p&Lqoq;yMKm+~)bDV`qNB$y)=S^z%mot=08`{{yvW96$*~2X|=bqLy zUvu~Ld;Id{mD4Zseb_o@olsZbUF$vSoDuW8tEi#w{h<))Z&Ph$ckktA*$o|Lp{*JF zAib8GewNaM<{3wcm<3yltl8aNLq6MIc@KBR%ungel%~KA1xM??SwCb{DC#aVeF~MB zbG3O5O_fVocfeyk8gZ{b;%0w@f1%xj;@9CTsUmthJRnZ$LQf#;TbunT-_iAM58Q*> zx;I5bhOma4Q$QUoaExF$z$D9i5mp^e(z(|HgCw3tj~u;>*viw)XyYt2Hsfel*6|>r zQD-Vzz+`B;H_WKRyXu@Zw>9H}72AitY+bOlmYa38p_xsVf7_IsC*CmS`iVDBzn=2O z=Fqr1KZe~L{syZIZnMr-<+IW!=0p|-?6Kz=Vt3A(j5oPs*lbLr>GS05xU)>Np|}09 zhyOawm?8s5ZOj`9bDV6}ZDR?vAeegBF84FbTg(zq9eb#QS!u3mKrgMA+Q6X)f5U3o z?Gk70H_jZq(LWX$gr}1zyU(J>BNO)A20Zmk<3A6n+OLVl%sdLbvN0jgM+(qE|Uo}Lr5l0jM{y`}UsJ<|N= zO}B2TJ5z1usN6idscw|*IjeC|>|U&)arRsdX7qFpSH(v#Se#e*{=|1LXT}TBdUj?p zgWg$s%iT%iR(p@EU6y^647#@~@+{wVI+0~8&uT~N)K=5l(2}WSR2Lwm zz=+UJApce)MJv>^>Fv&ocs+>c#`wWP;)l6@%)5pj-%IlN-l_S^ z(ZAcH+_dz(mHbmc%=+waKKb3*<{QcX zZ~uzm-Tm#SpC5$(a~U`}D%MC`=6f0+^QZjot=x}0$MaE&{(tkwoq6-kn^S!ATXRI; zyBRwxm~Uy)MRx}}toMYf?lSuAMEKX@4}oyan9DA|V(gXUt{Tq^#-}BHFA~j(<@V?q z&r2lpd-d*<>f5h>!FdA;iv|YtiU*aPf5BjXNa@hBVZ$#hzv$viDn^W~Oph9UsVSdu z?ZipfU4O&mDK}1?cGL8mXWVk@Z8LAbm(O>N!$1@#Sov#@bdQ*+C`t!z-* zQVXbOESD2dFFFFAViyfCEyr^wlFNzrNAZ5+5!>CM>Q*pq{V8a_K_%l_rx)egsM8jx(8pWN99m zt4yXS`KmJGO{OHtr%$}xt4+pF@;028TV*n3$v@M%+zBRAo_qo}a<4U+ie!W?tJ2%IBL+ys-g(7`Rp9{!LPX0&)KHTd#Xfu-4{F{4s;YF0pN_OyX?(BhM zh-N1zAkN%-3_Ej^52*_u$&;GZCa+k&=QM}qX#YP>jK3eo$EpnsOo z*UMXLYTg4od7DV4UWH(MP_as*zh$8Fo-orS`YiCg&zSkqZ)GAkkJre(WHG~)=y{&f zP?d`Qj-=_+U<3gtiFnRG0ZQB>vdMUSIO0wICk4qwJ{E%bBPc^M+1Do%^ZI`iF7pRR z`&NCjbn-`sjaQj>^KrHl&r^ZIBNhJB9PcJpD_bIiI{4G^e zSM~k@>6q6qKXpy?ap5e5d}=}>=;N)zxz=Q2$vagtv9H>VtHKS@m%E8h2@}0BAR1Jd z>M9hZZjScWa2YOc30Jt)R(Ks*rEW9L#gnPNWM=k{Gm81iHMEqv-DFbgP<75|k$N5R zq-uH@OP+iQ;iqa%CdP+%QXlCt6P$sM2&b;6njScVe^Lv2ZP+N34o@$JKO%;|)vzpHPrN|`jVMtTWfs7=UO!Q6R{9GI_ zu|)eb`l+Q>j{Vibvi?$%xL2G>U79-y$iVZ&#brHAx=l34_qZAw1N(~5q#hc;L33I& zUTRto4b;Fz7?IQ+Jv0Ubzax?jL4Pk7yrqYFHt=fET;4-Wd%ZQJGeI<}UE=jynJUYB zoP3fW)bLWnty=SgY+kB7Q0wHq>gdHL6HmS)L4GVxz03EagC&|3xgr?tK{I_Pr=BJq zk8S7Q5;1hX(V^m4zrndbBRg;_HTsqI{k+m^sL`)1?<8rj0YQam+63vk*8ID+TFxuL0l;L)D@;q!ozcKj}z+U5B5Ra*@ zF4y_r_~4>ak- z4-xnH{w47g(n;<@Ui~lV{kKr^lA~06u*t-deCN{Z@0(0Kd73)?hnP%$@@WL#zcjIg zI;ms~D*cBhM67S}VkTVwvR)5RGA8*qA~4Kk#(KSl?So{k<=}&G6xbcVsK+7-3UeVF zDf|kG6fJz6x;cgaf<$74aWHcWe?YoN;W*SX;g`rXp^5|Mz!q`z0@^JoF_t^=@0#@I zJrn-|G?PB%=RKP%`d;!Al$`fmLIu%anR%9^VW^iE{S~DHiu&`0j29gbD+2}=tW~-a z#s?G^Xa+{-qe+Dq^!pLj5|09i6%LM{B9q+7coz=o^KYa<`yIxzaB066$rYyx|1DPv zK5#5_3SUo{^v{LWpA+)GC+|>KdW#`J4O4x*-XftAlke&ER?B+j&E#{u#J`YE z6}}d~pEx-X`&0O4UYsebIbl?&HZJ$}BLM{N!VhE2=kWDYpa_Uy`HoFI-K7k;12uQnav|afub~LN()s z{|e1i;c`&?!tFq+3j5N5l>=_n)QSwa3}t4?+7CA@S-)2lA8@}`uGD}QNU~(LDOWY% zdH(fQdWkp4riz>6{OFXId;?m=_ZBWxS@LCOPjRcs#FE#6R@_!pOF?`{L+ia5!Twrz z6GLhjReQyYO(vOapi9L|OeUX^FMc4m2)YB8z)11xo=OL5S5C@~Fj$|=eMwliz-d=zo`#h-{Dg<$e~j79N-d6JWt z{HZced~QAr47^U@Z}%+M7i%as{zG6Ry2BjiDsnoLo$QYB+drZ}0wz6`po za4e0MBp*`da+C4B=q7k9897Kgk~m2_GfPIrp9CYxPwIFjm!7B2dC3@EC>fJKjC5J@ zev!GXx7@#SL%QU0qgEBkL#lIyDM_1lO2(R!G07(&Q*xy#8JpY){gQE}WPEZ1QY^Wu zmpr1XWQ|J3o6Mx-l}NGV>fRFD{u1J;M}_m10B449{vp7T zS9`%T2B-9Uj6q~}Bv&e)o1<@&lwK;(Jr1;1pqJ6*$VVJ#7GD%8y#onF<~Wc(c2ar? zZA9iekiJz?`UImAsdga!9QIIN==37<97tb4DP2atBQ*}BAI2_~;f~Zgklq_FJ&C9y zbq=&ipjVmCk@*p$`nfs!!g}embUL!YVQmrU5s|NVAboG8^wWqS(%?Y)e1GX)b^C7| zNMBPaeN5yRI*@*(yL5=iH#*QxfsTpQMGmw}pw+6_lyQu>4h-ReMlg*8YmwmDFvu$G`yk&FZF6V?c^x;WBP9#wA6et~+4{E|pd zZHRJn-VmsU*&bQyKnDPsP2+v6e@53%d!=7ft!0rO&A@VV^c|eiABy$mu9iNNQ~EVE z_fZGZ7imgwk=lIBfsP3DU8Y=Qg##TEsHZsixC0#*Xp;K;2?x>_MoWK=g^AqfKqm#d zS+rJ0dT24o&CzcLmTL1Jx!PwJH3Bw7!2gZR=;=@GTKsvE?Qv6r?BwA#_qH++WH zE^6{34@UBWZtJJRO245FJ>)9tOQ)q;vm>8$pb9D)`R(SIyKEFvI(>~-`bUXoO(gFb zfH2C3fJ)b@JD-ZAo`hmE}HsYqb}(of+GZEINIMIMRtdk1~W&DjBH*q^DG zjyxKP|0@UR!ynW*{B0yy4~Lt1^yx_6^GG2z{IeRibwRG*a9@-2u}IJFQC2Ygztq;_ zL0Qr8CMnPQAXhwmj|8?M(o^RQCBq9O(Im z`H?S0;u9#jkPCKRWJ{#4*=P*URd2r>>1PhAhTn@arux0( z{4<|m{lC(BjnY>mId=d<&G}r$u)7$YqR2l);s=0TxS+Mgi#!uF;a$jOL@%;EVjO~4 zAhc(LTzvS;>ily-E`Rtj>FM*4fg+L`{4eL{YtqPg6eUqAEJ8cC+Jn=8?1>OTjS5hv!Mq zFGqT6k`!HXnI^-YNKZAu_xj9C_z`I%;-7n^C&cFu;L~uWFTuxS*OR{Zr&K)NGxEbo zybr&pIQ);odnM9O8Sj!6YVk)wiyb)bsxg=nH*ljgmtKv;Mgz;u(Qkhu7I1pYt(@!- z@AFE}(+Ka4^ciaq^+6Pave2Pad8Pj*l-DDD?lvg;&Q8TmZA`)^6FtfvRlW11A=@@B`q&a z6a~4)%6pY7339cSwWE|BELlV!tEsFVt?bYsJFl|#Qe`g;velKfW0bul$j+@?hTTu} z((H*oR*zH#A9az2{Dz<#6BMY(V+9G7qG6$`@Au&+Lfziiij@H>C`LduJGb-uD zjgDSz+LNqrOr!$(b1N4rR~Y1GSMu!O#zb+D%cPqmpc@nBR3ZAlKGvAtrnbM9cb=w5&SU#O zo^F%?zm``f762@-Y-xu5ujO48h-q$mr4;(_F&VcpH)%Sq$?K8f8>Ooy>`m)H;(HPROVn8Gv16O>lcXPZ{mi6q z6uS?*p0=ci%U(T_mr~W(W5+lDU#*>cbX-?`@6XJcJsMdLOO_vUo=RdTCW$m7zv7S( zu>45$@B`av1Eh@gm>DUSrKvQE zTxe+$xVgM;)`fCYUI`RhF5J&|@3Uu)CZY5XPU6w|o!@@`_V2aN{++$w;e_T70j&UL z?eEWm-Ume2OrvG*v%EX{g01l=>&hE#8JWf|*TErI$FfE{dlls&SW{!f-DUA_Q)4uC zjHLzFMnh>yy~*daT(YUL$#KD0?rt?9@3D8}QWB%XjUAdgB_BSV?JqKJ!;LFeSa^T# ze&I(NFH<8;s9mmuR?V;O2X>tcHjj(bzL-g`V|DsIE3uyi+dZj=mWYgTHy!w5X1(j) zxY+7{W-<<{WJkw?#PgXpCsVV*=01(exlH=hB!{xw0ykgmRlvE-8kcR%sep5ts~mjT z7IPuvUPnDVZ8gG$OeE!zM!1lue=uW5Rl{!`aP=YO}hPHCX%$t zjd!R)AM`biYc&2iV`nZ_DqyutBqQZu%U_B&`&_wC6xr@j>~eaXH9U2Dr%!n}_faL> znTaH(lFPvUz>&10vm`XTG8rc{cV;2zZcnsHwPAOr*%K5N*qwr- zsNi+3Z<`AoWnww_ujt#xtZdM_>gcF_S7#y-uZUx>@lZK?Z;;qf?Mbldah2MhNxy$A z5uCN7@PepC2^~IFCFuQqnTw|z?0AhIX1hoki_>>qO5G#s&C?B+MVfKre|1SWIQWj- zzo^j9Hq`W(Ap62s%E-D&pKY*i63QZrG5a44o$?f5TxsObHLQ`BAPwL9n0ovv*NV^O zIn3R*_b=3nUlXf-s-aVl!iQhJUp)V*2CLe`hrfG&?jlj>(+!cm`w{jI;X+Hg!VbTc zUB4_jQyhHYjOQOUw7UV0jOPa%+9TtcJt~{~-x}K8h+;f99}z#ly&--2PArZsXh8*) zrjF`yrz>czTW-(W8?JL5IxHeT&=3vNxVrvegLT8i*d_Y@V8f-35@k_hzQKBB(B+1g z8MOCNfeCdMC@PO1!B#6Y1&yk__cKzBBd&ut^X`XXW6atvhgw#qMjF;e?b>LKz(_-+ zA`Ux#8foZtc(`BA?3f=V%m0N2yIQNJ!e51k$T=tnTQ`f;zvk*yn87+bO0T6}4a%?i z4#QOsOSA`FN(CW2XH$+vDF zbmWLsa$k4wYFAG=_a<@ZP3cH=Shl*^*NUQ--*Iy~QnQDh2;ZEJqz=W}A*Q%F-Bner z+oaTQPUoTr$Ait^SHpYK>1{On0jQQZ{dpSQtwBvk&6u=CJLmgQ!2?q*(bng6zltn-*F z_uJ+g$8lCGeAh&@pA>z+XT0*v-6g*No{1=o!Mj!@{fMjQ6FWJ}%8tz6QIE#r&wS3Y zoaLlH^EtBF@;q@$Y4FmYa(l1%oWEaeIw|D4lknc3jG;-FRc2#Sw2e zDj78+yA{( zBu`_O*5CKZ%URpqmr{`rb7#&r|D{w_pNF-~UrD9)&SU&Wn8|YT z$7z~0>Q_?UE7OpFE#;X-tn;;$XBEu}zMitLO_C2!2V3p?mw!lQ^fu<3y#IF6(Y2oL zepi~}A5yDacgLI(`iInOdZ|`^D&>BmRtq2G2Z?`5+1EPBhi9@QbHyO>Oe*r1CxfkJ z5%sB*eXaL?YC2?FKR``t{Zqc4O0Z>7>TEG(h2~|Jc+OfDIYmnK>``B*ox*$|RTUA2 z^aCmHjRn1DB?51ArM!Q$w|k9O(=#pGfQkmr&5Z8%#adarKV?_K(XKh2d6#&5s$FYh z3`6b`G50%CtIpuYYm#UEx(8A#RI=tdnUvPpddo^ya@Bu&lOL>mNYpK#vXojLso8Ez zsZuJk!s8q5tF2OMJ^iJ?vD_y_j)_#GgDax@UB0pS(4Uv+54nmywvo5)mSMk6MH@dU z!VRS&FKg1(G?a=2B&umBb+xbQe@Wr*T~gD&SWWEAif(W1}6|T?` zXyL=Bm}CO~c^E0Gv0(E-rCYo(23+~K^wHJCgRT)D zA~FjWrxC|DxJE355w}I=Zy}7_hjR8Fz2jO4t7i8pjrWN#Gg@=o3_#ysZ>Js<}mUqcRF49<}lJ-Z?L-PPEVLhmTjHz z$-*_tDgS$-NF{F#musGxe0aZHoO~FGzz{ta^KZ+j;+c**ou1x#1dOVE95U+ z#hJsFMc(=v+Cvdr!YkYab6SIbL#=xJsT=&Llyi@ZH@1bX%4WhgJK>ein*z43ZDX*t zA`!kebh?m=?z0trTotipl~9qlZQY6MJ^%3j1g9@-QgO+LXM-ER+(2fw*`dXjv@>;shJPZ<@Vfu4d`gFHc({+Z?o1)3w zmqfaYssspb{FeID5vI>p^A)T4Izl_2k*jy(Czg?}HB6VQ>3*}Ct~GQKm89Ezg=lyx zneMtI5h$c6ak}X`+WYYa``EW*<3Bt2YOUR)+&UD0mUwT{I+`5{Km)LeI~1jscwf@` z_c9{yPevNDoI58ed4ICz$^ME&p*v}X{f;$>;4@Yp3)Kd6C%sB?4d_l@6g5C|p={E7 zoVmYM3v$VJWp%n$ORw9WQL9^$X@%BW9d{c0omk)6(G<2`+}fU4k#5sF$kjpE`r4+O znr>|B=f!-ujxfAiNWo0HBN4VXH3^phV_Hbq-?6P}GqY?0g_`J3LzJ3v%IJwoK*Q_L zvRdvNZT=?Z_Z4j;b91d`!uC4A-b~4@i9~;g>RWyV(?q#`xP+IijIV9 zoh!d1N@mm%mu%$?wkfMpiCdb~I9Iz0U%i1c^}b_`y`h%QHPzm_^47-N%R>B`CAD1) zHsgE4;>xPTHEUJyrN&ly*{a|g+Ie}3LhI}9vQ@%D1n1Vu5Jj$B+J$6i5M0G0)f4qf zkJeej(DwCJ5`$IcS4T~@iB;e=Q4Q4x8>uE0DF+J$DWr`hWnwqkt)QyxH;rct2d{aF6 zlBApCn7YPoiR0?3*c!*x8t^-=TQ{h^{T-Xvs`70;0sW8KQ>{D*Zd_V~!$buH*YRE` zX+NGxCjPy(B}i~d>G8kYjd)@tTN)kB4$mCzW^Z9O1usp_Da?MnnBB%3!O_XNv4Y#U zI09ZZ>Bs~-C)omjQK~FEcodeV{lyt)k1x%UWvdW2Lar>$sRz})i|FKRWsHvydU#iA z?}ukf?%uY5Ta>QbDvJ$}hIa7)MOeEd_rx?0(S}r?XWuis4~fm@OMol$c~(@}^d?_% z1wdMd-nbWfl(C#nnP%%@3*atT1EnA9Iy65oGB+_<>7JOn1=2@b(Bz}C$Ql^FX-Uckg#RU#Fv-DZ z&!0Dq7fkZPd4E~(d<2`s`Q&R?nbyZlN6D-%nZ}ao9OQRlVZn4R2y9s}&F9UklDYUf zvueOJ4w|M5#+);ml1Yx6#s!nK8O?xMJ!o1=rg^}$3}#Jw$e1(S?a_ma2TfbiEGsRT zcFIk^(~x=@)eM+$aL}|4s`&I{db(=Rq)TQMiK1W9J7^iLQLa7ikImgc>H*U*IBu5F z6qTmJR@$3o3qyJogU#9@lP;R%i7Z7e7;Ng!Ri@=plNmB$*0d(?U1^ptn%0s@mCW*- zXTFhKw;z?Hbn$`uST}=V@rZc+9WzF&- zUyrc1p7l9%l`VcPh2<7AZ*tFTcPc%#Naoh?!|xa{nKLFGejzA|Xzf8Vl^B3zkQuVu zk%(y9wr44P2_zWTqmF7Go1<+hxMC@oE@e$}NEGW^WtKy_(xax?{YjoQiNy(VNn-p_ z)4-p_M@{Oa*n?V9&*~-x+boj%q%n_~=91dpoHd!u%_g0_U>Z+=`l4l+b0$4_-ds6g z){whs(gm~XQPWs7n+DCYqFHr9_wdaXfCZDhOSN_kz~t2WLt`FS*)ZL;Fw+2hnKS7H zaq1Rv$s&B4Gpl;ks`Q@0oDerg2&J^+O8#WgtQZ$p@hyWTs{R!DNv6*bo109f(rTqi zT*$n|teiB>Fgb%f7~LQqErVvcxHD@yUNUV1<}%oOz^puH)()D^bEe7Gv`!_4_x6}Z zTfRw#O-0F8BKxRqHH{oZa#?Sq=`X)*w&y`CcJtA)h z;tAu;lM3-|S+JRs17<~564(5!e%l631MRZ?U52&*Eb4dVqBx?d*DR~nyv8*^qQ$Un z%#pE#d{FH2Jti!fOTj0@i5>z)G!~{Mya;B1g;5t-)57n7lomIg(miG^{6m7Q*@Ccx zwS$ThVQ9sMDkPh{WtB-Ek?vaioCYaeKs}joXvj36yR6!vq!o+0N6Un$p^g(K>{sUW zfEuKqlpDWP`h;0dOTKTKCFuDOy@~)6m(9!JYgEoo8~>DESgO1 zeM!Hx9ce)aHK7Yp$g~O0B?v}~&X~)xW=)SMX%>Z~j}V$tlIM*Tuhjv|0NJ{jMe(3I&dL`5UK9VsOH=KD1!EWYEP`tq4ZetUxm% zD;HZ~MbRP?&DgLawv$oGnoFS;EVF1%0$T0A(2b{Tx9Nq!M!j%i}tQj&hGpu{?5 z`?bs#sPRS68I9}-dx!jhP|Ki8@_^-oh7)2{=K+wR!75xT%IvkwVXc2dI6J@9m@SML z1566U_%}@YdUY>t6>=nj>aZk`L3m0Xg)7h-P646`Zy7L`h&BV}HA*;dZsCua=O+z^ zHSsr-?yd@DAE9Pw{%%!k@ zziE6K;p$yP7xYGn*9@Ag(2r*{{>t(SJwm;yG|pctwUCnmgjOgA%Ect1A678Zi_e+N zS*x^@;hjAMi&;L&gzM%_!$zm47RhWCR&=ux+M-O(n@i{^%E0;|utTapa}^lqjIu4M zp!6Ajy-pJg(i+pCzc4c@h0M?DH#H=Ub2T^p<~7gBvahrD9VN>>1S3smFg#u~SE|74 zY#E7S*o->E7*8^cXRQf_O(K_Ve9t0Jtmz4}{H)ccrE$4@)Iix9&3TFa8VnsQpz@q7Rb8cJJd>+LqVP$R?4`8b zCb22=K9f9Y8eYO6U@8)&FPg@?Y)^4#(L3mxJ!dhxC(t=m4qKoeA_VUIN!gJmR3Mt3 z-=d5L-F7A$7ND}0QE5s`#i|-^+UE?8Dso&$spOW4gsq_HdDGPq8~)IAPX6(O*cTrp%RQGgAn1 zo8(^8nDu@NlQVPDYB0D$O*n5lF_x%OggNN@SWCOZeQWin$4bb0BH8;)8xx4^NwfT~tWIHmMkV8V+BIP=MZMG3GxVXPw#m0CnoEl2q8`)P zZPrx1l#5+ERt}kVWHtxiRLGh$E5qiV`gU4BRgEk?X_`JjAC*@=bs8&ednJ>CE1R{I z&oknKBeL|(8%1xSbskyhc*9-<)2yFq8@pKSf2n5KSo^;E5O?yFHgF}yC zCvrb9jqgO*m|a0EluKrAanW47XfCl{7~`+0lhttOPJBh~qy9zSdZfA3?ri4ul;nEA zZ)8QdOQo6q=`ZR!04kR0Uo69O6MOOHG+X#!io|@W5(6Cr#7}7KbiVY}>d&pSH{! zyaO~3?Lh0(pk?PF>~pFWdgA)PyRAH027F%TFB9ShSsjYbLEA`~G=>)!VYKA7RnmGX zdJn7PBwI@bbr7$X-?bD&)|2YXz#B>bsJV0j8^kON3XGdp1PKFnTGWUJBbv-F->X>< zkJsYcTCW8<Oy_DMGA2ZeftJw)BYTLN%Cs1}RT zfMkU^6jbg%pZYBIyic2wEFw35iEx=m{kKsap--ICzW8A2_E&S_u zVEfORWccZTAwlv*XgeV^kI|rU8jmN#P-nXQ+*r;v^pXP!ZoU5CW8kZ!GlaS|8ZB={ z(~mMzXgAm*`I$tgv>FY|*cUx$h8A29S0b`}70P7LbS<9H9YV2IMr5TOrq*y3{8B=% zp0zW0^#Nz;Nt}PIK+#+(?a08M*FeE*PKudfYsw4XpD=Cbr1TnlOsoBkX8e|G@F1lY zX_vtp$LE0;(HmjqjA`pOVK3Z)-b$7hWTw%PD1p}SOThrz2@9xkmnD?FL|G0=8K3~+@^qOvLv_!g=z2t5y&2i)$ZX|6 z^29vV8Yo=XrY~tK89p~S^b!m;1lKaQ&IB;6l6w=LvvwhTFmgbdS(BmaUhy^{Jcl~U zp}LwvoFM7C5_F_2R4^=_E@j@VDV=OMt_tN3nXU!d2OJLGFk;c@BZiP)*g%X=))Quh zvoYi%5A41I3uJ{tYJ-=3R=MkqhBsN(q(P(*AxPt2T1LguU_52Lcz@&)TaGy=W13`Y zhN`zOo+ve$LxD1hTS0@XRZ;U*3_panIugx+9^e;K#uJQ|`$f}9OhM2eT&k{uxgLE% z$8cxS7Z|?zU1s_G0V!HKh+in~r|s4n6wURv$eU2g3?+Ja!gT=W0C7BHUG8&cwVlAw zHYp_<>~wL}qR3UGM4TAYfP%LAYV`@p0D=M7KBNTcd4By2MN*gIg`7AU4%R#yFV{lQ z&pouW7YY!B)^bTCK-jnqcqKh%1FxVEb+~iDTm_y+bm@L-p4OyRFSL}y^-SqhuLec95}(g^nt0TN-CAvF zV{wqxaF%McxfjOgzE(bRVByhTe)YbuHS_M|ZzlShn^Hkng!54YFLLj3ZXZ0ky*C_u(KvFTW2f z@%RIE^^ZrPD;|G$9p1;##OhDpMgx5PKJ=!qwe3XeWLTx6$NQL|c>d>O`F)^L9RFVM zT@n3!;8R~~^NDKd$uBgwFsMF_kGNWrCcKQ1Xs)L5Az!h2!rci`vNjezq%4-^uu}NG z_~5n}K6ziPFFwjHj#mLbzYhY8;~xX>`{6?km-geew6eL{1|PWS$7`f+ynG0y$KO+j z_hFmyHjKpD=p#y^bxa5+ql}caa}ZKK6JN^C&CqBa|=N{)iLpL!b{8g`jYWBBli z6bTq7-wyvdYCO$zb#3)u-p13ch|>5mUw6`d>igeFxp*>SIKf;Ok!A=eW9xEIg=J-v;qR=^Nr)KVL z`_zK%LqmIRA3D^pQ*|NGXx^PV6HF9m=JGa`y_+f=vkmg+RnbXH5&h+4MyN4GPJv`Gj}VQiKnrixH>!cy6uWW~uuIt1L-yog|?unUcnxJv9qrG#- zj{VWN@7$wiGt_yGxXSBD(7B2oOjwmeC@rgUHk@y!hJYi%XYb|2Dng++$9Ht*IDC@N zkBXeImqz61@C?VIi;W}JKFATBY@!-tJ=jWnE4X970zT!|w{c}oEw9)rIof9o>P!qz z&IY5S6idKUo^z9qN`z*|3zL%p?Hw&3jKQsi%3kD zy|>!?p?&-I_if)XXq%|0GO-cdbT9pLY&|hn$m{H1aU6nxnCJ8R59~U0=uP?Ex9{C? zsDIzyeBKf6;I23Br>tFvg8YaM-Hf>)(55pZ%q??wB$gBc_sFxr~}l`a}^;Oh%nQ zbYR!^J%Od(OfbxmTpC%15023IO9N=kB;QBbF(HrEo2v9~}o|_t_ z<5PJtw>z^vC^=0f^=hk_o1C61L5h4CWnxdegVTe`-O4knypbf?^G-#?sk|-0>Ve4C z5IHGYBa6RI4-}!Oep`YgLbf%0{)9}!nod%@(v@=J*|;lHEU;($!9%+a1hX*5EoV z#bmoaGQ%nMekkr4Lm(>wlp4jfO_YkmoQW6Yr?Jb^#Ue%~&|$Qk5IkHez`ELPW2R6M z50d3>i7m{fXvv^*Z$3I@{g`;t+8b=JjWcyIpH*Jz-+S=T_Psl#TEu;uHfo&nb6ag; z+u(lAZL>dOO*UuAmxrO3J;d{1aO>XNyLR;6;P%(<>ONYWoF1-p6Z!i(^vIYVl;>V| zcd^V}WpcKA4DEO< z(*{Tde8`ob8d(9mM=!AM2gUw zX?J2Ihh3tIkkyHzO#bK`9@<2uIy@NrIS4P7q~XqkL0gGJ$A*s-s_AAe6V1(zOB3m2 zNrZoPqBv2QbVbj}$FPmryKnn}{lRY8qP#n#lJPDNkM+7gur;h#p2l9;$6I7KH=+sn z!;@KwyxI$!Sj)V3-`>6<95S0tK4gHRq$8?MdS5Ea9SdpY7vpH%hdiIeVS*#QE1Fna znLjGK;JmGB-*6@rnJj0~k})`1z@}G*>8T~ARjo&(^CMBspr&wZq*SdnuMQz?cc*5y?7zfU_cHDcNA45BfKe=65>2ec$}Y?mq|Vd=t2%KpN2bSca_xDl`O)K}(xXv$I&D*f)i|rYwsAKT zsdOtcXpcD@V)^~He@ba(L~RiPWCyGtLxXW&(d9T%GxFEz^w!O!A7cI@=X*QKRf9f_ z$BJ@t4R-l0w*-Z#VubtX@xYzTUY#^Klczxt%My0aoB&CX_glyxo2ZQEIYu4hIKz`@ zXlG?)#p+T`_gMLMUQ%R1~%dk}2=di7>fdv;NRbzzvaO-_uAYL21K zShceBi45n`C!1dJWb-SYY(XY8H_bC8V@RXE-)&ugZyxQ`N26(VHTrzAP>?T&LW}%M zjX%1MXJX%@!=;H)Ne?a>9EE@*(a_KmPPrf!#2lTI?j_II@bO8ClG&XtbC|K%gj5to zxl9JVX{QB|QeZSd!Du9NhF9gu>#*Zy{XY$y1gY=9zU@1A;MxSUt_2LE6zP;zJ*W<* zNT_p-t{%@(d1R)0w+2%XA5pdAths((V}cuiZ)JH+8S+Ofa}qbiOTMx;Ghx7;)8R&U ziMC+eC4~|m*B<9IGG7dezdq(V;B2QnIXWoappI<6{m{NWyLR?(w~(Dk+iq3H<%@{@ z)i~+XNT}VpusTq^+NDh!v4e$C>ueP6DdTcjQrnMYpn!aI{7>tC7G+TaI0^zpzBn}Z zZx)89j>}83DqP}WsgcJ@Y|YQ{isn_XL-zY7J|GMd7GJKy`UoWmPE}#P_TkcbM7lzK z`@*I3h;)VeB8N-o6zK}}nGBadM<~>XFtr6evaUPMbFyI?hE}c`Pi`}5@ zU!9laV7`mv(wRcKLc8)31W$B$m=BA&bgq)FFyKWX*Ckb$@4LCyJ?8OxTg+E-RhVsw zxO5(quF#&6M0r)1Z|u1I8AqW#U5N*rx1=kKPGQ>5-kc8R3udlyeZ$Qa+EbY9Z3O$3 zBKIt`r$NQ>Y;hI4LVHS7?Lk<5yX&5X0Xqc6t}tMGoY)lxmq#P)9;Slt{p>bw{dnuM zw?SY}Pd@Dog!lA^i3;Xfqi__q-D5d`R@;?{xhfm)bjla_W^Q)xK#Oiw)yoY^zHpK91|K=F{ z!x-$-ACBQgze5o}h#tzX^T6EI5=c}$?DL z%WZqK4(cw)PcN>n!D_G8LgVKNN$7-+bv({L5F=VBxh!8qa?^1`Dq> z(m4L<7%aTjNaOhHS=02e@LB`)u;?)sgN4@`XdM3l+X;C1UEFE|0BJgnuhMJH)8kd% zht}6%;kD)&$3LWFa_r^gMQffOR{rPN+`+@juQg8(3;zf^N_bd!t#^7@_)amIy-4bjU2K)%;rDT?Ju74x5)r>^-P7Zh{u7&OuRsMU}mB+)XUu%vY7XCAA4dh|rwchAq;jiCWgN4^RV;uj`Z8cbU ztue;&&8!J}Sa_`=dRXN@5rb{{FnjU_!Syw(yutoA)U zS%ZbYZK?(f-!)x>h1WWwyBxhLY$NJn;kAb7VdcMbwg&$tw{{0l?XwZ-Gp#Ac(?4IS z!75K{igEm*x7T3dwVoKqe{;SD3$L}rIKJy-4HjPOh;jVmG5BviiUi(&_(%+|{$;B6 z%*k6@46gSll-~Q3Y<3ZRp7K5HPTzDb(XZ>t>nS z$lpxhZ>oRZA66ui>VIK5ne5eU@!yQWSCZea0k1%R-T$5 zJEQryE0xEmS;46ozR^vAY>_H&4}9+Z-7e^NF?hdjt^Ah*d;hy8p1!{e?BiurpU#-^aYlmwye|I~8Q+j_57pkk z=hnw|DE(*a(tj1W*1y%kHw5GF+(+A#{v}{-@%;d>`0HoD+DqQkdzo&cOZ~YR*vEV+ z|5bJPZFTTK9X!bR`T4<$WNYvi@M@ouiT{pr6YrmnjC&}Ce+RG*Eb#nyQW>L5?fdOI z_>X{3$MS!y4*z$+KDI{vc^dffSo&vyeaw^a-vTZ(ey;x2!M_6Qd<*{A_WwWKM3>sr z%9LA2PdGgM2kc|wRNfVuk~1D&K6~60-Ik#I+kt(|meLQ^;ol1E~V{!)M5)x`KoNksZYo7wr86{TMf>|>Dx zZ>r0`3)shP3jY%va~%~Cyus0b5WJW7Hu!l|jze^*{yXZ*y9?OISgO2x>+m{(;zEpG zi*g~E{8xc}yp8bR1lF+}o?m_vOW#HN4$>8Wsl7Ui(qDov1@`mRb~c#O zzMK9M{x2~FpT7nU zm@j$w?*vDe+V@-?{4HP~Tc+}V2>g7kJe}#`FXh+Cb~;hS^UoS!ALFY0I=;cjND96l z*vEbfz6IFFY63e;`{$GV4dLL;ZFkl zOZ7butkY^d{zYIPYo_x44cNyx3T}6=;A|1fe<$+fFTtOJG&;w^m$#uV{cC~W6RYq4 zB8PE(yR$C+uhzkL0sDAJwdalSuYVsUcoXf_`vzD4>R_=>KiseU(Jt3YzW^MsUnf!e zOZ_|+>}|7u_#qbFF0@A>#c!F|A=j+HkA>@W3q6!;@Ce7O#W=WPsGxH3)si;3jeRb zKIT?%SjV5M>fmeYU>(ftFSS>PGx)e^m3KR^&H<8tDSzQDb?M7>@B_d)8Oig{dx3qt zxXN1u{$>pS1n^g5@F#$E$dIq^uYvug_I)0>i}c&M7r$r+Q_pYG&;JbUV{=vCcY$@t zlyA?EfPKuh@D122ABQejaqd0_U+`LB9V6!DYd!D-vGQ&J_LthXAK1s(EB{Cxezp$Q zfz19={@+!tjxNaq5>*=9J2usc=4hvDl*(#hF5h7_S21g{*e58n0No z{Ma<>p3@_&7LE~q$s*qzv5-VEP8KSKv7X-C4coL3`YNed)|+Bga%P4oOcsS_jt9jV z0$~+K!b)?V1@6t!AhTViJ?8@)jyOYpDt)#^&WM#D$y&J>0XpQ`>L;L!+59Rmm-c6`Y z{?PWmptJOZ? zv}W{ZIi6J~IOX#r#NS%-C{QyN463!^cA4q zHB}eZYeUS4Iv6b2XB9VB=5YVUO_$>)5LJ2b7+ zsEUPWd+Nnv&Xxo*Lnzj``5j);hb3WGP?G4iCE;E?DiAXeuR0dpO^6f`A919MxMWql zK36r~AfDPqa>Sn$?E-%MiP&^$n`oN&svtmklPeQjp;)i7d#s$8Xc(9^0Tkx zWpxDe70M2Llx>352JQLY4KV}DVsZ@@2{3{ zRIHu!0Fe!dF<eqc`zhG^`bprCkRjPrOhdpX!WTtSpPiTWtBaEFNc?6X6^Wp!@Urr{} ztEWJ(i4_-k2!P%2tCw)PuHv6wohqH;$I2kOxc8Ul&$@J$j!&mJ!c(MMXEE-_r`rkm z!=L?ZTIDIe@MEO=5P*NZr*!(KcrspT*m@Orc$kNWNu<}@WU*=VZuwXE$5N9`r+CCq z@*Y8Jk^WLzU2o+dTQ}Hx6{k4B{QpBd^Yto={vF}pPos2-U;Gj2x_B0^7cjV&e|lx1 zJc?`V4bTIDV_ekmw!H;-m5-ANaJLTLwtFU#L{U!ZRI;%yLoIcpY9Bh z%2R*!-u@D$yTm53KR(?b0+Fsf&tJt8u6xXt=U<=rbbsp7+48h*em&_tP6hh=^V}=C zQ(e^hc-x0-I3C$_O8fWxQ`D!@X`OxL&q?=>;6-Dl)B1ZS>Ao2~5 zkI?In@D5B5qDyt^-`Du((`mhEKOO5NxxairzQF^PtMc?-Z~UXIVeIj#YBYb5M=DRe zq)X|pa<}$ZIQ{zp|0t_$AM*2V(q%osU!~DyxbgRb&ylW6H__#BE9=sIiFEI{&ZnxC z(N&l3O6X#y`nqtl22AM6km%DL9p-OI5_v?YJco9PmhR H{`UU^+EZ|e literal 0 HcmV?d00001 diff --git a/NextCloud/syncNC2LaCie b/shells/syncNC2LaCie similarity index 74% rename from NextCloud/syncNC2LaCie rename to shells/syncNC2LaCie index 72aa95cb..f4f7742f 100755 --- a/NextCloud/syncNC2LaCie +++ b/shells/syncNC2LaCie @@ -2,7 +2,7 @@ comienzo=$(date "+%Y_%m_%d-%H_%M_%S") SINCRONIZANDO=/tmp/sincronizando LOG=/tmp/resultadosync.log -ORIGEN=/mnt/cluster +ORIGEN=/mnt/Externo DESTINO=/mnt/LaCie/BeeLink DESTINOext=/mnt/Externo/Cluster @@ -13,11 +13,11 @@ if [ ! -f "$SINCRONIZANDO" ] then touch $SINCRONIZANDO echo "Empieza sincronización..." >> $LOG - for i in fireflyiii nextcloud nginx reevolution wordpress + for i in fireflyiii nextcloud nginx mattermost hammond gogs navidrome mediawiki mealie kanboard wordpress registry vaultwarden do echo "Guardando '$i'..." >> $LOG -# sudo rsync -avh $ORIGEN/$i $DESTINO --delete >> $LOG - sudo rsync -avh $ORIGEN/$i $DESTINOext --delete >> $LOG + sudo rsync -avh $ORIGEN/$i $DESTINO --delete >> $LOG + #sudo rsync -avh $ORIGEN/$i $DESTINOext --delete >> $LOG done final=$(date "+%Y_%m_%d-%H_%M_%S") echo "$final - Fin de sincronizacion con LaCie" >> $LOG