From 597a4e7928c99324ddb142055fcc801f528f839a Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Mon, 28 Jun 2021 11:31:43 -0400 Subject: [PATCH 01/11] bump redis --- CHANGELOG.md | 5 +++ chart/Chart.lock | 6 ++-- chart/Chart.yaml | 4 +-- chart/charts/postgresql-1.0.1.tgz | Bin 8688 -> 8687 bytes chart/charts/redis-14.1.0-bb.0.tgz | Bin 63513 -> 0 bytes chart/charts/redis-14.1.0-bb.1.tgz | Bin 0 -> 83383 bytes chart/deps/redis/Chart.yaml | 2 +- chart/deps/redis/Kptfile | 4 +-- .../templates/bigbang/redis-upgrade.yaml | 31 +++++++++++++++++- chart/deps/redis/values.yaml | 6 ++++ .../networkpolicies/allow-monitoring.yaml | 2 ++ 11 files changed, 51 insertions(+), 9 deletions(-) delete mode 100644 chart/charts/redis-14.1.0-bb.0.tgz create mode 100644 chart/charts/redis-14.1.0-bb.1.tgz diff --git a/CHANGELOG.md b/CHANGELOG.md index c0d9ccf..e2ce8ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), --- +## [1.12.16-bb.2] +### Changed +- Separated network policies for required egress +- Updated Redis dependency to 14.1.0-bb.1 + ## [1.12.16-bb.1] ### Fixed - allow-istio network policy fixed to remove duplicate ports diff --git a/chart/Chart.lock b/chart/Chart.lock index e7dfcb4..dbec693 100644 --- a/chart/Chart.lock +++ b/chart/Chart.lock @@ -7,9 +7,9 @@ dependencies: version: 1.0.1 - name: redis repository: file://./deps/redis - version: 14.1.0-bb.0 + version: 14.1.0-bb.1 - name: bb-test-lib repository: oci://registry.dso.mil/platform-one/big-bang/pipeline-templates/pipeline-templates version: 0.5.2 -digest: sha256:4b0f80a6ef5cabb741367909dc3f5c970844b55aeead2f7ce5fee46d515416b4 -generated: "2021-06-12T15:47:28.997659-04:00" +digest: sha256:e417dbb27341361457c2abee500efe4ec58f0bd669480b1da2dbdaf0f6e61503 +generated: "2021-06-28T11:30:17.802593-04:00" diff --git a/chart/Chart.yaml b/chart/Chart.yaml index ed879de..09f3a49 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: anchore-engine -version: 1.12.16-bb.1 +version: 1.12.16-bb.2 appVersion: 0.9.4 description: Anchore container analysis and policy evaluation engine service keywords: @@ -33,7 +33,7 @@ dependencies: condition: anchore-feeds-db.enabled,anchoreEnterpriseGlobal.enabled alias: anchore-feeds-db - name: redis - version: "14.1.0-bb.0" + version: "14.1.0-bb.1" repository: "file://./deps/redis" condition: anchore-ui-redis.enabled,anchoreEnterpriseGlobal.enabled alias: anchore-ui-redis diff --git a/chart/charts/postgresql-1.0.1.tgz b/chart/charts/postgresql-1.0.1.tgz index 6e0d9b2e68dc0e8a9b6d4b8812e01d1171d029fd..778887b1230266d397275628a253043d590cefaf 100644 GIT binary patch delta 8611 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 delta 8592 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 WpRdnTKL0-e0RR7Rs31xJo&W$I&dLe^ diff --git a/chart/charts/redis-14.1.0-bb.0.tgz b/chart/charts/redis-14.1.0-bb.0.tgz deleted file mode 100644 index 2315733aa09a5dabe1d7bb3c819c1e492f43b1d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63513 zcmV)bK&ihUiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0POvHTO2u(I110-dm6K9|Yiz#zd34K^l*&t8z?Y_;-D#tgB0^F~ijd-xp$OC7;S^@9yMVL! zPj~R^_xt_*XV1ic`~ANA-@&u~vp)@<_4fyR{TI*o27l@g_V!*p`xEHj1u^b#P8rPp z)L$Ey+qrM#2a|*_$S_Iha0`GCGBhFCVhD~PgCj`M7EJN4D5IDpLvX#f1=BSDbHBUS z-P?*#ijoK=Ax3n#6@UcJ&=7=VHY3Rv02xXN#Y_O5GM3U|uNQKDqumi^37p|>NM=3t z?=1iroCsP1pvre+=>tlGn_I}^fpBapk$tfXcxff8YUr%z!h2q*D#(V zKpDwU7o0GFDIjBp5|E)W$}$uIMgXJ$f(SCW1psB)JY@3>0gAF~lmUv95OG)(gfIai zNf^WluZNQf-33!fr-<%?7*j@f0Y!`gm_&e*jG>4_M2vQ~ri71-9)t;I)A`8kyc(At z%Mj|#AY~}aKZ%99g+ty|4Z$2gNI8xkWiY&=vUU&8Ch}i_C=T}a`XBe6KI^8*Wa|no zZb%l18I!OB-a#=|TY(q}G5s@$MQ2eas-hXh@lcNd%IJR^L~H>y`9G@3Eb5~u!{L8N zh;nc{F(cIOv0h>n%(fCR`jt2^__I;f-NTk=Pp|ECe+G9)W0%xD>^vh;JTgj6Pzv05Bu-Bm!)T zDHj>Wcrwp~u(>O03JBmDXKW5*A#33faq%p|R3HPR1&GiX&SNIIf^vE9XA($=nzfa+euWxri^fF5`d<_{2@}VpP6GdkChxwkRH-<+! z%|khnRPF%aP{=u zPGhp*`_kxtQONiPuw}LqgYN=7D0XdN{<|&c183Ja;Ky^WMjsKb$C|UGK7dGm(Ve&I z4|OfB8o}5Ai$1ap9tnED0bhB5jAfxFjuR~j1~-^Z)p;j&LXO7(Fa*E-ZnIyprcT`L zl-E<*wNXuQKL3=VaUrO4C0Q!OLP&S+5_$|yXwT@A0MgC(7zes<*U~Mtj^JsdKb2ZB zI4M=X(I2b<7eEW}fN`TUN9G{UGhh_Bq6G+83Z!^8idfUl8mX;bu zXf&UIV{s0u`m$(7A~Ch1Ol~%MU(^2@bR$Z-GaNgr70yU9g2|P0+XF!LZ1d5P6|6aL zc{lQi&eK#}P6d3F1DHfXhG@ze@EWPAV;rL(#>thWL|)D5TR(yNB1It{F90kyYB?41 z^N|$Y#9DZA5Z}NBeFE^s{q5 zxr<3JA|dU~DawM$97m`p5YXPEG(!QOOq@&tS*CkZaLo`%$|R1r;xx@~gKV z?}O}C;GTy)2_JQZ1p4R^NbNK9(Iat;7U%6RXdyqVgI5evxmo4m`$(?{V=X8sqNI?1 zz5ATp#%&$Jks_Dna0`}se#0!BVus`eZ$W}t+yw`5Om0vlWl1^&A1H%K1Y?q*4}fIg zLx$2AhXVKqzUs~9e8J~mIpzY(!JJJ|!qhjXi>s|<#JG|Wuqg`Ub#~jPr>z2%fbj*36BIW<6MBoP$~Oq2!Rx{*_&L0? z@9wYvEx0TZCVYDry)00z5fDB|6OvD$V{-(DUM!9S)b0hm3ZoD8WV=PIHjNf(^M z_fR}Zh*U@A3|X}KCfurUrhxu}7C`?ST%iRYK%r@}45MolfpJD=Zr4ou6&YZj#E5E= zZCnoF#&B2C|W4X_Q>^BX`C%o@EIS`wxS}_N2f2stOYE>;n zk6_AG;(#RaBH(@90zek=60nem9XOJADd7C*M_{zx6=;kC0OJh7Xrb3PKcXnSMx6Ui z!B@_b?7$4Bm7FhYyn(4?{soz5Ae>W1X3jRxHPB*dBqTyqO2`hTVb$RwU&^Wvk1bij z<|A3wwHqDQ5T>w5`pTzw#f&Save0-5QCD7E^Mpx6!EZw5_+4oi?*5@`aV0~|FG)Nk z=HSF-%Sd0&F%&PXOSTO0gC&^&1jDJ=I1_+oDO;%R(I>CCJ*Fs}XP7M>Nx=L}BI7_x zQ8)}V&AC`$cUWuoKfQi;@#^SD^RI)~ul-XeS{6FEx+yFkC-pdi?Kwr`c?@p&1}k>~ z#fnlY+$rWsG!QD82PMoVv<{#6-WnONU4<#l(D6qU9?l{P4x$K4snnYIY@TpYjAZ-| z%EZ&@q{OiKX;uKN!YOpppJJ|c8C(ZT*g=dF1jeGGZ;iOJX8~7>o&o3t!3=(!p&7{* zfmG4JHHjhPItOEM$E?YvsbB=dtC&mzivNwkpuhKQHtG~-M~n`%H z`De`Nk3-4f8}DvqR#6gAi5OMBDN208OtFc}1$ag>#s@(yN3P-W=_4r;@@73U3(64e zKYj66y@@LQOW*LM@^;Fmzc7h-0%ClP5-tMq)xu9zEdEL}GV&fCORIiGxkeS_Xab3* z_sD2$Ahw52H$USwTt&e8*f4;#aB+gURCa`7$kj~3cd!##1|nX_g-KD$$JA=u3_L{{ zCXohvCjMFn9>X(4=1c>;lz*-RaSU-h&(P&GLv%{w2>c`q0Lx2OfJ*0Kh$tx`GiyWeTzs;|To>8{r%PQjhhQMe-9eG{OMTAS+RLH#*X3B$fxH}# z+KpR)Z{*UYA-3StrD3+@)TQCJh@(0gs|n}<^Pvo}-m3|hRC zaaCW7lO)M|?g6JBuPQK~+v`E0c2>zUxNU$1^3pQPkhIhj57UUMx6&BTFmq45#_L_LJYtE828udow~xw0oRWw>spwTB^fCQ8Bl8qoAm)Yqq&!|g zwaK-r64a{gNi`I6GjQjo5Lv(G3CbZZJx!);+-9;WF=g}QfWD(*pgfaShX>?sO9Fq( zDa-+wlV}r8!zqg9G0KECbPzL?C6FPIm;03-&c@5kG>m3A!MtgpUZ{=9pUq>2(-;Lg zQni0>0btSR)up8A&;`pNLz6|9EmF_UX4oqMs;UBBRY4T@q<(-I5zle&L}|M|ha?G6 z%4qL~WLGhPktkvu67QQqOz)Az7AT@{q21YJD6_RkKo?v};^n%82^i%sk>@7CfMnop zBJH7})f+Rw9vyAj z{jc(*=i#{wl=V~YCvyHB?coOMBO7SESW5TuG-XomwBZB{}=@FJ5Fkv_^ zFIIZU2sqtSLvRc!c%xmk3MOu=I9D7-=oNubz)^#k<`vT)jpJQMj9S}cWIcF07pN>-r&9CyWo zn)tUGD*Yz_0YG~wfd3wpi}uVe=rOK%snV0EJ5qhv0Lff4lq}1s)~jZjM;lg^G8*_$ zwby>wwZ4^B--lgs#qgnW);{E~p4u?s#x$_VpW#%as#A~yzCbYw8OaO|s5!ou9#P}& zLo946(D6Yvm$oLNicm&klqu2T()jnC&pbbUnV98*gq(7Nsw!rsX@+2QND?l#ueL{162Q0iJPzm!l`utJQ-C|rawdPT@pn=7hq zx+C5@=Zws_o@3iZD3=tH0XSCrU&e}C5F1++P2%xP`WH~2ouzzSi!o)wl%#lezE*82 zdy$f8yLeVN@zg$~$~wYyXcdA~!&YPKp-ncgToO1!p?Ir~A``VLHw9|tc2zej#v`=` zTza5hka?!8NfWJF3g(pd%*J=;(^-Wnt@gDlPyquS|6=12x0m)C>|pQdvz+%e;T7z~ z_wd7FRGe|+UzZ)URW}ljt58a4$rjh9w6KY&pNHycXqtt>sO1TrKG_9Nf{_0&3a12g zrYMdHxFJ~_b)NjL2iqYrAM!K9Ud*ttTJnBBw>o2iTHA$US|F&9U5y$g!&QU2%BMhO zl2h_|0*5igGir)hq_>xBvfXqvt^nWmr4M-k41tg+A~Ch#-;Flv9IKv@GGjfe7CJ9a^2E2Kqr~uo>)7uU|T@|Wi9>=>NAtiL;Xj00=E(oWD z2zD@E@N%T$p1T-a#}Te!c%gU&eIwS3wnQwCvaBVH{jHfaTI;8(0GuNj{UgH+y-mUv zi%FPyc_tSB+q!t=e-FW5e#R~OWZuFVMs4zq6gu~Ed`!=NJ+!*z@hz_JgVq`hbaC!9 zC-g=SE`3tS<66u7g*GVKsXND_RM`Fw!E6!0G_^*^)*702RBd(3H$%Q~0W2)K&VD^q zysjNxw0}$P@S-He5t%2Ey$L9XWm>b3TN|z1flYFT6;IFFaojnOgfD^kQo-=*Yt@b(SdGg%itFqoB z-fyAU8&s>Q6&sNvL|^{??P&-{K2MJMR?FYl6`OjV9pYUNC|&OhS|iM>9c*^1}&Z%!M2I*dO53 zW@%5ya)zoOlu&bB^*|^%Am>c+pS)qisPk_9sCre0&(l{;h%fzalTGxw%epmiqzqj|SYEZ4#Qb(;B;pL9js$s7`Ys=SND4XF#)cHAs zAv&`x>`oGfCIYr_j}vFC(E?0(6J;5eAHp(Nn)@iV1wbvXA$Z!a@=Z~WfV9RtMOCq1 z<5gi-{r6DF+^6%|2xVL%_aMmq%?o3rqUjLqdBL}Lf64J|+yO?@vI!3uAC=#w4@@zE z_vZwoao&R$j7GHqHyF(lg{?%jBaBA7z9)=@^=t8kvAVYbXBgjVyBBvDUq?3M598@l zgGY>ymJPYYG!x@WGmXfqd}msrx?ArVP5ZL$GZsrPGv#;TK%+ZR??IE3+{%Zh0_KAgjqj?c z+Ka~7`quEH(b)WsG!~w(+m*)H;hTMFR#<17_NFoDZRbvNcQmiyP?K+PckWTM@|Jk# zJ~ieHF6mU0-#mYlek1i>H5Oy9=vMP>k598-&DZNtqep&CkD9e65Hz^d)X>=4r>2U) zW~Z7O>`QvpG|+ITZZ$6MD!&?A0{Ft7HI+N=hh6()rEg93U9;Y}uIXQ+ zX>I3Vb0;jYvWrbFc`WZ^V|L`h%f|oU(BNjHD&CKujr9__Sw|a_723Mmc*xnjuTA;# zVkvK%e08khZsQx9@7m!;589d@H{Nl3@VTk=xjDOMpPO7rSi$MWeqP*=+l`N)mHlq~ z?+%6pwRz7QAN^~&-n8w*%FZ`liXXghHs*cf8{d0&zwu7-dj2=wUfrz&j<*+Ip$Crt zO?YW1mRxl4d$E)NFXzYNLU$Zl%4D~7WpM#F`mz|7luKUwd`WK>x0_AwETsYcP90j@ zaq)Syl*VF7pB5KKrBh1@(bw(PQrE8vzm|p`K6tj2JX_pBUe&e59r?D-E%{y3U3s^Z zABfudw>Ssan|liTd;bPN!s#^uuxx#>D_9bAxHxy!St^Iy@&*Tff1(SWU8~xkC{Lhe z@s%#k)i>Tv4_pfyXA#xSlQ(B?&o2*7FNa3+~~(l&bR#nL&g`7$(7>A7p#ErA$r2Oi^KzDKnSceruCv7J|KT z=Vc<)_*O`uDMx0N6q-wHz$+%vEUAO3n~b_Km8Laxx~U;}_!4L4ZLH*(UN)Ee?ge7{ zNTw_uva$ zu>JbZz!%QA);R;4^Sq=ZrDwj&j+A@fxhG{leyh4t`c_Rn>`nPnR)Al_nX&@nTHcfu zFxPgctbqHS`%~tvw0I^bLlLv_$M(S~3=w)tfhEbX9;_8%7@?n>S)Cb3!{KMh}Fg z%?JwB-ET)wg1np^K?%HLNMPCz*y>IzYl0GZU2xWb=EA(R&FwUbwuO3Di%viP^UXQJ zw91H~J(zr**^nG^zfvQJ{FO}%hW^8RkE$JoCL4(oD}JXo5~YFh8A+4|V@V^45|T^ZQKBC^1*TmX2lS3+S=VA^$4A9Je){uBU_v$naV5IhLfh z&xk1H-7Zy&E({}D!}~-!aaqQ+)>m00BQY9szzIXzj${eg#~=AYO~o$aM<5(mITqh% z07!~5DC~Dn5`T@t+tl-sW3Y(VLcJbjSLyIf?D2-?^?223W#nN}TTSY5n>kgpcY5)r z7$@-Bu}kO5HQxeq=~nD0M4T$Q6$EXA<%~ooqB9bejNq3*CR~-u^s5uP0;%}==n==Q z?=99o0;RMsJWBJcAyvi?zSKo!AAY6JU1gglZFDda@BCr_poeTaCG$8ka$w~5GvZHu z7V-n-$AiOCFSoK044wEvBN$fGAfOaieJ#Tm+KuWvgc^r$%49(J52aVbS%Ky;`N#fAGyx)%9sa&9O#Cc2D;+xVDrrBIv ztAQWq(FB!ewxv#=%@b4mGVhwBk=z`jk+U5{qfPQcdHHb!Gn^b;LmUeM`wdP&lH2YG zAy&ML2n#sMl&uH&KD;`LiAHLIbxm^wTKMr@QUH1bKY9@>gQ0oS3a15g$mizr z^+kCpvRndC1hJU9ss?YU&Yc!21qT4nT%g~~!P>N{|kN?9AihlG;-d|I&jT1n!2uXXM zc`EKBk6wWhq$mO*PNygAepQ;M+qnJa=`IkDb$SVm z*E-z>WE-bf!dlu)-NxdzQg={PS*e#Hm5tPWpiCq6DqC~?uR%AWq&vfL$>tnqBpJcv zDxYnbz<9xMNS%2v%+Lqj!C$)llGSz|sX%n@!Cu?8*OpVRw~Bmu--BtvmU=h2gxLhK zSA?=5=)@$1@sv>3@$XPva(uGTGi( z4!p|^fSVrhOPIdX2Yh#2DxcO%1M-zUt$R{&*L1DoalN6F50C5R?3&IXully`j(p?W zy60K`xKJz94(7M!DQI^5%vV*Oa|#MA8k8c0X-&F9moD`pSE`p*t98H1`gQFnG<$+q z>)fpX*ExsR>ESJaSE=Mx@LTHUEil(Rlh^9&Euq)=m)Gm?IS(3oe6`nj8^3W|bI*16 z7u|vBLO$5rQ{QVnuvgdV*U{?lL$9|rd%teqsNL&I#!z}ZvMaZ=mfCjCN|kE2rFfTB z?{>XY?eMHvlUiH z->m7TRy@ruS}LDUpFeMpu(cuiQVQu;qmmk<(?Tt6HDb-i-|bY@`%zYn0jN+|m+o|v zVfYeC>{qA8+KOxoRklW%tr&W*LfdK**0vk>D!B%kUPbq;P(qbu2Y5pgE~a}fAt#t| z<&bNIA;}P-y+Vf#v>l;gxwKTf-Y6!co(#UyJ0hVFC{@~z6nAIQBa}ob!G#%(>ZhW& z;VMzp%EhKbW#VFe%}=gvx+8{JT!Z3dqM_;F-8uPhi(WS<libnP{!zg;SU@+G80)dUEwA4--6M zag^n{@oyG)ssP5~>V1e{s&|#KDu7Xh2@%j>xis7jeOBOEf!5ZS_vhOyfsBSw1Ki6li2y%l{H1* zlgP$v0cqJ^HM}uSCNzJqw+i|EN0Ht-6nbMfH3avfRr7VMCSXbulBxGOy~~+pxzL^y zQcs1^*4abr=_ve+6=F}UbJM(!Z+Mi{9RaFlglR~wQHCNgS{QqQb&c#GH%tKJ30^ci zpT{DJ!3gO@0IQz0kEC>;V86a?iL(t6-U{%+%pntA;hi*&b9Wu;ghnSxZ?D@ zH1FR4PK+hyP^$A^6gH~ucNYhJ3ntTgv)!@Fyq~9^)B=0i`SdB@nnA~FP~8DtaC;jlvOBln z?X8ZcXaI{44KpmRj#mL#L}=77?J<8NA}_zflc|MP4*lP4Qq)w)V9oFOj`e=DV2G|Y zGe3YqzwhAb)#07NkL#m#5d0nd)uzG2AASa@Q9YS7<@s zGs0lJ4m?bl(%NfdMSb7&eaT1xCcd=Z`naV38P7Jw8Q~>lzM&_w@ z87MMu=}b;Cjgt@nRnSUxgFmLiy-K+rZi#`ErtU=c_XopkO}!2DeyDmiuu0u2bBmA|Q(6=4FmM`eo zWv2$ab`_vX#F8!`$*g?hrjM^-s8Wf84xBU6*>w*up&9cHo)HjE$&Fa4`U*dS41zI< zmD?GI5JX5ue-SRWDEqTG=5}>3YZZZd2tMEl1oIC=@!y}pXAsUA2%-+?fMC4$L1U0q ziK{S0ZoB|0NH%Asw<$_4rg*F`@3>4v!%zk}(FqRcqTdk(+kCn8Ikbc@>Bg`3`$i`K z!+Jo5uMvq<>4JtVt`vI26%r#lwmwkR<@F2~vP7!Ni0`DoaAu5k_#Fzi<;6dsT!qIo z>3I&X368)G%o1K_M|f}xkdEiJC~Fc+s!)GHF+&l)s%+sjUqzs>Kx|Bku%NCeI+S2M z$P3?@ykJjsWtIZ}#fS=QwFm?_1DJbcJ3SbecA$` z^H@%NX9zlKJK`)5D0U#(q$mIRsI$wfvqg${UFm8k%hHTXe+(nq8G=t@U3Xv>PBB9v zn`bC5HQG~_;bbD(%W}+O@j)g0Gn?m?xWL(w2C#XVaRpjXYJLy1kzSKjSj|iuDH?)*vv~p)$2HX2!QFfweN-zna#p z;_amtt=#OET(h15$p@lS99JD{M^^ihc`WK)G;RipzC*6QRP6>>#!6oDXerVU+9OeM zu55Tya&SKENe_DxxW7F~@!j2SN~N3iHrvy^N|%a3?Wc8TF*-c0lB}06Zz;+{f=Bu) zCN27|AHu~Qy?RbpHof9%Mo587U!{$4BJ!x^A+|eBLYuPFXfeXRZM|3`g^8Lr42%$i zIHq?qMLA++yXe8M&8%yu<*-Q49-$zFnLRnmNxuxel3~1ufNj9K%sFsZTX)U)X#-Bj zV777B&WF-5v}FXa42D;g7Na@F<#yDK$XJr34enuE{Qn=W^}gDly#LciY_xa!_VW0m z%RaIV;;6s>+Z#OVKP%t=^&js4?&J5v58y0Dkn&R$q>zc688=fL%f#Tql?Px7Mu=}x z5lUmSKoR)ihpnwop8|l#Mey71uksdIDr&aRap$$+EZ70Jx4LygSl$rM*))IM6;*f* z@%m#{^JXpC0o(rXRu+vN4t6Wp>~9PF8%@gZelm2nJ`xU9VW7UPZ zHQdvi8V6wOlo1n0*`Cl~L}4lXYK@%H@a<>T$E`3Qw97Hw5b z{U9jZ+p0*n$3RH2U7FjZ$nJxHfd8c=;o8m1&Zlk!8I*ZC15My<2YeP5_WRF35JV^> z5wfS9_e-Vq;^&j-o_*$uX&H3E`8)y8_?D8WI43!q%qf!YzA~zZ92njIY@W31xa@$+ zZWaU?5~+1xJ~>6#D0>2GX9)xWO0G+jVE@fQ$j*a6+70;zTYS*t9B4D0AOJK*Co@aM)wB)cm>$ zELUhzjpRzk?phhg;Xzd|)EAq50RZnPayA-0U5o(87?h%ycc9Tn6oMdNYykpn^WHzV z#8wpKLVA;cUM<9zg!CYg-a$*aSV^j+$O!&v3;_V`MmPxgPB7it+UtTtwc?8dzgX9Y zuTO@{OM1mv)d_pr1(Ej#1k=_#JqXe^LSVz@0D-d=040Ff;@gI0>DEn=-PAfLTgRE3?q9c9!WV4$>&! zl18N{<|v&Wft5?XT*_5h9p{YVNL}!$tl|8epR)=%fe!8QY<1}E)E;#1i5?1X_CTmS~I5P)EeZnPhHZq9B(1}A4KdQE#!wH+_awMC)Q%PI6nXN@FU;gkXVl_iOoQKut;mZ8>#m~r!XNPZ| zyFDjl-Cnu&`M5dQc1%4f9=0``e6TcAHPqZdOv_`JR1tb z>oJazuuz)uVF{;b2!80vMc4ab>m0FpmgpFtDbn5-@{Ler02j6Sx|0!JoyWpJ8Fe{( zr}W_0m9`@sGSCr!ofBdR#1cirj=5(9jWp-?=FP<0*`wC(g$-`)?iBQc zZ7rs0%VP0ur>b98KI^r+WkLH2dbQzM^Mk#UemXu8(#at(eIV*bpduLC+CxwQceOE4 zfj(rYovMXrgoasv*%`prp0*~#kN zKSBQ1P?@P5=ZE9*(h{=Xm@KgXFvh} ztGK}5>kj%LB1i^|QrG}yyMPjKgG6!$jsefo7zxa5%J=zkAcXOlOmNuUI*2I|)}bLx z1R!DG0w_)I1i^02D9zC5IsgVYFBZ$l6B{0Exns-p*{{P4-Ja4JjjuPEav#nqg8vzF1- zy5*zCdDG4tcXF(F3@DmiqwJ8(QkWso`TNU3_gT>21%DfKUj+RQ=pMopj&O__Mzs6O ze1sH~?$4NMYBW4?Wdb_rBSVQ8ncnqagcuxjY=(B~7kR+CSAP+au&&J(D-4s2r_2ZG ztcaX^Ry9y*sg4HGG*p9UtB#SJwfb=>#&NyTFqvlM@o33B>yAh}j;ZCaHY1cmmRmoH zn<=gXdxk=aZ!D&VC}RbV+*P@ASlF!!7(%EQu?bWS5xVa3^#zyGw1cH}x5m-`q+5Q@ zuN`|NWp*;^9{9<-U#!-F-t zdU$ZBJw19Q-JWP;UyojifcMl|ye75LR9498wbok`)vX{^FH7Yzt%G3dDDv8|4Thl% z*hsjlQGHz_Y9GkT(i_0jS-Vxmvm0OA*sOW^dc{$)a>K~m}K-%nRRtz%r z*9@k$cU*a`%JD)UF=aTJ9Om!>LuD$SNIGDfrEyKO$2;W>y$mL>BdN8Th4%Y?HW#uq zG)6~88!*zN>7+?jBPKrQ-Ll3E%~H0g83Lonf|O>$e@0BLdgWLneO)S-y6FnznN0Zv zr07!D7Vbhf*K=L{@~N!(U?Wpj>N!8Z&5)B5BrWdgZhjoHGT`I_H#yV_m;% zz8N5w9Zp|U@5tKzOG^klhGUXyTs1yr;ExM_0>hW?qnhn^<+S1Tw_`%C<|*iKX}%*n z-0{7+ns|21NzuS`kua(?3-x*u*DE48OlhP(gVFx82!;M3Q|fg>7}&Pguevd^$7aV| z#I-fspb!jEfDSyctt!L&!l5i4GhEnysmBx@-6b8$*%{m-yL6o zUk_fN935PqygeQMGvOO>-srQKl@_bxSJg=sOg0a5CpOXmIO9nf1;6}-f@`JNwwiR` zq&Vl%wxeJFZO|R;w^grq%6`r+LV-`vHgvnhWZe5R5`jySl9)^u;6hXZCIC*B@Oda4 z>`5ZV0{s0Y;N;2(6F7;$jARJlWK6P|lu;pTl`j5v_xx%iE#dZW5pR+#07{TP7nsvin z*WBf=2Wl_Bur8`Aw{*os0fnu1^-?C|j^3fCgj{uoAkC15TmBy0AUv6hz|VnB=Ve!j zP>dJ~)YIz_h(bCKLy??rSNzEpL=^4H;KG3@5_i6sBwIlcSVNMHU?^^ANQVC{sub_n zYOu~pj2ee1BO+n`_c2H+1%Hq~!_y)7tpn4Pc7C^#LV@47vcb@J9#h2R*K3rG#Fq(T zon6q0F%|!nM0I|5!InW5X_uv$Mkqt0w*$V~{QiiOh##?Sra2g?%HPd&lNg<&F{e$> zOwGV;0bs0)n$_-<%=_0^}6pG5GB_;P{Ug#}x=-u6n)nn5N73PBUmi zQtfNF_jk~X&~-1F$1(T}ZbA^mJ0O@a&B^B z7p)rx-PiPpBuGBLs)Y?GLn-Z=I_n?Wqw?GORq6lNIAe2uU`toxwJrb}^#8s7i#=EW zfAIgjr{6u?{|c*IB~Je;*-DApn5$*RExC zz{Dx470y|oJ^|1LpTWQ8gdtDQS(r+6GpR8wv8^jQ`$#?)je^#BSu}SNL@AV(f|9knVZQ8Z% zDp@y+csBlL09oq|Og+cB9X)3Sn{KgHH3|dPW~_t);4=V}-@4M)Ba1p>BTwvOq;z)4 zwy#T1qb_ik#@E`=N@TYL+d%rG%lvD8fSr&e41HuB@EGh=QB!rSN=OHF2kItBH4!w> zYf!6Mp>Q!6g3p2I(tKefJ9@vE)1*Z;?Qz&*xZ!ZaF?4I-l^jx0%Yv% z%@$AzwC#b2aOOF!jeMeA;pmfNu!l{hxOcS6`>#KTLta|qi%yTtQc1`NClTn2IBxwdEzEnPpXN91 zXNK^en=Z~&UQu65$+j1WEfd=}NJxZ&ez$e~DS}aqC|x}PSi6|7u`3po=72u|FEdg#b};u;dte@H@n?bfL{4r_V;S5oHyZ*qv5*xANt5L7{r*e z%_)El`d@#r|J>F8o<4oZ|9UUK^64r#;7HoIEBgq~8@du(R<#M>EUARnGT*m6IEcEmAZDc>wM$pc4q4 zoDIP#Nl;rADV>jEOsA)Wog)}64s@b{p@@j!KBUK%; zlxx&Kw6`l`$p8QGx3-u`P{SA zzVtTs@LTccIsaoe4L14=RDb>t_6BADzh_ThJe>dc@mupnN3zSq`TxD2|C$Fz42k$Olz3e!sI_gT8rX->0<>PIAGO8Q4fP$ys@jxasw(@NJ zv#@HO0@2Yap$z=f7d6c}$wi}7_xkeng-k1CKoqGn%)eDy438m(5ur}pWB=1K;dTgt zb2dE`={6k8b(N;00=^GAP$@jBn~2Cs9-90aNS#qpBjT}4Po<>Rj_c3uh9bsKXC9D=U~o2<&Ur59vq#V z{;czBP!JQo<;qOtd@rVm0i1vtnvra=(n4sbrSY{==o$~Jq;8d59G_mEoF2c-ckB;2LQ|{%DI|$;muXf*FBu}z^9+yzB@g7e{%M6Ac^X61^~W5LBGt) zMY2QvC7UNW%0HdIJ3Tql-~OYA)6cx+XI)7VgvVezNAYs7lYao<u;Fc9oEuB)^?#et`T>D*vyu3r@~< z1#P?FabNdPVs$!sYx9I7a_WniwtLZ=gNw`K^X4tdspsrWJ}B)rD5vFy_9+|qtG5@{ z*_^taw>G1e``RC7tNMb{=L0i8F!NW!%wJ3p^-9IF)|5cH!B{QBjcUu17@~mp9%f@#35iksgRHC_^*zyG%uMl#$d72d(WT4qm_J zwfOkFqbS?J$mIs>KN$j8B%& z*OO2`zdq3=GSNZ)r$`=fgtNS$h;{a>fOQx{JbTi{jC{cAY?pY83H-v0;t z&mPYI`}nCtA|b5yDPS!#!LR-huMM7{Jm0^K!`{da>R7CqffJSx34HyofxJPNLLc}w zJ^MQ@eW(d}z}j|5+ch@|I2>?o6NejWPaZMTJ7 zCtNSr#oV~Jx_`ONuY_)x09Q|g(`IG!-d1r<{C2qZIFPJ)EKW&;IF!!LvaC@#c8LO6 z5UWe-x>s)X$;c?xeoB2y0| zf9t<^$p3LKzd~+YF2T-royJg#72|Or49&zUEo{L!M)j&+W85D%D^mT;dve2~;wVa+`tlt~<|7%LW%;o3r3_^glDcI5g}V0g^H%GIp+@D-iTFcCz?kWw=qv3P8>KY1TIOYJRLc!}YM z<1tP!TNp=%D%l9j;p1AQhuNu0Xax)K(Vjg_y^LU9dkQ(e}q z>RwB3=Ws8SzG2_GUDV#IEy?v3nvLz0jKnB&4>+T6Bcz*1Hb!|lwY5RN%oTm%R@q2z z%7{1DrzyEr!6HZYyk5OhHCRVW*yVb7w5Md~rsetD{ zXD~!(D8u5+B}qhm2x=P?a2xX$85Y?pQ<3K^7GFx~S#r_J^PDEWb<_M~c?hbU`)#<1< zF%ufWGE-1W309XMOZb?q)OVOo946!?n~~x;=(V~mNOAgG%KX(MDeH|eOW+J^jk+h& zodxz^`PSJqQYg80vC2K=$CJy`gEuGdkB)zQ_p?<4$b9>1f5{S6#+inKV@V#bUuh(FhlGYv{3mq-Ct#*8`-d=DVo14w5VyS$2E67D)-l2 z2$jY5C|th2cz=9)@Z;;_7HlOrN-&qt(W@O-Rk()vDLZ?6epyLY)zKp!=o?n2f#cxa z<*WCHuTPFoFE3Ud0@MGjJ?6vX^UE6cZ*p2|0{_eL|EvVv&tyLO50;02P(ivuOzZ1msj&HvuO^lp{6V$h#<1Z$@Q-=D{aRc zkPvX`>0jun;ydn4N#z=cfo@Hc&{O62S#imue1XJUptA7fltMeh3Z|h!VS2Q?z)jR?GN3>GpCHqUYnrmRzi(A zf)CP0wD;VH+gh(yL%YgK>(#-si3RI`tX;7!SCa#B{pI8U+{AivKz%e(JjNkps4bgIx_Lvlh4wnm1G3xn zEvG#EYOK)})xlb8pfZvwyO~y6q1zM3BFLzzCqPv(02fb3j`@v-w)_i{)pF^VB-ME1 z?=KB-H}C+n#3P3Hvj4Ng+IXy@YCWmA)qMhfw*wjJpFfD@TV=k7<}HSn$&G0Gz+)kY&*o&1Vhzx$Y=X2r8T zHqgn@wO2w*Q|F~<1!6X2hFHe9k_1!-X5$yJU*BC~vxHG~WEH*QCq^Kvwb`;2!1nvJ z(se|AL9juaWCeMpl~ZcF5mLlT;0p1@ zf-bwfri2PctdY_^Rockir2;EtA!zZ|k{hwur2C>bsK!fp!WTcaR^E^Z4MG3K^XDZ3 zORq6YP_}foyEcR^t0*=qiOS2@LSI}oEq@P%8Jd+iZk=l>08+t?6+Q4UWaV>D)8x5+ z=h|o5)79nHW6hcqL0x$Vx5{1anN@2#TKNd2Lw^pzr*bR%A<0{{-7P??8-NykrbE+$ z&Vl-*FL!hf0TVVDlS~v|zPn#FMroy zyftmytKEXVyzBR;axl-DdxOgPb_6tsk7}$GEG!=}WjL9LP_(Uac>~$nEEe)2PY9I` z*k)qZ=3g4UhpR?9{qUk1(>?#{X~%9qAbA6K#>9Jp;PQVs}SMTH$2 zJk1CrA&H0J^6*TRnc>29^8(uj;$VNhVrr%Qx4zhy|C;2#y%*2i{BO@*ym*lR?&H^N z>bzd+mv393`wrx|I~3pUT55X`)+z_3os70Y(QLyK*;10rn)27C#I7}I-k6Z}MP;j1 zM5;fCDD_SLT=_4NDJoN$$8|FjV1xX(KiGR-%K!K5LH@g!pL0U0=~rod4JlBHeW&K< z>V&{Hlu|+uuh7`mt>_`a?>C)-Ls+WbMHUXZV_h!N;=T4HnPiAkOF(X!;HGLph>$e` zs-BSm9BV8{{KFEOTVd0n9)W{6CO05TsCb!-=lrw6;&{;n>X3f^)O2(-Q|JG)> zK}&6;k#*KujMdOr);<8hiNV5}cW_c-oo|;(JSH;EX~p||tn{3s-Pm&cY{_1Z)mz(B zE(nDK<4^?yy=SIwKL{09`%h8e#yzq@KL<7M_3V21lyLM)~ z737?esFI@9SZBp?sUzerhGt1i;^yl|VC+O`MrMdj(VPMrW-wJIgQoIYxhdsdr0poE z+KC!S(al=Y^iA+I>I!Yr(7!haUM;ol5;+2_kRfO-os5Z zoE%(39P?9DwlhmCao%6OZcs!E`0-r=9TZks8HuOKCvWQO4PH@vo#$g||Ig)`Y#yV{ z90d*g|K48t{`cwNVgJ9EpU3{QF#%%EBIle%Doh1tB*BbiIGJ=qk|82Cm|ku`aApBn z@6f0a;T<{?JL6H}&y>`vt?e?h+?i$VGaEm^D(Ht%g!!HhOZq2UWi>IplI!M1+K-T{vvTsgkFpL_nR zcM00lPyHK^02@R>ZR^!%nGpR-jnUDZ8E4i@LRPRRP=u% zhnZnBs0hCco54EJn;3^W_0uQab| zGuRq*z0KfKy*!k*1Se-TT?};{2|xd{b~2nsZLAv2)IX)iV;8<{(`ec+nqbVaaLh^k z<8ewN#KG``b4eDd9>7EaE$G!HwOuSX`(y-jSYm2@c$0Y?`yTl=VDs7f%ze-ymi<-B z{|quTp2rliyY>Hm_F}Ntcm2Pg^`Ab-|M&5`bNSy4!lc%G2va!1u}uGO@>$7JRA~;X z%0<=d(u4N!a23{k6{cCkdqk@L9+G*&?(Pjp9*->BmTxuiwX#sip;9e#9 zv-Nw;#=BF7yjpik*9Jxpx82Zv!YbiV2k>)aEQV7QUeWoimxuVXj-G9?c);VX4(iqY z5mF?g!FGx!LeSxQ3-}D^6z)CWr}J6Egye{2aLD#pW&NN%@*I;2kl7xUYOoS68RV}$ zDp9}HK>Amn=cZ+o%dgE5ayM)6E;?2LewB`yf!QpYuZC8iBCC#IB_bSzA(vZf!n?ZFtk|bj-Oex( zRK}3fQ!5X8>62HcDg!9l6StiLI3D8!vxRYXsFKYvP7c2%*I3cvb5ioP#n)pkeX0pp zfKn0_!SdK5t=P8|xU&pV!~`5E)pT<8tkW)-pV%uH-ZXs%$n|MVNQ7Dw$SXHdXabbv zsXMJJ5uv!b_7z$v=Ao_X%c@m9Y|Hi>@I@&uq*=Nd_P6kCZsTMmR;j;@P2VWo4DlwG z&CyQN48iD-B$QPF$x!9j9w9P<#+|<-!{X|4yp|%Z_pSvozb)j?glcNR`%qsQfRms zmYIf9CY&V_KP}UHD07(_6?w^q~?dkhB zZ;vX{M$#BwqZ%l04lXW_&)>g#dvRGqc^g+*>0li6yRBR3yVI`!vj6tBORvMOvD2!D z=OZ$MIH?~U)vvR+=a=tK-@W;AXp{bf&1PqI*d&^s!3@qQ-<%Um1*@d!=+*nP zgY$zo7fTa%^hzRIa(y-Lq8n%78ge{>s|>!9T>t81AO>rC*m&W$6k_W|Z;#cliRAE2 z?Pp(RC6rv3ck~wHb@-+{w|P=8?;(&>T?y2KU42UZiKGH`R;^B>A8zHeEt6N>y?6lS ztm=(Rquo8iHA)brXBioJ6H5VLRk5iR7q~D!LNQ#_-Ne{fJgwX@OdBtEY>=t{YDfMU zo*^=4CNvmDg9eaxD;Fl6i}Xd8(+trmiK7-Yx=mb=V~FE8HgO=Lk7lYS%|ss6 zUvi$4@EQ0tWLc=5zI!Q7Chs*#?_(0e_&rRb_gW>IHg}QtgJ&ZP%z?R)73RR)z!GyHZe)!)Fx@sT%==koIZ6bid!Em}bmI9_cYQu_P?xN>xtHQAiUP#ko8^YIu+5-dkjvj0)Fy*% zCV)3|TkysIHi;LW+~X_A>%SVyX+=G(-hQl%rOMK(l{)sRRq#7=3hXfLpf1h4hPM36 zqSbQQ7e?K9(~ojZa5wNMx5TrS_wnbm!`yfbe)|msWALQn#`p>N{rCR@Y>E=6CHg3y z0qi^CmyfqY$Up_G9S6i1mzG+D>3azoWuF@3N#@+hdHz5?&4D1$@gi?;Ulw5^Z*P}- zx{@6`cztqEcN^F)_)8@x);(3&guJ_`dZ$s@qJ3yAFBtDBSjqwaz25yVcR9Z5W%a?) zQN=6?O6joI^K4?`+of>kd_^b&x3|OPZaykVHgBVA$v*zSXK&9hkI&_8uDAlfqg&%@ ze4D%kZ~5q9lX0*j33WHw%iM>R&rMLi5z8aQdMCYLs1-DYa^sC@3il$9FC%?_gMwwV zY?j+=;0T4zHUCCz{xsZXQ@;x1y2lAZ5tYK}8OmmuQehD}d}%oJdYZ%Zg}P$=qt^CPI}ddcvK0=2tiuZ zYNJ(@*=KqEq5?*vrm?Jij+zAYPk9)WZNSI{%WyIQ+ck7n@^Cg!4(L0IGO)7)I&jWN zr+jXPQ*x7l;2eCw5eViVhT^|JgU=wGGY~|e13DlW?|o>xcSt>#4%Kg^2I4x&r@Bji zk;$|4$Moln%u}u?tloo)3%mQ6q-HI&JvPwE(Y4n|OS9*tXa!<6WT#rjxRNwf2WI0p zsBJC*SK`(+ZV8*^jjE%o=oddX0$Hui#;pLh->sGE3pyQ_sCK)x%evO+r5V1)F`A&r zBcSCAX9)V$yr_t|JCkV#!3GW2737uHPO0riND*s+>&F)hy6gg*5-J$6MrQX^X(NS~ z3M4TeM~kYbj@**OCfye}L^WO_qC)XgYvm1z&=B-rsH7gC?xkf3%4FLO6Sl0{*r+lp zM{x^%aqqPJwG?J(R^qsIZm9rB1vggoz{8N04>?Vf=Y}rOZug$9F1H?Q)*LSq%WbRN z<(^r!rlXb5OK6s|#SzYi;8P{(6^ec%0Mi1>%@if#BThj6a$t7Fgyy%@vKH6g^ZgaB6O0F?%||=1fG-~s;8QtM zTHVz^<&-<3m%~c7+$%Tu!x-Y34la?0^>gFJfNCr)LdjGoLhIY}ype!1#&~%`p90_s zl~iGCPz9>010`NG<2(QWg~1DFVdox1J`UAlFPhpT76^&hClz`YMj`E3BGA9)h`Is? zWhB$mZLPqK|Lx6O)?#vK$=A9me&Mp$Jzi|BeB!Hi6^9@-O5HGqwD5{I(ALrfI+K`; zU|dv^e|xr!PYX{v+8`)|cYfl>enaaO1x}8|**Cf4`TXyD5%fSdjp%DUhRR zS`oqVoUEJU9_;|Q~a}$hJ+VAvACrSKsS*r^JL2_ zT?F7sN+NwXC34zfL}le`l#R@abBb&zg4u@Px3+Bidqegzv0{wGE9*)91+c2=*?Ty+ zAAZiycm9uX65(XBF)^Si|L3#)7tZVx=S|ghsNXjl!|gBsYWA>$f0H}7WP(r2XN$;R zwwy!}5`%oWO-O{gbUIWPT95vtu;~&7UB81{j7Nm(5L(rBVlrv2bPZ!1$x-QQv0;ew@Z%+wjB6voCcee76%KhWtp!0Zpf*2oG$ZJy2 zdHm}5;OO=7#l`!Js0*BbRK zCZ4}e&Hxz$HpLXABpLz@-8Q&DY@Q{cFn%_iM`UO)54tI&V734!XC9ymptRn&l|$kJ zc-gtXh+UF0X_&q=`ZcghZU+B=n8_E(qtgq(2!K%}=LDzxPd-sf=nypoqp6z*mMz}j zOmU37+$b?v?m}*WwwE0dj7<)~@(dYVbDp$V9CQS0fI5r&9*)3t#5L;M8*v`Jf1VTgCR(dF-Ft4tNRl^p>|NwP{@N%^fEbz_$ufSA;I^ zI9ud@@SgcSR(r}volB$s-7riW{Aeu@%~;$$5XBVL^-HnH(j7BcSoCa#j#(gDpz&?* zcnmOoKO!VXFnPZ~G@o%JYFWoK?)o@?kCQQZuZ-kgc9fMzj2pc1Kmgr!Vyq?*O!ZfN z+ytq)Fmqu-hfUN4%6|(40gEXJguMyS3~$8)<8`jk!uqKFviP?UmfIevuNoVeAf_Ww z!YImu(IODLq>oft??Tv-6r5u5*EcY*8|=ElhMJ_)%ahaN*Y8hGe|r0J`|`nxB_rBjJ?uwc z(co@&PbwYaH5-v%CV8a!Uaxl;vN??7gK-oOJ z5-<~VjWR$H(ren=(=PZ2M?z9CMHvz*P8^dP2RtJ}KTRQ(h@FjzqZ7M}*i%r{wNRmt zn3YvjJzs4EE^Ufi61UojT6yC}@LL9X%_g!3=RaS(-0lPcpSBL@^gBCw`TtLRU@_Gn z&Bf18u3K+qzE1>W%nyW)f2;8}yFv?Jt9%dgyI`TAkUJH0hau7zP#%c-4Qj& zxKmQ|_{Mr$F8=@6d;j&eZEaET{H>?Jk$X?<^BVIK^APhW^Ca_OEdT^bkfMG#Nqeksf4ebB01Lpv!uq`&2FSo= z&Qyzh8u_@|u{r^#!-_0h-AAMws!tD0rB=Sh#a@z>OQ4Otg_6G@X|Q*HwvlG@;k4$p z>&*&Y5+pSoh5K}ko?O8#-K6pfUDnXfJ#ok^~c0P`8t=} zls$dNCTEMF08rCsj_!KBu}T4C>>Zo<<7CZe3SHHd-~7+tG~-alPv`>~B*n6@w5Ev# zPKPg9KIgVH;Uy(^^T&!5T2;8^e-tvk6-*ZN;E+?0^ip!gmXEt%{C+(APYCUdXX=T= zUg3vemQdfF40}dPirmB{jYAp!i;*x+GAEMDwt#;O2EYC~`1RLce|35;fAJrKUw{3N zhWEez=it|0|I_&Z$b&YRJSJVE;neMZ)$e}oI`AsopcD2sjNhuo@*P9Fsc;_c4#SZo z-T$?B|5tJUi{I5Ek^X(4gz#?-=7%nUdL3GiUfl>91ci-YlQ}0}-1{}Y*ZtyucFDKj zt_zbh(wqzVHuUu0{o=Sw-V?4END&b+r^nft zTT-sC79SeUOBJ)cvP9m4D^wJFT5DW8TniqJV7xV0?0=1|tPC7Dh+_Xu{jW>9E2U)1 zKbcho3bQ-FEo@%M9S#%W-7PR{rv%EcYe{7|Ie)TZ!57Og(17o2+N$Wm%gfgqg3r$hgP)*!9u#mUc*YarVer#As|UR3^wY!BH*RPJ7__&1isjTy|`+|>6VVlYU@pRMNKusy%ctD`}6Uc zo9jOP`S}BzB<@V4cP7#r6RBBsXXHq;)~?N^cVz3%l6q%Jy+unZ@hN&qH+HP!(93^1mny<8#E=y^BR*$o9S##Xo(-(`!U-{%lpimd~`i zp1q*w9^3|GFIbF=KqTr~=gF4l;=`ZK%J-7o%UEA8P{MD%^%xoMrV}ZwmOSYt8|Lr%I&#GE3S4ORFXSgJU zSjNrlGR-7kD83Hlmj&$q}tYDbtj2CDp;hIg3H(V--I38}&U*Be&A~&W8Pd^ORTMT zDXw!D9-n;GKk6U#kKtDMqUZ};bI~>4Z!4~~!fm$3C02m5;Q6}YrDQ1gtC!E7KE}(a zu+}8y5hL%(oY8>vj&tR=Yms{SObcSU8Oj;{j!d^C(|>g|;gmde~>IIt&}I`=(ZE0(%_v#mm@^)M|WsmUgR!E45I zY!DNyiPc@8$)7sV^gGv&lEBGk=PJVoabj0q}c#YGb^%oh-Sk`pFBeI&zv&7lK&M-UG264 z$g2F`CyySK>wl>K+~t4$2tN-8Ss>f{Zv8KO^DY!JjAvLB?SS-3dBSZLS^U7CLbhC; zv|0)9E>G+qGEb~rCTvJvCiI^f>zHjXmR$59fO&_TGk)|Xizn_5n-O|{60-Z*{HpX{ z`>q%VgB{!iE9n2jlLuw`|LEcIUHylT^4oDn=bDQEQ0b3V`Ju7yW6T5g2e~zPTJJpM z7LZ)ycJa-;vF}~1MB@PKtxVe+btikb#x+_mbeN)@c)K?FgQ+j-G^qZMyU#cczM~P1 zCu%a#mc5fKjcN26E9W|8;cNTyHmOXcpt9Uw6E+X&F<(c{cjp(H1{9t(L+@+sM4^CvF=vUogj2-?wS|P zv#o7zbtA2aMZV!a0OBl)+-`G<>uysicyjelm7HAbcC6g-XSj9M6esKMUbTmhv4PD+ zkXO~zUW2Lnld0D}`(M5MC#hu9EE3ym1DoZ)M_-*BmFxd~_2q+;JNfTp{BBYHTU9X7 z#ju*XftUJ|%Q`)xQ;G^=`99w|RDVKw^0QV%8j;Ba!wy?Sl)4ukEP!*PZFciL$}ibA z2%xX(7asIB$@|to@fv$tmIPF?OPNy1W?DomKJy9~HO-r)33IXN<#dj)`fYrwzIJo1 zwL4i&rc53bkJ#47tlD!O;(pyO>0H6lm&r7oSLD(SgVo16!!FaN+FhsOliis)h8QJdf6Gm&dQo<#9V_ z@HQq^)BPqBGxuW!COm%Og3j1Q7DZ^qt-sc4c6QE%JdHvsm@|9lVQbEyaf97aoJFWv zgUZ&{V`bU-v653&6hFY}@I@$F^hUb6yDoWeZrOGKS4$JGSHZY>+G)rE%7_Z_!f{)J zbf(2uUT&(|L4k)}XA9_b8pfeqI(LVDvKz#){kOy#$9Kp9#hxv79vk7)O_bP^@IYAb z<)I3 zq>KhjxPE&S~@(Dv)Y?2n3o5c6pOVw9&)Eb`2 zoCR6L(&Eihc%&BcRlY&#TK`?l@o82%Ytg{UTHphj?d8BYYkEq&g_B5T9P*FYE5o@RV-fGeS zOKHZvNqGr;IU#f*pTb|dxc#b?V)1o(Or$K|oxgr@`uzOulc(SP{6pajUDZZYnKY*9 zl5}ON7NrYyW4a|0f<;KY)FU6SF36*H=-R^s=Gqmboj!Z^@~>~7KEHVVcN@jAdXh2M zAvk`g<(e^Dgr_upnhAEH-BiC1BPN;`un@54pOG&n1obImP;{B?w%DoL8_$1A>L%

qHhNTxkpHn7(V#`--T7B#F5v+9=FaNICvZ1Nj$DcqZXm=9+G}H5vpW4U8#c{@n zJ~?lH$=8K%*X&OrF!5=8{R>Si_vcPj{)GYR^x|bUu$g&vEZ)9R&Ym~EM*Vq(*Q;I` zEmrL8d36`j#`Byeo?9lalc}3KZ9w1^0Qx4YfW&Lbdk?mP(cf?Frd1v~{-QZhe!-o% zf_}v@&wujT$>Ery{UYUK=D*SkpA?}54JeJ=Dm`Afilca1mDez-)sFbPO#G@5{OM{L z?RzUWD0iom5Wb$LOw4%{wCJ$hq}=6{hEbNXb-FA!DfP(S<#x0je>_q%B3(fcG!IL{ zB|g*!<3SR}v$qDMw@^W~FXr2=t?M#cLG4UPzIf*L)r6)^t|Gp!cB4K?84bb}$EoZ)*SyY&WXJ}Nv<%; zmf~D)?J8c_DZ7+BDPJqT8>rz9sKkuIzaCR!L{b+cHa5hWMQ9k`}nzFiaLZ|BNh?P6e4& z>vg-<$r4>@G*kXrjClXmjA|Qd#oOD5!PK(8=G#}5Xf+;xRMS>n{j!zH`sz)xhOMi% z7TBh%v%b;GU!|#G{0*&N-a1d~4%5mE=BpI7)6_L+|M@ep{}r zPvePDBH$$wa!6MJUq@3u_E7gua~NWK8P zC&R~8lvId+iYj>0>;3*av>+coJXZh2W* zxsG}PcGaehKtKK4#miT(pT0ufBIs&wNtszc-Y%82tH`jy|w@agwSc z@SEe43uc{-M7Z(`RfDA&z$Az7`E`Lzj zAfL{z_M7?~a$=nXH`X?^;xT$K34Kp>uQwPDwWdjwsy=uk^EAoVLT)I4RE%o8hvm; zx-^r#TfK>Gwdhe8kX|+#!he4t@5v;Sq!*Ab>5|^`WVD(7z0R-18MsMKub+}%!1o;e zsrVt~S)#bN&1X<^+kA{oTFq{^AB}YFaP2wn%I?J>SpK0!q3s( zwVL0kySnmuse7Y`pS2;}y2JL=S}STvw_66P9kni_ZejJ3G`tQYHe-QDrC<-vkQ~+H zq6X#`UHOXx>@ubTd)~~xUT(V+P~a^5$c4OIuFZ?jxd23L;KDthwBf=l4-gnnUcx%7 zzD*lZ1l?CyLpNTd@Ie04XXQB$*pM83<%oc_P6cZ~hHZBY*t&|&m6DfEsa_a9S52&M zL*y8 z`)3xWEFj%e{mSUn6r(TajJSQ1DNo_y>t~llVi8UfioBPbIg8t)dOk4$1!^j zV$KN`*u#HjOq7{1A$e*z|3+aX{Ff)YbgRt~mAvh%3MQ^!$;3BYs|5RXWUK^{UZ(ye zq9RYR?+n`r6Y0((KBiIr5&rEVt`0oE-_?5jDIzRZTA~j?*H8HxElJu;BhE<`cdfrSH}+?mg)b4o-z*PU{Jm~bSJB>j%K&)T3?a^oN=*sP3$dt)2?k%_FV7U zDiDgD-(fZI(;x^HA*0bo*V_son&zQuq?DE<|1-RlS6rH(SNUTW2MG_YiJ}MoTtgx! zNy%-r9U_IXWa%}HT$d4i(&iXdTYD`VtHBVHlqT#o2GBZM3iojvfNJ{L5UM$kd0H;L z>pW}&k++Wx;Yk_LkSL7Zq*nOxD}1M3HF}aaby-^v)WT{><7Kt1Hqb|-tLfE{PUz(m z)#NtkV+|MWUaz<7OVBmM=@Bmf=bEKSP;nxq5!%IjI%Hb!gxj! zI=P}VCigFbl~M@zzEXsJLV2}?;7#;o7zKe>E+DS65|d*lpg8TsYxk_2HY zI{jHF2k`$0ey2bFS2}?IHxK5sf%-r5r?`#>c}HV9xylkU4I?Hx_xs`|>D=#+=~d@` zUoMi){r|JGM}DDc$TLCCpF9Ur;|BNWhYC7Oc{m1O}R|i zkjz5aA?p8;Em6!zD2L?BlP@29`3-wGJq{jzbxco!aS%+uo;;cyJvuoK#>Xc|-+cXO za*SSbDNFc}%%x1ka4=AR9rpvl`-?CdBoUQUo-TSkW`l7!>y2qV8_*;X13}|p%-;?2 zvR*-$0*ka9k^usY-A{+)_{;ur|EM<}_mBRFXLlDrJpZqro<4d0w7&>$WsJu2fAZkL zql*3K_|cbl_y0%v?U7ds1O6hiiGn0r4U<0bhHGa+<3Z>pdFwy#bp z98#!n&j$x26okfv2G=y6uz*~#We=m&Cv-ArU~UrXI`5NnsXpdY$zpXVS(>syu_9Cu zN))*vLZ;b7W+@{|;$kTgVLV}~PeCR$HcpZ1J0*J^k~tM~CJspy3MmeWVDSGul`PPI zj6=Dgi2yj}%Y>y7pGABo`kl^`P)s5kE?BBljQqd<56p(7Y!(X10KAk2Y(dj2!l$@? z?{7!#T@k}?1urdDb}RFh0FXPwoEQ=a02C|Qd}B+1f* z3nmCxY?6XJ;7ov4boTbh>u3Mt$*WFhG#Wwt;1@&*2tbnw4FaMQV_5PGbXD~AV^DJHf19RZEF_I0 zvRL*~6lF;vyM`JHMm~>a%7bj8K%>m>K4m;yV6f!G6#SY4$uk-uzQ@tlqgv6_zDun23pZ4 z&O*+qAY--hk_m|zdBf8ygyF>x=P&+7&f{6igg68b8kkRo9J z>NIGeD_9|kkW;Nwe#BaiQHtclX`vz+B^ENaPuJe1}dEeXcw{gQtN1gZN z(un4ZERtaoF}OmtGvlBZQlVeexYs;y4MXWXUr!S13ryIGn*Jg301KkjpTh zMU32}p=1O!>||fyGsK;P8W^4%n4PAA?AxheYvFHRgyG+PNdH=++;98gVx|$-pkY6W zX9uLFp}`1W2O9Is9l>38kunIs5TRtE)9I1?ej&&GEQ`{pyZHFk6iphl9XSE zN*+^;4sME~oB>0e@LE%LJ~D`J!_%K z?g&;z4TXHm&v96{0hxI<2w21<(l2+lojbj{@VZU@d3B{zw&2%H5VOnfx*DauAXErG z38^&fMvf1-TM;yH&;nV(e7W)R{sBDuouyUu_k}{Bnq&QhVFan#n)bi<1k5dPnrlfO zX?WN4Gwq=F5ymQD^!6*@^3&xAVbGI(0&F8jgKI$`T{gi!ioMGIQh@!^c?C?)g^Amc1OwvsU6Sg99R)iR z7&>x$hr_-9`nlqF@ip1!*DOuLfC(~!=vmwF!0BCcf~bOBjZ7P%k-;J7i65Ib!lP;< zTr|b;YMt810`gL?iF-D$@uO8(RD^z{(8BaKGGFTKACjx3RN|t##LbXiACbE5&3k7E zw|n(^W!DYRyFLaMdTrE|C|s)lSSFGMgpdEhCQ?)u=l2gI;_u$^3sA?*brWbgMqT%K zOFiL=LpA5jbBhJ=0g3CVV%}9BDo^X<20^M%0Hz#sPT}Y)CRn|-kV zp11tCo&znrrGw`?digT$>HyX^!{x+u9BGlF=PS^bn&W<<=Aa+)3QC({5-vi?VIbcy z=5_Nh1)geD9Y)gG$oalJjHENNA1)S|q~i$w6k7eHP6mqu761``)IaGT_X0K!Y1}(L z>ZK1Jjoe}K946k`sMjRH94Ae)IiJ4Z@*-t|#d73Xw4`_+dWX@8>Y9crA$w&QC@7hq zsHfntr^mozlM5cy@Gs6VP_?o=QuSmZ4Jxv(t=T0z+GbqSieLFuHZoV+9nE#S#r>k` zWFATeQjKR%3pnC_+b5?{#BW%D`7XtfjL#q z>UN#soIQFM3K_;Tq$I_A4@5?|hxt@7(&k&kWW(j@oZXZKsBd4PFDWuNb+9;jR}_6S zf08SjymsqS14}t;jk|aR5*HQbO9lEsfH2HxpjHfJUA1oU zb(r!P^vu^Z4FTDFuoQ@-=4xzMnL=ccy}dXq?$D}Jy^lhQK?}nM5{j9&jg!h z5xRZhiPxtLSfmvS*JdDTI`c1ITOgrm`gRbm1Tsn4(|2rgwy4=^?BUe9?-w>X&0>A52a9LF}&FMotsr|Z6-l3kRHaS4#>+&qNpt(TnS_$ z$9oeo*M}Lb8Ilv8Fkne{MAVf)`{1i@%FLk#(pxdP!h>l3x$yB0L9Fu9O+b2T!-5=s zj?YP;UML!kkEG|twkcC>axrjh6;Q4Jpw*ipFBCEL$zy!A38kFk* zS*~7dG>hNkb0Te7+Z}_s4v^)#y#~lje15Ay9@hiuuijkx-kk2@$Gbe<&8K^H>E}`7 z=`O*&#Y#48cT*|p{NQ*__l}_31W51k_Mh&ZLb(=BdXIPA>E0ojYptaBc-Nio-2&OL zlAf~f9_8H`$^u220|x)x6zO^u@OVv_Ys^6fAd3~WD{5i`WNGPk2xT*nHf3Tz3KyaD za_6Xt$unrsD7ol*0ykyb~;5|_V(A2P47s%tIqvIMNS5>|lHLqm8t=p|<^GdF+ znlY+d$wmP4q8mF{NimtTAd6V41j1TD>@<=rjj3eBe(#qD6^^d6f)0=k(qfhbRI*E% zQpsk^zFa0gVqO78NGjPhiv*KI=*AFeva?+1OOEc#-;j-P@;Wp6Z}3;G+_PhX%rd1c;{ve zJ;G3NT2&Kxc_pV)CE6^(;_uT3y(bqufFKn08A;%~J~@ZD+<=7BTyLzu8Ie#B_^4{& z7f2<779p(C%J<|24_J9Afh_I{%I1~y z0C~lhWw{%Ggu`uYo)8e;3dFjzQW|1SAaS~*8X)oQuHjr^BC-87^W*{YxSlUF%QGCe1x-}phwp%1h1U%!h;$_0vD~Y`) zm+%#FKC6XwGf zan^DwDAens(cWG0+9y!$q=xHUp&Tfc@T=DaK@JzSV2E@W-Zy4g!;A%lN-yB;6fW<{ zXb@0IYxv1(r9jV0Dj-ERwn-igW2@m+7dbdOZ4BiKe$oZ95`$rSsP3KqmO#0UrZsB! zYnHof>aUde$tsZeE%?Un0LE3)VyPC3A16I48UAZ~i(&!DuYU+ztz?bZSacLYr7tbX zj|xLCemUC$$d)8X)Ua#?AR`-o0Zi{MAY6}58V5l|&U zgh)OpPytc!8Qh+lr5N)pZsT;?d~kGzKfk8R_E1$=VY6*?RAnG_1nT+4s20ei-UXux zNN~y64Ui2!7zRjnqt*F}Xz>96+SEH~HIOZ~o4o@yY4jSasM$CO(!7$UnXSIIDnOzh zNWI;o1|TOzj41U`3#18UKEK#-33DJ@tYpM#@Ewh4JgGw30OT`H17g~30qXidUV>_71`z`*vE^_hj_os03u$=Uaz)h@E+Te+;+p?ft$#hU0gw=eH>s zr~iAV81e=kQnnbg)Mi#H?phx8xYcTo9(Y_1oWlQGdZ=4)xAIZ1p8;-KM6Chlt@^940CxpJ`Zylz ztCw^In7i{?-;T`J2uuddU3sl<8%UhNi~9r?AdxP>5A3d#J9a2i0gT`uUO4pdAApEb&XYYz-*E%*Y$6=;OyAL zy~e>k*CDOv;a)o7JM(d`@vJaluIuAo+}z!Hxv$d5ZR_Q}EmG!St|0GQ`MK{1%2i-~ zd{1}(#A;mK-PPQIue((~@7USBu<1MUcHaip8h3ZoPc-X49tc$oJiab|YX{tmdZP z@4EeMyT2C%N>2Yw{NYzhmY;`5e4R_Y zcQrqqPy9Lr=@WXzuM~jSbUDv;NV|19ukkrAgW1;UyaMKq+|E}xQEcaSzJ{aGYA~A! z(z=f4mDSvl>v@gmc^S;MuICjncjSEDay8pJpI5-#k^A`uU^cm*uK;sn2lQ2J@y;F4 zD-&r8W}^Un+b-xW6`*Z=&`o*9-T9z@n%v|0t2Ld`KTR5P=as@7Qx2i2#Dg>Wp9S-6 zVS$%csL|hief21^|E5r-=WBFj@xWWC*s~72t!nwSgV$T`rvYAD`e$u;R}}?n z2d}qoPz}6=8bY4VHYzH#CcN$F0|rZ7dW}+fXU|O-n5-{Twk^DiCBjmXvkLJ3GvjHt zXe7VjgrKqDe}~U+1>Tc7-+}_X0l$e)r;?@5!zc6DeWWlBgW zi0W@Mcpn`d9UZO2hbavse$7%1k#~+ocoUXRx#Efxz#uC_jFawX16Vb@$6vRBcM>rg zmt4rJojoZym_on}G*m#Nw($I7Tl(;@6+S4wEs9ulxr`@u+G97YEe~dMO46#^!4{uw-n^ZcOwh8VsnrCsp6W8hC|b%O~egnibuep5e#&={tXd>^xNDHujE< zey!=*_VIWY`fcLzs^VNNyq`tHTkHGnGYNfb4ezbSz*$sT`D+dD?gEas!ee#6m2_o( zcy|?fwB@O*T5ejw`x%waXa($<$y;dbltQuTOQ0dHI1mx9YnQ8Be8yfxx{4ZP-o zPYuxsZ+o4{3V7S;AIeTU>fQ*#vO`&&)6UL*t@V9Xc&ml_%kb`INw@cNNe90yYon@%%~;2?f8dV zcTI|sw5*8Bta>In@S=;-OF3sLx!A}LX*V87xs%ZvK1I9nCdzxk{fn8r;pr8U#d;?p ztLcJN)N1a0N?y2a9bu+n-o_Z_8Jk8Czj>;OZqb+i36JkdkekAkkx3M?Sn9Aog(DLl z$7sE69$O0{s8No;fG0dDz;q z0c%!RYPIGE2Q*mLHdr?w+r>3~&zw#sN~Wq^0sop`78 zp(>4wjtMK=9rJ)8-`LxRiVB7-LcDLp(uBovXVSIW`!$@5gwN~KgVN7D{ zDFSyos2HK%fsi`pjGBJ5W<#w7yAIJ!$5GVgW7Bs($Fy4dRmB-*&w+B@|1vr9|G*8Y{&T#ZdLIX{C-u|ae5s&IP>tx=jQ_H9CCYi7_rV`}UP zOJz8PF6z>u!WoMThs>r$MGr^41E^O){jypkw{PE?tM}iB5vx1gNZ0aC$W(v4)`I)@ zTaEn_TQ&_}9Q!A>+-UrovCmE$Xa1g?oo+vM&)C5n7-!Ki`g@{Yx~XoT{D^MKq^Abnj~0B;Jb|Vlgmx3SrDz1Rv7^QbG)EL0oB3CE9$ zd|Y(`&0z}O36#M82=NN5CQu)@(0T&58^GY703h0Hn$DQ~k&CAA0OY~R4TS_o#y&)2 zLUoS4@YD~r!Cx7v3E?mM$=igVAUit=D;1IKl3}f zNFp{|cLH@PK>q~Vn3mlMRBX(a{NK8bdCdtpwq~dIqS3h>@VhcP`zO%GdBW+vr58nY zW^I5co1jn|Z;HwU+PGD0IES?-&?aG`(|beaL<{j&ISDtJz{*sLPVeh!*jIkYmxmJ?W)3au4?zo|@YZM&<4pHe_RlWkG`pwiMNm8->q=GwoJTzQ2%a) z;|<8D>ovJTwp=Ar+DUCLTW(H9w{~0JjcmELNVyw7=H1DbYm1b(?3ll{T(&t1-I}NV zdUM!(0vo#$?^d$eK%m*sx43=+TS+!bpn34HE$lPkH_HLGroYCV`+ zO(2XVORs574>$qy4WUxQZx%ZD@qs;P4|ZV!4~|x72%9E=1J~v4!3pSaTkVpQZvnO? zp&%fvtPecd!49Mh6t__r`}pej)^Wl8&MBnq%!9>2!o#%-5^SngF%y{cn5VVsYU3-m zB+hqv9!EQqEvB*UAXXNt31~7(%`H%DPF`tHHz%fR??7n+TaeMxTs{^VElps36f%-P3I0ug+oDjjldpB~ zb&wX_e0TP1M}^Rr>pTvnlMHAVE?pnNr>owjYhy>QkKoBwKLX+t#=Ty!bP)=n_{x^L zYLg4HP<2BS);TcYa6I@;%+kROYENqS&x>DljRw3WBqt-Qvl!Y!m-Qs62JChk>hDnb zN-pOt+I6;A(x{+b0d})q+7I?_+_XqhEv^6C6KbeYGuW%N(LS(ul{=OgJyyL2w+`%8 zI%pr*yK>3WV4p@ebm@`#R)O85d9DR}2aZ^zk;K=4y#r-oiN0(IcFong66|eMgxf;C zHrVZT%SF(9<$~8MZCe7nHUjfK8HuHs$aeP7LZ>y?4JQj8DB4TNeq<&h4j84c9)o@mvbcZ48ORIV}8x-ff9-|SR3kJM3#K}`uSf5>c3#JU@5WPstFWF8udG! zZ^?_7ub&Rd%Xq?woQFb5oT-F7^DK$@k_Cq(gui31#7rSVp#5BnrZ7BBAhEX$d3;Zp zx_6V51uT{!jl>}l*jbN%hIwS#$ zm}G>;%e+RUwCS_fRjp*ode{*O<)MPjBvCI;ZJdRX?1eF*!6J-9 zD83(FtL5O4AmKC*we5F0r+M&0v^*q~{QdO#Gl(BV*$}~y& zbr`UK+{{B@-vGf38pBl9$I0GQ58PkUMdZV}Z^`}pufyd2{UP}~&j1*+HiqiIak}_z z-}&R9)7jfArCL|3tpULY0h2V01gf*%yy7^gUoOdcfz$YHe=cPrhJ!)CC!((*Rd?1P z_u&}K`AtvqK^6xr6_Un5FU1afs*j%YIr#^PRFnepyf5&Ng?S!qBZoOmQr04ZaMp@{_I*E5lld$Mqkh{&c8b( zBAmq#^cq_=6r7An8UozpI*VeK(s3AtQeiQ~BKL70&v2R^x}-<#bY5G5qlSVR_~68b zu}hwo8WU}(5#V4L<4P0};CHj!D%9_tbeP#OUUJD`syebl!Lx`M=|q*5_&O6J|? zakPYlrTQgg6rxx!{{T+7w<}x8!s)E9`2+pN*ep^;gS>{C#ZUoT@%n}vi+tV!J$Zv+ zr_=L|ZR^)Svmv?Qp$^{9dp=a0X{ramNkhp9PizHrLx!=~2@Cw=yed_zE01L6WX6J} zg!<*qP)exM%h~UA&SNs6n&j#QpQKdG)p?Ya#k--QBv~xO$ZcSX$D~Xo^d@Ejp)+;f z^+otoHdaEvWCGL{ie|EuJf|_8v9zyI@KVuJ8u6H|iFCp?^x<6o*0-L1yxR)lPKi3} z5wl($pALm^VM|9Em(Vz&Y;nM0VJd~|9)rK-?hgN^+i-3uIu#5N8RD7%CVdSN8tb%8 zxqJX~_92RyCQ@RzK?K>Y7K9R=6HpP9hAuF{{Gqn2Li;4;3ogwCt7jfM2a`@@Mk834 zsbXhfe#R7vI1;M+(=49By-=(|JBx2m;X8q@dXFA_^-b=!R9vSpk=~j7HaDWum__`C?Bfdz7nnq$;%7v-2qT&v41r(nTt0pA`uxSyXJp1? z54-EpAV_=TWemtf3QE0QSU1u_5P3`!yYaacF|a8yHQ`mpgIlq&=u0?xr*4OR#Ry!M90sl0x6 z+3CD~c4;%lXzbFRAeU`!m$6OtY*}L&iT=oyO;HxbT!v8oO-mxk)=jy(8xU=56DJu~ zUcyXrMPd_{MoSHhOKnSrkcw@uoXkh{?VW^1!@A@}rPdusxEXdj--oG?hvtMj zYhh1VA)%D&R1^=wRW@dz1I8|N^BId-8cqtWdomI|{l3>z#0{|iaett`>L+aBd#qNX z^q8t|t)eVGv|0)u5*DF#@aS<@ouh8Yk0Fn{HK6AW%-Z9p3a0#>v$Oj36>3Ush zAIU-%|9o<@P%6n^iTwFI-G7cFJ|5sTHwgFy)V$EgK#%2q-Mg|9Qh&LK4*KMLYS&7M zYm!%{%`;iPr4P%}*6GE$B7E_&wnJU>zjB6>w~?Gi`i z_@NajCCn9Uv?r=HB9j$nN;uTFy1#%UMZ6BFFVRZ=;WWg%wTh2t&(6s-qBB%>s=?nV znaR6#JPNN_dUW&%wKZ=|CwrQw>P2D9deGZJK}R#}bPOac1htEqZ58UixC#?E&DSi& z(;f0yubNt?t1tmL-PfSN29>P29dkmXb-AF0^roXR6W1Ado&13zk1NEfhoAMX*b-R+ z=b0iL&O_=vu(abxE~K&QUuvs_cCWU_4vU$vlh!|8IDD zr4BHAm#~Qh!vPc~mEj~)XFH75b&%`X1Ygj16CTGSTrgnigHX_Mq&b&ZBox@#c{WpQ z-ArA$uem}(!4GpSAd@6ZKs6g)hY_0r-3aAbQE0?L!HRXhpffhoq(g64G58XN0q5&s zhnV9wB*1JD;#wZwE+G1q_fCi)-mdmS`VX=`ckhQv(vCp=|+yD*QB zkB*Lx^oMLRS4a1nrQ};;EtCV?lfhy!a2D*XS}?U<0}V1FL&+kc=IhX+8aqcHp+oGAR!feX7hEzU8H8H0iMiC6#j1D(3Vu|;k_%%tny^miyQSfg4js05fptwNd2^B5 zn6Q2dlCa@m;M^7=2ZO~R6D;k`vM^wS+&0zIwyD7Z(UQz)5Ku`Kk1gkTBjYFP?lq3w zczFiPm@dMJc@MNmgj`8ba63^_fsdR;G+YoGDQSL*3VU&ADPt%}fKr2NpwZ&rQYH!j3IUD8 zTP^y(#S7EOlAV`7RoV!8&D3+tG*{;{V~Cap^@41XSP_4b7ZrdhdS^9Bs`D8Fk`Gj8 z{WKU8`;Xp)6gFj#yfRzynwxDwGaMMY3|Cd%2W@6^O#b=~gZ`mNG|qz>6+o6moFdCI zG60PXLxhJ+aTu67y>Q(N$r1q~DM(ILXauw3>&P*Wj*6CEGNMVs;(*7|5(XZ{d~`^{ zsW!lyW2+wLWLohiK>)6q z^Fw}ukQ_b|bLjJlCaSNVd`FzdhcJrsAg4KaAN3WPSJy&UQ|+G4*kTHoPpl!#l|wIn zIV*{)hs43U0)dFx4Wb<>Te4l`%OO-e+U zecV07=T~7Is3#XZFpm~YQU!Q-NPh1azniYQv(<+H9*)$7w;yyfb>kG9I{ z0W^TVb*~Otnp@(##|s;4Kb@#oFWe4$s>hy1V|zQ4=G7_9@I&XrJ<{vJ4n3~yPp5eG z*qg;c#i3eZd-*uu>w~4v1%6p1O=vN7qcAUk_|#bPCJFKUIUt_osYUHv-v zLksB}YFYr5iLx2Yj!F_L!iouNO6rPYp%itBbE)0K^GYhN#K8DUv9zZbZV<3ZL{rw& z0Q3;#JuJc4Tk@YD$Wm6-M?P}Nod^Xsp zJ9eWxje}KJi9cf|X}`G0#pQea`>$PH3+C7EQ2ik|vhcrlhrf26>HOOL@S)r3{8dTC z#U;?|stuLeAgg6(eXFpbSUAX7&yACd!va^)Pg`e;ErU=b5nblmKAy?M#;8-GOBheH z$RKZD1K+9&56r?}uIv z9*t$#GfxisozAH!WzfzQUYW3>Ws)+1*3*0>)W9f&H2odoU+xe{TG5fl%-X5gf^6*@ zbG<4KtVX+TKT#Vd1~O&LsMU+D&3r>94vfEQuFMl!(u566cyOwLg4}X)beO-0WmtL1 zQ+%)HQ+nx`eNe~qI_23oVq(s@LcdO@h!$x9FXoEN=Okb>LQ05pAuLUKikT=R3VGTg z^Z)z5{%?UcWLyx1N^jtbki~HcD1#c@T9MvH#;4V7-cvkB4+iLkLS#%F;M{&rW+@F| zR;Oe^|G`szkc=~>7L517`|$d>f6{+Idf$@klm1cv=zxTApsjjFv`InrMB`2vPxvCC z68yi%DWkwQ=>C+X3z-sVoY9C-EFz~>N3S_K{!;Z1yp&=;X;d&GqsNq@Y=PRzAQVc{ zq$%DAQ+mz8Wk<<{JZ1uAr%>n#>Zzf+@U^akNbZB$@jjVTLB@>5z*f;o?);5kX(sDF z=-N`?KMq~kl9Wxucg7KS1f7n+;uG_m@>}ERH0lE^XO6RaF6Cpy6i;U~215^82>|tJ zCg-lxDfBWj9v+tGadaBsrk}D2AfdZf1+Or-3G6GK0D&U%hHD;mNJfsE9(sp=z4dPYnq0jCO$M7WyN7Bazz{xCMSKwW*P)6P(z_3iDnG+E1GDMG0n9}Z(Ndr zJCPcO!trHh(V{Qr`kGN6za29n-zKR#aT6v6*kZ6}y6EA90|kpKjTph5+)z;i5|TpW zOo0dIP0DDnU@?_EZMqHAuwvkRtmxAjj|KZ@#^MS13w%c>S2r{bz(EQKOBli3i=Ohc zjHWb}j0JE_WI)+~!yF+s8RfDJssoKaSYM4E0~ahA-h7L2mKwDZECg_fz+EIMyAF9K za%Yym8-weKdm#hn!1V>nKbu-cD~B~0s`D}UI6A6j5=x^1av?|SS)}kOH+@$X)4%QS z;TXU<=!XYHVC~L6_z@cShl^j%(1TubGUrj?dIiJ0d0aQ^{Bky(jaDhy3oi3T7a(K7 zr$RtDj@6x+$%AuMC^SDi8rG`*QNAu{@x6gnZ!S(RFaP@T)sx@anh4%J{oDEF>+=^s zyuJA4>^J08-)k|?bzT$MSjbRj8h_wonPdFm+hQMYbNR`w+h%vAZuJpc-sV$y>+x?h zkrDp=%P-#tc=^7r+?hJeq}J;a<0f=eMIjyoPRr;~{|H6!NBxu0p+#qbF*CY>zFPIA znR6wsWjT+;LY4!CmiQjH@6mW!W;mc>DAj?1u@&BosnGE>ln6!q!CO01yUirr2?|^k z#LC>>AxRJkQ#M7d^Bd1{JnEn1*vchyD0510`bY*d!BTZ8uvlWi351#8|3B)V433U^ zubw`8dV2Zv#mm=EFAto3I_W>K`(#!d^c7(&A?k>UJlY!>(a|BHV|8zSZpdp8DoMts_-eDT@OZPnLc1TrE&Rr;szC$r%iF7Ymb-adMRuM z9GW*TWAcJuGbnU<{NRwB9Gx5;B8Pu{V!ad9H450I@K4DfV$K5ZGN=XDYoKmvnTZ~s z_T-%Pl9d00P2|C$hr3k>j>J-Aku+pPJ8J~?R6x8Dv)S+*UsiNbGD;f7%%=&@Z$KMg zHf2;o2ph04>X_kFAK>Za+HunumMu|&uk;K^CvuZ$@Bh_J za0IN8Me{t~tFQ?FdH=q;XfF(<(~q?WbtsCyyNaQ*C&`Mkv8_?S}T=hj{{9cpq(|R%U_&kP=UkxsEnY`7zXN$} zBV>(qrqLL+DEa*|MWwD{JCz*We#ksznOvV}v=I{)(=_CUhs}9saBOs12b>8tyrCcF zaL{yx+F58fhc z9rAdvXaCvD1nW(xVB$a{t$r2HaP!O@Bq!Go6tet`$s(dKz7mKFwVD!{NuDY(dyq20 zqiY8GkrVj;2fc&~*~wi8N|gVD8j2a4OX@S3S!Q=ZL?OPw0K|L)zpcLm`*jEl|=b|tIPaFfoR zD#PI-N%=K1ZVND>7;}(LwAhVkIHh5frRnt(EBB-FA{NfwO8S~k34 zWWle^Iy@@N>TTo#>L zz(CRWaqQY~0VjGzgk2#x9|ODUH5eB>5M*C7X~w4!R5RLGcmR=ywE@GZDe-g+mH-&|jIw5gNC^uA(Eyz+y9k)0s1=8u4(^6is!QnKDCSZ(k5^ zfy(B?AZgWOl|5(s487)x}93M#3` zd#>W=Xr1J!RbW}Ynb`;@rG&HGN4VS=LJGWwwkVIBs5mqXY6SxNg6FDV=R5G&mMM>b zcLZZ@K_61|qjxeeFdL?A?^+BHgAEMaC^593qJ0*$-K7YVLo(+#;DwD|d2UJ^>tYPC z8<1tnE$HiC>F9JNg8rYN%gRQ)IT0M=u?`jp$H`m?exfBbwIj0 zm1u_*cB9A46>SVJYKJe5fw3pXJ*~ia=yVlJFvNMb7ent3NzAor2y+pj@S0=G*J_eq zd$FYy?x-P#WXr{K18Z%)%1NOX{X&_)| zE>>qwaNTj=|9%-{8i$Byo}W;^H7=&=GGGaZa?69NsL#PN~S zynZH%RPRq+pAQ`wk17(K{{_*9$NueMfndu8&(cA1J?TN47^)YOh-UF*PAHkC zOw6rjQc->6?%~99#r$3Ta@GfTqtR%j{!`~l?^CMRtIPlL;^|*i*Wa3+J3ZpWm?(BY zx@naTNx%u!J{FE(vefoXDG0%=UyW+ZCj4NaLpPD>E-z{V zGJ%=a2L|#;xrc-Xfx5PE;TC;z8k>|vCZygRRLz6O#y$)jN*K>s8cM^GYfeSo9GZnM z_&9|zd8BB9mJmf>vHW4ogt$ognDrBuhF~1#aUjsqoh=e2gx)wFOK|&XCbY4Gatfx1 zPOcP^*l?f8QY%OVsKmkvTpHZUNPY6Xnw7dJ6v;8VEFHd-3$`|^KpwvS5AZA$nk4|t zv5HZIT@lJlzOZ@TKv8W3Ju1iziz19_H%2Nb>4h0wfDOb4(5@gML(+GJL>KVEK4cL? zCQ6YXP;r)dN^#(fB)sN%9JKPzKYsZ$2MEy!MJ2|{;;Z3uoiu}!VsflyF6k8Xb)qqW zh~o;%-X&2u31zf2(Qf4uv#xikzUCg`HP_~#YE~)6w5Wwt%g(HlJnyvWLwjT!`GRVc za`VkpmYf7(szjk{O9~`gB$2waR0nD)Sqw@WT~FxU#FF{Un6a0zy zS#6ny$EB@)m@BGmf?H%K_2QUYb3vCtt!_f}`cy0kND%Q-w06^&mKC6$zIgrW?-wu6U%WoFN84od?HHP6a!v*&sn>TUyQ)iq zD8wo|)IdJ~aRO8`ee$zlmC?W(4_nwrYBL!Hm84Z8n9viL3{HZ@GF?KXJNoqLo*{Jl z`-sla<5mfLB(F20qsc8HG;0NEF*H)1>Dzr|WC5t;m849oITVYSrgRBfESZA()4p^VGQZrH6IK6-J%Z2#(xHyG_I0i!>l% zlfD3D4NvXUPsD`3Nz2G=Z=ESAx- z18TfO;OC9SRAgghrKD?Wn9?xnlS{@(v*~l7)$m_^b@HeWsW?GepN8+$<=DEZ7Ko{< z7ap;9lErYc_1um}z|^U8GqzVupcszg657*Myczo7B1)rZ30c$Dg7NF42Z|iRZh}Oq zHzRiyM-ZI&nb(?b_l=KMKhn2v_j+=fu*XV{CcWhGy*Iyid4h3C>dS7RI<9UVRT@=N&d(a}-)zemRpkN)lW%cDof zCr4jBJURZiqvJ0he);9Uk)vG!(DciMr0KsMZ9P_ba(|HD9(l$<;is-D@D%`&O;H_8 zeT)R^?3|=ojQO$yfsu2f$g~ucs)`OenAHCmsC@U^;AhW2aAcTxXV)}f)%kyLa#A|~ z4<9^uba(zg#t*M@h#0dhxyf|X>n-TJ1zYfRsUs2zjiM{I6ul_TI>c31VH>N=2gaeJ z;|*@9cbdt0A=C{Yf9e(eWBu&;&$HlLYt^pkK=b*3_~7WceE)xS{NU*B{C|w!-X8fO z;$s?-C$4LFt{sIWO4>g+_GDu6$ozTZL&x;yy6hg7QiYmugc*VYcn6gxv^PQ?$2e;Q zc8E`2nJQvXn?gOg$V)eM_Vzm1%Mdc26j}_)Vrl;Uf-YG8h0_DJQ#369_$Ri+x3-m# zJf$-w0SckIy>$NW*s$B*KVYsR?O&PKtS`9et4~rk9g=lwAgGCkCevAJCunP;!BbPW zY*?{hG(aWk3_mEqmH=xu~pDQLGGb%*}X%;B4I5R_s*v; zxV%6I+k2&1uS^Vvl_3UuNy>UjhILEunVD8z3T;T-p>U*^c}7rM8N<u+$%VjYtF0ZVnc(DlNg7^LsU&1Xx`CPP9!b_YMja?p zkZNCI$UF%1urvqb`=?nHK`f3{knaO&GIpR!P||@q8hh|hQ}JwA8cg-MdLZn_JTCTS zDt{Q~%Z^PlQjN|BEe7NT8IlJW_bZHxhjrd?^Ibs_A;(+EI;!LzVtJ-MTUvw0f$Cf5 zU*d5-gsGb#=iox)1>>0mih+G!FQJgaM%v6NP7q?ZZYL6o$Y)z}$~+GvFR_ z{zTDW987i7)BUJR2>?HTVgzgG{>&za#X2sSW?JOQsT@knA`*qyEM`LJU}x>^L6Ve@ zy^FmzZs*U8Z|n^m?8$G3QZ$m`jXrz4QDbFy^jf%xyt-ya8mGRN+}+;gl3(-n=S8j<0|ds33qs)O9)S311``5H?+o6t3mGI;mkc%~0lVLQn-YBqt9aJrC{ENsB*S0!^7M1&*}| zN?oCXv2Xb!2;^ltlP}7`kj+bNE45im^6ZFtGPm>dLm0}}hM;B<%NhC}p-K2d%Cp2_@=1^6UN-sD z!u@IPM$!W;(f*2Hy9t@o=$fVDa)V5;YOjj$ls}wJSU-#N!Vh@s!34;g-+;2^M=#+4 zF`1@_cAWGTASkm=Qvvgb8(uLxX%?S~p9M?p6LmFUA%{ZnthWk+J+FJ@=NNtCr5ksv zYt>I9h*IYSauUb37Xpw4EFP*B|q`0)E*}m7+_n=dfOC5}rGMR?V#=Pdsi({bvu-KL9 zSR9$7Nai?Iwgy&x`uKk z#sZ4V2A(1nYL~GfgsT%2#W<9z?odg?Y#PQ&lD+ulEO*n_+7dgm_I1;6n~>Kr&*A_q z&rXDkTG0aiNM)zOQmajIztX`c1)EqWH=Gx~H33aDok5NTmpGgiI8duQGEJf|W_i0( z^%|>gz*;nJrVwkk>jJ2FBju((N95LH(KYhSkPYXAFLQdTXELi zb>YN})=$|ehCI#HjLr2$)J*|7H*+B3Ag_Y z%vq2{5NOe#^+{Jqo?dm=G6s55!RN}hMHb00iCE8$BpgeiefRTK@IXmv=!h?LLcEAovaUmb^1`}hw7!5=W!JCJ)K!1M_bk8QiCxhzjr-_DQG%@&;_~(9(~ybmA<=DIj>aZnt3oNB&8n|vep|Y z%->DBwXVj!)T~k8p8Ppf>hYb{d~>ZiE}{GM5;(6{5J)*BZ@QTMrhhc}y8BzFVDNP# z_fcP1Q><}qw$M{t(mIdTdPv(_Tx&-Ysi^q&y{DMk2%~x8- zroLu1#uordx0@qd0LfgWuXd(($Rx%iv!ZlxJvf0$C4X@ree1N*hKX*k>uc8S9_mA; zMI~X2eY#aXo&K^|LqYbP7@GqE@*xZrXHf+Ccgn+oNKHaJBSj+RA(_lMw|Z<7vtvhR zX`hh&S#m;nOiurLd6=iHH(F%X(+@vAJyfsBe~_06i!UXeTpg5*dIh)FZV&eYZ7t8$ zeK+hFRj<0I|C)x9y^JS_tx6allCOUVE%mDGn!T;fC#`4+0_8hPd(H(+$f9E0(9fQ} zOHzi><<1rLGvr!Qk~NiVwmh`e(s7Soad0uxU-6Xi_z4DG<^lCu+-j0hY%)v}s@a1a zSg6MxK$h&DeI=M2>_HAFCGfhzo!X^C|B2gx$)YYb{KF!|b`xkS;oi`n+xf1u1&V|# z(kcczg<@F8A1GE05^RNXX^(@YmE{-4_qwR-yF{&i&SC8B z>2&d?GCo{yp@588aX^8(S=C@i)4r7D$q-8QEp+vAV__pag-j{-#2+GY)~Q*DoO7WL zEYw#67qRlZ)f_-4Z_H0Hg;vZ`dETv9rM-#g{sYrZF#3& z_P&m{zthj$>1XcrGk5x#JN?YZ*3Y2atkYeSrzU&#fIP=+S>Qm0|E#)aZW~Hza$X}_ zOJ_rJ+<(}A;07xme~E5Kf^Yf%e|s%ij#i0(-RAsp>2m)5(<$#K;MUxdyX1VnXD(PIXIA zVqMcnaqsrJaeb0+=2YGjR!Cg(%#_1D<0*T2N!~bA>Re~^R{u>g6OP!l?4f5(_hb~L z<}NM_Y(xdbmt79&dDc75VfZNnuM@6XyXt{;1+Tv=XFXHhk&VS6sy&LWl9jIqz`rPJYrU> zGqs1Zts!N3Ed(GCg?ZJUwp{;QVu76Vl{43ll0M&Kh@^0&0D)y(|AFbVVKwwewv-$c zlZO2AYQZ6svpU@Qb@x0k+sQGqIHjQufk;ivid$SL;X=+*CjJ>&tBT<$3Xv+LM`*+p z;e)w6;Wx2;MHJ~xhbTh4&63}BPmjC5|DGoT=@t`rbV;9l_+WB&c0Z8EkI9kKfynrzY^Y$i5vfB@>(N z#C>vnbX4qr&@kMBzT0B7V#nW-Zwez3C=VXyh=31du9H4+6 z?~CuqHlv#FkWS*;{|0=pV*G4|E`+IHhhIOj<_v4#>Bpy64B@v)l7IRo58Io2Yr;?q0j2`L-KCFw#pzg(MHjB8)R> zbUaR=UOk(b<>AZmK5ld#-4C`ttkQ=8m#^k0y$NhH9Wa7@H7$1R?uNwD6KACJ^e$ zcdn}Z5QZs~<&08BgQdYVRJ4$d!-|YVJUx z;7H6&4} zg4HtDz^Bebd-wY^Kb!w~*GZq9-^%(AC&%Ub4_`g_>MsBD$N1If@2s`YwmcW^m%pt?>@cH z|8y%)#b`N30#B9lbCgUN(kG!A!yZb>dmS$O02X^5O4Iz$VfZxM^Gc@37w{t)F~pYe zcO1__5tKS`n=+cEHaRm*Af{6?h7lGQ7$;T%)(J_Kj;ilasOlz@pH9Z6>;|Kyi5DJv zGdjmB!$qw)u+*SlQMw_$I!9D$#=`z=AgKk8a zG6y?57Z(?yJ6KPfSYthZ-l9CqUz=R-pAA1v{QtJ)zv2GVTK=!yd-?BHo~GP`nXK(jD|JN-&pFi(Bf(4l$D4*yFiLpv!JC|q~&+q{}+PS>+ zJXy>;!6IV`AmDT&)Ge16<`N(j?o8l){%o>-VemCYg$^01%afsO!H4aLj0O1TcW>nznS6Lk=k$ruE$#fRh*A(xt64$3FywBqku zy~p!8fbA-VjE9m_P{FD2Fn}+RkR*}-4|mIp$B`8^|(BKNH+Ze&!&Q_&+ z+Q3fb@ZHUARL%Oiill{GW{qHuOE9ie>hCv`U z#lp=hWRq#Ot+f&*Np@n+4+@@7CJ?^Yrbmf?V-x#8t zo6l=v%B^vms4_$U8b~skpVmZ>E!~0~OZKMNicd}pd8svu*gg2`5NvbD|90(;i|}sY z`Ja_|wiYckRVx$5J=U&*wd*XWa+RM{9k2RfMOO8yUPu-7D4jM*y1HxfH-2YSPy?_g( za#*S02rZ>Akao!+iC{F!#yEm35hTtF?1%f|u1?NamU?6}217RTj`4Wl>e@mPkjwqpLTtXyRDieL)x4Pra@DzViNeJBpSyIcKw8H?GmoUO(lyR(ECdo99`FM`C z7mF=R68Ou0xG&eKiZei@w(F}{1QV%7ON>ltmPEe3A{cs)9=$Wkz~*#;BOSp>-G@d3 z#dP|R!<-~!o+VAQ@#xW-;)hP?&K+1wwCrHU|Gd5UWjFY@-v*C<`M;OHJ-WPn;KOza zJ@5qtJ=F=@jG;odqsV6!wS8@U=KksTbm;$zg0FM-`#-w%|NY^Us{ilv{o&Jl{r@(e z_4I$Wg}j?FnoVb#tC=u#>6D>J@(6uJT$?y;nnZ4n#z4%F(09xva~xq^F7&*gxw<>2 zEWQgAlSs(}uVn|jyKrz=vxyajxH(u0WydiNRg<}`P<{JBnFv!PW}%>=g=%-#2VZAX z%zwO5*Tnq^!EvOjn4FQjyMD2K*B~6;6okVb5Ds$)YoM6Lt0xKP&GR}W?yzz@YQv1w zQ7|Z5{H45cV*Q5l6r$?dGuPJlYHtvL*=7Qp88Qm3At)UTQDkND3Tj*|W9fr8QC^xzQuUz6h(r>7s@p1eAR*C!`$PY&R}Xr|X=YNDH~ zs4jVUmVEtI7P$)OVmkNRJ3Tb=YU!o_YXa5h4HZ~32fV-upotDDMsy@5HTK6qW0j>j z!igX#<~Gi{xuAf@z-dyZ2nk2a(;9joA;8v*;T8PfrblL=*WO`RsNARQ^U-3XA# zop2*M<|P+fomo2GnbC_t&>g{OHi|KyQ7VENj_2BYE+Cv|DoAxc_&}3ia4{n>4)S?1 z<;~3SD-7|wN+oj?RVr2|$S*1i^k&Z^?w{LzI^;hSM)pSKzb8*>_dlNRJsaN3f4A}U zkpCRRi%u${qY8jI39gABhIZ6{K5T=QHq@UdlnOsL*;@HW%&;yEzCOLNB1PM7T<#&4 z(`+yS6>az65W>9A(0+0Y+W-uW#qGzUfu78j0BDjKpAgJbir^EVdg}=uqL6w3UYPAPE?3C7mQo!cKEpc+uop{ z>hc-oIwW3#$`LZ1_mU_Tc$X?1XgdWOzeJa$TpR_tPf4wZLlecN{5EVP#PVNWscVz@ zA*chD-Vz{W0^6=rj?>IQ%|{h22Ng(59jjgfb2m%*bynagfw4LIH}Nec(=nR16o>8Z zy@JSVD`VrNUQr4=$h!faZX!2dtzsv6vi)6}Xj`J)xxh?mW4R41klJa1NMmCf&;u_U z1$+oy{8<;X!ChHqw?3RZv{=8kxVG`9Oa3>f>DN*KI^_R7`K==VKY4cV|8*-*AOEkv zDZ7QhFhb*Vxgu1?AZ@@QTnb+)5@Zx(edLGY*mV$laeQP?wzzBht?yBW=1ea+H!%So zjV084HGi3J$CQcUoB6A1pFDP~kxrYrAu?3EE6@p`1n?)q)dp*`^O?5Y+A3k8t-W)U zh!E5($zoueGDx!d2(y8W;g+Pk4-#k2}N%1M8+Np zlu0m2BJdQ~Or5VJ;#@oDyBW?u+XK!#ZmJb0Xwq%~txZm@7dZ#;2ZtRecU$spbDYG$i?kQ1XcX=~7=409Dhxzvt0 z_j|Yrh4R z)WCWjNIoD%#&^pUgF4TU^lVPAakK_wuqWNerWGCFx07V+)f__GZgBPZb8lCVny-fn zuD9B$LnG&FovC;1|K`%ejoSZ)!{J`d{&ye$?RK6X_CIGY&y!DS`e?t~GUuB`kt?dovu*Lq5|4yP}HvZtB$gvth3_n{#i%G?$;F1Wj=ijF#mZHeGTf z@6&gLYrLQ`j>b*_`jx* z>#_e%{cpFf{|$HV{eN!d>B0YBe@ayXR1*){YBP#<+7$+u#{{*jFsiQNCf4dEOTJxT z#z=(W3ka4aV|cc&evtmRuTCE45u*~WAOjvga5mK^+BN=ag!{Lm+&z|vC4-9C{5L1L+=CD zt*i1v_8}qXxqB<8bL?v63Pnl^=PD79O5UcGP?bk)+o0;zn^Rd@}8nG!HjcTx(E0HU6zlr- za^F*%KqGYWaqFygjtSU$5fu3Xb(ln$k_AqzSdnp?e3s@rpK}?-P4G+;9Kwq@rWZPc zDG{a;)z(4l8@sI%^l9U9j{JeDGD73?3&f(r08e5fOaiVykz_)z7Z`QRj$ikzuv(iC z*NeBnq>dw~#;+2;kO^F1nCYbY3(Qbl#VMD2mU~C}rtR5f8m;a8HS1qhGAUcFb0MVx zL8Yb-t9!SR66*DON{fNHZdIlGLNHM$sWr=UVY$@x6IV>JFo(@zLS1HRE$RYVV89N) zS^BN=opZcgi|wcgA=ltKI>N{~R(?$WJ!`og)^d)Q%~t~6I69{+WI2Ya+P%QlZ01xd z8#p-BG2TiGw_)9sqxjTTPPs z%{I}!+VV>rlmWwn5xl^Xw$wcZlb6e67Fugn7FQ;;RnKYz50K5`uTd-nC6axpXYyf@ zH2q?Rna=c=$;-^!P=LU+Lv0+3?AepcW?;4ZyCk|3s2>BG5l&Yw)}%F zY8y5)=ae7rLTF|>FKlS^*i`yKv*jx9$OMUbIK|=zy!OP@z~;;}}-9b9XAe ziI^{8gamTJnU?4Ou)Ak^{1+HKdxDd(8-wn%6FuCK7H~M6ja`ZfkS8 z4;N77 zfA`t$^J@I(-M#z#kGJyl;{Qp683$yHg6iH+?&e~NCR`z7H(V5i@=d{ptw0+K*1b?# z@1nxNYxes^VYnzbpGaf-#l2M86g}FlvTf=}J?p>FJRUUHzC-s4JJ!E8fZeSB=ab#) z`X4?YKH0xt|F`kc=rr*v1G(8zp;}i?C?pG_@Ht3mo ztLg;y<(hn2RgzjyR?vUrb}O~ZgcrIZQy{JCi0^78P(_IWnKV-YLl zSaU#-XXIEr4~MyhWi)6ADEz@`BAMf%|5;gTLs>#!qPo1i^x+GP5XaA+KoCTDOd~vK zFra*&kvIaJEMS3{cGT2|%t(8JcFtb~7kcvSgv^&gejL<2BbBBcBc=MH93j$}D2oJ_ zKU8EmDfOCRJ2jLE?vT6+%79}|vbFkygVCWa8?`8#>Lm1zwthOQX zcJzn*@StM+&x@Ja%zLVx+B@w8^)P3Cs@<3wUJ!ht9WxR^m^l=s6L|O?e`suoKoYR| zX7o{fYZ$a55MYMk5Vq|}O94!oLYxnWwpx>^EH{=eE{*8kA1-9CD~QjD#%*b#2ylv*_S%$e;Jm*L^zV z{|m$tl1#6s0(9DccWd_FXM6Ygzi;K~A^(5Sv;b&CGhqTgGaAP#GAx>|68m#9GUeZ) z>5A}wCzOg+e7>;GaV)PJUfyV+zuq{P$Cvf29<$-)7%UoU#9)l4!l05dU z4(Oo|vg0K%EQg7cNZ-Oj3reCowoTrFR3$%95omF;AdDv3ZCW{Jwnv~fxWSCuAhemX z?Ff`af$1fXy#!84&#_(HZyx_7&uaefxS8zyK1Q6QBx0!VX3%B-dH(ci#s0gu_xwKo z>#aOJ_`mVc!SK=&0noz)!i8m387R>k8{RW|Y0l zO*!q1Q4H3GSY+6EWLO{A9O~Tg!2<)W?$>&MHF>6nxnpY4lf5*9cu|)!iPjKaX?^cN zkGFM?To<{H_E~X#Z_s6m7EF`1YZayTjBDOn4e7F#7NXJ59J6DFC*;#w&79+9s4G=k zvYvddk6)n`75>YWKFdJ}l~|$7300qe6@AK%S4Z?IUj(Q*)bXlSs*f{bZ8WW(hz+#q zcL7!yxa!}U-3nV%*fvn%Jc|WMYw0j-yA7U;t}9^Wx>Z-Y_7~YF5);IhFv$`vCK;2p zN@YN%GhuCMlvOVDtmIvtDNIlJO$ zu&T+m8`{*wo0VG(rQh6J=G8pu>raMlXN_5KZGi1FVh6SY_a$SZWNs}U)=j4D>*C$s zUeWX23+FDUw*o>g3YeH`cYgJ`gXoy^>MCoR&hnS_d@Fm%|8v9$ibnlSK^^k{^QTq+ zzrEq}`~2Ux^IS##|49bHH|jLhGF(q0n3t#6t` znV4N!=&!WZEb=2Zo)LjnuFrJIkBwJqBfjRDq2(r=6v!?y*9KX z`LlI1aN5Ys>(2V!>dWf-CpeACSdmEEaOx%Mt$rPqs5%L)YEh|RyJ}=eAdoY-VeO~{ zL3uO^NS6+-a_6u{PfZ$9+3(E_pkIPvQ1@Tnv=VADT}Sdp)zGRtwL5$rAKGOuzC-H% z3M90wnRe=HD8B{~7PW2wO-(SZ#@N4#BEQZCw=rFQgM0lta9=^0x6L-RcNIl`&1N>N z#@j*knD;BH@NKPJQ-Qb5-f{KaWv6}CSV?BPLFN4hms@EF*I8%oj?`yiwba|NVMeas z9y41=(ck2(7T|ZxsLLgrX3Twm$FI2dvH#FyN;hx+8Sd`a&VPr`@9%%!&T}REk0gXw z-*2A`Hg5tlG)SFVonq_TUpFG@Z=Ef@$i(b*K`Tx>IbF0Epw#Qv z?PS)+l;T3sp{Dk?dui)~+rynSh#5ZiFJKVU72Gv+onG^Hy3KHsa4JKtz;g4}xXN~Q zr>t=ti#3dK1=r~^! zOtas%)y)i|$Gl(F>ekZAb**lu**k7^TiZ6%CLrIWZDylNOzQ}`%rnk%x`KJ;Mopos z^o?)CXtrty*I|A)Zwmd|#+Ezy^sxV>l#40D{A1kH1lVE!8$Nyhta|_B>HdBEpIdpZ zV*fkVgmC(Qe%!eI&!Mq9V*)H-YBvEEWv*uhbo#m(D_}E%dl>?qCa!r6q@kroOJJ_t z=H*>oxVu#;IoP+nu+Vk%;W$mKurW3F*62nRensc0X4JKt5$eU;Rp=NnpRN+PGS?;;5iOCb5r&Hc|myNMfM2dsKx> zx9%FNM^KjVE3$Y?(A36KPCpKLYD!Tla5`(5=sT`qqdebCG71&&DX)uFk0gOS8RdP#(?-wXn61z722KEanWcC&gUNIJTmpYud-$ z$@(@-WHp(u=M=QajW=kg*{uA(_K0qTdlW@~&JVS_If#;n>q~P5-GaNu(wfLv4%*sO zsa`T^CGFZS)ZF6@a1vKoy&5Yii@V=26*rD&bKK2EbWcuKZMCDR4f8vxAS;cF#w-P zO4xq))8_p@HI3aF)2{-j-Ri48U(evHd$<`}Zw;C2S!H##^$fDD?wO@V&he6msVZA( zNJX4OjQj&f?=j;o2E0;ZPL*(>>-ahdYP$(rNcod3VY`wbtuhY3$)RJ=S*u}vYNiS*%hts#u*XrnkIXpDmO58BgrkgHhM}>{><@H=l-tyJ5^Y zKJEo(w=G{y*d`77S%HP?xGa`1+HOP5$0y;pT^q@-Y_xOy-6|Bd!bQ(5*>2q~v)R^; zd;8_Ny?^_r>n=l-W}>V1<7UR+&-~Qf#x->_-RPY(I_X_a2a30&Jwm{v9!vpL?N zmbEcSqkU^{pJrXhowL=be>ubB^CHEk!ncB7wfK-*jB+irSthO5By1bG0RH0;hEE1- z&qSkWaSi%!Y|p*F;1sY-y}U(j_mHawdcX5qtzM#ivRm;f4A!Y^=$w7z5ah2&sEfaqYuk6O4A?Vy0Wi@cU4}k z`j<4B?Cz?(!c}=NPxql-`EAO6?(1OWr(k#2$j~jl4L94{Fz;<0d9Y0k)Co@-anm$} zdh(OXG(hS|0(O+mR*rWwlh8&`E2b!@lc{NnB#!tJF3~(L#W^dqy%vK?A#=1ERGRyB z5_j*cA7IVof9mRA7c*lsz(h!(<}TXZBGwT4i+xPziV1V`SV^1eo6EmO!(l$rtxA*0 zjWrbGwVCqKDL4uVlW@i>d?| z&iEWlvK(Qm)RRej9{bLmCXaXd6m?y#@6x#EhviMVGu~MNa|vT4`gw} z1tb(Gi9)HO6{JzjzVpr^u!f1dq4YG#|KSYBb23dR!yDvdXF?_oB>^}d; ztvp+BjD+M=Dw(UEbh+&$Fv>_ANiLqE@j04e9(r5wZbmrpEKMmB9QX{!v2uxlITGU; zNv4m1;TQ?BFxzJF9wm{t1qq&NC+cl&w=mAC@IMD3yiMXI&_vagAVG>5#3aF?7rr|E z{Zwvp-WI%6R0{83oewvXJ=Bf_9C3(B*Mvdmo0QhJskYk(V6CY2sKoMdsVT_x3#wyiZ^YS9S%zvDQj@PV>8 z@-+}!TX2+!JQ1AdDJHE2k(AK|i7*Fbac+%!a$G5994=;LJcBVxqzI(W2Gl)>1&(P7 z3BEA%VN%d3YN*Zsz-|&SM+ur@7JAuWtm@{~pL7C>GGFTUNdn_I;{r1t>TODW)o7R@4kJlp0&}TjsFR#jHt~xEQ$oWM zEHH=TBB|aa$vbo#(itn>Nm;}c5>Xn{zqz8S^OtYkwX%Kv3dQ>+xjh)gC} z3GEz@3rM%%#biPfB8Y_Ziv&vU;v~X}L;z;sK40J!=3_>bmI!M-AnDdOQ`SD z)PXzEV+Y5f&4=4oV#!8 z=`F3T*J_V_=Ek>}O+7aQsJjrbqO&kdrwm27a1Ph!C6YHE3Ai9}3^?JLa)EF3@Sl=}fXX231noTk11lXh#(}p;Y*}fM(r8#0=}cz_+(sADle~jxqdlWUKwQ zy`{=9O2r`e|Kx&YDjZn|4FgECIM%-5{H$>Ruju$3GfjhVf~SNFwgltW{|3!5hwTWb z43Ck((Sh8cpxgz+Nrc&P(Gie@3yh*cW$5{0X&wFWar?KuL4licl!mjWf!CnA`tWU} zi{fq$&kb9A^Mh>S5L)V6$s#tiL*E|1*x0j@@ob2Fd^4MR@st*YQ5!~Re2x=kZTXw= z=Ky5af}t`ng#agVEofu3+-a#^IWLZna^WQKkuNF1Ws)pkR%ue!)H4Vb6h3@ zeag*;W6bT6`VozAe4Cr@EpCtQ%*Se+);T;XsUEIP!4?2rp?OrR)gIH8I)v5ey)w^T zp}VL8tLE)mjIca&dg@lq+_m^Z*WBqt8u{;80i2XLBr+4n!zsU6A$R99ySvB|Zx@&` z65+GX*(;w2$?`85*8IU*mgL7Je9TZR@f}IsT7gklqSxz8fo&*KmsNvGvJLfmJWA=Pjv#x7yjo;wT+VgP%cG@Gc4J^p-||8yl$rHZ^R)&FgK%QnbOD9Hw;WE0d^L*F@GonXA4YvO3t2p#kl1{i&`eb#`!+#{AUU|2AM7g+g8kqMxfVH7Q4tagSd zbmhO26Lnw$FqJU`zVQ%<-j@&PERt>CL%;rR&mVvv<76skJ`8uk=Yr8>T0~=z{NHp_ z`dtw5W6<>jDl$)qe%_u)B8FB69K`Bk+g>v7@J*F*cE&6o* z5IWJpE|vj25o>$v#( z+xC`Iw#C4usOep*qqS{HuDin$+=fK2J1k_mG%3Hzj%H%NL}KPj1iHf zu)~!s^jQljYFGI3j*#DP$?w$wpV2IiK!c!fuiI`O=L*Jz;g1$0Y^i?7^Ab zL8WG5sP<<;x(yCDd(^fuLSN%N>;_40V@$R+3@SbsN7YN>*$z~L@3id)9!{mcOJCziM~76n-)5R7&|)i zR&^5Cmt|vjbr_XfQd(RU1uvK|I?wGLXFx}P;IS|hLIl@gS&^9a8pe6);;#Oyk091K zj34k)4&q0`T@N!36T-M~h9DtU4y(vqK8wsyDKlk_Zm0xjC6dRG&?K;>-C@)P>~p*v zmItTA>ZaituJyjS^VZuX4DNvAz#ZP(Z~N)(EVof!d&TE#_kV{Tm$7tQMRlE_*0@}K zlSEgN%hn2t5GL2Tf_-Lov&ZIIvDESNtCD5i{wRSl;>zx}Ec{F!J8tUQEo538mCfjd z-8P-AG=x*B%)EC)D*U#+Wv>}8bXc~I`77V=KWmylTckZG1{?`sW^X~jXGjXL+RH^{ zj#JJr`33Sm^S7C(5@+k7>P|jg^H&Kiz|F~qx*p<^Q=6}onjxDzuN>I)>eE`6&J3JE zvFcXD|2iwyj=81J^97{MXG&KZVeQ2z;Zf!|BFw=t2b!430!x}{1Y{h8fx>7__E1Zs z>4x}G$NV)Vt2*mFe@?oxjZ9&E{+#qXUv~Tq6{ztqJWK!M z-A{knk^f(B9_#a`15AG1sdK{H-Ok!uWB$g7bCg63mFBST{JpfTY>0!_=P!rzE6-sL z$8F7H*ZyZxt6p>e(@A~*7sJzkzsXI|Bx3){o1li`b~iz#)_*`OA<48`r(Z*Vzm|&K zsg$mv0A9}t$D!&AgO!lcI3~&T9hyoBz#t3Ih-SiEO*SP!ps8Z=xtH!)f3IC{YYR?O zJSHdxqA>_mFur~_*e&+H95c*uA|7gZi~~{u5Mm51JpdxGjtRCJQXA4LUIMp3 zC%O@!lLCC}dc9qwa1dKTz!oSBD4@60sfE*RPP1k2qJnHy zppTAGx-s#rQlBE$?6#;e%i zVKKW~1t;GzxKi(fAZU&TW3Y1dP%vQp!1WG=(scc*dJ5mB=wpWSkTS(=eE#g5%^Si0 z3yhvU!O1w!uX=gul?EN9aWUdB3{B8KoGcFVOv5%j&+&`X(+_V?UU`L(xv+wk73gw3IP9`V!5*B$WHgVRKUcj$i(CC>{TI=u8HgF_rYdjdfa;W3Ty zz-vOp@Jfgnx`-HV1`)#>K*X>a5jL#Y&-O~Uaq^=u40pp_&->+V0&nO7&qtWSaQ`vv z?e6V9Hc=AxY=B6(Kpd1pB9)~HNeG|esJKfuC1RG1RIo2e$R;M+78gilJfM?6%y3|0 zEe;-om=O+h^ao{bBnF)tgv((YaVEE7jb|vCVy?q!>9}U{dl5CvtT?4E2r5|wWhu=a z|BDb;6O2U0WK&V3!(Zv4?rV8UwIWxg5rCDuNZyqh0T97)Jdr9EVv&(Da+JM(`(x;N zj~;zczH|og3(PPO6Wa}&c+6EK{O?DPJTHJ_>*H)*bBzug2ThMxT}CR4Cugv27>Gi{ zXbB@KX1daz8s5Iez0;7KSse&Z4ZqyxUcF5nn+#|YF9#v~@^{Se>L7wPc%UQ!loB&2 z?W8nNI`9}JlBObV`<^8)x;VnNG9Cc@cS4W`9@SORN;KJILp z(t!dlFjU?FjqLDUnV7Uwd#ZI|D|tUsh*f+4BNdCZ2wF#(@p_EY85&_h#%e(+ad$@N zbcz!!XZ`{$OJ-La+Rh1+CrRw3B-98qlPpKYa43Q|s6|3@GSb9#WXujming&BDrL3v zm*Z})?kH$Nuu=cax_PYH({7!~Lje=XzEH9R!g+@I`dw;y-K-)*r+kbP#0bp;Ea{0d z1{k+?L@}4$TZUyWmCV<$%H5a zq$(ECaVE7KHEXNa&SLNP#s2SeGSySOvz7l0GLC~W;+PN2Dlwmush&JL20>x5FNx)6 zjwe|RF-gw3rUl!x?6DL-Q)GfNf?~eIFsJbX2NJkF_3wU=QZ9l55IxU3PJ8Q&q@lRF uf~-s6K#oE67cBMyLCw$oZz&+}{d51^KljfqJ^w!d0RR6WJFAQUkOlxzx4tj{ diff --git a/chart/charts/redis-14.1.0-bb.1.tgz b/chart/charts/redis-14.1.0-bb.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5b280b156f067537ea89b22a3ecaefb0f9080a48 GIT binary patch literal 83383 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Ξ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 DD_iw# literal 0 HcmV?d00001 diff --git a/chart/deps/redis/Chart.yaml b/chart/deps/redis/Chart.yaml index b963b25..41d31bb 100644 --- a/chart/deps/redis/Chart.yaml +++ b/chart/deps/redis/Chart.yaml @@ -25,4 +25,4 @@ name: redis sources: - https://github.com/bitnami/bitnami-docker-redis - http://redis.io/ -version: 14.1.0-bb.0 +version: 14.1.0-bb.1 diff --git a/chart/deps/redis/Kptfile b/chart/deps/redis/Kptfile index 87f6d28..1cc7583 100644 --- a/chart/deps/redis/Kptfile +++ b/chart/deps/redis/Kptfile @@ -5,7 +5,7 @@ metadata: upstream: type: git git: - commit: 424349e5f1d571a2dbddf8c6c0621db120986c1f + commit: 252844f7954ce93be28543ff653dcf9e154db2c8 repo: https://repo1.dso.mil/platform-one/big-bang/apps/sandbox/redis directory: /chart - ref: 14.1.0-bb.0 + ref: 14.1.0-bb.1 diff --git a/chart/deps/redis/templates/bigbang/redis-upgrade.yaml b/chart/deps/redis/templates/bigbang/redis-upgrade.yaml index bcc8e74..a996019 100644 --- a/chart/deps/redis/templates/bigbang/redis-upgrade.yaml +++ b/chart/deps/redis/templates/bigbang/redis-upgrade.yaml @@ -1,4 +1,31 @@ {{- if .Values.cleanUpgrade.enabled }} +{{- if .Values.networkPolicies.enabled }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: api-egress-upgrade-job + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-upgrade + "helm.sh/hook-weight": "-10" + "helm.sh/hook-delete-policy": hook-succeeded,hook-failed,before-hook-creation +spec: + egress: + - to: + - ipBlock: + cidr: {{ .Values.networkPolicies.controlPlaneCidr }} + {{- if eq .Values.networkPolicies.controlPlaneCidr "0.0.0.0/0" }} + # ONLY Block requests to cloud metadata IP + except: + - 169.254.169.254/32 + {{- end }} + podSelector: + matchLabels: + app.kubernetes.io/name: bigbang-redis-upgrade-job + policyTypes: + - Egress +--- +{{- end }} apiVersion: v1 kind: ServiceAccount metadata: @@ -59,6 +86,8 @@ spec: name: redis-clean-upgrade annotations: sidecar.istio.io/inject: 'false' + labels: + app.kubernetes.io/name: bigbang-redis-upgrade-job spec: serviceAccountName: redis-upgrade-sa imagePullSecrets: @@ -75,7 +104,7 @@ spec: restartPolicy: OnFailure containers: - name: redis-clean-upgrade - image: "registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:13.9.0" + image: "{{ .Values.cleanUpgrade.image }}" command: - /bin/sh - -c diff --git a/chart/deps/redis/values.yaml b/chart/deps/redis/values.yaml index c96c309..cd1951e 100644 --- a/chart/deps/redis/values.yaml +++ b/chart/deps/redis/values.yaml @@ -22,6 +22,12 @@ monitoring: # REQUIRED for Chart v14 upgrade cleanUpgrade: enabled: true + image: "registry1.dso.mil/ironbank/gitlab/gitlab/kubectl:13.9.0" + +# NOTE: We default this to true in case packages consuming Redis forget to turn it on and have API traffic blocked +networkPolicies: + enabled: true + controlPlaneCidr: 0.0.0.0/0 ## Global Docker image parameters ## Please, note that this will override the image parameters, including dependencies, configured to use the global value diff --git a/chart/templates/bigbang/networkpolicies/allow-monitoring.yaml b/chart/templates/bigbang/networkpolicies/allow-monitoring.yaml index 8eed2e8..38fbb49 100644 --- a/chart/templates/bigbang/networkpolicies/allow-monitoring.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-monitoring.yaml @@ -25,6 +25,8 @@ spec: protocol: TCP - port: {{ .Values.anchoreSimpleQueue.service.port }} # anchore simplequeue api (default: 8083) protocol: TCP + - port: {{ .Values.anchoreAnalyzer.containerPort }} # anchore analyzer (default: 8084) + protocol: TCP {{- if .Values.anchoreEnterpriseGlobal.enabled }} - port: {{ .Values.anchoreEnterpriseFeeds.service.port }} # anchore enterprise feeds api (default: 8448) protocol: TCP -- GitLab From c3743c6012ebc97dd159f650aa6f51d659199013 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Mon, 28 Jun 2021 14:19:48 -0400 Subject: [PATCH 02/11] add NPs --- ...pt-aws.yaml => allow-egress-from-api.yaml} | 11 +- .../allow-egress-from-catalog.yaml | 25 ++++ .../allow-egress-from-jobs.yaml | 135 ++++++++++++++++++ .../allow-egress-from-policy-engine.yaml | 25 ++++ .../allow-egress-to-external-feeds-db.yaml | 25 ++++ 5 files changed, 219 insertions(+), 2 deletions(-) rename chart/templates/bigbang/networkpolicies/{allow-egress-except-aws.yaml => allow-egress-from-api.yaml} (53%) create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-except-aws.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml similarity index 53% rename from chart/templates/bigbang/networkpolicies/allow-egress-except-aws.yaml rename to chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml index 9d4b2b8..31e6e69 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-except-aws.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml @@ -1,11 +1,18 @@ +# the api pod requires egress for: +# - pulling images from registries +# - reaching out to SSO services +# - sending out alerts/notifications +# - optionally, communicating with an external db {{- if .Values.networkPolicies.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-except-aws + name: allow-egress-from-api namespace: {{ .Release.Namespace }} spec: - podSelector: {} + podSelector: + matchLabels: + component: api policyTypes: - Egress egress: diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml new file mode 100644 index 0000000..7b59731 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml @@ -0,0 +1,25 @@ +# if an external db is enabled, the catalog pods will require egress to communicate with the db +{{- if .Values.networkPolicies.enabled }} +{{- if hasKey .Values.postgresql "enabled" }} +{{- if (not .Values.postgresql.enabled) }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-catalog + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: catalog + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml new file mode 100644 index 0000000..bb0e5c9 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml @@ -0,0 +1,135 @@ +{{- if .Values.networkPolicies.enabled }} +# if external db is enabled, allow egress from ensure db job, engine upgrade job, and enterprise engine upgrade job +{{- if (hasKey .Values.postgresql "enabled") }} +{{- if (not .Values.postgresql.enabled) }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-ensure-db-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: ensure-anchore-db + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- if .Values.anchoreEngineUpgradeJob.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-engine-upgrade-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: anchore-engine-upgrade + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- if .Values.anchoreEnterpriseEngineUpgradeJob.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-enterprise-engine-upgrade-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: anchore-engine-upgrade + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} +# if external feeds db is enabled, allow egress from ensure feeds db job and enterprise feeds upgrade job +{{- if and (hasKey (index .Values "anchore-feeds-db") "enabled") }} +{{- if and (not (index .Values "anchore-feeds-db" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-ensure-feeds-db-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: ensure-feeds-db + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- if .Values.anchoreEnterpriseFeedsUpgradeJob.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-enterprise-feeds-upgrade-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: anchore-enterprise-feeds-upgrade + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} +# if sso is enabled, allow egress from configure sso job +{{- if and .Values.sso.enabled .Values.anchoreEnterpriseGlobal.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-sso-job + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + job-name: configure-sso + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml new file mode 100644 index 0000000..d05d4b2 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml @@ -0,0 +1,25 @@ +# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data +{{- if .Values.networkPolicies.enabled }} +{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} +{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-policy-engine + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: policy + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml new file mode 100644 index 0000000..d4ef6bb --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml @@ -0,0 +1,25 @@ +# if an external feeds db is enabled, the feeds service pods will require egress to communicate with the feeds db +{{- if .Values.networkPolicies.enabled }} +{{- if and (hasKey (index .Values "anchore-feeds-db") "enabled") }} +{{- if and (not (index .Values "anchore-feeds-db" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-feeds-service + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: enterprise-feeds + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file -- GitLab From d71943f4bed3297783a2eefb359aec03e20607f3 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Mon, 28 Jun 2021 14:52:53 -0400 Subject: [PATCH 03/11] update NPs --- ...w-egress-from-catalog-and-simplequeue.yaml | 44 +++++++++++++++++++ .../allow-egress-to-external-feeds-db.yaml | 2 +- .../allow-egress-to-external-redis.yaml | 25 +++++++++++ .../test-anchore-allow-egress.yaml} | 17 ++++--- tests/test-values.yml | 1 + 5 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml rename chart/templates/{bigbang/networkpolicies/allow-egress-from-catalog.yaml => tests/test-anchore-allow-egress.yaml} (53%) diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml new file mode 100644 index 0000000..e5c5021 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml @@ -0,0 +1,44 @@ +# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db +{{- if .Values.networkPolicies.enabled }} +{{- if hasKey .Values.postgresql "enabled" }} +{{- if (not .Values.postgresql.enabled) }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-catalog + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: catalog + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-simplequeue + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: simplequeue + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml index d4ef6bb..aaa2f8e 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml @@ -1,6 +1,6 @@ # if an external feeds db is enabled, the feeds service pods will require egress to communicate with the feeds db {{- if .Values.networkPolicies.enabled }} -{{- if and (hasKey (index .Values "anchore-feeds-db") "enabled") }} +{{- if and (hasKey (index .Values "anchore-feeds-db") "enabled") }} {{- if and (not (index .Values "anchore-feeds-db" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml new file mode 100644 index 0000000..67358f1 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml @@ -0,0 +1,25 @@ +# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db +{{- if .Values.networkPolicies.enabled }} +{{- if and (hasKey (index .Values "anchore-ui-redis") "enabled") }} +{{- if and (not (index .Values "anchore-ui-redis" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-to-external-redis + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: enterprise-ui + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml b/chart/templates/tests/test-anchore-allow-egress.yaml similarity index 53% rename from chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml rename to chart/templates/tests/test-anchore-allow-egress.yaml index 7b59731..e6aa9cb 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog.yaml +++ b/chart/templates/tests/test-anchore-allow-egress.yaml @@ -1,18 +1,18 @@ -# if an external db is enabled, the catalog pods will require egress to communicate with the db -{{- if .Values.networkPolicies.enabled }} -{{- if hasKey .Values.postgresql "enabled" }} -{{- if (not .Values.postgresql.enabled) }} +{{- $bbtests := .Values.bbtests | default dict -}} +{{- $enabled := (hasKey $bbtests "enabled") -}} +{{- if $enabled }} +{{- if and .Values.networkPolicies.enabled .Values.bbtests.enabled }} apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-catalog + name: test-anchore-allow-egress namespace: {{ .Release.Namespace }} spec: - podSelector: - matchLabels: - component: catalog policyTypes: - Egress + podSelector: + matchLabels: + helm-test: enabled egress: - to: - ipBlock: @@ -22,4 +22,3 @@ spec: - 169.254.169.254/32 {{- end }} {{- end }} -{{- end }} \ No newline at end of file diff --git a/tests/test-values.yml b/tests/test-values.yml index c6eabfa..89b2d63 100644 --- a/tests/test-values.yml +++ b/tests/test-values.yml @@ -8,6 +8,7 @@ networkPolicies: # istio: ingressgateway bbtests: + enabled: true scripts: image: registry1.dso.mil/ironbank/anchore/cli/cli:0.9.1 envs: -- GitLab From f131d77dfc293a61911fc7392f357471771c33e8 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Mon, 28 Jun 2021 15:23:29 -0400 Subject: [PATCH 04/11] update NPs --- .../allow-egress-from-api.yaml | 25 ----- ...w-egress-from-catalog-and-simplequeue.yaml | 44 --------- .../allow-egress-from-pods.yaml | 92 +++++++++++++++++++ .../allow-egress-from-policy-engine.yaml | 25 ----- 4 files changed, 92 insertions(+), 94 deletions(-) delete mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml delete mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml create mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml delete mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml deleted file mode 100644 index 31e6e69..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-api.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# the api pod requires egress for: -# - pulling images from registries -# - reaching out to SSO services -# - sending out alerts/notifications -# - optionally, communicating with an external db -{{- if .Values.networkPolicies.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-from-api - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: api - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml deleted file mode 100644 index e5c5021..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-catalog-and-simplequeue.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db -{{- if .Values.networkPolicies.enabled }} -{{- if hasKey .Values.postgresql "enabled" }} -{{- if (not .Values.postgresql.enabled) }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-from-catalog - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: catalog - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 ---- -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-from-simplequeue - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: simplequeue - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml new file mode 100644 index 0000000..b3e7822 --- /dev/null +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml @@ -0,0 +1,92 @@ +{{- if .Values.networkPolicies.enabled }} +# the api pod requires egress for: +# - pulling images from registries +# - reaching out to SSO services +# - sending out alerts/notifications +# - optionally, communicating with an external db +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-api + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: api + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data +{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} +{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-policy-engine + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: policy + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db +{{- if hasKey .Values.postgresql "enabled" }} +{{- if (not .Values.postgresql.enabled) }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-catalog + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: catalog + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-simplequeue + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: simplequeue + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml deleted file mode 100644 index d05d4b2..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-policy-engine.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data -{{- if .Values.networkPolicies.enabled }} -{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} -{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-from-policy-engine - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: policy - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file -- GitLab From c5ec502cb3e2019c48002aff63a73fe992cdbd41 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Mon, 28 Jun 2021 15:32:44 -0400 Subject: [PATCH 05/11] add analyzer NP --- .../allow-egress-from-pods.yaml | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml index b3e7822..2c07f53 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml @@ -46,7 +46,7 @@ spec: - 169.254.169.254/32 {{- end }} {{- end }} -# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db +# if an external db is enabled, the catalog, simplequeue, and analyzer pods will require egress to communicate with the db {{- if hasKey .Values.postgresql "enabled" }} {{- if (not .Values.postgresql.enabled) }} --- @@ -87,6 +87,25 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-analyzers + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: analyzer + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 {{- end }} {{- end }} {{- end }} \ No newline at end of file -- GitLab From 4d73db1527ce813c9ec45884f8e038cd2e818d89 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Tue, 29 Jun 2021 14:00:14 -0400 Subject: [PATCH 06/11] update test values --- .../networkpolicies/allow-egress-from-jobs.yaml | 2 +- tests/test-values.yml | 15 +-------------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml index bb0e5c9..20051cd 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-jobs.yaml @@ -42,7 +42,7 @@ spec: except: - 169.254.169.254/32 {{- end }} -{{- if .Values.anchoreEnterpriseEngineUpgradeJob.enabled }} +{{- if and .Values.anchoreEnterpriseEngineUpgradeJob.enabled .Values.anchoreEnterpriseGlobal.enabled }} --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy diff --git a/tests/test-values.yml b/tests/test-values.yml index 89b2d63..62dbc77 100644 --- a/tests/test-values.yml +++ b/tests/test-values.yml @@ -3,9 +3,6 @@ istio: networkPolicies: enabled: true -# ingressLabels: -# app: istio-ingressgateway -# istio: ingressgateway bbtests: enabled: true @@ -21,19 +18,9 @@ bbtests: name: "{{ template \"anchore-engine.fullname\" . }}-admin-pass" key: ANCHORE_ADMIN_PASSWORD -postgresql: - enabled: true - anchoreGlobal: saml: secret: ci-testing-only anchoreAnalyzer: - replicaCount: 1 - -# anchoreEnterpriseGlobal: - -# anchore-feeds-db: - -# anchore-ui-redis: -# global: \ No newline at end of file + replicaCount: 1 \ No newline at end of file -- GitLab From bf9929453f1f0ef00c5a90db7f0b797f4ec3b3f0 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Tue, 29 Jun 2021 15:12:58 -0400 Subject: [PATCH 07/11] testing ci script --- chart/tests/scripts/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/tests/scripts/test.sh b/chart/tests/scripts/test.sh index 1f867f5..1e2495c 100644 --- a/chart/tests/scripts/test.sh +++ b/chart/tests/scripts/test.sh @@ -19,7 +19,7 @@ else fi echo "Initiating image analysis..." -add=$(anchore-cli --debug image add docker.io/library/centos:latest 2>&1) +add=$(anchore-cli --debug image add centos:latest 2>&1) # IF status code is 200 if [[ ${add} =~ "httpcode from response: 200" ]]; then -- GitLab From 54cff9e21444ed3d7aa052dea08b2f5cbfcdfe9c Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Tue, 29 Jun 2021 15:20:02 -0400 Subject: [PATCH 08/11] revert ci script --- chart/tests/scripts/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chart/tests/scripts/test.sh b/chart/tests/scripts/test.sh index 1e2495c..1f867f5 100644 --- a/chart/tests/scripts/test.sh +++ b/chart/tests/scripts/test.sh @@ -19,7 +19,7 @@ else fi echo "Initiating image analysis..." -add=$(anchore-cli --debug image add centos:latest 2>&1) +add=$(anchore-cli --debug image add docker.io/library/centos:latest 2>&1) # IF status code is 200 if [[ ${add} =~ "httpcode from response: 200" ]]; then -- GitLab From 2749016e28d089d0b5b1d2ab480df89acf850e39 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Tue, 29 Jun 2021 15:38:56 -0400 Subject: [PATCH 09/11] allow catalog egress for pulling images --- .../allow-egress-from-pods.yaml | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml index 2c07f53..13ec3a3 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml @@ -1,6 +1,5 @@ {{- if .Values.networkPolicies.enabled }} # the api pod requires egress for: -# - pulling images from registries # - reaching out to SSO services # - sending out alerts/notifications # - optionally, communicating with an external db @@ -22,19 +21,19 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 -# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data -{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} -{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} --- +# the catalog pod requires egress for: +# - pulling images from registries +# - optionally, communicating with an external db apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-policy-engine + name: allow-egress-from-catalog namespace: {{ .Release.Namespace }} spec: podSelector: matchLabels: - component: policy + component: catalog policyTypes: - Egress egress: @@ -44,21 +43,19 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 -{{- end }} -{{- end }} -# if an external db is enabled, the catalog, simplequeue, and analyzer pods will require egress to communicate with the db -{{- if hasKey .Values.postgresql "enabled" }} -{{- if (not .Values.postgresql.enabled) }} +# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data +{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} +{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-catalog + name: allow-egress-from-policy-engine namespace: {{ .Release.Namespace }} spec: podSelector: matchLabels: - component: catalog + component: policy policyTypes: - Egress egress: @@ -68,6 +65,11 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 +{{- end }} +{{- end }} +# if an external db is enabled, the simplequeue and analyzer pods will require egress to communicate with the db +{{- if hasKey .Values.postgresql "enabled" }} +{{- if (not .Values.postgresql.enabled) }} --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy -- GitLab From 4d1b8575dc5f03f62dc2a65033c4400d626b5e3b Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Wed, 30 Jun 2021 13:32:54 -0400 Subject: [PATCH 10/11] fix feeds and ui NPs --- .../allow-egress-from-pods.yaml | 45 +++++++++++++++++++ .../allow-egress-to-external-feeds-db.yaml | 25 ----------- .../allow-egress-to-external-redis.yaml | 25 ----------- 3 files changed, 45 insertions(+), 50 deletions(-) delete mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml delete mode 100644 chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml index 13ec3a3..413011b 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml @@ -67,6 +67,28 @@ spec: - 169.254.169.254/32 {{- end }} {{- end }} +# if anchore enterprise is enabled, the enterprise feeds pod will require egress to pull enterprise feed data +{{- if .Values.anchoreEnterpriseGlobal.enabled }} +--- +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-from-feeds-service + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: enterprise-feeds + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} # if an external db is enabled, the simplequeue and analyzer pods will require egress to communicate with the db {{- if hasKey .Values.postgresql "enabled" }} {{- if (not .Values.postgresql.enabled) }} @@ -110,4 +132,27 @@ spec: - 169.254.169.254/32 {{- end }} {{- end }} +# if external redis is enabled, the ui pod will require egress +{{- if and (hasKey (index .Values "anchore-ui-redis") "enabled") }} +{{- if and (not (index .Values "anchore-ui-redis" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: allow-egress-to-external-redis + namespace: {{ .Release.Namespace }} +spec: + podSelector: + matchLabels: + component: enterprise-ui + policyTypes: + - Egress + egress: + - to: + - ipBlock: + cidr: 0.0.0.0/0 + # ONLY Block requests to AWS metadata IP + except: + - 169.254.169.254/32 +{{- end }} +{{- end }} {{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml deleted file mode 100644 index aaa2f8e..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-feeds-db.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# if an external feeds db is enabled, the feeds service pods will require egress to communicate with the feeds db -{{- if .Values.networkPolicies.enabled }} -{{- if and (hasKey (index .Values "anchore-feeds-db") "enabled") }} -{{- if and (not (index .Values "anchore-feeds-db" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-from-feeds-service - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: enterprise-feeds - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml deleted file mode 100644 index 67358f1..0000000 --- a/chart/templates/bigbang/networkpolicies/allow-egress-to-external-redis.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# if an external db is enabled, the catalog and simplequeue pods will require egress to communicate with the db -{{- if .Values.networkPolicies.enabled }} -{{- if and (hasKey (index .Values "anchore-ui-redis") "enabled") }} -{{- if and (not (index .Values "anchore-ui-redis" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} -apiVersion: networking.k8s.io/v1 -kind: NetworkPolicy -metadata: - name: allow-egress-to-external-redis - namespace: {{ .Release.Namespace }} -spec: - podSelector: - matchLabels: - component: enterprise-ui - policyTypes: - - Egress - egress: - - to: - - ipBlock: - cidr: 0.0.0.0/0 - # ONLY Block requests to AWS metadata IP - except: - - 169.254.169.254/32 -{{- end }} -{{- end }} -{{- end }} \ No newline at end of file -- GitLab From b83c41db66ae696cd99d654ce3af2d03adb70b08 Mon Sep 17 00:00:00 2001 From: bhearn7 Date: Wed, 30 Jun 2021 15:14:16 -0400 Subject: [PATCH 11/11] fix NPs and test script --- .../allow-egress-from-pods.yaml | 37 ++++++++++--------- chart/tests/scripts/test.sh | 12 ++++-- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml index 413011b..34ed248 100644 --- a/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml +++ b/chart/templates/bigbang/networkpolicies/allow-egress-from-pods.yaml @@ -22,8 +22,8 @@ spec: except: - 169.254.169.254/32 --- -# the catalog pod requires egress for: -# - pulling images from registries +# the catalog and analyzer pods requires egress for: +# - making connections with registries # - optionally, communicating with an external db apiVersion: networking.k8s.io/v1 kind: NetworkPolicy @@ -43,19 +43,16 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 -# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data -{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} -{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-policy-engine + name: allow-egress-from-analyzers namespace: {{ .Release.Namespace }} spec: podSelector: matchLabels: - component: policy + component: analyzer policyTypes: - Egress egress: @@ -65,20 +62,19 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 -{{- end }} -{{- end }} -# if anchore enterprise is enabled, the enterprise feeds pod will require egress to pull enterprise feed data -{{- if .Values.anchoreEnterpriseGlobal.enabled }} +{{- if or (hasKey .Values.postgresql "enabled") (not .Values.anchoreEnterpriseGlobal.enabled) }} +{{- if or (not .Values.postgresql.enabled) (not .Values.anchoreEnterpriseGlobal.enabled) }} --- +# if an external db is enabled OR anchore enterprise is disabled, the policy engine pods will require egress to communicate with the db OR pull opensource feed data apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-feeds-service + name: allow-egress-from-policy-engine namespace: {{ .Release.Namespace }} spec: podSelector: matchLabels: - component: enterprise-feeds + component: policy policyTypes: - Egress egress: @@ -89,10 +85,11 @@ spec: except: - 169.254.169.254/32 {{- end }} -# if an external db is enabled, the simplequeue and analyzer pods will require egress to communicate with the db +{{- end }} {{- if hasKey .Values.postgresql "enabled" }} {{- if (not .Values.postgresql.enabled) }} --- +# if an external db is enabled, the simplequeue pod will require egress to communicate with the db apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: @@ -111,16 +108,20 @@ spec: # ONLY Block requests to AWS metadata IP except: - 169.254.169.254/32 +{{- end }} +{{- end }} +{{- if .Values.anchoreEnterpriseGlobal.enabled }} --- +# if anchore enterprise is enabled, the enterprise feeds pod will require egress to pull enterprise feed data apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: - name: allow-egress-from-analyzers + name: allow-egress-from-feeds-service namespace: {{ .Release.Namespace }} spec: podSelector: matchLabels: - component: analyzer + component: enterprise-feeds policyTypes: - Egress egress: @@ -131,10 +132,10 @@ spec: except: - 169.254.169.254/32 {{- end }} -{{- end }} -# if external redis is enabled, the ui pod will require egress {{- if and (hasKey (index .Values "anchore-ui-redis") "enabled") }} {{- if and (not (index .Values "anchore-ui-redis" "enabled")) .Values.anchoreEnterpriseGlobal.enabled }} +--- +# if external redis is enabled, the ui pod will require egress as it depends on redis apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: diff --git a/chart/tests/scripts/test.sh b/chart/tests/scripts/test.sh index 1f867f5..061f3eb 100644 --- a/chart/tests/scripts/test.sh +++ b/chart/tests/scripts/test.sh @@ -11,7 +11,8 @@ status=$(anchore-cli --debug system status 2>&1) # IF status code is 200 AND all services are up if [[ ${status} =~ "httpcode from response: 200" && ${status} =~ "analyzer:8084): up" && ${status} =~ "simplequeue:8083): up" && ${status} =~ "policy:8087): up" && ${status} =~ "api:8228): up" && ${status} =~ "catalog:8082): up" ]]; then - echo "200 OK - all services up!" + echo ${status} + echo "***** 200 OK - all services up! *****" else echo ${status} sleep 10 @@ -23,7 +24,8 @@ add=$(anchore-cli --debug image add docker.io/library/centos:latest 2>&1) # IF status code is 200 if [[ ${add} =~ "httpcode from response: 200" ]]; then - echo "200 OK - image analysis initiated!" + echo ${add} + echo "***** 200 OK - image analysis initiated! *****" else echo ${add} sleep 10 @@ -35,7 +37,8 @@ wait=$(anchore-cli --debug image wait docker.io/library/centos:latest 2>&1) # IF status code is 200 if [[ ${wait} =~ "httpcode from response: 200" ]]; then - echo "200 OK - image analysis completed!" + echo ${wait} + echo "***** 200 OK - image analysis completed! *****" else echo ${wait} sleep 10 @@ -48,7 +51,8 @@ list=$(anchore-cli --debug image list 2>&1) # IF status code is 200 if [[ ${list} =~ "httpcode from response: 200" ]]; then - echo "200 OK - image analysis stored!" + echo ${list} + echo "***** 200 OK - image analysis stored! *****" else echo ${list} sleep 10 -- GitLab