From c2fa5179966afe9172213b5565c2be8d11ca5281 Mon Sep 17 00:00:00 2001 From: LSMushui Date: Thu, 9 Apr 2026 17:12:18 +0800 Subject: [PATCH] =?UTF-8?q?RMUL2026=E6=9C=80=E7=BB=88=E4=B8=8A=E5=9C=BA?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +- 云台/云台/CarBody/Gimbal.c | 30 +-- 云台/云台/CarBody/Visual.c | 183 +++++++++++--- 云台/云台/CarBody/Visual.h | 5 + .../Control/WaveFiltering_Kalman_Filtering.c | 2 +- 云台/云台/Function/AttitudeAlgorithms.c | 4 +- 云台/云台/Objects/Project.axf | Bin 725204 -> 732260 bytes 云台/云台/Objects/Project.build_log.htm | 104 +------- 云台/云台/Objects/Project.htm | 225 +++++++++--------- 云台/云台/Objects/Project_Target 1.dep | 28 +-- 云台/云台/Objects/attitudealgorithms.crf | Bin 452167 -> 452167 bytes 云台/云台/Objects/closeloopcontrol.crf | Bin 447841 -> 447902 bytes 云台/云台/Objects/ctoc.crf | Bin 448703 -> 448703 bytes 云台/云台/Objects/gimbal.crf | Bin 462229 -> 462218 bytes 云台/云台/Objects/main.crf | Bin 468918 -> 468950 bytes 云台/云台/Objects/visual.crf | Bin 459688 -> 459833 bytes .../Objects/wavefiltering_kalman_filtering.crf | Bin 8673 -> 8618 bytes 云台/云台/User/Parameter.h | 14 +- 云台/云台/User/main.c | 7 +- 底盘/底盘/CarBody/Mecanum.c | 2 +- 底盘/底盘/Objects/Project.axf | Bin 601392 -> 602748 bytes 底盘/底盘/Objects/Project.build_log.htm | 74 +++--- 底盘/底盘/Objects/Project.htm | 2 +- 底盘/底盘/Objects/Project_Target 1.dep | 8 +- 底盘/底盘/Objects/main.crf | Bin 462138 -> 462138 bytes 底盘/底盘/Objects/mecanum.crf | Bin 466129 -> 466129 bytes 底盘/底盘/Project.uvoptx | 207 ++-------------- 底盘/底盘/User/Parameter.h | 4 +- 28 files changed, 385 insertions(+), 521 deletions(-) diff --git a/README.md b/README.md index 08cc9f9..a05dafd 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,12 @@ # New-Infantry-C-Board-Legacy @Peng Ge的全向轮步兵代码,基于C板,使用标准库编写 -编译器使用Keil V5 + +编译器使用ARMCC V5 + +该代码为RMUL2026 最终上场版本 + +该代码已过时,仅用于参考使用,不建议继续维护 当前待实现目标: 陀螺仪漂移优化 diff --git a/云台/云台/CarBody/Gimbal.c b/云台/云台/CarBody/Gimbal.c index b9c53a5..a45d579 100644 --- a/云台/云台/CarBody/Gimbal.c +++ b/云台/云台/CarBody/Gimbal.c @@ -24,6 +24,8 @@ KFP kfp_PITCH={0.02,0,0,0,0.001,0.543};//卡尔曼滤波器结构体 uint8_t Gimbal_FrictionWheelFlag;//云台小陀螺标志位,云台开摩擦轮标志位 extern int KP , KI , KD; +extern float Visual_Yaw,Visual_Pitch; +extern uint8_t Visual_ReceiveFlag; float use_yaw=0; @@ -129,18 +131,18 @@ void Gimbal_CleanPID(void) */ void Gimbal_PitchControl(void) { - float use_pitch=0,lastpitch=0,lastyaw=0; + float use_pitch=0; if(Remote_StartFlag==2)Gimbal_PitchAnglePositionPID.Need_Value=0;//遥控器刚建立连接时,复位Pitch轴角度 - if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)<1000) && GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position>Pitch_GM6020PositionUpperLinit) + if(((Remote_RxData.Remote_L_UD>1050 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1040) && GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position>Pitch_GM6020PositionUpperLinit) { Gimbal_PitchAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate/8192.0f*360.0f;//通过遥控器或者鼠标获取俯仰情况 //if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Angle<=Pitch_GM6020PositionUpperLinit) //Gimbal_PitchAnglePositionPID.Need_Value=0; } - else if(((Remote_RxData.Remote_L_UD<1000 && RefereeSystem_Status==0) || (1024+Remote_RxData.Remote_Mouse_DU*3)>1050) && GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position=Pitch_GM6020PositionLowerLinit) @@ -149,18 +151,18 @@ void Gimbal_PitchControl(void) if(Remote_RxData.Remote_LS==2 || Remote_RxData.Remote_Mouse_KeyR==1 )//自瞄,补偿角度 { - use_pitch=0.5f*Visual_Pitch; - use_yaw=0.5f*Visual_Yaw; + use_pitch=1.5f*Visual_Pitch; + use_yaw=0.5f*-Visual_Yaw; + //if(Visual_ReceiveFlag==1)UART2_Printf("Y:%f,P:%f\n",Visual_Yaw,Visual_Pitch);//*0.0030518509475997f //pitch - if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].Position>Pitch_GM6020PositionUpperLinit && Visual_Pitch>0) - Gimbal_PitchAnglePositionPID.Need_Value=AttitudeAlgorithms_DegRoll-(float)use_pitch-lastpitch; - if(GM6020_MotorStatus[Gimbal_PitchMotor-0x205].PositionPitch_GM6020PositionUpperLinit && Visual_Pitch!=0) Gimbal_PitchAnglePositionPID.Need_Value=AttitudeAlgorithms_DegRoll-(float)use_pitch; use_pitch=0; Remote_RxData.Remote_Mouse_KeyPushR=0; Remote_RxData.Remote_LS=0; - - Visual_Pitch = 0; + //UART2_Printf("Y:%f,P:%f\n",Visual_Yaw,Visual_Pitch); + Visual_Pitch=0; + Visual_Yaw=0; Visual_ReceiveFlag=0; } @@ -196,14 +198,14 @@ void Gimbal_YawControl(void) if(Remote_StartFlag==2) Gimbal_YawAnglePositionPID.Need_Value=AttitudeAlgorithms_DegYaw;//遥控器刚建立连接时,复位Yaw轴角度 - if((Remote_RxData.Remote_L_RL>1050 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity>1050 || use_yaw !=0 )//根据摇杆改变偏航 + if((Remote_RxData.Remote_L_RL>1050 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity>1028 || use_yaw !=0 )//根据摇杆改变偏航 { if(PC_Spin==0) Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((Remote_RxData.Remote_L_RL-1024)/660.0f)+(float)use_yaw; else Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)+(float)use_yaw; } - else if((Remote_RxData.Remote_L_RL<1000 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity<1000 || use_yaw !=0) + else if((Remote_RxData.Remote_L_RL<1000 && RefereeSystem_Status==0) || 1024+PC_Spin*PC_Mouse_RLSensitivity<1022 || use_yaw !=0) { if(PC_Spin==0) Gimbal_YawAnglePositionPID.Need_Value+=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*((1024-Remote_RxData.Remote_L_RL)/660.0f)+(float)use_yaw; @@ -211,9 +213,9 @@ void Gimbal_YawControl(void) Gimbal_YawAnglePositionPID.Need_Value-=Gimbal_LeverSpeedMapRate*Gimbal_YawPitchSpeedRate*Gimbal_YawPitchSpeedRate*0.0439453125f*(PC_Spin*PC_Mouse_RLSensitivity/660.0f*2)+(float)use_yaw; } - Visual_Yaw=0; use_yaw=0; - + + //串级PID闭环Yaw角 PID_PositionCalc(&Gimbal_YawAnglePositionPID,AttitudeAlgorithms_DegYaw); Gimbal_YawAngleSpeedPID.Need_Value=Gimbal_YawAnglePositionPID.OUT; diff --git a/云台/云台/CarBody/Visual.c b/云台/云台/CarBody/Visual.c index 92ba8ca..affd6c6 100644 --- a/云台/云台/CarBody/Visual.c +++ b/云台/云台/CarBody/Visual.c @@ -16,8 +16,8 @@ uint32_t Visual_Time=0;//视觉数据send时间 uint32_t Time_Out=0;//超时时间 uint32_t SystemCoreClock84=84000000; //84M int KP , KI , KD; -int yaw=0 , pitch=0; -static char dataType; // 存储类型字段('r'/'b'/'u') +int yaw=0 , pitch=0 , roll=0 ,delay=0; + uint8_t USART_RX_BUF[100];//视觉数据jieshou缓冲区 extern PID_PositionInitTypedef Gimbal_YawAnglePositionPID,Gimbal_YawAngleSpeedPID,Gimbal_PitchAnglePositionPID,Gimbal_PitchAngleSpeedPID;//Pitch轴GM6020电机PID; @@ -44,15 +44,16 @@ void Visual_Init(void) } void Visual_SendData(void) { - /*SendData MCUMessage; + /* + SendData MCUMessage; MCUMessage.curr_yaw=AttitudeAlgorithms_DegYaw; MCUMessage.curr_pitch=AttitudeAlgorithms_DegPitch; MCUMessage.state=(uint8_t)('a'); MCUMessage.mark=(uint8_t)(0); MCUMessage.anti_top=(uint8_t)(0); MCUMessage.enemy_color=(uint8_t)(1); - MCUMessage.delta_x=(uint8_t)(1); - MCUMessage.delta_y=(uint8_t)(1); + MCUMessage.delta_x=(uint8_t)(0); + MCUMessage.delta_y=(uint8_t)(0); UART2_SendArray((uint8_t *)&MCUMessage, sizeof(MCUMessage));*/ //UART2_SendArray((uint8_t *)&MCUMessage, sizeof(MCUMessage)); /* @@ -60,24 +61,29 @@ void Visual_SendData(void) UART2_SendByte((float)AttitudeAlgorithms_DegRoll); //UART2_SendByte((float)AttitudeAlgorithms_DegPitch); - UART2_SendByte((uint8_t)0); + //UART2_SendByte((uint8_t)0); UART2_SendByte((uint8_t)'a'); UART2_SendByte((uint8_t)0); UART2_SendByte((uint8_t)0); UART2_SendByte((uint8_t)1); - UART2_SendByte((uint8_t)1); -*/ + UART2_SendByte((uint8_t)0); + UART2_SendByte((uint8_t)0); + */ +/* UART2_Printf("%lld",GM6020_MotorStatus[GM6020_2-0x205].Position); UART2_Printf(",%f",Gimbal_PitchAnglePositionPID.Need_Value); UART2_Printf(",%f",Gimbal_PitchAngleSpeedPID.Need_Value); UART2_Printf(",%f\n",Gimbal_PitchAngleSpeedPID.OUT); - //UART2_Printf("%f,%f,%f\n",AttitudeAlgorithms_DegPitch,AttitudeAlgorithms_DegYaw,BMI088_Temperature); - //UART2_Printf("%f,%f,%f,%f,%f,%f\n",BMI088_Gyro[0],BMI088_Gyro[1],BMI088_GyroZeroOffset[0],BMI088_GyroZeroOffset[1],BMI088_GyroWithoutOffset[0],BMI088_GyroWithoutOffset[1]); + */ + + + UART2_Printf("%f %f %c %d %d %d %d %d\n",AttitudeAlgorithms_DegPitch,AttitudeAlgorithms_DegYaw,'a',0,0,1,0,0); + //UART2_SendByte((uint8_t)'\n'); //if(Visual_ReceiveFlag == 1) - //UART2_Printf("%f %f %f %f \n",Visual_Yaw,Visual_Pitch,Visual_GetRoll,Visual_GetDelay);//*0.0030518509475997f + //UART2_Printf("Y:%f,P:%f\n",Visual_Yaw,Visual_Pitch);//*0.0030518509475997f //if(Visual_ReceiveFlag == 1) //UART2_Printf("%f %f %f %f\n",Visual_Yaw,Visual_Pitch,AttitudeAlgorithms_DegYaw);//*0.0030518509475997f @@ -110,7 +116,132 @@ void USART1_IRQHandler(void) USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除接收中断标志位 } +// 全局变量(需在.h文件中声明) + +uint8_t Visual_ReceiveFlag = 0; // 接收完成标志 + + +// 静态变量(函数内部状态) +static char Visual_RxBuffer[32]; // 接收缓冲区(足够容纳最长帧) +static uint8_t RxState = 0; // 状态机:0-等待s,1-接收数据,2-解析 +static uint8_t RxIndex = 0; // 缓冲区索引 +static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒) + //Visual_Yaw = -(float)yaw; + //Visual_Pitch = -(float)pitch; + + +// 全局变量(需在.h文件中声明) +char Visual_Type = '\0'; // 存储类型(r/b/u) + void Visual_Trans(void) { + +// 静态变量(函数内部状态) +static char Visual_RxBuffer[32]; // 接收缓冲区(足够容纳最长帧) +static uint8_t RxState = 0; // 状态机:0-等待#,1-接收数据,2-解析 +static uint8_t RxIndex = 0; // 缓冲区索引 +static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒) + + // 每次调用处理一个UART接收字节(UART2_RxData为当前接收的字节) + uint8_t rx_byte = UART2_RxData; + + // 接收新数据时重置超时计时器 + RxTimeoutTick = 0; + + switch (RxState) { + case 0: // 等待帧头's' + if (rx_byte == 's') { + RxState = 1; + RxIndex = 0; + memset(Visual_RxBuffer, 0, sizeof(Visual_RxBuffer)); // 清空缓冲区 + } + break; + + case 1: // 接收有效数据(直到遇到帧尾'e') + if (rx_byte == 'e') { + RxState = 2; + } else { + // 限制缓冲区大小,防止溢出(预留1字节给结束符'\0') + if (RxIndex < sizeof(Visual_RxBuffer) - 1) { + Visual_RxBuffer[RxIndex++] = rx_byte; + } else { + // 缓冲区满,强制复位(防止内存溢出) + RxState = 0; + RxIndex = 0; + } + } + break; + + case 2: // 解析接收的字符串 + { + // 有效数据格式:"207 -4 0 0"(需包含4个字段) + char *token = strtok(Visual_RxBuffer, " "); // 按空格分割 + uint8_t field_idx = 0; + uint8_t parse_ok = 1; // 解析成功标志 + + char type = '\0'; + + + while (token != NULL && field_idx < 4) { // 只处理前4个字段 + switch (field_idx) { + case 0: // 校验包头's'(ASCII:0x73) + yaw = atoi(token); + break; + case 1: // 提取类型(r/b/u) + pitch = atoi(token); + break; + case 2: // 转换yaw(字符串→int) + roll = atoi(token); + break; + case 3: // 转换pitch(字符串→int) + delay = atoi(token); + break; + } + token = strtok(NULL, " "); + field_idx++; + } + + + // 解析成功的条件:字段完整且包头/类型正确 + if (parse_ok && field_idx == 4) { + Visual_Type = type; + Visual_GetYaw = yaw; + Visual_GetPitch = pitch; + + // 角度转换(根据实际需求调整系数) + Visual_Yaw = (float)yaw * 0.03051850947599f; + Visual_Pitch = (float)pitch * 0.03051850947599f; + + Visual_ReceiveFlag = 1; // 置位完成标志 + } + + // 解析完成,回到初始状态 + RxState = 0; + RxIndex = 0; + } + break; + + default: + // 异常状态复位 + RxState = 0; + RxIndex = 0; + break; + } +} + +/* +void Visual_Trans(void) { + +// 全局变量(需在.h文件中声明) + +uint8_t Visual_ReceiveFlag = 0; // 接收完成标志 + +static char dataType; // 存储类型字段('r'/'b'/'u') + +// 静态变量(函数内部状态) +static char Visual_RxBuffer[32]; // 接收缓冲区(足够容纳最长帧) +static uint8_t RxState = 0; // 状态机:0-等待s,1-接收数据,2-解析 +static uint8_t RxIndex = 0; // 缓冲区索引 +static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒) //Visual_Yaw = -(float)yaw; //Visual_Pitch = -(float)pitch; @@ -201,8 +332,8 @@ static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒) Visual_GetPitch = pitch; // 角度转换(根据实际需求调整系数) - Visual_Yaw = -(float)yaw * 0.03051850947599f; - Visual_Pitch = -(float)pitch * 0.03051850947599f; + Visual_Yaw = (float)yaw * 0.03051850947599f; + Visual_Pitch = (float)pitch * 0.03051850947599f; Visual_ReceiveFlag = 1; // 置位完成标志 } @@ -220,13 +351,10 @@ static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒) break; } } - +*/ /* void Visual_Trans(void){ - - - static int Visual_RxHEXPacket[20]; //char Message[10]; @@ -247,7 +375,6 @@ void Visual_Trans(void){ { Visual_RxHEXPacket[pRxHEXState]=UART2_RxData;//接收数据 - if(pRxHEXState==7)//接收数据长度达到3 { @@ -260,7 +387,6 @@ void Visual_Trans(void){ pRxHEXState++; } - } else if(RxHEXState==2)//模式2-等待包尾 @@ -273,20 +399,19 @@ void Visual_Trans(void){ Visual_GetPitch=((uint8_t)Visual_RxHEXPacket[2]<<8 | Visual_RxHEXPacket[3]); Visual_GetRoll=((uint8_t)Visual_RxHEXPacket[4]<<8 | Visual_RxHEXPacket[5]); Visual_GetDelay=((uint8_t)Visual_RxHEXPacket[6]<<8 | Visual_RxHEXPacket[7]); - Visual_Pitch=Visual_GetPitch*0.003051850947599f+Visual_GetRoll*0.049f/(30.0f*3.1415926535f); - Visual_Yaw=-Visual_GetYaw*0.003051850947599f; - // UART2_Printf("0x%.2x 0x%.2x\n",Visual_RxHEXPacket[0],Visual_RxHEXPacket[1]); + Visual_Pitch=(Visual_GetPitch)*0.0005051850947599f/*+Visual_GetRoll*0.049f/(30.0f*3.1415926535f)*/; + // Visual_Yaw=(Visual_GetYaw)*0.0003051850947599f; + //UART2_Printf("0x%.2x 0x%.2x\n",Visual_RxHEXPacket[0],Visual_RxHEXPacket[1]); //Visual_Yaw=(int16_t)((uint16_t)Visual_RxHEXPacket[0]<<8 | Visual_RxHEXPacket[1])*0.01f; //Visual_Pitch=(int16_t)((uint16_t)Visual_RxHEXPacket[2]<<8 | Visual_RxHEXPacket[3])*0.01f; - Visual_ReceiveFlag=1; - RxHEXState=0;//回到模式0 - //Buzzer_Time(M4,1000);//蜂鸣器发声 - } + //Visual_ReceiveFlag=1; + //RxHEXState=0;//回到模式0 + //Buzzer_Time(M4,1000);//蜂鸣器发声 + //} - } +// } -} - */ \ No newline at end of file +//} diff --git a/云台/云台/CarBody/Visual.h b/云台/云台/CarBody/Visual.h index 169f1c9..b18f6f2 100644 --- a/云台/云台/CarBody/Visual.h +++ b/云台/云台/CarBody/Visual.h @@ -6,8 +6,12 @@ extern uint8_t Visual_ReceiveFlag;//视觉数据接收完成标志位 #define SYSTICK_1MS ((uint32_t)1000) +#define ENEMY_BLUE 0 +#define ENEMY_RED 1 + ///发送数据 +#pragma pack(push, 1) typedef struct { float curr_yaw; // 当前云台yaw角度 @@ -19,6 +23,7 @@ typedef struct int delta_x; // 能量机关x轴补偿量 int delta_y; // 能量机关y轴补偿量 }SendData; +#pragma pack(pop) //接受数据 typedef struct diff --git a/云台/云台/Control/WaveFiltering_Kalman_Filtering.c b/云台/云台/Control/WaveFiltering_Kalman_Filtering.c index 9cd23d7..1a48d94 100644 --- a/云台/云台/Control/WaveFiltering_Kalman_Filtering.c +++ b/云台/云台/Control/WaveFiltering_Kalman_Filtering.c @@ -10,7 +10,7 @@ */ float kalmanFilter(KFP *kfp,float input) { - float pDst,pDst1=1.0f; + //float pDst,pDst1=1.0f; //预测协方差方程:k时刻系统估算协方差 = k-1时刻的系统协方差 + 过程噪声协方差 //arm_add_f32(&kfp->LastP, &kfp->Q, &kfp->Now_P, 1); kfp->Now_P = kfp->LastP + kfp->Q; diff --git a/云台/云台/Function/AttitudeAlgorithms.c b/云台/云台/Function/AttitudeAlgorithms.c index 40c01b5..810e9e9 100644 --- a/云台/云台/Function/AttitudeAlgorithms.c +++ b/云台/云台/Function/AttitudeAlgorithms.c @@ -105,9 +105,9 @@ void TIM1_TRG_COM_TIM11_IRQHandler(void) BMI088_GyroWithoutOffset[1]=BMI088_Gyro[1]+BMI088_GyroZeroOffset[1]; BMI088_GyroWithoutOffset[2]=BMI088_Gyro[2]; //debug - //AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_Gyro,BMI088_Accel,IST8310_MagneticField); + AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_GyroWithoutOffset,BMI088_Accel,IST8310_MagneticField); - AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_GyroWithoutOffset,BMI088_Accel,fake_IST8310); + //AHRS_update(AttitudeAlgorithms_q,0.001f,BMI088_GyroWithoutOffset,BMI088_Accel,fake_IST8310); get_angle(AttitudeAlgorithms_q,&AttitudeAlgorithms_RadYaw,&AttitudeAlgorithms_RadPitch,&AttitudeAlgorithms_RadRoll); AttitudeAlgorithms_LastDegYaw=AttitudeAlgorithms_ThisDegYaw; diff --git a/云台/云台/Objects/Project.axf b/云台/云台/Objects/Project.axf index 5c593148411e6ef5106cc86e5fd7173e68b21702..6b6665912484a4d24062201bd0689b8ad574e1b3 100644 GIT binary patch delta 87531 zcmc${3tUxI_6L6UxtGi3ih6m!FBkBEhy_ZD`Qj}k2m(Gc0R@#rKt)qWyJ${XX<^6d zSZUJR%t|90dpKHSlQmX2SvjReGtOj<8kGg8;Qzb!Is4wLHUD4N`TRfs`{7*HT6^!c z)?RzFh%&&tJU3rNv z_~;Z3-ZpL1qp?2Kw`kZ?iXRJ*7fs*v=m7t{(GohYM%l!Y z`<7mma;5Q)t(MF${wOu>Q;xD|R;_%`MzU9x!E%Z6u$CF4yAKUf*+dx<-GkrB|7-T`c{@>B0P`STtn zywAF*M=zzt7DOsFU3+CIDDwH;eVl@dH%RU3k8^+|d47Pq4m8FPFZBY8?`o9}6t*9n z)F+pR>Ca69=SyMypit?EnkcmsD~~|F^1gGRMvjrl6AkNq+4$p)aNqf*$wR$ z{5Rsi3IELoLwhX#ulF*v_w?XD@NnfFYuwEZsBcJ9$g^*OTkU1pzOl1h3gwjjpj2IM zccVUAyU3b%k_7-+W7eSTyvsy$0GfT-h}sz24|I9)|F0{4 z{t*H9cH8Z&iS1zRcj_%ruZ;7LV*Qm{{6l(&p?$0|m0ZqXWsQGWgsEGKxf$FxT$Ey_ zbNXEuSxhNp4pjE~$H=EIwH)`CS+BX5yxM&`!|bg6FUr3H(np-RAjMxe8k6ITvRhGt zTH@dZ>3}&mG>NsJL~0jOjU3y6beTghDz^k~XKhM%;3Mpe@=(wmM`gEkK#qyaHMA?2 z(aJ}&+8bFkuq~H~9tG$wPM2cB0dEAA#e@J_#i>Dn8hK8CK#TR9eE~1$IePiX^8=Ni3~?uQ8{0js$asBZnVXGZeYfcu`}! zgOTuTr|=X`ACyDFZ*&SDB8cfW=U~&v0rlK<%7H_5KH^kp~$e^O;KqBZyxq zt3#qH{=mgh4G-~5qK5CHupC3?-N)%#4gcg6^E{`LdG|QQJi%#H!)JO(7*()Jxfl}B zcQ#zXjIKBFVhmhtkkUUiuGiZa<=8%GRMu`*Nd>g{^PSodaj3J` zZfQT}fHcWhP9yWMm|ozpud{NGB{!)vP+Ien6l((I26P7_{txdmv`Kt;NmjlL?au}& zUST8IdSzT#Q2&x{Yukw2k$IcCBx_M;vc%$zN1I=&&XL>A7Y%I$vG(67E5e>)Pb$&j z1#GFZFg!E*!%G>tO@AW1_ z`_H65>iZA;r+R;(T#k&nVR~1&-KWXt*?iQwq{}B(ipc}?ARrc#185Tt2ouNMyr-G0ZE5 z_LH6DoYY}2cG7Gmx0hZR4r5B(qz1_Vm`NKuWobTK!*T($2J#;6WbL8KBk`kHx$f{>JZf!PC5`~m)Lw)b>=t7IlFV9m;li4pASmcJ&>VQi;z{dFPo(2GiQZcIz{ zb)Yo2ynnq9%Y3|t2Hx%bduxvm;D`A4gFR-z3jc2Ep;0Z>N3yTNbr6@)BH43sZNSy4 zge8xP`eP5X_lFj~ZQIZGx5VZ)o|P;%{w=j{R~98lu~y~&#yMJ2gkUz@@tD-%5SFlR^;fLh)8GfJT zZ`bf@W``J(~L$ZhEtr^-GCz%&-KO2a~qk3*X>t_k&5G9-ILwI2df=^%c1>DCH zq-?w)B&{zfpIp=y2-LWeW?Z(*;atGQCExSIHOw(&}&AK!Bu8pa|?7`;1T zgY9RRSuo^>)2ROC*#^tY=h`&8oLI!U>~-jd8rNE#n|62WtMkFI8O}ir_HhQ);Rnw# z%Uqs)``NkS49#&%ZY!*ngmkjny0#fkp;U&tJT=<(vomW^n3Kcae=QW8BZ-fckc}?t=IGsrxXA*veHMXC%TOxSl1n^t|@Rj-tet`Sv zUKR!!p=hEeG|??>@WygWATrIm;Gee%nf9Y5n0>>|FG+FXIbk`MJD#{;-A@j-nHVPgFB^4nia2c!euXbma;VyhR0gi@#C zGdh~hZ5cHB306W*Yu(G*gD%r>RCvCzLPn^tu8R+OkrX)!+UhH463io12n2Da=#?FPa=s!ui(_kX@iwV#@;aOA>y=%@|dX< zh9q4pPV2!idNr*>F^pTy-fmel?k*-klBzr0wAyVNmBc`QAXJ+AyK zeIBcADag20BYE$*5%dp~=xKMbOy!AbF=1yQxE0$GCumDT-=3g} z@t|^Y+TAHrx~+T=3_L2?`(S+T?s)rRpEhRi1z2kD?l!mi@HK-J&pwyhpTqR~W4H3~ z^r7t-)BE4Z){SSSM@r6w4)$uk+;LyG&+h$ajQ2|WX&l&stN&d7H^<(;()|y^ zza$O$ragU9uGezOJ}J*!J_%;CJNB^nzO8cns-ykemJIPZ%Ip)!Zv5LGb5m|t$B&nP z-&Qrma8$NuBgL;R3&o=2&40s+Xt}gJEi&yUYkgX7cB!#VvX4d%x@y|SJT?ktzq)Lq z1;W5)EL>9dutZC%oY<$;kQjQ@uPrHucso*{iH4lLJQQ#*p78bMB*0!A{_65|fN9i; ze@wD>b^H-b%OelH)Mt+|@!02OEylz_M+f9Kc1n#gxzc*+rG9zl#%K=30gB`A$u9L7v`tocTPYmOU%pS_E;Dc|vyihk2{?kQ@U}tfSB>5wD%YtvF zOfad*l>)t>ZG%eB}tj#&nauzQi z?e6&YQbb!H(7ibJ_e+6%J=2?GCoc7Fqw&{|V}Dh)RYna<#B5;Q+uiXN?X*eOz3?FL zq%Pp%`LbS4|)1JWl>dO%$Q5sTojtq(~;LD;O>qNL@&f|k@8hl*x<@5YEp7VO{QE? zlWe8`+`GJ}qn}as%pEA-ahvkl-0N7S;xjK(?zq@8abCEYZB?r4#)0;1-6p^B7aMc# z&Ka6BD#wZ`v8!X8GNC@AAo*fO&IDjXE_$_fb!^qKEfgM$^A<7uAn>X@zUS@|iOsoed$JjdIYH=Z?sE?Exq+~p7NK38q&?06M)Bd5QM zwDxm?{ygYjdVUwZt0TS(#c{ylZz8Tdc-9c!1YS+}-+ERKuRr${ zLZTSt=QJL%C39XZ+|KzBPuWsGUXpq`rd+((@el0#Ug-EsPglqDC7nGT-&`d0K+mO) zxt*8`yLvj#c3tQ&b$53x!^+))!NJnp-SOb%-fb5 zQFNhWS5N!bx#(|o3oMe-d3y$XS{db7WW3xF+S#((kz$NpNcRNp!1fk8HD)|1(ju7; z0jJrosJA4Ys8vkso?=BUyVm)dSfujmJ%wH;Y9(_YWzxN)Oq)^cvsz{1y%|17hzPV? z@w+!!xo*QmrENoS%XJ&(8(J>hKUNM~j(aI5ke(i}`aXvLfw&q0%vUBo5E9giyD>CY zBNmjPuQUz#t;$zh0+gl)j0LtBD2co%yUy@?*;$@)p0Xj1;c2(8qZHyx^i(Wo2K)-W zT>0vO5Jyq0WIm0Y=>b|PECqR~p`hCU3)~lyG2U^Uv^_LX!%0uV&qPb+NG@g7I^*vR zcajEF_7rHNq1oerg+_-GBy%xv$W(4qdOKL^6?5sKQLrAA~5xQ&v zPI3kRwQl7}-Vxv=OQi4CabeRo;KPxwTTvPOU~fMoXahhKI<8k@Hixi&%E-+T>8W~} zkbfTcxbAb~e*(CWNBXw{Hz7R|7q!4T?@=ufmT3Cx0SNl>d;93$90SH}4bWq0JGF8bIN0@;6+C@6vH$ zp$nywc{K80?Kv-lE?S2qwgVUSBK&9IqTXbkBf#NV;m(SGp%I*2AXSNaFe3fZ4D>}^ zJu=s6;8(B(?#}iEZYz=+qR~^76%R&CK89TGO?A$#6e;(E8&1jv0~c;jQd_~5qzbO* zfyXK_4+adN)KBzOGB)AyC{3^(7j=?-C_G}9nLgn_M9QEO=Tc{ZQ>n6}eOU5dG7+=n-p-SU6 zW7t;QlO=wl6v3o?qmsTQf~6|AY>5a<#Jyb7=IT88$|mG7E6;C<_FI=HA@51ZwG=PC&g$9iEG!5ps~eJI4M9?&wL z-1xAWZBXuhI6~eRp}hBSxN;DLB<04tNamragJ{t6I!>0Oma9>EKN1oaiSbRd zn8P_DlLlLrF^`0dG=@v&iNMkWR`GF}cwrSIov>)mA@DOgZbv$m-mGkVB#!M<_TYP` z(uMEE{QDjyYHJ+Zp`>pOVKvGkd{5)woB4MmeS2BQ(!>N?hFuz?%|=(Z)Emk-TO-2D zap#`u_lwkG#kMUxtOh-C?5`xRQzmVTz>S%O+d>AVz~>X)@=$fi`8xY*P9_>JOL=}< zL|Ai>WZvqQTcnOwz5>UCO82%9mZbze8ht}xpk&^FoW$=q%$1LlxjNnee7BxXO+n^* z67uq?%3enTBy$#r4i3gn9*1%F6C5=QrlolMeVrUHHMtd2M6)9Jn zWxf)%Jp#+Sk=rA@wt}~fa$}NMxIM&cxiC3`({0;B`m=&%haw44iC>728vGNHrZDnCCpRPMAW2~SU9MrF;@asB^tyJTLeD@A$U!az%trYJLW1&s~K&jczb zpN^0>+@@T3dMJ9vkY`4Cm99c`%qNLe&zLdJ{{EQ>^16A--=4V@9eB)+IJt3wGJ8iY zvnoe{tiN6Pd56tsJ`8h+!R3@mJ40q{1%`z`UlNd+2u}e{)g}ia92)`LfkkVQvk*NW zbZz`~1=ZBjB%!lbdHUG|F9KI7A3r;SLq^4KX9$N%l_5JLIFzIm?2HJad~0vh`Vp}w zyh&ND=iaG2v@?$9{zQ3mXFydeQbP^ectA>%+2ZG3iO*l?>Xno}?JE2x;37by^dcQk z)%h(~Mm{$phN?LhlBinltD1hgj<+hCo{Jk!xsD(gMFpgf5sZtVkMNyT;Ad(zd3L?z zw+7|g=WIcgG{dObSJqflf|ciY4Kz{81(WjG zu7oNAk9#8yK?c&P27<6mxdKlGPH_^YQypdkx4Yr1fKyFHotlADokZ<-DAmu$c~Qw6 zWz+KkTxINiJU`frT1Zm<{`^kX*s|`0buv!$`0V-p=-cWRFIZAvF{f%~UhUk9+J?m| zhGY)OsH<39Ib`nQx`jiE#?L(U+NOWqzgzz&WmPk2!|$<|wV`**o;{y;EbKaO&| zV`6_ah4@($sNt5(Nggiwe`aF)h(xPAkWwZ8vnKYcDY(Hpk|@iT3>zx>UpBGVO(6|h zxn)bJoWD1FgGjvGvLz_j-<$0R#s3`>O3k5SBfQxGQ&0nB5G8qdpyZ$D%?=XjEGMDV z&B~O0qa1(mX789n{j76I=2EWM4sUjtNK-WuvcB%k-X)RCxME95!u#Irucpujt=zJu zq*$9bJ3_g5xn)aH?niI-J}LGG@1kW(xnf>s_93e1zk^efhet^MA!gP}q}MqKr3RVV zQBzRBhsxkr?cq0?*+-`MqP)_QhKh!zOC*0zND0{Jr&PT<$h^eNJ~mw+@F(TLSNl7j zGPC2R#Dup4ifkptq@o-r*)ofhHP8rGZ6yUog6_)^J;iFfsW3;R1ad@A3FXKz zjaMW`QZ&SF%Pl2w4#?|g%jYn_cw5ON!6}hoolz3OI-eBVO+Yj@skWQ4ME=nP>-p0N z*7Ii(tc%UHW$7jJrK0q#%rZymiu$Uos=1Q?-^}ci$&he4z}J@PW{FHaKP(}Nnzf>t zbqg2P)s{IK{N0DG^EM=W5NNfP=INy*TWOZ4n-OrnPB#P2C0I#)J?e&V3)_T}%|TXM zv8!aUTghU#lEr$-dtQ%@tg*0dDEWDi+2(8k3E)s-{r2mzj)NBV3^Hs8Yc|;mL|r6X zfv6#r5}?^uoRg&M=LnACS7+ zVE9vr#E&Q?tiLC}(P61a6Y>a?4Wesubj7|-PO4en4(fJH<>ye{`=TOeS5yReB zg7@3w-}g4eZ8aK>hiWpsT{3Qv{0n>yam_}mbE3@_oC*2DCpiwHyOrPj#@E!|$ z8@By6%-88vk}Z$CX%u z3WbnFf^{C~hs9d)6sagH-K}ChzN`ZkyFU`{l9gGQl`T1(gNatcXiG23NY0s|VP?XH z3d|SWGR7BVPIg)9liqBnSx$I9D$(6ix^%R1p3ubX@=sq|fs<@?*z$yl$!`T53V5>4 zCeoHUwWPFIII^A4ycxpVVG=!GJk-l9$a5(-pby(`HYD6@3w2X&qFaY8N-uVZiWVfL z>wKVJvVg6&9HCMm*cYUil{74_s#xd}@>U=AR|q+2v)b~V)sk$vPS^;#lZhD#PK4~~ z088iKG@vj02)zCr)99|T8z)y;3?<_WgqFTQ3U%$RHZ+k)2m~S$LXoK`CsR}>5@=>& zzC$l&M^3lYen62bEK7NvOcN>1i6z+z-O8od3SGrgZH3Nkqiuykku=*x!8pt2$e*eU z$+e{ylnU+g4UI8cm;VpO9Wh)<{tZ?+uE_9k49(J)kpjK)Czne8O;!vsW z=&52V*`Oy2yh%2^(q9wQ+a(Bb#dH3KxXoJT@i`?chzf%0JQe+1=yzBr6br%;kt0KB z*ebF(DaY(mQFdvrYl!)~mECVKB(x0(g2KTEQ6P>4#s)}`AZ5i%Q7lz7bLr^P!-Hx zL7|t2L>itMLWN8y#M|Lf6jC00Cv?Qa!R!FCJbhiL4Pn?&Z9+!8B|xLCs35yQr<-j> z>7}KFC>4hzjU2EZ4j<7P%-#nR^?J@kUsMni9n_fUh{l8vFo{N}x#nyk!;ywH$z)bc3F$O#Eq8=sE|H4H zLnT)$^bKW)dZFo(``KX1;({WfR8c{u1{w{AIUfUD6mCX7aR8jmhOd%;G3QABpCAb# zN&yU|6^F!<=_Q#t;#1VH6V9{V)Z#9O#cDL)qKU6`(s3*NI~ zQ{w2yp9eCMUPz1Mub7S!8Q^OCi3+&?AG&1u1RL7 zmX-^ zuugU6i8Q>NdZo3LFFrCk21Qbgl$oOsxMUC@qB*hr05VZmEXmNRv%rE@1dlNILhwkj zQD7*7&NRKA`4uaw7Q0;F?FjZRD*OIOR7B(HpbZyc9jq~nrWU)hw?wj!kp20wTbRg? z>_z$c=n%R}*qLy`U@A5c;61q+$;DXSX#L1a_)r%fNcb?|8c?or_tQDi3)k?ph%m*7NGxBv}Rp8p`GjM%4f_Rc(6hMr$?hr9gaUvh5kfI)jl7{WLKX8hFQO1mD@o524TDIE!6zrU@C|6r3FFgC^~xcV za%LDx?S=4?Nkzq(ZY%7sB3Tby;bcZLvx!EPoJ&-A0oqa9b8vM|^pIjPGgxg?CyR1{ z=q>qq8M*BvnW12^py)4TK~+#J1RSjtV7KaZJ;KI|Aj^^x!@~ zsHO>Te?m1~5J)p#R?~(zKBa2CxAVDdS96^Lch}||Vt2D1b2*v(Qe)dF75H_?jON;Y01Up)pg_9?i zYNfEJRhq7WnAXHtKr7vn30nTqSYdtmQP8X}Vrc-Qoyts6IM=W_M;lsvub2;f;^eq| zo|RaTcc4A8t_YlBSsN_%b#6bcL9U8nA`zIZK1Sb&Ud-4-q+ZAa7@y*4KskmO#;4SY zT{;$n?6!}i@jdqA0e-o0>;fcgE-3v~31KF_AxvVzOng~DvPj~&kE8JI`w1~ha~QsVbG3$d+GDSQ+nqWQtO~dF+p4g`J{*)rQ#7{}5{7*^0TR$CW{aruyk3NQko{1FfP`1ZD zr3xSfG-Z(BHl^S_3Jl>#+>ii=5{NiZNjgr!ABBMvkDCBZJ|6GbF@SY~-@ZcEN(Qbg z9Np;je{Abcy&|&PJdoYd7fYrRjN`(ED8kq3jy+u+!gg*U?JAK0u$PPd6FmXjrUfMq zfx+RO0T#A*oN%OVLXsFm?SO@G``IQqH&)^S3wok$!cdVv39z82*d`1U^i;q)-GMEg zyeUozX@rO(SwNgJatRSB`It7bZI_u@AjZieCq;~va6vuKP`$#_oD^-yl;dXF93qoz z02dV3C@v_jp@G-$Tjl5Kajl$*Z4;%Zd!=;#k`%Tk4$hXG1i(Lh6hUF8qA1YUYN-z zfv?%by58>er+$VvO0`jEm}}IL{F9MC-taMJaRdC8+%G@D5QnFii*m16aGx5)4nU{- zC)*9{CX+-gxFJ#Y$K&pwN2K4Dzz!q%gURmQ;8&a(^Uy@M<;`;m?4!PPR)(p#sT0xi z{pTMt93Fe~UG|sK5t7wplCgfn> z;k3m3z0dpTEms{FZw$^=8oHPmE*qZR7&?`B500FkZ@drh2s+Ja$Lfkj!THbjKyo&2b5JIqs|6alhh@`^T#smvUawA&Kzc>LnbP^0*wAFqh*J z=5$;_G{=3_<+w!D9G4)c;}YU@Ttb|VONj2c1iCpcp)SWIEREb1CyL-}!gUMk8tN9$ zRIWQ!JI`aksK=3-(!uUNTQD>!X?R&4!ry;MtdCrz;arB~e-mSIa=?4ax2G!EXG-C} zCg4?5kNoR8e82av;rM3%4h+z0Q!>9|ZbL~uhDOQ%RmJ*kY%tf}R#bOe)nbrPl`Pa_ zpHlJf#!()teGF=E9wJEr4=aYRZ}omnV!h>rr<8`T@A4VU7#=W_q(u=ne$!KS4?e#2DEstTf zp11u8JaJ?#gQ&06_89hp_uCS?$&m1o;(e~(XC-50)Gf9uYtG&6IqUOrIDl9Q)_+kF zzk9^{&k`GNNZ6r#@ZHDWRd_1Zknppn*C*O}{*35WkOp~c% zb|vA5`JNv)qcg+nZ-wv;2DPt^9VhV<<%DO|b2j#1uO}FrPi`$`G4;A6$e40|zULLp z|EDA^Uj-Svl(zG~vp~Z2#Pkr?J5qfzkS+9F@!gv+hAcv7yhm13g4h)ALlR4q1Kw3P z1+kIdv5ZZS1722-2C+)>Y{sU^0qc$Gm|!-+`+de1$N~G+`-9m)Z@bKv$qCP?`-7Q% z1`g(6kmg(Z`WW&uC|(++koIVC3Jw&LMk!i~^WXkvS&sA8Zv^DkRyR2Jwmto_ByCxS zwmsO=bYUawg~px7*-9^?H$cBJWwMnrXPHY7ad z)yI~p&a$$0j4FkGEZY1G<9+c-rL`w_uxjE*7HQp(Rnbr(`TH8=IO0}Oi&I`p5L*3N zW?Rv9pYT?W_Kf$x+xx2gw<}vONAo5gk8Z{y@5K! z(<#J$rkWnZf|TQzuVKu$j%HHl9q7q#yZ28;pLIZz4ysXo*c#8rsKXGKAL}+oy{sGVf0>oCnRJ2%*$4jr zo0ZU7n3bOS#jNzKHY+{NXQhX(o|XDsJuAJf%}P&cv(mj+&q|FnD_KV9v(jNnv7HK5 z8~xe**#EoT)$jdTK*5g@xxJkO+YvP?fHfBV-(0SGG-90*o`dz5;caGp z>_)IOIa#8=9afJ9Fh_yMTu*~*Af`i7^qx^yD0)b(h+@@!_*@{(HDBW~NE2dIDH z0qS410JR?vP+!pk)Jh(p-lGSo*e67QdO!V&HURLg%0 zP>b{c^%M*&+NMRPy?J!{ffk+qgn|6(=(PO5MW^Q9 zY0>Ek)hmpxo9S_z;tiluDW0QsPDzGV=Km*}`7z+|XJNEJ3oB3c-7vP+^Qim;9xm#H zgoM9pOV0^>={doD>1oDr-5Zn7G|h`fN3fdT(sTAiumDs1-C+F|52=07+j&TxMttt| ze5G_I6|cF2BPQIZFY&+-OT6d!63^!;ZHZ@O>V45{t>?3UI}DMCmp8af{UP(;&rN+? z0RPlu8*j;Q&INYqErCW^Cu@x&gBd=@)zx-($8?XIeKQ_PJvI(q`LHgQ_W(YoJ%C=T^gRG9<<+P-c8BNOUxxC{Y2g0&AK!{& ziwr(6B3~yTRL9_kn&%ALz;J6ey5!j?!UC9XpVPtG;{K{5+3sd>CBK z;7T^8htXI+YB7wy+Xk`qo=?%|!7eh7rs!yTuo9nB>ZAmA`>h@;7LO&w@_Z=vXC}_K z7>+RieG>DL44=AaZ9E3{aZVkF)R@7nG1Fst(;#n4F=>7;T#lSeJu;X*!_w4-L^hfo zSN9~cdp(aToAKyj^DJWcbOL?*q|^8B@XbHD>Y^d+UeBE&Yl@e&oCbjxXb+|rh5+tc zc>Y;^>^gS$%^p|ZHx7+Hhje>m5Pkn6gT4=C()ZLX`i_K`;B$-&5v4XpF{66l^=!W9 z5xnn0_{goq^8SJJeK?1{tMGOreA+bjO+&zbViKG0c}>dig-1h#wnl2e;?M924?X)z z+7pYh)?K+IO0UU%z2$`yJ+@af_Nz|Ulj3_L=zGZo+_&M5N}Y$Bs8680FvDZUDLb)r z!~RgLb!LH^mf!7?O={CnHrI1|Z`p$(9eX;l)?xniy|0kIe-9WR-QI|xO={6FHrI1| zw?;AP2(|-btuJH!8*8ncMBgiTSL)>7w_#5gpMzwU0M$2zE%ba~X-i{L?mFW9VJYW^ zmHJaD?4Bte8@Lq1ek6u{;U9-+IPrf^V!}Vb-d8<3iapOCPamyD4`*Q`=}C2Z&jHD< zUbGZ9=BzJFmLz)ay?TXYeH`#ig6lPy2EXdX1gnd1Ps6LVHy-9zuOGo89Ume% z3b?GSY;o0+r8UrzgyAiwSdz8Me3yugkfrIw3^#A*RMbfR*-YM4YB;N>B9XHesk4!q zYq-~7J*l!({4~f(H71osuqJg(Dr&U>54;zv7gJf>EDqv9|2Ie*%|2A4TFg*FS;C75 z*Xly(P@utg8U6-7MJPN&lU-4Rs?nBKIFb#oK{a*NNEQX*4{QJSjb!hc=(PeLtW?+E z$YRnp7%wy-_Acpv!Gh6E+73c>%aQbZ2*(X$YNc;)WZ@37w(0#NN5(AS7OGmjxNdRT zGVEFLb}-%l)=y(d#WJUYrQk4Q-r|a7)eS4kcy>+k(VR|Jc4qAdQt;0P+e*p&7hG4C zDw{y%Zi3@E3u?kSU6RhDUNh2ji%YbO*rp-^S8{H3O#=?$F3BYe;f zL%=Com?XYIxU+9O3T(!b>e~E@20TDZwO^)FhPp@-iByf9|FRVow~=VSG#2Qf%sp6z zXeqeIuY2expanl+u=q;mzu~&tf&YYL!~N(zD2~<2bk0}vK>u~ju<2!o6s#Jl-q>Y{e(lRG$PTdm9{GT-T zy4PvAT&en8I*Ur@AVxF%pn}uXZ+QcruDSWc1Y;MSI>Taui#7Nrzy_5%qfZ8gfRk$f z4EE`C(!$GtZf&1lQ_)b}u(T4RmPRb)L>gtv^e!S&aO2rNeNM&V#ntfKtI}p74Gw%- zP0wY&ALsGtPA@E(i)%eI*5LjO6FJUnqO?kQenXw!$`Xq!6l}(wW~{-KRW*C*yaGIu?-V8S@Hh8S zwX|A!K7Z3YVN!9Gldykcv%*v|CDSEGBuAPhmDOVY#!n2a^t?*+CK`IF&JL3DEn~Ax zlb2M?tIDasH02T|awYM3R(FCjj~j|!gYyP1Y6i03BvZ!HC0B_Od9uv^OSR|)JoL`9 zG$=go8^*Fs1yu_RDr!+RSFJ>*XLiA-Iq(;lgBvkI_6?eP{w(^jo%J0`l3|xEC>0;YOF8)#E%_#fq|= z8iY;$2SCM}fb7J)Q)T7w@tOj*$n&v>-sqG+1_P}HHoTxl7qIYXLEC}KRP)=3*2PmK zX}@O2Q!a6p9(y^xN@^OeEUa9|onp+_G@)w6Y8Qt`Rx%3Qp<*)Y9#f_fG>gIYZ zZvHKJi5D(&Z-~R_H_tS=1h-_9%kqjRIsHUrYS%>WR*#Z7NucMR5;`02c$y=bYameE zJdE`}D2;o`z}7RX!$AqR^rq{1ikD|BRoe=g$#E8K zO|OxjUc8)MAcMJz-cI9XNT(U8czIrJWfkUNjYhAW2CWo<@}eM#;Sh_E1ml?Opmvbq5DqAll%$u)i9hhBh1P% z3fnkJuL)=MJaEzoIMM|I58il&NRC(1P@rX?mx(j=PbDn)MtYw(tJnQ!d{sjc#a|NN zBJ(oPi^km(i+Maq+h<;ec(qR{iwsF{&w`uVbez=7kf^4YvVi^sCb?%QUY?sht*Bzo z0^GH>4xL7PQq&ctEZUJu*{=51ksw~}tv714U-8z_ND(#BPQ4rge|l*;tLI&~taw^k z#^fCQP}o$G9EkqG^sWG3G#IYa9Y??*= zev40tdf=3~*KBQ%Q)EemIDG<%nJ!5W5Sm|AJFfv=NuyE&2yP2DB25H|&A~ld0OnD-}qy zqqm>U1i{UqG$#xPi5oQ4Wly5#fzCf}7WF)QXoEE+XgxXrS|3v*Z)WkM1r2kSyRu&p z>aOfxiQu#&>9ntx`uzu(dzG76D7wY-H?zBcOPn-rCM%bNr>l?6WUmeCL6c#mz=EIE zb2ln0t(aYdNwd!kp3sN{s`qK?b!$D}>!g=>(z`)-pvDxZKc*(l!h%hZFA1~qX>#o? z9?vEXcwJ~eyi?Q|2>u9a@03mYaiijjg$rrHCUQjjs%dd@pz2%BZu7hz^nTJilQD3R zoF5s?-CBkpZxrOwzWUOMxO;vlgx-ppg|I(92;9GB><|;Rz`UYAav(90YbL$xkblh7 zy|3XGAhpO?SndSmId21wTQ9S9PQiRObcz-QRzdW%rAw;H^f~vSWNKR9OWtOe5H;YV zHKXT&4!ubBC0wn+FaQFbI#K`3nyQLgIxNOSmY1paJkWV?HmmbI&e@GtOhf%sal(k= zoWVkr7UziMW5URGigN4a{cFE6vQ6tQTjfH&(KdCJJ0ynfh2I*u40p zkFR#r&C8IgHdiv6H=Tm>GOSX+t7O5d^|aZUevn9ZUoD+}%8u2mV{tf6l+RViR5{b> zXYDBcDW7m(es~TtiKI4FvF+C|k*}7_kK&4SKQ1-)kN6E;?*$b#3oB}K_@*RQbH^px zG^f1hVY2E4bFtex1RLeai0P}VYwPKemAK=Q571ezrQUHkP9ynEIUio|u2l8tT;}ln z?k2sd_`L#jAH0v&<;q)RwQ(K`@^PlBo2pqzxO9soEh4?}g<%+P?P%p3ZIZ(Oyn^3QMb=y!GlPtJd7CCRr=#>`=w+Z)l>@8hLfag z)QF5@!8YE$D>T|IvpCa(D}BOxF_B@WrqK1I(5s}u0&bDVIEaVK_Dgqj5XZ*%ON%t6 zBt*yLtDYN*-qJk-7roHd)ozc=Sl6qURiE%)OyoGC=@m+Pb&&@2@SxLUzv`pjd?(HW zMAfp}J&#D~9pd(pn3AEzxQ#M=R&CnsGsvHb1mC`zKS*lDo$%3XlR~>#Z{X?|1u3{O z;b&5t>sXljMJ+S=i9|Y1i%%$1f39Vle#`LMRL2JQ(niGd_?aW7Zm(k@>PdXzHi5K5 z(|Fq=_B+p8hu*wCb{e*1qupC)hXEUz>cr(fHVYFu^3^ZvS)AAV7`B_$>lZ-*+al)6 z-d6`NVl!E)O9{^-MA+W^0IpUjF>aqab}@_c6|@>yOD%tqMasL&)CqU7@ZJSDb|7z> z&y8qxiS^tk=w0+b<63Tq*au`5VN!d(HHTQ3NZ6p>wS?JOx%%u9cK>f_D9nTXLN4+k z61OukHDO|)Bj9{mT-Ct(d%X$stykAHun4v2F&~r3p9mW`!J99){oho-0~elgGtooU zq@~Ql@hu#;WL3=*Su2*Z=<7e5O>^l%@{IalKQV6oC(lB^k%j4!&Wk5n&v4QSPMTY> zpsFmdq%?I{a*|~IiKm>V6mI16>i0|8M$hd_zX1?A9X&q=_C@$O+@yYWn@?aM6A8_t z&*3x@?{#6HTLRS3Wo)kJK6D&EEHot^_XJ7U%WC6oEW%gN4*tLTP(Mv}?-gvJ=OF|C z^@ILcU&lf06EY6gm@-T2GRyE}2Q3ea7T3+GT7rE%k*^J^RMTSsw2<||hJn6{e0>g9 zk$u%;%UM6_(@8F!JU2xO^f`#D9y*PENo`)iVv7YW5+bi!{mlW1O~)f3P!#+7lJ(oU z)WOPUES!zk{_;)3yOCu^wYHF51{j~j|3$-AX!imdEV3Uod_jFVebYC4|$ zR8OpCD?D#4`ehA&T=PlXPwI=SSU*2O8;x4g$EX>5TO+Ga^EgtWAMv<^Yaa=?Lspws zv#5cBI1>`4XVxvP#m#oHL0pKTi;Ml=ka-^0K9YNn%&MKuhiA(cWYggXiHS^G)w>)l9xGe&70(-w{3Hoi)67O}mHWPmwOqgI&?c02UW0*)d@hf(`33gP!T*dD3ygvM=VPHFZ zJmh_=Mz3XI7D2n@$C=LexIt!uA=$g0m|~%y;%boWEPc5k@zL;1h^zEAhrHsfi}?T)sC~R+y6`F_B@FCg@t_ghEClu6C01FUB(5&+=5=QO;ipgNX$VlQ z0T_a2XyuFPMFd!Z^QQr|nY3FstF(&i>iOspm?@c`#x*Sw)96K+rTVDd-R)mcbQ!fIToj3b|j&3F3IdZ=A*LjogGaiw~g@`Y~eJIC;m!|`-^dvCZoB&U@XCexBTE}9G}BP;_+ZL`XTJ=_&mUBJ%2u#em?I` zT+JlnBxBJ+1g0;M))}nc*Ng=>N$~t>oqpgx3)dNvaFH>KEqlQfDN*VH%jIv68W;sHZzmHDNu%^0=zphk!Knt8opP1J&5S}-)hQ(Y#{c4oU%PX zt~VcY@5JvXno}SfTkZu;(VC$}`f|0VsE;d7fE^G!3d4IIK+>-` z($C#mZ-6GaEi=}sNpTfDe$PaP-62{4d15EV18QW?Z_U$hNAAW|NwU6U*gO^n$LoCI z!XmvD)~?nU<3EIG_w<}%Js(HuCoHKU-ypF+sUJSXf)fPIinnx4!?6I|(V#sFR%9o~ zDhDV|r>WL3w&J%8{MZf)Q=fa71^K>>9^qx^)p|ZJ(658OhN~Q*ADxoCXfUZ2KbiylnMlckK>E0eDfhTr($A3&g_w2{ zgZ0xV20jv`Trm=eOqHQ{-UWAjo158khsUDmH&Ctkg;eZSOXGSN`-{P(?Zi`0*6Mr)k^GOlarcjG>v=QM@3OYjMVg#b@7vC7RzW+Y zOK`Q_LXT@ozXLlu2t98k_@8C$ac52SJ-hLE%t0ISMAlQ9SSgTurso?m`4G1m*C7)5 z2U#8W7>n}}#7=d=V|*jR>5rb4 znAa2Q?__qA3CGZeXOV7Klb^sl#xOchc!GsRz1P6E5~q`&P)7V-($YB%OBcgcVwb3E zp1^A&F@Qgc|9xoyH*DJC;A$d5ytdwdFc^IWN2Ei?AXM9~);`GwMhn_Zn4r42YF>I} zC7vU~Lj-i5b(GdCqt|uXQoGP;iv8=V^rTN8@Z&R^3dJX||k^WoFX zjN1;>0G`Xwg6vmt9fN$b!%UNEUE*U)Wg;Op{8w6G84+D(mJ!hh^>Xbpb;wR;lUFQL3wE;XjJ=rhl4!~k_iobX@Mqw1meKs!#-~iT zyE>A!kSCm>1a2c9?A%f1ahIlF;4a5?JPjtoF4OO26W+u<;)+>CllXCto+W<{>knlQZYf*LfyFQ4zkRhkK*|6%M87zL6a z@(BuLBBjVFW4Wt#o{z_Gpk{cXxtX419@jzlE{m%c*5QFQZ8#Rm^$~noLgR7I7Z_~c zS+0(Ik%h?^d}qAKV(FeL4Zh)54!&0edyTt(o3khHX7;h!Fs7FQFXMwd>k1VwCp%+3 zT*T8>{xVIn-oBcOZBXyu%|g93uNC@WnkX*u!eCpG!Ko4~e@{_`PB7NOO!?VaWyO3AFB1FVRE4&RfBzL$Ui9arkVX1cLTzDA0(?eu3;^+=N`A)P-g0bo*cr;*slrKzs0-b33 zX})l69=2YidW)eNNv|jMnq;;_*A5TG3gtwW4Wtl%SeC>e5-PcC)SDkL^#9*fB5TnT z)Q3r>O%%j&gW<_rp^?aOhBT_6Hymna>SuF5@yIP_>a87m)O5O5EA8uz^Fg@m6Eu}3 zX)3uHN#w|f3hpYc`~OO%%}|GgE+>_6erU9&Qg!XJl0}QLPsD34GVLO*YUxP@YPwUu z)Ty`bO*YUFHl|d4!hm+u5Ap*n;If; z+oS-Z{vfj-aQr5H;!r&KbLI1UBHv8N3*IdIqZk4)v*CjN+9hvkI--;aycG32+P)N80G#pM2(};8A%|E zNDgE7aDSrHT*;a9G0as#4ilLY-36xu(LO2Yz}i-+y7C>i)bq+Fp`vqft%nk0Thx

ey1Vp;&pA&P1{-Y@CFwp)>1>T zT%rPYWYs@KyaJxz-q`?qn9v*QC!xh#X(6RoKnqAja;19xVHTPx;&sYH8Qk`>rc{xc z=TE03?Ky#~GA!VC>!zticd;P-5G#-BrAqbr!|e9o64s}@%huXj)=*fFXc%iOUDu&` zS^3pV@Qmd^Ud(z-jup)0L&NI@3c2noq zr7z4wi_%t=$htK~o%9h4H9fEvzf&2jvQ`!(OR?(Z_gL`t|3Le=xhEC-5F|E3=foMk z0Sf=5aiu-)FZ7}U(&hvy{igb#zv6)aK^v|59bsW1q}<9_xZV|ee|Y!p5q2GJ3zM-t zAKS@L>+&#=q8Z2a$gCZ&vU1e=L|K?f*}|oJk@OqYiuYM?MPwY5z#b%?`dr*_g)%*) zp5AG+orx_d)<#tKC*s}*A-G#635}2~ZuY(gGJQ&~(T0&XVQ(7O3DjlmC#vHEX0r&| zv^d_vyc)0YY6Nf5t8qmQR;ukE!1u1T881!130^$dGJi76c~Cv@Aq%$%+A%j3CO+8u z|CDwv05(-^+~0ehGsoU%1~Uw17-ldSa+zUXl_3U-qd#}CrT6)EX z$(TC&ufg1MBovuPb&a+xuzt7e(i-H*Z#YiErHqgG??uQJCCf{+bLCZ@yiczcy@QeR z6b>pD^5B_7p7FW0G6*~M_Q(M%qdk^WcZnSi_cIo0p z#al#4qpF3=r0sVk%3>y^sos&i1PFRZQp4(G^#tDT=v4L+IMYYoM&G8dnecN2j);3hd|kx!70OrYqlE{Wt^#OD z$U!NDzfFM^7gk}U9)?5p%rzmWUolp{{o!_=h$$nx;K+xAZHje$p3^Do!k{aYY;wuI zRy-_|*6=n;z3bxLj_MOi-iM_R#3WiAJIRT6QHo5KqUchTdO=dq+lf-2PO_d+GyciyI?7y2u z_wzA*GGDMCqsZfr>v<)=_Al;-spUA52f=TAtlf^@%QX&qFQ-i0ber}aPnV5>Z#sE9`_F93(ToE)M&`hY%}jqI+{5SPnK2D@r8z_{SnJi`deUhoUN+ZL zf}F0|Vy5_2zWQgqHa^{3e^Q@Y@|>tVSTn}pI0Pp$&NKZ7uU9OPgIRrDvuObudLJG+ zCmc(YO4EdZ6Vj``0YPlQtqzdcpSMTO;YWYbJC&kn^sESe%)@HXHfA0^?Ua5STSjVd zh1{7r7+zy*qS@YvfY-FbS-|g!NKhFU1l*KVrtdbzi*IBhJ|i1}p&4D7Yzg(e#~q>dAV+IS zvL3@H(z#>AopzQ=f@r{m@who0Hyjr^8bPT*qEQ9;V`V#Hf=B0$mrH$}Ls}xtq#>A* zD?%Nv$N#C%691PXJByl5CGl)7P8T0~>@?)*V*XDDZ0e;egFJW?RO#Oe2y$TCdpOog z9YG`Ei%1@P!jD6QU(9V5Ng8@CkkoAM>=7Zm(td!UpK+JVCb>S$sP~r-TiOJUsuRKBDAfK1l;` zw~k}>Fu3?Q(=SDP_*mVHiPM#4Cpm))Hmb^lvo!5HAU|6X?JAJ!oh80<9>6r6!*o!p zc++&TJlzuTlu~B-6kRFL1Sedff$$^HTQdmo8_1*1>rb^Qu@9G!enp%)zC6@2e&E~B z>y@&ot5@|y>B`2y*GZ1LokAF}vMxQWT0`oHYW^=CorO1);xg&cl2DIQa3PU49fLg@?eGXw zj_6{@1~lYjE3^N}qy0$j6pmu@2rEW?Udqa&o*l&azj&ZfM$@EAIXyd&LYQcg6VVwg zgbLlkpKbNByx7Ca{V%yhz0e*UnfJpd?2)y_BYkQj+)?_K!8!Eft-T8)_xA7xSM(Nq zCu7#8ZK97Xd5x!@ih2cYBs{}t%4crNGwXt)bj875#Wq4s3a;87i13Tx8&6|jjzH&G za(Ae5U&S$y+(CEnoXf7@;=6ZUnbapY?7sVM!obJzRGHd0Qr$uFZFZwnji~ajB5&3% zx~5m|szf7$Q-6an3p16m(l~vbPuKb9q)ARzpANl;VMHNJ9%6=6tL!F*6L=w7Woh=)R)lqD;S+W zbQ~HZ`Kb41RH&`^^y_+I$*;b&o_7I`4Wr=c2TWg%hl?DSS<$O2%_ZLNhF-0H-DKpQ zwV!O(s4;!UP8c^-t$$k)8gfZ=4tj65#*cc?I|Mdll40RFr?Wfw>YI8@g*7A%Zl*6Mi~c^~N6BaEUWN}>aV#c3 z=CXzJS;Z73+aK)54MOpPhpN+WK=H#$YX9g@mAvez+$gOxNIL^#-)lWyzCGKhP}Qog zN*kFHlpD4A2Re)8I~bc+^47KisZlPs&BNKEcYM?BL8ZvCdPk+}7@Xc{!r*Kl01+$v4rUhndO9N>Pk5+*o%!4o%h(0ccUi1S{@o|Q`Q5hXy$Id>ZD$S z2lhKEdF@<= z*W6%tN?uV4;mQgeTP$~&z7lJDwZWRUEp?@FH@2NhaXQt26v0kahUi~Tl{}B~;Lt1_ zF=MPeD)g|bZIrBSz@0AbgWMVQZ+H4y?vP6Z>CvsKU2Y|>T6^Kot3Ai^b|nzpgRQxU47g zGA0{c^0#06k-`xiFHkBNuYX6TBChW0=0jIzI~&uh%<>D5;pUMNEP0(NMq-z7oS_77 z@Lu7pLKP)DWR-?>Um>p7e>CP}D&yIek}7#sIEiF_!_hV$N#VA6zC1TPTiEwCy0X&n z)$u4Rhi#?x`nCcT`0;m7>j{=8CBMX6hZn3B-r`vH?C#9!+7p-mh^Md^Cht{-#gw0=#5wJ- zP&rK*7|*AaVb&sG3AgFS!*F2+j+k+9V=3=dmPNN!vQ;WQ>BecrIk-_0WqyD}cz2GK z7q!T+ZkqNn1Y!t-_LM7mHOPZ6<8Ty^KhH4zZI_2KBFFli8VO>$(KHFR%{~XSSfXZN?N+|ielT9xvAn+_}k@JEKR|IJ0&lvnT_yi z0o<7aciMc!^pCMJGL@9LFHqVoDs}124aGrs2IZbY4}6qwD$knng35TJq-_=m&HO7XhV(0BUcULUI@$+7HOX*}gGjEhj3CC`S#^szOL^a&^x zJP=K1Uh7%n->*vombdVs2V`_7UqkL$C*F&cyXCF?y3@E>x;NP){x^1QAb{vyspm1>3oF4jd$m5UT6A2!$YTJzh6=Y*|$EGB~mQT zBo?PKha|zbs}q}Q;%PHbDN61rUR4|Qa7-abu~Ozr;izL&R#~jOwWq%+Pib^EL1g9)_f4Z!B!1vQ{rdhWALydva=XoW*q0qaV*wH&)Z6FG`nSm=q$zZL7r+v5=4#~ zAs*UOgKC738G#ys@sVCJfd?syM8}>>Tu)&0N`5Bma3(u(OnL-o@(!O;mBnPy`$8oj zcIz{l9PBoQ(6i8K(Q8rp#!=6bZ$(pYGn4niEy~ct48R@sIW}Qfko!G{XdnAR1=4kq@Xb6pY+3Ku{Hy#GoFX1+GiE0cL z#T7W0@hU%Aoz-ZeWc_aK)EI~z72SIN&+?%1-gZ&NVb%ui1DN$Fa%eFxuEDA{Q?kNa zJF$_(>S@UuyLlB7T+4D}Z)cDu4_QE!V;OmXi|Rp_)vH>AG)lMo)}EXvad4$!N7DJt z`WR#k)S8lapF7bhRYaa#Cy(A>`X(m&d223{Qo5Vpvf4D4V*CEA3TDP`#09lBG{GHC zZ#OTlh}h0A z6|rP}4a;#n3f!LOJFy<}0UVde^ADN6xJ;Dw(M90SM6)L7D6^BwQG84wx_~k*kh5J2 za_|(RMMl%r<64O8JU@w5E+fuBcHwci>1{-He6fuq8?!0tt>#PN)^{`ZZHF?bPhQ#O zJxXGry!($-g8f=S*tu)x zo;@av9-@{)eja|%UPJHHV+j~~xV>^E2hwZe5pNoD3JbFQ<*{-q@OhNd?+kXRbjw>f zbhQOO`x)i)x!Ip~X}U7m&963OmBXHg3#WN( zBUT&Rd{Lg1yeOziQ4KwbL^JmC;zlgGv65l9%2^bRTM4u~bu{~Va3Q{xD4edztf8Jv zAK}QxtGqUA@f@ssdi3quK|Wh5Z5BBakgI3QA%&Xu7Buv1nLlpS z*m0xk7vL$5Mz|IQ#JHg(!Q)aee!>tT$Zy5-DziAt?UFA+R0Nm5$5BLXW5{5vhp+aU zvDnH&Dz@7^^~B){wcTDZRTjmU73$z;Ok4=LhbDI?SVa zPm}t0>C=hk3{DtdR*MuejHlpti1$xr|JB|W=TljEy{$hijaAfnTvK*T&*nFpvhjKm zf2bKd#|kI%A?a*0K0U13oc*MK#Pt?zDBCrak7&Ur>u!F$1$&TP@%nqTWL}+}n#>2Z zVl(t%{Kr=8&eF8ObeQh?NAu_mn?|)_Ez#eOZq4r0oAQnH=M{dVHS4Bt;$1UXH-mN_ z4s*G7@vIEi5#R3}hcJr19YY+AC<>3J>o4%uZCE3=>@hy34eM1g%? z98Wyby3vO1(+&PrTXs&*@_*QleWV+-+bd%Fl|R*i)xp;l>pQU2aIT z1sBFNSVxxY^VFsY9shAnEFTu-3P&QI+OUjv<>SA#D9zH8c34&VXOt%z`pUw_lZ3xn zI0liCr>fLcs3iXp?b_@s4~KSZ%Rg10LXe0di(o^9yKD|TfMz<7FB z6xFew{A^b?)SzAK5Y=+t|1Oqo(8hA0S=c3+6&kb?9Ow-1+Ku(m*HJ2oe92ub(x7eI zpxMd4>&6D@b$QE73`-W<22r%R8Vs=a8f9mcr!rrW$#U=N4H)EUjsI@Ytv@bLI&y)I z1UkaPC=1k_fb9{bxHrSwj&Omqg|L)G- z)b&Yxc~6#^NLzV@F;}?diN`~^-V%v~d9v|ekEahfix0}hIA&HBdzYQe8mKB!}?s4xHZZdToN zlgD8$PYWK^mleYLmA>pvHhVa~^By*jZRp1j+{0eg5BVSIhpg2#{zZQ_R8Qq81K2xg zaz74Wmm%DLFUrr$>kni-*~+2(v4Lz37R)jRp;_kfDTCNtJ&7Clp{$d6zxzNMKS?x@ zr{=JG^(_8u4$H>0@}G0qqi6)VgOOAW-#8eN7Wzx)vgSGh-Z_MQWzb^c$hmZ$Je-Z@ zbBD6)XrQx)v8DQKf6{Q&8k5#xhQ*gU?>Pi7$2W{%@0zqSGGtHdBG}>kSvp#Lg^_5< zlXx!uN%XHC$vWx!Vt#QH%h3yXp9k1PeWd^M2UsbcZD`5&KgfDRTPF`bCHsAO%%j8o zS)wA-6WCmKrL4c^!*Bsv{qjV1KjL#uf_A3=%}IzIxmsy5 z8_Txz_RpTo$}sE=#HS#EE&SRP_NGbeA>n-gqw{B`vJQGAKld2UaT;$q6@M1+C-KMH z+8Q=H_|sF-cjfVTAM3_ew&rU_(yXg-%;2M+XNLbJA7#rNery^}d>l`ojz4enXX(!- zev1Aq;B9BHd)OH-e{lx#=&=9H3>26_OI;xT3q0xx6hr5k>|*^~fdbCs zcg~S{netuJRpEvX*@IlPm@4YdBf+ROXoA5V;>-6GoEK_ae8N;XIYrIhO6T}7)R&$!!s7JQvN>|u+}=;l!Nt& z*%(Cp+9EU_jrZj2L46GWfU~9SYz`mz0=rKy;o+vi{+%zP zb)p&ddYR=Y!Ojlg576KJ1Ni18 zIR8{$;T85DcDO&^^9mba(sVOih`5VaU&8KWrv~tcm%{q`0KRJ}dtXoYPg}+kb#^41 zuUO88u)W#b`zoBdoXtnP3cKQL{@$x_Vgux_L4FnT*Kplh#p}M#?llVOTIzDG=E<+4 zap&>l5VE~JuuCHQitTL4%dSA!{Vn-W{59y!FN~M-s5eS2CjB?=*rXS{{nAIG123!TUSe&Q_@$xMIex6w|}C#`u0%EO$kVma(megDu^ zte1|W+PE5(D3RA)gJv|Ff3XIQ%gsBjh42`Ee=U0wZMEGxM6{Q`L4Rg&b3M{}fe)uY zJNb_FD3&-L`!15q?+pQbX$|HEy_h8hRKk^>@ z%Hqf0LtinNKjvrufj23eP!K1p@n1HvU3xYD>i5|Qm)?&@Z)K0NqD=q%tt`obuVjTUc#Xci#P$I=M(5&% zIQ=l~8YeXDb^JkI7U7Thj?B8p)_x7JHMJb1)xm)PZ)n5T&y?oyZql)h>sf4-Q2|n<}2}My2 z2h;Yxjb*CvukARbmGxu;)S4kKrmcHN)3Btsw%4|xS)kg_VERW+Pi%vF4IrM2I*c7R z+}bC=NM>!9_ni_wkY_DtZ^ee2C>0w;6@k-{k&Ad}-B&4aZf4)nAr|Z0 zSf#(h7F#>gZ{;Z`jmqIG*JxT>B=jYQD5k$`mgn6r8ea3%T2a|P73uX*$mR`Y3dKUw`%jQjjf%)!Eg1*XiZ)0~5Kp*Quf`wv+3?m+ zdJm}}f)60ZUf1bXU87yezZHTM>`#v|WReu~Wj`BL^-7C=F=F`kfqE&uE&dtju}WZKGYXgDZ47;3a-W0tj-@qYfouSQ(is}R!e&r~x@t>vuCfeix(I#g) z+T=UDL0v0kzfZ6=pVHAjw3hA;OE(h%Ql*Y| zgyqkkHoW1RP~j4Vl>fucDttRh5AVkIMUbMq;}0z`EAca@jjG{iJ`;{eX?z95tM#-Z zFWw_uhHn(0vRnHd|Jt$KOt3ru+6;DhUwdg8*@b5;v-kwkU z9bM^2qKXD~&?MbFi)epMQ{Q0y+f;jNes7`cA?>==#p?0A(HSF7@5D3D7?sVuuSF&O zoR2+YR5yoxBQE8i^B2z;HOmVkq4 z`%j4Aqzm5p3X z`HQIcTlrV#j2hvme$}*T$Xs**JZg~{W1VXvf-`O8X-z|sYU_EOVgzjU8~lXjHr}(? zs2MR3^_&8t3(U;yIbLPTRj#8}MDg8>e*i#&lCatw*fU zLP>~0XKX&M9pl?B7_lxFy5055%t{q%!#0po?nLX;fezer5p{O)HBpW`c=AP~mbnEt zYjnyx_2Y7rfvfs1Vl%j8aKWG>KyC-pe8^2r%@%fi>;@; zwuYlE{R6h5ckV=MjeDywXiVy%WoC3d9?VtDFv!LRG{eVXz_#E35C8;n3&` z#KP!W9V8&7@?NSvKk}DRty{nHf%>A^iW!l)VSg})Xu;~ zxXn7|bEvHqtL@P1@HpTM-5x7u(@!K_SVgy4>Dm{eQTg)MyURimC6gGz%7 zp0GI>{7jGGe6jC-%4OFLOt)SoRpFSU&~x{i#=$K6p!7;oeE5N=4(#r2i@t{e5jQ=4F< zg|uk6I~JMI*6m7dxWlxQqL8=oM{gKa%xNtUgB8ir8%B&dt);^4H;l@@R-(_PI%{92 z0BV3_ackYW4YUmc>z$F2sFr&(bgS2}jc7eITfe`}zw}r&jDBUS<3CJ0+*Ua?@*fPt z9BwDB5})yT{~+VF4x*BM#@GF0RBIT6T&MbhTOds=xWH0x*LttGGXplf8A}wz6hi)R@p2Zc!s@l-wOWdGk zk06rWO+i=Dxl_i7(U|e1lpV%E4AN0wZ)>rlkge|0O}B0iZ8es^p&#yu%Oca-X6n`h z8Xk5uYq6e|q!g`qN_TO&CS71P8heTkq@pes_s})E7Jjxc&#c}sJxkZ}i2|Vl6J;Qg zH$E$S;R0+0`M|7f7WEc6`PsrFX1wnVhD2~Nazqd`Vk2tHb+p%DBbu*9KhX_F^wqW5 zL6HP{Qt>RX059VW7<`H#)*1!0EBKh)ybgTnOJ;a1#UvgK7NZ4HcP9;LA&RPv*7X<7 zScP`ZxuT#6IG7fBuW<5HenvN|m)XDg+S8OMBLRDvtil ztZEL<(XBy&Pq~ko)qHt_Mb;}ndUg1@;f+4r?L3}7qQHb*0 zJ5C`%y%xcnpupyE?gb8PZzn(>Rlu9?9*1CoKpPq z0zX=ogo<5 zAz3r{S+^N~$Kmm!dG1D3&M)eKns{#7T_Ad*-8?<=ZxrhyM?mb7uj)WlCGgKBjBMhWJls;;nr?`Gt8{gr^}td7N+5P&q`ng(6H$nHkBN&5Iq=H!W~HX25>0a5)PPEa4zxIttCxK8R1m`YtYsjD z70zqZMHM3V{`L6@nTaHlXV?x}W`QJxcWoaR7dI3fKRRDN#EbjGyqUU&96~YOg9dD# z#Ly~rK%er*N}&gecv9iAQf8HuRCFD~NQ;!|t{=^tI&yi>O8yA9UwBH^e14{sSuJAs z9C2G=)thxg%_`P|iRf>%Lc7ZG_36qBB&FDNEG?e3wN^tAbcWS>R`v|WSKfc6MbOnTa#Krux? z+eRoReQiv9P)vH72%(ttBOFY6+R#Gi(RY&p?RX&sq7u@U0g6day9+3$2xzYj#iXab zI24nfX38rjJx!%oOnRDiYOxQso(yP~s?&g`wksyRQQc;WAi}|A_r3hYcQ=HfAAAIM03~`lfG|~&6EIb*Xz{NcD{;9Palfm57mF+ z0DV{HG@#E66;lHAF`{CMfIi_+OnUm_OEKx`^FPI;r*8%olb*h*6X{C_=*tYJ0e!8a zm?GHhV2Xft>vigBdtb$*r~QK!Tj3o{diwTNt8ZC|9H38RRRA)e4^tIW1jSsB!gB zXbVEcq^GS46_Y;E!KA;>!K5FiSoPTBlmL~63?@04BADf1(ib|I^zJsn4j2w5eYArq ze2nBkk6k~+Albnb!PWM`3DERUi18D(e1(H40h;`2sipooO#D=A=>^+8c1D+A1DesT z0+0jr*@0q;fTr#%COysXS4{eo4krDc?!o#Zi|?f%;tWoN7@Tr2MKA!f=*XJvDFK?H zZlMfM%kC&9eIf5v5gqI*hnS+F6^xu_wC;^!($h*giYb~64krEg4kkS|zzW!tUdyr> zdY|TY2*{v|gDHYc2a|rPgGoQr!K9}xbnyp2kq@-9tYXsBCbWu6(W)z0tZt9 zw8oWFPwTlUCOv)5pqRqbrw@urKg_|Tr*ALyV)~lYXUxDg1TC)WMR0Hp~t{2AK{f zeU^hQ2OMmLA08Zjrh`d8+rbq6vSh1+B?I?};0S6snDj{wrU?f6JP z)4`-aFv`-44wej(AFudVUrXkD^w%HLj12t6PgFwpR676}%y2L{Fx$ZxSkv12_=z|ZI|J~js%B1g z)e*W7-BVCMf{yVp{xa}F{2j^XS2Y`zqtEa__#Q~tzQEt2O#XFMvxiSTMv@#O+JVPL zVhq4)>M4;J1Al?1LgEGBYVs+Ocqy1ZOH}D>0MmD?ia!F=hnkA_=@_XWoM;Pvfq{DJ zqX;j9Kk@IVW{%Z;@@dXGfkAFWBp=SmZUR_6tP%Ub^j*G6=tVHCnV|SRFs-ei_%kpq zU!eE|c&~$Rx-q?)mZDGw<-_c!KT5C`SUl~C98Lw(*Y?W34LFXUPcX;Uu%5{vr(j-> z{Rl=}6?~~apHbah(@Q-wkvy{$Zq}0R=yJfc=#z?mBAC{PQal?>>r*M_;D`D28s^&e zJLPRUMY|IQ>bZdUJFt2VApQfaZu^P<0bg&)$JI2~G|uZ`M_N!TpbK?yc`&|ec&-*&LptA4%WULR z7gdUG4b-&2w+g-sObZJuE&^K%5JN!rC%_fuMVI(In3m*L_Tgxav|O^{Sg^WClYRZt zS_h3*=~V{pVL*%cD$WMeiq(oofaxO-#S_8!y5rs2W<#I4Hd4gjK~78TE4!b;XB~VA ztPQsH-ZFSZcW^cE7zZ~3Z*p)eu)5Y#dRb-Ado1F)b7v@4k65#ZSlei%&Ku_^sbFzwu?cs`gmj#K<*Bwth4tl?8bpp;jKV55dS ziO+)75GS#Y@pv_&Nn9SRMlgwMgVl&7aXMIyP!e|qs{u*kd!kSS;&`umW}95vRb2V@ zF6`zwcsuxQ2k!;b9?r`C2v`lrQ@j_zYV@60F9*N*`Fdv0T-ujj1?vZ~dfX?oAz<}* zPdpl|9_NWCg4N?Y@eHtfS|^?dj^xYlFdIc}kt5S2-UIPqe*6xzO)vF4L*hux2vN^3 z#MQv+afLVytnU7a?*yxRVd8tiBl$!1QIXY~1QIWWSiLzQUJvdVX`l3mVD;vJ^hIFx zqJa1}uzE2-?21NvsbGh%304FDq;DUs4G9eNlVAu8)WAORG_V@TCteCxW2(gOll>ib z0(-$~#F6xLp2zt71}MD64ztFXYoms{$gC5%pt&8*JzzE5Mfwq7HM&JS0jx%|R5Dk1 zyM|_)>S_dq#2aCzMofrzfbpenL$gtJHOxR_4KEVu`%+c4$ms-rp3Ky!CYkktnHt3; zCbMN&odITQ(1XNFVWtK-l-V>sA7&|P@P)*eV5SCJh~4;ZNDZzKmj~zb^NmnL)H4c+ z$3m?op8)4M_%c|Nk04}UIz}s}B{>9jVo-E^ zN3!`$bv3$AcGDnMqxr-yg7GdA9tcPm{x_Bz_jNFx0TBGQ+&F#%Qf-7>C5alUa8=wVPlyN<;b>yyv{& z&^HEOcW`%b1kY_^#^Xc5=}mACK_7#w>T&>D`g~pSWw08Irr6zhO{xZ;iDSX^&API0 z1XhF3q;CUOgU!Tr?&+qMa2Pe!h5zMaA-6`UW{OXZ@Q~3P2&6`Ih(7_V0UYA*!4X+@ zqW^%^01oM^V`7hb7$;5xxAno^C2o9>sJ0(3sgvNf3mt#ks+a?iYPQQA>9{;UjX*R4oh+E(Z%ffK;!yexi!Ka^&c_hrg-zko?|X3f%s z3Ddp>w{Y-};8tMVom+acZ|BgHeR~I!JwCw-*#8bzKeu-N=1sxkX^;fvs-fM=acVk; zx?nXfP23!;eq`S{gnNUR;rWhi$euE`3mm}Rzm>85L+r;`EYjB~!Wj^#cc&D=LU4kk zZ(RviuOdjl1+2zIiHpFrz=d)EF9icblB7QerUl)V{swrMPmY9^*IRCBQ+Vk z2_A$;>~T`R8LS?uNxuhtdNP(hk@`d6>?wAFC&B6oo9zDvhvA8OD$a`1i%7uj-Y)rw zO$L<`FnI+$SsGZ4Wd^qL1e2c1Gz(>lJ20zEsX`O0N?9MA?cg+UKL>XJ4|H&!1fLf8 zQ5N@sf%*}T2;oP-YTSn$3f0dEv3~`u#(~H_RKLy_65u1S8W*Af>q7Kjhww?T8Yd$A zQ2nJ4`%=|$H#XWXB3}#yYLtT_2n~<`z4}p(gmU8$eHO*1+X;*c(T@pc{zG#!3Tr6* z(HtZ5?*!{^W+35AX2(UvKUfwY^_6>JubBF*(C}Y}#CH*_M*ZkqbXlqmC)P)fcN;{(!^ahmZ)V73_8B{|eDZ)CjV7lY_S^5;b@5|E8aU@RTa) zzrIEMzGV&rYUg=q=hI~X;$pB{@_9s{n3`>9gtx&~{UZl8%97iNzzTc2;a{#{r*Anx zwOmcNq%6BtrRr?jS$eBVt2u55{|d=+hH3Kjh6e+QR*_Vy4#D>jFe#`HKI|~)RGZ(| z4zu@%L#}?2?EKC6I*M>_0Zsv<%e8*QZH3+{x+tb=cL}{!7l`|TF(cXHa^Rd09tFmH zW2N_Lk3xVM!b+em2;pTRyf%b4gI{!n-v`E2+(3NCLbw>b9C|XS!El-W2Z9e|fEw_) zbW$)^58<>B?h?Wn`3Z_IKZGB5vJVM9?-YPv3*iq!_?r;^J%nAD>+U?EDk0p&!9F_U zZVmzQ&=7t!gr5)LcS88%5dI;AFWT%w8R%MgyUF`qCfN1hBY znkhN3C?F8LB7`@G@E0L`EQBwHu;-3o2VxadH$e{6R|3fyA$)fTj|t(~A^cJZuMc4i zM_M^zbyMWPS0M%`L-14M33`hmaGUzKA>cZ=38#*i_#w%3T40|xJy@X4 z2d5zbUHd4&GRZQ4wl0LXgE5w4V2ItaF9LT5(-non9|X?_)4&1oVemU(oHrQ#+bIYR zLeO3s{0WZ5{SS5g6hOxVOdEMWL|j&~h(M>&TT7Nfs)l3jRKE`exQut5%6c=_PFej{VZ@e?uR^5|2#O#!OOvwz$c}C z4fq=P2-rsvd;r0BxM8CEA>z-#ro2BQ{vO;MjL|+ze@ZgY;;Z06&?iVP)kv_?M}r@O zp6;h8zUq>JK1Vv+_5}|IFP8fI!8)$~%E2+sRaD`~Bc`q3+?X~p|ejMB#?{s`!q``6smP4SjbQ`!+MVyh;9|rGm z@D*_DO18d23eFI$im*0#D_F(X7@Qk})ud&7t-wo=|3+Jx16dG+Ro09il81pGt6~S3 z0Dd3bR7UUw_)mv^5jZ8z)~^7M2CFQm?IP!a@y(r;<2%4rtKl(38PLXzt*c?PK$*ZL z@Xufrrxm~j*Z+t|C6inpT)Mj5@g#ub!O>D*7u=+VU1?i^dx1~M_`86cV@SZLEd$&Q zL2jaE%#j8o!FnybBciIuBvWPht>8gP*c)E*x8Sh4c6>j9 zea#($zabb6#!DsZjP)iMpmA_4_(ibFu~hJSFkaVL_MO0=fa#h=tzaPd3x|Fp_&8V< z;Zse}{%Y0JjNUT9i!gW!+(PmSiqN573$BV$YE{X0fvbbj>Z}A0f@^}6gU7%v9efJh z2drAr`6g)pOCV4k3rj^U2al5xmIrsOZ*y(%KCtR)TZ4ZDM@#!2;6K4nOYR4Ls)1%a zC;1_8^@iB+Nfz0YJ_w#@q#4gjgZbbJcn#E9@~hx`!Q~`x0*?kO2R;Rl2df;}51t5C z9n}f&6JYevRt{YN?*qRl*+;vTt;a_X7{##+;=l{>UMX4{Gy=Z`#x~A=qlu!L6kI^Wc5pEWti&53Lluwe2VkzJLLC;V{0J{3Cc& z3lxz|;5YCR%q>z5{srC$j+FLcs9m3cy^^EA-#QpyWN1HwMGm6>rOmU>2LyPH48Gyu z{$R5e9Fz`>0r$cj0#(bWfct~X$ONANk9P1p@N@?+0xwid*Z)@_cnboVCEA-v8Yf>;PtmTJw=m4f%k zi%SJ?g${Ntt`A-f{zdBB5#MR+`++-kvFpGC;I7~#>A)25L*R$i_5W!IeuY3?@81DG z(baARo57!hRX_0wxawW@865&I1gm?zU%_j^s?uEr{|-);4uq%UtJH2}FR%XpGgWm_&mJxOZ9|fy^BpZAKJV5G4g73++JE{V3fA9nJd_i61 zR0#G#plU4#{|x>`>Q|D!yWJ0L2A>8ido(HSqJvL^Z-7;$WX*B0>Vd1Pj4uv63hYx| z=N%A?hCpRud+%S_a zOAvI2L1P)90`mR|aBX=@l?2|3$^Q5p+RCw1@Mz4@%aHb6!5hIbl6!%_0IQyJF!-p0 z9|oVtb}@mjbPfc6!9ev~FN3dvm4mN?o8gtF%CU9e=3u4Y1s;w!oJxNHJPO=TI&>Vo z4@~b{sK{@Em-zbG9+z#2GXRg20cwKN`l}}uU26h<2&{U_Oz=Lix)uxoA9Qd&_(!nH zkxAe`!8K(3v%$Vf1MDnX2ti%2x_GPxr-2vA0Plmp1*?8y5BM}#Ie<^Sv~ysUgJ;1P z9sCdYF9(-yh4yy?0(HjKkeAc%wJ$Dp!OaI+%TJ0j2b+WJ+v;}U2H-g9AZ`889b8#* zE_f7JUH!&`-vCdQ`X^eU{k6Uik5;lwI1Jv;vD@)l@IkQ3!uP@Fz^YR10_&LIs1p1h zTm_sh6F37N3syHA*TCjBppY7g*JaZ@`1V>T-J$j8$C% zH<_2gI%fJL$?)N5pLM}1{+i$vu*@N!)*OPTAQ&S9WP!s**hMfsZefl6RIxIYZgM6CqB0zYv-ER6ihiB3623rKW;I;z=WUy1gKC6 zhz}7ktpzyB!FPhu zf;WS=I0AeM-Ug<2Ob#3b8yNag4*v``9ef!a0j5(Xd$S!Jc5pm6j_i@XWsnL%RYwGw zVBGNr637Ju5~vI*!UykeQW4*8hyap2nKR|#x z+(3YH;4Y2;H^E&U9MvB0w!z4DD}gHDdt z8vKHT-v%#s@F(E)U|l+J61)Md96Af$>(H0#fC)m5@MXdKk^g}R;vhHx112M^2R;O@ zAh{#>4@ZQ9!Dk&j6{VF8-hfz%7IcHQOO)!37q8M+TeN)ZVIjscFP=V z2Tpcy4{)l3b33B_r9+^~umA>a9Xt)(#Sx$ooaxYW@JKLSj-!}MTLGTz;Emuya6PI2 z82p}tzwLr3k<=-;R zEFIx5D#X%CUTdv&)+5EOi(kyv;n}pSscf$Hh|8c+ok~;LSv-&HMG;g|Clji*V1@9qV{IyxeAMu%4%I$8Po|??7*Y+Os|Mi6#?`Ek@`Mz`JaX$AO z)9ZJCV}8l_sl#R#FFtL4&ewfuhVfs1FzdNen~&hrk9!YNRAv2F4x0y=fA3MVoz9Y* zQ3NOW_eaePo;AqZ-9P1oImzW}lG`*8!plE6X|}hteBQ5SDgT&X&5177co?0^PyRi> zn{GGqps^zWKWnxV(X~BqPIkGPHXUkf{Y(Bdw=sXeD`rRCotE2Jp3$_crr~y_G)t$v zJpN|hO+?!`ZHUzNbbEI)e&cQC^;aw9ZKktSY`}3CIoaIw##wnjeX7VSufKU2Z&P?Q zq`93YZyMzlr{F(P-s^K=-;U$2Nqc@rMQ>Z-?Y-uli_v$Q;OG)-0&+s0HYiZ3aL;s47Ufu0# z22ZW(F{dk#_x#NJJ(aoFKemVWAD26=nL4qoK5)Vx-q+h!cQr;8Rkg$GZ`2Q#C{7VC zzdFF%#*d2ek&6wrYUgo&I7eha4?b;}*X@6DhQG1V^TXeY+SG%uJ%oMViVv7>{^oDqD4u@?o~}7$)?|EhzPF9Yp4DT$bzN!0 z(<~SL>+-!3IO`_qA}^Os@Os_uCPUKYX+J&LdjXAXIOWMfe}A9%Gt|>GvOVa(_PBRD zn%r=!QTZ3nhR&TjVtBGYx6nJm#nB?I6nF50&mzUt^i&b-`}y7jE>{}L$BJdnA|&W) znwI9D|B`o=+tozbRa)lVjR@0nlX<(<-h=+luY13B;d?vES^vnlyepW$^eS&MGNb7T z;a;UR-h*fwY0|$>-}SC${s|ks4Rm*tp~Dc(QiPo1$8JUb_|1^IQie1W(beAK{SrQn zu*&G5|I6*(Z(OWtW2;L0AN>RgyV6wz_4aswb-7ZKrT@Qw={daoko<|)E>$rbN+E_c&rO{}sy;Lp0@{Q+tej}=!K3;za9Z$yeL z$}OJo*`+)?AIE*rbNsF{;hnL4()=>vHCdO(`Fmx;YnXKDyaF}$BqH&Z$GN9$cx}&? zr*O@w!5fziui<%p6)yR2@B#Giy}g+B`dmH({|?Ll5sSL>x5|dsbS9iLC{4-MGcBBi>P52S9F05yJ!+1;rmtJdnXfg-2eH`cfL92&U95* zS65e8S6BD#d*|G#z9*mVyD4J)z%HFw5iW@_uYt_YIE!Oe)|IX9%Ir^bW_~u8nLkcq z=FM5m{B6sWqsSz zkrUPQ&&8Xcit%~<4i&mAcjNxjp-G#c>gmTPG4l#sdg(=Ro0o@4(P5jH2k|xXW}et} z>NS?dM)zLM%&-2J)vT6J@F@Pee3=jBAIW{B!Z7RWEQU1{M68^$ZpyQ%`~>UMeB#t= zXJ1PWlb1>9zC{wV&wJgJX=?0pweGm|4Clk;Dr2CO*z)XyMx*zp>-$$S^GSKVIY+8p zDW5iP;D_rfeDb&y(Iy|T*g~IaJ9I&M*m}tNdcTX(!?l-^*VbOjvUoLKsQb5NkCgJ? zHg@>jKUHO=qpB=igRX8E{@&r2Z+o)&gTc2hi%7`@&QbaP7zciDX7iK$x6ZLr=Nocc z=T(vQ*OQ}-yKgi#w4j$Z@lDbu!zR`}c#mzhkih`<~IX4;J!k$wy5 zJ8m$Mn;+J%cD{*2 z5(^`F%*+?xK8)|?jcZ!%l!w$RtyfmJT9C^^7!@!uY91G9iOtG1G>(u{{DQkCqBE`0 z(}h^QuMd+qcMT4=wX*2jQT^I$EP9g2dEgq4E`pGwmS6X39N8Rd z=Z#0@kNs1I{Bo7WT|E(<>5H=4P=Y$|-K*@dIV&WAH-3xU7UUWQv=;f2NWCnl1nl4^ z<+A}#@CNz5z-i8@t?aNA9h+rneCY-Z<3xI64UYm;dxP+iNbL}K79EE4bHMWGV5GJP zY#>rw1*IQSYcNf%VLT~zIlR9As#(N?4bT~!+ewi9q>SJhYBNSkC_ zMzDVFIyJCGE(?w*$67C6%5I|4@y zJlsZgQ3I#RKLm$&y$5}6#-N;WEgH6zBKw5IcKXXTDW(g0k2jj+AtABe_qXuf#>Uxl zSx97tZ;R?a&NO$bWrr{~Br{)0sE0>)0*CtM>H92M3C#g)#cM3a1WX$+re8ddj-*KM|vpIMDrNZ1CS<~O-T1^ zC>3SbBHasV!mmO)x?yJpM|wHZ;YdqJFF`u6VW+*q2w(w#t_@w0H4o5iKxP!DobtNf z(O(#OOLGr!d&QdUme($^FnK|*n0`Sb$u6z19K3YIV!dRwy!YDr zW4SC- zth@D=2RPqU_xi0qJndi`IoY?w_Zw|KNY{z)+BP%NFN^ON+b}<}I3H%O#8r#y3a%sz zvoFJSMCOUN@e}fh#BlzWJSj0U^q1DqtlE}p#x8BLG+%14)LtsJ_<`H^^2Wqo&Reb# zH(j$ANxKa%eL&psn?W3p3ym{oHP9TtHwoF2*C#6uX7dV%;OI=W~m!%GE8i>62Tm=&W)uLPi$|YF( z0eS`HA}zNd^@dh1RFvxt%yX`CJppY&xfqm-vBYF?XX7I%D3Xoakn%-^okYP%kgjR{ zFSPOwE}A@+pkQYd>}&}Fv>2h;`c~>Z)ff;#q#`Cu!}S+3490@eK0AJV1Y?h-vC>~M zaeYX}!q~A?GMFmAmBW%OP9RF}Lgrl`QeU$pyEBg97qMKUcQb38*>a;vX=9Bo&1ytz ze0ayjIk2GQwL31(wls?03WB%I%3@2%VeYtCZkdr)bCFrfvyQAz{!duS>Qw2wX~@mm zR|Y%uW$a(cjQv_uTKnrgPCw`AJF}91+so^J_KjusHDOy*d`?fu+JxdiT%2S{fThiG9Krgcp_Pl{DwZZgM`{PyaQ&KXw5)f%>K;&aoDDmZm0VTs@LJWE?=@<_4zJQ zzzK-<6E4lN^bn~&6;@y`0@JXaW?=#hc%j-@} zrK9RAvy#`;zcm{Scfw$Z!2!XbGVI7DZmAIDJ1$m)adcd1Ry`~w0r_Mxs~YZbRZ3+V zFPTO6?znh|C|ir}F1=J^Db{!t3m*A`hf`-VwILT(t7exYT9V~rso0%q9H@U?MR1)3=_f((S#Txgt*12wM4a7dqW>rrS2{H0dA`1l0A%CQiiLi z#-yiU64^l;J1)jrVm0fsTf#*uK+yZcW)@!cL%NHG56=p&Z3*cxTLglr>}r5~M^f;p zbyvx_$h5ZLqFKmgC76|2^2&5FE5>@HvzjrZ7`rE(EQZXDoYE%w<)qR4ocwE2Z@x#4 z8k)k-)s+p6<()5pU>FK+d;IZ{MtSqF+j)+Baae4p%gr=>^TuDBeXy1ZloM{77dhv8 zDCX5eH$M1@9cG8U(J?IUTD=#=lNl)f1_jaU7}WmWV@4=RS_Ohjidn zBXHg1{E>qOIEmAIqPf(JQt(ikR04MnUiN0(ck-Jf@8d7m4I1?jmzta9cazt4KGy7= znSW*f0v3C{sgFE9C5^9@A5WRdC)DxOTRER6C#KC0JAUJj0*Ju8nG^CUkke>-L+e^@Tb3FXV{mgXo%iLH?R95E8Bkq0|g^9Sn= zJ9OAyXZcgr)yzJ~OsqqDQ&cs6h%U9J|V5k^0!+<|8e>HI>?;}qv zjt*@=#YeCMavYbwBSO<_t-QH-&A{QUR^cTBPB0Nqwl=+VtxE&9cY-Ttjlpf^1|PBX zU~&9g*7yOY_0Dbb*h&4RPHpo2lO}lQwD5-OP4>DUCUuqqKW#B%eH8&&yIeKL_+Ta3 z+TLLrd_RJLIa4_ z!_1jio7Od_TnOn@cp;=uAaWmV4eXG6pDVWuavyB%EZmGM$3wyPeLSvfy%e|n zM308pTYOG%yMq*L&&RhtIzOwW>5Us38{%& zbzVkRW|6Uh*;7E_q_4#dDNiS(@M|})itoXD?aoYS7_^V~>r^lG3$8cxi#`$7Fzji2 zW=qo}H`qSbE40DBWI>!)y?x2lI0@g2;-nK>npq8NV7)pu5Z$XcZiUERBE9EEKcvZx z#XZgJElp0;GArVP*L?RG`+e&Cc4nQiU;K&pGGnvYYW7-ewz(!+q+*b=302dKuIFX=%!6UV5npu%y8w znuj8kqSe4q5q2yEl}ec)C*Jc{?vQ=%&34K+)?YLL&n(9Tb?LU+OBI&priXwx3jD{& zYrLf6?*-mVqi@HzH2v1R9_D>BpO&UyfF}u=#hp(})AztjmM7&C_x{Qc$saAt=TFPQ z_vJg6wmk$s?C_&ML2}ERD2LcTjN-QXi^i~oOVJ1-81Ry1-e|_!nhLI6YdU&^JMCAS zHng=g-QC>Q^y4)S=%KdjO| zt~SlTcD3oywYH}BS}?WDa_qy-4_F-6O24-AG7-)-PZIHxc;}r z%WeQw@_)`a0s&9FIOUbTvuY2NMInXxHVa^}kCczWH1mA)pPB)6=|_nK10%w6QoYi~1cL9xkI z@`kmkKDmShSSpWOn<&qHc&uz+7gRU*;aLXxn~fpzo$I}g-YX<;`RR2jb>D0lDTN-z zU8FN8km7&e29DnVTs27Sm-}rF4vffSW||TZtgm~!$Z{ab}0_v{$yA?+>@Q^h+xectgABwq{IAFbj1g8Sl z6+mhV0jygW!SNcbcjhX&WlOj->vm?Ir3pl88wj`qSHSLE<0h+8=v-<5KPDR7v7<>M zJIcCueysdwQpz#;N`a0mtR#m9oZ&KDD$velm-mm`&MzDgddgnKQ)9q0&w z-73!kwn$#1L>UuLMh3x$=iwZG4ve-p$Bl&K3UYVY!wY4Dn&Ke<-~2l(ao3?h%a5( zDQ4zQ9lN?#uGkif+k)%y{h_=M-y6jD^K#3!Sg$K1nAstB+Ztd*q6?|YYnLn4;7VaP zQ_ba5wkoQMF42IsQ&vz-98;CxRt&p?vj;Fs}ne%sf(bX}#QU zd$?EQ9n8F(D#UI<+4f++0IO;!qz7tUX^{Nx_Asx5f#5HS70ZXVhlidC!p5AaZ@Ewg znW7+@ZObB4+b-<7^PC*&7P&!M4s{tR^@^uN1$SF_42K|{iU5Ii@o)5SbK6Zip z^fLkS(@zEmE*pwm@X*VgzYPOfzPuyA2zO@{qV1Pko(zvX0>aZEO!2>mCIm4c^+NmQ zM5t{Z)HV#-_UA`QjiI%qMo~g-OdQhGm}YtNQ+;@|eCVktzEl1V=_J`_N0d~WCV&4_ zPua1<=(TJVGk+q#_msa}xx?&r3XGP>(NFt(O$Q#*p&yHo@)fCrIJc25Z+<$!I9*4b zLCPvJYml;tRBbsk7m3tvq|7390lBN?aZiY%Npkc~kx;4DB2Q4E2VdS9j9W4v?2JXs z`SZ@$ZV^4&Cqimbqa68ka6bk?$iJretL>$38V-kQp25s>k=C^p*Oi$c6wQgi!IZgj z;xqnU$CGG)qG8Sm=-F`-7qa|f%obyTC$2leH489lmte{t2w3-K1dqH4jsQ&FO)sB- zFz25dZ1iI6;C%>l7$R3)%wuxDXM)SNV=lb~WO}3YPCPPznGd4r8a~zko^GopQ@1se zQ9A9v+=TQRN$0d`Fnl{4tj3k{cJGbD)VO% zb2((&vteGvKo6JS+aB!YKuYb$)psInBt2GK(tNyLRdz z68W3w`eR7=JU;}^H|6;#eo8KTK1VXnl3#iLE?z5#z7Q+1N_pf9b2&C=Uxjth0#foy1QQ!0wM3De0g`cps$s??FkPg zdTEI|&WJt1d*zfp!Gh*P`HnrYPQv{MqNEC*?VeyDHN~L%4KfMR?rzlG6KNejKc{^R zQ~s%&;7#=;M?<01|wqx{N?wm`~SY*hP$Dx<8`^4S;r2!))JyS;Q< z55n~{wF^#gUkxU2LU4b1{!6_?9|d{KPrVdhPRJ|X2xmY*GS;J_?&gkg5n$>my$wqM z+uh);fT_ilPi;B~nA)Uk;i%kiZ)_yBeyWdd18RTiO{tOR?Cs-4Jr^NAx%Wk>agAK{ z?cH@pUiOvvG5NDsABe3kUs&C5LDjtSDd*na{Nu)2?T4jTaCZFx#{B;4TeqS18!!I6 zT>i#w&R0zQO;d0;YdkvFv2a@AVCMIpi60YH~+{K(#<-9>RcoQ+vv@Y5o)4}0_ii}{9~$eu@Gz#)v({2e`*S; zR?973M1pg#UH6=@{nY=z@=PJJn@F-oAc#%G{y3;>l)l5I@7PCuN| z8htXQHTrZ)Yt?4i(zTMg%#o6wR^lvLIQq)tot1b4y$dj`;9Z-iG+s1FW{9Y^@Zt6{YKKGa{X<;mt^AQMv$)_GON=l(8j6 zOY+JpDpRYLw6o+Ez8NeZ3bfh^+F2I3u`F<7S)j6%XTBX3QE1^$qU8I5W}B;P7?S-_ zr~J&@G0qn(`~?vFH)N;DmZvw8+4A(JLs~s)wiRS1XoCA9ov5X)w(JZo8DPuMsY7h3 zdW$0rUjzyJ=M$N&Afqs&U_wTE0`p7nB#n%<8-5P*8)V@Uvn_Nro%xk^GQ`#x3=ahR zJ!Ih=d70Un`I=&w-!kOZ8Vt|LE8YnV+XkTCV9U%CLZFxtX(60k`;MLOmruMC?cDEe zh}~jz)jp63fef)*L7bwt#1OmPXgD0AO6uJ%=^*Ae(AN;V(`Yyy;`hFVhm$lFmDS}7 z3d(0zEW|JK8wY|TMy&&NQ~J@uKY(seg!6uoIw!g|LK%>>b5S3PgA_#JV zak@%u*N8Q+yGpDAz-r5M$p`j%DJ6x~3(Cvpv{$mH3;z_A9JN_( zxvpk0Tb3(r1m4BOj0_h*`UFRppX%I|e+5=AI-_gcC3fS~UKZYCbe=AyFMxclDOMZ0 zNY4lWpl5`D$dQ?*HzxvMTE6b~>>zYyLjTL}oJQ+7P>1%hjinby~I#Z;}j8_E7cEx!q6@U_9c7=|v?TomuFr&3RnM z<+UU0CBs>biLsptB9m{xhERLP5W7w%P#vxzc9Tw^BerM=)zUFVtFSgOAhHJQ z9Cvnc35f`pCi-0(heD?qT87x&T?}8wscqWtrt_i9FEhXpySIxCo-tML zb!4GQ0xodDt5rBXR~K-dTA&@VNgyyJoI;!}0?gO>Zxx^xGod*G%*#y8*ZXj%z!Xpj zptZ+t*ch*h?-rLNV)z;Z(Kta4SD_1hOhXi;>+L_Tlcef0*XuMc%tb1h}XbfCF$DK7DWb=bH~dd%+-vJmp*K~ZXP)L1yFFfDU* zNti1xZr&F31gVxvN2XZjfp(lpEs89jxbu*~EnMk$mLiC`i!ou?^ohKJMvk4dKm@ z@ybA}P1h)tqBRQRQ=bjph7NONPfQ=(uG`Eo{Yc zmZa)>bE3CXChAJWa@Um(u#MKyA%=hdo-Z_U4tyifY@M#VK^d&p&)O#)Xx2BJwgXaK zK~rDDVV%y|PKePk5QGWsasNP@E0RrW5BrBBJl4gJO}3>ubf1!rb-kX>VvgJ*Yznm7 zLKuGyO1hB*Dowl0HZjZT;$*Z!RlUZ$PE2{C`wDq)VwvRBrS7fs@}m^4`rt2j@4vKF#Mn~aht!P@**%9Xro9~gu!yj@i6D! zaQ-oxwtpz3b~Viv&0$6Bm{`!Rh;0%4D^PD4xs|(-J92X|cC^yiAaSL^Q{S$DrDUZh z7GPzi4mm5q{R@IzhyX$i&L@ zpPZK-Zmbfx!jx>iBM^jf*jr9Jybj%$GdiV6YaD_w7eRmO9|W_UISSI;#=x-%-iEF} zn!1zQ^iE{1)i8P;9V^<8wYNTyVEqO9q+zv99IuxPz(~l=PSs2y#Fmm<;99yN7yzW_ z*=-Ybf7TuC)=FS|5DQzKTVHHZsp)a#0g4LsS!W>9t}@tM0b|wphTDo#Ttf~vK-Iel z(^UafSibf}lxUU1mYU;G_lcy~A_Dqr%!&yZpaD||7^nfI1Ps!E=>!bc0CanfV~7S+ z5|E?;^9UHK0o4Q~I`vJrB?8oiSSBD<3SkIDtIC0xm5W?e64C#ZtIC2HT+LOb5uH!D zsyx*7qO2+r!f&Svt3n}OCCeysvy8YX{z_*<{P|R4yVplB1p{n%9L3T60BFvn!HMac zNDRsTYKLGG&NUHWvdYcZ`xfCuUJp$hR?HSEIqWC5Kwqn3ON-F*!4sj*Wzqa7s@axF zV<3N`ZhNRH*X5G2=~OUUjk6J22l6 z5FyAAJP}~GIn#@>^YluwRg{}CR;>toXK6(RxhjCov$Xv2V~f;M*gh*tQInXmbYDQr z=)xS8ez>7N<9E&gGxG;ApH}Z#=0b5b4Mpzrwu_S^3J2?*rodZ(l_tedOa1GrSRvSqfBw zDYA07*}<)`{3>d>mRodlEfmviJW1cLoQ%Ntrza`e`uQY9JU(C3H+XxerIC7xb%zP~ZC^(v5(Oqbm#M)Ir0HSxa7t@oa56kGS=~qS zFJF@sKHpHCy}uzTMt{@GI<-6hdly6ek7FrlA+o5iLcB!4ME#h$AD0X;V~c_U8E|p|6k*r8+-C*)V(9WedPm_)(3#mH7;;RVq%Br?%rN}Wmhb* z3gO>%)1pOzYFOA-)>7C}&ZmtnQWmz8v1y}aV8=AC(5XWh2rl1_9VS;g!j_Yu`&K*B zdZ^#smgCyZi9=e)_qFBp*Xa|G*6{;vIRkWj64DypiG8H(39cHF3DAqA18~)mMSz}@ zi|G_QhiPefy8m>zFuD(g6>2p7wFVcvFatEq6q{2gYIp29rro>in06PhW7_?^!06J@ zbPxG-QL0r?mt%jE;n^b9Q4MH! zKFlv99U=gtx1iK~k8xU`Z#Va!$SsfPWpZ4a5A=7U~cEi5}ITq-s@piwdV1X$` zP^V{)&L}KuZ^)hT{1^(oKHhzB{DFyM)*9=!@OdPjf7R8%>Rvg0iQ`1olV?`gJl&U` zV!)Za2zk`m9?o|;50~P%8?dWfUOv5KLRsaaa@^y^0*~3oR^9E6FxoO^t665GO5lWv z%$L&r)wGq;l~s4E5bj9KE?G2B1ww2&S_)&ULd9WZ6;4-^aCs$Sz!J+iTXs8u$)z2@ zZaIx=BEnYr_@eg8uvrdJ)F$VCALIOl@%~c$POtR;_w6cNG^a#wF>XSYSGpk4GFLls zv!%VAXdSiF2?^0Wt)XxmT07(1+u7H>oeA#k6pd5csW!}28EypV?L-yHILLq_Wmu4- zNAWRQ(yHcGFQ}@NXaBI;>8bm#<2=wAoLn&)jWa5%%BqDd{pp0$gTD zfXfUC(9DpMZe~beyBY2jW_V1P;Zrx6AyIZ1UWD+}F5L`?rrit)YBxiITxLjsYKA-8 z&5)3)8B)q+h6K3GkN}q%5}=tOCEd)Bz;-hvC>f@QCp=t6m{(O@wO~qK{{(r`KW2~h z)cf;r4CiPccQZtZgux}*h+vO1-bHe#u;9l05;>2R{P)Ry&Q0g<$(zpQz{#CCcMHBd z{Wv&|#6aXZt87NKqiSJAbw$-&=10hZDzb1M+#4|Ril1YGh0Hcb)!pR_RHAemJUiv5 zf2@h|B<)E^Ys48y{}u9-f8OQ&G~=D6_;vDU|9r^e$2p!@!>35T<0q%b_MXFOCM%9I zwGX?z0fQ2f+}kVQ_V#wC_NJYm&cBg&pZ|Z~-Yy;6EARU`LTY64mp?z~afZMNYsSXN z8-KagzMJuYV8@Jk1K{M}Vmz=b(t{CWzR!4&6?2$;_7~4us|24_g?JXBR^I-vK0HA_ z_OEn&cfMeY-5!p@c}uhVr z$CMM@`77Rg86RVae_K9wah|1&^Ah0|SIH@t)_7!bB^D3&Ob3gXWv_of;r$}xqYd#J zwMxQzJeR#e=^A-m*4e0DDj=xoTX2keD?Ahk4M1h%x^PJ z)W-i;Qg++ls5MtIHk7?>}2`pEB9K! z>{d~JFNBDc*Zw-kqad}LG1}(CelK%nTri*D{SxEJl7Fqd>9?WYKAh)B{!hsDzfCu1 zb6za@|JxuBZ_4rB&-rZ0f0w+Wsh796#1~8PkH`m`>_aYNWMOqoyV}~wdV))_UMeP^ z`VxoCfHA2U$07#?-@mz%7|Mfv2T6QAj>pjFxU1RoLirpY*Wi=SHv5~dBFWHsVR$l2*+vlS=+kGF3 zHAzZBH$LljO&sjmj4eq?&Ck;X^j0ww$Gb3C!-HmQN0;e#AN=W#J9u3*D6o@^DMtc(@pf{$~Au;=^J6-Z)=vHjL!2s^g~h*mf-MX{ELrX z;7$lt$$6L;Mt7P)foN}c``}i_x>@Nv#_u3(VXt!8$o-W{iO=urGK8B>RA!;y&iSB( z5KfrTUM1SV?@#wsq7)?#!WN81uZp?V%*f5tW|b{ycfy7bx!TZaY`&7xY7UpI4=a&I zyx8$!WrUG;SAT+)S6a8$bq&p0B*@?Gqa6w}_Ct z4Juy)n)jlR^awR@&263}-401tb#+Nm#m)FH2j78 z)iFBep&sZoe8v6#B48m*h=Mbx+damJo8a6Ua2B|IvJx@k2@xYI?J?pZ3^G@YNPre2 zQc{f(DJ5b=N{ASd5+X*#2tCH+$v-42z07=8`{-BpnYn*Zse6bTW6c^sa_?8ZGjr!q zPb$FKYH?KEC3cK;@E|gmjDe!n>B_iJ9{6awyRT8kS-8Jx)+(6lUN=*W{}Nd1{o`6kX`Bw60go6KZ_Z}@~%FEoKarx!Z(id z)S`JLf_q08-sgU`3`5ZHsYpo7a8gfvrzKEixAI(9zM_{Ww#UHsV2o=ZDL$Qe?Ei3S z8Jy+Pcy9Us$)!P&aA_OdUD_tqrL9+8TFuQa>eriH+FsSAty5jve{QCqDO{Sxrn|IS zB|3mR2YJ#Nj>ogyJ_vJP;?`gBSS)<0%MaBm7Xx_BKu<+iA$qLthoXDA)pr<*np{O| zl|zAlRw+uZf{&z1zoU|FmF`u}M)9aWo%WC6ofpY#FpvIMoAzH8)BbB>+V3Q${U^n= zpChLI%j&fMhM4xB7t_9vnD)1bY5%_%xgDqdCx18X_rH1CN5DbTzGa9$?H{K>xX$Bv zvQFh}7Yxn+jF|c%FsA;G#MFO9O#QEmss9X3{dnOIg&qIrseh_A^&e4&;yKJ@Pu+#r zBeJ7-deP-Z3~zG3=g7rl^ojHLVhVI9p%MIkj}1A4M+RoWYsJ4Ng5Ulk`0Y=@Z-l4d z7e1%6awdv*m;Wp%$=&0{wxUzx_lTgxf{`*4z8|qD8N|aLqmm0rUThP2s$aEW6a^8C zJ|coq%Q`I>y}*>7G5mgyQ$r(~wH@Z)uADcx-!7q?!+PQqZSL}BhOgU`4Vvzt#(%kz zBsV*POZZxBVPuspn0|NJ0%cSzpP%BXhqmA;xAbHbdR1fJjTzo{C0)akog!O{Qf^)C zW0L1xnB}prcAYk|hKHbVy z`G!tVi5i^m=1N;19;Ot{5ZB#z3$N+piElCZnz2NTu|7YNzVXC}l6)(Ff!8YMZ{@@J zK_zhjkE9+nD`OJ)43F-4Cm!*!VlfzFT^~>1zRC2x9N&1)!_1rPFX6r*fCS_iKJ|oRj6YzRLmNcDed$u=ye+Dy%vA&v0->GTz?VV0iV9F(y zYx;X+GzYzM7Zq6Ci@u*g$HrKbU>3@eK|Dq|GSgyG>=BY@QA!_%Ie?2A16CvQG#nB^ zL06_evJ+#Si8qDlqC_gT-qM`Gp5)nyMPo4*jWJeoSTWY1F_^|g?}I_Dsva!dyp(tP zO78L7{K4G6%T6rcVyr*qXtiw~{3i|Hx(_~OG0}(N@zfY=pRx2^iL~1AFFuz{%8}$h zX?T4kXT!1Lg3=H}$5`LVr|)_Pedmv(@6Yi~pWP(4zfzjS=Xe|*4auAxSVg6}z%<3@ zsM2jHUz_AfRYh)=3i#lJ*@!fzkrn&Opz4dr#yPA*2e0Sj((N>)K3cF3ofRii5Fn}{iNqOB;Y)kk$ag)-Pdn^Q4&W(j`E zne`m7^t@Na%%uyeRH2FqESom1yi$enf<0C-r);JQMN+*bB_#{W7cQzqGpIHnptzx4 zvVNe98O|g42g=OhJQ6<-4Chgiv<}3iI*FQHQZ}9T>bPNZ^YY0R%(_H*Z#aL;%NGw_ zeyKP|@Yp*=a;f_8v76+0OPfn5Y6;$Quggqee}F*`84AFs9)%|h@k`1o(FCeK4B3Xa zA>U&og>j^fcNY8p@B6L+HPKsC7m`*>$`>rCT2QhWYg3_a)5iCI9YGSd%U1*rlV>g{TU=4SR3%sC z9xm|2!_}1TKn49~cNhVNaOE11Mn7!2Qf_WR%|wEtC8oKL~AOr z8Hp`VE%UhGAci7!;%O5Yx>@}}f?Zbs6rjlqE9T~wRrgo*u~@_OZ%2(K6e^igU9z<7 zZj}sA#tK|@$-Ii{X|q&h8-h?GtS-R~9nD0)0WRoSLr-63zJ%*$3w{^bhK&Za@aJ?M z8BQdt(89^HmZ&TZDYs_w$P|%;d&6tRT{?f?8|g`^L2sip_N&P37f`xDO^-p^ppaKspUK1F z4)$d7zfK~_ybS4h3)G~_vg(TJMbqJiR3!F*fUKHUR#~DA20bU2a;B9nSWr>E;O0E~ z!wa~%dSyipe;~iw!xOvobo^_$R-+N4zTo^pZYo^5u&83%?2@dqxzj6g!+`5F4G>)Y z92ZP;JTaw5@ZZ2ik1vnOX zc#yx26YqZ#OpXbuMtfpHZw^?6tCX00f(4(ca6($UNP2dJ*-avkdZX78&|4RF6SEVX z-)S1Zuxw^|W*NMHJ5QY|LFK7+hR0^oyASByE2I@PGcga%)N$z=3%y4@GNBhL&^v9C zQD9WP5;>L!`{}r1oyq^O3VKNcy_;j5;KBJ26RlBhYMf3~sWbf_`hNy*f}ppG;iaBJ z|F@XN;^{k=mFd|vD!Y?PsDs~kyQj{iS53Tu%kD$#GO^P+@@u?Z)oV@}1~A7RbDd%f z_}$@}n32I9n3u7us`!lK_qpxC?Hf>I2f7A}JG zDq2uBcOm0CtrcBoIKx53qu3;kreI0xq8T&jHsx2)IlU)yQo#~>`W@bIB3By6b7LUA zMHATUxzo$x=IMcZFT-HvyU9GXm|n73tXC&)%7FVMvyLh#pH^P6xLkCqx>-HhQoLYE z$<(DPe?(*xx&(b_xQ^yrKyxNnSIsWRebrZ$oC$nDmls$9WY#{aVm;pcY=(2F1e=px z)UN8MYoQRXQ1m|6NtU^o9uu84-cx6h!}$%@z^>r=5$8R1o^-c|aXov#i(fGXctT#I zS!pQZci-xXwTHU}O4KA?F+GV%P>&nk1xcHsgi=?lGO2; z%zFEHDrtmS3LnC{D|xr`H6Diry`kq^2{Z4+O$trJqjuqTk4bRFo&SPyF8`;~o<#4# zy0bEhRkQbd1vOsbF!^~mV{!hCxp8!!5Y7uzVf)y2Ohu%H>iXtd!o#yA9Vf z1Kmb#S zJJlH$C1olPc(lr=QwkT4@8}d;I|_m5y`vDH5`sokMHvE6dhq9f(o(|vNK93M$60qP zs{aI6oIgaUQ!bYBKE*ojddEtq!g;$|PF17>;ns3;Xf~kuU}_x)Dgnfd=g}*vU4iO;5n&$ zHkGe&n=O}2-R`tr}8GkZ2(Mz%DgHtKPS-|yls+@g!WUSK--7cW{^uC2&0Et@v2mY%e;F2$8N9;dl;9UE>B5@_M{ z3Au(yaodg}4(e5p6C=G^?Gs!{!DuyNm^pf*(<;l$<~nc~it8lX)h2`I|LEak=#64D zd?)e5#MoQssZNY~_CXgvvywNP-|uG5muK_t(rd*^a3%iR@CjvHCGX))_r5WsDEC!z zo39Gc-!AZZ%Cc5-q*>e>_cGKf$1AyA%cpm%BY*o5pD;Z?NeP?7?HaRXN(umt_y}Gb zj=kT?Iedr58HD!EdLqtU73$WVBj3Uw%z4i)tDI9dSACBOBHqK|U3Nr!2F6Sab{ujSO96r@&z5sP<*m6K=iWT5Yw5jzx8O?0Htwi@a-Q2!05Ubk zb)w2YkzfT?h$E-}ht|`(2kHHUn^0$a>$gZexkKfJ<<&UST7WH3Y)k58C~)?qguhW9 z4x*}ue|Lqk_jCju|J}v*s3KxV>i-}ly)cm~J<~zR%@Xf_vyd6HH5v6H*gf?qV|?e38U1>n=74N%doHmuG+{OQJVWK96fj2YK+GcVCkd?d20TjO!HpsR|E5ouxcF zaqhC@kGn9XlM{Ez_T0^vdkk&py_l7_LLy!(;!`$c3 zS|4S&dhAwu>F3&FY&1o=ck4!F^-><&SdjRxoB3!!u0Z)BGBLe*gbp-qH|HBN7c~_M_<8}Y)5-{NPK`vng60shz0*_p=J~* z2AlHm^J?6W+q%YoZ*JZJMP(R|jdbaSHpFW<}W^;iMD;dC*s^Hf0#4s@H8eFuDk zEnLs2R@N=!c8R4cFE8U8-Smjr#ulS)e7;splMHSyK%4N{CDcHxikzodmt(i#m4iOs zlHYFS@O`|e*KQE66L?EO+4KV1Cq3Z&9>Y=bde})AKG9IpY2`a754Gwz{0B09B9xRBsMS`(mw425 zBiozSJWJdN=VSxK0s=GfK^ayt_rmb?@eKgG)UI?r|u*3|CxFF!%-k z6N$k6i_O9%XgTT1j)&lqk3P&F@OYAJ3uuqy+OKj^R;=ccb{#n#>*`5qRg31*OXak^ zsj(Q`%8Cszm9UEzi}LR^d`70H+2#TmV=u}a*9#(E=Dfl*v2203F^Pk|voq+H8RI(9 zDrNT?jvWtG^ByB^(mK5ddOz{Rn*RE+!FukYVP+)gQDHgcPvj!RcLP#cNI7*7(> ztH4Wf`No3>c5cU-$U?++K}mjQCgVE6bd90P&*Qmaddc__;z|6DbDrwXZ!F__{wlCj z?p=gYvVJ39;L(uj?d1-zJ3#E#OFY7jovJdOViz$S_b!Y@n~8nhX5upxhdk&ub%x43 zUt(ru{TA-@xDKHgsb{9))?6P{{*c5cn$#z2aL}BL-Lar*8XPR+I^9u-ApHD~gK@hN z8z-8dA5e~m8IU(wEnYy6`Cv7YB2F(@XL!K{|LCXG50nCwty_4t$NnybEdRlEtS=n! z-<6z4d9+i<4W#PQ7A;s%KDQdLlc7D(F4$PmQFw<8p&H$&hN!47-B3v?YCljn%_#Q* z^#?PGBg$<`c^WkOl(GS7d=4m`ALC9py}$ApkL?x*eRvt@A1fgeK1Sv2W4y*=vy*PY zt&m%>)V~GY@PM*Y;SoJ_TwiJRHg}TKybp`W#SJJkD#})Ec{ucklY0P%Hge8>!W-EPaAIJx*fHu%qusV`ZD5 z+Vb0I1R7nn zF-WVQlS<3>4mP{(NuJVm6IzX16b4nfN0r25h&9`u<41kKdAteF zhvEji@Tz*|5v^J`h9f<>>Z4%xB`#}!Fg(h6l+F-tRnKb(Qp)Z^1T_2@w+Qh(p4Fv4 zoOlt}6yo-G&Mg`@)vM~cELb`5Hy+$6se%H?dC*Y3a(NeDmFG#w{kX^eC9a(Vz!tl$ zFLM)}G9J+3CWTI9$3`1{l##o!&wpqqpXYI&qJPlXHVpIKK=4K6zJ;5#g+vMN`v}YA zI!!XzVmo=+Gdzxeraboy@1=~|&4WY*sU8If^DpuL9ZRT!rz9L}(fO+y*{|i7sv5DW z8mXQn&QKGH+n$rpY_S&X)II|p7h3ZeX)xUFrN2n38HCEQn>o@|c|kd?sc=S5CD^KI z46oN096d&B^j9R;ah)WN-*D{9=*_`PlwdG={sAzo(AET}gO#ceF(Xq)O!1^A`p*+m zbl<^Xe1>zIi?MpE8}AqAI!!Z}7vp{q_7Let40qT?cV{WzJ@IY_- z92#a9lmjpD2=6av6JS)neSr^^zMZWE?dDOPp9Bj379o6`QAyd&S9z5jiL0J?)^mQ% zAnbc+$)FAvu9Nje1>%FS32Z%j%2OCJW5BjF32Z-Cy1vANtvW7O<#A4MDEHJa^iMUI z4b6?j;YZFtG?=vYdH%fexp*whL(eyd3U`{MI}ds%&P~4KS2$TL)hAK^+>}*brHtK& z_fEjQRK3f?MSyGAywwQ<`yV5L{u*g4js&e9frG+Q=wogep%@#gtO}8u#MYg=Ki`lw#EJ39bN~u^rXMm1T82W}uFwn-9O^ z{yrhqz=A5<1rQ&zP`AfrBmMJJF`Bd!)r>@7ez%YEv2(sqwVJ33h;MUsbG7R^XE9uF3|o(33Z!mO{bGJg70LtLnkc6U#R1L$7GGZ zprjxdr;!%HdD1SLAF`-bxNulT8T}T&&!gj`e?0pQ*U>Zx@ul+bgFM`-Z z=UpB{tLU4ZOqTNayB$nz;$478EX=jobRLK;IYL|CJ2 zKg>fk;6>$~!#styp5Uhgm0|DmxgN*LvJmXI<4Vs&W8tieOzPfFNj}0EJ#!0`S5Z_o z7kzU19>(4fx}@+jL@@WL$y0Dz)nLAxm~WSOpw3*?q@I0J)nufuN!a+!P8xb^dyj{A z{_zg-<3++I4k$g|@1VF(-sjO>_ufnTc$cZMj93BGc-%Rnztx+7t7tR?{0rxG+=NZ2 zk^-@s&@+8;b4mRip#@5f$6cB!;B*(Roy6^Z&UfqFph`WjugdIyaH7BeJB{mt#_1j* z)@UJ?o|pT7;zWNbcnMch7G!#l^D2!KMAEY=wf6lFndofeYq(YsC$ug_a7q<2>3Qqi zW%9V>Ish&o;;PqV8mw`GOnTPd2u4x!gC2R%|0t$I*Adx}=6kWwLdU6grRN=wxOtgn zRLVZ(p5I0EJf0``5ZCH4m;qNxd;?cc;bYj%?LPz0snFwTI?)BRl^%p4Ty7-Ni1#Vo z9qIPF_yVQg$7f;iXY^5ae(@*g(l$TmukR)l{uG6i*fJ^;of= zR&g^bhZn`i=%wuag5T%SpOY5o@rk4y2+_>>6jcbEw%29QDNd3M>LWvRLbxeHrx=Jz-G!+9|4xWn2td`GCn0bnakwf(#oWb(^A}(Z zDH^R4Z6P`4(t$AQkmDYuu!#;icXM}?dRm6ie~i*YAj!F~cAS{#rwTz&Yq=gs;5yM2 z62gVHmM_E8PEn%Q8zK|Wf9+*=Z0fnFb{QLfpPl@9y(MSqKO zWJwc6wqHgFO0EC`y)EtaH>I#IfvW_HxAHkcatb(pg4~A zx^D1RPsgzsY4h};$0g!YgNt@HiMGbB*nYIhJu)YS!GwMx>Y&Dgs^QNAi ztJMFEhq%HqqPZ!oEt{%%o#s*Ai>FaIR;-MBga>M8G}PFPveC`7 z#??tzMJwYjLi)4lV-pS}R1{X0EiUh{_C6o2)Sux&y*}xvbK>$QP<*n+Sn%Byt(-Z> z*LW0>9_OLDbJ6gTyCuG;rq)U%c*U}@uhoW#V zfE47>!bmyvFWtLQ`=}q4kRN!gMaR{s)i|k|nAktmgpttLn!suH1=Ss-_$SGw4J38Y z`~)_~21-k`#%e@{ma7|$`&Wgc~KKEwx>PP@#gnK_U(|%kDKW}E$djz z&Zlf9;OXlppj0IwEbhg%oE%I$fm_nIC(V1JTJMfeo}R^Z7}h(ilNU~y)qGm^mSa7Z z)?3Nu-o#WLKPS(eCw6!VeE;Ka6N} zcvSF>g444235<$^cC+3w--_lhGYdKgKgl@?to(?e%THag_)y1!>mFHwqt4MYD@NnW zzYW=em5wqZJ35WHLuH0`nNlZ|8Ext~neoSWW+j0+iuvcv(x^iZCYJ})uZO7)znSvj z_hv<(77lPiwcF$qb&y6F?u-w2>`a|i$8cT%b^Hb6n>)TTCq?aI8^Qoe7cJK?wfdqfb1K&j4v%I; zjW0G)@Up#aW4PB$^ClIpb4SqHoVuYr?_W3asmdwhsErH{GG12GjssD|k3I2&S=FaS zB~G|@8+$@_{K0Hup0)F#L$rEZib7;}`IX?qi$5yn8gh{F~P(~Szp4bRer z{((i)u)BhH^*lULE?wZ4HU5q9+WrgX#Hed^mm@l_;F=p5rK_f#a>1;er5&7N`WrxbtVTnpzz>TxOic z+gnHR%?w@^Y~5iZ~hM0p+>#+@S}Bl?|wT%#Z-8z3Uwla)w+BJ3xPf6 zpVUCDgiQF&oDub%IwQ(g@v9i@G0sedUOQ;rVg{?5__OlBB|OF6d!w+ohH^F*irRC; z496HA*WqCZezko0cQd_-mhEJ)_B=E?yt#hE_$4S9)}zpwQ2$0={@uiZ_5)<*W%Hq^ zW=6xr8@Rd;N2h&Q{&3l>+Hq<;-dicT7fZ*&OtlXRf~Fclt>=>Xd|Vl5y^)^8okJfydZ~NF{=;19YJXMkf2?a=KF(!VcqgO-Q=WtdU#YAfLV}Y z4&Y$RIleo|k;S0i6xvx6^}&SYi6=%cSA#NDkEx#vNmc$+8`m!Mxz)B!7{+zUX>8MCFQoYrgl&mjI~O}(x6}% z+}<(@yPEK2&Ah)R<&H)?&7QyiUf&KQL%(6BA};MqAMYU2T4~XmpfP3r4G3KIik8g+ zFaC?)ML9o1xHjmT7;PXyV`p$}W8(4g#`7^M@u6?PwG%8E2(RlVmI|sNKaHP<-v0g1 z#%m(inYjrgVEjKOo@7jhMb!rYRcdSWl`tAN(Nzgh3nEt z!~`q7FDA#y#MiBq3{z`fqD|a3P~PL`8^$gtjTqjuXoCi#4)kjx@cOv&N5R1Fru4;$ z>W#JVP%o_DvYQd5dwaf}!^B%Cs_~N&&k!El+9^mX2-;gSJ{g z;Ht<@&zKR`D@~OP%7`YWs#(Fbyk|xt8PZ<@lCvhsG!=xsSc52q9ioE|0JPO8tN?Wv>@jUq z-<&?8AiRPHf|2;2^PoM(MV)c&WORNp&9}UEbntCom&p^S6ipk|0^jy2Hy6TVR29or z#|2&49c>&${Qb}7+aPELpESlX|5T*;=IB|Ko5r*ks_Fe)=JBGJ{d{L-{=)xS`!VGA z=HMDm^VsG5lLS$@juwtp_J;N85}MM3A+)l)o642t#bb9wt66Nal@ab+3>SOZz7=QZ zYM(AGoWZWvF9}c5d(kbvBGb!?HiD01VGVmsv?#Dqvu#ZoizwjX@530Ua`RrLbzE@l z%2Bh~Uux8OxVT<{Mm5X2)D72OnniE@m?u=9oR3LN?IfAzLgm?x82sXd#o4eK#*n>5 zMVTKf=0)wSS$?b{spDYr31ObF7k=P@ZPfG;McDUAk2AEpf^f4B6N8SOd-Gk=UtU!A zj)4k4e3XO+9kpZY4%?e?O`!c{a$*HhB}L0th1>d2uB;$ZW2c}7y)Jjap)-(8TjaCk z9~H#ts5ZFW(@tEq$HT_6a#clS;s?(dHq0w=l3X9d;c zCOKNAxdx8|N`gxxZ^0t?W+L;63^PW~t0cxojZ8yCBo9~q9rh^mSh7eP!U3U{*QQ0R zD}$L<_h1pc!eKa#%{9tw3$d#|cSe*+Vg0!pWy<-L#luktW+{jXEpJ9_I57LOOq{)@ z4aW4)Ogotn9=iqy2h~LssR0n;n~@_xqKl-EEyfm3UlrrTnQ6l z1?y%X7fzvKk+WfH<=AjDPbmx=dgY-4E|R;di7Ems6f@KQOFO=VZ=);p!N89;@0Y8q zi?lo~+sv?e2q_O#Ef_Uz9C}szj&tO%X?q_c{2XghtLG!aVpC=XGILY4I#nk%c+0LBV;tb)BI)9OYfEwcRPC;OpGkZ}5cFQOn&oxrt%uMa< zCFI%Co|uSZptnb>{CNnlGp->F^rUG%tpdfE%n8>pwUeE8?%BqiJJ)AUxvPF^(fDXK zvJieNT$^d*N7GyyvJtu$n%dPVnz3^!q_l4?SG75(UtBaYn!WC@)f-pLRM`8OJ1N@1 z-8OAp$*4{v_z|03)wQ#v7TTc8g_FWME#x!hF&o0|kE6D(##x4U8m`o7Ft-Wgub4Rd z$eV(3lW^Rwnt0HTa%oK6G5>+OG+*;DICt)tj_FB3MJH^bg`2A|2FulTMQz+M%?4so z)aX2ds62^lA)|xFzSHAG$4(sIoS53hGHn7kPsZh-X2!*d#oH9Y6EAav5ZCXVoF-K)nC@PngWoeH| zSt4Vj8KzMtGIu%*V+!GMWf+y(F{>S9Xfw)e56vO7tsruy#Aq^Vx5Em+#4Lo#_Uq*r z4Mk=XEgPakRaWlT9I`S!$9Z4YwvnhRzioyIM_NODz5c`G%4X=yVeKpvho)S#gGsP#7i_MXJ$y%UMV}}{J#tg3L0R03|vEI!sZgWF-xTO(6S{og|Xx8VR#8Ms%RpL zwbgxw@sSeSvlo1n3D7Xz8A+X?U!yEzW|^j=b{u&P(Q0rVfa&&M2=gJ!hd}tfS&u@_ zf$~$QBxbI5c*2P)?eT%nT1SyNcP1^Al*Fvjx6G56f_JIclK>&NI*9V2I+hZ*+{M6QB-3CL;i?*F|CU4osa z$c^E%QI1%x)>2gU^XW#*FI?Y#(;HN=h3qFm6e>715uX!QZq8$qH&||%@$H+!2fg6@ zxLN2kVna1QY6k8>w2$IC#b`f<3@lS#RX^OVgY}Omq-mG=D#j5-TO1y1`Y;R79q@eu zHej$P^38%6Y-?#|h6*-nS9cO|V%FtjfjyVAy%y(_OKVxx>pH90w7T^Ak$FPS$rW{R z&;GBi{z-(tnHOx}o9~IOMS6~wZM}ZL$0!c3uOHnYpDxcA47##Ly<5>1b1?yH@;kgJ zA8sQuGqmi&_3bs0pR^HGGppsQTB5#X?uCy@rlF%@bu9y3WP6F4tt@Kh9X13v+GAs= z(paC&tZh|MdrxY0M`bUfjQd0Es+rESWgOzbXQBU^)j4 zV^2}6$Jh4z6l_4Ke)`RV&hn^Zk_AXBi!=$Vet9$b+~f2QoFdb@&DXbogyQg`em_^e zOVW0u-o%cgCuoZFPM}?!C9zG|cAb%eR-V1S;mp>mu-&(|Jls;s%Bdarl&fa`gXeBE zjW%EzfW?iMab3Z}5AOQ(Ng`J`%JOj{xuMqO&>Ez;t^EocLlp*ZYdu@bx4o#|L2FUF z5^n}(uQIW~6^kI+1>X(T;s`Ce@u>;IgF^(!SkN``UtZnv~=uNNQ8 zXW`S=kys2;91*Jm-Zf(ESVhgV`pB;~xOO8}d{yvdyuAiB^r}ERNNy8WOnnswi>W;Y z;kC69M9#0VTw5Nmih@NLwR`AY6IB*hMkzAsMPcqLW69MoSruD23-GjhWO!sAA$IH0 ztxxY66N~j;LUUxnjUq>4`{f!T!%_2rMhk0UAP>Xb1?9ImJ0F5em$m+-aLd13&+<1E zx|S`Mz27kQLx!I{{TYf*)Sh~7ZNnQ^2i18#@?o8vdK2c`w9MN!tR&hK3%Ol59vpfV zjhhhM{i>1Nb(6ry-cH4g`kc;W-vxVzY3q4meh_PMiLnk+E%(!|hJ;&x%(fm{qU}Xm z{j{4b6MKjZ>_g2)F(O(AVbn0Z0?l?Y=FmDU5$1M}o$by>ola+^oorTyhlP~RW&}o( zfYF1pRZoF+6gjrRsNdJIuCo>u;_;{btNe!9POM|fo^Q}DPKGD6n(TYCNRGRLE~-qP z^VBx)X3i$H&C>)a zd?sI1YB&!L_*8)bmNVymhZ0PmQS1l?K!Be;d5o<`Zx$1yP8_EqK6P<*d;oF6E2-7J zL|T>>t_em3>(M4-@?`c+(^LaRlM(NKYa#$CK zRT}-K1n=ATAdO<_tbyHcy-|%OlN?cron6LGj2=A38VptC)ZO zGVz)X*XF?M1){PkKkh3|n1|%XTf}s%kIcMP{3sG;$qI$y4fCknS17(Uzmi+}i4o#{ zzpUI}+-2^TOZ$sEL~?xKT7Tg)#n?I0H$dEjQ_LP7AZ|+Biuuu4oD^%snOJe#cYtVX z=E}5z;wJMRIf{SI$c+QV%`o{p{&;ypMXbm3{u6^lR};Ja4iYz)e-_mYK{R6saX5u` zr#v@EG!ymb$@IaZZ~M5)aTQ}@;;P40jH`=(Rf?;M|9axmf>LUdoeM$7*?O;Mcw7wx z7boubZdQ zz(55AR}p_x<0{8i@>tS8OceQJ)8gvJR;^SC@+{j}7yG|yan<0qx}%A!3w2yQ&$NoM zJ;;P_Z46~B{N3!Qte?=c+ zzTc=Q1QK`QA>1K;yj@gle5uGzQWHDc!c&b=ip$1T>|F3vHm*o`kiYrz;3y1Am|XLG z;H%+cnrSW!^eq;BOtV0)9wBZs2gu(?i0Q&8kdsD=@#b=QWF+c9;{w@jlo;XV&fEy^ z8M$SYDD-mMZ4eHV9W54nxivQEj9fih+-h#6sT?o&wubOs*?f!`8fzz1J~~EJ#cl=E zr*Us;=&^M*Grc?$jZChA|JIAEAOj!o6SgVqpHCCj@ zAf+Si;1jveG=e{eGL02->O4_h{ytW8^m4yw$QuMYjT7rkvs9iQFYEi1Z1oDf;PWY-De5s}(k9-1I}iuS!_#zg$h z>5a{w@wa<#xox88jod9WNxULbTgx{mp@r=Yw3>{{DN=8f^`?qUD=w}XLPj!W->G7; zSzmrNRjd=<(ei<5;$eY}Q!7sw&zctk+ovOk%~Y8wiaw(LNV#LCSY$4f-Dla&{;gT!A?zdCeKv}Gvs^wKR4QxV1v)BA?h=E|1MDv!nes^H=iQ$Bh(<_a&)7q3{{WD2rJuwIwmQtuVHh)KVD(NpY}tNCY2 z;M~39MiW)2#eHHJI)%U8CuW*k1M&BZGB~d^PbNPgZZS{EF%KY4a|7=@AmU83M83aJ z{M{Tbiyst^nuq1j{Bug)vq(%v2tO}E>i5dg4&8t*puRBaj~5|e=nw#Ha{%9a^oi94Sew=v*mf2u@VV?M9$)$_vHcpIV9^p zg+H5RDgFp=ygc$0^5{~a@zW?UZ$>pc4nNDjt56L0KO_DDBRyA%A5dVeR-=Fy%0>7i zl2YZ@tKo0C%zjqf>gDHZh}LCkJ}27BJg-2gug^X20k zM1K*JFVAfdgGA+?vd0VJe&o!77m%P*S^q`EZ?v4tKd789iespin_fayT`qkaka!mkne63Zz5yoZ4xh|-AFyD}Wyds_vZHCL0uZr7Ih=06_XnZ4Y-HQCFIb5#aib%#31!7)9 z14XS{`a0!<jsfdRC z)l zg>RFYI}x{(K62hpv0o(R$v(T_HzQ9zhreFFNQ2|mvhTYhUu5OUo8N`DdtTs~cQKeS z8_U=Kf!umT*4&MfSRm)^MiDHMpYBFaGELTe59P8laQ}N~EGUZe??ZV}cK$#N6A4WM z&wYSWK)3bF9@L~fIqpNWrByQVBebwodEZA6UXs6mBp$#hVgAPm=%oCPf1Z>*_KLx> z^kWe#H|#~B9F^ui{K=66_rdA{xnUooax@V830giH^5gs2cV@`;2gKWOd-VWXdwn_d zARP6U+YcgYSnT*I`i!}9$EV^|)T*if6t4=ShOB!?yl=J%oI4~&d(1Vm@UWO8QhNms z9v1aI=#?&iiJozH;LfAsF$+1c^gArXN&Q}w^cjg!nK16oaK>o(yc7Sp1v1kZphbAd zSEAdrXl_u{PmAudMe@&I@%WkdwMagaL?VTM-@@{Wf1?YT@;#nxhW{HL3eSjSbG*#_0fM{FU>Go7K5_=jZPKcF zDn797jKJl=6@x1lR~)V~fo*5J4U=l}D9|JX`Uc{_ueqJi^#S&w5W-lwP{#b>%@9|X z$hv=c)2))n@vShlFUVehc+;A8f5O>-cqe$u0bMZQKr4nN~{nvk1`+%{fzt?bvtDm+tSC9uLWA4h7hra- zyYVJSW==4xmOFue@h}?Ju!|6~wV?kWidJNHavIAWsngUi`%Y|*2R)iCjnemsSO6bhVg^Syr*1twhh(RtK zMQ@ivUvgQDRVV%;;?LHFKxFe*vFzq3tXtk4PF8J{KgL*ft=exR<+h*nSgW3u^$uQV zA^d>c6>C+M8IM~P7YJ1rDLB}U}v8?qTrYgg{KpE1hU%>^UJ$U%hNznygs3zk0Yp3h7Gwyfh?G3 z#(DnkP^xE_^5mIneCu?6al+~R>f!h)BkTYI#LB3POBhLr6KgDLBjzD-VuPLF`nK*Y zbQwr6bTWOTRYf-OBKHzLa zr#3N!{C(=?Aa{AKnpW*k4C6R_Z;)rbRwFBBzf)`*WQJwcu`UF$w}rw#dVmW~==g36 z_2$*}4SZI*mHU~~);7oj zpH(d(=3h>Zpw}{F??*WRUradegoxpRT>TE(LE8l6@g7LoD%Z%~305ud3CH^yIXl6sou2otQ%rUw zTC~i{9aeB#FYE)}bwkqolUrt07tc`vuADQ>O%q(kFN&mp*u~*TUNux@} zjp#OR)P#`+LN?^_b!O#CiEti_K+#Nl6>md1zbxwalygo|u9q*CMGKmB-bwg+d891v zWBETiDOiu7m=8Jb&pshj6*cvO(^0RN4a!-mR?JUMn%2wS<wk0z#}IeIV{O) zm~i$tr*hdra=%NvlX1*lV&|{Tz4MxxZr^jAvb^-W(;uvtzbBzAPhLha=nL1%8s)9Z z9`w<&^i8XZIEC%=%Ue}qdlpyBmcFV>lw_@)vA6 z_rjAfc4Pd?>bWu$@-6m0hgrt9NKte9p(JcKL<2QW#|SOE#PMsCMTl^hzzrx>cho=* ztcd22GpjSHe%$@@qIW#Yj3}& ze8clfOL>;_ldVeDaMZfv(5{uwBwLlOj`4V>fW&T;ZzrQ&bVr|xssTKnY^7LT(d->G zDu6WRy4Ur>u=~aV0CQMN9=)#Q&dz zYrN*m#-3aFLOpc0D#U8M5K~dPlt(M!?jM8E+F>Z^(cUA=wvh=!hYcOau+PcXmC=K& zucVyH+bdh?S*4XjKKW)5S7^s6_)@*`fGVavOny$jRM|?KSc2gMN6jjtwlDoUmY&ja z31bO{$Q-V^Tm@_NV%x>uYNk;D7ZRkcJKF%Mx5XHyVkG>fS!vjp%1M|S{YubZkFNRS zaPA+Hr$yOH)Le;rbiH-dgi#|(;7PaSRHULi)NADnRjeBEBk@ewmXo z_MsbVyS!Y*YG_@mVcO4FYh{xZE5pjoR32sj6m^sf+v+&gg>4|TuM9VH;m^6PZmsK76qg%rlER;p*URfUm29nSTNP(E)<^KR zg`rhZT}v^Nbqvm{YNh&@;m8QwR_sO>+7X0drQ#CC0z48&=&_pzf0?$v1X;ui9g0lw zt9?3h24O>*nD#(qGbCYKXc!eBsf9}zV=+&_Xl|B`s#)p&vFPrPLa`?3CAjqjBq}Gm zW;sZo^fF^R#u`DR%@)k&cBcIlw^`0d0Qtw;D}-D7MmLPh z^!ao0`fvx+m_pw{eXuZ`*mv(_+7Ex5(4Z1tx2n1xYjQd})t;(@ui>%gothY)WOXr( zt_X3H?38AuH7UWrIk12uBmCQ32=qAbMyIRZBp*sc*_3osUgRc(&}_m@;UR>+Y;DdU zR81U-PJqudo8;v*-1!FdFb&i*U}m~iwcf&>PJ;->LS;fGdKP zs!Y^j@>47R8sNfbr~QIzd4MwlS85<$7yIj+FPCA}wyxll2(N80j~Fx1>039+aT%yu zNrRnc@UmQ*VO7mO31nk`8JGPnNccB1kgDEhC#pMpo0sL$4Bo$nI*ET-nwbc7B_`{b z7ca{OnO0`jl3`B4G1R|&@d25UfeQn;;Z96nmUm@Z)vY~6P6@s&pU$*Wo9!%C2)A}1 z`XdFfdQ96k!YL@)kzY3ymF1tAmaoytks)zt^*_Bi*~pcOc5LD6sZGeneAfAxF;3lh zSq`gdr8i5(ZH9H8VcVAW||>R485t(xczJU7V>wUFm$C#eX?F}2WG*aNV` z-6S8WW!1M*r|MepPAzm;wWsN(1Wb{!wXGzpaJmjYy*4V!@DlCgW?=r<8LB-YDo9^M zMIC-;MC^4%buwql%wVs=VL&i*;=Qv>d-S?Vo~Ui5HQjobvI!#`d4y#`9Xk`=nxkTl z!dmqb9{?>~Od}D0UvhC0c#1b%Kg-3`?{qQ!?{+cu+yxhZ@N>fF*1DRZ_Z#;oh6D_N z8vwf;7(CllGxa-NOanaV!>#9e1e&Smu@{=@pNEWSPJ(@dhmvRk9q?!k%?yACaA>BU z2Y_g%o(F_zrk-bfXr`WrfM}+k$3JLJf_;N0MQ8yX@BjzR41gy*Xr`X0VQ8kF2WM!e zp66L;rk)30Xr}&ba}EW(L5$eKk|h{eU%7&o}Lwspl@mnyKeb zwTk@)9dK`3w*zjbcdcW(L45hBZ^qjfgc<&lS>|spm>+&D5i>b=Z$)K?fou+=17{)Yr}o*VlJ3 z^;~g^KlnM#j7Pg_roOX_837*7N52Z9y z&(Dn<`ziulbMJP*ZwxdufKOe_0C@b7ThHT>G*izbmNeV`T}(Z{yE77O7fueGmrpgu z6e~ZP)Bfm=->qq8IQ+m(Gxa{=^*pLjGxhxVP&4#?<0GsW(*io+ znl{Z0;AyNI(@Z_rk!hxW0G6|9rk?BNG*dsfWr(Tg3c8RUHDY+Hkbn-jelFwypX}#` z*p7gUX@JLnYxmUi5OK}a^Q3Xj)bltn&32D$ALM3BoYus%)q)Q251zxOnE~*yGR-u= zgUvKk&(qN~Q_nBVHB-+oz%|=FGQS$v0y^NQ)|wdrKhD-nJr}BIrk)>&Yo?xGPHU!~ zA6sjtzA(g2kG#BHxPz50W&k|C!W{rlo6t->52esd13YR&Gxa=@Lo@X}LBnCyBlDyU zw*#I;p_u{j#0t%J3SCS+&mwW_d1{De>Up||X8PxWf;Q_OnP(5W9q>d%%?yA?Cu(K@ zJmF9?^*jktGxa z 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 vF{HtrXR_ShD872^-rFr~sC)!kQLProject: -C:\Users\LSMushui\Desktop\RM\test-rope\̨\̨\Project.uvprojx -Project File Date: 11/02/2025 +C:\Users\LSMushui\Desktop\RM\workspace\Infantry-C-Board-from-PG\̨\̨\Project.uvprojx +Project File Date: 03/24/2026

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\LSMushui\AppData\Local\Keil_v5\ARM\ARMCC\Bin' -Rebuild target 'Target 1' -assembling startup_stm32f40_41xxx.s... -compiling system_stm32f4xx.c... -compiling misc.c... -compiling stm32f4xx_crc.c... -compiling stm32f4xx_cec.c... -compiling stm32f4xx_cryp_des.c... -compiling stm32f4xx_fmpi2c.c... -compiling stm32f4xx_cryp_tdes.c... -compiling stm32f4xx_can.c... -compiling stm32f4xx_cryp.c... -compiling stm32f4xx_exti.c... -compiling stm32f4xx_adc.c... -compiling stm32f4xx_fsmc.c... -compiling stm32f4xx_dbgmcu.c... -compiling stm32f4xx_flash_ramfunc.c... -compiling stm32f4xx_dfsdm.c... -compiling stm32f4xx_dsi.c... -compiling stm32f4xx_dac.c... -compiling stm32f4xx_gpio.c... -compiling stm32f4xx_dma.c... -compiling stm32f4xx_dma2d.c... -compiling stm32f4xx_flash.c... -compiling stm32f4xx_dcmi.c... -compiling stm32f4xx_cryp_aes.c... -compiling stm32f4xx_hash.c... -compiling stm32f4xx_hash_md5.c... -compiling stm32f4xx_hash_sha1.c... -compiling stm32f4xx_iwdg.c... -compiling stm32f4xx_lptim.c... -compiling stm32f4xx_i2c.c... -compiling stm32f4xx_qspi.c... -compiling stm32f4xx_rng.c... -compiling stm32f4xx_pwr.c... -compiling stm32f4xx_ltdc.c... -compiling stm32f4xx_sai.c... -compiling stm32f4xx_rcc.c... -compiling stm32f4xx_sdio.c... -compiling stm32f4xx_spdifrx.c... -compiling stm32f4xx_rtc.c... -compiling stm32f4xx_syscfg.c... -compiling TIM.c... -compiling stm32f4xx_spi.c... -compiling Delay.c... -compiling stm32f4xx_wwdg.c... -compiling stm32f4xx_usart.c... -compiling AHRS_middleware.c... -compiling UART.c... -compiling user_lib.c... -compiling stm32f4xx_tim.c... -compiling MyI2C.c... -compiling WaveFiltering_Kalman_Filtering.c... -Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst" was declared but never referenced - float pDst,pDst1=1.0f; -Control\WaveFiltering_Kalman_Filtering.c(13): warning: #177-D: variable "pDst1" was declared but never referenced - float pDst,pDst1=1.0f; -Control\WaveFiltering_Kalman_Filtering.c: 2 warnings, 0 errors -compiling CAN.c... -compiling LED.c... -compiling Buzzer.c... -compiling Remote.c... -compiling IST8310.c... -compiling Laser.c... -compiling BMI088.c... -compiling M3508.c... -compiling GM6020.c... -compiling M2006.c... -compiling LinkCheck.c... -compiling Warming.c... +Build target 'Target 1' compiling CToC.c... -compiling CloseLoopControl.c... -compiling AttitudeAlgorithms.c... -compiling IMUTemperatureControl.c... -compiling PID.c... -compiling RefereeSystem.c... -compiling Keyboard.c... compiling Gimbal.c... -CarBody\Gimbal.c(132): warning: #177-D: variable "lastyaw" was declared but never referenced - float use_pitch=0,lastpitch=0,lastyaw=0; -CarBody\Gimbal.c: 1 warning, 0 errors -compiling Visual.c... -CarBody\Visual.c(119): warning: #550-D: variable "Visual_Type" was set but never used - char Visual_Type = '\0'; // 存储类型(r/b/u? -CarBody\Visual.c(122): warning: #550-D: variable "Visual_ReceiveFlag" was set but never used - uint8_t Visual_ReceiveFlag = 0; // 接收完成标志 -CarBody\Visual.c(128): warning: #550-D: variable "RxTimeoutTick" was set but never used - static uint32_t RxTimeoutTick = 0;// 超时计时器(毫秒? -CarBody\Visual.c(292): warning: #1-D: last line of file ends without a newline - */ -CarBody\Visual.c(20): warning: #177-D: variable "dataType" was declared but never referenced - static char dataType; // 存储类型字段?'r'/'b'/'u'? -CarBody\Visual.c: 5 warnings, 0 errors compiling main.c... -compiling stm32f4xx_it.c... linking... -Program Size: Code=32376 RO-data=1372 RW-data=604 ZI-data=3372 -".\Objects\Project.axf" - 0 Error(s), 8 Warning(s). +Program Size: Code=32184 RO-data=1372 RW-data=616 ZI-data=3408 +".\Objects\Project.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

@@ -134,7 +44,7 @@ Package Vendor: Keil

Collection of Component include folders:

Collection of Component Files used:

-Build Time Elapsed: 00:00:05 +Build Time Elapsed: 00:00:02 diff --git a/云台/云台/Objects/Project.htm b/云台/云台/Objects/Project.htm index a7d8735..2dfcb65 100644 --- a/云台/云台/Objects/Project.htm +++ b/云台/云台/Objects/Project.htm @@ -3,7 +3,7 @@ Static Call Graph - [.\Objects\Project.axf]

Static Call Graph for image .\Objects\Project.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Mar 10 14:28:10 2026 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Sat Mar 28 17:36:53 2026

Maximum Stack Usage = 280 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -121,7 +121,7 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

  • startup_stm32f40_41xxx.o(.text)
-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Calls]