From ce740371b8d85b0c0a4cf7bc1d0539178eac5717 Mon Sep 17 00:00:00 2001 From: EC2 Default User Date: Thu, 27 Feb 2025 19:21:52 +0000 Subject: [PATCH] 3.3 removal --- .../customizations/GCGuardrailsRoles.yaml | 1 - .../AuditAccountPreRequisitesPart4.yaml | 18 -- arch/templates/ConformancePack.yaml | 32 --- cloudshell.zip | Bin 1995657 -> 1980348 bytes doc/NOTES.md | 23 -- .../audit_manager_custom_framework.py | 21 -- .../aws_lambda_permissions_setup/app.py | 1 - .../.gitignore | 244 ------------------ .../README.md | 47 ---- .../__init__.py | 0 .../gc03_check_iam_cloudwatch_alarms/app.py | 214 --------------- .../events/event.json | 62 ----- .../requirements.txt | 0 .../template.yaml | 19 -- 14 files changed, 682 deletions(-) delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/.gitignore delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/README.md delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/__init__.py delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/app.py delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/events/event.json delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/requirements.txt delete mode 100644 src/lambda/gc03_check_iam_cloudwatch_alarms/template.yaml diff --git a/arch/lza_extensions/customizations/GCGuardrailsRoles.yaml b/arch/lza_extensions/customizations/GCGuardrailsRoles.yaml index a067f342..07cefdfb 100644 --- a/arch/lza_extensions/customizations/GCGuardrailsRoles.yaml +++ b/arch/lza_extensions/customizations/GCGuardrailsRoles.yaml @@ -53,7 +53,6 @@ Resources: "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc02_check_password_protection_mechanisms", "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc02_check_privileged_roles_review", "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc03_check_endpoint_access_config", - "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc03_check_iam_cloudwatch_alarms", "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc03_check_trusted_devices_admin_access", "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc04_check_alerts_flag_misuse", "arn:aws:sts::${AuditAccountID}:assumed-role/${RolePrefix}default_assessment_role/${OrganizationName}gc04_check_enterprise_monitoring", diff --git a/arch/templates/AuditAccountPreRequisitesPart4.yaml b/arch/templates/AuditAccountPreRequisitesPart4.yaml index 85dcf16a..ba68dc21 100644 --- a/arch/templates/AuditAccountPreRequisitesPart4.yaml +++ b/arch/templates/AuditAccountPreRequisitesPart4.yaml @@ -269,24 +269,6 @@ Resources: Variables: DEFAULT_CLOUD_PROFILE: !Ref DefaultCloudProfile - GC03CheckIAMCloudWatchAlarmsLambda: - Condition: IsAuditAccount - Type: AWS::Lambda::Function - Properties: - FunctionName: !Sub "${OrganizationName}gc03_check_iam_cloudwatch_alarms" - Code: "../../src/lambda/gc03_check_iam_cloudwatch_alarms/build/GC03CheckIAMCloudWatchAlarmsLambda/" - Handler: app.lambda_handler - Role: !Sub "arn:aws:iam::${AuditAccountID}:role/${RolePrefix}default_assessment_role" - Runtime: !Ref PythonRuntime - Timeout: 180 - Layers: - - !Ref CloudGuardrailsCommonLayer - LoggingConfig: - LogGroup: !Sub "${OrganizationName}gc_guardrails" - LogFormat: "JSON" - Environment: - Variables: - DEFAULT_CLOUD_PROFILE: !Ref DefaultCloudProfile GC03CheckTrustedDevicesAdminAccessLambda: Condition: IsAuditAccount diff --git a/arch/templates/ConformancePack.yaml b/arch/templates/ConformancePack.yaml index d67fc6aa..c5b7c1e0 100644 --- a/arch/templates/ConformancePack.yaml +++ b/arch/templates/ConformancePack.yaml @@ -691,38 +691,6 @@ Resources: SourceDetails: - EventSource: "aws.config" MessageType: "ScheduledNotification" - GC03CheckIAMCloudWatchAlarmsConfigRule: - Type: "AWS::Config::ConfigRule" - Properties: - ConfigRuleName: gc03_check_iam_cloudwatch_alarms - Description: Confirms if the ASEA CloudWatch Alarms for Unauthorized IPs and Sign-in without MFA are enabled - InputParameters: - ExecutionRoleName: - Fn::If: - - GCLambdaExecutionRoleName - - Ref: GCLambdaExecutionRoleName - - Ref: AWS::NoValue - AuditAccountID: - Fn::If: - - auditAccountID - - Ref: AuditAccountID - - Ref: AWS::NoValue - AlarmList: !Ref GC03AlarmList - Scope: - ComplianceResourceTypes: - - AWS::Account - MaximumExecutionFrequency: TwentyFour_Hours - Source: - Owner: CUSTOM_LAMBDA - SourceIdentifier: - Fn::Join: - - "" - - - "arn:aws:lambda:ca-central-1:" - - Ref: AuditAccountID - - !Sub ":function:${OrganizationName}gc03_check_iam_cloudwatch_alarms" - SourceDetails: - - EventSource: "aws.config" - MessageType: "ScheduledNotification" GC03CheckTrustedDevicesAdminAccessConfigRule: Type: "AWS::Config::ConfigRule" Properties: diff --git a/cloudshell.zip b/cloudshell.zip index 7025da05ca122631e09dbbdb01fb68ed7098a3cf..1ce32a146d4016ae5ca99340028acfd7375540ba 100644 GIT binary patch delta 97368 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 delta 108252 zcmeFZV{~NO7WW<7wr$(C(=j@>({U=Dq+_dM+eXJWIyO4&*v8wp&vVYXL{Ng3j@MbKJJQ~U_J_Y|P#_`oQEs z_lEto#bZK)#;bbr#x#Z6BrhzR-G%NvbwVx08bD@YCdQ7Z>Y}THD?5fRIV8tgH1Q&j zw>g^{k5B5DMzPC+0V&Xh2CMGl1JsyJvc_3kBj3})os0UAa_)J!B*;N^=^ROu_GR?K z%7CVCeCOhr27&5evkH!iE3k5dLN29x5Re^7iWjR3Q<0<@rOddBm4MIZxTHv+RUL_= z1@twr(30WAQ*dNSX>^8s9=enOvh(ntn{gLN<_ogn2$=iu;7JJ_q(?cv>S9?A?ZU8Z|W(X*o%Gi5qa5T9 z)S>7h49Sw66W{6dGl>q6PFsVG+-D;o1kdn2!i9}Z6g-Tn>w0Z^!nC&^MB#&JpK8%M-}94h!hF*3Qi zhbJ2Eyj=0Q1lbA;GCa)mQNSsp07Hzwa80$T7e|<&5M^_4NR*?6;GxxI2_TAB!WU4x z$mw5)A!#Vffw2-b{LM`@u61Q^X3ubBqzco3Rlhz_OdKWfo!NYc0IyV|O{y8m7Eu=x z%|zTiCbbOI>d3BVwKLJo@=E5 zv$4ATp^L^9$zN;TWsQySXyhm>mF`Q;9z?sZC*K}Woa7fTenHo&40ANZ3 zlVs5>!TlLQTU=`fR{0{rp+A@rV|N_tNOz*IkcJ@E;2s!nAt$3n18Al+lQlut^PmOm zBq^L(W{vm)j=W6xv!Za3F=FV$sk6sQZBB(>O8F+~jf(96k5NF>S)pLkEW`$8xU|C@ zul{rf^VdSS!dTClc`aLcU;v_PR!JK}eXBC2JOfAQ=}QdNxjYvACnHnZ6@upT zuC}TiiTI{8hl)?X4g;7+JiG*M8$Uuj?^VkW>7@;V=45YhJeCDU?7sj$S8~>es+y)P zKx;y*Y9s{vZm<(q*6^v^_e@1N`R*!51yn}_mnF~D)mO-uANCyO;-MR*kqh`7K+@?7 z=KER++EgeJTX*zbVK)bK`MD}BC9OcGW3cq)3K*G@WCw4twgE`GodlOp_-63mobwMa z!#9nN1I1{thi1Xy5RHvsT7z~6!Iz?6s*kfPTQ4*oCxbLvbQp@J%70B7Fa&$ZY3nH_FWoIHZ`%ZiJqt*n8c_V zY@RXD?~Dsoq5#%9v;CHK9*Df!z0vOO8jAHQwib~lZ6~~Ce2KgU0PQABixVBvQk)PK zJ||hOMZIkX45x}joJSHmA}=rMpSqe|bs#l?0AsS33dc$Sq-dUpA0Oh)V}zv5l%;nA z?kL*X3M8v}B7`!r*;>c<+HrW#teeslsf|IQS9p6@M?k1-4D&Qs2Jxg9f_HZb{Kf6w zGw;5yi+>|7WQxiNQJ=(&l^i-;yfW4j+4@E9ZDWQ3%`-lm#*lHWq+FXbz5Ob*isUMo zj|lab)rilk%}s-ctGv-pu4{G?=|inY$3E`Uqh^8ouO4b<_|?4X?>VGh;|N6k0ba;p zcP$^hiGX^1)&6M&-TdgY=KErBy(`fz{W=|KwD~lmC&#KF=Mh_+E6onBFC@9+MkOD; z9M*3q&Z)PgjZkZ}9O{BSu2^$>7i8hyPFl6$miAYxX7r`ASUVY=@%h9WLRNvq_lyD4whyhx-Yv~)2Hn+TSI)ppRUs;yh_Ir`= zcU*`v7(-K>j*C2MkDJ|DICnLHn%4&04EQ+84kK-0FDBcgh=KZRJyZ#xV5wO@@9HO; z>mUwxs<_rCT@InvVI|eD{ni~*LjhSZ)vaB{6z+bi>_WiP)n(MQ( zI(u0c=3kpjrb!vTR5oD@bU*&w4fZ7J&$M;H;N2%jyniHb+aK#oEmVq?RI(^d&8b-PQ&nIseZ!%aH{ zLLsL;;4SLFhG{jNfh|44O1Gh{c&-F=b^$j}4$X zu5o3h`tDSX2&f<$Zv+eQGl1Pm@y`S~P(*-^JqZAbH_;YNK()jj%AsiE(dx6gkoLm*>~NpL}b!_cx+j zFBLq)hRv?XiL8m0mrJr0h5h7Pu}+;4ju?ct24ZiY+4COXOOklawo_d6Kt~Ozc)q@` zhz+vufi`Ic)E2Scomei>EKrpQrWlJ>;|6|iQZ%!vZe8shA!tWh6sw+W@_^w)eaSpz z?~JgI@X_jgzIY=l0_$s|d-eg~`=tm$bFDsO0Q?49+$1KUa<^>bZ!RP0TCv`$S2>q3 zV&FTEemFj_)&Z#cHgg9lac3CE~y+lL~bW?s~@&TwpG3NQlGbP z3h%wMd~M=Y&^_FUFSBIVE^1#fyVQxt<^RJt>VRVIo~r=;_eSf0AIJ^J*u5K!rPp3^ z>lAaqx99$7F}67)jL|gHVtU0ex0vYuq_mpfq+|1 zdGUnjP?T2#WYSS!@*c-5vrPd{YG%X5E4H)&WZvox<9O!YV!`T&*xA zf7U(H|A8sFbY<{oK-Q0oXh7&$Z)b``5-h8 zs?W1-x>fx7vV90qIE^UZ7g*z8>FfGCLU-?R#9||pAdh;jm`pv42P`1;p-MNHglfWl zGTAA5vC44SE)A=mPIHlQ3&PC8ay1%oKaicnNsy9HMl#F^oqmbIbZ%Dsh%G%rW}=BD zMP?$G+|wcl+~S`MWN{ze8J}I;T^IvuAlh9MVvw+fqWU8RP2b&jVn~63WC8^!vg&oU zjwV!TA$016pIL~{@H0S8P+SJtA(#QlAn4pN^tq36uU=u|DjeoC`8oEYX(AI6ET~&06jIDoRlnA4qd*r?Joe0hSEi2 zy0f$P=%QzQ)7MPi0+&{1SE~4g2@6R&Q)OXixL+AeAYU{t5m5ReKn#1*f*$GghN(rE zhdvG@%pA7iZ+~V_GGK_RTuX9K*~Kl{Y+&2*O*7Sd@Jdv`Vy~!Bh9@kU_1=1CPCaqT z7AGwOKAf6UXU_3t6vi5NHVfWdfvqd|6CfUZ36wtbDMHd8ceE!naGR>EwQ@6qp1ytxAC=ZzHFq8W{@zeD^M zz+2rw23jTdwMMyCGgDkAV~>q3l>Jloy{yj_AWm8JWufKl;7%~+*^fZSi$~|UpQXvk z0kawSlxIiJ`$_U4%qzaKfc7Y5_Z1OQ7lf{v)a@0=^E?()Yne!6NW2kY1jw*W0UM~b z#ntvow2UZ8i*y@DrjfPa>Ms(blqzh`u9lP?Y5iFdaj z;G6V?E`}8O-N)J-DRj#^xnw%U4srPYd(nqYFyGsa(@U2Cdy29?y>*ZQ;!V7jlCeuA zY-kL7b}(@@@zv$?eLu|B#+Fib^{^z{{cY8ve`{W)IM}Z$hIJ9Dn94rlARlXgobyQx z4yPr;bAC$CMjYW@8cDN-Kz{dUmIkmoz$M&tfKSd7*LtYhOpk#_tG!8AA6&hzOorG3 zE)I}t?Z^RY8AQ*=xGG)l{4{G+q{37z#cYIc{*bHYT*+2I2F-0HLI0-Ez+)o$^#`JRt!^zz=%KcB;b?3}=FT2O^kzlB_`qQ95kOtA2o0F()ywPetl z{HQCi4u{4E=1&F&;2804a9f2BEi#_T)2x?k9b)W;9dhAq_?KJedH^F+`-CZK!(I(CCpUkU^gOsb}C592#jGzJI=+e@NP z6cd>6B#`7678W3D!}VutO3zk_%{%nQdDVC3#7&WB({%1b*H-LVS`xu_Wu`%_TzkFy z(lC(hC103T?haZ5d%gKf+Ex_XVK){hEl>4Yk&~$8Ull@Vxe> zAk-mHx-U&xJ2;T`dk;c8&c;A$JAu0LkzFD$=E&$iA}N459i15irhe`hSoU+C^g=&1 z-sBHSKvbph@DX2FS|m9h%hxGb*8`yg;h6vdG-P)a>W>IoYPHVCT=(d3j%d>yiC}n& zFmiTsm1rDa8WamAmvAQ@#3t=p{`lR%&(=z`)nC;n6i(ir;l(cUWc-AUuOD7e43iXi zvL<0ZkZ1ute916yPN)e)c+#2mY43Xp3eKmJg16^&H+eTo{+_O^J?}x0HU4PSDK%Vh z0xs~Ya=}T(7b#}7CP1l_-5xEpJ7#&btS#-VYiaZR?kil2Tjo1StyEuGF=lNI;G~ad z-CWG8y|0BNDr$TJAIT+ucmIzLiY=N?j>rH}MgSlf4>GN~Oq#BK{WEDc*!dJ*k&_P3t&ctlzwWm{R<54?EoIDVysrB#%rD$98p?!>D; z0E|E#sd=AiePrg^GC&5uPkwJblynCPYtIC!YCQa&)D=bGOu2a9t9Pyw1UC_6uMSr> zM;KsqKpe1Kkwdy4iHN(jj9w(h;}j~5vM(v2UurdxM|#h-XFBEmD0@qD@6%ahY1Hle?DpLB@&uUE ziG>!`&;&7Z1JyTnMs-CRJY{@FICeHS#}W5{aUw(IXeLIFNxLkIBUBojKPG!MkWVuf zB3C6F{5h2=wH*<#Ew{l3q*L5j8ZGxhR|n3Q54W9~vL%kXqa%`?eFxBe|IjZQsb_4W^7H@HvK<-X=xs=p zHK}f7G2KgzB(uNF|Lb;fc8TtD+L7b#BWUM|qG|C^SLes$!}H}afF6)>(SFC>NfA#l zQIq_ZOrS_X3C(;>A;bfRW@~}m%MPAPwT&C3hE4Nx6RQ5Sap^{>k1@0k)$N4#Q%x0p z2r-GcD@dYY@R_nRW^2ZOk;BCS~NOdDXcF%)X5d;7(mii$da#2q)GIAqAN%BP9$7ro61Ai?xe19-FxK^KXC)5KssK98M-{+#MoZJ=SL9A_=Y|#B z%c*)E=BAnITLsxzVuiH-4Ah5#42Fn8Rc49}T#w`92qVS!6^+$M*8&&dOqr)!W1LdMhH%R7lo;SLn{Cp)>E^eE=b$j3(bO^Y z6fo1ap4`vxKH)hd3;%80V2I!LY;kFoac*uU;tuu7wej})=Is&V%`Rt2o1TF~ z=mJW8$y|V6Uuas)^tg}`IdzW|-$IS`xH_8J=IvaIyt(^EGhvuxDM%Q_iFM@-J!IRZ zzEnBzqp6B@TAH(8vS0E$JSI0jrJ!m%^ZgQ0A}VcRr)KQl_pl5_me_ymd_8!hglQUK zBghv(rXRDQ&Z(Wcs&PTST4{^a(TF-*LiRH&bu0w{l9(KMw{15Y} zaP6LmN4>m#+3KvldAgPjCj*XiNizFcCuAV4-v`Esz)Xtd2XcS#Jjj}nuG3MOau7yP zQUNYNORG6ErEaz*q#{ohsTZv+E-86zvGbctCod^1!R`aKVgrQe?Ykd*tNP8y*z6-wu(hQy|t8Ov;{A$fhC?@ za_!gKbWFyiMQ&M;Q>-E_T6)=Pw^P{DA4BnQ!C`5JFo8a% zk$FV2NPT%5&)?wO-uBfE>jvWuF`;Tml#{|HP2yWsjX4UXvjMaFbPiJwBVm?>Glup4 zm!BSH!zLmC%w#lbY7c}9=e9FSxHvjf0Ldiz{?}D=(!Kb2T4dj(kW&rHewOs6cNPA1$4#4S%nw8((W8n6OO}3d&Vi?a*WO^TQ8%`SeCeA zG!g8&ZS4}k@0H`*fTRj^0wu(lr>0k2*b*Cvso>H{NAO8xJ~vpS66K(K`YK7SAQ_cf z*h;E^nz2XnDXQ(=%!(^wuJP1^Ld6rxZD`_??St_5hY*NZs`a!dOe1xL0=~E7bAG4N zusxTRadeW%zRX|3m-ci&F-|xj;1~W`yM&J_y@}V}nrK_nJ}^2}0;}&rq&|Iims>w( zy%i_{Tm;BkyQBwT3mUSVLIV$TC94UrAags9?!C9bneX9qytO6fQ6XF{k$!>^tAC0+ z&q+cR{ldMIGD6VR|yYIr`p(o+Gl>79dig9N9s65n7zzh;B z`PlY+*cy=-x~R^^ z7Da9N(mSW)y!l82AUpCVx#Ki$UaQFVDz7FbmS)UuA4IqxRqA|g1-LoNPYFfyqG3j^ z8e2QmIm2r?PO0n`<}OJqmK}a(?B?wLGq;#(ThQjbf2$Oz8TSI;IWuF4Y`wEI>h$HFCo7oU*4o)-n;h6O>5Ed zmG+KYsS5)d#?FY(hv!}snORpaF^OL}@w{!Ta}IJ=KRK7(pUTRt56la~JkKLptr^fY zTdLhS%+Ix#vIB5sMtMLkBjBo}XwI?CxL`P71RNl+xF459x>?g?gWT)@WXP@rNC9Le z_;Av603`4m6D0ZG$-Xtj;OP-ZZ7c0ZEN$(Xdp!ayfMU<1W*!x8c9{Vdhc1DQ@hc}S ziBl4!vmpzKl5`)L*Vlf;aCoR@&alT!{g9xLpyAQp2!O@r&;5DWC$KNr!k+WE(x9Oo zqvH`l#>x&ms$=$fO(opipA01e1d)3ZNmu}0oN-QhSf)BCq}S{S!9pVpuw{3t?4D3G zj<7WQh^2x{<*wzRbG!?tQ-k0;*vDq?IIGq@84~h`9PYeDpVm}udT%tmTS5gAb5-ui ztXZf5*Z`VQdT|1X%T#ho+%_{f;0Uy7>Mu;708dtCCWAUtLry%2E;HHG% zhb^aac)KRKDyun3!SxTKIsZH+l+OI9ZxPT<>UhvIm(Mg_2C_xX0wUjzkz_t4N&TA9 z0%PrarYKX0BLw*xI@&-5x;g6j0+q~`?PN2Z!UN!bnn8$NE@1MEP?=E(IWt6xLU(R^ z^B$t)2;=o1NNUQ!dh0=8ItFP!{beaD&_k(HpDO}A}gytBO=bX2%>IqaS}wCs3Q89Y@B?f6SWz2@TtKLrH7_iWJBLn;gt z4v!iustJCGrwZCwy>5pXv_aIX~$&sKDs z+I3s_&9h>(N%Zzm*irV$kkBB$^nY-zpXq@bTv{fE<9AM zjkfX(E)2ev3O`+FlG4|XkvJ7Oatc7y-5P4X6;&D(Yk!g#^^@FSpsPq&BFGtCK0F4D zV}|;hzYYCV7r;cYwi;j)zcF@~Se=czeT%Ap zM0y}BgWEG`yj6%^@acFS3rmWoNaMpHlvHiV?8&^63OXV%kt#;S z4r9rnyvoGu3O8-yox8t#ch4w`YjaaJjO}&ubwup}*HpPtLWHGvs0{I?fMhjp1p@hI zUn?lMDFGh}52}k7s=D!7Ygp88+MFL`eraCwEAt@XQ`ye~UI@s!{b=Cvy}TEIC5Uw2 zZoH0)`g6~YX>%ODmf3NUZlnLRU5*9=(_$k*Impv`W=L{KvSW1eck^yODW$M5JVP~l z=0q8KW@Ix3Sw8R*bu4k@ZJbvb9@>_-G6G{9MEzrihOtThi7S((({*brqnoyMr-{FJ z)H%OzmSi=3Ik7!Uu|5OfRTB|wB_3=bX@C9V66)O3nEg;s_V~=SIeU<$O(9RT$9TrC znxp?lKZGw;8-spDZgK`?4`XkN>um-nCFw^>ue!e zKU=QL@%whm^wUq~1#YGkCUut$+LKMgX7F(Q<9I*qfO?NXC#9!Mn%S1Y z^-e(T$|ghGT6I|u$t$~}$)pT>N@eLX2dN(q8Ou=nE(Ps?lpXDlChK{aXNs{=&mCb1 zdC8Y1b4|%I*p|AFI4_&%)VNX_&K)6$B{ia{w$z}*BMHO|_1x*B~tzTygQN0TH zXo)!;9I5Qo8(;Byx+lkI4p})&G!^~ES6zxHUy17dc@h)>+NTSdoNe+=#QTnPeUOcs zqV)~2ezvWahi~P&^500&nJ&7W@_JcALzZn9bKUJLmMSC0;4cl|C6hOOv`&O(JJVEe zpyp1eA{dt#PbX`uusP-tgSspuk0F${NV%NR7wuy$G6!`x@aWtep%!77(g$hL2US}P z9R@8X7;DHlQy1m$lBIsk`n2C=V1;rlui*ow6-Kx+?AI6K#l@t&g}oz1mu8;5BifH$ zt@n??kI$^Q%54P#fL>WuIy_o}w)=U=yrt_0E?9D|dk48-sVD_X*Ko8)hJh{2T71<} zm|ZPH3eTQaI`mln_jyS!!AF(7Fc-ehs%Z%6<}Ne*WJ&FX4-O*Ffw7&i;i(vNBcBsw zlA6mQp`9{*-u6s1tJAIhn6p#Vr_mTe=5Qh03AECh&jHH-06unWKIkxDc!h?-DvHBbT;ysd2ThM(p&hN1_xmvpD4^xm+G5z2<`2EiUTpj2mNnU-yDn#ILjBx zHR&{WL2b*2lAATzXlMr8*bjOrF!bwPe?Dr+Y3m%RLqmxBeZiJYh-#PoQgjD-qIwGD zFH;;8prN?m2LQ)tSLlmOyCpa-`Ccpda96iosnA-R=1OXKp=!jIDO0rVT{)jM?s??g z*-1nUebfdI9R>6gYy6{1?r*Yo#lWkHa}C;~PiQ2EC$!-{wl5yA86FlMS+;(D{< z$bcd!il%rPQW%?gOYTA#_EDPr^)_Q~sHrmUu|ie)M1VK`JLlas`3|~1hd6vf`VH>V zVhSF0G?h9#96T;t88+KY#BoBePIosyPF&8%eTm(PZ1jGSqk7fTT?_3B(0k?8*6eIF zU6)ufOTKtdu%zLro;B-PF6Ep+RiW>?vQgGqH!n-`a z&*fHULx3CqsuIF}h6;tsaCKRnPyUoUu*-S$V0uc!M?X+-C}KKgl_Z>uhI}@@D(L+D zAcHfby667MwYqS2FMfK3n3F+%WtPI){E0V2NOKA@A}En6sv+z-c!P&wetjUdRA*%5 z$>I9wHL^MKs$QM~f+@@rj3Ty5n-~K;&zN6|oe*$Eu{u(V{$UC1man za#upBedwm4r!He?mPz*I!5-D1M;1~I3s~Km!7gM7Y)9f(3kqV zlr4Y<>(MjcX1H{}kel!0!sGo#ARbxkgoW5AI}VWR=Fp+y;w-o$^cFWs!5A&vx|FH* z1I$HO%^@o|?X2emAvEZoY9?{-V*c`U$rrmF*{78EnFI7PZJ#aj)zJ9qeX>D1sB&&W z-f{JEBslWcUu2wBGENV})hpKG8hL?SnkoPV8ukPBN6Px|d!0>NH485?Ga0eO$DhfQ z@A5jhf~CRn>pNvudsCTQL%nwpq+{;ApPr<|O4}KfcdVzK2a@QwzmNYKu{?jCzz;V> zfagzz7=v;>fR*bnrIeb1rO_RQjoXtJT?lqE%k_0WQ+dp0*Bb(b%o^CG_V)CPvWNnJ za^b`AfVNW51pT~>@8RH_a8Q_=qZne}lkQvK=}P^+gfn1&tbR#2E>fEoF5YGe<0E64(kgUhQ7*;u&T`$u2pQ-jXPlgtYd@r` zAQPh&araf1HIB)|Z|CR-L~ar27vm!U3z1IF)u-=Z)ak!6VU+~=)LHEC%De;XFqz5n zj%hD>jv-{b@U(Zwjic{+n@w4u=N?!GU|=TQ%9%uN__AW_nmIoKl;$($1V9idu@b{V zu(QFXghZ9Fd+i$~%MIm{h#f@ZjrZWd>Tc)R7WE^ceXU@wcV!MlLTp`&Yk?+!fS*?G zO;zt}RH@CXB`` zII_Q;w?nm;=Ha{1!EZ8@=itW&)WO7%^NFdj0LkR0Bs(pVA~5_ESy*=4R9M&~zj`qY zZHJePpF-D)P6&FtHVZ9LWTpDJ^UQaRYNH)cHKqF8WnY|h?5olQ81rk?C)0rZ7`}R? zIp|sCn`^EUOCK)B8O)qDpy1)yeNr{E<8Nh*;IqLct*h+9otQTC0)2r2l)bX8eSW{OPa~RHKYijtF69|BQ+8u0cy>pvx&peEY9tLbvP$eB-(1 zPs=t&twU!SpGXF&o?+dY!oic9V8UVo5>%+sjB%D5k&3&n>FRb3I{3K=Pknrp+op}% z?*rZ@1*BiPa2Or1X=BK>a|}^0LDE{`RZ}1kY@}Nt#D1YDA3;bJ%?2Mx2_Vth+8Ii* z)0aT;Evz1(+mg860ai_F1_fJUbe_`=k!|T@w_vLJsTL2$&JFzgZ3IJgyAxD5<_sr@ z_jRW&j64L%XdM=~b(^SFHCFSds`94}lLd60 zK%i)|WxF%ot_kVdhVxz6LmYO}1fkZ?)aaP~euN0*Eo16sA8_(uZ6Ff1fPZ>VN8$r1 zQEA+Q%yF95Wo?ekq075l{A%p5zdb-_IYo%DDd5R;q#&lI+3P<5TGJ5}Mqga+(zql~ z?He$iEIW}OTJvF|uj=qYxHi}+cxxHuN$+xasG)hlDDr-^@XlOHL!US~WtyX&XY~DT zq-yP~s-}9a9gy7DQu8R~FzEPhbY)BXzL`<5uItG8-qQFUz~J&m-}qX#FMhmcsnUz5 zWze?k+xgD6=s%sT_ukX_Mz)yghxt&Y`!EJy^ICSoZ0%#-vE8}ZOZxP50a(09dK1Os z>LR~#haD5`TBE_(yvWY(;(Zg@G+AiImn1t5jJ4z@1*G!w*ji-YwmyZ!K;L5Yiu~xX zZ|H9wUcXJ=NGPKug?W5dG>UW1Da%G41cf#tGQvUgrPs^AHWp1@`R3HueyjVXC}G3F zzG8Fpl%s_|da{Zs84WC2uUG1RXrOFBvj}k-)UaDIHx%jRP4M76vciW8lfO$FYM42} zH>w+>AMpFxhd>mm*bRknuV;5)TjOZ39@_Am>Wu+`%DN&9DA@g|IYHk5OFk0*=bR=S zm@-?J32+tjff6;*oyWOY;kVYqrzmZFV?6wbv2jEig^HaCy4@mJ^1Cni-8G3FBsgmk z*12-^+7Xb$SPY^jdRcJrHAPQ&rwCp#uxcOvk z)%Z6t97MT>a48nx)}=D1Ngm;x255ViExJCHMvWi6zPDbfWn??nvQkdsx3tvIE!qlv z9i6n=##Wluy07C-yp!7!y`b^0xrFd{?}&Rg*qB>kWoRFeo9dDda%h=5wQJFBQZlVr zIF&WY*_xg2*MTuK$?dL6!FjFN|CWfpoT7d|Tn3%S4-;K89KY*(!rCH6eWMk72ZU1H zZkU1Gy5ri+XL>r*^Wd?We|s;i+J8cBsM$`z0_LvZq9kfQU?e^ul7fpR=>kQP&I6}-u{@C@}m^`uArPOG>K|AjCLskKx%Ec7A zH*KdNJ%xP^oHA*+iu7qklQLfpnDR@hAmTM&}MZxuS$t*dEGwMJee9v%!rI^@`7 zV3(a;Xi`i8H2UX@%S6{MYpQn`6o0qZUJ5=7@A{I@JQTdt%%2wVg+gqevnF451iktb zTf}Xsw4a~vEyUg~w!S0`j~4__La3O?~^7SUVU$7E<8=~QeVDE1>}m}y#+ zf=C##$`8+bmt1*0_Ay@+=qlXvmbbNezVWE)Td!h8K;L*6_^6lSeFHDeg8)FH49_8o za=RaNBhkDN6*!^_F+_VUkYrY!zAPP)T;`Yswt(yS=p=%4ygdJs*PVU&#)L7 zWrY@tDGW5PUrFSqHGuiI(RNijhFX+-P6(yHGhAzX%IM@wh>izaT%nVQaJlTKY1lI|H;A&vymwj|LA~^1t|7GQpken z)PV|+XTv)hs}EatYH1reKfXOpn8H%AsAu=u2yo8|U~^f0j)dcSK`W1^H2k(RaW;V0 z9J^!w2c!sbE5a=`-%lN~R)51pp$}Vtt9$YqnBFZ#o@ZZez36B{OCi%#xkr3!+0V0M zN^8|V!!3EWrR>!5_L4KaLcxNi$)k3uE^fDV=%g9}8o}R34k?Y1p#1otqd`Q~M4;;+ zJC13rSj*cahdzY{r8I^#69>IhN2%KaqwFeVA)(CT`sEKZWBvT`dZ}r2H*OVYA~tG| z_D{W&=#53uk@WlzCWb%0v@~Y z>U`5N$AhBCJvW{dTt^jr8hEM-k?&}LS7e}kfXwPK@}t_b73>bKRS1ct9W*yHTte~a zsXBDDnCVcf&s+p9_+c5Mf{Y)k=S->&5;G`Tje6OH2iYDM18$zzlEs#3IwSrGAvc@l7T8trh7Oea= zXKyQpK0k-#CFh5)={WiphwIl&1@MQCg+X#RCNciB?WdJdWyJQG9wxWX4?U#`zNj*c zj*eSj-ymSt3`6XZJ^(CeJRX!zTt3jhz{NTFZU9U93iw{bAS)EiU)Bz%j66FFI2ZhG zSK`rJ$e9}EL+b{HL(^mQt-%iQLA>SpP-=Ss>GZ72m9#PF%xN3KxBPZBqHj+>k>?y{ zjElk+2VV6wH<|7}U=%^Y^a6UueB0G~5?lb6i2*H|7bwTrB>nV@8%~lZetz*IG#rPL zc4p(6>p#=UsqfVQw<%-SaO6IFMM8Co{pl{gcnX9ZEjk^PAwLAAL&-Ag*~|A|jjzWq z4soR~21xf6exBMVm~M~YFJT2Xnlgl8wY2p*0rQ?f3nkofk7Fz@)UIeY2;>gIfARus zCZU;wdT+&OaCXS!lYgp~O+YhOdBH~F9GBL8hTWf77&Dyu{+-X|IF^#VY=_X=>l;!{ z61Ef604gk>W#G?N_o@%hS1hU!dJ!Hzv6|2~mCtmB#=52z+t6Y2gHfKj?CZ40`;OPK zOk*OU6R=6!b!|3ETa$Ty6IZLiy2W)sO}gyTdw_mM##0{w)@=OOD;!g@yJWaU^*wL0 z0@)jo-%r;S{+b}4AakJfSe=Q!n^|B{+_#KzpC*7Oy=5qg3IYlFl^TQ4lWXAFzItC0 z1wN;H#;Hq6lTIorWwd`SxGkUvZ|{w#>CW&=id1Ja;yy6q43E4{JUOZZd}O5!;O*#> z7`QSmFnnFbh1)TnNU?NuII%W7xTL6A}l(h z^+MyZy0hh&19@w?lA&Q;-(Ty9-<3m=QwQ)`t|7dSyxdV_@`%S8z>wb#k@jLg(wcABuyP;Aj z*hLXCI%28Mi~&CA7?(iAkCRjXLeq_fk~rqegaR;fyBcPbpB|DG=-_X8IC713r3|Fw z2Nsn&&gZ=XIFy{5>Jf1Z*uWpupoRdHMofj(3I`We9J3*Gl>oMm?h2is>2CbVQ0*OD z_{_>84>rxYjk9LWON4DW&PQj09iBvyoyUXeQgh^}n^QYqMx5}mXBros9Pq!=JW7&{ zk2(-re#sy)ev^^_Cnr;0L}YMxL>pvwubf< z;b=OPQy4h)Q6Ml1PADi7r2NLb*1m9O1+M*ho9Np+t2#bc!)Oa{RdaRtu6r08vdDob z{mmI~4iP721D)-M(pM%Ax*eD-yk$Mg-8y3o?(DtFHx(cTTN^_YtAaa5lEP^tvl_WG zxzq1UuZ0f(`h`gdcRNG)G9c;a+`9X;9k#_a>Snw zdiM$JvW8NAwMPR$8D&4qt8IbUNXmzL`JA)ych4Wh3W9-mf>qe34YS#74$igi?I4u` z$LVhOk#v_m5UdWr2NId+1#6p|zeBX(Wl?j_y&Vn$3}1nyy;%4y!t|gLP=630gcVdB z^7qEyQWi+sf=1Z#!U{?S3NHQ|4(bFj34kK(pzP4uzfb>%4dS^W@cx`~?){4!|9^r28c%`h0h!f6serT(*f{^AhyT&T|LEa=^zc7= z_#Zv|j~@O<5C5Zw|Ix$$=;8m49svKZ=|T8Eze)f7w@klZzw-yWf4=;m4?Pe95MXx) z8vK6}3UWXND^Pgo|8T`0aBv32`$HQ(R-o?xsHlaw`2WQld11eK<5CkE0!R`9Dg~@s z$AbpOFOH|1|}rgTe><%`nx@p#FcC zZ%G$H35NVr>bnPM;6HMP6v}tR|HvsJ{~80QG*EO=e~Y?WuHU-2ut7j{m482)1gska zH3e=D;UmEP&X@cj?rFL7fKtK! zzQ~xs?P<_Yz#J4*#D8pA*q|L@{?T>G5S5z%J4D&dyM`m2w@2p z|93O~8M(Iq5?fR_QBA=9G@{uCEbVXG7C#q+{J*;H#To41nHd2JM@#z0x;7E)>p#{c zLj=#i!iwJgFZr`DGS**C82A4x zER=dww7;SqKl!gJb6Zir{Ixu%uKvqOd>1P8UyI8K798+TOFmp7pZ@BE9TM<=r&TT@ z%==&Qf1v~acM_st!(jX+grv+C%~JRN9>as-cH%P>+G5VSWeqcRw@HQn>%V9B68dh zvDPqTs_GDH9%lAC%vz_QK6QXsvaN?%q#0UASfNZ29eadjtIG0(WpG;_s~0O*{&tuC zna8>;)&+V<`PL(eW~wSGo8YmfJ`7;nP{tjFnrvW=_NOA>i_K{3ODrQ*mKT87Xb8=+ zAF&L`na@sOL5O(pqvEVmE-H3X76S`85(0sI+UW{QsDrg}yu-ts)Rwy}EiRIUfsl_t z%HFuknxLSTbQGDi(_zMaRsaxZ{1 zUi5+$uOMSDAOLbmO+nvt9^lkGRH&>v)(EP87Fq2XvB)!EMx|$)!S4%xXA&s~Oq=dPP`V@w&G-gVTmKnnHqUyK*t8}JKgLe)E8*nhHJHkGQx__V8K@U->dP6T+%q7kXg~E83NrBw$UN;lgKCUWLgh*fN1)Y^ zX)tjP2%ztD^+W{#_72!=&tLw?JPn^P*gk;50MJZNs)(zmtKh{h1M_lrM>mY_tfG># zf-30&z5(-^8LP<@yx5Q6uAiExK0`qUml4m?26e-34mtH)Lq)~FjC4}&3sxU0pH|mX zuo5?d6uw@fK2<>mH{z^`I&Q{Ib>-+GUIZ~Onh8F=Z2;SYs*2%j5Ldzs5yhl%93VEL z;=|Q3lL3RR>=@k79>#|LRBow&{qN=dZmXv#s7!x7ZAX-Q6r|A2yXq?$Ub#m>(ZmTMvg)vQWa5MnIm4f=v;=WNh-?_tP7mUQ5Sbs^4um)%L{6Q_j!}pt zP6&~ItzpkskiiMH@zBs&xPd)OK?NTq!BpLC?erin2th13(9V>^1tGHVLOX%P1tBut z_*P0dBPi2QmU84U#{GJkty~_!{Tx+8`q*A?rzP<|2x~Q;GgqM|@ji%5i#bUQnRp*W zJt5&NQc#uN2Ni`&IX+AgeN4)+RAmhU@&g&iiM1=Nh=$yv6irN8-;vXg4W#Ii)Q(t@ zDZSZ-13QJmz%1y*apmrT5-26}1VKEtgn8s|#jztpX*ZO^gS`v=q!Z_oI!0Z1M~`q( z&DI<(F2cts$g?066C2JL1@%~|OhjkeaLkC3{Y+sCUfGq?o7*0o!tSNFE$0eb7qkm; zyLYEm9h@Z%PdBQ+6~~I&DCOv3g+XaLpgYHev|~mOP7l^z&=Dn6(bs!$&WLgQmU(mf zvVk5QgxyD2AX1W^g7d$i&|w za=C>NTiJz-BnFMK@*_)9+)Lqj84ji;(({}d3S1J2A>4>UP7Fg<^cifnlN3Y-AgxGA zB<@y#+MH*z@BBbr6_xQlsmch*3x=NYrp$&I3ffs71!!Tq$gQ>a!e0ruOLp?VG80dX zlq+iHL^FEOBu+!*&0jf_6=V{pA@Uais{QcqqqqSDsjcS z$W+=-y3St3QBipU+ngw>B#;|Og(dLy6`UmALyf2j=PD-vcxM}Pv`)t^=8jh|gCjmI zMbwOq+%SgP-VY<3;vHP&{33oBk+Vvl&M4<9 zrx*6IxQB=$aSs%zJb+IS*mR4)M=Oub{eidJ+GO$k)DbBNX7oKO=Hi zZJu&WlOPe1cSw2489;(WM7A>JDSL%@XhdGom8Uc^@z99OcjqZZf`_i`{bo33ad`0B%4J`A`*lj!6K=#3a^ zM-NpgT05{rV}_HsZ&W{$;>}c0mF^pgvN!SuF(tI$MqWo%))1%w4%v)q*#vtR{I35X zc#~Tvv^!CCG*6R$yotBdPylQp=><*GI)G!zP^IE6U_Tjfhu48Re~PEch8oeq#M$Ln zAk?9Nsy!4oh-Nge6Za4lBT&3&Mnz2CfjU(jWoV05Kg0qL@pX@A-YW^#47=>@=Xmzn z(S|(4ha_Pr9?y>{qnF*|bs|*` z-RE^@9R?kcJEyKrH5Aao8lHg&*RgHn^J0%{R5&YWMo(F!Ws!cee<(W28Dc@iQK z`{C`aydG5eeKGrAu!+mgY~|f%W96{@!e?qa5tq%Vf%XcxypE+2!2rm8Hq!Z~hDMZv zOu}X$D}A;K)zYHjMF~H#gbW)#O~sgJ^fksaRQb6n!c273n4};RXN}0P#E)ahN~6J| zK3Pd+v>iH5BY~mH17ZYm)KLcx8#Ej##~X%*XpktHiIQ0mN3*Sg5mg_d;YXrlML7d} zDMDke0+<|}qH1ml8uJun93Epdqh%UX6lCIo5%-TwrOw0y3xFKbJ{CTs=|$z2sq#oH zELVdjZW%%7AJK?YAY-?ziy)M48PfEr;WIS{P-X+wBnnP)c!~h(AGWhSal(i^Zg1rbhbG|-Hy#fmQJNDONV&5`)y_@Qj8>3|vqj{`v6{;1 zK>}JtE}7AeOuQ?QL)v*)JZAUujL{xF?g(ksTZtQ&U0ujW6de77{R@L=`&IfO= z_%o+wBx`jdBk(vdLj^M3fRWN!1S2#hS<8xY9IM6VqH=hMw*hGa85V>iY|LdgQ;SU% zUeV`pkz5Rg<{r}Kae~$ehDt{SYdNU0kOZa2b`00Dpqe+4aIw84?0cyB_hdR$W*FZJ z@o?$3RLN=bnmL7QnL*YKguzX-xU@rEvbT+xF!UV z-@-Gea%;4@E3J;Kiak3jAND~XHaNY7Z~}%H>7C1OeWNIq$WVK4F{3I7KuYRjFi(!_(;{$U07?Nzbv7+cjAEOfSUkIYF z27iKrOwMu zPT!Mcl2HYFLaceX z#Nk^L9Ex`gqK=IOe^Fe=cckL|bhH)vVfTpF-+2rE8S?~qyLhUo45CULw7sb2nQRRO zC-Im_xBiyeQx#HGG(N0p3iTgxk>Y0+8xKBil zd#*iO!AwqE5!wBh_B;idcuGXhI}fMw+c`Sk)FLZ^Hp8H_C8T2{E2+pBsMhcvYbKW+6vMbDshgwfY|Qb6@G1w%Hrq*Q67EN z4HQSOatji_iB((aFIb=eA}$iCmK3UNhy0Kgkta`R$4#O+L@r7aELDIIr-#TFas+b~ zWa9J?`RG1@(&8j^LuA|If&>LO@o$Ly=)6GL$Hc!OGIN%RN496XQ&YttLAwjYd2A1y z&R|nQlxM(5P?{RLEJ_i<{abCwpTT|PN#O`iQ4Sp;0Q8W$GZRjD!>)Wa8|4;B&@{oU zA}XL7UQaUyC%H06o#-oq3U8;I*c)#D1E6(`qguH_Jq35=eK<$z&J%uN1pp9a z%k*Q>;1lqH;jm6ZKD|jpSfPf0-cr*dz1uiV9Tk-=?&!4Cp0aN+<9{-0oNWNc9?j>|D*bKIf7mh3ZkI$CJJC8a~?ZeX-(t=h16Y1GCI{t`64{OC&=K zQYF{b&rawRe%Wb4w|>|Abne)BgXf6d?kTI?21tTWbSi1{(fwrLl33$Y;-3}0=IYv2 z24Am_vds4E-Z{bGSU=s`CD)xt^DiCINb8uj&meeaJ++1(sM_SrfaOoigIO4Cr*R+w@xjbQY(RImag97oJLD^}qW=x$t?4h;erIw=gf~DVEh8L~Y z6J#%nj`_5B?mJHDeT#-Ex6cV*ESkSE%4X)IaIf)ahw5K>lNnm&x#?RYd*!Nl<9PjX zJiG0W1g33^b|)7Xm8Ogyc&N^7@#49A4+VS*zP01V-kuSIm&G=6D*E(~JLG?3;q_AA zM<)^w-FKV3dA!d+mmaT&a$*V-eQj<&tObm)E7o|QXc%A**=@R`k4{B@oEq^B2G z?iL?6JnwIu;63QMTByqPE}ModGUu05%j`zi?iD|bDDPf#W53PA-}}2R8J^Pk-RDwJ z=SlpVJvbjC4wo-TpVu*V>T>_atldupTgRKK`I#jD7OwTWxg;ZsSKM8q7BGHh*}{rV zH}0Gj>7MKm?Ke>~LM80%*-pCbT)*$@qC>_?PkfJikv{0#DyQ*1XPyX)6}of$uJq40 z+Q01BsBcLvZ_Di)M;)$ye_5u|x?ty}ly#dvNAQo)C%UaDJA0)%#@0|6bECR#_X{7% zXYIDu$FZ#sS{GaPuHO1HsvvmN_6u*5-VUwXH-6i?Qol=MX8WI-b}#OBWo}%_)g^t$ z9a-nMu_4hk??z&?YTMj{2|VW|svlh$N_8CzogLwMfUbo<(@h}{nza({%-9k?9RU%z~=buX4w!)uyu!RrG~ zhrfAs(M#o33ol0RcGC5c)WU-a6-KvsQ>I55+fU>0tWMeHuLyjaFz8T%y-~^h=|zS5 z#`a6ACmMb$yY(fd`iC0r_-ba(txln-_tSQ$ zr^(SNQadxRfZ)v^PJMcyZ@thnWlff4uh3zZk#;(JQ%gGL#%a{$&L8#YPC$;q0B*g< z>7uHmCVolbtyh+P8}+n{_jsYfnz^}SBne@e8#2!n<+|86m2_8M)bpTky^CdS|LT8Y zYPWy5f0@_u?5(?W0T^<=X4|Y{?&;p*83Y@l24HO#NSM=!Q zyUX`>;D^IDhfY45=<2M#vTV5R5?6QMV2;PUIQ80(Cs(u#YVfQs>hWS^#?OHBZTD&= zS=@jL|Ex+IcI(sDtCyYr+#4gAQlYty_Wl50`Ce0=wbFd`re~i{_OH3L%eC5bWm(z& zOXHlQLu_`juR5{69vZrJ>VRq0S%Xg(-E2PWE998OZ1}P*d*YtSE+3~q_i+;qPhYxl zNgzM_w?NG-a8XLYUGbJd&ToWPn`6gcd$cY-F3aj_#ilK8ma3}4`6c@fEIF0)&#Z*$ zzgLMT_&KI@Yx?Cg<>1owmo|JDb|Xl#wNt^yHop-b16FC(1X-JnU)!|Or`w6%QDu+NEYvLEGQ6)x;Mx!msYhRq|c z^KOpSIM}J>LE!MB<7aN4O-?b6-TvZ?`{fDCzxd|q7)(ub>$&1#MZ&??hVygYoXlxD zxqWHwKK{blk7KRg|JLsNsi*10q{5$NnOmKzZzdmixIXRCb@$ky@-x?;WL@1B_^9CO zxLe$k2}!Dlp4ygtD(flur|-|_F69R&e6JU*$~mpyCuxAIw|d&Brao8SJA9ee_z~ti0KJ&gz+OlQuxwHcr z_a9$ccIN%P&&!q>&FnGnwddiU6)6?Ekxl1rWu&aHUi~U6GOtM`j%&$Rp+9)$AG{UY zGf5gSYEJ3%T>mBYy6f+n?aO>zdN?@M*lJ#7!tv2RWiw`LJ6`#$o4M(V?VrJhlly#{ zTi={)f9BhddXqO1-{wAD{CY+C;F+#%n@!ww*x!1K`hCvKH&XF@tb23Lo`}f3S#>67 z&#J#Sw#*un;<%iO@(_=Uy;Y3hBQ0qH&N^-Jd2Kd+zA)q4DZbV=%sD7vBht+=Hb7y1jT%+Ebsda2K= z)z7Dh8osn79v>_E!k)D3!{?7HKjq$Sdz*8V|L)w3=bl@%5>s?nu>~+5O zZrq^MuWxt#=ym)bBWhNkn2i|@!h)9cjd`BW#x#!Z-aNgBTEI)EyXTf!8q|nt>#JXX z)O@h7vP9)~;qKu3TBjFZu)eE3fc5xgD)q{1drR2TbYIhHyAJYBpDm5w*U7(ky~SeB zs)U(){et6ZDtwsEsn)iXQcgzk+ii19&D32^iyyhAzIR=DuVuyc6O#t(Z2UMTWKtiM zn43B;%0G;#oi;x%QFBDhfhv~Z$lyIW3wJfXG2T-e_A(6hV>@aPdu8D5a`4>(5div%G>OZ*nPO6-p@jBGKOH=uJ%F4~! zv}>5n$#u7W1+953+2l9%RaoV)gRB#`hkc&vV7h(Rbb7AW$PS*ihxYfqU0;1LW%S(N zdpj3fn76qdWu1O|A;`rz->g?s)`z6?LHklZo_+oL;-q8SX#Z_DwWn@f=O2EsGQ+_y zN2V2W!{FTNiBY+kr?={u+fUJq*F4>A^k=ij(c>ptt`Q%pf}^X#n+^ec1x1q@zR#~t z4_WLLo;X|oCjWE?>rr#gi(XE$u6w9H*P->{8Wq-T_Dk!1OPBUv$ZCDp=NRq0ZTkGN zBcJ9hPw991P2)$ysecw``MjH2I)AZD<7d>Vnl6IsQ@&gKm=ubv8wYma2cHxUYzlwp zEeVv=1ckM2UF3WIe)w+NfFRSgVGXY0rx)uE*uHqxU3J2gzV1ekAJENlM-Nh6=DLa= z7dwk4)Ay|w^t)j5+D$jk=9^i@&4PCgiDmrG*N>QFTc(tlo>ALUl7F+i>m-Ahs|#0$ z)Fqer+vNUK`PtdmZrU5w2JM?4_VhMtnVPf9aN3Kp)1H^Z4V{a4h>uG@u!PVCvzl>hj}oMfvC^FE6naMs*k<}y6_(1gQtqYcjtG`jbA zFP-*0`K%3{Hfv++OiF0TqLj%&oIdT(_MUV20?{IhK0<=J{J;WO;4Zw}5~`EHj(;oPzQuNHnUs^J{{ z)&GFgeHY2Qdl}LJVTE^mZ(d~m6MC_E>%|l2X2fo=2s)eou(H@s{P1Dl_m7{HMA)TU za9YQIGT-dH&PC_&sH6@T+nyc@({4`rEVCBg*#5XSXVdA$+g>+J9Q!a$b&%Qo4e7~? zXEahd*MsUlEPc@F%-2d)*Sk8Krtj=~z|?TSFqa*-zaQ9OqBAw4*V;Af>r2(M_r3l~ zuVn4a2%4sHgmag*;mV82{f-`bc`3p1p;!2)ol#d+EHBdE)eAAyd7kAkXX!9^nfFHj-q}TD-LiRt0&VGC65tse^rQ>{S zv#}8!THM(^FO1K~=$Geld`0u>8ChLxN0{}>lieKB<kB=vfQh zX_lv4awBuMpWnD((zNu6FTI=E5(-+6?M=IPCG~C51FNTV`<1TmFRJu)SoY}Y^4;HC z=YGkLPceE!tB)Uewvl)2V4mF)-}+W+#w4jBb(E6mP!9cs#`JeX;R`m7yPuc~z1a|V zM^7d%Og%aZA?0W|MC7;3V28ZOMQBR$YtI4?iqG*IJ5&ytp`lzvg@?Qyg{WQ1!U4O6 zB4DRxSP92aPkO1!{>JKmWA(qW`rlanZ>;_|R{tBT|BcoE#_E4#^}n(D-&p-`to}Dv z|Gyztcm97FtIL$%3_>r)acUU^?QVMGXTduu2Yjmt1?)H&N69*fE5b!Mi7Thl_8oYjBbcU=v ze9+a0d%JO4g}#b=r_4!&Le(Fego~Mq@{A~ihjVqHW+YRl1dZPd8BxM*?d2i+qFTAz zAkRTALY^s%$d*Tis}*E&sRfaxCBh^H8D~5RfE*&3^2Q|qt~uuGQdvE81Ig``ObxzJ z!AtI%B8a9t?I1`R6e7F76)se8lQbwq?j_VsRFKKFQY5h5wbBpKs*s<#P3TVUmNHEt zxlssWn}u$S0)pg5A+ooaW7~C?N_Jqp#-RVx0N=Z^caS z4OApW{TmA;t}S8IA<01q_i8(;JlhwMPr2x>VVLEgazNz9e!9w0Niv%dIV(apLBUNj zn}8hBF0%=Lo&+0<$!ucuQ)V{d9vwO-e#Ng~ za_x*Qz%k_m+wLq#x$}>>ZCRtRdwoO|*jY$?2B5%^t zQ;u1ZMTN)?rg};hNEQ_$FSgQC7+E>e47=zlR}Y*sg-!2x_LN=W02P&e7pdXB)bWh! zNBR5k%oN(;L@LZXY>8KS79=eD2`G;sH97D0be@TV7iU*tUd4q}74qR07<~Pxa8<(& zC^?TAF6fI!nA@;zL^0&xsqj?DC%`cGQHs}@L8cU`Sa>?FPtqIC6w!@IdT_!!0$MJd zr{~T($K+g9?H2RtMf3D{B3zi7rZq4r1sMa^30@mquB+0zzfd_%$ zgJA@_HbZYB7g6CMDZUuGW2W9nZ43>c!-mT>#zwuV;&BrB-5Deaqo5TRp>T7c6B#P` z_(YCgccMYXe2FRLC^0gmGHZ=As1|)AW2*AL5&r1HzX(R3qoB@)OZ5H&H@;7^jYZ{8 z__t#E@NT`ks@kANhK@Y<(Jg!RART%nv1u17 z*W5^tT>rhmSaJiHw)-$9` zFY8%RQ%m)CgQXiR(1dT_B9mBGRfU+B36;|XcNNFY~bKVH%^ z;b^1gEiap6FM;MY$*oqZXF!d!Hqt?(SzeExUZw~4p#qWWW`LRUQO|Q8XY@kQaB;Ol*(oqEW;(|bh{Cw!p7F$sVVuXvpgX&`=pmNB;hcC7m ziA4W_PgXf%uwwXrel+c1$I))F+O;DbQM^w@BbP?a?XU|_MfqB5t8 zM8pJFfn&xQeG9reLbO0z030E16*~&7VbX1vuPMTKkv>)IZ^Y%mtOI^}d#q?M0mCaw ze7s1$gkJ*_AV54;kTCe<9Bi*+MHZBBzDRzl12Mrv#>%~T(OE9m3s!rWTY*MBDASR| zI)Fsb&=^5zhI2(zxD1uKsG&(0$BN*KM~DH|u1VbX_+)HMo-fkkV20U?MI#gpFgC>W z^Ti@VRaP)mR$VF@$hrZF;ml$8e?)wG)>2Vd9RU=EoN7J)$`)*LM3vGlhbg*fw2_Qz z*&$+6!m&nN9vB8{M$aejJ~h^hU_l81O!%R1-3LAcl|h{~*eS_&8&GK~-?Jj67h z!8{GD8C=aarQ*YkhNEQ<$-!t~6&|A+WfUOmfLMl6#oI-iTsaf{ZJlTk(IiC+Mo-la z(Qxv8g7%V#k&1SR+&Eb2)_tNNtTZsuA^Sx=Ras*}>-7gj&a85|edwkGBAFhhbI*(1 z*+7q8fLd=x+uamdks62LH|{CZJIqQ_0X(QawgW?5o{vRJ!0%MbRLMT z$%LwsTZjs25b>#t<akYKD;|?RrlXp@S=IdnpQJ16%YWGF%pX67^PPjRPpSgKL^S z$HNF{h^x8EXHqB7*$V*~+J zoNS~+OmJIn0{UUAC{KWEujPxq*+7q8g4%3K`x}U@Rap_B8Ftzp0&y2^H58+&xV@+d zVjVel{z4-OHOx@lnQ9Th*EJ9)JY=|l5I$|GBmT|9lE6osQXa`h9jJgMMvhdvzL>*B zf-y1-7!5FV$YGxI8CxnVOkbaJd;#60#5Xb!>nQkPD4Ea!24WaWNS}x<1}6W?Z%Y-2 z{xAB_LPIf3B*Z_=Ts)l7mELPEhD9L~$lVgeR+NW_81_yUVm9lp+*;I)0kCl%Wg#vx z!fXZ};^Ay4j9!k131vS|qD7~Bh`|$$2Nd{(2`sHvV$1BoVh$NF_kkIqVFMybuoIcZ zy$4iy$bbPE8ZrzIg9+UH0Pzs2sY0T~MS^f$Fp&W2hGenw=5>Qva7vXjx0Q&qGmM5) zt15Up3QnVW5@WeONEX~pQs`q(wPqM`iEY}8Co9d@P;n3kx50mcIE0I|hKJ6dAcir8 zn${F0_F&a8W}(&@3FwH4;@^6>Fg!^-lnsT^D~WHum?U;qWlex;uyKK9aw43)&t7Me%zYV^@tNVj#5UASLgu63^f= zR2)|*HGvyRu-8D<(^AD;vf{RvMC{NjRosQ64N8UB{|4swtOH%SUff53 zs|t3CN3o$obShbYl6NA*BT$dyFu=`n#a*bjU1BZnBj7>6*m$TM&b)|F>gZl0`3-!; z1P`$wNPo=3Q29s1OSwo020%tb0HgE7D;X+1b*I>u$W58e$VIr+;e0V43ukbNz24-D z<2V>*EG-UW80caesXr0WnWaRF%6}-J<8***o+!_$ViJmdRBZ} zpaE4wRPw5pIZ}1+AijX&&N|8v3IL+hiJ=;=iF*-Ac+GF#0ElLlVq-Ft>VOeR!`4FT zkd^4J*hg6oJj76-%{UFLG|W*es{Xiq6T-5+5L#wU5Q4 zxeN#nDMrPZPSIRk{1^ z)1S0IXQd1S<>(Jq>&Yu`kjUwSfSq{e5#7oTNEbUvpqa`*FXa9Z+Y zz`NmFj@*imSrD5Oc-t)?XnFd9kR9254rkA~v|qJp+~-S=e%|X<+_ymdI)7;Bqh4w; zH-2OqU+{5$e{kfmQ#H4y1cdy$=|3R#?0esi`V&u#FUXqN`{{#oN2a{K{c2ms-IW6e z&gj0WWagXW4|G>uPHExys0rAUt}`O7g>%8G=gJk8p1P$=EhqU{)m=^%Pd~m#y7u9G zyA69wH>7*HvyU83Q?u5S2%kT&I9atmeot`KXz59tCEY6dGw$UkH(L%9vr!M>!%^c)9%;S>~$S_!|Q0TD^~}PSbDT**D%|Z?~W^GzR@^* z*)vA}_J+v9i18+;{Qp>NXb~s8_+#plkvsn8$=b!=mj0Z%>Lh=#k!i@wn@799J~-`M zp!T_dO@nsp&S<`Rb))FznxK^09e4c}yBu>}o7b^-(srHl?KTUI-u<|Cb?!{zqyBb> z=Sc!rYAn6kQZ2Mx8DMGTp1ok)*?v|ju9xZ}Ha?)nQ=t_zm@}Ki5`-h@K9cbm2_N{-p&u*RCnmNyYZ+tf1`dq8Wq4L#-VuEMiTX}z6o=)Py z(~sOWW;Tv3FdcjE+1TBcjr7S~<`4B=>3xP>(8G}x`5uOAha4}O7ts4h-lNjaA+aGb zCpI>^P+4aUx>7J{H6;IOGR&k({5U-|PwNyPu7rb3M{~4eCzD6?ANZ-ve_#vg@lD1} z>Fe=l@ypyr%O2cFd|f`4Zkg0$`LVO+L)>%*nN{h<%p9yYYITC8_Q&S=-fQ%RT;DWA zI_8~Pvf*U4+2+vem!WtT5&xRxiaU)Zr@?GCR&2haEGH=w0f zWB9!j>(?(6cj{cd%yX>e>~h!fzdL0O-urMx;1sVhDM8z}j>|dUChY24Ju>W0pIy~n z>#7RUXLqbj&v1kxc6G3=!`#kQ?$g2&-Mbe)K0dxH?INihZlPi^)g{>Y{`K^|euJvd z)Gvt{GeG_MW%bVMmY>;~;&gaP`MSVP`<4Wqs(stg!=tyI=lO+eB|m12TyK|FwkB@O zAgjqfUgvJvUtX88c}%9A+3&l#1@mnWeEGC@u!M)IyF~@a3O!d+Hx^L&1=R@i| z*DZ7LNE_rZ+Ni46lUIF(KHOF7*OqMSIp{)n^%s{{#Aw$SLKsUO`NxA*qokCrvnc+E25Rz z$#Z8JY!4e3y4^uW%}H9~Xl<6+#o$0p-TH@O>xK9B*Kj7D#vA=`;{Kb^1UqP{WX#t7=h zb308d3yU_Yd7c5CTV`; z+OZ2wW@m2P`mj?>|CG!A_I2^EhO!eciXDWxx^FhLq-wEG$IU+fsl!!^BP+{J$9NP9 zPkOVKdc8_nT6}Ln+QoSOiCg`xeuu9JNRNMHXdl@)?0voNyW&wPiOY`4l76{pf4zI< z*VKVu-M5*&>RZMw9^A?6#PG{=`um5NuDj}uv$%MG3)z7*Tq4SqiV_7)U#vv z9SX97()89%ytRL}o9w%4@|&0kZAEL^_U*3sZ0?z-kzIDvG9_x*k`C3HrV%O^(th`u z^ZbRGub^~Mx^GuE=O<0{{%>DB6nn>Cyd|z!r*r1xCsLbQDUiJ-IJ$T>H&e6BW z2@hm_G)&d4+$P>Q&}4VF?WG3_8d$gYI}aW6yKqIpkXBx+X0&I=CkgAz&t5%cJu2|n zu3-bMYi@Hp1Zhksq7Mi&>+tB!m@k?@Kxd9jW=X(z+ngwK4RXAju<4r&+gCZKK9lg9WSq$@y^W z;sk2$>?>=ub@JVPRjO}&TvfbeUf|PS2fGchn0$0cibkK?115C2$e-0U=|GBla`_?zjs&kX_GuXS`gEABF!y!iGI`Ju!e)SR~sJK zq?PxSr8zs5Z;^36k1@0O;oA9wKyzF}$|zO=b-_K+efgr3(at-5mOV}{N%PC7Q_r{EUFmyoOp*IpE%R z;IHoeyC#2KZke|G#fs=a_S+$iw_aC`d49UDz|S&n@pH|TT)#8ly4)Qt_;9+H_xkSh z?UQ&V14`|jYCblvJ1Dp~uqh|*pSyW>BL_NH@3?Yy_!W(Bzvp~X^}FyS(c<##Ajh6| zlewE_PFrCR5iNZ?wf3Ojg(ZO^p?+TVS)YT;FWbKLo-`|~>!X}2-?}Crdj9Cbw#n0F zk0Nw*YTm9t_j&C$r_Li&==m?)HmMG4&Mw;iw04a3Gi4lHhSgV67!+0QeZvJSG+vlCHk?i{nXUd}lYLdut0t@XusJ*5 z-(R`fXWZmzh18RTT{n-M8~z}|OO$i*p8zx0I;Wu@f7j0+ky!oQAWg@j(xs$W&uYIN zC+N>7|CXUCRk3p?Pk$`&v1qhdTRHe%pKmGWbc!q|zj<_uecOG4Fw%0i zcKz2^5l`}jsp$r8vD9mh`0E2BtUy{eN5** z$(ydOoEDsA)%^Cgf!Mx2c0=1&rvdwnYo)Q;$5sk+U)XIaDLCLGnW$|)(Wp(0>c0)X z0PME`#eEQb{Ksuj{uZeR)uB{MSpH*}LGOr_?qyN$FUy(!hwazXA0ju6Pxq&P(ShTO zb(HQ83H+qR|0Fg(S8AWq-{+#E_-gYHar5bsgXtSJ3BsWhN5-2qCSF~)$KTL*bIZDe zpQ^V^lIW~3Ds?aV*7o7X$OWFyPx8*3itkQo1HMCAs@3mpy z=1(2ou!ijV7JMlvxKk?o+(3sRXER^L85D21nL228mnVjueJxHIKk(O$x}U{I#Y;p^T7cJwgd{1mA~wVVobK4kcng_5+yDr)cw9%9Cj zm9gHkZdCX)DI7z96>a{*9u^`;oWP|#p@0}NdObc2ONm|TC|uUOP_wMB$lKey*Jt63 z{T(~+3p#kG%W>&^)vi|t{h4y(p=|Q}w^R1S1-YI0`e{Aj0sCT)bOG>QgnANwefBFVLs5KcW-qLAaqV;C~mxtfnS|&E>H^rjY8;>d5 zdBWASYsH`gb2{Fwy03RTD5|&2c#YfWs+l`tHt6tnKF=-rlA|m03+P)h`=Y+Mxzsf{`f$^ zH!@~?RHPCfMBp=!_D2Id=IO(iry&~Z`QJ&Qig!!x{~jLvJv{ioDJ z=1dGVqq~0J_Gb)FSBc3PL$Ci5aVE9cAKtnBJ&5>w5b^gQ;_pGk--C$12N8b{BK{sk z{GT|8nDqbKL4-24LT^LiYs4fz8vftzndI?NyW2}B@WnwGy#3WshR=&9!%s1VH;A?V z>kZ%VL}M|^wPOUJ^p3x=_5Y{X8a{$d`v1S~l*N#R#6@v86Bv{C_3)eYI=Hw0+mLv; zsj(5dx(2WLufCR_n*Fy}st4dM0ZOW1<1;bpou-VO2=1H~8$H8#r)MrJMe2gf{m_LWwe#2twq2lLPGC6H4UhJOIdyCzAFFmWq z_~=_%xwD%47Y8r2>FtnJm??IZacgY^HxhOG?i6)8QuN*3b6wER{vU#eRQ(gM_fSzu z>RvVW?s4L7JyTEL*xJ9hNlL#hd6Hc&=MCJ3rtST-)$Vwd`q%y1U-taIyvXiE!=j4B zPVt{(Q#;wMI6SVz`{p2r-|*xmR)bT3|VQi+E+;mq^cw>CJ}Kdp~{ge9@`Ho8jNn|G2HH^*?>kEJ&x? zvd^9Rr$e)IkCxTko#Xt2t6aFJz`~8Qci=FxGv%%>VY6P!6IQ6VrI404M_r;TW+Apz zeaT2vNI%t=3|GY@_<0)0$Gc(Fl}hO#VRK)>)J3(A&6nUGR)xEL@WZN(lF=mX2NlDE zkGv2#pB`=~87#m^epetr3>|w>^|lgUD&I!JBme;*2E~c4NRPfYk|kU@mA+yl@gusx z4>}WJ)M{G^AM2tJhSPtq*hC zc`cgbBk4>ufU7%J+0{n+lyIEHTyfp0y$q6W2iKiUIT-TcM9By)!+`E7QE*R5iykpa z0zZB?4P>HJr|blY2{FxEP!;FUhbK$;^y6sB8(qwGeXhip4TaHLNID%Pw02WvO^5pU z;I(*_ME+AsjlhFI@Zl;d2bHID5fvU{1%P(vV^nY~30#DVYalBija*hsW;0Y8GF1l> zK{$ylKULyS^5xn?l1AsGN}M@Zr+ZnFQ3{!m1#d|Et&`{z7<`wckdhdX2ESt(?9&Lt zwtBtfiwTA(J1+5LLt%6dY4DaxiH#~N2GoOVB+$X{jbIdJi-Cnq4Ui$Ay-!Je46qD*E2RFcq&L;pWW*-v&PXJJgA{QLXH+Sf#FZ22 z)s>PyLSZdCnGBMW*P{c7dEAA@oNQTWvxy@)bb7_MS=4k3G^=AQ{cJC*Jl`9@9 zft`G~pP*TY9a{%MVe903FxG)GT#hdVtoM*w$}k+Zj(dpIpR#9@G-ieoua^iYXpD3o zm!aY`=C@-QeZe06s45SzT6&0-ui#SNI0DOfae@qlutR%m&%A)K11_AjFPk$Oe|^y=YFE(eX>Au(HkoES!_eV99fGzW^gJ6T2ZMY&XELq!!JV z+Hz4jJY;6w5Eu*SC$puaw6Jd2cnsb^s*f(QAd-zC(Ncrkummi~Q1RuHxTR9K0fWSW z1!32#XFLi;6aOL%-zWw9!7ErjhCyvFyC=1@`}`$@<@X>i}m}Z zZ0gqzsU{nEqxYkUX-W%EN?~RrJe*l>W^QanCf;}80X||vRE~G@sGLeSYR?3WWOk0* zElm^<)sTyCIW7(5B1sqpSq-7YpO7Xis4x$W+i3v53~EB579mybs6(e<@F6uA31q2m zI3*p*!C21cVY1VAOgJ70M<{?3Ol2g7ck03%0znESEMG?`nCF<>3J`u zd)46TI1j#N*&sEirHVi{Bp53vm38*5Ho zR+fk*GKge|+_jaZas(heWPi<$C0$@1SgBDvDkNew$#6rh6;~`6ePG9DN;me9!L7^L zptY{EY#^&mZU=gDrz$KQ_>#j}jB$+c^t8Wsqx*s^ML8{TP`%=UpYdC>nua zW1w=J^WHX220vEiY3xR&43e?AhzTBIkpqKdcX${I_AE2GND>A>^9KRQ0%UU(RD2aj zDI6!dxAc{nQ5ge`d!VJKJv4D@IL$qNpm6~DHAq-`aE3elKZJf9BzsC4Q8Gpr#Arps zbpV)Gb3in{XX7!VW3$m7v(cbQ0@U!%XsH}#+=UDe7VscsY%wGi%wR_e!(;&DW6Yt7=E&p= z6hcFsc#44zO+2h6UPS7XWdT&iFtTzpjCg(_$b++F3%GJBZ9iKEms$~dn=8Z$&^M4N zESJ=S;le_Q0Znch=u!kfz?iuwaN&p;7W84p{`Bf(S%azo8Wu8n_H26;opRKuZl&PC zppG?_GJ^O;)J%9N*kGE_9~a8tvIQ~*tTNs#b-7{b13Q%ksXZWd;2Lj}+SObva_otqd?Yb1Du;)(2k`kcYn|)|4-3J!d=M-7 zy)+~aL!qIEl*`>BTg;VH>FpWFY)AqL(zeMWuy6%9j;_peWWgNFwP3ewEWR+A{>#A#5;5ULb4wI#0Xm95v>a$R=`Ssm47J?=O6Vlhqmah*lS?uu z4i+dala1sewc(-T%Vcn|X+G$UolgEUStqLHri{(f0CmxfqdSz#y6a#L|3@$|fF50d z28M(__lT*B2L{xYUoqAM9#kLO1YzTCj?PDzT#k)0`Q$@P@DOD|2%oaBg^ybR$_VQE zZfR$F^AlM$4-3ZE{uI@zBQwcdL#kjgXwV=r!Z%<9hKfIWpi~hLI1G-1^M8?!htEHa zvauWt^XUT&ABF*(moc62QD&^lN(K?fChMD0i;|3u$r$3xtwcTMfp=2>EE}Mw0c;^U zU4us2Qj16E8(?P2jHl10)^PMS*-#_;JegQWIQlR$7XT{U)-*wxqi`{f2frSu4Lk@L z+YgoFOR9OFWbn(e3z@|WF~NiFM}zomK2{Jegvp^0EA>DEct|G3Ljy~x9$Zb8tA|-* zr20AxE4_uI50|=;Y}n0`7Gv3zqrN^LE6B*E;4Z2$Q69qp16RJ)bXcXYN7|1{=prNi z2LyAgiGCmhLVq*S??K35T=*G5L4cC)NkbC zmJ?GVlqYWbU8wq0V>b0f0>7P%WMVut@Q{uCdh5?*sC25mK70!WiNU7JT?R`5060*Y zwh)81mnAnHNT7kCm5nPs=?}JHxbXeBF$45vs;tEThz*nU8v?Tedf>%iN}D*MhGx93~ar!W--1hk2i3>sLFL#yPm=WgxTpvovW~gr z!rC4_SHG5v@v(UTWe~M}F^oeb38NsJAiXLUgH7aA8upytL^vKdRg?c8(!M*ss-k&6 zxtH`pLV)BpNI-f?LhmFLL24*cLQ6nIdXOePvCvBpVWkK`K#(RN7&-w&Is_E~=~jBN z3nIT~X7`-C2j1`d$NTg1xrVdz%;1OeAlt)p(~Bl zAQyhAY72vYsWUJ3Z{foGm_mlSxp~uLkZO@Bk7mTww-+^>(|u-4 zi-KJK@#2_fekkvESUTt1H8FS&z6}n%rddoReG(HZZ=Yyjh@YK9bj%m^4xm!}q+cL4 zG`HH)n0JF%G@rO~KRzZzJXjr*96*(@0P+i|^zxdRK}Korku@<%vR-z&!B#`KKaqa1 z)Wm)Hs#ASo(}M;vM~~m z5kv7}qRTnFfocda2W`29j>cS)6+S!_(>#E5#V07VK3Sav_=RkM_*+PoTI?y*mRE|SiY^q4w{ zYx~hNYj;on?=g|Ka7az9Jnx0|kqCned=g8Pm!;TWF;Rxd+**IdU^-(8v>;nW+Y?4s z;8D)XJ^pvh+Gs|+5$R~*hw^@><;`?4(t)I!c#%{xZ%OHbV!#kTyNKu<^zl)SQsP>) zLjwUQ{S;Ez@i>x2ad!hXUR+SdVf4dPC(9#`k-R0P9m4}uY3|WT2Qq6aMxT=rK$RPE zWzS2}ME887hoPPqb4DjTO}(>6VxO-AAHb~ScvniQ9Pj90O5z9DNAZrrzV@l81@lN) z;MnMJilpj}0GUI@DsPF4%^;_0qT}DFFkn-|cfD0B9*wY>cKqXB?BT%KJ>STuK6v_l z$(|JW2uN7&$4woW^`3?rFtdd4@8M8cW*mT20lSmvm=$4q8|iMM<0m}{1zLr(o*2nU zlo#g8W0;SIO4RprXjCMebU9zJ-||V zLRUw7e>UNrUXCsXE%%3B4m^@ba}4(}mHvvOv~*hu<+j`z>5ebM8IhLZ=-`L)erM&1 zP{ssDC13k=@M7Xc@`|Ll9jbpS2_Ok!*ANIJ7kcsDgE8sbjs)o+0^ujSs+K?C=~jBU z<4GV_$0HXQ;t?ss9d$+a&#;|OBO?`9GQ}LJessL!tpKBRGd4Pi?DGC0x#u$+n5d_! zb0#`611xoMKi+PVqmMrWa^Hc!6d>0**?~dJ4Dj&*C9FdB6h~ouDdiK9vk;+lc8cRs zcsO9GPk%a?Qxl<-=PTyUD2k<}1&-Q&0QWm5JMzja9mvFiQKvNM8;3X4Qi_z#QJ34N9UWg*3m;`{^l`mL8^#Fkvm9K<_gF309Bfc?i*{F zRE%#cyM^@U2aZPK+A2pVt6|h5=bJnqIVSis{)6?7G!wv6N+mZq(EHAWEbdkEPC3*h zTN&k;+$|d&iII%>X`ds-59R&7HSeR)+-`Z)A|wD)CB*~;sAKBN0!TvG9Yn`e3DZ+# zoDdy9>5q30I5I+5iVUd(j|>PXUQBf2(L$Bg?;aE_9y^^y zL`rL?I<(0mmO#j-xY~BlYlNY9v=}?eiJ9J-PQT~rc|BoFLM>;13rWB&5xK`|Ie%`) zT3`eoEsjrj_BBzQN^C6W49!iS;j9?QsO)*pCI%q);yh=YN+M^kvq12K7X~id6W)c@R>WUpD0E}Zjvmh=}nDDd4Vu7B=qAl~pV775!@bmGRRm;bx zimFx$4Q|CezSYFT{mx3F$q^XtXfM)^I7iunI!Sr{N1e@me-UkuqK;YUJy6HI4|)WO ze~&toY-Q6$(lO^K-vuJ~m~*7>AEMH6XG^YCY&_wN@!Oj9!Azfdkq2Djul>#vae?o@ zoSIkZU;kN!p~+((pOO}B#?AGampQYvpP!Gt;Yrc1g{Rm&`|`+e-3xs`622##{cZ28 z5ra;^mDGqL^rX{iPe1H4@BSCjBIzVt@KIn!=H@vYic|T{@PPIwe0*LR z+DD}Ca+MQZPdS~w*gX9sxj$SG$v7FOnm*xZ{{LwtM&z*(Ud^_qRd?D1{dc5K=~ zw99qJiG)keVA1|Gyq0%e3_0y=Wovg|?8aaFy!$@$mffo^lJe19*$;i@EqUM&OK@Qe z|4UrScb3N?E6xZJbH*7S-s&$OpW(0fi66wTK#_VlW~iJiz=r!L`pZgcgh({|e z8{qP@FUCyz^}Wv6d5`}Lw}i;Q3O297Um+sL?y4d(H@L&?)BjQ2g9f^)ic4R@S+*yt zsM1%^gq-NUUbw=H$whp8+M-!HTI{Y{R78I5tS;7nn80VqZI_+Lk6rXv$eH{FUy~WO-;rH;ZXAY7;}&^Bx#wf&J8;U|mE)d*2e&qBvqpHBY;5p^>}4 zthUu_zJZ2G>7`ws;&_0(Q~Hlj>4e&K`1P^~-K@B}j_?$;dLhZ_aoL6qltMRLat4Tq zksj%axh{7_akRWA+!ip%q<63t$dDIUH*Ig*pe`;C#n!<5-7f612y*$ee6_IYW&)W%OLV?sC~K z95;axB0loj5X!pejKq2aDBb46GT-1t4}EOAnUq%Dew)~u8@4*3DF8K*Va zgAZMiB6j(+)t3Jez`FU*0`r?aQ}08<{qY=b?^q2-VYRXR>fMbaeSCV?@bP(53#*k` zGrqG{Qo>?a=FgBn{WmXU!FX4si6F_|)AfCPGAxqc@fG`TI{S%~7Md~?Fn4c2=%heN z-4|dBH~d85LNfhV_Pf!!l#kD($v!@#Ei$iph-;#$0f|e$1#veT6X7+H6A>BotT^v^ z{OG1F;(ll)5^p<)nc}GO!)04mbm9^JR-BK|s}}UY&f@xQ=U@{}m1o>R<)wNPAsydf zbcHk3?4Z(ra7Ux(yPMqfReTrRnIf_~%avJmUXzRwzHV<5lf75A_xZFrj?$WjC%(Z# zPy3Zw_Z17*mGV`AFx|0a{Ei3E=*~bEykMQHyy+Q|+x6+)`|$uDpMDl}>Gc#3y#&4_;O&a20`Ip2 ze0*NBu#DO!S@1Q1XFQ+u8|-}b8%e%)Ab=l4)O{HN`_uG=i_XJoZx!(I8Eg@1J14pF zKa4D-+e+?R{5!;EU66pJRgs0C1*H4|!2atJkW#N;!Dj#q{sjHt52}Weu0p1BNc<+E z_W4Otp|zjL`Oy}tiy(h^zccWx>b`e1R(yHD+v5>muOjh(-bF)|==AJORp3{RFE-d6 zW@<%zV<*h-aus}Kn;75uDZ@A-V){S$l-U z$FO{T1tRnlZMFwL*TFm~`hL~(NZPiSc{VoNRU@ufM8mRL+>kdH{R5e&lO*+8lQ4dA z>oL&j>rQ9);=2PbBt=%kMs$>1X$=F-zKQPY=kC~{${&>D-%UQ-UHJOChCTnlUH>ms znb?D=;(m9nVMx(IPeJ`6O;WRaxV-KMb$&VYGu2m0;-p+xh^1}3pF{BR8DVLgk?VU@%yOk7`yR;_IHGYW8QQ%4PSD%PscGnBi z(i|g2d$iFWZb|0jHxX>8t^TJB7j?GS!^G+H$TCBMT%i$VHI27styG{f1zgR2?}$V{ zS4DBJfUA+MEpA&>CR**aM~S>k&MIQDpDWzvI4Fxx`?=cN=BSIA2ke{@m9UexnlK40X?W^4B zj)euOCzos(5sQ9mA%3kbRr#EgJjK4Ta~EMTE3BW}Wm|n-B0M3kP&=8$xn-9S_^!eQ zN!k$N>R>B+SzfI54Z`lcBv)xMDHIxSP{r3mk=>K8F6@CfYhD$JVXpQpFTJ~b`nP>6 zw(I~rjQqlUd^%}LuFTra=++DR`17NPlprRG`s8p(`|L-O)>>q~7!gT5h;qJ)R;u(m z!EXI3VG+ODpOZ78AOJgmlYoRK2w1%qR|KeUh6-ONYDxGwBucBr%~rLW>Y#-`)GK?}YKDf*n8eeo)}_^Phb=$NaR zVYE9I_FD1*Z|_2N53476a+bTwnRQbKUHNpS*55|>_*_E=ZLlC*z~ZbgS(54%C~YWX z_bd+%aX{z7-SgK0Z@}o(=QWCyA>EYh!jT znNG;tc1G5gKR7f{NcC~Pve=2L*^oujf!lI{+FI!mrqs8(#L?fq;hU!#{o;q4PrY5nH zg;PgMlVrW9?$Hv-1ZnT>^o{OL&mHyIhLu_CnWeWy?K^9KC@7F+l#254>0wdZ(S$1y zc~i7bi`4dhx5~$-i-o0GE6IY7Sed<)p_caxR?l+PY%94UHX*mr{Sy-3YUW?)xUcAdrk7hG1m^>ou}M57)gyQ3J|-H&rJT_Zi&>})Z8{|ISB z+7AuLKxLBLU2tRL#rG|AH{BMBaix`aX$z;u$)&Di1Lg4|^dp zSJZ2IM3COcGzce*1|$~Ijx$Jj~cri|+ z7l9e_ksL>lDDPLbo*hWs#2XRb3OKhkDj>}oOgXkF6i=qF@vE+Bwl!;hw7t__MYn&DSa-u!B_iIUQ*tpcrjExyO2kfeR}o9gxr31kY|RQNVUicb z`K!b!HWB&^^-@IlL?lmSMs_01I9k%=!IFr}&-jv+GKp<&25^3DWZ8F={={}ZUzAa^Z+mJE$(Y6*zX|08-* zO;=(p8ZEW%H(x&~fXL3pFVVtStE#1%7`xeo)Y#=~!6B=w5u~_m;g5_)n_UZy_OB#~ zqqWdX@7H9U$gbh9Mp6&zLs9E8%OeF^Q5&Itw6WwU-q=5Y##7ZqvpVoknI>kj8dU9~ z;ycY`@vS--RP|^sFM8BP5Rq6C?FHz|W=6H&<<%Vhw#J_|{Y)J?#<<~<5uF=U4 zTVUdQHj`^fTZzoKGHeYM59&dOe>)*;YKXWa3pnnAlA!!tFDXD|zwT-v7EtlfbjgvKCcBCx+uy3>_$4`F#kcK7 z%M~H>uA-H!#;zoiLaRple?Pj}V_Pbv}@)kyL z;;$R;ei6pE+9PEooe%LhMrX0QDZ@1T2WS3CeK6_6+FjpR7d%n zJ|OFDvGJhd%lOGz+H?yw&)VjwyY`owR344#QuWbTdy7=Z50Wo?g{!DV>g|^x_4fx% zou4NMM7qfDfBZZ9Gpy7uYvki&6`B91!Q>~5k(j|r`Z`-8S11$~Abj`vHxntVT+wF5 z^rS!D{z$`@G5fc}<>S-FqU+--if36wB&V>t)K;w^^?cm`vA?%}L%}07oqUpf$)BQw;K+aGon50cQ7<<}Aj8sg5GAoeLiop=o^!U}%;r8VT{rtRCV_ zTf{F<>RS*9IG68DqT(~QG@WmuVr5Sa#yZI=5?-?fi)(I7`4P^zajs}n_}wl33GQt2 z@oJR8MF#$zg66!@)dU2~k(dFY(9=g^`h3yKtnhT=>u6C!ABE`?Su3+vzDelh1&c#@ z3friH+EyQjHMi(~Xrb~w55#mHeIRD-R{r=<@$g8Dc+AG4$+rNSd^>zFKrBBH@S<@) z8hzT3j%e^EpEI$E$nU5*nH1GWUMUtuSAL;*c<7}ost>)aJ=&pDipLmx8En)t;5A)eU9EbL`x43lx)3b`0*l#Q5zYX(-q2`i)O^j&&t#%>a79TBQ}s) zv5B0i*99I=g}~hv714?;BKr~8H2xEjr2s2t}+|JSRcJn}yK0C0T^|48cXLg5_ z@RuZ6j;-`c;(CBwvy~$AxJoDQBl46vOzx_iO`^N?1aXZ}yqW%Ts#z(h#!mEn)yGcO z*#Pl=pcp0s)1H;QuoooPSct{f-u^Gh@sVlwOQ;!R1($8jB9S$~6(ur0FvgW@$u~P( zCB*nNSB%Ynv6n7(ry-GaE!9fm(~(KN?JaSO4e72V+f8qYQ{4Xmp9tn5P);j%xNX~q z8h>_gWQ!$NXeGgYTy1SLR%#_#eK2Ssg*Wzr!rMQSq_k6k=J$N@v}LVnuSg33v$lAm zMdlvlTXnXZXxbAF;5wt}37Av~S>;kMrmTihE(jLI`XUXB++hkTEBg0^AL=4)AkRUO zvZC#-z%Y?<6kACe_CYq9@G4k#=zx>E0s}>M0Z$3GM2$-BCOtXp*|=5hX+7~nir_Fn0HfCgMlzA^%9o~ z>}hIk+odkBn+fj-)^Z`~%5#R>M*Ji(1Ah#}*R2a+Kh*d^U_GOX*ABw!#{63ngB?q? zMBCvQES0m^;&)pN8|-S!nxAVqY9oEbdKP}AEvVjDkQ(YLX>MvF3%KiPiTJ~!n9KK~ zNEnJS5ASK(s8ica#}K{dJ>st|1Cz*XevzRte+`q~w*B;wA>zSM7~K08d0`A|O7I;) zBM{!4P~#s--uF1rZ$U8j{wR;SpEJW4I>90goi=#+czk0qLybG0Bq#qXrSrlODa)aj z^g7)QiiCxurs5Qpyl)d(6I`{0cl8KPcG^nXWwCd7!+Vs-UFL1GxBy|2ElzRU3DRQ( zZkWP;Og0vel-DHSE&;HYi1^LbBjt9rdc;+Y1gyM6!i?1;i=fC+K-^+G<>8p@-`)dk#&497Ag$G zfzMux&1p#=AB3em21^ki>%|1_;;m5-il=KaD~UmLt@B6Nj8Qi27;yP zn~|(*3vD(MTbijN!}YO>bwpb0Yl62hwb7!olf-PB&Uko1Bz5FETKIvyk z=JAU`W=-@3CTkk!`bF`mK@G8)-A{Nf#vGI{)1SMvm zG4><@Z;!FKs3A(FJ^AVUiKXi?1SYVTpAUpH)0v(6H{cFW5s2QmgD>py)Cgui=N!|-Uv zf+?4camDuuA>z!i;D*|YkO7LL$Dh8x$hv^)SKG_U>qNu{>(p3>nDw!abuYm08grE3 zbs|f(l>>ra4MN7U8$au!%=|hbBJyrvNjVTwb-MWr;p5(g(E;^D)_fP8kbn&PwCt7Q z#Fckl4qJCg5=G}B?SH2s<3#2>BwIhKi#zi$UtX?*q!e!-5+u66hhfk=-jV=O{tP~? zO8cM1gZEs;Y|T4Mbc0SIDyxoP{M^o_Tn4o%-U?1BUOVkx5tua%zfxL6Zq34+)B`o|_CT3Vw^t-k=a9qA_a10ikOqLcH+@E(?u-3d_JPBiq!aiW-j-E+9Kniwo# z_vu~)sV43T*!^OfycqUAhGtMsU^R)R$Cl%>lLU$#9^$8lGo;PKb8;%#y%5SojW98s zNm|sE1G144aepBu$w?*7BFisA&KNn$B=K^L*P{^;jVw;NJw_sVO$M%Y+J=plC6g9o zQG$GP{~#+}YJzCD!d1`f9eN(c0+6b2PtsR(R%R`fJVu78{N`q{dzZkzhOC3hd%i8yRt8;dSF%7H z9|7{>%L>BN;Rcc%IyVa8P43Y5r%pn+jHD?P4D3Zc`#+jyjgcL#4dDudr9wkVjf!AR`mYV+!G& zHaC>#YOiSX=GGa@?io@v7V#=t-z`6fssY$t=`hVmfYT+{+NMUZ2^CYY^;hRsW{oZ*c`W;m3|`hg@>7VunIK`j@yH;v zXnnrix-v4bw&dab)55c&&1+6Owv!#M>EmM!nlG9Xj|>_fkJ0VCZ!0ut-c?F7l2H<9 z-k$ppU;=e=x=74*wXr@x*@Vm6ARx3ilV!GPsKey3pMjj%SCTo=G{|hBz8}dt$e*x= zc)FUQ#nRU2LfWEDQkpT5uC$fUU6!gRm)3#6JDVjhrehv%|ZG?P!6;}8vYu&)s ztk^B&osz=6IgHo4RDHa1&J*m%wu-pjE;{}Ickov7-40hBTUi`ahf-nRiPWk?uDlqv z6RFj1b#Z$qHnRta*xjx&qT4RlOTL5TzfbIPb-=$P_n>^>?l5ED^=_Bb_Xk>{KYA~cv^A0>PUVHkZ5U$6Id`x~IOHi{dxS%a_PG|>rhm@tV$;De zwW}Q(3m)72bA(CZ#`i3g-_n1TN#v_VP@_S8ykxE+X8TbY2 zS@nYk;|=c?Oypr;M*gE?)V6n}i!_YhYqhs88!pnzhIf})qJ@t4;2eI~Pa+XL#I;l!Vsa0*L|fk@oKlX(4yUJ`Md;q6=!So)z|sM0roVo=f1Sg7yUJSZLpd$^8N?vlsnL=1^JyW#4g0?4xnY!~t zr6H4f^mNhsis8l{l1FZ7H<(xv-&0Uz=_`tEB#9QtMuPl4#t=cbOu+Zs6OHO5a9aPoue4_n#50Dg?)BF>R8t)b;oR>bg@+l6gObL1vM9re{r^OVpPZp z$ShT#a7J2hBM1I~^ zk~#CUkY`^3x!wdxwj_BLSn^fC4o{XaPVy||dqnO%N0K?8GsvvBp3hlt!EY8z9%GWx zU}M$m(A)6CK9L9`uOoyJD1zUYKaxv`jw0ndytQEwF#S6S=(k;xW7EU3bkn z?J^NKJc-^He?PW*tZ=1D*VCwHU-yC?m3wNwB8{_BsN zc=#^CuZre}tyxt>%57JIxjUDvVPo6D*tz9+7{2`llAj=xz8yM1ZMTdqMS#|JqH(ST zSA>d_x1n1OlbX}!iTa}FY?s^&A77Rjnv0!xU@V_DqI*XlP;SlIsjz#?M5vsR+JT24 zEo!kCJ!e#{;kFYf;vSkaUxEZ5t6?z@vkcf~QAet>^u9|St3g)q+++Sdw8CRAy@Ty$ z0}0NrAE8q4Q#WDhqzAC{t%i~|pn-I}I%R|W81fK$geFUR#zWi@%2RGTk(UwqJw;Ag z6cK17jTTgcUx1q1ObQ{CnKTm2411P%ov=q<*04r?Xc3wDD`1N|nJ{(Mh6NM%8!)d9 zv0~IzqN-S0k$#SYrNJT-s*c;RpfaxkwKD6J7ll*9DOa>q8uSM$?Z4QRREAPRiyWj2 za?a`C2PP^~rid0?{gqtbD@!#LCyJK(ivNZBB9>_wZ?b3rW6@NWV>X6s_tDC%1)DVP z2+AT2MsAVpzfr^F112VdlSTu=vh}3Vni;%)+RG;sM}v`NUws7GJuv-Bw-h2H!rX#u zz*xS%&TTyy;S)@gn!LO@*TSf;cw3)0Ya+!kUw4X#Rnw6M8>@BUAE-6oDG@vyX(5k& z0&-X>N#;D$AhWi5o@pJhZ;w|zD$OJ|v&-U5*+;7qqN~g@Eo9n}&HHunmX@zORqofd zAP}JP74AO>@rvBDYe8UCA}1f`R;OzE$nClWp)8Y?*R#w)mN2PVgLsCU!NG8SzR~(x zeyQ5B3QjYPD%iVuHgsOylBA&tYO2vduv9(Mv@Qqw_9nJ=#{8p&OW&?*oieR5hPYB> z{%PUSXC?g7XBCj^EQfR$yliT4 z5Db~WLxXX?YQbzI%ru;CV2a}W)PiXn3{1#5iFxqIiG6PBv<(aFKEWp5GhxL|OIVu^ zLO?F?mm(Jphq9RTNn8h5?LQcc9i>eElhgiYK@a1OldKbk-1v<^piKN z@0~7-ReVN1OMGUGwK?yUW5$PN3yHa93iUA_BXpy(p(n#}n%azVOih<_l}61>pI8v| z&nqfAC$koM#R$+}$WV07Sq(b7NzYmPS~`N4-%w1(oTbuSC9mXTJ$W5$VeU9aR44I3&v5()Qv6$rUlaP#6wD!^hkB^t&Vn*sQDYTNN^`u)DeK z>#34$Q>`LF;!0t6lC8lsvm`(ioLWfj8_q6*^sC@3NjqM|-QM=5y69QIh&r`{Oqf^{ zCOn=^xCC*$s5_WV;2hB_2WO`|?M!c*!feZ$I!r=x?iulqha{+=W;&`?dpY z;plnmWAU(rTOEh8$8g-7Vi5Y1B#BLH3WbQ1m9gQLH-krQU=GoyxVyD2OI;i(j^Mz= zI>{3CW8E*=rh6{}M7PbBxajto1eV%nSTVRPT55D0EIg%X?{6!lhCt9YH9h6@Lppfx zBmAmbZjZ*|K?!%F_Hr#5VcKZM&$%5`rHY@uIz*iT@FY2DCqX*fiOS&vFF>i1Q0f?y z+KXK~;0k(6QS|&4XGO-o;4WY*wwKu2i-LQM_*wS?y!WXpc9e3Lx0Ab7iaq8a!}Vd0 za=SbBSxfcqa%)!5=dz+l2MX~7y2VhWPBel3`5}p!UB(?CmaRsQK-M6bDvF9_V93i~ znDh>|*2m;UgQHqAIBh?x;)`Y7iL80Sa&DLJTOzK!8#}-c;Ip7T$|06aCw7E!7;Ivv z-6;yS7?GA=C`R6>d4?;;+%FUwVcl0gN<)hdS3UIw_ZcSt9%iB}Wc5fRlaVRYl1hU`!YZANBg zR)Sg0v1gmi+7ue)(c+A3<2ZX6z)!-ksP^-H6G&eV#i(b$fgxcTpFr5l4@?Xqw=xE)#bbD;klP!iHK4T33?D6 z6)46x!f^m$??LnJ9$9?P9Tgz<)^sBqxaSQAGya zK}C)Q+47!=v9U9rRnTlqPZS+kP)ge_M+i_@C{aa`NKsdI&3W zIB1*7yrCFoVK)9rkr?Dt3KukXTJys#iW?U^<+X7 z(+q+2p|?0*jBAEKBCU8~I=i#U5idfUyF={C?{3D_ZVm&BbkQ&$G)Dquu?|y;^!z*2 zRYR@o62+^?1WbMj`BY218n4ZYtd8oH7fn)l-u0caKUI`H$UY#KIPChwZQ` zMnuGm4Lyv2BF*DlLaWp?Q(|EmRi-Pu0K+NPm2`>89u%d{fjJC?5YBPJ(+YJY_m=dO zR_>m*6R&u|;$kbrQk}k9Nx67W9Wkdhyu7r(R-DuZkNcGO+|@(`<=ue;th5fc3xmy) zQnFjx^)kAp8kQcf)esXDB^tIx-vk>{>z-P^vmE-RWzVHv2Zu_0L`D<_K5db^lVKci zWW1Ssbsc8nTr`L~qN8vsp38PXAvSe%SCx@Q7{f&&;zU8Rua8c2Rw6Tm{k4X z7K?pm;+Q<%tfr1d`-);}M<{;WOP_4pohiX7FT3Bdwaqd)tBTs0D!kb3H{MiH&QE^k$=PhG2AQ@8L5MC&o*I6BmPQKhiq!wb*;>hfz4(U9r2063#r3XM zd^6j4J|?9?pLcay+Fav4BYXCxqB)|(nQrdtBBC3Dj4a_GO9l18PK3{<`I_Vh%cJng z#5^3aeOw2s1lhB|3N0@R<|rsX1L2)e(W^UJZR2yuBi+&2pI!K@fFV5)YQq*iTYPW1 zr@WmEP{%=4%y|}pZ*}n=L)A3yK%i5%J=y(}Sl-A})OPScG5CqRWik`6xB;7QaoXL7 z)*6sC_!g6H;D={}G?-Olg%wm^WHj+4+2U4Pi_43Nhdi|e8YfgNOb6cq9gzJ|RBe8D zG!|`;+VaN}edv4HkMT3!XT?7;wjTVkRjNOI8;sZG%(m$U4{h9xkhQOq*kya8f@H{^ zG(vW1KWI_8547m6fkdx9Xpiz6y=>xSA2h{my`;?sBYW%rDPnMRu0p?p$LTrmMTA)T zS(KW(NZN@9^U__K*q%F$V9gi=O-}WNCIP!Oz|+3yEMZCNrcH4HH1yBG&-&`==shMr zTpLA@jU3G6hvV^l6qFx68A6XKc%q>6#3>!c=Y787#Z>cRIE3LXr|pK9-cXKM%}3q! z1EzR|;b%>@f+A%w5Y2DDtK%9y$yG2enf_YLdP!5y7?#zXq0i!+sWL#vsppJPds%nZse$ z1E#8%C_cMEfO;bHb&NvK7y$AGwi1vp%H!k{02T~)Cs_P}4stkDJZh3Fh|@RV7@ioJ zeNSanlkOVa6~vO6Zn;z};2@{1+&wQTX(YmpDm^nyP4%t))l1#uhQb-js0T zUutfb$Q$ogxBQnz0B#x!kF|K}rHentqTgF<6UnpDNhB4-SDFWp!(AM0*GjJW77i5m z#$kf?Y=BmLdOQ-voy|Sf3qczjtI>uO zNAsmkKpwmPZFjhDv`Bvkqy09n!lgt=Y+;OF=etYNSwAJKyz5JQK>otdx<0VCgefjY z%!(__k5|*t>1eC>&{nNqAe2h3&l-+yFd4Ch9U?>$vnC^~E|!rOVN>AHc4g(ooGHla z4tg&F#F8?F`DvMCTT)SChE#wdJmGP2Dum(_%q-MB&E3|vtg^hwnTC5E8i|wBpwhHt zDy=2bk_z+G25H5?(;EmrNFly4A=E(%=L|9lz_b?K+BpnJm*Mk`W>u(|Faupw?It83 zUEG@i)226*7wC*y+bTDg7nPggKH)6%AF#h=*# z2KAA&pxzW4yYU7-Icv#WxO3ktM5-;q#^TXtI*Z8W3|Ws?2@)d`GI8?^eHY#SdBbND z1a3L&%=&&Eef3><&@)iu?=lZ=oT-=a;FKrH@KT|-qP+Ly;Ixq~bcD6IgYC*_t>oiT zhQVXzyPYCpfxEKsj8=xm!jjberK0LqhVNJ7XPqZIJ;oH|5X;_>5k=N9ec(QEZ zI1}cSQFB4ZsQl!t7gg7b;;spP!o%urrPj+)!9!J?vmDQ8Xq1}gBOFx_M0@aSXt|Lm zt{@37+DSu>9Wo$oGEOJT_zbj4L>4T{YBVHcT3-EB65{`fav-QhTngzgw8Y9Nb0y%?((d&`3@fbVXP?2Z&Ad4 zBB7@@7B;5#m4n@OQoq|r@c&^ih@WeQfzQbvqWmGJidSxyve$2t&p9%Pqv#Eb+gfdr zuvTj@36AwW7`Dq6nkx%ASV)n_A48Gj+o`m^*lxof3=(%{ryNP}BGTZUV%Vo{wO{eF z;k}4W7pcx7n8aiZ3cQFBG3@|sYA6GZLirEFF&eyLFX?n?Jau>Ud#FWlB|kf+fLnvtayot`^;TaoVtiChT5Kex6uFAQu^fe zzxY`XDthTE38*28U6IKPRmivAt5BDxv%b3~hV5~yN$6`JlZO`M!a*-xXNqWi&kv=UodezAqdaq3`C|nst>yZ`sL@Y8Gn#Bgq%B&+RAn z_QaZva;KY7i}oURDn2$b1(|FbMAJ;ZzX{(we=I{z~`J=;^=^I5^X^`~*vX+qqyJF&%oWu806Q%_7dfX_F6Sx8n=A$A^ckaz`?kYiOywoW}nnx#!v{IfT_7I1xub@o!$!QzOw|AzF&50)@oH>&Hu4Jk=_@t*LORQlWa>Bm#Y8IqT2o9scVTw zYks&-$*=W4sybW@%fN{nbhq-mgC)yJeOv#p@|3H!_e0g)>y9&{3NiWocQv=Gn*VoC zjqpUmMxJtxA$<*6L ztG-Ybp}8Hu`j#$pa&wV(%w0!Z`2r~)DbC#+8J0~SzD;OBWHo;LNhf0;JB`m)FyIxL z7!ZKdJ{TS<8XQ5U*RUlCctyT_bDv5+X)8-GNWg1Gui{*yaRrNnM(FPYY|ZMFB0;BO zVFu4^kV={Vs@c^AU5PxD6-I?_J5e7V!y~yC#yQ6@9O*g2^NcJTX$*+Z)&82iFm|;j*@meS z?}pWj-je4wtgas<`LSWOmbiEZ`DO9Jvc%lAD*Zm|ET&7W`()oAB9Yi98zN@*aTT|d z`p3V7XXlN@i?PQ3RS`Mg^w@3gH`v=eY8Fg6-W>~2 z>Xrwio6?Se=l8dEn67>Tcc?k6GHqSJ2zAa`WVJ~I)pb2_cM&PqFt)gl*G%c6TP6(Rh$(v= zKA65q7B9K3^rE-IF~7b9FO?Gf+IPl~Lix_k+7J8=+E>|OVhUQckNh6g-**zVmmE@% zcGSB>=VmgM_RGagU7&YG<{v(ttpC^keeB+Q4qp^b!se^~y=tyV$ z{*9k?n&-@Z!dDZHcZ=|Zx$ZIE3)bhLh`8xihk)EMf}!PY#9Spy*R@{)#p8KKXz&8^ z2Zxzobo-gc=||*6{?8bG4pbLO?-%h-q^r%-XGkp_seMFi&V0&ge+;oOZ3tojQ5V^Yy5+ZYuz|c^!=@07VBwe`wMDI~0p26aLAU=os*PjTa zGpZ!xFGK_>rKXtfCa-MDSba0R@}oNlz|1P=MBBca5=f6)=7zRdq# zR;nmIL-sXRF^|cDf~AY9X>4xOvo2U zBQ|(;RtB+m7f+Iks+ABL#MnL@LB${2l1EDN)B;K~v-xwUNJ?ctPl#O!cC+%`{Gfch zsgm5hAzm>y^(M8<_AWMELMHlqLK)(1?;VOXJGE$lNa$7+99ew2mvXb6{IfFK|$)V?sUcZ5#BGC!wB1wkeTbRj9Pm1iQ81AkE_{$tMU;TpwL!;?y~-ziSYVj+!5t zkjAoyAPDymupg>VWXVw z4gxOq!AljB@pU@tFHTsHZ^=$Wx6h2B_qIxz4+?o&h=`GBKr+A^Nb%cD`T|?x4o!is zm+_eacVQTLRxjo$?_p4<^@RTK#o*Cm!+6I!<(;+56yp)DA_y$1lkdydVXyg!DZGbp zs*Cy4@av%>sB!|6#@l|)V~EHu>S^uUPxzKZEGEq=>JSmph@2tEC3QwLg64|42#7(v zY&$I}vtke`mGi~*7*Fq5RG#X8_@AM)$hrkT>m=dkGa^0K(wmS zVMvYdzkjFLJ%|hCEVrG=(>hUP?`7Vii#hDQbx)^H^1yTcXmjiFwh4C#Ra1=HjV>mlO0fbq!#BgB zB9B0h-laCdt448{qIzWb=3X4^j=v{Knco#HDr%L0gUUbDN(SwRm-0&BiLzKPPAG|H z5Bx;~q9j0UD(S(trr)*VVqX~DVV5t8TJx9oe`vUkFL>J8PXDQuR4RpToh(Q#1s8TK zBp#N<66V@co?y0sqhkcfYMgREiU4Yy@>ur(P3vNop<7`Bbe8d<`yf>OQ5wx~OVUM; zGVnoo41>j(8!(@TD%HxuS!+}=KXOPnn#Htrs!HJAhGX5aprrOY_{dE=HlLq*yv^|L z;$Au36q3eq{7H3L^(Oyl^{O2y%i%(^fwrbKBt4-5!lh9id9fkb*ggg~`{*Nr7q^D8v3wbayBemO_ z;Bqp0o+w-_aF(~BtV`Tmyo_puOpM$u!H0P5rz%=0HN}+P#k=PtVvHIK(&9Wmxza%c zVdFS*C{T{Y6va?!loQ8l5PVYO=jRt|G?s+qe8z|?j} zizAZXP)Ts%?j|^$Hhz#b9GClQ!jOYrYA;^JjhJY$;X<0p-9_|BG~%^hZ5T2)UD7gY zd#2gR`Tx|0ay|Q)9OdNh55w{HQNZvDZfIXIx1L9>;663nJEnScxQM9h3AGKEbkVvl z?&?LaF<4x#g>jMh<@A5*LWR)&lGe61K1$ZM9y+{}gQ?^VTiqe_w+5Zs-ax)_5b?Ui z?yZkbdWyO@)=1rEu~05G?d;b66%lvOuk8kokjziJz}qQJqIr)RY0i;HhVk<5s*xs4 zeY4l6mxfVmyoE+d)SSki@-j9F#UU1y1glnPbP>_a+)?zK+D!Y~7%#tA*cBZtobl{( zZ}wOX^rQv+!+Qcq)yVI8oHuTgh8Wrik4e=OZf>b1jnJBfGBwPklxQApS?uPQ4K8Gv zuo`wUh9iuZfrq_mk`m=Uft);y5;G>7#pT82P6(|0`WV=>ZHl0boTAYtb~ZXfQvFU- zD7Aa4q@yv4P)M6T9t{L`cF}{Q0}}q`9`z!m&2aC{7vbJLk|b(2^R)E6BF?;w94WR1 zzC#_+GdfQ0+#c8({I*P7GoQ2RRK>pZ2>ttt+l6} zofJTpMAHRo{p}X6_I(sQNC`10;A~JU+LZ*%qhG4qt7Roj}b^ zSdOpQ6bhC#R!C*qrrkjB5=qhZR$3WtCg}c4=**|IgM>Xg>U29#7dtgW`S#RG_-qih z68maWdt~Nj6A%VjjLR0hNu+l+a+m@}q*d$yzm1Y4u{RUa<@h@9ya% zV~Zf%X~EV|F{%r6dnoDRW*0nNQfx@V&5NQa6uHVX%t7(X(T36)- zVyUjkPKOmMyd^52+7?CeNSr?0+cVL2^Lw$px2K1l)bynh(10IBy8)Q2;$R^aIar9y z+h>D+CbH^c19dWwpGGjbuZ$Jbz{RgX&&V6Z*;lyxB24JZ4s>yagU9uV+0}q<$V_(pX7#v&udD0aW4_6I9S{Q91H8kRSgl$?vbmaubocA360Jys+#y zNg7)fZvs#4kCL^2$&x4i(Uo`pn=Te`O}7R>RODkSs3M!#w0<14n=|1KJP^7G-8#bW@a-&wKu_xF|uhz3JEt?Z41RZ-p$PkZ}5ud zwY2=2l;?&g5cLw+tMh9Z!_;Q{U>!lTGpt%)49B3h+K*2d?kwPfP`t2<_4lU=AlJ07 zP|?qkl1HSx4#Q^_;;a5LbD`?Zqk{*=DByGNX!?Kf)ovr`dPvlbl?n9vO*kvAFr;``%JvQYDRHYJa`nGSv^)=t$U#Qhd5}P z`ccz%Y4q+-$aDR}y*Os5EjEru2VweeJein|!}MmA6z#@)D#?2%)NtKjzdjQ^zet$) z;0@eIgG)1y*!TzXa-QACrkdB zh$jqrQoZprtf?$tJPDDaeCZAXKxxk}`xJOlf(93j;S|@RJI`z$ZYB{4F)=(HL`rh+ z!LRsqYi?5c8?3Etom$C~eQslEve%o?@>f-y|E4D~2#!hZF=Sy7jx(7J7m79_?k!JK zt9v*e%BG08*+x8s8}7M1747T)Hd<EFrF(IPO+ZYFZ(vCUAgSZ$K4G-S-IDLzY zxOtuzL`FhPut+Nr!`(@etw0wE-t-QFA;Wutb@$1b8*1ELlGjc~9Bfw?6{euypqA}5 z1?^X@Cqb%+jZ=_Ukb>OsnMT8(>P2Mr!cjq;%&lKLjmWC?iOj7J^PILXBuT_4!ZLo< zE21}p#lO?=yjY_y-pIg*tVkQx=-aTb0}{ox8Ro-+v`Sngr?ZF5K#q+jTZ|k#dlpU` z0_j5Tuy5#g{4)`h^a*g+nFowv+X1XTv$)4x@sq;?Zo} z?56cuAammm#!k<3E`46Fug7 z8re4UMW*fTObJhU7dri|F6y+y-Ak_u1)=)XUZ0MxiPbu~eMh}15{2dVB~7>$-!xh= z;%&lI75Vd!Ohp-FvV&W39FtWm7Sikp6(78ZAPszn*k6|2eZ%=EnT-SFsH9FUUp1?H zZa%CojZ@^PcurRYD34mH4%M>1;^a8t!Gy^vkH1}c%dJ_%xASD2AtyYqFr9560o>+v~N+lcwH_;TNvf(y2JcsEJPBDAqX z5TUBbS%fw=eM7F}HeUa}c(}+@#a`HOOLYGjYoZsqkPwx`oW*GB_(k#}V*u`6>>?>G zCM?Ij-h2t1woK8k4S;uMEy2D1c8)~B=9zSt$A8u&Un%(#o?4h3Aw}VLBhs&9z{<;dR59M5pu+_mOKS%D)Is*=5UHF%v?%tt7YLscNu*sKwa(-V|` z-F5=*gm$*0&%nHACRnWE;F$fXCi3(OWCf(NH$qBm)#yW4;>P!E*Gl-11o$>o^jL+4 z+Nsmbttdh8Vd~6_{abltr=PY{N=W+16T{V+j!qni(`hNm`+XPnA2A|-aZIGh`v^B* zQNxuR*I}ZmYDCk>eOk$i)#yF0>m|jq5lE@kJtah5o)c#ul*2T}v_l%p z>@|q1hk8ln1u<%c+Pm{951(`~waok&olfF0tz^g|)$`aXh!WSLX;$LvEsDcK1ADTH zt$!N`Occ`WLiLjp^I&yMw9F2ob(A{kXNf|ktn<{h6M*9k&T-mGoH7N}5HaiFj#tlU zCA?OUw;p%VpL%i11|$)rD1R6C^K&Lg14B{N;EtuXEOhTg!_vs|KEzM|Qs&mIl=CKA zUAb^zv5-4We+=2k2e7Y(aDRf3BlS7tI)8#7ny1tGlp^!R!YNlY)|(rRG$VTxtoB^h zXp=rMTu+XzOy_HCyJpg(#n{d0vrMs#4rm4&~|I(`5(HJ2@C<>8?HkQq2K7VUK zj+KajV&S$Q|1pcp%a^k6?u2cFp2*^aU7nX%pYgj87l#)T=GJ>MlZjaNxU(v+ld_)EBi=@qO_B(dwsUja_2?so(k>xFVzg$2H6?49p zkF+Xc2+l*ZzY(I!agdNaBF%o;D8l2dgZ<-z3c!!H>_bRE%k9H3GCD$)_u7Xn8_K6< zys*;0l(=@&UBo^)(jhkQ^Hj5w_8c!{ow-HM9)*LH;`Vzg$mg0{2hk=u`)EmTCLd}< z=gtN$2o(|gQTv|~@UFc{G)rnGa(>2RoZriW^-lX~qnsaUR6Fg8vllMz5W^07TFE!D zlyBXd`Z;%@{vwI$WL2Lx#k~}#>f=WjX~z8sZ;Hz|Xn1Tj73TN6?0a#tA*^jiC;YUx zw<)cz%*U0T)NAtv)Vo@SX%);`)gEj$-k-N>!qCvXcsn zjv;=BCyT`69{mVd(t(?qFg$S;-k2~o?ZtEo_r`BD7Mt^pfe4YgX`y_mNH~EG&aVm6 z#gM`dH5#!slO+SA9cs;az)6_8NEKf^iRTDatdf=jofy8LjKfc6uQ1=TwkbU%{y`;UODwcX zJ(X}fiT0%YhM)C)hH|~gM^(hocn2>wo4%R~W6T{X+tb9buZHd<@)0qPY3xuN zv@V^6@C~ZC+&376l14qgLEFcVl;8*Fk+^R928k=F#BDzf7_}qi%qSD(FA~lnn~Kv> z*c?EeZqjHIrRHb}#o+++LL*+W^k8Q-v>e}javtIG-8fUo7~7lU&5MeH$E&2cnp(e` zTxzmL9{MfjDwIFnY~Ye_VPM`f7(e-XhQ&(tJ_&|a>^S(MqIlZH!E+X50>{Ze7olDG zX;w&p$hd^jex+Gj@zNfe-*ME>W$=Be06CX2Sq#T6xB}HO=a^jn;&?9^G#1Cw3qH1( zxx)9BN4@`A!tm&fbO%;`uVUpFM{^ThoJz+H*7GXTvOVv~lCxJ4I@RaPi-~<5ddiAv zYI}M2PbtnDtI2e z;U|*hod<96sVv!W6TR=Be6hezhA+B>nzn2sYF)WA)--$u$T+oy?xgm)qTOAOnkp`3 zn0|DM!#e)`e{Ef9OjSn|#(A=%JOm~00`ou-WV470f(j3d3b-58R@`XgR;5<7wTgfk zZJVmC`>CcS*l24It)^;-B#np`wGsjQw_elv67y=(mO@^a4k=G-&O zId|^NopY-djLe^)=jBSc-0gC!l%=WYZ#2jTop5bNi)$lh~B7y!2r&D@n>~u0>b%e{8k!*RQ_dSX>VDutFp%) zqB-VWb->&>pu&czkr*K6e1ksEMk7`(d?r(T8)8JzuU)bfHRrtBhOu66XUC{y0K(*T ze)A8CCnzh{$sNC2e7yLJCZ*vmaX2s5L$9S66q6qn{ z0()jo_;iP_$OrK~e#WeCH}4B*0zE6iJxQ1-8(q{vZ1%H_twKCZ&8Y`Cip3s3dnCnk z?P58)P(d%V;}w_MNfJaX7h?V&a;qqLXi*fC_V4OgzB!j;kz_&~;2lTm=W4q60kiajBA&IJ;|3 zEArlcZE4Qx`FWI68DOQY?g1{QEl`xd9lI+T?zF8J*I!|d)Rj=>F^t<1DGH$l&U_Sm zEQx4p6hyX%D3nB5E+A?pkw#5|$nX@BG#Zwu>3K)UmE&Hbv#p#bnI{`OXNLnD%Y$%j3x62}R)nid}RMSIX!Ic9~#b>ZjPxJ$X7?&|eWhJi^Vn zG8C9gUcj`6DRyuVU=Bnm!WxE_`Kt%SX;F$Zq9?>ZMJr-cIGSLJ!LZO+DcZGG^P$Dw z+{RAENyhF7o=UN1Xj(Ny6|U>9xzT1bAbUqBPG+9wOCLqTq8UB_PDoMgLq2>wyJk~F zOB7EtryDLgaI6q*X3x^a|7aRlr1{g@7^pey3pLj>RmsSKJdu+8c+YN+slG4gWDd{< z&<(*o4=%efMd1Q_^NB1aOA$wVb1cxmNyUA*jYjsts5mHzEo}Ncfe4})e?CYK!5n{h z)y^DB4HX^i&pk|H2+D}?8Aj;H-58+f(zIf|Dj%Qb`9;K-Mb&`m6jMscRMr9dEq?BJZ+(i-dToU3{!HD2Y`luA}1x!HpI!mS7wf z#t?MQRfOHuJgvYiS*F;Xu4ZFjFIOD&WVrhL4g5~)R!PNCJeS~cqiAdhy1(N?g)_Jv zjs_PfcBiA+SWThgbo!W$?fh79a_NO9PkbrY0V=MPwFXcOA}UV?Q5N9Qf5( z=6^yF*9QXYQ=tfWQltveV$gKu$@}gUZHwiL?42&}d+*1h`zBQi(FxZ7jLXShP}UHh#X1_OYzUuaO1PrY`2AV{ z-ty&PlsObdtFF+3p*-6(<~NP94`~`*8;S-wcY}iCp=kK;R1gmZ)wk(#JfF_?-lM1l mKFz(V88+lC{$Mq=R%up0XC$)0fkc-Cm;M_~P7_-+Q2ztbG|cY+ diff --git a/doc/NOTES.md b/doc/NOTES.md index 7c0eec69..e271d9a6 100644 --- a/doc/NOTES.md +++ b/doc/NOTES.md @@ -129,7 +129,6 @@ Note: since both buckets are generated by the same lambda function, ensure to pr f"{organization_name}gc02_check_account_mgmt_plan": ["GC02CheckAccountManagementPlanLambda"], f"{organization_name}gc02_check_iam_password_policy": ["GC02CheckIAMPasswordPolicyLambda"], f"{organization_name}gc03_check_endpoint_access_config": ["GC03CheckEndpointAccessConfigLambda"], - f"{organization_name}gc03_check_iam_cloudwatch_alarms": ["GC03CheckIAMCloudWatchAlarmsLambda"], f"{organization_name}gc03_check_trusted_devices_admin_access": ["GC03CheckTrustedDevicesAdminAccessLambda"], f"{organization_name}gc04_check_enterprise_monitoring": ["GC04CheckEnterpriseMonitoringLambda"], f"{organization_name}gc05_check_data_location": ["GC05CheckDataLocationLambda"], @@ -277,28 +276,6 @@ The following lambdas (starting with gc(n)\_ prefix) are used as part of AWS Con - Testing Status: SUCCESS ✅ - Note: evaluation not recorded in AWS Config when there are no IAM users -## gc03_check_iam_cloudwatch_alarms - -- Hardcoded values (defaults) 🔥 - - ```py - def check_cloudwatch_alarms( - alarm_names=[ - "ASEA-AWS-IAM-Authentication-From-Unapproved-IP", - "ASEA-AWS-SSO-Authentication-From-Unapproved-IP", - "ASEA-AWS-Console-SignIn-Without-MFA", - ] - ): - ``` - -- Linting info - - Score 9.15/10 💡 - - Line Length >100 (mainly loggers) - - Unused arguments - - Global variables (from main handler method) -- Check against the Management Account -- Testing Status: SUCCESS ✅ - ## gc04_check_enterprise_monitoring - No hardcoding ✅ diff --git a/src/lambda/aws_auditmanager_resources_config_setup/audit_manager_custom_framework.py b/src/lambda/aws_auditmanager_resources_config_setup/audit_manager_custom_framework.py index 7a006ff4..77690db7 100644 --- a/src/lambda/aws_auditmanager_resources_config_setup/audit_manager_custom_framework.py +++ b/src/lambda/aws_auditmanager_resources_config_setup/audit_manager_custom_framework.py @@ -337,27 +337,6 @@ ], "tags": {}, }, - { - "type": "Custom", - "name": "gc03_check_iam_cloudwatch_alarms", - "description": "Confirm ASEA CloudWatch Alarms are configured for access from Unauthorized IP addresses and sign-in without MFA..Source: https://github.com/canada-ca/cloud-guardrails/blob/master/EN/03_Secure-Endpoints.md", - "testingInformation": "", - "actionPlanTitle": "Review CloudWatch Alarms", - "actionPlanInstructions": "Go to AWS CloudWatch Alarms, and ensure alarms have been configured as required.", - "controlSources": "AWS Config", - "controlMappingSources": [ - { - "sourceName": "CW-check", - "sourceSetUpOption": "System_Controls_Mapping", - "sourceType": "AWS_Config", - "sourceKeyword": { - "keywordInputType": "SELECT_FROM_LIST", - "keywordValue": "Custom_gc03_check_iam_cloudwatch_alarms-conformance-pack", - }, - } - ], - "tags": {}, - }, { "type": "Custom", "name": "gc03_check_trusted_devices_admin_access", diff --git a/src/lambda/aws_lambda_permissions_setup/app.py b/src/lambda/aws_lambda_permissions_setup/app.py index eda6d858..1566d273 100644 --- a/src/lambda/aws_lambda_permissions_setup/app.py +++ b/src/lambda/aws_lambda_permissions_setup/app.py @@ -85,7 +85,6 @@ def apply_lambda_permissions(): f"{organization_name}gc02_check_password_protection_mechanisms": ["GC02CheckPasswordProtectionMechanismsLambda"], f"{organization_name}gc02_check_privileged_roles_review": ["GC02CheckPrivilegedRolesReviewLambda"], f"{organization_name}gc03_check_endpoint_access_config": ["GC03CheckEndpointAccessConfigLambda"], - f"{organization_name}gc03_check_iam_cloudwatch_alarms": ["GC03CheckIAMCloudWatchAlarmsLambda"], f"{organization_name}gc03_check_trusted_devices_admin_access": ["GC03CheckTrustedDevicesAdminAccessLambda"], f"{organization_name}gc04_check_alerts_flag_misuse": ["GC04CheckAlertsFlagMisuseLambda"], f"{organization_name}gc04_check_enterprise_monitoring": ["GC04CheckEnterpriseMonitoringLambda"], diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/.gitignore b/src/lambda/gc03_check_iam_cloudwatch_alarms/.gitignore deleted file mode 100644 index 4808264d..00000000 --- a/src/lambda/gc03_check_iam_cloudwatch_alarms/.gitignore +++ /dev/null @@ -1,244 +0,0 @@ - -# Created by https://www.gitignore.io/api/osx,linux,python,windows,pycharm,visualstudiocode - -### Linux ### -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - -### OSX ### -*.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### PyCharm ### -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff: -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/dictionaries - -# Sensitive or high-churn files: -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.xml -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml - -# Gradle: -.idea/**/gradle.xml -.idea/**/libraries - -# CMake -cmake-build-debug/ - -# Mongo Explorer plugin: -.idea/**/mongoSettings.xml - -## File-based project format: -*.iws - -## Plugin-specific files: - -# IntelliJ -/out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Ruby plugin and RubyMine -/.rakeTasks - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.properties -crashlytics-build.properties -fabric.properties - -### PyCharm Patch ### -# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 - -# *.iml -# modules.xml -# .idea/misc.xml -# *.ipr - -# Sonarlint plugin -.idea/sonarlint - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -.pytest_cache/ -nosetests.xml -coverage.xml -*.cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule.* - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ - -### VisualStudioCode ### -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json -.history - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db - -# Folder config file -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# Build folder - -*/build/* - -# End of https://www.gitignore.io/api/osx,linux,python,windows,pycharm,visualstudiocode \ No newline at end of file diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/README.md b/src/lambda/gc03_check_iam_cloudwatch_alarms/README.md deleted file mode 100644 index 3da06e05..00000000 --- a/src/lambda/gc03_check_iam_cloudwatch_alarms/README.md +++ /dev/null @@ -1,47 +0,0 @@ -*This readme file was created by AWS Bedrock: anthropic.claude-v2* - -# app.py - -## Overview - -This is a lambda function that checks for the existence of specific CloudWatch alarms related to IAM and console login events. It is intended to run in the AWS management account and submit evaluations to AWS Config. - -## Main Functions - -- `lambda_handler` - The main entry point for the lambda function. It checks if this is a scheduled invocation, and if so, calls the alarm checking function. - -- `check_cloudwatch_alarms` - Checks if the specified CloudWatch alarms exist. Returns a compliance status and annotation. - -- `build_evaluation` - Builds an evaluation object to submit to AWS Config. - -- `get_client` - Gets a boto3 client, using STS assume role if needed. - -- `get_organizations_mgmt_account_id` - Calls Organizations to get the management account ID. - -- `is_scheduled_notification` - Checks if the invocation is a scheduled notification. - -- `evaluate_parameters` - Evaluates rule parameters. - -## Input Events - -- Lambda is triggered by AWS Config on a scheduled basis. -- Event contains account ID, region, invoking event, rule parameters etc. - -## Output - -- Evaluations are submitted to AWS Config using the PutEvaluations API. - -## Permissions Required - -- `organizations:DescribeOrganization` - To determine management account ID -- `cloudwatch:DescribeAlarms` - To check for existence of alarms -- `config:PutEvaluations` - To submit evaluations to AWS Config -- `sts:AssumeRole` - If assuming roles is enabled - -## Logging - -- Uses Python logging to log to CloudWatch Logs. - -## Testing - -No automated testing is included. diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/__init__.py b/src/lambda/gc03_check_iam_cloudwatch_alarms/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/app.py b/src/lambda/gc03_check_iam_cloudwatch_alarms/app.py deleted file mode 100644 index 5b122a47..00000000 --- a/src/lambda/gc03_check_iam_cloudwatch_alarms/app.py +++ /dev/null @@ -1,214 +0,0 @@ -""" GC03 - Check IAM/ CloudWatch Alarms - https://canada-ca.github.io/cloud-guardrails/EN/03_Cloud-Console-Access.html -""" - -import json -import logging - -from utils import is_scheduled_notification, check_required_parameters, check_guardrail_requirement_by_cloud_usage_profile, get_cloud_profile_from_tags, GuardrailType, GuardrailRequirementType -from boto_util.organizations import get_account_tags, get_organizations_mgmt_account_id -from boto_util.client import get_client -from boto_util.config import build_evaluation, submit_evaluations - -import botocore.exceptions - -# Logging setup -logger = logging.getLogger() -logger.setLevel(logging.INFO) - - -def check_cloudwatch_alarms( - cloudwatch_client, - alarm_names=[ - "AWS-IAM-Authentication-From-Unapproved-IP", - "AWS-SSO-Authentication-From-Unapproved-IP", - "AWS-Console-SignIn-Without-MFA", - "AWSAccelerator-AWS-IAM-Authentication-From-Unapproved-IP", - "AWSAccelerator-AWS-SSO-Authentication-From-Unapproved-IP", - "AWSAccelerator-AWS-Console-SignIn-Without-MFA" - ], -): - """Check CloudWatch alarms for compliance. - Keyword arguments: - alarm_names -- the list of CloudWatch alarms to check - """ - result = {"status": "NON_COMPLIANT", "annotation": "No alarms found"} - if len(alarm_names) < 1: - # no alarms to check - result = { - "status": "COMPLIANT", - "annotation": "No alarms checked for compliance", - } - return result - # initialize our lists - alarms_not_found = alarm_names - alarms_found = [] - try: - # describe CloudWatch alarms - response = cloudwatch_client.describe_alarms( - AlarmNames=alarm_names, - AlarmTypes=["MetricAlarm"], - ) - # results may be paginated, and we may have to retry - b_more_data = True - i_retries = 0 - i_retry_limit = 10 - next_token = "" - while b_more_data and (i_retries < i_retry_limit): - # did we get a response? - if response: - # yes - alarms_found.extend(response.get("MetricAlarms")) - # results paginated? - next_token = response.get("NextToken") - if next_token: - # yes - response = cloudwatch_client.describe_alarms( - AlarmNames=alarm_names, - AlarmTypes=["MetricAlarm"], - NextToken=next_token, - ) - else: - # no more data - b_more_data = False - else: - logger.error("Empty response. Retry call.") - i_retries += 1 - if next_token: - response = cloudwatch_client.describe_alarms( - AlarmNames=alarm_names, - AlarmTypes=["MetricAlarm"], - NextToken=next_token, - ) - else: - response = cloudwatch_client.describe_alarms( - AlarmNames=alarm_names, - AlarmTypes=["MetricAlarm"], - ) - # did we time out trying? - if i_retries >= i_retry_limit: - # yes - result["annotation"] = "Empty response while trying describe_alarms in CloudWatch API." - return result - except botocore.exceptions.ClientError as error: - logger.error("Error while trying to describe_alarms - boto3 Client error - %s", error) - result["annotation"] = "Error while trying to describe_alarms." - return result - - # checking the alarms we found - alarms_not_found_set = set(alarms_not_found) - for alarm in alarms_found: - if not alarms_not_found_set: - # All alarms have been found, exit the loop - break - alarm_name = alarm.get("AlarmName") - if alarm_name: - for not_found_alarm in alarms_not_found_set: - if not_found_alarm in alarm_name: - logger.info("CloudWatch Alarm %s found.", alarm_name) - alarms_not_found_set.remove(not_found_alarm) - - # Stop the inner loop as we found a match - break - - # prepare the annotation (if needed) - if len(alarms_not_found_set) > 0: - annotation = "Alarms not found: " - for alarm in alarms_not_found_set: - annotation += f"{alarm}; " - result["annotation"] = annotation - else: - result = {"status": "COMPLIANT", "annotation": "All alarms found"} - - logger.info(result) - return result - - -def lambda_handler(event, context): - """ - This function is the main entry point for Lambda. - - Keyword arguments: - - event -- the event variable given in the lambda handler - - context -- the context variable given in the lambda handler - """ - logger.info("Received Event: %s", json.dumps(event, indent=2)) - - invoking_event = json.loads(event["invokingEvent"]) - if not is_scheduled_notification(invoking_event["messageType"]): - logger.error("Skipping assessments as this is not a scheduled invocation") - return - - rule_parameters = check_required_parameters( - json.loads(event.get("ruleParameters", "{}")), ["ExecutionRoleName", "AlarmList"] - ) - execution_role_name = rule_parameters.get("ExecutionRoleName") - audit_account_id = rule_parameters.get("AuditAccountID", "") - aws_account_id = event["accountId"] - is_not_audit_account = aws_account_id != audit_account_id - - evaluations = [] - - try: - client = get_client("organizations") - response = client.describe_account(AccountId=aws_account_id) - account_status = response["Account"]["Status"] - - logger.info(f"account_status is {account_status}") - - if account_status != "ACTIVE": - return - - aws_organizations_client = get_client("organizations", aws_account_id, execution_role_name) - - if aws_account_id != get_organizations_mgmt_account_id(aws_organizations_client): - logger.info( - "CloudWatch Alarms not checked in account %s as this is not the Management Account", - aws_account_id, - ) - return - - - aws_config_client = get_client("config", aws_account_id, execution_role_name) - aws_cloudwatch_client = get_client("cloudwatch", aws_account_id, execution_role_name) - - # Check cloud profile - tags = get_account_tags(get_client("organizations", assume_role=False), aws_account_id) - cloud_profile = get_cloud_profile_from_tags(tags) - gr_requirement_type = check_guardrail_requirement_by_cloud_usage_profile(GuardrailType.Guardrail3, cloud_profile) - - # If the guardrail is recommended - if gr_requirement_type == GuardrailRequirementType.Recommended: - return submit_evaluations(aws_config_client, event, [build_evaluation( - aws_account_id, - "COMPLIANT", - event, - gr_requirement_type=gr_requirement_type - )]) - # If the guardrail is not required - elif gr_requirement_type == GuardrailRequirementType.Not_Required: - return submit_evaluations(aws_config_client, event, [build_evaluation( - aws_account_id, - "NOT_APPLICABLE", - event, - gr_requirement_type=gr_requirement_type - )]) - - results = check_cloudwatch_alarms( - aws_cloudwatch_client, alarm_names=str(rule_parameters["AlarmList"]).split(",") - ) - if results: - compliance_type = results.get("status") - annotation = results.get("annotation") - else: - compliance_type = "NON_COMPLIANT" - annotation = "Unable to assess CloudWatch Alarms" - - logger.info(f"{compliance_type}: {annotation}") - evaluations.append(build_evaluation(aws_account_id, compliance_type, event, annotation=annotation)) - submit_evaluations(aws_config_client, event, evaluations) - - except: - logger.info("This account Id is not active. Compliance evaluation not available for suspended accounts") diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/events/event.json b/src/lambda/gc03_check_iam_cloudwatch_alarms/events/event.json deleted file mode 100644 index a6197dea..00000000 --- a/src/lambda/gc03_check_iam_cloudwatch_alarms/events/event.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "body": "{\"message\": \"hello world\"}", - "resource": "/hello", - "path": "/hello", - "httpMethod": "GET", - "isBase64Encoded": false, - "queryStringParameters": { - "foo": "bar" - }, - "pathParameters": { - "proxy": "/path/to/resource" - }, - "stageVariables": { - "baz": "qux" - }, - "headers": { - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", - "Accept-Encoding": "gzip, deflate, sdch", - "Accept-Language": "en-US,en;q=0.8", - "Cache-Control": "max-age=0", - "CloudFront-Forwarded-Proto": "https", - "CloudFront-Is-Desktop-Viewer": "true", - "CloudFront-Is-Mobile-Viewer": "false", - "CloudFront-Is-SmartTV-Viewer": "false", - "CloudFront-Is-Tablet-Viewer": "false", - "CloudFront-Viewer-Country": "US", - "Host": "1234567890.execute-api.us-east-1.amazonaws.com", - "Upgrade-Insecure-Requests": "1", - "User-Agent": "Custom User Agent String", - "Via": "1.1 08f323deadbeefa7af34d5feb414ce27.cloudfront.net (CloudFront)", - "X-Amz-Cf-Id": "cDehVQoZnx43VYQb9j2-nvCh-9z396Uhbp027Y2JvkCPNLmGJHqlaA==", - "X-Forwarded-For": "127.0.0.1, 127.0.0.2", - "X-Forwarded-Port": "443", - "X-Forwarded-Proto": "https" - }, - "requestContext": { - "accountId": "123456789012", - "resourceId": "123456", - "stage": "prod", - "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef", - "requestTime": "09/Apr/2015:12:34:56 +0000", - "requestTimeEpoch": 1428582896000, - "identity": { - "cognitoIdentityPoolId": null, - "accountId": null, - "cognitoIdentityId": null, - "caller": null, - "accessKey": null, - "sourceIp": "127.0.0.1", - "cognitoAuthenticationType": null, - "cognitoAuthenticationProvider": null, - "userArn": null, - "userAgent": "Custom User Agent String", - "user": null - }, - "path": "/prod/hello", - "resourcePath": "/hello", - "httpMethod": "POST", - "apiId": "1234567890", - "protocol": "HTTP/1.1" - } -} diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/requirements.txt b/src/lambda/gc03_check_iam_cloudwatch_alarms/requirements.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/src/lambda/gc03_check_iam_cloudwatch_alarms/template.yaml b/src/lambda/gc03_check_iam_cloudwatch_alarms/template.yaml deleted file mode 100644 index 72ccd1fd..00000000 --- a/src/lambda/gc03_check_iam_cloudwatch_alarms/template.yaml +++ /dev/null @@ -1,19 +0,0 @@ -AWSTemplateFormatVersion: '2010-09-09' -Transform: AWS::Serverless-2016-10-31 -Description: > - gc03_check_iam_cloudwatch_alarms - -Globals: - Function: - Timeout: 180 - MemorySize: 128 - -Resources: - GC03CheckIAMCloudWatchAlarmsLambda: - Type: AWS::Serverless::Function - Properties: - CodeUri: . - Handler: app.lambda_handler - Runtime: python3.9 - Architectures: - - x86_64