From 320c7cfdc0d9daf4483afdead47975858d6f43f2 Mon Sep 17 00:00:00 2001 From: fumingwei Date: Thu, 13 May 2021 19:03:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9stage1=20ansible=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=8E=B7=E5=8F=96yum=20=E6=BA=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- make/Makefile.9000NPBP01R01 | 1 + .../install_config/group_vars/rpm_version.yml | 2 +- .../group_vars/tsg_9140_docker.yml | 5 ++++- tsg-9140-scripts/roles/certstore/tasks/main.yml | 1 + tsg-9140-scripts/roles/firewall/tasks/main.yml | 7 +------ tsg-9140-scripts/roles/framework/tasks/main.yml | 7 ++----- tsg-9140-scripts/roles/kni/tasks/main.yml | 2 +- tsg-9140-scripts/roles/mrzcpd/tasks/main.yml | 1 + tsg-9140-scripts/roles/sapp/tasks/main.yml | 1 + tsg-9140-scripts/roles/tfe/tasks/main.yml | 2 +- .../files/vconfig-1.9-16.el7.x86_64.rpm | Bin 26300 -> 0 bytes .../roles/tsg-9140-env/tasks/main.yml | 12 ------------ .../roles/tsg-diagnose/tasks/main.yml | 1 + tsg-9140-scripts/roles/tsg_app/tasks/main.yml | 9 +-------- .../roles/tsg_master/tasks/main.yml | 7 +------ tsg-9140-scripts/tsg_9140_deploy.yml | 2 +- 16 files changed, 18 insertions(+), 42 deletions(-) delete mode 100755 tsg-9140-scripts/roles/tsg-9140-env/files/vconfig-1.9-16.el7.x86_64.rpm delete mode 100644 tsg-9140-scripts/roles/tsg-9140-env/tasks/main.yml diff --git a/make/Makefile.9000NPBP01R01 b/make/Makefile.9000NPBP01R01 index 1d720389..8c7791c3 100644 --- a/make/Makefile.9000NPBP01R01 +++ b/make/Makefile.9000NPBP01R01 @@ -45,6 +45,7 @@ sysroot-verfile: sysroot-base sed -i -e "s/^PRETTY_NAME=.*/PRETTY_NAME=\"TSG-OS v$(OS_RELEASE_VER) ($(PROFILE_ID_IN_SHORT))\"/" $(TARGET_SYSROOT_DIR)/usr/lib/os-release sysroot-ansible: sysroot-verfile sysroot-base + cp $(CONFDIR) $(TARGET_SYSROOT_DIR)/tmp/ $(TOOLSDIR)/ansible-stage-one $(PROFILE_ID) $(PROJECTDIR) $(TARGET_SYSROOT_DIR) sysroot-cleanup: diff --git a/tsg-9140-scripts/install_config/group_vars/rpm_version.yml b/tsg-9140-scripts/install_config/group_vars/rpm_version.yml index ad99c92a..6e4014a1 100644 --- a/tsg-9140-scripts/install_config/group_vars/rpm_version.yml +++ b/tsg-9140-scripts/install_config/group_vars/rpm_version.yml @@ -44,7 +44,7 @@ framework_rpm_version: libaws-cpp-sdk-s3: libaws-cpp-sdk-s3-2.0.0.f3c33ea libhos-client-cpp: libhos-client-cpp-1.0.24.20e6f94 -kni_rpm_version: kni-21.03.01.916999f +kni_rpm_version: kni-21.03.03.3cd5031 mrzcpd_rpm_version: mrzcpd-4.3.30.4627eb7 diff --git a/tsg-9140-scripts/install_config/group_vars/tsg_9140_docker.yml b/tsg-9140-scripts/install_config/group_vars/tsg_9140_docker.yml index 67647afb..a5df984a 100644 --- a/tsg-9140-scripts/install_config/group_vars/tsg_9140_docker.yml +++ b/tsg-9140-scripts/install_config/group_vars/tsg_9140_docker.yml @@ -48,4 +48,7 @@ kni: tfe_nodes: tfe0_enabled: 1 tfe1_enabled: 0 - tfe2_enabled: 0 \ No newline at end of file + tfe2_enabled: 0 + +######rpm repo config path############## +rpm_repo_config_path: "/tmp/yum.conf" \ No newline at end of file diff --git a/tsg-9140-scripts/roles/certstore/tasks/main.yml b/tsg-9140-scripts/roles/certstore/tasks/main.yml index 15bd8992..1fd990f1 100644 --- a/tsg-9140-scripts/roles/certstore/tasks/main.yml +++ b/tsg-9140-scripts/roles/certstore/tasks/main.yml @@ -6,6 +6,7 @@ yum: name: - "{{ certstore_rpm_version }}" + conf_file: "{{ rpm_repo_config_path }}" state: present - name: template certstore configure file diff --git a/tsg-9140-scripts/roles/firewall/tasks/main.yml b/tsg-9140-scripts/roles/firewall/tasks/main.yml index 72218939..9f761072 100644 --- a/tsg-9140-scripts/roles/firewall/tasks/main.yml +++ b/tsg-9140-scripts/roles/firewall/tasks/main.yml @@ -1,14 +1,9 @@ --- -- name: "copy firewall rpms to destination server" - copy: - src: "{{ role_path }}/files/" - dest: /tmp/ansible_deploy/ - - name: "install firewall packages" yum: name: "{{ item.value }}" + conf_file: "{{ rpm_repo_config_path }}" state: present - skip_broken: yes with_dict: "{{ firewall_rpm_version }}" - name: "Template the tsgconf/main.conf" diff --git a/tsg-9140-scripts/roles/framework/tasks/main.yml b/tsg-9140-scripts/roles/framework/tasks/main.yml index cb8cb2e6..62331fe8 100644 --- a/tsg-9140-scripts/roles/framework/tasks/main.yml +++ b/tsg-9140-scripts/roles/framework/tasks/main.yml @@ -7,7 +7,7 @@ yum: name: "{{ item.value }}" state: present - skip_broken: yes + conf_file: "{{ rpm_repo_config_path }}" with_dict: "{{ framework_rpm_version }}" - name: "mkdir /etc/ld.so.conf.d/" @@ -18,7 +18,4 @@ - name: "copy framework.conf to destination server" copy: src: "{{ role_path }}/files/framework.conf" - dest: /etc/ld.so.conf.d/ - -- name: "update ld" - command: ldconfig + dest: /etc/ld.so.conf.d/ \ No newline at end of file diff --git a/tsg-9140-scripts/roles/kni/tasks/main.yml b/tsg-9140-scripts/roles/kni/tasks/main.yml index 45b9f965..c5ed4dc9 100644 --- a/tsg-9140-scripts/roles/kni/tasks/main.yml +++ b/tsg-9140-scripts/roles/kni/tasks/main.yml @@ -3,8 +3,8 @@ yum: name: - "{{ kni_rpm_version }}" + conf_file: "{{ rpm_repo_config_path }}" state: present -# skip_broken: yes - name: Template the kni.conf template: diff --git a/tsg-9140-scripts/roles/mrzcpd/tasks/main.yml b/tsg-9140-scripts/roles/mrzcpd/tasks/main.yml index e1b352ce..9f671f98 100644 --- a/tsg-9140-scripts/roles/mrzcpd/tasks/main.yml +++ b/tsg-9140-scripts/roles/mrzcpd/tasks/main.yml @@ -2,6 +2,7 @@ - name: "install mrzcpd" yum: name: "{{ mrzcpd_rpm_version }}" + conf_file: "{{ rpm_repo_config_path }}" state: present - name: "update sysconfig/mrzcpd" diff --git a/tsg-9140-scripts/roles/sapp/tasks/main.yml b/tsg-9140-scripts/roles/sapp/tasks/main.yml index bfdc4146..20fd0961 100644 --- a/tsg-9140-scripts/roles/sapp/tasks/main.yml +++ b/tsg-9140-scripts/roles/sapp/tasks/main.yml @@ -13,6 +13,7 @@ - name: "install sapp and tcpdump_mesa rpms from localhost" yum: name: "{{ item.value }}" + conf_file: "{{ rpm_repo_config_path }}" state: present with_dict: "{{ sapp_rpm_version }}" diff --git a/tsg-9140-scripts/roles/tfe/tasks/main.yml b/tsg-9140-scripts/roles/tfe/tasks/main.yml index 6804353a..16f15dc1 100644 --- a/tsg-9140-scripts/roles/tfe/tasks/main.yml +++ b/tsg-9140-scripts/roles/tfe/tasks/main.yml @@ -13,8 +13,8 @@ - name: "install tfe rpms from localhost" yum: name: - #- /tmp/ansible_deploy/tfe-kmod-v1.0.5.20200408-1dkms.noarch.rpm - "{{ tfe_rpm_version }}" + conf_file: "{{ rpm_repo_config_path }}" state: present - name: "tfe:copy cert file to device" diff --git a/tsg-9140-scripts/roles/tsg-9140-env/files/vconfig-1.9-16.el7.x86_64.rpm b/tsg-9140-scripts/roles/tsg-9140-env/files/vconfig-1.9-16.el7.x86_64.rpm deleted file mode 100755 index 19310d6e69eed0c18d5498241efbe0033ea83484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26300 zcmb??2V7K3((jNZBa-6)f*?5u$vNkohY4gDhaoFjqJT&c5D*kZa*_;^qkssKQ9(cf z34#&?ly^qCckk}L_w9Y}?eIHO{Xbn@U0q#W-Cd*GWjhNvAmD@L2le(sxH|I-3rO<| zO9;R{Br&i5uRd5Hynp3Ss#wRmct-#N;YI;vdEmj6(Ez0YIwtvzfo~8t9e_!J0{-tZ z2xyD54q#jWs{#~*HvtN?$JYGKgR}J;<2nKqkcYDiP=Fs72~ey!Y-$`lkjc4~n44hb zV{ty%8rG$iGV*hmx^KkaHYJ5vV9YW69Y0_Ajcvs5p?ak;TN5lO;B-F%~t(r7Yg^{QR1*@)EiIH>FI)n5lY!x zLpw7NjZl>lcZPJkuUj(&1(fF$lt;OiIeDu*K`|OxMprw(T`P^AAj)+egNF0eCan6& zf01^iS9{4}-d^AQWajm-RY}(5%Y7Q1HrK7i!iN1Jrzk(60tJ$sfP412?s?b2^}JMp zs#@1#&uF~G#f6|!Fa#VbA_;>?LZ!r=q?{0v2na+!pR8^g9?dDLjfNGJ`mIY zogdj}Hd93DL`O^KAP7jKb8uDrSy5N)Ykq{`&iD@;U63C=Sj zDf?_LGjR4Z{YZ!E?X;Fu<~MgxLdKK#90}ZnrY%e8ND{%_ zbRhwelGLAcXMsm;OG%q@r^#DvI?q5e5=vcHZsM41I%V;GUp!n}QqFigS)-SmE(4Lt+Dh04^p-p9GcEJ`-c7fx0r ztO~{TCj7p(9n=qIa{H(JYfeN3=48A@3b%u@^(;gw1UUrC+kgBZ(x-c^=_M>MZmo57 zf=jhIy6OD^g7MZ-$;QUAN*3EQ5NHL6VZUSC`T6-hpbW$$5a=&)P#OfHwFO=&01pty zXmtUK;ei3qCE&q){)l@(90Xxs;0=IcFwq6Z#6b)uyTF(@NC-UC7kK*u%U$3dfC6z5 z)O3L{aT3$M?E>!s6jQ%+f%gH5sb9UoUoS9*V)Q%wjj{gF@8|+!bimXf0~9D@VeEmy zXBYKC7x>2ow!6STFED1!0sOcaU4RG61E7GNa51_7TNPI91;+G)!5J4AV;2m6;RPlJ zC}2;l&I?TP8{=qPV9Y)P@Z%U>VDgLlKl;PW3D6!V`J$c*pnwiIwE)HFhp{uJ{rE*a zEkH5+n0Wwff{Ph9Q2%QjfUdaozw2?i0gAy4zcC(W&%|KNdq6%O7eF!cr2q=F$HUm` z8c+oM1|uJDg5{%mJ$*X5WWdE*HzL7|2`x6q9ABjZ!fSf z+SS7q9SAaYfrBragOMn2XB5QqPfoZG7~%y3Ltt*cK4_nR5{85TjBqp@f-7H zMtggEfB_1FBT;ZD1PzCQUA@2vh@UqK?2Q1kyCT6Ju3ql!fN)PwK&k);WO5ew*vZ$` z1Lo(+FCs30bO{gh?dbsml=ck(1xQIaNMMW)0?CH`4ta8FfazmFAgv)_9!Y>XydA!+v>jgf z$KNmJKfi#n=3^d(z+DyKsZ(+9kJBq=G1fJsO?A)q2KCx|dy)CnpD6>@?* ziAYFEAcVzX2$++Qkcco;7%nCSg$YSINl3z+oDibIq9T%FP+*NAL?nbHr6JNnlA=xk zzof7v0ty!smyi?^6%iH^mlTCdO2Wh;A|k*EK~zXYObjR@L?Cde6hss%Ehz$mAVd(t zFcE~1w2*`tTnH*H1Q8Yz6BiMIic5=2!=TbIn1qm%w6M64grtNNR8&G70x0F=BnlG| zk`jSSf`mk+B!neklHyVjabYL~A}s-thCrYQQ7I{in3R*KlNeBNf(c7Yio#%UC{z>< zfk4Eh5m1D*C_-9D90aH#0Rapki~#r{fId#*QqodlBH{poIYC9BqT<35Vj_V4(oiR$ z2O%*)ij%aoG!*6pgNulP5JFB+A%v5VFrcldlc=~P9MBvJ5fKuWg2Lf2h=h;?LP8XZ z5SNmI35g-Zgdx(>5D{QlB2rG$FgWDTsrqXHvp@XPgYx!9gZ{t2{{6lp;Ddq+ppc%J z&Vjx6|M>Z1rC(5Pz%ltH#CU*KivRQgL5%2+2UCYBd$>A51$?{(B)ECFCB&Ru(L8{6 z|M5ygS4&yNK}0}AK>UBG6%`QsA8P+m2aE&|&8_0?2}A=QA2>|i)dQ{%L<}Du&_x~Q zjjF3N9EdD`zB7abdU!*AG5csj{NRQtIKnjms78ChxHa_695j_oH2;-b%f~VZV*n6H zR6s~Tj9(ZeCLkdo^owG?LE-`;zksl?0DyqFv$xr4l4huAoIB8I^ix^Uh=oJZkodEr z!DTN+J%e|h+8%0(T16tA8p|L>jh5a{^MI}p6r{dUZry^gQqC&<^Mftby73D`-JLP5Iit>VUigHnY zigE@migI)|in51Pzn_YfPFd;$#f!jZ4EKNop$dpy&aPf?ILg(_87zx}d+@`(oE1G> z0h|4Mq?8BqgMVLu{|JQtUsA+DhHx|rZ0PC(L4jqFNDNg(!C@{CG$vI3*_+sZr8m+4 ziWHImiWK4hiWH&$h7{@lh7hU$h7d`Ru{W@9gN-5XzCM62qA>JNe+c@+9VGr%U;nnt z|Ir+9Iu}F)~``M(g12|j;&aKe9EuoS24g$-%1K)1{B1D2;6!bUyli(KtnfiKr zdV@{8UA|3@bAzr%zU`;T(aqW_uYKdX!u2B|_k z;9zCAzXv=JEDHmGqSG%R-~~s^|A$(BurVBSUqFKqz@-9niuVDI@&6V}1pQszT?Kz{ zqz)p&4k98BdJrEUhu@81p#MiP{~|-(H2@3&`@o^TDBv0e_J^RnFrmdM5Ocvn0%sc( znA^$M8O$Lp1e{qVC3uMV!Ft|)a4;HheRu%S4h?YvY=QO$3;Oz?1bv)by?(L4;DDr{ z-+VquI24Qkg#EuME%g6CaAE2Hf()tuf(*(3f(-Hhf{g!yGYJd-s~!;GP6Pv+m>O#t z$_WCFAc#i!!hdjB)V0bg?ULU;p?pyZ48M*Ug{uwN`1Dk@+x0a2hv*A)u) z0`@r++|L#6|LgAVi-ZBU+h6YE33wk2tYU5ghN65Cz#>9~Lg41O^Kefc7P zIj;{U697R$U0eb82N;oXlt&=Y+R4`w35GaBFnI!CLBqU#0TKKj-k416o5~9-5QWy<>X$u^|f1S%QQva9(%%+3s7A*Ep zqJiB2v)tW*HoGRoHr?dl1~yz>DAO8R;LDtZG(0(ylYkv@Dt&=8Xl78eHO znRr5g9qJ#`@Oumx#YBb0q$Dwl{ni8hPo>|}ju{59d11JPBqf1q{U;vaW`$w+J%4`= zLiCp>L0}Lh8kj#HGzt!Ei%1C69pVfJyaMo40HJ}i8D`2Z3mVS$K&(f3`~GrZq%#ui zNr))n%PX~JAGf8`M|*Y5x0gUKrZIbckl z@YipTKpqg2EBx~V0FUy6V7VC4T(egeQa|B@rX{3;4k(NxmcP}4Qg02!+( zsp_eL{*mFrlpN5&JzN0k@kb_6KuW+l2=wR1BzRGDfuP`mK*;zv{FgQPPj$eJK@fPP z1VQ`;B4B=JFh9~22?z6AV7!{&0?Eg(>Y#35Y^tSh09iU9^6>*ci3t(>{J(OLay~vtekWf90uIywo+T#+bOU4{y-_fJU{Uh> z0GIvr_W#K;m# zpZ{rE{{1)oKe&y7IRzdZ;K2eO5b$8u9%jw``fcm{{0s?{DSk)>Sy}_Rv*lBg0&EZ) z7A5eKqbY`OX@yqp+zv!X`WDwo~pttfrgpQl5$s038MQ!hch>)I2*n-#Yf+lu5VopRz#}v!9H{( z50$KYgRDyB?1f_ub#~*j%xd{fzTyq{YJC{-qZmz4uU3Is_Dio&C@y6EBmt#aO2-?H%D_dIEVe?2zL+#ist(7gfY^TVV9ZAsQ zxcJCf=R@>T!yMtLyw?YTqVJ4ZNv6i#$VIkFDQZ>0ElZ;>?(-Eqbqu7Ji@``K`2e<8 z?uA5;B*s+tvV&P|NYgnH*Kdc8Jmu=mb6f!NK@#YtrE}@j0#IY|#P~;^lKDBLV86tw zs;PlGajK4E%a#Y(4P|IlN{eh%SiT`KoWqjSwCCt*DTL$tslx z2^<7Wim8u6E^pB1k~BT>P+N_}w_V=vFA8O18#(J@XN`Mxiyfk<_V_L1wSe-fDSAJ; zF(h=FG4dpFn?_l(EyvsG#sGHHN`<~whS<+EpBdihC)(@$&7TQGXcDVFT-PFJAktu? zd92BayNxCL_4A}S<3lSiu}=2Mdf<*UeU^sTWg^ewrH_AvDw3!Pc~7t`IjtR@zufo2 zi(`WY3;9$L3x>MRAH~`r_$A=yta%}x@ikJ2a`nrK2Qv2#8%v4ehgl0)(LpqeVVtF~ z7=PKzE|$k9J;Kvc#oyn@sY)F3zRn>aWF9JHuMHZ;NxIz+X&E^%`aFC}t_=6~qREGH zydY2YPHNa=GRkaC>i6BQiSuT0(^4c9Na4Y1EthVj&5kD)p>3m(+NIU2dv^%0tl1{k zuR|{cs+DL^;3Yca$8Y>#ZBu&^wVbCU-k8+?w3kok;O6$4N>V-k6`MMS*NY(>3`Gv# zPPvj(pX|#l8KcQHXzflSdD@+jFA=6w3SI==Ic%y8ahpoGyaJJ3NRHjW`k+TVg{wD3 zf@bGpc1TU+%{d~J-kopkhL$hEJU68rnMy0SmxWAUP;!>3HPZBzJMMc}zR$g^OJ$3G zhkbReSPG0sMTK$UC zj=&#yrL+5{6?SPWXQS~ZM!vaLgai{epO;@s=N(wTuXky9#X%6J_7Nx7^SVrhuziU< z?R_M<#{`)V^`<`OFxma4B6atCTE(BtLwa+Gjr)6=dr4#qX$g~@j)=URWrfpe@+ITg z=B5_{A2@?+>Ms+hrCoPh2L~NHs)!JW(a0;8O9T%-sj@z|bFgy2ci#CzrD;f8wCv|# zcEGM<_+U3AMMH6u)mcNL330R0;RYo+jfK2Le<_*dD@PODO6niIkFK)4wI^zA*nN^} z4>6)8rY~KZ)wmHy-h1Q?7n;qFtY#KA)^&8qpETs-Yg`Z5h?(AbFGyUS>t7H6Ypyc% zvFjAOAJ*>R&UN_Q+U(0_f(BG;#C4;0X?D^!n)?}4H?U-Go>NdI9>jEi3wdGNBj_=Fyp26YM33qwx17Bb% zjD9Zucqd$(Eb<;G7y@rT-g?V+zbUZ?qAj^7%CUTAv0(a~w5d6~pvnGp-^Me8}G1u3C9c5SA0xwy*qB>G$P(ZDF$vTsdpT$XNcE>?qK!)!QB6 z&Y8EE7ufXmUvnJxIa;D(1}FEvs8STSksGsJ4w+`E4ULj&c{$s3sr$26{K$={k_evr z50Lwba$=n>Pf;)@_MdyjjuTl9R(ztx{k#iyj6t9oo06CH5|j5pOM8lTm1?7odmlyOtx==Gg-z*UuI~}N# zC$UrF$@{2Uq!Be*3Pf`yKJQkEY0Fa#gj^rIsvv(Ygi1*6l2A-@%n82pTl@XET9|Mb zNeYop>2&-1 zHCwaL#|b4r1MvkHJ!`$OMGF=04C>#m4buY0s&jtyXD&7DK-8IyW?Xvv;*_E;FzT)? zYxJma0z3P)j89dHq+Q2+I?>0Mt_(dn>{_YHp{#u~;1E6QRwqip?7Qa59(`-{(v7kP zV(nR$cl^mm+gHd3#xq`#VY&BgJ{;GxXx?^IiRrm_XbF1d);;*Gyd$pq!NJG_2TTqarq!y8~Kb;T%SaT{h`!z7%8n?#6;zJTABj)v)HdOrtiq0nG|2cgp2xCja@OM)N^o^A;vL#pA%eoZmdyJhZ<2a4I6%IV}d z5EXsU=KiF&&AlIPa+R7y;LssdP&L(Zed@E2p|ssGj~r_!lk}0sBsYFRv3luLz`AOIkYrr()*SZ>7alH-iF6V#eAlJ_osy`sNO_y`H`@=`wTeUG(W= zFRmY}*`5a1^Oo)}*v>naPAy!oAO{h1+&VryLxEp}yk!ksl6dfAo-ZTvT|5L9IPBVa z9p{aMe@u6((T)Y@owlMub0XD_J2|X(ZwRSRxr|ERcilz0X@0u}_r>10YMJsmdwJ-FASfOIV!Z8QfQ2<2T>NhQfmh39v*z}z$o&mg zLu`4M6Nb7PvBW#q#v4wm@Qtw}WzNcuZ;3p&Rg(&9e2V)N-VPNB%gSGQ9%#9TTSLaW znzYUQ^6{B^@u~bPk!85xhw~yf*~zZRBy+@00t0p{qw(yIEc(sL9LlR(B5n62;B0ft z$3nzNj+;Dn0jY))jdUYx$E9*8KFw#TH3fo{*{vSJ3ZL)I^4QeNR8x6fY0?SFX*E{r zly(v$yAkOZERcN2vDGlD8#4#{dHmSXpvISfrwmKKd?p*DELz-5x-Z{G)iYvyOSId~ z=poMg(Uwce{LVY1X+L@$V)1xqj7YrH9`@^SCMU#T*}y))bWd9mQC+5Z_Bm-v#E$JnUT%%Q`+K|lv#+YUwxye4 zNn7J`uJz{eXOE$>&LSFdp7N)!te(WGogVlUbM6~l!&$I(9(#5&TX?7CnmN8zf{BSP zcKj7}QR<2py!K$n1`|oC7itMlZ7k7rZ(cAv-$<~Znx-3Z(FJKhBrZ-_GRMv;>AY`?0NPh~5_S4|_pSzfpeW_-gfFH+dJK{l_@*fNj|3X5Gn& zkGZy~#gdM5#0PTw>5Aj;mELxNCDgCF3KMTtrw_zlo|I&(?olVDUTL*6Y{m)6SNSaM zL(S4OmT0tOR`{y&+DIH9?bjFF@8j1(M}>VQ%0S{@yYMW1DjnJpGu1W8Et{F8JGL|o zZm$9YvtK%89j~Tt^fR%oBnOVfLXL{0;he032T$aaZ(R8fU9@;(^jbgrYg4GcK=)0X zRF+H>nz7vbxT&ktT53ahZx8PvP4l2goPCMKmbMgMl<-CdPs!XO`IbZj!`tAQepSLv zu>X)7Q!0+{tp5P+UJ8TtjgG-h?DlXcW4Dlz2h@69k4fHd$i#-=)e`e znK)d%Tq)LXN;hhzmObWLhJU)b@D8aEO1cyqcQu#}e=6G+oqq*xZrv=Ndm;Ye<@zgO zmUqW2qd4G6W(xUZaye38#~%0c$hXuKug&&vniu5D+{;LeTH{?0Qax2MtCt`=2}f!1 zH^r4ZwUg6o>Ijp!9ik@vdCK2{o+b*E;Gy>z@Q&XMesA!Ov~S1% zHbvmTi1w_L^Ja^yGAQ-OLZPtVek<){$O+B(<{Afu4rM9(tB_j(2S~ff4L*@JmdkuD zoWzkG@0W8m@#SiaSNxobu%4k;#5W~PT}8V_HF9ai?zZ=TjFBdsdp);ym}N;7netKD zkk0#q@S^Rk{;IdL9T`K<{m0WvggH*L&-b0hXq;GLo%c9;yZYZmiR4k;d_q$9A-fqg zwENY`y_&k$b{o~jdex}thE~>Egt}4>`TeITR2jnU@3?)MKXx;& zE@^H$5PC zhQ4o?&{=(CE&ZB$ur1rpg{@$Bi%d?38%E~lHM=WP!@x`=w-piaSn|4FE&nX-4XpSe z^0Y6xq7%e8Pup^!GIiEjpPqRs-s!*h{E$Vn`Jn6}1$;^byK{dU0 z6E#xaYGuSrS$q8WV_-*k>J`xGvL(}0lQdOpckhS7-X(>=`P(*S?5jU#zpIR`;hxPJ z6yJH!zAzuLcV9U7`H(4_{)+J-`_~OBaaU^Vwu4vK$0-IO>NY_l_js({6mQO^=^0MM z=h?cCSJYKly$x&2wPK$z?|9Inb32ro>{b_f!CriMf`-HD;$SO0*IQo+@~$Ynr?`~nbVsuS zGw(7O4m3IZYqTlfy>0s97Q{n%N}mxLd-R|pAOV467L-yvLvV>BQCH~hvK++T-G(lr zB($5vi6?j4)zp*tWeivS%6C0~8kwMccaA4;I^O@b> zG`_)WKxfdLv6Wp_X}|a-vIe$b_306n@8F}xMB-U8PB&`Mr5v;SE*7`*Ebbz=g!}Nd znsh_v)uX^2>O*?f-0-iJjz6S=zr0)Eq`^-SdCjK^E1hmqw^lPq$WOA*8e7*(yDQ&Y z)4;-c)-KMYd}C2P%c5Jeq58cr7tyJxvZl``GM_iBqGOj?+WYRv&8KQh3AyyaA5T7v zAN%0gn){TWQGts->6S$0S)!{iWRdhI>21~3D&2$jc)4>ctX;}+x2R?}i<6{4BSGU+Mh_M&NTFa6BPJ+@SwB8DlQsd?Wbtt#J%8j)uSEc&r( zO97uVu=}%fs;g`twoYUY8oV?07<}bAGE3_%$dz%mK1$+)pyFir5i=rU&ze~8gLB1q z!tSU~4v1XrE0;frsiqVH|8c1On`pe#1mhKM!s`3C2Z*lK!wDQ<_a8^U&ft~MJ0?x_ z`7Vpwn=`J3RnhFy8ALN4inB^`bMc8hzvIuR&UA-#BFaz|oS-rD$8!EZm;BTmF7&UQ4%gtddsD$8g6s}wO=1lVL8RxTs zv`*i}Ln6+_CD*~=+!CX*aa3V2>Q%c^1_IxF_KJCB{jQwhBCG5 z20wdV&Uq7WKg!N<#J|+!9{t8pb#0)Cu5*1e0O+>hmMK|8PbBB4jvVrOL$$$cT zf#1}~)z+B9SCF@Tsa!n`G@SjpQ_h}zSGGb|h)enpELk?BBf(wonG&puU(t}I9pFX` z^yHkLd^z9GF#b+|OV9wNH6rmau16BCkixgZBI5Y)S<2K~;h!D-E`9V#O1IaD@26e4 z{0-S|z9%E9_d$UyD+_RAkU? zg1(Lu%M%|rHS{6j#Cun>#J|RUR6>?41z)1wp&7kltG1E2?$`bX@g^lAJ8%LqdzBSJ zJ0!Kq=Qi!mX~8Dgjz5(VVzRUoC9Jj7M)Q-$F-d{6&%uou${lc)b1j**B0@qz1OC>9 z)G4{+?f|D-sEmyp}zS?f--M=ce)(I4a8Vy^RGwefUeTt;}jRfW5q3Ekeh4JP)ws~(`xMQ)gh z;}nJerday)wQtNUkNK?q!)CS~3trk#><3vNl5bFV`7stc5#zn@6dOF~qU#Azp?6Qz z@Zd^iruu4WaK|j3OI}IX^kb*xqZ(MNhTRgCWto`ab;4IIcOAZ*m&V7XUuBn&n+)h0 zr8dg&u@o&^HHhsXnP7DJ@x(JDi?WPfIwLShuHNIz%bziyGqo8dd6T-OwZ<2Q42yP8 z^$sZR<-D6S2r-K$6BPG2;Oho&%!g(7^hdQCXnE45Kfu1vm{c%AkMppk@N3|K@@m1u z$&7>U#|B9jmO0Q}`IE8MA1jaPjcRT5Y0a9x@?M3wnBEMVRJP5YBgLwuc6te^MTgYX ztRztIuh3HWvy6LbTHp$_TumY3A`}m9TTrkQg+yR*si| zq4t^r5p@r)x+(4AeJ9&)Qx+Pkm4}IOWTrLzT=dWEiil#mX>I=PIg^qq&P=-EDa$=P z0Y$N_U_An2Vn@f~Cwy%)j``vNnJU~YfVqT$uIAg16ao$} zGWnUicZYn+oLkI)BuHn|C5{m)6pEZ%Ex{)JOyaBM77hH~GPu2MOu6&k#U(DDHKO&+ z*UQct*7g>9p9^S@9$?!k%ib#K?{By*&DQKj9MVh7^)dHcVPKExJ5RffQHA|a;xX5KqD^XSo#4&@Q0;)>4+T_v$* zkN#}eU;FIfO1^K=Po4tG*31`uU89rWr00-$#TD!t2E33c4OV6j9hR)ejdpi2f zBWmqWu9_be+|PE!+Xa=i84`LO*ow;{MQPd1{ZXs*bhrD`G(K{evY2X@ei4m?!&kVO z8LuU=RXg8Flq5J24|V-~buHPc@7|i^(GF;JyB51-^U!T_HRLtV=uV_H`DLSs4D-e@ zNWt*iiN&^lT=IMU1I_wREUrA9?w-4usJG6pok<&pL&Dr31l=9J-k|ej-{q31s*;za zvCPKD?1Sj-!j3s5tS-U^L(3s~c600Au}By7%$D(Wc6t$4s!wB+D*hiVsKWHunz$B2 zf)%`W#GY}l9l|bA_XI9Zi}sPdY3zHb8;&o}XggF-IfXnCnJU$}oJ-n6TzL5!=#*#0 zus$&V?76O&h8^^1T?}tvA$57Tc=+;0%G{oVSc?N^0#cJ+bWLBzyZA+P*U`@KBpO&E-)m-Bdr*`N~_Gcd2e;*^vq>t8PT&+aZ>I z%eOhwm9Jqc*z?XcFWs_G46kds^HF)DqNq{nf)PL(5LA#eiel#80kIOZ<;^v(5(dqf3m5rFkXUwUfPQ zURW%#g%=$o_Kw7kmPpRw#?MdY@9#){ z8%h?Z+*+96!o??O-ODt_ms7rPn>oAgwmk(qY^&Bgae89-maO!{StyjsDBhxqIKTZ` zRzy?5lMaKF9j})(E=eb3&zu_Y9)~d+uf*I|aaqh8P@KnK22tbX(z<&c=xLo8!mHGZ zFWtHK-1^9oi?XS{6!)`B>}ScYyVg=9TtzBL@+EojEz%An8b=j=7JhixUdDOWIi=$! z&n4@Ua5(~4r_B_34z8McL`8ne`O7<&`+07r%!gmFV92uQw)KN&2?g$VAp4trX|-YY zURCe6aAo2f`o;L;9Fni$iK8E;?O$@=ZS!hvkW%lRiO-f}X6ZUKro^K{;ZUl)Q@%-s z^)>6LYCS*_*`X-k)>HrN-R&Z~z$l2-SnXxe_&%l|G*#(-I5FA7vcZOh%_;TxM#B71 zEcMK==}Wo!lm(R?mj?$(@|zWt{IJJT8>;w0%;wSjW-zH;?Bp5 zIX;(NoRN6SCaGXbHR@@L1ZE7 zO^NDG-pFgmoxFV6o9-U-zBl7$fV@ZH-W!8hxv~m{ASFKC_!~w{VOQvH8K{8fxPIii zwr#I@wpY>#I6xm2Q!FY6u{@P&-R_y$Guq3!S6e~3Y1MK^sm17JdNqULO+s3AGC}8Dwdgx}r)1oNjYr*kk4=`J?^Az5nd-?*wc3&O%A?>u z#n2*16W*+nx@g{UycjIOu?Z3t(AJqmUrd#t6wxH8|2=m^r~Ib*d1v0)m1`X`!>hzM zI?r+u{yTVWzTLFcc}W~yweOmrX0AuuqLA!=t*B2IA?BVD<8e z5UQlE7nxl-SR2=*yK{-8Rm#VT?OYgV1I&Uo{eD=Yf0&A?&n-V7henp)^jd8-Th}O# z=ZE`u#W#Yvv*UZQ?^q0**A$liSl}2I8inLVHG}mopOn6OFiCSH&Mh`p`%qANI7b~^ zTvEqi*A7&iN*GJMJ= z<>eX^u|2Xge=9MLk(*^-;7s! zb2)DBtyD#rtm3>;nE5RPih`Gfm>y?YO!ShPrP$${jR$f1HCtuW~~l4?Vy1g<|9$ zANk}a_T|BZ0=dE#&v_md#!GemJ?ocisCReT$v?%Y0`R)B4-?^8kBKI{F$u6uX4t+&wTxI{bCb(`Ah zAC(@lKDWBz3vR2W?w9fysdr|1Tv0Z|)T|L-xQ?m*-3um|#on zd(jjjot*IXRH}P7eb*YegTqODg-)Y6a~Jmx>UFO#u`XgCQxSY3X>EIDK~0zHUE0$h zopOz7mIIgd4VidQ$>*zI`odW{dhw<2W;8z3<}G=EHLhAW#eUjM+Q(G+e#n1MdWG_N z!Go9iXkB+FL^Y*(&+w~zDUG*Rpn_d8buUI7q_-Te2}#b6H;-0LkDV%;$24e``JQh0 z6PCXEzE7xjeua!#bit0|2Wk7|_|X}4Wp-99+rToqZ`d5>WbK#nYZp9njSN}aBkoXM z@y}uXP(<+6pJiwFL80v~+A_HuLY!guh^r#{Sk^i@s?)G9ahN1jobkHFw`~W_x-Rvg z^1&lbI!hVh$IdEubW`KJ;>RLXQn_wj*0;``3qj;l8CdxNi@aL|-C-Pw~RXrk90)9uIs zQxN#RHbk2{o_myH@j*Q{OZU8rgza2p!wIV=g~<-#50B$?PLb2$qErt0*gL)aNCcoA zMPVoxM?}cBta@2q98+HMGMj7}Dc*pW&RI@&A52C?)0Ih4>uCdr(NGD$z%|10;V|q^Dj8|(UMn6)Xm&3)oN z#QjKY7dN(RcA~~3RsM`>yN|ue-X~cl?+Nw}mjF#@L$!B_tPXwlQ zUiZb_i3Q`c3_g+ll;*_{OE8Kv!KK%p$Y|80&LHvJtm3l&mBjb<#GI}8_h+_~ zp1w1d`(BXXM_tP!rK1Gn5BYex6o$~AUiDlZy<+Uv-N@%*`-rXUDsOl^BD+Cn@C~=` zO??W@7}HwqH&;AI?`DJujgH@AJ75pBl_polMm%Kox+HP8udc3ysMyeGbME$v7UKQd z>c*6Vp*hj9J`S%^arerq$Tdq;du%Cva9w;}^Vc`R`1X}V7|(bAn}!K?9_nZ zH6pIs`ezPK`}X*qz9^THw=3q)ujKW%^MC2xlIKbEO)X-_roBGYJT*vlj;@uiP_M6UkrS^FgJEhMV?GV$Q$YJZK z(M7Si8=vbA7B}NK*H$;Zgpc3`qjuozhoO~%JrBGOdv;42mGz%d4L#qgR*k#HX^xRk)&9iQP|X(R90((|(gqUp>4na8n+h)#dN3 zPq9g9}raT$$9bCzEb)yEdux5rbl-W=Rw3 zn#NKlxIByPQ{$`63Bi}RJ-6glaXKM$E;7=&59BpGa<0S}-$!1$S3HXIe$Bi}Oy)dX z4qEjtcU9Qq1ugzgz}|EJF9-StoKfec${q)upyY>3c^rBLXIU$qZ%*l&=rUE8uyEf6 zn5p9AJEwE%hlNeVSW+6s+H@X{PrnooYw$QXS?{4mdo3=KFQ*C-Oa3gRcuY* zW$wqsnmp!K9^!))dV3-0DpMmx%kYqwaseXq^i*Q+zD>lVli*!z?|VYCcKPAM^5){` zQF$SHQXv!Pnc|xVUm|BWAag->V$44s0-P%%IKDiU-FbZGcU`dm-ILn)IVI7R{mCnO za3`6ecQWvP(OR_y8wuY-a3|AI+*)SbkG7Yg6dnuTWw2unR^@!;RD##kvaP=(I=g8b zwASrB$vz4caQ~zgRAW-}G}d6LaeJV#ym4fWMH|R6&G%(8Ae2dEBjJj-t;-Ai?-Nk4 z6^oZwiP#YBhXS9mePWiukSWE+{n`hzk39LR$L|nUmh%OF_wjzZn`o~9db3WGP#T$j zwM1DNKSmvw@8&CALny4NW>1-xAqY||+4W^zS#;=ls4*YnU79|3vo@WR@w%3hazBoa zbF{Tsqf;DtO}AI_S*z#!*_hWPL~VhBZKjuoyVthG?N#?lab79BN?}PvdAzloEZ>?i zgSCQe(enr1xY#@(h-I29YwD<>9$D4FdzYSK=KDk`$C*_8d29`GmYUy8U-j;RNVp$Y zU$%`famW9xEH5(z6Q@r(eWO1yMH(1eYt<_<-3pd(hDk(B|L|i8nob@wRi9>GQI5Dm zyu|AI<<2cRvxA4%2{o&VV9I3JJ_gqvRVuQr%tq}QB(~D#W7Y(zTCTn~tq38Y?||f1 zWtg@gTd-hHQo()qnloIKqE);N{KRi^TTk1V+|}6~7Zkgcgv)i~JLwf_8!;@C;Rzmj z+O-dYc6_nEM-|t!+=!Qi9 zcs19D{4h3?d4roYSTg?QB$womOoDnX{D(AchYMPIpN4$_p_Y6?PTe@3udq zHeSTX-SjaVRqd8Y2R%|=-l#avi5O0|=61IR+mjsnnsnXG9%Z}jCPVgcMpMHxnt0oL z)>)|D(7J4ZD#%LfT9RQ=>r9C2%g2tkoO`mm8l6?<#9U1$+Wq9bm-TMRcrLM-E9BHS zCYirO1np2;%fL0f*LbU2pUmdxU$$=|XayA!w7DJeamiSC4SaB|)J-nln0-p#x3c$W zlTz2N?^dSJ&y_;`bPtD1$$f1~Q}NGszh7Py8N4R-Bdt&Q>~^e^ynqeWOG2Zb1)1IxYc%3^$M^EN``WAF%lxsAbWKpUDQ=Q}?Qvn({b)bd@AS6UW$SO=p(!1? z%1p*|IdS`aAVWD4HQ`;YcNRK{>nCE#}?ozf{%lquZjmYs3uTIw&%DOmH#H~S6 zfee$1QZ_SJSv@(Id$$E&cu1{0K~}R+=saOGk7W8^0rM0L>vx`k3#pr@5hJ?2WsO~z z0EYgFv8XbG?`Ng!Vkl#<+xxNm3y2kKEdt@L1<4|27ARfA@mJQ|t z%Epo=*gME^&{z1%p9KEWLf`hFrFkW}co0 zzeu;I?Lr5I=`e&${PHWIgCdFhZ21ngK~XkK;2ybLaPAGNbM=oGPGTa4)SUr5EfguU zqTBK$j|gQvaM2Lt{a1K8*)H+lTfLL*E^pU)gon4%rUE-B;^C@g)3shiOHCaPzy>KU z=cZbqvi6-u6P%4kkp=~+)$(~V1u)SkFYyM9b2;OEQK=&KHn~f zV!%bKsY#}mr~^fBnW1tbEu8G48B*U?t>6#Hli)VHEVaIg>(-HY>bzBgi-%qeRf3r! z0INk1v3$4=%68kbC=*8LeM~7qv#_|I7rdFtT0Z?i-`j+cV}4`vGv-GzcYwoq<8AK- zY|#sN-Sxp9X53Ybe-@DtaZrORrn@$;#NQ&F%{|)10Jo~K@YQQ{)$dSa~H zlp3JF`pTUXy`(>VkV^TA8j`9v2ik>K{oxmMV!VKchS0Y?E|USIJ4SPIjksCPqis_q z!lhJL2WkWJ59??tsQ`xwa-odEJxAhKbK6e{z=p#V&((Gr*nakmw(edNXBlbF-`oo5 z(oU&%M-21lfjD@$CzN(B(RQPyyE%3~#kjeP5sa9zm;bt&vUpY2@bK7okW~lhY*=Yw z2%>5wdTAbwha8gX8LZcY*;UhZI0N9I4?HJ{1(xmhiB|HnwIZ|`;!zao!=?4sPu;7E zUaaiW@~ZaSBui`45E;|^)hQF6Z%U62F-s8b*q9*u|dr|`9CANtsFb9Xg6;vSq4ecwMH9z)sM~!{ zwPjZ%Y^|vg+!sHWzK5)E7G2_mR{a#QZ~n4k{Id!xQIAaYC~Y5jH_2{fZo}!#ruX;* z5%A-Ja35&TFE?tVW^+t=uiuJvK7m$f&YlB!=%yM?$g==lr05owzOj>$c7+f?9hNpZ zEft*`#c*iq*u_pD>hcT#%A6MRw9_no&AYD;SvW11uR~~#LAP$y1)_NqS9`4#Oruwp?G;oF}XuvurOTt!jxP~oJ2urm;>}Ohde2-IXGpv)nn74C=wZM z-DR0?R5nO~b6V!-$A6!kH5$z1R-N-fSI%><*}m!eBAK8|P$WJbRxOF9BeFeTO+8(s zL}aR1m=vxL+z`bdU-c!BD`|k%&EmRz{PY~lFgg8A=L%(}ag2lpLvp%{gqd4A+_W8V z`ic@PkQ3#orMu*spjOWGG%wHXZrhDq4FCQ@0j!$$=O|;;T41*ow+3NqR}&0>l0ssz zkXJAgh|zjf-ts37wX(p_0zC2Q{x50Xr z>TZU~-!{k`>Cyhe3uoeLQ)f2cbi?gNWX{uu*NLk~M0YhsTzbU5D^29s`>tF&zsC=J zXB%;f9W08^+TIvQHy*i3#eA$+tP&D^ujZOZRC~H8{i^?jV8L7_3X02WiY5*5$`$Sw zRTVPTDTrw_d2vL3cYRk>T$=DERZU~ZFhR-S7~0AXlY(b*k-V{?U1|;wp)5{4c$aXC zV_1VN%7<1WeN@p|Lj;9Twki(Et#R6ydz{IqSxQ~Ye@Vt0)g3drw)$UnUSi!Cg0`<& zyC>EbJB!ip3}I3a@DZG^Rk#yaJ+$@sBSzYa*aQCpZ@9EGVbZi}4XbJ#cSQNwCPsBy z1h%V7ABHs)WX*415cnu$V$Ej`_p2r&uUyA*%yKpM%b(MDr;HE^W~T><-rCuoy1o`^Z7D zn~=Ye&8caWS$k*hdz5gG>!)SuT-rvBRLB{s7|iNJzQhKRP#nX3*dZqcU-ZHB9LsF8 z9)v%q5`xl}lgK)cBfZ;Vl;Vc$S0`zVjII#%J~hd+o^+|Q_y4@;sTa9M+}!r&kVx{T zkus5S44K(-z;$a+-NuQupB>}Nw$$RaSv3p{Nzx}5OP7`+hCMaz_E1KX1%!EZCaEc+ z)@;5oDgZY5!$xNdkLt;)N*aE5N2}*6Nq_t-AMb_EVp_e+$6JB=HZZh*V3=l+m!BZC@w{q5nVL|%twl@uW^0tpc{jaJ>BFUf!%sxm(Y5s|-ZYw5nb{J_2r z0-mvO6XN56>D&q$m(*^=SyM$GICltP7g%Fw_DqF8WS}l4Iocktj$2t9&8OJz+)TWX z;o8ET1tAUt6U)@=_U#l9iKPsR+aIyoTrXbXIrFLsRHk^_)BCU^is!4u9`s^Wv~BM` z15d@Dd${1DBS79JNGPF568N4E}Nl>}rc1jfq)67*P*b!MmWms_w< zRhoxJzzk9L{+NE-ZdM9Un!RHcq}u?-;4V22iGzF;osar05O+^;Q6L-6L5)#G(WTL} zc0Vd5)kYVZWeHyuy+&c!)U{5aEHct$zSX1|)xdU}YrZB6Uv+)-i!4-yZw+`srEN-* ze#5<6(}qh+!N=8(B%wTt1r4fdJOvEkLilaZt|@)aSRMn9!llBG5He;ah#5Y8O9w!L zf>0;6ZILA=>2&3RqRY^rIhVNHF2`zB8}b;Nrqet}q2rg8sO{A!lx81atqdq7Wb47!lR6!3%f(g!hHbgF879lW@bz!K&jV~2+qS_#L^v;<#qY4@>CKv)SJo4=Uxl4V^V z&i!)NMu8TSF!cZ&FCou0`sZ?iMiF$a<9RP|XYbG8BzR>&xUXu}rBNX3V1}bl6y2H#QwG=wmSkZTXokmxU6q_9287w{-Ng55$b+J7kzedh z8NueCvL-{S`8w43ihGOS?2zI^gy0=B0cML0)h6MlZXcpfdPNK~h+e*7lEf0{+5Ie# zt~EWYqiJd!AvgGN3wX9Z#EQZEPAt=6wQg_PZ(C(?xwhL6vvIfR4dRE_h2_azSs5C; z2$Y0qx-}4(NeavsZ+mms*(^}0)08+@4@k+o)GUW1zMfhW*O(>rVd^tNG&1bH!y^s& zgl>H30xy@boloDrUHmr zW*cx_ryvtpFC=$pA1EyxKtFhq2!lKxHT)=*1GJ_gUH~^xI9&3G>c=Y4HloaGUD}y% z_(Z~qv7MQ$h_O2Q?pxM*h4Xknk(Us zjw+jv0O5N7erz$S^(!~#Etcg%lZUxsdE33T4iRoz%`o)lt7Bk^3c*<>RD8otfS;hl zC9MZ9U1AQV_?BkD3;S85wE(4d-D5N|HyB$T7=WVz2~ygJEjPk<-=`r_>uyaUGcod4Kaaw;ec#~U@ z6N=Gc6LZ(<@8=ZEB_kSlF52V;fPjIVEmG^c=1fwf3}3Igf?+6KCoP{#W3{e(hp+y+ zf%2aSmB{Mmp8IN!n6ruLSI6!Y*22M8eXYO>Xg%QYU2WxO?D2AS91Z;BgPCM=gQmSO z3HAOrIkX!Pk?gI6`d-H4vP2x!kY~VUTa$6jsHwk|k}MoIAOsXXyy|nOfJ4wM;`n%P z0rQI_oRXQCyhpjz5uD5NoCGSrV5V>kCt6^I#hqCxF9p8zCzv$2aqXU9zjSq#eyAb) z^!H2yEe~q6vA!k2#3cl|8dR`N+@Up5NVd&b2~`wNg~~C_xR_l+S9TUj9igk4 z_x8hf%R`W{5|F{>YrhoO>(YQH(EY%QWfipnOEBkf3+#K$-ZLj1{_TFWRRgw@svJ87Lc2F_yq&hAhH1$WR2dcZ!1oH$p7D zI@r66PtSim5`f2m=l|uo66TlW9U!Puet0*9e3qr&nEjs#pcwr(Wu2Ob@Fwa!O&pBh zwWL5}$-tWpbnGYvr5LYs_6q&AqZO71j~KvWXgvc zn;d^TU@~oX+8>f?6prh6=*tP^S%SCM#>C0I2oaHs9SGnizpw1Mgc8->l<_`T%L6Po zpL9dI2Q$FIlBtPn7<`*1?+?J+2#5<*l7pQ)^@vp8v2Hf41x?*Qq~QAk$18{}2zLp)-(JVSySu)+!qz6}rrYEEi z#U<6}4gwR8#Qjq=)UX_8N8%vGe`r#mz4Oqe=JEXtbaGP0hzi?!bUX}mbg_foj_h5k zkVQ;p*2<|IIw34lRoRV8!p59p&pq`nrGN`F;58;s!%SAqKm&CjslDWvSj-hYeKv3x z$w=rZ_&nK8O?Z@{ET*~+H6PI^(G3$(>MxUPVJwU}=ZC9Ox{o!y477Om2HZ^`q#A|0 zzVz?p*sduRT00_Mw)4LXE@H=w`wJnY#I2gw{JxUPLZx_8tPG|2v9;q6I!bQ~*c{ht ztC6fU1Z}h?bLr=roB>4FIotO{(e|ODwK)wg7xkq#sl^)9G1?AGFvOe_+%s5Y5)T=Q z<`DG*S;2aNKigIb@H2a=a{3vRI>N@6Llf+LAv6~qD>F{%em4u8HMMrnwoHq_ZkH0( zESr~Sc0HTN=Y9NRph4>(wm>cE%LMu#eg{)HuXcAH>Z1e1frpj!ej5d`cj|jh$i97d z;^LAd93-|CvKWSXJTv2#>1gswuS?DZyat)~JM-S-js!?kZtbcdfPPGlD}q%=7q{ zNpv390#d7J%tIWY)+Pb!HP3v#8~Wh$`@{WV;%{CC!Y$|9*+eu}4EjFNg?Xdu=pCu` zy=`eUJw5L!0|So;HY3Fln50{nme!To(`Ufs(lStNx{@*Mu+7m_>6IL;gHtg4)Kj3@`&itYIq;Hr> zD4_d;1b!mmRqS%tza6-PrHf<5;j7xzfYoww)B(@S&P7mso2v8Wd0TbDpEeZ%RIk-_ z_EeUh@F3h$rd~QNGU;SksY7$_$FaBK(EL5%&0jcv=;xfdh%o>FQ|@v{pk4Q1W