From 56b6979f1693ea247163293309a75d2915c1baa3 Mon Sep 17 00:00:00 2001 From: badra001 Date: Wed, 17 May 2023 09:21:42 -0400 Subject: [PATCH] - code 2.0.4 - add context info and event id to SNS messages - add heritage mismatch information to output --- CHANGELOG.md | 5 ++++ code/ddns-lambda.py | 67 ++++++++++++++++++++++++++++++++++++++----- code/ddns-lambda.zip | Bin 26215 -> 26445 bytes version.tf | 2 +- 4 files changed, 66 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 68bc693..ec4f5ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -139,3 +139,8 @@ * 2.0.3 -- 2023-05-11 - code 2.0.3 - fix emr cluster detection + +* 2.0.4 -- 2023-05-17 + - code 2.0.4 + - add context info and event id to SNS messages + - add heritage mismatch information to output diff --git a/code/ddns-lambda.py b/code/ddns-lambda.py index 25bdc93..b3b7cf7 100755 --- a/code/ddns-lambda.py +++ b/code/ddns-lambda.py @@ -73,7 +73,7 @@ LOGGER = logging.getLogger() account_id = None region = None -VERSION = '2.0.3' +VERSION = '2.0.4' # Read Env variables DEBUG_LOG_LEVEL = os.environ.get('DebugLogLevel', 'INFO') @@ -319,6 +319,10 @@ def lambda_handler( sns_msg['region'] = event['region'] sns_msg['event'] = str(event) sns_msg['context'] = str(context) + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['message'] = caller_response[-1] publish_to_sns(sns_client, json.dumps(sns_msg)) return caller_response @@ -338,6 +342,10 @@ def lambda_handler( sns_msg['instance_id'] = event['detail']['instance-id'] sns_msg['account_id'] = account_id sns_msg['region'] = event['region'] + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['message'] = 'DynamoDB table does not exist: ' + DDBNAME publish_to_sns(sns_client, json.dumps(sns_msg)) return caller_response @@ -511,6 +519,10 @@ def lambda_handler( sns_msg['instance_id'] = instance_id sns_msg['account_id'] = account_id sns_msg['region'] = region + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'ec2' sns_msg['boto3_method'] = 'describe_vpc_attribute' sns_msg['message'] = "You have to enable DNS hostnames to use Route 53 private hosted zones. DNS hostnames disabled for " + vpc_id @@ -529,6 +541,10 @@ def lambda_handler( sns_msg['instance_id'] = instance_id sns_msg['account_id'] = account_id sns_msg['region'] = region + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'ec2' sns_msg['boto3_method'] = 'describe_vpc_attribute' sns_msg['message'] = "You have to enabled DNS support to use Route 53 private hosted zones. DNS support disabled for " + vpc_id @@ -624,6 +640,10 @@ def lambda_handler( sns_msg['instance_id'] = instance_id sns_msg['account_id'] = account_id sns_msg['region'] = region + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'ec2' sns_msg['boto3_method'] = 'describe_vpcs' sns_msg['message'] = 'No DHCP option set assigned to this VPC: ' + vpc_id @@ -1259,6 +1279,10 @@ def new_list_hosted_zones(client, instance_id): sns_msg = {} sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'list_hosted_zones' sns_msg['message'] = 'list_hosted_zones timed out' @@ -1336,6 +1360,10 @@ def new_list_hosted_zones_by_vpc(client, instance_id, vpc_id, region): sns_msg['vpc_id'] = vpc_id sns_msg['region'] = region sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'list_hosted_zones_by_vpc' sns_msg['message'] = 'list_hosted_zones_by_vpc timed out' @@ -1773,6 +1801,10 @@ def new_change_resource_recordset(oclient, instance_id, zone_id, host_name, host sns_msg = {} sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'change_resource_record_sets' sns_msg['message'] = 'change_resource_record_sets could not UPSERT record' @@ -1989,6 +2021,10 @@ def new_get_resource_record(oclient, instance_id, zone_id, host_name, hosted_zon sns_msg = {} sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'list_resource_record_sets' sns_msg['message'] = 'list_resource_record_sets timed out' @@ -2119,6 +2155,10 @@ def new_delete_resource_record(oclient, instance_id, zone_id, host_name, hosted_ sns_msg = {} sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'change_resource_record_sets' sns_msg['message'] = 'change_resource_record_sets could not DELETE record' @@ -2581,6 +2621,10 @@ def new_get_hosted_zone_properties(client, instance_id, zone_id): sns_msg = {} sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['client'] = 'route53' sns_msg['boto3_method'] = 'get_hosted_zone' sns_msg['message'] = 'get_hosted_zone timed out' @@ -2898,16 +2942,18 @@ def process_delete_records(route53, instance_id, zone_id, # Return the dictionary of the value with comma separated heritage = parse_heritage(heritage_value) - LOGGER.debug("heritage parsed data in string format: %s", str(heritage) + lineno()) + LOGGER.debug(f"heritage parsed data in string format: '{heritage}' {lineno()}") # check if the TXT record was created by the Lambda as match instance-id if verify_heritage_owner(heritage, HERITAGE_TAG): - LOGGER.debug("TXT record was created by Lambda DDNS %s", - HERITAGE_TAG + lineno()) + LOGGER.debug( + f"TXT record was created by Lambda DDNS tag application '{HERITAGE_TAG}' {lineno()}") heritage_own = True else: - LOGGER.info("TXT record was not created by Lambda DDNS %s", - HERITAGE_TAG + lineno()) + LOGGER.info( + f"TXT record was not created by Lambda DDNS tag application '{HERITAGE_TAG}' {lineno()}") + LOGGER.info(f"found_record is '{heritage_value}' {lineno()}") + LOGGER.info(f"parsed heritage is is '{heritage}' {lineno()}") heritage_own = False if compare_heritage(heritage, 'instance_id', instance_id): @@ -2915,6 +2961,8 @@ def process_delete_records(route53, instance_id, zone_id, heritage_instance_match = True else: LOGGER.info("TXT record does not match instance_id: %s", instance_id + lineno()) + LOGGER.info(f"found_record is '{heritage_value}' {lineno()}") + LOGGER.info(f"parsed heritage is is '{heritage}' {lineno()}") heritage_instance_match = False # delete A/PTR/AAAA/CNAME record @@ -2980,6 +3028,10 @@ def process_delete_records(route53, instance_id, zone_id, if SNS_ENABLE: try: sns_msg = {} + sns_msg['event_id'] = event['id'] + sns_msg['aws_request_id'] = context.aws_request_id + sns_msg['log_group_name'] = context.log_group_name + sns_msg['log_stream_name'] = context.log_stream_name sns_msg['instance_id'] = instance_id sns_msg['account_id'] = get_caller_account_id() sns_msg['message'] = 'TXT record does not match. Will not delete the A/PTR/CNAME/AAAA record.' @@ -3096,7 +3148,8 @@ def tags_to_dict(tags): tag_dict = {} if len(tags) > 0: - tag_dict = {tag.get('Key', '').lstrip().rstrip(): tag.get('Value', '') for tag in tags} + tag_dict = {tag.get('Key', '').lstrip().rstrip() + : tag.get('Value', '') for tag in tags} return tag_dict diff --git a/code/ddns-lambda.zip b/code/ddns-lambda.zip index fc87b90be24504011f81b5305b9da0065f4183e7..f50badbdc3666bd726edf6bd6c48f812defdd447 100644 GIT binary patch literal 26445 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 literal 26215 zcmV)tK$pKzO9KQH00;mG0000XiU0rr000000000001f~E0Ayrtb1iIPZDM3$E^vA5 zy=!;dII<}EUB3b&-#(P4W#!S+Gw0|Y&0cQXNxVC8d~J2Qr#)U;Gzm#)QzV;!>?q#; z?{}f_AOM0CJXoIXE~zLvO?7WgMcDHCtrqH|Q)XNX}5N zz}JN0xZmka78p_S_J$-0DljVuzQ%|xFe2$JE0!T6S&C*wwuG05`!5kmDGSpGqpT=D z9IVrDnH_wGCgEj*5l&gL9(ImiNl>x|p{Q7;DM{x8L}a5;fkTFEAV&-@(G6h>yLue5 zaM<}PIw{C?$na6V7smyrw0w1t(&KQ6JAXxItIHI#qqy@|^dXOq;!fvB!hyM66F4kz zbcHCs#zmN*yuiB!{*{h8FNWyg&Hf3BvUEn~t3p)49|>g?WhnsraI%lsB4lV0Qg{(( z%aEif4VM`8PO}xm=-Y45$(x`1q8y12wmlQRxn?QzYWnT?+V4}ZI)fFa`Y)nE4a+E0%}koR3lcMBRN)Vfm1{nRzp@~ ztGOsQ3Fj1rX^bvIiet3OB|ejIj-qUNNm8KQpc7>&WyLCD@Okgq$>bCjILe9`u?$^e z$qzB=Nlxi=K8taJ;U!(H7$fN%#o0|NS$LKuNp{0uGP^a!)pV6GMAAx&L#Un=F)q+D zWDFM+QNlTGMheRKyJ#VR&?}Nd{Q^^lvKjmxWob-!LqpCfM>Dj)qAXjM!^eBScYL7U z|ICL0CkqLdP|b7XxS3~)VKQO7UKY9 zvA@-!lBLPIL`AjkV+CF5KB&2z@a;YDX*KRG@oC2be;-!ogT<*mXwDi*mtE3~2{i2? zCHd})-Iu%H?EVc23ExPre+M!RC+9M(I z_K)}89fF)ClrNN&W5q`ZhHoG`=b|O>d1f>xz(|pt7g>&r4ltEoc!WTJ1vAe`$|zqR z)coTl|60#(wPFBKhMmqUl7>mLHdKrRhbdYK0j`w{&`}T({W4V)tLwuK*Qdx57TaHF zma4z$nyNqJkYPraSp6=-G|ralSCY-=B%SMzy4Y$(V)eIKouo9!5mP@eGnRd$eq_2) zl7~|J0VRx=in0O^@y7@Q_faHE?k5DN?64@ZLX?fNB*BqY<~?5oaeP1`Hb60+g{y?c z@Pm^$W~)5G1GJy5QidgzJTC}mNdX|2lLS6-f~*)xhIv>}T<9|V7YZqSpTe(BX9t~O zLGIT{b{Qt5FF3%LtNGh({uW>3Bp9IJ==jz9px-%r zdw6&pnge)Vl5C1jY zuK_X%=ilS?ekx&HX3;24=_rC1y7tfSkLxRQ>1o#Gv#_lC=Ka~Ev2Ct896Qb1t)EOz z8zG#q!Ud4C!iMqc?cVFNS_rR_a8AwoGkDSO92}obPfw?l$=jL{Qw7KpPqMe<+8jBv z?%$ttxnjN=qvr@G6dNx)lULJs?+<=>dpIq5(QT2ej;5!Flhc3Ip#3iVxR;Yt%!)Oy{sIs_J$(0mayUJG|MqaYcX~X1_5SqT z-lU2GsBFP0USa zEBJL$AYkr;~7gQs5c+2ngQrCObP|?wlQ; zA(rJN>YN>)O(*Y9j`n$T9x!Jqo$!Kt1rVH1=Hs*J;ql&gZ#llzshrY7FvNK2S7AbN z&>tq*4VOfGnL7t6mQS$8z=1FxtXM(47r{jz)>0e0zl>23s4l?Frk%-86V64oWO#!M z!ooS8{4_a*HNB+Blzn7Dzw_qs^k}m8`jC^e0l-m=Q$}V47rbt~P79DTogK6n|FWXO zij(3OC0qcabC8$=#HHW>{kV5}e02PJfDTVj-=7Z9{^`-=Xn*hR1=>Xgm$ur4kcX6; zjwD4`2;dH%L$354qX6CoBOs|*0)`YbkiI>&5^&e?=)9VlUpS}K&&`d(=_krhjcXvBGh++z@QOs8P5UJl_MXWdr z@re>rx>{nyB@*RAF+&;X#!@Yy=!VI%ArF}l6$fN0C& z%V`9Pl`0fv%Y4PK);5IT(;!mnl&8#nqvf4`vG_DCm9^>RdU~Bl0tx5^8Y`8o*Y9*X zF`l7>q&Urb{SiVtC@;eKG8}OWB+9OF0RzJIS^obiW~(9<23@o&3XTY`jndWfk}GW~ z%2tI`fGQ&kjChAAD|!LiH6e^pfWC$gQllNpW@beQ<2##PhSAk&n^W>`{6_*^^C=C`=MuOiL@x*N?p)&(NMIfsPJ@s&F+=J!sH;6C6A=Dtk>1#9vYC&aLlnJ!8ws3_%lmMRm#94dY}6aV*I2(%W2RI^OXV|=-q_qs^pD{z!3ma-Oo z?ciJ0)Vym!`=0)Bl&6Ua+6a`^1|517f#V~SjW{-?l{79A2!2ThA76|N)l#M z={IMv!yhKxdSA=U@F5Z#9c-XB9|#))w8?@{Sw)#=EJIfq=O|SB4cScl->KS5zvi+T zr^>l6hCa#Cx!xim1qvA}$mNP*jsUboC`xgJDGiG?y2MeqqR@#Ht+N$kxLA^uqZg*S zNgIa*OrO z;R~lc@PzeF4!ZTO99l~cXuER#R;!c=6x0awjn+1-mp;?j#&?x6G0Wl4^MJCjU;&o_ zHGT&uY^{}I;Di|BhAjN5Skc=Bw#>@F`32l*9pFYKp1a0D!mZM^Q}KI#++f{+m>PH9*(~ zLSti3s23ch^dMwmFmT(I*hukQV47zs<+aZ*Iy+nuNHfOgA-5i3Xi!!l%CdYQqAl_w z;}aQzg*Y8}Uk9L~;EzNwl5i@cF~S_(kl`r|&{Vvaqb26IYz{t@8i#}2FwAqD#=Tkh zkXJ<_Qe{&bxgLkjzjyK4m*d3gIQ43+2Z1;XEiO1aPS{KPtt= zOo5_+Px;1Q9tuJ6l9l}>CBy2nih=#5mt5S=F_d-)dcOO@MkZffCWJ1gEaR(CuM`&p z*jydPt7R@;FX_BrHYkk{2fX009kFD|d9n*u-zAdgqR+@Uyj8bd7no@F}#F&L7 z2`VR4Dg5tQpXUBiHI3giiDV|CD*j$nHns$ z1tWdn3TRak(4h%Fma(BrFHZ?r`duuTp!v79l*1QkwgQB z79oO2)g)+)p6g#X3&PDW^na0V&=#b22Y3q{e;9F-gR4WY9?+oyjou6Ui_*RMx1sc@ zqOZs3MSUp_%vXqrS9Zgur&2v))|b<;4EL@S)rAD>YBRJa&7FZM4Emi)eKyTSgS1 zhFJCtbdiID@5&%@=AIo9`ieErQO{(`{;;!ye#F37VGNdch-TcN5W%7>LxiE}K}ru( zRuBw9sgz{}MmLL)p_`EMdN@XxYq77M#lmTHgHgoo$Ao4Ghm<61RN!THjXA(1WVq<; zaA4teMq-o|`65hlEFEOjToO)2HEmBXF$>Giu|@f*Tn%Q3&pmkgP8JWi6{5$h<0Jbp z&+=ZiV!w(^x=Ioeu}iCH3=#TQw&LCAnk)^kF*nFa#Gd{4+52MySe!*G5#^kg-bOOx z6w+gAv{bYFnmp*JUjFsVSOUb5Oz|>j>nZQZl;c^}uhf}x%^HnOEn9ukVYFlZaY}JP z!o*tK<17vMWC+ta_!4t9>M&GJh=mKgJ4Q$q~cpv+|~I!BE6z1qiWN0cK@_}Wm#C9qR! zzm#P;D63haz2i!A7DZoS7A-{cLd43M>E{Y44fy)TP6UT5UrY`5#(V@(%|}Gc#g=1Y zt8890bsLS$>t~ZHb&-&<2~Lfw|3uGivFcS-wa>H&Z;W{-f-sGRCK#aei|Sf!F^rcN zXWe<`ELrOuqg(!O&uqPaC(m5mns4vWt)jqPx7xl*3)@TF`|Dr%$cb}?nt2V#Rh_X- zXQC{<#s$N%y9%e_Qh20k*?|qnn;cQo+$*lQ!QxNU(#BN`-lv1(GqpUA&@E>h)oj0^ zT^Sg0s19jV!XngTx$SDO+ZRh}jK$(YK6&+>gM;rz=oS}+gBAewI7pZ}%2{A>G?Fdw zvfN9<=qBW*s5k_s&fds4ihb>xvbY^UZfOZj!a23VZz|xj}1!-Y)LMGgps9eN)e{(@ims6 zZRNB#o4UO#TN9p1sW{x;4bh?1@K6VRTiTBB%eHekTN2|*yedh!N~6V;k?q|mZ=ot2 z*7CyRf*;GBWpT2t#|OeFVJezW<NkzpBs)A$1y8vA(ES( zSv@FiW|QbUxCRXvCPlUb0{>7JF7tX>zr_>A(844LCg{9(ekj zM@%?NpDh=DfHOy2{lOnu5k?Fhogm5gNa`r54jI+!f>&_(#ofl83)EJy+z(eFgNmn= zJI1D#NQJQs>6P*zDyUHMu^gq&eu08&?q{iYRf0z(E~b}B7G0^hI#ITK@AX{|O6+|~ zNLkyAThT8)yGs%r5KA08EQ>1{^DO9}@4k?Bi&H@zUmlWtnqqd76<211!yHbmB{;1o z83$D*8h`7-w-6~&;wj0evT5-6z}sm;C^O|-r@l&xZ>F`??0Uj$IQ9W@#IU!T*%G{~ z$1s6JFH_LT?TR8DO{Hdo-*y7dJCQ&pF%rlSTH~{Ire4wWp=EE$emL1jatHkpHVSso zUI9mIb!rk}!SFX{cA}jBf(l&sq9DgrIsrPB1!`uGz_MSbQ=3_Ps7}hmC6{JT3BjWY z)`n|Xly=&P2{juTf|FH+B?<(PU4vzaTW~rJkXqw;2`sXu(4oLr;Og_vw2}4QM?$5c z!(H^X8WP>~qehAtzx@^N9~NRnI97@YUzP|4!O_dWUkZY-r%TKhnP@$TF<%caF>LT? z>$Rr38FKPj$I3$IDS}qYc`fr}J$zQXiMAepPOBCwGuktyV=MVryP_%`MxJZ)}1|q9cSKK zpm?{Xj`EdqL#f%sWq?_@DhbT5H1w?<3@LG#s7CBbSu;M z^gK0OclM6uW-urYCj&j7YzkF~?WWERk-8g&m zBy8?fWzIDbwK~-{bX5G$;|I@;6v%-g^{t)Tg~~Pc*`mj zyx`BxlBE~io}r@X&@9R+sbcat{H9PegQ68m4yvg39Xg5jYEV1%vgs;~TOzb!h><}{ zqo8oMR4^~kh+Wjxwj_!lhE=2<5~0&2F*%{839lmVZrb^JShq#sFWttG--PH0sSfeU z3!lpN{ax>GM$T%Yd3d28hTIvWNwE?$%4>>NV;&pa@4VMz2DXE*7y@?7vTE3nJ~O_*`icR}WSX~~Q1 zGQ1=SVQbzfmqZ!S`tWXQO48XgoLS$P(hHP z_^;PTe?{M-uVq;`aP0A*Lt%T0se=cSC1e|eaw=)K)!AU2KqyPWm*x`)H75@=48^TS zRGufaGW;Tn*?-9ruQ78!*@@#lJ^pvPV?O^*j~Fia=w{craG_E375#VGtxP3rlu)jMlT21{bHMX)x)n!`DF%c8?T}W|#T$sJ_TM^bSq>{ zF&S+S=}O>qhFE+TAr;~xPN}PNN!u5azsfueYR(%usF7gxQU(!mz}Fl7rS|5n+efyQ zF4Yz{8f&P=#Udk$G^mXg8jZKQ7VN-ahlq8p_^cPyZp5^vtRAoZSW6FUJla~7NE&i= zP;D!-uG8hjwAD1!uH%AL%}S5ZbI#22)(LPWIWzD&kNTU4(!|X+h6J=F&~VgUG~v7w zvI`aY2RO}x#^P_5iNie*91KMu4LI-^Bp#VUF?eYdvJp7OH?o>e6=KGBNvArL@VGH8 z2he+&v>ytOV522K!SI)iq`mW5_x9u6_!hpMf4sQsf;;OYpUd#>LUnT?w_ts#S~S%I z6(tc2RB9OE{t5;tfWhN`EXqPq#{65Rk`a!*z9O(X3UGTTlr;6qOhhB|>~3!9!hzw- zJu?aCGWU$rRNtyrb(&bvQ`2TRx4NII1}&?L2VaM@0B%}}RH44l4qX;g%0jl{k~$_7Qif0Y+bCI4 zhQ&b|ST(Eb*Q{&SFk+2w4P)$1UB-4>wxy3E$>Xw9#R=Td*;NZ*K=R-MeQlfzFajvG z)4gVP3}K}ind)%ORB%hWy{srMv+j%Gi@M$p(2B}y=_D@=IYQ+%R=0I%s1kQ7MU7P- z{;AfLomDHSd-QB(Qg&0rPE7^VSJP?M&`B*iKY+k5+YtB)uZQ-HorfX-e_>w7_5_r3TYUh*gfO$H^{6xcek28SfAo zs@4!$)^A1RO^t6sbf?);v4UyOO}|Eh>mD|t(^yC&2lPsk-np=jf;5|D#Z6em!NmZ{ zceAXBq*-y%AK5ypHQE*Jl@E6-`STkMH#*n-9q3+Obo+Ksw&Mb)>NaekYCRnn*qYhB zrte0v_&LVY>BncAzcuYX`m+6U__sD>zTdK~Yq?Z)r$;+#-h+%=Fn$BaKLRsh(@eT4HIi9jMBp^_<=Az7TliPLT03{1 zA*@AF?egrEK2)xWeK^^NF-kLaEiO09%7c;Oo_D7MZG!v-I*-}vhNBu4aTfWdP3;_* zb^q2h#^M^xib#i6nq+!ZD|aji^%Z?nB5Ic8ZkuMkrUlq-66)2jzEMROH5Rj!tlCn# zM2Tw4!E4a09y)mCz^Tj4gd8hzyvOJ?j7<4s>mhg``4!?VY2Kjy2$~5RX9Up@R)kus%b$MzdrqmMFg0}x-P6V}i zN3V#;1_nsfPLDRkATz5H%tN1eh-TB-uW^dTGIS7r^^B?mvtHjr=n_H@)GsaCTfN2N z@@>=NaxyusN+;P$)2Nk*)GjXyO3hf75PXs>Z=5I9){Tly^Q7A71~F$>kQ& zySY!Cs0jpax3`*hlwm0RbfV9XnwI zz{Ga&fqm3qfC7EQiT}`Ng&df^FoK`66w5dQw{g#ATc?~IwKD@c2yKY-qkF(hM$A0# zyFEE769NH2Z~Y^7hjLcziV}k5o3s0!y!jb!(3FRubc`JISNabd!?hqIrGMN8==M%; z!Bqg3V#c7Y_>RWzz}VvFul~R>KNhgCuQ2r=!Ee*H*h=>QYx1T#bg_|Kr8G8ngtZ{9 zlFbC{LtP!jxF6Y?v1v=bdK@;8Z^tw18{-3OhS?9u9#1*OL;1~HMV!(Z*I-pW$yAX8 zvu>q9;~;hAn@$B<2SZZU3qyV@XSNlFW=JGYfWrtW65ZBP=uRJC@|3YCF&>w}(s%Nx z)22FiBd=_dHwAKeH2Gp^$zzHgADdZ+mYJPmd;huMek_z1IVM)4Vkq zYM$FRh4^EJijRyy@m8(yM+J|M)U7kED;i5mFtP&l+klX=C5&TDFOf^ROo*r64^SXi zZ8!k48T{r%d)DZQs24uhfUnE(Q-9PH54yK^U7g^~{@hnemPXe74%(Le(icOjSqw_} z(ta8#KixLmh|U-%m~lZ4d4W}MvE=uC!SC-+(E$_#&fi1NKrc8gnSR3&uiE_6Tz9SR zfr92yJMnG*xiu%%-2-L;Zw_mlp3qBiY*1eRq^MDI)<`{)1&xaW%QpZ>lC|ozMn;-_l53;i8pnaW6BcK@zAKg9_?hkHEN2O;T|a@lN*0=kMKOleT% zZDdS1wQ1rcI?wtT6laT!z3#^p>sTP|zr*=BiD&o;}PdVMLV?lK_Ntl7T(ywpMa2&xJ(_iX2(xn!-&Zoh)hV(y zsg!E$kq0Y#8x_4)N?t8J>#O*;0X8dn8#Xg)>jfv1(*|)YHm|&&{p*3F&>4GbH42?W z8IMAzN;E2T&2-zO*eRv1nTnRrL+tALuOZr2pS!m%_Yggpm>@b6cZQ6*dWUmC4=)Mk7v{|hI4gRkOIM#JlosR^=tZ0}6Y3XAhTOMf?Z zv9lw3h7g29BN=jnXeQ%X%y5t)LdQB}dKs=!g2QW!vLauEDMeuc7siSNjWRV_SYQ!G zoyPpF$m<9_BouNmqd2=shY06F^-1_9RY56Mk#?yD;M%wY{&&2L0ady zv%@JQ;@;tOgFI9quHH72V#C3MAwp>;*co<8f^jSg?!`p{<= zwflXLe=7Ts$}^6;LIuXfc#GxD+3>Cq+t&Ef8z3Ktu|#hmqP+A$O2YAAN3rXQw}G|peZ zbaoj7vH3WJQCOV{P;dk(PZYLRDFOP^aCinaBnBWNu~ zF0VQQ1~$9h6zPjRUPH-o?t$8=JWAe!Oh{#Ry&<70d*1-rua_Zzd(lT(0Zn)-c@`_L za}(8(Z&BWRZqMY6KETbRVGqTlfb+qU= zb`7qwkQLOleVu^Y>6_D-AfytYsPywKnd@=p$L@m3qcuHgNoUC{2VmVW1&<=8kn zTR9B2$-6x3mVW9Mlfc|7sWa34ljGhlkPl+yNrd1&Pq5KjvB5Z!K0B;tkF4c{d+;KU+AQ>_?P8DWR$KLK zyYQoS0JRdpsr+DQEtLYag<^oJ9J{gbW+egrc6-&ctf<&(zlF+x9;P<5->vW5e@NOu(vy)FryJudz z@nK3uEwT;l;%Xivbc>6kfn)q5yPd(`ir3p3`f0|tGxm?)PabOUySVCXVz!)klHT7B zeQWdBc3$jscF-!1IqSyprQAhg86s(vtYX-vEcfx`rk}WGE`&WsbGLPg@*>M|k*uL- z8~lV7O;q*tJeVG&^iVVkSBjj&omcU28dCVH--kICo7-I%URZGV;WE3%Q@qUCdO9nz zrMN*$mFRoxP2<%vM`QD1LG@{%l3|Vc$0@}H36mNqA!7x(Tro_|`yDwvt9&C<%(_4D z@!=zWaPS>E6#IPYQhNKM5@X;Fj?eVK)v|BCVj{f;NvH8T4VPJbIc0ogt9a<|>e9u7 zgYP&8I@gVQ`rh|-R(Tx{I8Uxr57iy}sxbt}_&XrwWwWeomXWjWA^*VXU^UMPEnBwe z3t)Ugva^Hs6C9>!m7@c|{op$k&bUy5`5{tEL^?IahCS~cy_XdxiMDEBvtOt@vsIF; z<|33e^Ar6$gXdj>6*l4#V1y}6nI zNhvN^@A&`)XF@>~L)TT zrR;l&tY%m(Rm$FS<;fa-Xr?|BqeCc*{*lxpOB{yvWU)w6B}CgXueKR@vg6IVZa9uw z>_-1ib!ID7rgZzud$@5b?!@KGC|v2S|46eN8Hb{ZCSgu7*F>R4&w{Y4FZO0(!Geqa zkYy}Prt(g4xQG13^XJcp&pkc3-8(tqd~*kqg^rN$L5y$lHBQ-7{1PAW_!j;H^R7aD z>jKB)i z1cTw6_p7X@9(((lg>z%CnT2!L$wp>qviJJ?!+%XdKO3&{92dR5ge@X6zQ^kT66p;S z$_kSA`l?t}X%t-@mz6(odonPpCfN}J2{%39!^gGH7ZF}tAr{@0{Nl7?7HmMk^Ji@rsH#?Zx;>fPFHh|)s8=s zl|PpS4zKhZsqyRsPC|20I*-eP!Cor0l`MknwK3|Q;$K&ovbSVO7}uI`jN^U)vswC% ztL)dfz`Ha-z7__XW8N)U-x%GCHU+dw4|^ly)_ci`9T>G;=LL`AxP}Thp}2G663?=N zFT|`^w_X2$WBe3>Wrijg=RIO9k8&O1?}yTvXZOu20U7k50C5Wdo~kl@loG_^U^($q zd^1f5W#(z-wgN!q|LdqE(8C9WfYOOA@P+;2DbKZSFdv zcJJf}R<&l~qDRJ+El%rFv{dQUBtR;qOSZcqY>};4$?&y_>sm_{vl4)v${YRBSkEL^ z@^pKXMUgR_BuULR`u?)SH}CJYS!c~< zn~pxj+DoAZZh&U~L{f*$ocY72Z$)kKZm@2m(hyC^62~Z8u?Et#rVW{)v*WYr;ql&g zZx3ze^6tLUl*-K=Bd*=~cy8rYy)eB=B(ASyq=DsiK+6_ddHJPR^=Rt)LPSB`K+5N! zzVv0rvTvqK%odqwFQ`zyp|+e6H5Gy5V2G+9^3`QR=wiyUDNSjQ_mV>u$oKjK(~BpY z^X$hoOf!m8IQc?Tiqymf`C_s}qXh6^P%o1lja)qq2ukn$b~yQU_^M(g*L!m`nwERH zvFKa%2k1JF;D3=-_^Gr2@m{oLy%NpV=?Xi1>fT_KV&yX7TEXB3qc{VXk2>Q6<~gVa zy!R-(#)XhkTG5E~Uo5-AsTs2ixrYUWW{-iRF31BbpG#R$H>7a%tGvh-gic%PGm0U+ z%=qDC|0o_Sw)k+ee+ol1mT9NayYS-?!%I32UOayuRA;T(&=7xQIE{N1MKG88)tRcLCkDiDO}eT+Y{2`>`3q2TJ-tkBG=8jU279N1fOhX}(3Sik5tx~tLf zP;bds^zb?)NqCvyKDq_;|1##N-3{x#{(>25MmF-F4f%}*e1J5~$AIt`4tNX>_yZXL z4b*C92;6H+d*e3ktb3hDBXlbm`EFpi%r|VZ4*?@d$$4!wd4mzqu@R|hxvKUmx+$b< zjRnqt6i1HH;3eVbHw5GdF)8zKPEwdBpf^Sxh0_$L@rLzvD~m!Z6QFHvur7?ryuFd3 z1mhpj*bt~gdGTj`QF*(>1#HjHm6z9B^mk{%$l<-WC8MR+XEkW*`M1`%@v)+xY31|i zMovA_ropo{o^1^uwO7YSimL=ltn3;(d_^R|s6!;RG3KK0UK!r7zR7(&6OG}LqFd{Q zvqSh-u|FtcohiDlU}C5ilP*~b;V^wzppxc{*C6sv!znXm8#9D$i;h_zzsKuw^$wz-+zAUt=r%aB@BOitnY(RA@DYwoRMyg(A#aF=svm8C z#FIS`Co5JH+4Kk_@4PROXv-P)27^%_Rd*|mE_y|~4NHYp-4A9B>#9+z<6E&W&&?s5 z9k^9_5ALn;G+jid0FdmZ zy8YN<(K{F}w^a%`d}Fs;^4}zTjoJ9T6{}i>E(}gA2{JU{tUw8# zhtV2BLU{vJhm_?7fuvVA@;!uS%CNB($W~qs3!EomgnQkfJ3v9#@pf(v1#$!pI4IQR ze|86t0`bm(c=sp}9~Z}0VL}y1`1=n9vtg#e1Z!G9>#Z%hf`WmTWMNEwwL4B}Cq(Rb zxIB684K+@<^*o<_0fj2biLvE`N+?iFu0KA2Z5N_uT*dy5E(|faQemubR6WgX!tk=5 zF`BVbXR3r?J%$`ERlTekhQUGivCcNx=`DFdZApA#iH$6=T&tu=9-SuTJTO8gLwFSA zPco^IDp>Bl9L3%W_OVk{?LB`RT!@{Q_ctj?=X>SF=|SHEsJu;mgaYwbcteL#Rw^?M zc&qEzt99X=nO)zies_;qB?M4 z!kpP@BCgyX-!V#=)5R=lG9wKxOu%USd9&kGhvajdMfS6FM&?}MJQ3*f_NvXHn*NxA z*KVbrMHGn@Ym{{!jX8EWcX)SFN9g?4p5`MI{QUfze>{Kr?LS`bzdru&$&cT@KY9K4 z|IMfFv5+Fc^WlsC^K$s&`H-Z$VH_93u*kz9FCnHrx2o-V&ntcVkH04PmMnio0m#OyomCt%$i6so051s%Zg3mO*MyBI4~rDL1tkX z^D1Q&l)1$b?+n^o;&GXWS@F9=5O3}a2=D!WInme^VIl<-@th|eM6~z~5Y{3zO zchR7mnGBH?2%-v_4@_{}sty0a&ya9-`cFJQ0{#9EJ2_HiUQ^^YIGRQNwHoQVwQE@< z_!O@<+G_6hnH)aPS$W4*Y$pcX*5BV^G4uFGgnlD3zPrh&C}x_dpH!~xg-+vWssQqh zs3+5Gt7PD=>ah=vRWfm5W~)PLEUcHG)IAIp8$k|Ho$cWJEOV}Jrzx2!yu=9mi3dWx z=V&&j_BmE0b;=0xd>684F~0Q}0p0y<$#uW(2#ItLI7XLi^cK#_qJx9uv#twLR0FuQ zJ3{B4&;0SVrk?H|Sd`G{$=TuQ#M_82eJY7@3bZ)G9NQ-FP>Iik?x-A1^mUcRHo=&z za}L8~#En%ZZ@VLOaC|mBJ)KS_Z#P!3JJ&=}^V!sW^>pFXZg(Wuvqh!5O$c8!e7~#t z<^}2kGAl!33-!4BK4QukMu5)SWE%n+fRv&7K)CqQAPno;7NvChbw}tlo&72y)<&}$ zWylP5qb!{zBw|!#F3Z>g7fQN`dlF1QjYgAq0*9%{9VF66#VJ)O-7awyt|;b4V!X-| z5{35uc|+e&N$lW2)pf}fn8ZlTu5y~5p7Qzq2k76vfplXJX&v(SS!4aU{7}iK6`-#T z&eDfw>X+usYgayCp+<&AQ@==~askae`qC%!rljinjG9(wR9Tym*OJ{4xATyBniW{w z?x1K9rZHMk`I2Hvxy1zLv;0BNrSJGc%+iokS)U~mV1x=fPqND}@#p)80-~!;cOJN1 z6xN+Bp?-i1cEGE{)qVH_fPQ7NxYqVukbUu8I{XEZL6u4HhmYO*$>`(Xk* z-4J6ch&c@@T`lpn$P(P^qbxu5jweNO#~{br?nB zJ(N+vI+(fdI)SR~-`;gRJgRf)ex+sdS5#+^tEY)2W*P;OV%zw8cmj2E& zXqKVieng!kJa|;IDRyJhrD(_xg)EwfINS})3a43);Y82@3I6GTKi*k(p{%)%qWQGE_n&spM zl{7fcto^$g+#(4I=+QxgPrO1gTYq_DfP`C=0IYf9WuuSV8X&hdYkVridFMW$>FaIDcBM`T8DqXVR|WzRTO3AFnoZku1Fv;F z=h*!pet(zD5JCSO*BR=zn$w8 zKzzeUwLKHxXf9@}L|hcEXN&OV*Me?B=)&u2;g1_Ms9o%VsSJ)R^R+sZPjFJ-o)=$I zkNLc#u#r-8+168TpiCBoqS-1H0r~;~TD^Wu`ZG=2P+mrTxfUB6((A534FP(6yo%A6 zr`VS<`rUfJ2G#qMEBmnuP4pEt(DR%X?5YwLs-??TpvZp<)c9Y(d9_ZPZ3o`rgj54cl{N|)+Q19* zF6_!3cFp^f7MgOZS?_9PfOm-6_TTzi>)f?Hr=@7Cxjn4n;c41NI5<8-!s)Aw@)>O9 zwDHHe_gdATy#bY>f>^naTzf+nSW&)CZZhD1H=W*u=mUsgYI5i|?WArC$MUi^^h!3? zqIWenl+^Y^UXS+_9Z@&$b^OB77ar8A3Ay4g>0IXEX&oy0;MgDqkIXzSzmOurP*X4v z3hav#11JI!3w$x)qXVnLX6K>1L%%74rs>dq>*yNuR7{;pbq_6Sm98j`At9kBYSh-J z=9n>$HYM)&*ixSo@TDF@S>ca74OMD2^E}C}%)@x05|O{r^`2Q;oWUrOs z5!ZCea}VN`6F6(L>T7v3UCkDI*YAPSsUd1KqsA@v5~57!2PMvTUtGY|TEoC~is>?F zZ2S%P6&oe18;X#H>aoIs&sbP6A*&%$+)#sR3r^NK9$Tu9T~sGdec{G1CO9=>GvQum zyJ}JJoQTU#D2;L%=bP_5NI$B(wiAX}vSA}9I#I_uq9eNgS%@@MvI%;!VfP)MupRvN2|ce?<% z3hisvSnnaPO|^M{8%tF+V7IVwc|db6t@`0_8)s*1tN1+{_Q-N(5?VG%H>law?U$lZ z9Bymdo)L-`IJ)A~hcA$(7KWBw=aeg_=zD^9$&SiMw1auKP|F@PS?o^)IOO*_@F$6SxecDV&x<%-Z%+sFL0 z;N35wJ}s#Alz~3F&X-6Y>uQUK#PQURcd)$}-iy|CBRazq0Y%ZzDtb;xcR6ZfscF=yJY@WN3q)ti7h+S^ZAcri~DFAQ)8+B%&?P@IJ&7CZj4Jx5J)zSGgIIG4Mb>G6g`EQIr?iHHmSo?lgyO0bz%% z3h?}jg7+bi1=0fdKu4ilXd7}KWXBnMS3T#88VG8hM%{`KE#%6U$3DH(Y9!F+8;u`y zL5qBz#F5&9e1BArDwKGD*YvkOAn7h;BCZ}~MRhW^oQ=k0`r?%R{KqTxe2Tstul&#U z6+08yNX9Kkt!J3jh80K$`ho`jb37?Fcz?}M0O2f*Au>Y$22TZBge;)S`AbrkK>@GZ z*YBA%ajbE~B3HDKSqaQ?+n9tceJf+*ZztHu)(CXJj5Ym}KNiRj!0Jp1!+h-r^QpY= zL%lL$nl{~wV|Lp{NB}TU5ijc5o~RJe+Iw;Mnqjh1b&41;%1Co(^xfx^dB=!EvSE~{ zGeULO(N3R_TtMMr4HCPIAtBY%Q>z|0Mw0Eb80>SW#Al(0cfFD}+u#Wq`Y0_?Y(8AI)d57dX0t^R*OX zbhE&4Bui~13D0NBa3SNAwKM_RbGs-KGAEoCEkV@!(X313Yj~X=+sbCwlqqx84DTyC!|WKLd>ej|(+0pKc zlC#1j$!>5A2S|odw#-R_dqubRUw_%{pYQGd{O@@8;`YVh@88_@{_Fq#Ww-zTz+s=^ z(d*;)r-%D{XNP6yB$8p0^d!_Fn3KJaeUM%smEeNW5xn0WcKiL$%A=fndQ!XdY@7O4 zN^uj+V8i8Z_vCfp<}PoxYqPuLEz~=C^Rp<0KN89)us-K^O0$SSs!@Gh@x#eJRK8i@ z0_)E4(n+|A7O*Dw&3PdSVJ*Q;d#{!C+PdPX9%eJ?YG!2zRc0bdOPX3kDx>b~(r;xv zFv|ojLni25=gd$&tS%nT#ne`)rdSIoI(hT6IX4xsA)g9GuaEq;f0ol%d81*}P~-dLRs{RR|maGTI`8m~ptN3y)ga$GP1I+8k_s)c4=4MZCY^e`vcXqSuIb!7tbA`7 z)vQIAi91(*-cKrBXmN#_dK$a1G2cSA3`vT(IfCL0Q^WV|!FFR7hGtQ_!&M@ga3BgP z*C-@eXO=!^DS7briFG1>0cqTKD}vyMFO3&Z5;4rwqFD zEX>KXBxIPfX9b1``3OIwxVR<}rq6Kn@|o!GGr4zec67L4%S5o1i2dSb1|{h{!D4eH z93phY5J{tC70dW9R)hpXmSS=9aCw|#D27$)M4qrWhsaHO(bhLdBIEgFI77fnw7yn1 zg7u|oCW6(q#=5|fj{ST3u(#?kQ>CD7`Zj4Do@^zXw`@IJZyljGIwDV%@HhKbg+~8? zrvU>&&)0ffx#?t;K@{Q9e`D^+r$HW##=kh zDfpjwd#BZZt^EG6Z}Ef@rk@a|ZW%;g;A>n^JcXOBNe=%z3;C%iB381jh;gCTZq=)R zqN5WO#&LnEa7HX}l2a}LC@WSGlM5cefg`!AyxbzFWL}VHjL^}^_1`pDmMI9Ld>I-) zLZ?!@2>DNN$%!@gWOB+y(lTUdNzxV7FQM_Cc~N=a>a)F>kfSjoxkO}0@~Qk&6HFJC z7{>4#!JfnLmyD!6k`EQB^NgenD_3tY4EpDzzg^V%vPC!TC<3b$KO;%%SS8`(lPQqM z@iJF=45zGE|EZa*CyYcx+j|=VL#iyZov7Pohj$ zmnmkb_w420&}Ftt`Xvks0b0ct~+rM2lY0{dau(V(`t~u;%~nK+TkXA7usl zwR)$sCN1E)VpXShljKt)j&V^amqE`Ohu_XeQKCC(u^uwovwIl`BEs0xz>`JcX^+>8!|> z)0jl8$NwQ&%5`MdCgA1O-s}}#%Y*G@1(TwUuK5Onme2+O*&(H*5@6c98q{^-x-TMX zt_J8DyuljkkV|{&334{jxfaP?YeBa_-LR?DBT+xEg$o!v=z7uIjN(Pd)!iMCPt03{ zPUDp7a5p-|aH6~B0u!-U?6BL9G6X12sg8+){Ur&?WH!%6krj6H`1?Z*J3zeUkgto{?z-_jAjDb?)WbO4FR?)131%iT!yx8D5;6lbS^6K*v+povyQ@-m2JD%dtHc%N_~hW9L!}B zWj_|yWodzX$Af-odEBGUXs(TQm155!W3NoOP-}VzH365Uta9*e6IWT*;9}%d%B**o zg>lHjz&WU7HruMPVV>o^Dp-#p@2~&#ro4SW!UoQ+oHeMfz6~sn8du(?nElpEaxL4* zNaaUPJ)}mXIrGq#lMdBAwbRZl^pJ^X!r6A}xyZJed}jHrr(e4UYbRiRXS)uG$|Y{w z6u|0N%M8E(cB&2nkM+v!(y8rr<;d-sm$fS0-7-bQ{WX`T$p&Fl@qtQDEi3#%^FP!{ z2m4rttywlxGM|n2JbTOfQox zy7DVwvY1y5gKrT-90mdy@Tpz})4&Ch|`UJ=is*tmq5ka}@b2j^7ntKNDH*@{knrfIdTT$VLtbAUi~y zq_8i{tEnDV?iya;LPdX?d%3*vk!Vy0X1cW2tRm8h1FERNVJ!N;l2M|HVaTj9><}aw zK<&yWiRrPGp+%x-r-2IGy1@wMocr3zAsa~SWoh}#Ed;#^M(BMJ;{wMAoH+2#C@8c} zTdpZg@8sO$`b#ACicum|8EBaI3$Ql`V#0cSmbn*O~wMxn#W>e!^!d;9pIi86F( zi(Z%0{tB;!wBa*D1ufaQR3wGCWRh1Bg_^2KElM0P4da-4N_smhCeV;KQ%Lq#REL^F zi-x>w=aM@w&N%~L;dTE)`Vp+#7%Jm4AKf21yG93=uo7urmP=l^Aq{j4_n5-s;ba;vqsuGqfa>!bMbRcGK(2 zqxP#Mj)(H(FkL`yyGyb7m89W{1u1Ym+`tSX9gxggTA}Ha@C8X(scu(7q=wMbVaXZ& zKE$;EtyJb82xgb}>;h{EY0xOwPF3U@HdZ_5M1VE+NNW#@*hC-47S&`gRITxCnCEu` z`1hI8UT)iz8%Uf+%7?Pr7G@bN^83KV079B1*uI0>OwP=UT&c8wlK*>V{oia9dO zIqeYUxjZc@hPJZU31cN&v3vy~(m_d=yTPqNk-K0hrMHARK>7~>Tdjx}eF4-8*)kbR zMQxSqooHW$JO{UT&u;I$O>%hlfr4Nl&tV7{N^Ip}K@CNfYw_+G{_qN;&}1tCOm}6ERANJcmArznX9US{_+X;+`*j{cjjY067^V_+qcOF>$y|zc-Ky`J`f4ao z$WDI3(HC8oZSoOk3!KW>JCxus*6-Cxw_jHolRHu>h9BDgCwftKdPjk{#B-9Sx}GjT zX231y&&7fCu9L5ke*-Z)%g$enjEFxCSbDq7bi`8trC&wJ&AhmDk;>+V`VY;Vk_~b?3G{)gZVI2G^B6Gc|Buqu?2M$gZj$r}T>R^RU2q z5=OXZRT-clsCv1LAy2RP5MNh{Xmr!7V31x}n;K>H;T*G`UTynIzZy9`hes{ny0+Nk z)Rn7sstz_~{g07w>R6%)ra_Hs2nemLd}Bs+HgPp9!m+U~ZDQejPFKg>?^@lk5u!{V zcUJkd)z|W5OF2DV2NO7mw1)b~TI8r|pi~fmv};+8i)3A%i^TCjBy74N6c5Tos#*_G zN=wK>!F?5(C2IA3l(UU`56MDDqbaZ0dje8zFblQk7-Shj|H@V<3RAwSsB=pdXOl#i z&<%rONjzA(nM`sid|+TD2{pwg|BhT|Rr(_FPPoj*#;6GWdVp^4`l?KM=#Wav3(26w zwU8!Y!ixbci|975H4;pmdgJf)x((NI8|Nlqpkw>6hbLyjEJi*$?_u55Mv_voo7A^2kiUfh_HZW&&`u6nI=O~4_1 z>2YRdv4TlvO~{I4&bou1uK0{sR2Yhsb&B=5R-|1%Ua6^C6pf6>jnYwgNn}zy7};xF zklDJd02fNi8orS|klCA|&Fb(Hs<#p@*Jwpc|ALlPu7G=jVK>IDB2JYEZZU4MPd8!N zDTup5*{ZrtB!sLOJiXf8W5oQLKy~1p;0U!PFT)s|Q9D`5n=uiEeIp(1P??Hn$7hIT zIf+b~dN$}~jEVJ5-1TR@lI@HvYTHz?CEb}cL^&R+GM8^GiqzsbSCdl zj`pW}r^i*>L&ouxC1AIwl+i8X1>^u!!vp}yy&@f3EmSdnCy*VRh+Bo4>>CP+wzkaH z*E0IgZs`YSzk5@_oxRxEu#RCA1%*nc8;EOwNjmSEQNVeTMVQj^wr05Au;+{X)pucv znfNL5-^(n2z{DHqc|JAeoVhQrJ2C5~_(on2qHby)l^MZr4V3OQPUu$taW@dk@vVX5 zosnzrR{wd2IG(y7|8Xb9#I1?@T`8k(?Oxo;)ZL192HVzd z(@Jc(2TM8+>{Y_P-`IRJwIQH!nP6EL5h0l87oEx+cVchECAWOR5!ZAL(f$HQkoVqn z<;&4hV`|;n>sgyDw)L@|!=FB%y1w{D$OuBw{_)gXqt^aOovqU@3PRVZe8C}y*Yk#yd@kG~?C zIzEExmlb*7;Nq0DUv(!xO^lJVafH`;B#d1{o0&^B7qnjA&Y70mV|Ne9CoDHOutFBf z2)i;s!dRVEdG8jDm9pJnZByC3T*KG5A|ZQ7Wm0cN{9PI7Nb0Nz^>cvU9G)Ic_Ff-O zCws4J4flF1BnAfu$7c;DuGxrJ{V~xq#e`R55z@iI3Ecl%;F&GrqduQr;lGB}JWN@sEj#LBt)UxRopKGmw1}4Mk~d7(|jnFLcL9 zu*Tf#seQe>5N)dKe61;$jDZjsVQC~c?oYH>L2RYQACZd86_VkPkUL8*fQF!l1>Wu0LA2(i6DZu_p#@%bqa#B-4flnctM>o(=LtK9#oB&1}LY76sws(_n+@#Efp$Lt+gXSgD2 z$e>D`2gU#ZYR2z&HB%LNX8hhzQ!BhsPycFDOHyC{y`hHfc!7$J_osfiR6(d^f~{2f za+di?&oXNx-{YlK_ul&T>!4n_^I3g9)kRiy#ck}YpbUJ6O35(wTA#-ya1l(9$NMGM(r0bz?KC2 z;syBP1$ay^0NVfUod8=K;x2&S!i(^y@ByID<^tH({J)2VZN!W`*v{Xwd86qDMyt2& zJ^JVud)^(?CothbMQm3`8{v*hx}o+L1AZ%U{qzRBy&nDUEO-%EfkHE?hN*l4P)14K zb2n=2!bqLvh;OIjlFseYOFFlrv(*O~k;uY1HLQqSuJDy!X)8kD>-oFL2o#G z4Haa(99&9gM!WZ+sS*4u&ip76iyJ~z<`e$Es3O35bEeFaaE_=rAp)^!@5Z*Iq&s{h5Q2uAWDhE>`+duPocQDF`UyobHr2=P7EoG947>A8aFOz501}( zVpI?xhD^0c&#&RZkVaHsGN>BgcIPWgHo6Hzo9n;Rf}jZ@Ae
    4@=^^))n*l-k!n_p2X7NADncMh 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 W1^@s60096206YKy02O8c00020+m#pq diff --git a/version.tf b/version.tf index 4ab7a1f..f033f34 100644 --- a/version.tf +++ b/version.tf @@ -1,3 +1,3 @@ locals { - _module_version = "2.0.3" + _module_version = "2.0.4" }