diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
index 4cc4adc..7d58227 100644
--- a/.settings/language.settings.xml
+++ b/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/App/inc/inflash.h b/App/inc/inflash.h
index b9443ad..b2ad2da 100644
--- a/App/inc/inflash.h
+++ b/App/inc/inflash.h
@@ -11,6 +11,22 @@
#include "debug.h"
#pragma pack(push,1)
+
+typedef struct _uint8_config_info{
+ uint8_t start_Flag[2]; /* 起始标志 */
+ uint8_t address[7]; /* 地址 */
+ uint8_t end_Flag; /* 结束标志 */
+ uint8_t Access_Node_Type[2]; /* 接入节点类型 */
+ uint8_t Communication_Methods[2]; /* 通信方式 */
+ uint8_t bat485_Baud[4]; /* 串口波特率,为0代表bms不支持通信 */
+ uint8_t gw485_Baud[4]; /* 串口波特率 */
+ uint8_t ConstantCurrentV[2]; /* 高于该(电压 / 100),小于ConstantVoltageV * 100电压进行恒流充电 */
+ uint8_t ConstantVoltageV[2]; /* 高于该(电压 / 100)且电流大于FloatI * 100进行恒压充电 */
+ uint8_t FloatI[2]; /* 高于该(电压 / 100)且电流低于FloatI * 100进行浮充充电 */
+ uint8_t startSolarOpenCircuitV[2]; /* 高于该(电压 / 100)开始充电 */
+}uint8_config_info;
+
+
typedef struct _config_info{
uint8_t start_Flag[2]; /* 起始标志 */
uint8_t address[7]; /* 地址 */
@@ -19,6 +35,10 @@ typedef struct _config_info{
uint16_t Communication_Methods; /* 通信方式 */
uint32_t bat485_Baud; /* 串口波特率 */
uint32_t gw485_Baud; /* 串口波特率 */
+ uint16_t ConstantCurrentV; /* 高于该(电压 / 100),小于ConstantVoltageV / 100电压进行恒流充电 */
+ uint16_t ConstantVoltageV; /* 高于该(电压 / 100)且电流大于FloatI / 100进行恒压充电 */
+ uint16_t FloatI; /* 高于该(电压 / 100)且电流低于FloatI / 100进行浮充充电 */
+ uint16_t startSolarOpenCircuitV;/* 高于该(电压 / 100)开始充电 */
}config_info;
#define CONFIG_INFO_SIZE (sizeof(config_info))
#pragma pack(pop)
diff --git a/App/inc/mppt_control.h b/App/inc/mppt_control.h
index efdbfe4..3da72d1 100644
--- a/App/inc/mppt_control.h
+++ b/App/inc/mppt_control.h
@@ -25,10 +25,20 @@ typedef struct _SL_Mppt_para{
extern SL_Mppt_para g_Mppt_Para;
#pragma pack(pop)
+
+/* mppt工作模式 */
+typedef enum
+{
+ TRICKLE = 1, /* 涓流模式 */
+ CONSTANTCURRENT = 2, /* 恒流模式 */
+ CONSTANTVOLTAGE = 3, /* 恒压模式 */
+ FLOAT = 4, /* 浮充模式 */
+}SL_MPPT_MODE;
+
extern float duty_ratio;
-
void mppt_readJust(void);
+void MpptMode(void);
void mppt_constantVoltage(float InVoltage);
void test(void);
diff --git a/App/inc/task.h b/App/inc/task.h
index 1f0bf7f..0f9da8b 100644
--- a/App/inc/task.h
+++ b/App/inc/task.h
@@ -19,15 +19,15 @@
extern STR_TimeSliceOffset m_runled;
void Task_RunLED(void);
-#define mpptControl_reloadVal 100 /* 任务执行间隔 */
-#define mpptControl_offset 50 /* 任务执行偏移量 */
+#define mpptControl_reloadVal 1000 /* 任务执行间隔 */
+#define mpptControl_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_mpptControl;
void Task_mpptControl(void);
#define usart_reloadVal 100 /* 任务执行间隔 */
-#define usart_offset 1 /* 任务执行偏移量 */
+#define usart_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_usart;
-extern uint8_t RegistrationRequestFlag;
+extern uint8_t RegistrationRequestFlag; /* 接收到广播帧标志位 */
void Task_usart(void);
#define wdi_reloadVal 1000 /* 任务执行间隔 */
@@ -36,7 +36,12 @@ void Task_usart(void);
extern STR_TimeSliceOffset m_wdi;
void Task_wdi(void);
-#define recvbroadcast_reloadVal 5000 /* 任务执行间隔 */
+#define refreshRegister_reloadVal 10000 /* 任务执行间隔 */
+#define refreshRegister_offset 0 /* 任务执行偏移量 */
+extern STR_TimeSliceOffset m_refreshRegister;
+void Task_refreshRegister(void);
+
+#define recvbroadcast_reloadVal 3000 /* 任务执行间隔 */
#define recvbroadcast_offset 0 /* 任务执行偏移量 */
extern uint8_t recvbroadcast_flag; /* 是否需要再次发送标志 */
extern device_handle g_recvBroadcastDevice; /* 串口句柄 */
@@ -44,7 +49,7 @@ extern uint8_t g_recvBroadcastRegisterNumber; /*
extern STR_TimeSliceOffset m_recvbroadcast;
void Task_recvbroadcast(void);
-#define CapCharg_reloadVal 10000 /* 任务执行间隔 */
+#define CapCharg_reloadVal 3000 /* 任务执行间隔 */
#define CapCharg_offset 0 /* 任务执行偏移量 */
extern STR_TimeSliceOffset m_CapCharg;
extern void Task_CapCharg(void);
diff --git a/App/src/collect_Conversion.c b/App/src/collect_Conversion.c
index 3935c5a..89a7b9e 100644
--- a/App/src/collect_Conversion.c
+++ b/App/src/collect_Conversion.c
@@ -18,7 +18,7 @@
#define MOSFET_Temper ADC_Channel_6
#define PV2_VOLT_IN ADC_Channel_7
-//#define enable_Printf_VI
+#define enable_Printf_VI
/* 光伏充电输出电流比例,放大倍数*电阻 */
const float P_CHG_CURR = (1.0 / (50 * 0.005));
@@ -84,6 +84,7 @@ float get_CHG_CURR(void)
I = (float)(I_ADC) / 4095 * 3.3 * P_CHG_CURR;
+// printf(" CHG_CURR I : %d /10000 \n", (int)(I * 10000));
#ifdef enable_Printf_VI
printf("\n CHG_CURR ADC : %d \n", I_ADC);
printf(" CHG_CURR I : %d /10000 \n", (int)(I * 10000));
diff --git a/App/src/inflash.c b/App/src/inflash.c
index 56979c7..36628aa 100644
--- a/App/src/inflash.c
+++ b/App/src/inflash.c
@@ -16,6 +16,10 @@ config_info g_slConfigInfo = {
.Communication_Methods = RS485,
.bat485_Baud = 9600,
.gw485_Baud = 9600,
+ .ConstantCurrentV = 1030,
+ .ConstantCurrentV = 1300,
+ .FloatI = 10,
+ .startSolarOpenCircuitV = 1800,
};
diff --git a/App/src/mppt_control.c b/App/src/mppt_control.c
index 61c6541..c5404c7 100644
--- a/App/src/mppt_control.c
+++ b/App/src/mppt_control.c
@@ -18,11 +18,6 @@ static void ConstantCurrentCharge(void);
static void ConstantVoltageCharge(void);
static void FloatingCharge(void);
-#define TrickleV 10
-#define ConstantCurrentV 13
-#define ConstantVoltageV 14
-#define FloatingV 14
-
float duty_ratio = 0.5;
/**
* @brief 得到输出的功率
@@ -33,29 +28,6 @@ static float Get_OutputPower(void)
{
static float OutputPower;
static float V_out, I_out;
-// float V_out_array[array_num];
-// float I_out_array[array_num];
-// float V_temp = 0;
-// float I_temp = 0;
-
-// for (int var = 0; var < array_num; ++var) {
-// I_out_array[var] = get_CHG_CURR();
-// V_out_array[var] = get_PV_VOLT_OUT();
-// Delay_Ms(1);
-// }
-//
-// for (int var = 0; var < array_num; ++var) {
-// I_temp += I_out_array[var];
-// V_temp += V_out_array[var];
-// }
-
-// for (int var = 0; var < array_num; ++var) {
-// I_temp += get_CHG_CURR();
-// V_temp += get_PV_VOLT_OUT();
-// Delay_Ms(1);
-// }
-// V_out = V_temp / array_num;
-// I_out = I_temp / array_num;
V_out = get_PV_VOLT_OUT();
I_out = get_CHG_CURR();
@@ -79,8 +51,47 @@ const float step2_pwm = 0.001;
//#define array_num 10
void mppt_readJust(void)
{
+// static float last_duty_ratio = 0.5;
+// static float now_duty_ratio;
+// static float last_OutputPower;
+// static float now_OutputPower;
+// static float step_pwm = step1_pwm;
+//
+// last_OutputPower = Get_OutputPower();
+//
+// printf(" duty_ratio = %d/1000 \r\n", (int)(last_duty_ratio * 1000));
+//
+// /* 正向调节查看功率是否会变大 */
+// now_duty_ratio = last_duty_ratio + step_pwm;
+// if (now_duty_ratio > 1) {
+// now_duty_ratio = 1;
+// }
+// Set_duty_ratio(now_duty_ratio);
+// now_OutputPower = Get_OutputPower();
+// if (now_OutputPower > last_OutputPower) {
+// printf(" now_OutputPower > last_OutputPower1 \r\n");
+// last_duty_ratio = now_duty_ratio;
+// return;
+// }
+//
+// /* 负向调节查看功率是否会变大 */
+// now_duty_ratio = last_duty_ratio - step_pwm;
+// if (now_duty_ratio < 0) {
+// now_duty_ratio = 0;
+// }
+// Set_duty_ratio(now_duty_ratio);
+// now_OutputPower = Get_OutputPower();
+// if (now_OutputPower > last_OutputPower) {
+// printf(" now_OutputPower > last_OutputPower2 \r\n");
+// last_duty_ratio = now_duty_ratio;
+// return;
+// }
+//
+// /* 正负向调节功率均未变大,此时设置功率为原来的点 */
+// Set_duty_ratio(last_duty_ratio);
+//// step_pwm = step2_pwm;
+
static float last_duty_ratio = 0.5;
- static float now_duty_ratio;
static float last_OutputPower;
static float now_OutputPower;
static float step_pwm = step1_pwm;
@@ -90,28 +101,28 @@ void mppt_readJust(void)
printf(" duty_ratio = %d/1000 \r\n", (int)(last_duty_ratio * 1000));
/* 正向调节查看功率是否会变大 */
- now_duty_ratio = last_duty_ratio + step_pwm;
- if (now_duty_ratio > 1) {
- now_duty_ratio = 1;
+ duty_ratio = last_duty_ratio + step_pwm;
+ if (duty_ratio > 1) {
+ duty_ratio = 1;
}
- Set_duty_ratio(now_duty_ratio);
+ Set_duty_ratio(duty_ratio);
now_OutputPower = Get_OutputPower();
if (now_OutputPower > last_OutputPower) {
printf(" now_OutputPower > last_OutputPower1 \r\n");
- last_duty_ratio = now_duty_ratio;
+ last_duty_ratio = duty_ratio;
return;
}
/* 负向调节查看功率是否会变大 */
- now_duty_ratio = last_duty_ratio - step_pwm;
- if (now_duty_ratio < 0) {
- now_duty_ratio = 0;
+ duty_ratio = last_duty_ratio - step_pwm;
+ if (duty_ratio < 0) {
+ duty_ratio = 0;
}
- Set_duty_ratio(now_duty_ratio);
+ Set_duty_ratio(duty_ratio);
now_OutputPower = Get_OutputPower();
if (now_OutputPower > last_OutputPower) {
printf(" now_OutputPower > last_OutputPower2 \r\n");
- last_duty_ratio = now_duty_ratio;
+ last_duty_ratio = duty_ratio;
return;
}
@@ -141,30 +152,8 @@ void printf_data(void)
*/
void mppt_constantVoltage(float InVoltage)
{
-// float temp = get_PV_VOLT_OUT();
-// Set_duty_ratio(0);
-// Delay_Ms(500);
-// float PV1_V = get_PV1_VOLT_IN();
-//
-// float constant_V = 0.78 * PV1_V;
-//
-// temp = temp / constant_V;
-//
-// Set_duty_ratio(temp);
-// static float duty_ratio = 0.5;
static uint8_t ConstantVoltageFlag = 1;
-// if (ConstantVoltageFlag) {
-//// Set_duty_ratio(0);
-//// Delay_Ms(500);
-// float temp = get_PV_VOLT_OUT();
-// temp = temp / InVoltage;
-// Set_duty_ratio(temp);
-// ConstantVoltageFlag = 0;
-// }
-
-// Set_duty_ratio(0);
-// Delay_Ms(500);
float PV1_V = get_PV1_VOLT_IN();
if (ConstantVoltageFlag) {
@@ -205,7 +194,6 @@ void mppt_constantVoltage(float InVoltage)
void TrickleCharge(void)
{
-
}
/**
@@ -216,8 +204,7 @@ void TrickleCharge(void)
*/
void ConstantCurrentCharge(void)
{
-
-
+ mppt_readJust();
}
/**
@@ -228,8 +215,7 @@ void ConstantCurrentCharge(void)
*/
void ConstantVoltageCharge(void)
{
-
-
+ mppt_constantVoltage(17.5);
}
/**
@@ -240,33 +226,79 @@ void ConstantVoltageCharge(void)
*/
void FloatingCharge(void)
{
-
+ mppt_constantVoltage(16);
}
+static uint8_t modeFlag = 0;
void MpptContorl(void)
{
- /* 后续可以添加考虑减少放电电流的影响,或停止放电的时候判断 */
- float OutputVoltage = get_PV_VOLT_OUT();
-
- if (TrickleV > OutputVoltage) {
+ switch(modeFlag) {
+ case TRICKLE:
TrickleCharge();
- } else if (ConstantCurrentV > OutputVoltage) {
+ break;
+
+ case CONSTANTCURRENT:
ConstantCurrentCharge();
- } else if (ConstantVoltageV > OutputVoltage) {
+ break;
+
+ case CONSTANTVOLTAGE:
ConstantVoltageCharge();
- } else {
+ break;
+
+ case FLOAT:
FloatingCharge();
+ break;
+
+ default:
+ break;
}
}
+void MpptMode(void)
+{
+ static uint8_t temp_flag = 1;
+ static float ConstantCurrentV;
+ static float ConstantVoltageV;
+ static float FloatI;
+ if (temp_flag) {
+ ConstantCurrentV = (float)g_slConfigInfo.ConstantCurrentV / 100;
+ ConstantVoltageV = (float)g_slConfigInfo.ConstantVoltageV / 100;
+ FloatI = (float)g_slConfigInfo.FloatI / 100;
+ temp_flag = 0;
+ }
+
+ if ((ConstantCurrentV < g_Mppt_Para.Battery_Voltage) &&
+ (ConstantVoltageV > g_Mppt_Para.Battery_Voltage)) {
+ modeFlag = CONSTANTCURRENT;
+ return;
+ }
+
+ if (!(ConstantVoltageV > g_Mppt_Para.Battery_Voltage) &&
+ (FloatI < get_CHG_CURR())) {
+ modeFlag = CONSTANTVOLTAGE;
+ return;
+ }
+
+ if (!(ConstantVoltageV > g_Mppt_Para.Battery_Voltage) &&
+ (FloatI > get_CHG_CURR())) {
+ modeFlag = FLOAT;
+ return;
+ }
+
+ modeFlag = TRICKLE;
+ return;
+}
+
void test(void)
{
// mppt_readjust();
// Get_OutputPower();
+// mppt_constantVoltage(18);
- mppt_constantVoltage(18);
-// printf_data();
+// MpptContorl();
+
+ printf_data();
// void MpptContorl();
}
diff --git a/App/src/sl_protocol.c b/App/src/sl_protocol.c
index 2da0c0d..0b02273 100644
--- a/App/src/sl_protocol.c
+++ b/App/src/sl_protocol.c
@@ -12,6 +12,7 @@
#include "mppt_control.h"
#include
#include "task.h"
+#include "tim.h"
/* 闈欐佸嚱鏁扮敵鏄 */
@@ -293,11 +294,10 @@ void SL_MsgProcFunc_Broadcast_Scan(device_handle device, void *pMsg, uint32_t Ms
RegistrationRequestFlag = 1;
- /* 鏃堕棿闂撮殧璁剧疆涓10ms锛屽揩閫熻繘鍏ュ彂閫佹敞鍐岃姹傚抚锛屽湪鍑芥暟鍐呴儴灏嗘椂闂撮棿闅旀敼涓3s */
+ /* 浠诲姟鍒涚珛鍚庯紝绔嬪嵆鎵ц涓娆 */
+ m_recvbroadcast.runFlag = 1;
TimeSliceOffset_Register(&m_recvbroadcast, Task_recvbroadcast \
- , 10, recvbroadcast_offset);
-// TimeSliceOffset_Register(&m_recvbroadcast, Task_recvbroadcast \
-// , recvbroadcast_reloadVal, recvbroadcast_offset);
+ , recvbroadcast_reloadVal, recvbroadcast_offset);
}
void SL_MsgProcFunc_Registration_request(device_handle device, void *pMsg, uint32_t MsgLen)
@@ -308,6 +308,10 @@ void SL_MsgProcFunc_Registration_request(device_handle device, void *pMsg, uint3
TimeSliceOffset_Unregister(&m_recvbroadcast);
SL_Mppt_RegistrationReply_pack *rpack = (SL_Mppt_RegistrationReply_pack *)pMsg;
g_Mppt_Para.Registration_Status = chang_8_to_16(rpack->registration_Status_L, rpack->registration_Status_H);
+
+ /* 20s鍐呬笉鍐嶆帴鏀跺箍鎾抚 */
+ run_Broadcast = 0;
+ TIM2_Init();
}
/**
@@ -616,20 +620,22 @@ static int uart_read_climate_pack(device_handle uart_handle,uint8_t *buff, uint3
}
#ifdef SuccessRegistrationAcceptScan
- /* 骞挎挱鎵弿 */
- else if (pack->function_Code == SL_Function_Code_Broadcast_Scan) {
- log_info("Broadcast_Scan\r\n");
- len = SL_MPPT_SCAN_BROADCAST_PACK_SIZE;
- w_Flag = 0;
- // continue;
- }
+ if (run_Broadcast) {
+ /* 骞挎挱鎵弿 */
+ if (pack->function_Code == SL_Function_Code_Broadcast_Scan) {
+ log_info("Broadcast_Scan\r\n");
+ len = SL_MPPT_SCAN_BROADCAST_PACK_SIZE;
+ w_Flag = 0;
+ // continue;
+ }
- /* 娉ㄥ唽璇锋眰 */
- else if (pack->function_Code == SL_Function_Code_Registration_request) {
- log_info("Registration_request\r\n");
- len = SL_MPPT_REGISTRATIONREPLY_PACK_SIZE;
- w_Flag = 0;
- // continue;
+ /* 娉ㄥ唽璇锋眰 */
+ else if (pack->function_Code == SL_Function_Code_Registration_request) {
+ log_info("Registration_request\r\n");
+ len = SL_MPPT_REGISTRATIONREPLY_PACK_SIZE;
+ w_Flag = 0;
+ // continue;
+ }
}
#endif
diff --git a/App/src/task.c b/App/src/task.c
index fe0df61..0a91c19 100644
--- a/App/src/task.c
+++ b/App/src/task.c
@@ -30,7 +30,7 @@
STR_TimeSliceOffset m_runled;
void Task_RunLED(void)
{
- printf("duty_ratio : %d \n", (int)(duty_ratio * 1000));
+// printf("duty_ratio : %d \n", (int)(duty_ratio * 1000));
static uint8_t flag = RESET;
flag = !flag;
GPIO_WriteBit(RUN_LED_GPIO, RUN_LED_PIN, flag);
@@ -46,8 +46,15 @@ void Task_RunLED(void)
STR_TimeSliceOffset m_mpptControl;
void Task_mpptControl(void)
{
-// uart_dev_write(g_gw485_uart4_handle, "hello world \n", sizeof("hello world \n"));
- test();
+// test();
+ static uint8_t test_flag = 0;
+ if (5 == ++test_flag) {
+ test_flag = 0;
+ printf("in time init \n");
+ TIM2_Init();
+ printf("out time init \n");
+ }
+
return;
}
@@ -61,7 +68,6 @@ STR_TimeSliceOffset m_usart;
uint8_t RegistrationRequestFlag = 0;
void Task_usart(void)
{
-// printf(" task3******** \n");
read_and_process_uart_data(g_gw485_uart4_handle);
return;
}
@@ -84,6 +90,66 @@ void Task_wdi(void)
return;
}
+/**
+ * @brief 刷新寄存器中的数据,同时刷新一下mppt工作模式
+ * @param
+ * @retval
+ */
+#define checkRemainingBatteryBower 3 //电池剩余电量30s刷新一次
+#define checkSolarOpenCircuitVoltage 180 //太阳能板开路电压30min刷新一次
+#define mpptmodedelay 6 //mppt工作模式60s刷新一次(小于1000S)
+#define checkSolarOpenCircuitDelay 500 //检测太阳能板开路电压时,关闭太阳能板的延时时间
+STR_TimeSliceOffset m_refreshRegister;
+void Task_refreshRegister(void)
+{
+ static uint8_t checkFlagTemp1 = 0;
+ static uint8_t checkFlagTemp2 = 0;
+ static uint8_t mpptModeFlag = 0;
+
+ /* 后续可以添加考虑减少放电电流的影响 */
+ g_Mppt_Para.Battery_Voltage = get_PV_VOLT_OUT();
+ g_Mppt_Para.Battery_temperature = 0;
+
+ if (checkRemainingBatteryBower == ++checkFlagTemp1) {
+ g_Mppt_Para.Remaining_Battery_Bower = 0;
+ checkFlagTemp1 = 0;
+ }
+
+ if (checkSolarOpenCircuitVoltage == ++checkFlagTemp2) {
+ Set_duty_ratio(0);
+ Delay_Ms(500);
+ GPIO_WriteBit(G_FFMOS_CON1_GPIO, G_FFMOS_CON1_PIN, SET);
+ GPIO_WriteBit(G_FFMOS_CON2_GPIO, G_FFMOS_CON2_PIN, SET);
+ g_Mppt_Para.Solar_Open_Circuit_Voltage1 = get_PV1_VOLT_IN();
+ g_Mppt_Para.Solar_Open_Circuit_Voltage2 = get_PV2_VOLT_IN();
+ GPIO_WriteBit(G_FFMOS_CON1_GPIO, G_FFMOS_CON1_PIN, SET);
+ GPIO_WriteBit(G_FFMOS_CON2_GPIO, G_FFMOS_CON2_PIN, SET);
+ checkFlagTemp2 = 0;
+
+ if ((g_Mppt_Para.Solar_Open_Circuit_Voltage1
+ > g_slConfigInfo.startSolarOpenCircuitV)
+ || (g_Mppt_Para.Solar_Open_Circuit_Voltage2
+ > g_slConfigInfo.startSolarOpenCircuitV)) {
+ TimeSliceOffset_Register(&m_mpptControl, Task_mpptControl
+ , mpptControl_reloadVal, mpptControl_offset);
+ mpptModeFlag = 0;
+ } else {
+ TimeSliceOffset_Unregister(&m_mpptControl);
+ mpptModeFlag = 100;
+ }
+ }
+
+ if (mpptModeFlag != 100) {
+ if (mpptmodedelay == ++mpptModeFlag) {
+ MpptMode();
+ mpptModeFlag = 0;
+ }
+ }
+
+
+ return;
+}
+
/**
* @brief 接收到广播指令后,发送数据给网关,未接收到指令再次发送,最多三次,间隔时间3s
* @param
@@ -95,7 +161,6 @@ uint8_t g_recvBroadcastRegisterNumber;
STR_TimeSliceOffset m_recvbroadcast;
void Task_recvbroadcast(void)
{
- m_recvbroadcast.count = recvbroadcast_reloadVal;
static uint8_t run_number = 0;
/* 超过三次,不再发送 */
if (run_number++ == 3 || run_number > 3) {
@@ -192,27 +257,25 @@ void Task_CapCharg(void)
}
Set_duty_ratio(0);
- for (uint8_t var = 0; var < 2; ++var) {
+ for (uint8_t var = 0; var < 3; ++var) {
Delay_Us(1);
GPIO_WriteBit(CAPCHARG_GPIO, CAPCHARG_PIN, SET);
Delay_Us(1);
GPIO_WriteBit(CAPCHARG_GPIO, CAPCHARG_PIN, RESET);
}
- duty_ratio = 0.9;
- Set_duty_ratio(duty_ratio);
+// duty_ratio = 0.9;
+// Set_duty_ratio(duty_ratio);
+ TIM_SetCompare4(TIM4, 180);
- if (30 == ++runNum) {
+ if (3 == ++runNum) {
runNum = 0;
m_CapCharg.reloadVal = CapCharg_reloadVal;
+
}
- printf("in test \n");
- return;
}
-
-
return;
}
/**
@@ -248,20 +311,27 @@ void task_Init(void)
{
read_config_info();
g_Mppt_Para_Init();
-//
- TimeSliceOffset_Register(&m_runled, Task_RunLED, runled_reloadVal, runled_offset);
- TimeSliceOffset_Register(&m_mpptControl, Task_mpptControl, mpptControl_reloadVal, mpptControl_offset);
- TimeSliceOffset_Register(&m_usart, Task_usart, usart_reloadVal, usart_offset);
- TimeSliceOffset_Register(&m_wdi, Task_wdi, wdi_reloadVal, wdi_offset);
- TimeSliceOffset_Register(&m_CapCharg, Task_CapCharg, CapCharg_reloadVal, CapCharg_offset);
-//
- TimeSliceOffset_Start(); /* 启动时间片轮询 */
-// while(1)
-// {
-// Task_RunLED();
-// Delay_Ms(1000);
-// }
+
+ TimeSliceOffset_Register(&m_runled, Task_RunLED, runled_reloadVal, runled_offset);
+
+
+
+// m_refreshRegister.runFlag = 1; /* 该启动后立即执行一次 */
+// TimeSliceOffset_Register(&m_refreshRegister, Task_refreshRegister
+// , refreshRegister_reloadVal, refreshRegister_offset);
+//
+ TimeSliceOffset_Register(&m_mpptControl, Task_mpptControl
+ , mpptControl_reloadVal, mpptControl_offset);
+//
+// TimeSliceOffset_Register(&m_usart, Task_usart, usart_reloadVal, usart_offset);
+//
+// TimeSliceOffset_Register(&m_wdi, Task_wdi, wdi_reloadVal, wdi_offset);
+//
+// TimeSliceOffset_Register(&m_CapCharg, Task_CapCharg, CapCharg_reloadVal, CapCharg_offset);
+
+
+ TimeSliceOffset_Start(); /* 启动时间片轮询 */
}
@@ -284,8 +354,6 @@ void hardware_Init(void)
DSG_PROT_Init();
SPI_Flash_Init();
- Set_duty_ratio(0.5);
-//
CAPCHARG_Init();
}
diff --git a/Hardware/inc/tim.h b/Hardware/inc/tim.h
index 494cbcd..0e4d28e 100644
--- a/Hardware/inc/tim.h
+++ b/Hardware/inc/tim.h
@@ -12,12 +12,13 @@
-
+extern uint8_t run_Broadcast;
void TIM3_Init(void);
void TIM3_Int_Init(uint16_t arr,uint16_t psc);
-
+void TIM2_Init(void);
+void TIM2_Int_Init(uint16_t arr,uint16_t psc);
#endif /* HARDWARE_INC_TIM_H_ */
diff --git a/Hardware/src/tim.c b/Hardware/src/tim.c
index 3fe67ab..b40a62b 100644
--- a/Hardware/src/tim.c
+++ b/Hardware/src/tim.c
@@ -12,7 +12,13 @@
/* 时间基准为1ms,1ms切换一次任务 */
#define delayms 1
+/* 延时时间 */
+#define delays 2
+
+uint8_t run_Broadcast = 1;
+
void TIM3_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
+void TIM2_IRQHandler(void) __attribute__((interrupt("WCH-Interrupt-fast")));
void TIM3_Init(void)
{
@@ -32,7 +38,7 @@ void TIM3_Int_Init(uint16_t arr, uint16_t psc)
RCC_PB1PeriphClockCmd(RCC_PB1Periph_TIM3, ENABLE); //使能TIM3时钟
TIM_TimeBaseStructure.TIM_Period = arr; //指定下次更新事件时要加载到活动自动重新加载寄存器中的周期值。
- TIM_TimeBaseStructure.TIM_Prescaler =psc; //指定用于划分TIM时钟的预分频器值。
+ TIM_TimeBaseStructure.TIM_Prescaler = psc; //指定用于划分TIM时钟的预分频器值。
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //时钟分频因子
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM计数模式,向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
@@ -77,3 +83,48 @@ void TIM3_IRQHandler(void)
}
}
+void TIM2_Init(void)
+{
+ /* 分频系数 */
+ uint16_t psc = (SystemCoreClock / 1000) - 1;
+ /* 周期值 */
+ uint16_t arr = delays * 1000 - 1;
+
+ TIM2_Int_Init(arr, psc);
+}
+
+void TIM2_Int_Init(uint16_t arr, uint16_t psc)
+{
+ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
+ NVIC_InitTypeDef NVIC_InitStructure;
+
+ RCC_PB1PeriphClockCmd(RCC_PB1Periph_TIM2, ENABLE); //使能TIM2时钟
+
+ TIM_TimeBaseStructure.TIM_Period = arr; //指定下次更新事件时要加载到活动自动重新加载寄存器中的周期值。
+ TIM_TimeBaseStructure.TIM_Prescaler = psc; //指定用于划分TIM时钟的预分频器值。
+ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //时钟分频因子
+ TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM计数模式,向上计数模式
+ TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
+
+ TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //使能TIM2中断,允许更新中断
+
+ //初始化TIM NVIC,设置中断优先级分组
+ NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; //TIM2中断
+ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; //设置抢占优先级0
+ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //设置响应优先级3
+ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能通道1中断
+ NVIC_Init(&NVIC_InitStructure); //初始化NVIC
+
+ TIM_Cmd(TIM2, ENABLE); //TIM2使能
+}
+
+void TIM2_IRQHandler(void)
+{
+ if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) { //检查TIM2中断是否发生。
+ TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除TIM2的中断挂起位。
+ TIM_Cmd(TIM2, DISABLE); //TIM2禁止
+ TIM_ITConfig(TIM2, TIM_IT_Update, DISABLE); //禁止TIM2更新中断
+ printf("in time it \n");
+ run_Broadcast = 1;
+ }
+}
diff --git a/obj/App/src/collect_Conversion.o b/obj/App/src/collect_Conversion.o
index d69f4eb..ef924e0 100644
Binary files a/obj/App/src/collect_Conversion.o and b/obj/App/src/collect_Conversion.o differ
diff --git a/obj/App/src/inflash.o b/obj/App/src/inflash.o
index 5bf56ed..f289051 100644
Binary files a/obj/App/src/inflash.o and b/obj/App/src/inflash.o differ
diff --git a/obj/App/src/mppt_control.o b/obj/App/src/mppt_control.o
index 28d27a6..d46eb98 100644
Binary files a/obj/App/src/mppt_control.o and b/obj/App/src/mppt_control.o differ
diff --git a/obj/App/src/sl_protocol.d b/obj/App/src/sl_protocol.d
index 5c52aeb..80a8e5f 100644
--- a/obj/App/src/sl_protocol.d
+++ b/obj/App/src/sl_protocol.d
@@ -32,7 +32,7 @@ App/src/sl_protocol.o: ../App/src/sl_protocol.c \
D:\psx\MPPT\git\App\inc/pdebug.h D:\psx\MPPT\git\App\inc/mppt_control.h \
D:\psx\MPPT\git\App\inc/task.h \
D:\psx\MPPT\git\Drivers\TimeSliceOffset/timeSliceOffset.h \
- D:\psx\MPPT\git\App\inc/uart_dev.h
+ D:\psx\MPPT\git\App\inc/uart_dev.h D:\psx\MPPT\git\Hardware\inc/tim.h
D:\psx\MPPT\git\App\inc/sl_protocol.h:
@@ -109,3 +109,5 @@ D:\psx\MPPT\git\App\inc/task.h:
D:\psx\MPPT\git\Drivers\TimeSliceOffset/timeSliceOffset.h:
D:\psx\MPPT\git\App\inc/uart_dev.h:
+
+D:\psx\MPPT\git\Hardware\inc/tim.h:
diff --git a/obj/App/src/sl_protocol.o b/obj/App/src/sl_protocol.o
index 1da04ed..161fd2c 100644
Binary files a/obj/App/src/sl_protocol.o and b/obj/App/src/sl_protocol.o differ
diff --git a/obj/App/src/task.o b/obj/App/src/task.o
index 243aad1..3829b4e 100644
Binary files a/obj/App/src/task.o and b/obj/App/src/task.o differ
diff --git a/obj/App/src/uart_dev.o b/obj/App/src/uart_dev.o
index 56ecb1e..c65d552 100644
Binary files a/obj/App/src/uart_dev.o and b/obj/App/src/uart_dev.o differ
diff --git a/obj/Hardware/src/tim.o b/obj/Hardware/src/tim.o
index 3b05811..082485e 100644
Binary files a/obj/Hardware/src/tim.o and b/obj/Hardware/src/tim.o differ
diff --git a/obj/User/main.o b/obj/User/main.o
index 2dedbae..03cec04 100644
Binary files a/obj/User/main.o and b/obj/User/main.o differ
diff --git a/obj/mppt_Nos_V0.4.elf b/obj/mppt_Nos_V0.4.elf
index 8046b75..2f24d17 100644
Binary files a/obj/mppt_Nos_V0.4.elf and b/obj/mppt_Nos_V0.4.elf differ
diff --git a/obj/mppt_Nos_V0.4.hex b/obj/mppt_Nos_V0.4.hex
index e804e20..537456a 100644
--- a/obj/mppt_Nos_V0.4.hex
+++ b/obj/mppt_Nos_V0.4.hex
@@ -5,16 +5,16 @@
:100034004004000000000000400400000000000034
:10004400400400004004000040040000400400009C
:10005400400400004004000040040000400400008C
-:10006400A01500004004000040040000400400000B
+:100064004615000040040000400400004004000065
:10007400400400004004000040040000400400006C
:10008400400400004004000040040000400400005C
:10009400400400004004000040040000400400004C
:1000A400400400004004000040040000400400003C
-:1000B40040040000961900004004000040040000C1
+:1000B4007C190000D6180000400400004004000031
:1000C400400400004004000040040000400400001C
-:1000D4004004000040040000400400008A180000AE
+:1000D400400400004004000040040000CA1700006F
:1000E40040040000400400004004000040040000FC
-:1000F40040040000D0180000400400004004000048
+:1000F4004004000010180000400400004004000008
:1001040040040000400400004004000040040000DB
:100114004004000000000000000000000000000097
:1001240000000000000000000000000000000000CB
@@ -36,15 +36,15 @@
:10022000D58D93960501D58D61B7939627009702DA
:10023000000096968682E78086FA9680C1171D8F09
:100240003E96E374C3F8A5B701A001A0EFF25FF2F8
-:100250000545EF0090279922EF10F008716513050E
-:100260000520EF109011B707002083A5871337559D
-:10027000000013054567EF40C0140925AA853755CE
-:10028000000013054568EF40C013EF202073EF20F6
-:10029000A06A014501B7EFF2BFED371402401C40E0
+:100250000545EF00F0249922EF1090027165130517
+:100260000520EF10F003B707002083A5870D373571
+:100270000000130545F8EF105035E12BAA853735FE
+:100280000000130545F9EF105034EF10F020EF1087
+:10029000501D014501B7EFF2BFED371402401C407D
:1002A0003707FF08411193E717001CC05C40F98F26
:1002B0005CC01C403707F7FE6D17F98F1CC01C404F
:1002C0003707FCFF7D17F98F1CC05C40370701FF23
-:1002D0007D17F98F5CC0B7079F001CC4EF00F005C5
+:1002D0007D17F98F5CC0B7079F001CC4EF00500367
:1002E00002C402C6B7270240054798C31C404167B5
:1002F000B7160240D98F1CC03706020005679C4222
:10030000F18F3EC6A24785073EC4B24781E7A247A8
@@ -57,7 +57,7 @@
:100370000240719BD8C3D84313672700D8C32147D5
:10038000DC42B18BE39EE7FE410129B502C661BFA5
:10039000372702401C43F19B1CC3FDB7B716024030
-:1003A000DC42370700201146B18B13078713638F98
+:1003A000DC42370700201146B18B1307870D638F9E
:1003B000C70221466381C70495EB9C42918B9DC780
:1003C000B7470F00938707241CC3B7170240DC43CD
:1003D000918393F6F700B707002093870700B6973D
@@ -67,17 +67,17 @@
:10041000024083A60680C18A89CEB7167A009386E9
:10042000062021A8B7160240D4421396E600E356F0
:1004300006FEB7163D0093860690B387D70269B7CC
-:1004400001A0970100209381614F175100201301F3
-:1004500061BB176500001305E593970500209385A0
-:1004600065BA1386018263FAC5008322050023A0C2
-:10047000550011059105E3EAC5FE138501829385B8
-:10048000C1B06377B500232005001105E36DB5FE0B
+:1004400001A09701002093816149175100201301F9
+:1004500061BB17350000130525C49705002093855F
+:1004600065BA1386818163FAC5008322050023A043
+:10047000550011059105E3EAC5FE13858181938539
+:1004800041A86377B500232005001105E36DB5FE93
:10049000FD42739002BC8D427390428093028008AB
:1004A0007390023097020000938202B693E232000A
:1004B00073905230EFF03FDE97020000938242D9F2
:1004C0007390123473002030B727014093870740A0
:1004D000631FF500EFF2DFC9854513050020EF002B
-:1004E000D016814513050020EF00301665B18280DB
+:1004E0003014814513050020EF00901365B1828020
:1004F0005C413707F1E01307F7EF944D7D8F9C4186
:10050000D58FD44DD58FD441A206D58FD98F5CC15C
:100510001C4537F7F1FF1307D77FD4457D8F9C49E2
@@ -86,1436 +86,710 @@
:10054000D98F5CD582801C4589C593E717001CC5EF
:100550008280F99BEDBF1C4593E787001CC5828014
:1005600008450D81058982801C4593E747001CC51D
-:10057000828008450981058982801C4591C537071D
-:100580005000D98F1CC582803707B0FF7D17F98FC7
-:10059000D5BFA54763F7B7048D47138765FF3307BA
-:1005A000F7020328C5009D47B397E70093C7F7FFFD
-:1005B000B3F70701B396E600DD8E54C5994763E3B0
-:1005C000C70495477D163306F6025859FD47B39781
-:1005D000C70093C7F7FFF98F3396C5005D8E50D9DA
-:1005E00082800D473387E502032805019D47B397B5
-:1005F000E70093C7F7FFB3F70701B396E600DD8E78
-:1006000014C96DBFB14763E2C7029547651633064B
-:10061000F6021859FD47B397C70093C7F7FFF98F44
-:100620003396C5005D8E10D9828095474D163306EE
-:10063000F6025855FD47B397C70093C7F7FFF98FE8
-:10064000B395C500DD8D4CD582806845420541815A
-:10065000828008416D8D3335A00082805C4191C558
-:1006600037070004D98F5CC18280370700FC7D17F3
-:10067000F98FD5BF3C4989C593E707083CC98280FB
-:1006800093F7F7F7E5BF3C4989C593E707043CC9F1
-:10069000828093F7F7FBE5BF3C4993F7F7FD3CC930
-:1006A0003C49DD8D2CC98280EFF29FACB7066745CF
-:1006B000B7270240938636123797EFCDD4C313077E
-:1006C000B79AD8C3D4D3011198C7D45B1387470313
-:1006D00013962600E34B06FED45737250140130539
-:1006E000054093E60620D4D7DC5BB7060020D58F03
-:1006F0001CC31C431C4537070E00D98F1CC51C4565
-:1007000093E717001CC53C4993E707043CC91C4507
-:1007100093E787001CC52A842285993575FD372506
-:100720000140832785401305054093E747001CC51A
-:100730002A8422853D3D75FD372501400546C94582
-:10074000814613050540B1352546230401003727AE
-:100750000140B70550001C84637FF60423040100A8
-:10076000A54621461C8463FFF606231501002304D9
-:10077000010095461C8463F1F60E38853C85994648
-:100780000D46B3F7D7020565130505803357D70229
-:10079000B3D7C702BA97C207C1837C85B727014088
-:1007A00003A78740799B23A4E7403C8505611D8D05
-:1007B00042054185C5B283278740CD8F2324F7406A
-:1007C00083270740898BEDDF1C848326C7440810EC
-:1007D0008607AA972396D7FE1C84850793F7F70F01
-:1007E0005C8495BFA30401009C846378F6001C849C
-:1007F000850793F7F70F5C84B5B798849C840C1039
-:100800000607850786072E97AE970357C7FE83D73F
-:10081000C7FE63FDE7029C848607AE9783D7C7FEB9
-:100820007C859C84988485078607AE9783D5C7FE10
-:10083000931717001810BA972396B7FE9C84388533
-:100840000C1085078607AE972396E7FE9C848507E4
-:1008500093F7F70FDC8449BF1C8410103885890793
-:100860008607B29783D7C7FEBA97C207C1837C8534
-:100870001C84850793F7F70F5C84EDBD03A54182C7
-:1008800082805841032805004C45370601409307F4
-:1008900006403E979346F8FFB1C583250640F58D87
-:1008A0002320B640D043F18ED4C31443B3E60601EF
-:1008B00014C3184190479346F7FF758E90C7D047F1
-:1008C000F18ED4C7144541466399C6009447D98E2A
-:1008D00094C7D447558FD8C78280B6979443558F15
-:1008E00098C382801C43F58F1CC38280B7070140E8
-:1008F0001387074083A70740584B698F09C77D8D31
-:100900003335A000828001458280B707014023AAC9
-:10091000A74082809C4513F7070113F8F70001C731
-:10092000D8413368E8008E2113F7F50F39C3184119
-:100930008146854E3D4F930F800293028004214EE5
-:100940003396DE00B3F8C5006311160393982600B2
-:1009500033131F011343F3FF3377E300B318180178
-:1009600033E7E800639FF70550C98506E39AC6FDA3
-:1009700018C11307F00F6375B70454412146854E23
-:100980003D4F930F800293028004414EB398CE00F6
-:1009900033F715016392E80213172600011733138A
-:1009A000EF001343F3FFB376D3003317E800D98E7B
-:1009B000639DF701232A15010506E319C6FD54C1FD
-:1009C0008280E39457FA10C94DB7E39757FE232866
-:1009D0001501DDB70CC9828019C20CC982804CC9CF
-:1009E0008280370700C0B377E5006395E7083707D3
-:1009F00001405C439356B501584F9D8A9DE6F99B93
-:100A0000B70600FFFD16758F89C993160501C182CF
-:100A1000D58FB706FF01758D498FB7060007D58FB3
-:100A2000B7060140DCC2D8CE828005466396C60078
-:100A3000F59BB70680FFF9B709466396C600ED9BA4
-:100A4000B706E8FFC1B70D466396C600DD9BB70643
-:100A5000FCFF4DBF11466397C60093F7F7F3B70647
-:100A6000C0FF4DB71546E391C6FA93F7F7CFB70627
-:100A7000E0FF49BF370700406391E702B707014035
-:100A8000D84F4205B367A70089E51345F5FFB37753
-:100A9000E500370701405CCF8280A9E337080140B9
-:100AA000B70730000326480013170501B376F50099
-:100AB00041836396F602B70600F9FD16B377D600B8
-:100AC00003264800F18E2322D80091C555811205D6
-:100AD0003315A700C98F370701405CC38280931785
-:100AE000B50063D007029357050193F6F7008D47D1
-:100AF000B397D70093C7F7FFF18FB7060007D58FDD
-:100B0000E9B7935755019207B317F700E5B713F705
-:100B1000C50F93F73500B7050140BA9594458A078C
-:100B20003D473317F7001347F7FF758F98C5984572
-:100B30003315F500598D88C58280EFF26FE337F4E5
-:100B4000FF1F032744723706003E41119317970198
-:100B50009346F7FFF18F060737063E00718FD98F56
-:100B60003706000113979600718FD98FBD824167B8
-:100B7000F98ED58F02C202C402C623A4F1820357A4
-:100B8000847285452390E182032704721305D00304
-:100B900023A6E1820327447023A2E1828D2C8327C0
-:100BA000447037073A101307077093F7F7F0638024
-:100BB000E7106361F702370732101307077063808D
-:100BC000E70637073710130707706387E708410107
-:100BD0006FF04FDC37073B1013070770638BE70A92
-:100BE00037073D1013070770E393E7FE854521653E
-:100BF000CD3BB7140140E177130480044C0013850A
-:100C000004807C8222C6393385679387C7334C00C2
-:100C1000138504C07C8222C6F539F9770DA085457D
-:100C20002165C133B7140140930700E01304800429
-:100C30004C00138504C07C8222C6E93989674C00C8
-:100C4000371501407C8222C6F1318D477C8222C655
-:100C50004C001385044025A8B7140140E177938721
-:100C60000770130480044C00138504807C8222C624
-:100C700055319307D0E34C00138504C07C8222C613
-:100C80005139F9777C8222C64C0037150140593121
-:100C90003DBFB7140140E177130480044C00138575
-:100CA00004807C8222C6BD31930740208DB7B714E3
-:100CB0000140E177130480044C00138504807C829A
-:100CC00022C689398967F51799B723A8A18282803E
-:100CD00003A70183854714216310F7021C31639C2D
-:100CE000E7023C21960793E707F837E700E093F720
-:100CF000F70F36972300F740054793D75600331771
-:100D0000D700544189CE938707048A07B7E600E0ED
-:100D1000B69798C38280EDF33C219607F9B7938785
-:100D20000706E5B7B7160240DC423747FF7F7D175D
-:100D3000F98F5D8DC8C28280371702405C439146AF
-:100D4000B18B638CD706A146638ED706BDE71C43E3
-:100D5000918BA5C7B7470F00938707241CC137168F
-:100D600002405C4237070020130707019183BD8BC7
-:100D7000BA9794231C41B3D7D7005CC15442A182D7
-:100D80009D8ABA969422B3D6D70014C55442AD8238
-:100D90009D8A36971423B3D6D70054C55842634C66
-:100DA00007005C42B98313F7370093874180BA97F5
-:100DB0009C23B3D7F6021CC98280B7177A009387A9
-:100DC000072069BF5C435843C166C983BD8B758FDB
-:100DD0008907C5466393D700C94701EF37470240EB
-:100DE00003270780418B09CF37177A0013070720A5
-:100DF00021A83717024058439316E700E3D606FEB2
-:100E000037173D0013070790B387E70281BF99C5E5
-:100E1000371702401C4F5D8D08CF8280B717024004
-:100E2000984F1345F5FF798D88CF828099C5371784
-:100E300002405C4F5D8D48CF8280B7170240D84F8B
-:100E40001345F5FF798DC8CF828099C537170240C9
-:100E50005C475D8D48C78280B7170240D84713456D
-:100E6000F5FF798DC8C782801A218D6793870704A3
-:100E7000B6217D8F9E21D58FD621D58FF621D58F96
-:100E80009625D58FB625D58FD625D58FF625D58F26
-:100E9000D98F1EA19E291EA982801E2189C593E794
-:100EA00007041EA18280C207C18393F7F7FBC20724
-:100EB000C183C5BF4EA582804A2582800A256D8DDB
-:100EC0003335A00082801E2137370140130707C049
-:100ED000C207C1836300E50237070040630CE500E9
-:100EE000130707406308E500371700401307078022
-:100EF0006316E500FA2193F7F7F8D98F9A2593F74F
-:100F0000F7CFC207C183D98F371700401EA113073F
-:100F100007809C416310E5025CD5DE211EB5B73722
-:100F20000140938707C06314F500BC251EB98547AF
-:100F30005EA98280C207C1835EB5C5B71A31FD774D
-:100F4000FD17F98F1EB10358050256215E2D6577F6
-:100F5000D2211307F7CF7D8FF9772206FD17518F26
-:100F6000B3F70701F22103D8A500C2064207336692
-:100F700006013206D18F37360140C207130606C07C
-:100F8000C1824183C183631AC50071767D16F18EDB
-:100F9000F2251A06D18EC206C18256A1B7160040AC
-:100FA0005AAD9386068098416315D50038C11EB1AD
-:100FB000828042074183DDBF1E2189C593E7170068
-:100FC0001EA18280C207C183F99BC207C183CDBF26
-:100FD0008357450491C52167D98F2312F504828078
-:100FE000C607C583DDBF5E2501C6DD8D4EA58280A7
-:100FF00093C5F5FFFD8DDDBF1E2189C593E7070869
-:101000001EA18280C207C18393F7F7F7C207C1838D
-:10101000C5BF5A2DFD779387F77FF98FA205CD8F36
-:10102000C207C1835EAD8280B717004093870780F7
-:101030006314F5002CC18280C205C181E5BFB717DA
-:101040000040938707806314F500485182804A313D
-:101050004205418182801E294A25ED8F420541814A
-:1010600089C76D8D3335A00082800145828093C58C
-:10107000F5FFC205C1810EA98280EFF26F8F16299C
-:10108000F577FD17F58FF621DA257971D58F1EA931
-:101090005625FD779387379FF58FD6212A842EC654
-:1010A000D58F9625D58FB625D58F5EA55E29C2072B
-:1010B000C18393F7F7CFD98F5EA96808B539B747D1
-:1010C000014093870780B245631AF404A25756245F
-:1010D0006547B387E702C206C186984163D206041A
-:1010E000060752244206B3D7E7021307400641869B
-:1010F000B3D6E702B3F7E7029206635506028E07FE
-:1011000093872703B3D7E70213F77700B367D700B6
-:10111000C207C1831EA445616FF0CF87925745BFB8
-:101120000A07C1B7920793872703B3D7E702BD8B9E
-:10113000D58FF9BF91C55E250967D98F5EA58280DD
-:101140005A25F977FD17F98FD5BF13F7F50F8547A6
-:101150001583B395B7006319F7009307C50098434B
-:1011600001CED98D8CC38280894693074501E3184F
-:10117000D7FE93070501E5B793C5F5FFF98DDDB7F8
-:1011800093F5F51F4EA182804A211375F51F8280C9
-:101190000A216D8D3335A000828013F7F50F854647
-:1011A0001583B397B6006311D7025A25F98F1A2118
-:1011B00001454207418381CB0545A181B315B500A7
-:1011C0006D8F3335E000828089466314D7001A2979
-:1011D000F1BF5A29E1BFEFE2BFF9797113060002AE
-:1011E00081450808EFE0DFFB8545114502C202C4D6
-:1011F00002C63139854513050020113921651D3698
-:10120000371501409307E00F4C0013050580372484
-:1012100001407C8202C6EFF0EFEF13050440EFF0CF
-:10122000AFAA13050440EFF02FC8AA85239AA18224
-:101230003755000013054569EF30A018B7070E00B9
-:101240003ECE0C088547130504402302F10202C874
-:1012500002CA02CC02D0EFF0AFA9854513050440C5
-:10126000EFF06FAE854513050440EFF0CFC1814527
-:1012700013050440EFF08FBE13050440EFF0AFAD4F
-:10128000930404402685EFF0AFAD6DFD13050440D7
-:1012900037240140EFF04FAD930404402685EFF072
-:1012A0004FAD6DFD37050080B53C13050440854505
-:1012B000EFF04FBC9305000213050440EFF0CFBDE3
-:1012C00045616FE03FEDEFE2BFEA01118545214541
-:1012D0003D3E85451165993E3714014085678D4433
-:1012E0007C808A85C147130504C03EC426C2EFF046
-:1012F0006FE2130504C08565EFF0CFED89676149A2
-:101300008A85130504C07C804AC426C2EFF08FE0B2
-:1013100091677C808A859147130504C03EC4EFF035
-:101320006FDFE1778A85130504C07C804AC426C23A
-:10133000EFF04FDEB70704013EC6B70702003EC814
-:10134000B70700028507374400403ECAA1473ECC9C
-:101350006C009D4713050480FC86393685451305CE
-:101360000480253E05616FE0FFE2EFE2DFDEB74477
-:1013700000402A891304900C9389048089454E8586
-:10138000353E0DC5CA8513850480B74400401D361F
-:101390001304900C1389048085454A85053611CDC8
-:1013A00013850480113E1375F50F31A07D1413745D
-:1013B000F40F69F401456FE05FDD7D141374F40FE1
-:1013C00061FCCDBFEFE2DFDA2A89371501402E84B8
-:1013D000130505C08565B2840146EFF0EFDF0D45CA
-:1013E0006937135504011375F50F41371355840000
-:1013F0001375F50F9D3F1375F40F853F0144931747
-:101400000401C18363EC97003715014005468565EB
-:10141000130505C0EFF04FDC6FE0DFD71305F00FC9
-:10142000A937B307890088A30504D1BFEFE25FD4D1
-:10143000411185451145E13AE177371401407C823D
-:10144000C1473EC64C008D47130504803EC4EFF0F3
-:101450006FCC014613050480A165EFF0EFD78545F9
-:101460002145EFF0DF9AA1474C00130504C07C82B0
-:10147000EFF04FCA0146A145130504C0EFF0CFD5E8
-:1014800041016FE03FD1EFE2BFCE411185451145EB
-:10149000EFF0FF97930700107C8237150140C1479A
-:1014A0003EC64C008D47130505803EC4EFF08FC645
-:1014B00041016FE03FCEEFE2BFCB41118545414591
-:1014C000EFF0FF948567938707807C823715014092
-:1014D000C1473EC64C008D47130505803EC4EFF062
-:1014E0006FC341016FE01FCBEFE29FC841118545FB
-:1014F0001145EFF0DF9185677C8237150140C147C8
-:101500003EC64C008D47130505803EC4EFF08FC0EA
-:1015100041016FE03FC8EFE2BFC54111854521455C
-:10152000EFF0FF8E930700107C8237150140C14712
-:101530003EC64C008D47130505C03EC4EFF08FBD7D
-:1015400041016FE03FC5EFE2BFC279718545254596
-:10155000EFF0FF8B914737150140FC824C08930751
-:101560008004130505C03ECEEFF0CFBA894505458E
-:10157000EFF0EFD9914705443ED00810B1473ED473
-:1015800022D602D2EFF0EFAF930780117C8668007D
-:1015900089475C8722C8EFF0AFF345616FE09FBFDA
-:1015A0001145EFF0AFB485476313F50237550000DE
-:1015B0001305C56AEF20307237150140130505C0C9
-:1015C00001469145EFF04FC11145EFF00FB47300A4
-:1015D0002030EFE2FFB9411185452145EFF03F830F
-:1015E00093070008371401407C82C1473EC64C0077
-:1015F0008D47130504C03EC4EFF0CFB101469305FB
-:101600000008130504C0EFF02FBD41016FE09FB843
-:10161000EFE21FB6411185452145EFF04FFF8545AB
-:101620001145EFF0BF80930700207C823715014001
-:10163000E1473EC64C008D47130505C03EC4EFF0A0
-:101640006FAD41016FE01FB5EFE29FB20111C937E5
-:10165000371400409307700C8A85130504803EC040
-:1016600002C22314010023050100EFF0DF851305FA
-:1016700004808545EFF05F98C167938707066C008B
-:10168000130504803EC8231B010002C6EFF01F8B28
-:1016900013050480A145EFF0DF971305048085450D
-:1016A000EFF09F91854513050480EFF07F9205616F
-:1016B0006FE05FAEEFE2DFAB930500002A84EF201E
-:1016C000001A634D0502B757000083A5C76B22853A
-:1016D000EF2080106344A002B757000083A5076C79
-:1016E0002285EF208020EF20300893150501371563
-:1016F0000040C18113050580EFF01F936FE09FA9A3
-:10170000EFE21FA7797137140140C1472A89FC8293
-:101710008D44C1474C08130504C03ECE26CCEFF0E3
-:101720006F9F0146130504C0C145EFF0EFAA854540
-:101730002145EFF0CFED854537050800EFF00FEFBD
-:101740008547FC824C08E147130504C026CC3ECEF9
-:10175000EFF04F9C894491474C08130504C0E48284
-:10176000375400403ECEEFF0EF9A0C10B7070C0054
-:10177000130504C04AD03ED402D223160102EFF072
-:10178000DF8F9307D0137C86680085473EC8448767
-:10179000EFF00FD40546130504C093055052EFF047
-:1017A000DF9A8545130504C0EFF0DF9845616FE0CF
-:1017B0007F9EEFE2FF9B797137140140930700028F
-:1017C0002A89FC828D44C1474C08130504C03ECED3
-:1017D00026CCEFF02F940146130504C093050002B8
-:1017E000EFF08F9F85452145EFF06FE28545370586
-:1017F0000400EFF0AFE393070040FC824C08E147A0
-:10180000130504C026CC3ECEEFF0CF9085679387BA
-:101810000780FC824C089147130504C03ECE375424
-:101820000040EFF02F8F0C10B7070C001305048059
-:101830004AD03ED402D223160102EFF01F84930750
-:1018400070137C8685475C87680085473EC8EFF04B
-:101850002FC805461305048093055052EFF0FF8E04
-:10186000854513050480EFF0FF8C45616FE09F9282
-:10187000EFE21F902A84EFF0BF90930500082285C5
-:10188000EFF01F917DD96FE0FF90411122C63754D0
-:1018900000409305505213050480EFF01F900DC5D2
-:1018A00013050480EFF05F8E9375F50F238CB182E2
-:1018B00003A581851C4D104954498507B3E7C7022C
-:1018C0006384D70031057D2A324441017300203002
-:1018D000411122C63754004093055052130504C0ED
-:1018E000EFF0BF8B0DC5130504C0EFF0FF899375B2
-:1018F000F50F238EB18203A5C1851C4D10495449B3
-:101900008507B3E7C7026384D7003105A52A3244AF
-:10191000410173002030EFE2BF850111AA842E84BB
-:1019200009458545EFF08FD0E084370400404C082E
-:101930001305044026CA231E0100231D0100EFF0F9
-:101940008FD80546854513050440EFF0CFE993078E
-:10195000D0027C868D475C87680085473EC8EFF0E3
-:101960002FB7854513050440EFF00FE505616FE0E3
-:101970007F82EFE2EFFFB707002083A58713896717
-:1019800093870771B3D5F5022545FD15C205C181C1
-:1019900059376FE03F80411122C63704004085452A
-:1019A00013050440EFF02FEB19C5854513050440DE
-:1019B000EFF0EFEB612832444101730020301DC984
-:1019C000B296C206C18252A136A10CC509EE854766
-:1019D0001CA183A6018493870184368701EB54C53B
-:1019E00088C30145828023000500E5B76306A70090
-:1019F0005847EDB77D558280054582800DC583A788
-:101A000001841387018499E305458280D447639656
-:101A1000A6005845D8C7014582806394A70014C327
-:101A2000DDBFB687CDB77D558280EFE26FF403A4AA
-:101A3000018475DC1C2093F7F70F99C75E2099C3CA
-:101A4000230004001C4482974044E5B783A7018427
-:101A5000054691E38280D62381CEBA237D174207C3
-:101A60004183BAA3BA234207418319E390A3B6A3E3
-:101A7000DC47C5B7232605000CC150C1232405004F
-:101A8000054582805C45544118458507B3E7D70278
-:101A9000638EE70058451C41BA978CA35C455841BA
-:101AA0008507B3E7E7025CC50545828079558280EA
-:101AB00018455C45630FF70018451C41BA979C23F5
-:101AC0009CA11C4558418507B3E7E7021CC50545A5
-:101AD0008280014582805C4518454841998FAA97CC
-:101AE00033E5A7028280B707002083A78713096721
-:101AF000130707F4B3D7E702C207C1832393F18426
-:101B00002392F1848280B7F700E0D8438146799B25
-:101B1000D8C303D761843305A7021307803E335629
-:101B2000E50290CBD4CB98431367070198C3984341
-:101B30001367170298C3D843058B75DF9843799BC9
-:101B400098C38280B7F700E0D8438146799BD8C319
-:101B500003D741843306A70290CBD4CB98431367B5
-:101B6000070198C398431367170298C3D843058B9E
-:101B700075DF9843799B98C38280EFE26FDF2A84F8
-:101B80001165011185451105EFF06FA8930700203D
-:101B90007C82371501408D473EC44C00E147130558
-:101BA00005803EC6EFE01FD722C837440140B70783
-:101BB00008000C08130504803ECC02CA231E010055
-:101BC000EFF0AFCB854513050480EFF0AFD605618C
-:101BD0006FE04FDCEFE22FD8B7440140AE89328985
-:101BE000014493840480634524014A856FE0EFD962
-:101BF000930500042685EFF0AFD97DD9B38789001E
-:101C00008385070026850504C205C181EFF04FD703
-:101C1000D9BF138781801C439386C1B03E95636B07
-:101C2000D500B75600209386068063E5A60008C35A
-:101C30003E858280FD57EDBFEFE28FD33724014010
-:101C4000AA859546054613050440EFE09F94854517
-:101C500013050440EFE07F929304044089452685F4
-:101C6000EFE03F9F65DD13050440EFE01F9E6FE04E
-:101C70006FD20397418381472A97634F070009CDAD
-:101C800005669306F6FFB6876358C700AA87630503
-:101C9000D50093170701C1833E858280EFE24FCDC7
-:101CA0000545593F42054185E937EF204031B75797
-:101CB000000083A5476CEF101007EF20203DB757B9
-:101CC000000003A6876C83A6C76CEF10A003B7576C
-:101CD000000003A6076D83A6476DEF10A002EF205A
-:101CE000A0456FE02FCBEFE2AFC8371401400546A7
-:101CF000A16513050480EFE03FCE1145353F420555
-:101D00004185853F0146AA84A16513050480EFE063
-:101D1000BFCC2685EF20A02AB757000083A5476CCB
-:101D2000EF107000EF208036B757000003A6876CD5
-:101D300083A6C76CEF00107DB757000003A6876D20
-:101D400083A6C76DEF00107CEF20003F6FE08FC4CB
-:101D5000EFE20FC20111280059468145EFF08FE6EE
-:101D60001884930730050145631BF70037050020F1
-:101D700059462C0013050502EF20805905450561E1
-:101D80006FE04FC1EFE22FBD2A89B13F83C7C18009
-:101D9000138401812A8A9384C180B7590000832A61
-:101DA0000400CA85A9C7EF103023B757000083A5E8
-:101DB000476F635AA0025685EF10404008C0EFF00D
-:101DC0007F8FCA855285EF10905BEF20202C03A6F1
-:101DD000896E83A6C96EEF00906763540500238067
-:101DE00004006FE08FBA5685EF107059C1BFEF1035
-:101DF000B01EB757000083A5076E6359A002568531
-:101E0000EF10C03B08C0EFF0FF8ACA855285EF1083
-:101E10001057EF20A02703A6896E83A6C96EEF0096
-:101E20003058E350A0FC85479CA065BF5685EF1055
-:101E30001055C9BFEFE2CFB3B757000003A5876FB6
-:101E400091376FE02FB5EFE2AFB2D425DC35A206B3
-:101E5000DD8E954763FDD7003755000013067010DF
-:101E6000854513058572EF20C0556FE0AFB2B425EC
-:101E7000BC35A206DD8E93070020E3F8D7FE375568
-:101E800000001306E010854513058575E9BFEFE2F4
-:101E90002FAE376500001306001A854513054591DE
-:101EA000EF20205293878186E82BD83BA947220553
-:101EB000598D3305F502420541816FE0AFADEFE288
-:101EC0002FAB376500001306401985451305858D36
-:101ED000EF20204F93878186C82BB83BA947220566
-:101EE000598D3305F502420541816FE0AFAAEFE25B
-:101EF0002FA8376500001306801885451305058A4D
-:101F0000EF20204C93878186A82B983BA947220578
-:101F1000598D3305F502420541816FE0AFA7EFE22D
-:101F20002FA5375500001306C01785451305857F7B
-:101F3000EF20204993878186882BF837A94722050F
-:101F4000598D3305F502420541816FE0AFA4EFE200
-:101F50002FA2375500001306001785451305457C51
-:101F6000EF20204693878186E827D837A9472205A6
-:101F7000598D3305F502420541816FE0AFA1EFE2D3
-:101F80002F9F37650000130640168545130505830E
-:101F9000EF20204393878186A837DC27A2075D8D39
-:101FA0006FE04F9FEFE2CF9C37550000130680157E
-:101FB000854513050579EF20C040938781868837D2
-:101FC000BC27A2075D8D6FE0EF9CEFE26F9A37654B
-:101FD00000001306C014854513050595EF20603EEB
-:101FE00001456FE02F9BEFE2AF98376500001306C5
-:101FF0000014854513058586EF20A03C03C5818626
-:1020000083C79186A2075D8D6FE0CF98EFE24F9670
-:10201000375500002E841306101385451305C56F30
-:10202000EF20203A0547A388E1841385418D23845E
-:102030000184EFF0BF9C5C245434A207D58F238425
-:10204000F186A183A384F1866FE0CF94EFE24F92F3
-:1020500023A6A1841547B72500002388E184814683
-:10206000054729469385C5761385418D2384E184F0
-:10207000EFF0FF946FE00F92C16769768146FD171C
-:1020800005061397060141836364B7003E8582808D
-:102090003307D5001823B98F214713F8170085831C
-:1020A00063050800B18FC207C1837D1742074183D2
-:1020B0006DF78506F9B7EFE22F8903C9C500DC3556
-:1020C000011122093369F900420913590941931496
-:1020D0000901C180954763FF970037550000A68628
-:1020E0001306800B854513058572EF20802D056151
-:1020F0006FE00F89B425BC35A206DD8E9307002062
-:1021000063FAD700375500001306E00B8545130529
-:102110008575E1BFAA8902CA02CC231E0100930A79
-:102120004101368A370B0020B307DA40C207C1836A
-:1021300063EC9708138401881305C400130660023A
-:102140008145EFE0EF853707002083470702A305AD
-:102150002401230504001CA093070702943352892D
-:10216000939A140014B0B423130A070234A0B433B2
-:1021700034B0D42354A0D43354B0F42374A0F43333
-:102180009C2774B01CA4930700031CB481471384DC
-:10219000C18863CF570593856400860593F5E50FE5
-:1021A00013850188D13D9317850021815D8D83477B
-:1021B0009A0056940AA03CA013860A0193850188D0
-:1021C0004E85EF00501325B713048B05930B840441
-:1021D0001C40639947015C40014536C68297B24670
-:1021E0002390AA002104E3958BFE890A050A2DBFDE
-:1021F000101013F7E70F329713F61700B306F40029
-:10220000035747FF11E22183850798A293F7F70F41
-:1022100049B7EFD2FFF53715004013050580EFE011
-:102220001FE2EF20002CEF2020319307100F3365C1
-:10223000F502A94729053305F5026FD0BFF5EFD2A6
-:102240009FF103A781852A84BE84054693055052D9
-:10225000631CA7043755004013050580EFE0FFEE2F
-:102260002285EF001013131905010945EFF09F8D2A
-:102270002285EF00101283A7818593190501135958
-:10228000090193D909010146930550523755004081
-:102290006391870213050580EFE03FEB3305394179
-:1022A0003335A0006FD07FEE37550040130505C0D1
-:1022B00075B7130505C0CDB7EFD2FFE9370400208D
-:1022C00013048403AA89AE84328A13090402983461
-:1022D0001C406317F7005C405286A6854E858297A6
-:1022E0002104E31624FF6FD05FEAEFD27FE54111AE
-:1022F000AA8CEF001006630E05245145EFF09F8471
-:102300001306200381451385018813840188B70DC6
-:102310000020EFD0FFE80149814A8144014A130CB3
-:102320001400138B0D026685EF00B00663030522CF
-:102330006685EF00900393870188D2973EC688A3F5
-:10234000930B1A0089476384FB006382042C1820D6
-:1023500083C70D026310F714183083471B00631BFB
-:10236000F712376500001306301E85451305C59723
-:10237000EF202005A5476398FB0683C7918603C716
-:102380008186A207D98F09476398E70C38208347D5
-:102390002B006313F70C383083473B00631EF70AAA
-:1023A000582083474B006319F70A583083475B0076
-:1023B0006314F70A782083476B00631FF7087830AF
-:1023C00083477B00631AF708182483478B00631543
-:1023D000F708376500001306C01F85451305859A69
-:1023E000EF10307E21A08547E3E997F8A947638580
-:1023F000FB00894763F2971683C7918603C78186DE
-:102400001434A207D98F09476395E70E9307000399
-:102410006399F608376500001306D0258545130536
-:1024200085A0EF10107A814A454963902B1F1C3418
-:10243000130700036395E7129305D9FF93F5F50F92
-:1024400013850188EFF05FC37C247834A207D98F0D
-:102450006398A71618281DAA83C78184C1FB38304A
-:102460003C20F98F5820F98F5830F98F7820F98F58
-:102470007830F98F1824F98F1307F00F639AE7006B
-:10248000376500001306102185451305459D89BF5A
-:1024900091E085445286E28513850188EF105067EC
-:1024A0006DA0C1476395F6023765000013065026FC
-:1024B00085451305C5A2EF10D070B947854AE3964C
-:1024C000FBF60349D400394A06094509A9BD93071B
-:1024D000000A1306D0266384F6029307100A639D50
-:1024E000F60613065027B76700008545138547A7F2
-:1024F0000DBF9307000A639EF60013060028376598
-:1025000000008545130505A5EF10B06B814A3549DC
-:1025100029BF9307100A13068028E386F6FCA687D6
-:1025200063F3E400894793F4F70FB76700001306DD
-:10253000302985451385C7A9EF10B0685286E2851A
-:1025400013850188EF10D05C814A93070003E3FCF8
-:1025500047DD41016FD09FC2E3890AECB9BF414713
-:10256000639AE7029305D9FF93F5F50F1385018868
-:10257000EFF09FB0330744018347E7FF0347F7FFBE
-:10258000A207D98F639EA702B2479823D947631940
-:10259000F702A1A81307000A6393E7069305D9FF82
-:1025A00093F5F50F13850188EFF01FAD3C24383407
-:1025B000A207D98F6396A7005824D947630AF7006A
-:1025C0000D47A68763F3E4008D4793F4F70FD9B561
-:1025D00083A7818501469305505237550040639D7E
-:1025E000FC0013050580EFE05FB64A8693850188FD
-:1025F0006685EFF07FCCB1BF130505C0EDB71307BB
-:10260000100AE38BE7E24A8A89B75E8A3DBFA54795
-:10261000E39EFBDC9DB3938741859843D566938603
-:1026200006186305D700050798C3828023A007001A
-:10263000B707EFBE37E700E0938707083CC7828003
-:10264000EFD21FB3B757000083A5076F03A5018121
-:10265000EF10A029EF10300BAA8537650000130595
-:10266000C5ADEF1010569387918490233715014024
-:1026700093050010133616001305058090A3EFE0B4
-:10268000AFB56FD03FB1EFD2BFAEEFF0AFFA6FD0C2
-:102690007FB0EFD2FFAD03A5C185EFF01FC56FD0AE
-:1026A0007FAFEFD2FFACEFF06FDFEF10301EB767F8
-:1026B000000003A687AC83A6C7AC512B635E050858
-:1026C00083C721851384218581E72947239CE18ADB
-:1026D00013050000EFE01FFE0545EFF0CFC2B71471
-:1026E0000140054693050008138504C0EFE0CFAE16
-:1026F0000545EFF04FC1014693050008138504C05E
-:10270000EFE08FAD0545EFF00FC0054693050008DB
-:10271000138504C0EFE04FAC0545EFF0CFBE014696
-:1027200093050008138504C0EFE00FABB767000006
-:1027300003A507AC23A8A180EFE0DFF71C207947B1
-:10274000850793F7F70F638BE7001CA03765000040
-:10275000130505ADEF1030586FD0DFA3896793875D
-:10276000077123000400239CF18ACDB7EFD2BF9EEE
-:1027700085671387418D938787383EA313873185FB
-:102780001C23011193861700F51714A393F7F70F75
-:102790009306B00F63EDF6001385418D2384018409
-:1027A00023000700EFF08FA505616FD01F9E414603
-:1027B00081451305E100EFD0BF9E37040020834719
-:1027C000040213040402DD455C821C30480093843B
-:1027D0003185DC82FD577C83FD573EC4E9779387C2
-:1027E000F71F7C8683C70185DC8703C7918683C674
-:1027F0008186938781862207558FA308E10093562F
-:10280000870038202308D1002309E1003830A309CC
-:10281000E1005820230AE1005830A30AE1007820A3
-:10282000230BE1007830A30BE1001824230CE10016
-:102830009837BC27A207D98F13D78700230DF10043
-:10284000A30CE100EFF05F8393578500A30DF10027
-:102850001C34230EA1002944A30EF100EFF07F9B4E
-:10286000EFF04FAE1389C18403250900EFF03F9DBF
-:1028700021E593871185942305476397E60023801C
-:102880000700238004000DB7032509006D464C00A6
-:102890009D240327090083A781850546930550528F
-:1028A000375500406317F70013050580EFE0FF89F7
-:1028B000E5BD130505C0DDBF7D141374F40F59FC8D
-:1028C000E5B5370700201307070234232384018668
-:1028D000A384018693878186B4A33433B4B354238D
-:1028E000D4A35433D4B37423F4A37433F4B31427AC
-:1028F00094A734373027A206D18E94B7A182B4A70B
-:1029000054275837A3860700238707002207558FCF
-:10291000B8B72183D8A7A387070023880700A38817
-:10292000070023890700A3890700238A0700A38AD9
-:102930000700238B07008280EFD29F83EFF04FC107
-:102940004937B725000081461306803E938505640C
-:102950001385418EEFF0AF86B72500009306200364
-:1029600013064006938565681385418CEFF02F852B
-:10297000B725000085461306400693852569138513
-:10298000418FEFF0CF83B7250000F9461306803E54
-:102990009385656113854190EFF06F820966B725D5
-:1029A00000008146130606719385256A1385418BC5
-:1029B000EFF0EF80EFF06F876FD0CFFDEFD24FFBDE
-:1029C000EFE03FFB4120EFE03FC8EFE0DF80EFE0CA
-:1029D0009FABEFE0BFA5EFE01FAEEFE0FFB0EFE091
-:1029E0009FB3EFE05FB6EFE01F8EB767000003A56F
-:1029F00007AFEFE03FCCEFE0DFBD6FD0AFF9EFD234
-:102A00002FF7014405C1002111CC5C410D47639EA5
-:102A1000E7003755004093F5F50F13050580EFE00B
-:102A20003FE5054422856FD0EFF611470544E39B4F
-:102A3000E7FE3755004093F5F50F130505C0EFE0AD
-:102A40003FE3CDB7EFD2CFF2370400201304040ADE
-:102A50001306800C938541911305C400EFF08F811C
-:102A600008448544EFE0FFD404A01306C012938508
-:102A7000C19D1305840223AC8184EFE0BFFF485061
-:102A80007104EFE0FFC704A0014523AE81846FD03D
-:102A90006FF0EFD2EFED37150140054693050002C8
-:102AA000130505C0EFD05FF36FD0CFEEEFD24FEC40
-:102AB00037150140014693050002130505C0EFD00C
-:102AC000BFF16FD02FEDEFD2AFEA371501400546C9
-:102AD000C145130505C0EFD03FF06FD0AFEBEFD28B
-:102AE0002FE9371501400146C145130505C0EFD058
-:102AF000BFEE6FD02FEAEFD20FE603A781852A84BD
-:102B00002E8AB28993848185631EA700EFF07FF837
-:102B10000149634039039C4063968702EFF01FF937
-:102B20006FD0AFE683A7C185E394A7FEEFF0BFF9AE
-:102B3000C5B7B3072A018385070022850509EFF091
-:102B40001FECC1BF83A7C185E39C87FCEFF03FF971
-:102B5000C1BF814709C91821814711C75C49084D88
-:102B6000898FB337F0003E858280EFD26FE041114C
-:102B70002A84A3070100EFF0DFFD19C59305F100DA
-:102B80001305C400EFE0DFF20305F10041016FD04F
-:102B90006FE0EFD2EFDD3105EFE0FFF36FD08FDFB5
-:102BA00013D74501B7071000FD1713D84601137757
-:102BB000F77F9308F07F33F3B7002A8EF58FFD81FE
-:102BC000B28E1378F87FFD82630817036300180341
-:102BD0000DEBB368A300631408005D8E29CA6385FA
-:102BE00008046388D502054595ED8280B3E8C700E7
-:102BF000E38008FE795582803365A30065FD630C90
-:102C0000E802631408005D8E79DEE39ED5FCE34C98
-:102C1000E8FC63480701E3E867FC6303F302637FB2
-:102C2000F30081E57D558280F5DE05458280014512
-:102C3000E39B08FA82805D8E69DA6DBF0145828070
-:102C4000E3E3CEFB0145E372DEFBE5F1E1BF13D721
-:102C50004501B7071000FD1713D846011377F77F1A
-:102C60009308F07F33FEB700AA8EF58FFD81328F77
-:102C70001378F87FFD82630E1703630D180129E3B3
-:102C8000B368AE00631F08005D8E01EE0143638CE4
-:102C9000080421A8B3E8C7000943639608046DD36C
-:102CA00005A0638408046385D50205438DCD7D535B
-:102CB0001DA8B368AE00094363970802630AE802DF
-:102CC000631408005D8E75D2E391D5FEE34FE8FCF6
-:102CD00063490701E3EBC7FD630FFE000143637423
-:102CE000FE00F1D505431A858280EDFE7D53E5BFD8
-:102CF0005D8E79DACDBFE36ADFFB0143E3F5EEFFDA
-:102D0000F5F175B739714AD813D945014ED652D469
-:102D100056D29399C50006DE22DC26DA5AD05ECE62
-:102D20001379F97F2A8A93D9C90093DAF501630DE3
-:102D3000090E9307F07F6306F9181354D5018E0925
-:102D4000B36934013704800033E4890093143500FB
-:102D5000130919C08149814B13D74601139AC60044
-:102D60001377F77FB285135ACA0013DBF601630BA2
-:102D700007109307F07F6303F7049357D6010E0AF9
-:102D800033EA4701130717C0B7078000B367FA009B
-:102D9000931536003A99814833C76A01BD463A8592
-:102DA0001308190063E83617173600001306C6D457
-:102DB0008A09B29983A60900B2968286B367CA00CF
-:102DC0001309F97F6399071293E92900814589481E
-:102DD000E1B701479307F07F3704080081443204CC
-:102DE000D20731807E075D8C598CA285F2506254E7
-:102DF00026854259D254B259225A925A025BF24B5A
-:102E0000216182805A853E84AE84C68B8947638D5A
-:102E1000FB0E8D47E38FFBFA85472A87639EFB38BD
-:102E200081470144814465BF33E4A90061C036C6CF
-:102E300032C4638C092A4E85EF10A0462246B24662
-:102E4000AA87130755FF7544938487FF198CB3999C
-:102E5000990033548A0033643401B3149A0013D7B1
-:102E600046011309D0C0139AC6001377F77F3309C0
-:102E7000F9408149814BB285135ACA0013DBF60130
-:102E8000E31907EEB367CA00B1C7630F0A22528580
-:102E900032C4EF10004122462A87930655FFF547BA
-:102EA000930587FF958F331ABA00B357F600B3E73F
-:102EB0004701B315B6003309E9401309D9C0814869
-:102EC000E1BD33E4A90001ECA14981441309F07F7D
-:102ED000894B59B593E919008145854875BD4E84E4
-:102EE000AA84B1491309F07F8D4BBDB59149814446
-:102EF0000149854B95B593E93900D2878D4869BD65
-:102F000089475685E397FBF02A879307F07F0144B2
-:102F10008144F1B5C16E1386FEFF93D6040113DE22
-:102F20000501F18CF18D338695023383B6029358F7
-:102F3000060133059E021A95AA98B382C60363F36D
-:102F40006800F692C16F1383FFFF33F5670093D3D8
-:102F50000701B3F76800C207337366003E93330678
-:102F6000950293D80801B387A602135F0601B384C4
-:102F70009302BE94FA94B38E760263F3F400FE9E3D
-:102F8000416A9307FAFF935F0401B376F400B3F943
-:102F9000F4007D8EC1803384D502C209338FD40101
-:102FA000B299CE98B307DE02935E0401B385BF02E7
-:102FB000AE97BE9E330EFE0363F3BE00529EC16702
-:102FC0009385F7FF33F6BE006D8C4206229693DEA2
-:102FD0000E01B305D502769E3385AF0213D40501E9
-:102FE000B386D302AA96A296B38FF30363F3A60027
-:102FF000BE9F41657D15B3F7A600C2076D8DAA97E8
-:10300000B3855800B3B93501FA97B29533843701C7
-:1030100033B6C500B30EC4013385CE00333434015A
-:10302000B3B7E701C18F33BECE0113D406013336E7
-:10303000C5003E943366CE009394950032947E94FE
-:10304000B3E46400260493567501B3349000DD8127
-:1030500093179500CD8C558CDD8C9317740063DB32
-:10306000070093D7140085889316F401DD8CD58C66
-:10307000058042899307F93F6359F00893F674007D
-:1030800081CE93F6F40011466388C600938644000F
-:10309000B3B496002694B6849316740063D80600E1
-:1030A000B70700FFFD177D8C930709409306E07F6B
-:1030B00063CFF60E93D634009314D4012604D58C36
-:1030C000318093F7F77F21BB328532C4EF10601D4A
-:1030D00093065501F147130705022246E3D1D7DCD9
-:1030E0006115B317A6008145F9B3EF10801B1307D4
-:1030F0005501F145930705022246B246E3D5E5D4D2
-:1031000061153314AA00814499BB85469D8EB1E7B1
-:103110001309E941B3972401B3D4D400331924012E
-:10312000B337F000B3649900DD8C93F77400B356A5
-:10313000D40081CF93F7F40011466388C7009387CA
-:103140004400B3B49700A696BE849397860063D8D4
-:10315000070485470144814459B113068003E341C4
-:10316000D6CC7D46E356D6FA0556B307F64093050E
-:1031700000023356F4006387B6001309E943B3171E
-:103180002401DD8CB3349000D18C93F6740001449B
-:1031900099CA93F7F40011468146E392C7FA139453
-:1031A00096003180F6068D80D58C81470DB9930746
-:1031B000F07F0144814425B142896DBD411137073B
-:1031C00080007D1713D8750126C29354750133739F
-:1031D000A70093F4F40FB376B7004AC01378F80F42
-:1031E0001359F50106C622C4FD819A8726854A86B1
-:1031F000131E3300939E3600B3880441630AB90E50
-:103200006350100D630408149307F00F638BF414DC
-:10321000B7070004B3EEFE00ED4763C1172993071B
-:103220000002B3871741B397FE00B3D81E01B3372E
-:10323000F000B3E7F800B307FE4013975700635E52
-:103240000718370400047D147D8C2285EF1060057B
-:103250006D15B317A4006348951A058D1304150066
-:1032600013070002018F3397E7003337E000B3D72D
-:103270008700D98F814413F7770019C713F7F70038
-:1032800091466303D700910713975700635B0714B8
-:1032900085041307F00F4A866383E4169A07A58313
-:1032A00013F5F40FB2402244A6079314750113D509
-:1032B0009700458D7E0692440249518D41018280DE
-:1032C0006399080A138714001377E70F631707142D
-:1032D00063900422630D0E1EE3860EFCB307DE41ED
-:1032E0001397570063500722B387CE412E8961B7E9
-:1032F000635C100B630E08089307F00F6383F406FA
-:10330000B7070004B3EEFE00ED4763C9171F93072C
-:103310000002B3871741B397FE00B3D81E01B3373D
-:10332000F000B3E7F800F297139757006357070AC6
-:1033300085041307F00F6384E40CB706007E13D7EF
-:103340001700FD16858B758FD98F35B7638D0E08E5
-:10335000FD18B307DE41E38208EE9307F00FE39D0B
-:10336000F4EA630D030801461305F00FB7074000A8
-:1033700015BF33079840EDE863020E147D1763080C
-:1033800007189307F00F6319F80E2E893683D1BF03
-:10339000638B0E04FD18B307DE01E38708F893077B
-:1033A000F00FE393F4F675BF63950808850413F7EF
-:1033B000E40F6313071263170510630F0E14E38302
-:1033C0000EEEB307DE0113975700814463570700E1
-:1033D000370700FC7D17F98F854413F77700E31F4B
-:1033E00007E813D337009307F00FE38CF4F6931735
-:1033F0009300A58313F5F40F4A866DB54A8613052D
-:10340000F00F814745B5370700FC7D17F98F13F79B
-:103410007700898CE31407E6E9B73304DE4193179C
-:10342000540063C3070CE31204E2014601458147DF
-:1034300095BD33079840ADC49307F00FE308F8F447
-:10344000B7070004336EFE00ED4763CCE70C93072B
-:103450000002998FB317FE003357EE00B337F00028
-:10346000D98FF697C284C9B59307F00FE30FF8F030
-:10347000B7070004336EFE00ED4763C3E708930609
-:103480000002998EB316DE00B357EE003337D0003A
-:10349000D98FB387FE40C2842E8945B3854761BB6F
-:1034A000630E0E067D17B307DE01C284E30E07E646
-:1034B0009307F00FE31AF8F8368365B53683C284B4
-:1034C0002E8915B7E3040EECE38D0EE869BD638D1C
-:1034D0000E022E86B687F9B39307F00FE381F4F25C
-:1034E000B307DE018583D5BD3384CE412E89B1BBC0
-:1034F000E31C0EFCE3890EE62E8949BD854725B500
-:10350000854741BFE39B07EC0146814761BBB38719
-:10351000CE41C2842E8915B3B68769B33683C2847F
-:10352000D9B585473DBF3971935775014AD856D2F1
-:103530005ECE931A95001359F50106DE22DC26DAD9
-:103540004ED652D45AD093F7F70F93DA9A00CA8B1B
-:10355000638207121307F00F6384E7128E0A37079E
-:103560000004B3EAEA00138A17F80144014B93D729
-:1035700075019394950093F7F70FA58093D9F50102
-:10358000FDC71307F00F6387E7028E04938717F8D0
-:1035900037070004D98C330AFA408146558C172727
-:1035A0000000130767590A043A941C403349390153
-:1035B000BA978287130A1AF0F9E88946558C1727BB
-:1035C00000001307675B0A043A941C403349390131
-:1035D000BA97828701491307F00FB7074000139588
-:1035E0009700F25062549317770125817E095D8D13
-:1035F00033652501D2544259B259225A925A025B7C
-:10360000F24B216182801307F00F8147C9BFA68A60
-:10361000CE8B368B8947630BFB1A8D47E30CFBFA85
-:103620008547630AFB0A1307FA0713F91B00635760
-:10363000E01293F77A0099C793F7FA0091466383F3
-:10364000D700910A93974A0063D90700B70700F89B
-:10365000FD17B3FAFA0013070A089307E00FE3C453
-:10366000E7FA93976A00A5831377F70F8DBFB9E444
-:103670008546A9B763940A021144014A054BC5BDAA
-:1036800063990A002144130AF00F094BCDB58D460A
-:1036900031B73144130AF00F0D4BD1BD56852EC6FC
-:1036A000EF0030409307B5FFB39AFA009307A0F8F4
-:1036B000338AA7400144014BB24555BD2685EF0032
-:1036C000503E1307B5FFB307AA00B394E400138A72
-:1036D00067078146E1B513F91B000147814701B730
-:1036E0004166139554007D1693570501698E63FA60
-:1036F0009A0AB3D5FA027D1AD68601473388C502E5
-:10370000B3F6F602C206558F637B07012A979386AC
-:10371000F5FF6368A70A6376070BF9152A97330745
-:103720000741B356F7023377F702B38AC6029317FD
-:10373000070163FB5701AA971387F6FF63E1A70808
-:1037400063FF5707F916AA97C205B38A5741D58D6B
-:10375000B33A5001B3EA5501CA8BF1B58546998E4B
-:1037600011C76D4601478147E34BD6E6130AEA09C4
-:10377000339A4A01B3D7DA00B33A4001B3E75701AD
-:1037800013F7770019C713F7F70091466303D700C3
-:10379000910713975700634807029A07A5830147CB
-:1037A0003DBD93D61A00B3D5F6021397FA014183B3
-:1037B0003388C502B1B7CE8B368B814AA1BDBA869C
-:1037C00061B7B685A9BF0547814711BD13F91B0035
-:1037D0001307F00F814721B593567501B707800095
-:1037E000FD1713D6750193F6F60F1308F00FB3F813
-:1037F000A7001357F501ED8F1376F60FFD81638156
-:103800000603630C06018DE211E2B1C3638E080268
-:103810006305B70405451DE78280F5D77955828099
-:10382000E39E08FE6309D60211E2EDD7E314B7FE6A
-:10383000E342D6FE63C7C600E3EE17FD0145E3FD94
-:10384000F8FC01E77D558280F5DD05458280014564
-:10385000E39208FC8280F9DBD1B78146E1BF935641
-:103860007501B7078000FD1713D6750193F6F60FA3
-:103870001308F00FB3F8A7001357F501ED8F137677
-:10388000F60FFD81638706036309060185EA11EAE5
-:1038900089EB0145639B080082800945F5FFE5DA65
-:1038A00031A8638C08026300B704054575D77D55C0
-:1038B00082800945639808026304D60211E2F5D7B5
-:1038C000E315B7FEE343D6FE63C7C600E3EF17FD7B
-:1038D0000145E3F3F8FC19E3D9BFF1D9054582802E
-:1038E000E5D3828082808146C5B7797122D4135492
-:1038F00075014ECE52CC9319950006D626D24AD0E9
-:1039000056CA5AC81374F40F93D99900135AF50183
-:1039100069C49307F00F6308F40E939739003707D3
-:103920000004B3E9E700130414F88144014B13D7F2
-:103930007501939A95001377F70F93DA9A0013D9CC
-:10394000F50145CF9307F00F630CF7028E0A1307BA
-:1039500017F8B7070004B3EAFA003A940146334572
-:103960002A01BD47AA869305140063E29710172722
-:103970000000130767248A04BA949C40BA97828790
-:103980001304F40F63980A0C93E424000946C1BFA2
-:1039900001451307F00FB7074000B2502254A607A5
-:1039A0005E07A5837E05D98F92540259F249624A77
-:1039B000D24A424B5D8D45618280CA86D689328B60
-:1039C00089476301FB0A8D47E304FBFC8547368585
-:1039D0006312FB1A01478147C9B7639E090413D7D5
-:1039E0007501939A95001377F70F91440144054BA5
-:1039F00093DA9A0013D9F50131F7639D0A0093E435
-:103A000014000546A9BF63930902A1441304F00FF3
-:103A1000094B31BF5685EF00D0089307B5FF098CDD
-:103A2000B39AFA001304A4F8014615BFB144130475
-:103A3000F00F0D4BEDBD4E852EC6EF00900693079F
-:103A4000B5FF1304A0F8B399F900098C8144014B28
-:103A5000B245F1BD93E434000D4611B78947D286D3
-:103A6000E313FBF636851307F00F81473DB741633B
-:103A70009306F3FF13D6090193D80A01B3F7D900CF
-:103A8000B3FADA0033885703B389F80213570801F1
-:103A9000B30A5603D6994E9733061603637357013C
-:103AA0001A96C167FD17B376F7003378F800C2069F
-:103AB000C2969399660093570701B3393001E982A2
-:103AC000B2979A07B3E6D900B3E9D70093974900B4
-:103AD00063D9070013D7190093F71900B369F700EA
-:103AE0002E841307F4076350E00493F7790099C715
-:103AF00093F7F90091466383D700910993974900A2
-:103B000063D90700B70700F8FD17B3F9F9001307E9
-:103B100004089307E00F63CBE70493976900A5833C
-:103B20001377F70F9DBD8547B386E74011C76D46F4
-:103B300001478147E343D6E61307E4093397E900D9
-:103B40003337E000B3D7D900D98F13F7770019C7FF
-:103B500013F7F70091466303D700910713975700B7
-:103B6000634C07009A07A583014705BD1307F00FB3
-:103B7000814725B52E84B5B70547814739BD37073D
-:103B8000800041117D179356750113D87501B377E5
-:103B9000A70093F6F60F935EF5013376B70026C2C1
-:103BA0004AC01378F80F06C622C41303F00F3E8EE6
-:103BB0003689F684139F3700FD8113153600B388CC
-:103BC00006416302681093C51500638CBE106354F0
-:103BD000100D631008106304051EFD18B307AF40F5
-:103BE000638608029307F00F6388F616ED4763C7F4
-:103BF000172913070002330717413317E500B3579E
-:103C000015013337E000D98FB307FF4013975700F2
-:103C10006351071A370400047D147D8C22855125D9
-:103C20006D15B317A400634E251B330525411304FE
-:103C3000150013070002018F3397E7003337E000C8
-:103C4000B3D78700D98F014913F7770019C713F746
-:103C5000F70091466303D700910713975700635EFF
-:103C60000714930619001307F00F93FE14006386E0
-:103C7000E6169A07A58393F6F60FA607B2402244EC
-:103C800013D59700DE069397FE01558D92440249A5
-:103C90005D8D410182806392080A138716001377B5
-:103CA000E70F631B07146394062263020F2071D58C
-:103CB000B307AF401397570063550722B307E54199
-:103CC0000149AE8451B7E30005F0638ABE0AE354AC
-:103CD00010FD9307F00F6381F608B70700045D8DB0
-:103CE00031B7635E1009630108089307F00F63851D
-:103CF000F606B70700045D8DED4763C0171F130775
-:103D00000002330717413317E500B3571501333766
-:103D1000E000D98FFA9713975700635C07080509ED
-:103D20001307F00F630BE90AB706007E13D71700DD
-:103D3000FD16858B758FD98F01BF3307D8406395EA
-:103D40000610630D0F147D176303071A9307F00F16
-:103D50006314F810AE84328E630F0E06814E930604
-:103D6000F00FB707400011BF39C9FD18B307AF0006
-:103D7000E38308FA9307F00FE390F6F8F1BF639935
-:103D80000808138916001377E90F63160712639B5F
-:103D9000061063030F16E30205EEB307AF00139797
-:103DA0005700014963570700370700FC7D17F98F5B
-:103DB000054913F77700E31C07E813DE3700930784
-:103DC000F00FE30BF9F893179E00A5839376F90F94
-:103DD00093FE14005DB593FE14009306F00F814727
-:103DE00069BD370700FC7D17F98F13F7770033099A
-:103DF000A940E31E07E4D1B73304AF409317540042
-:103E000063C3070CE31C04E0814E81468147B5B5CE
-:103E10003307D840B5C69307F00FE30EF8F2B707A3
-:103E20000004336FFF00ED4763CDE70C93070002FA
-:103E3000998FB317FF003357EF00B337F0005D8F52
-:103E4000B307A7004289C1BD9307F00FE304F8F060
-:103E5000B7070004336FFF00ED4763C2E70893071D
-:103E60000002998FB317FF003357EF00B337F0000C
-:103E7000D98FB307F5404289AE8449BB854769B302
-:103E8000630E0F067D17B307AF004289E30507E80D
-:103E90009307F00FE319F8F8328E7DBD328E428918
-:103EA000AE8431BFE3090FEAE30805EA45BD0DCD55
-:103EB000AE8EB287D9B39307F00FE300F9F2B307E0
-:103EC000AF008583FDB53304E541AE8481BBE31DBE
-:103ED0000FFCE30505E8AE84BDBD854725BD8547DC
-:103EE00049BF0149E39707EC814E814779B3B30796
-:103EF000E5414289AE8419BBB28741B3328E428913
-:103F00007DBD054735BF3706800013577501930700
-:103F1000F6FF1377F70F9305E007B3F6A700935763
-:103F2000F50163FCE5009305D00963FAE500370568
-:103F300000801345F5FF3E95828001458280930500
-:103F40005009D18E63CDE500130660093307E640C2
-:103F500033D7E6003305E040F5F33A858280130756
-:103F6000A7F63397E600FDB71357750137068000B3
-:103F70009307F6FF1377F70F9305E007B3F6A70053
-:103F80009357F501014563F4E50099C3828082806F
-:103F90009307E0097D55E3EBE7FE93055009B3E78E
-:103FA000C60063D7E5001307A7F63395E7008280C4
-:103FB000130560093307E54033D5E70082804111DE
-:103FC00006C622C415CD2A84E92C9307E00933875D
-:103FD000A7409307600963C0E704A1469377F70FF2
-:103FE00063D5A60061153314A40026042580260499
-:103FF00013559400B2402244DE075D8D410182805A
-:104000000144260413559400B24022448147DE0740
-:104010005D8D410182809307900963DDE70093077E
-:10402000B5019546B317F400898EB337F0003354C9
-:10403000D4005D8C954763D6A7009307B5FF331472
-:10404000F400B70600FCFD16937774003376D400B5
-:1040500085C39377F4009145638CB70011069317DD
-:10406000560063D707009307F009758E3387A74082
-:10407000131466002580260413559400B240224490
-:104080009377F70FDE075D8D41018280135775012D
-:104090001377F70F41119307170022C426C2131498
-:1040A000950006C693F7E70F25809354F50185C761
-:1040B00093573400130707387604B2075207B183C9
-:1040C0001395F401D98FC98FB240228522449244BE
-:1040D000BE854101828005EB39C42285D922A947DA
-:1040E00063C6A7042D47098F930755013357E40092
-:1040F0003314F4009317C70013079038098FB18366
-:104100001377F77F5DBF01CC13573400B707080062
-:10411000D98FB2077604B1831307F07F79BF1307F5
-:10412000F07F814759BF0147814741BF130755FFC2
-:104130003317E40001447DBF93D645019397C50032
-:1041400093F6F67FB183138616008E071357D501B9
-:104150001376E67FFD815D8F9318350035CE138889
-:1041600006C89307E00F63DD0701814713959700A9
-:104170009306F00FDE062581FE05558D4D8D82805C
-:104180006355000B931765000E07B337F000D98F06
-:1041900093D8D801B3E7170113F77700630107102D
-:1041A00013F7F70091466303D70091073707000420
-:1041B0007D8F75C7130718001306F00F9376F70F5E
-:1041C000E305C7FA9A07A58313959700DE062581B4
-:1041D000FE05558D4D8D8280B367170199EE85CF11
-:1041E00095479A07A5831395970093F6F60FDE0679
-:1041F0002581FE05558D4D8D8280A5DBB7074000DA
-:10420000139597009306F00FDE0681452581FE0584
-:10421000558D4D8D82808147139597008146DE062E
-:104220002581FE05558D4D8D8280A5576348F80484
-:10423000F94737068000B38707417D45598E6351A2
-:10424000F504795733070741130500023357E60099
-:104250006388A700938626CAB316D600B3E8D800B1
-:10426000B3371001D98F13F77700014815FB139767
-:1042700057008546E34807F48146A5B781468DB7C8
-:10428000938626C83397D8003337E000B316D6009C
-:10429000B3D8F800B367D700B3E7F800E9B7C28630
-:1042A00089B7C167637CF5029307F00F130700021B
-:1042B00063EBA7009727000093870794AA978823AA
-:1042C0003305A74082802181972700009387C792FA
-:1042D000AA97882361473305A7408280B70700016A
-:1042E000636DF5006181972700009387E790AA9797
-:1042F000882321473305A74082804181972700000A
-:104300009387878FAA97882341473305A7408280E8
-:10431000B3C7A5008D8B3307C50081E78D4763EDDB
-:10432000C700AA87637EE508942185078505A38FCA
-:10433000D7FEE3EBE7FE828093763500AA8789CA31
-:10434000942185078505A38FD7FE93F63700C5BF57
-:104350009376C7FF138606FE63F0C70683A30500A6
-:1043600083A2450083AF850003AFC50083AE05017E
-:1043700003AE450103A3850183A8C50193854502CA
-:1043800023A0770003A8C5FF23A2570023A4F701A9
-:1043900023A6E70123A8D70123AAC70123AC6700FE
-:1043A00023AE17019387470223AE07FF75B79041ED
-:1043B0009107910523AEC7FEE3EBD7FEE3E6E7F6F0
-:1043C000828039713EDA2ED232D436D63AD842DCE7
-:1043D00046DE9387418122CC804326CA06CEAA843A
-:1043E00009C41C4C99E32285E12B0C445410268609
-:1043F000228536C6EF00D021F2406244D2442161CA
-:104400008280011126CA4AC806CE22CC4EC652C4AA
-:10441000AA842E8901C51C4D91E35D239C4C8044E8
-:1044200099E32685712B972700009387E78E631BFE
-:10443000F402C0405E24A18BB1C71C48A1C7FD593E
-:10444000294A1C4483450900FD17B1E91CC463DDFA
-:1044500007062286A94526859522FD576308F502A1
-:10446000294535A0972700009387078D6314F40032
-:104470008044C9B79727000093870788E31CF4FAA4
-:10448000C0444DBFA2852685C52A55D97D55F24029
-:104490006244D2444249B249224A056182801CC426
-:1044A000050963D70700184C63CAE7006388450114
-:1044B0001C401387170018C08CA361B7228626857D
-:1044C000F528E31035F9D9B71C401387170018C039
-:1044D000294798A371B793874181AA8588436FF0D4
-:1044E0005FF241119387418122C4804326C206C6F0
-:1044F0001C5CAA848DEB61452527B737CDAB08DC62
-:104500009387E7301CC1B7176DE6938747235CC1DB
-:10451000B7E705009387C7EE1CC5AD475EA5054705
-:10452000814718C95CC91C5CB240224484CB23AAD1
-:10453000070092444101828041119387418122C446
-:10454000804306C61C5C8DEB6145D92DB737CDABDA
-:1045500008DC9387E7301CC1B7176DE693874723C4
-:104560005CC1B7E705009387C7EE1CC5AD475EA5E4
-:104570000547814718C95CC9105C3787954CB7F768
-:104580005158144A484A1307D7F29387D742B38742
-:10459000F602B24022443305E5023E95B387E602B7
-:1045A00033B7E6029386170014CA2A9733B5F6008C
-:1045B0003A9548CA0605058141018280011122CC45
-:1045C00026CA4AC806CE4EC6AA842E89328401C5A0
-:1045D0001C4D91E3F526971700009387E773631747
-:1045E000F406C0401C4C1CC45E24A18BC1C31C48F3
-:1045F000B5CF1C4808409379F90F1379F90F1D8D39
-:104600005C486346F500A2852685692C25E51C4497
-:104610000505FD171CC41C401387170018C0238014
-:1046200037015C486388A7005E24858B81CBA9474E
-:104630006316F900A2852685B5240DEDF24062448B
-:104640004A85D2444249B2490561828097170000E9
-:104650009387876E6314F400804469B7971700004E
-:1046600093878769E310F4F8C044ADBFA28526851F
-:10467000212041D17D59D9B741119387418126C26B
-:10468000844322C44AC006C62A892E8489C49C4C0D
-:1046900099E326853526971700009387E767631B04
-:1046A000F402C0400317C40093170701C18393F6B7
-:1046B0008700ADEA93F6070195EEA5472320F900A0
-:1046C000136707045AA47D55B2402244924402491C
-:1046D0004101828097170000938707666314F400F6
-:1046E0008044C9B79717000093870761E31CF4FA69
-:1046F000C0444DBF918B9DC34C5889C99307440456
-:104700006384F5004A851523232A04025E242322AC
-:10471000040093F7B7FD5EA41C481CC05E2493E719
-:1047200087005EA41C4899EB5E241307002093F7D2
-:1047300007286385E700A2854A8591295E2413F73F
-:1047400017001DC35C4823240400B307F0401CCCB1
-:104750001C480145B5FB8317C40013F707082DD784
-:1047600093E707045EA485B7898B014791E3584816
-:1047700018C4F9BFDE25011122CC26CA06CE4AC8CC
-:104780004EC613F78700AA842E8479EBD841634D77
-:10479000E000B841634AE0000145F2406244D2447F
-:1047A0004249B2490561828058547DD703A904006B
-:1047B0009396370123A0040063DB060670485E244D
-:1047C000918B99C75C401D8E5C5899C33C401D8EEF
-:1047D0005C540C50814626858297FD575A24631DF0
-:1047E000F5009440F54763E8D706B70740208507F2
-:1047F000B3D7D700858BA5C31C48232204001CC057
-:104800009317370163D80700FD576314F5009C40E8
-:1048100091E368C84C5823A02401BDDD93074404EC
-:104820006384F50026851121232A0402B5B70C50B4
-:104830000146854626850297FD572A86E311F5F83D
-:104840009C40B5DF75476385E70059476393E704EC
-:1048500023A0240191B7136707045AA47D5535BFDF
-:1048600083A90501E38A09F203A905008D8B23A022
-:10487000350133093941014791E3D84918C4E35D53
-:1048800020F11C540C50CA864E86268582976347B9
-:10489000A0005E2493E707045EA4C9B7AA99330970
-:1048A000A940F1BF9C49A5C3011122CC06CE2A84A0
-:1048B00011C51C4D81E72EC62122B2459717000075
-:1048C00093878745639CF5004C408397C5009DC73F
-:1048D00022856244F24005616FF0DFE9971700001E
-:1048E000938787456394F5000C44C5B7971700007C
-:1048F00093878740E39BF5FC4C44C1BFF240624480
-:1049000001450561828001458280411122C406C6AD
-:104910002A844EA572A52320050023220500232406
-:1049200005002322050623280500232A0500232C41
-:104930000500214681451305C505EFB07F86971711
-:104940000000938727B35CD097170000938747B583
-:104950001CD497170000938727B95CD497170000E1
-:10496000938787BB00D01CD8B2402244410182808B
-:1049700097050000938545F391AA411126C21306BD
-:1049800080069384F5FFB384C4024AC02E8922C4F2
-:1049900006C693854407352E2A8401CD23200500C1
-:1049A00023222501310508C4138684068145EFB012
-:1049B0002FFF2285B2402244924402494101828065
-:1049C0001C4DA5E7411106C622C497070000938736
-:1049D00067FA1CD5938781819C43232405042326F1
-:1049E0000504232805046314F50085471CCD2A849B
-:1049F000352848C022851D2808C42285052848C4BA
-:104A0000484001469145EFF05FF008440546A54552
-:104A1000EFF0BFEF48440946C945EFF01FEF854767
-:104A20001CCCB24022444101828082804111938794
-:104A3000818126C284434AC006C69C4C22C42A896E
-:104A400081E72685EFF0DFF7938484048044DC401F
-:104A5000FD1763D607009C40B9CF8440C5BF03173C
-:104A6000C40039E7C1778507232204062320040008
-:104A700023220400232404005CC423280400232AE6
-:104A80000400232C0400214681451305C405EFB022
-:104A90002FF1232A0402232C0402232404042326B6
-:104AA00004042285B240224492440249410182809A
-:104AB0001304840671BF91454A85EFF01FEC88C04E
-:104AC00049FDB1472320F9000144E1BF797122D4A7
-:104AD0004AD052CC56CA5AC85EC606D626D24ECE48
-:104AE0002A8AAE8A130485040149054BFD5B09EC53
-:104AF000B25022544A8592540259F249624AD24A2B
-:104B0000424BB24B45618280044483294400FD1925
-:104B100063D409000040E1BFDE24637BFB00839780
-:104B2000E40063877701A6855285829A3369A900DC
-:104B300093848406E9BF1971A6DAAE848395E500F3
-:104B4000A2DC86DE328463DB0500DE2423A00600BF
-:104B500093F7070885E7930700401DA0300836C685
-:104B6000EF001021B246E34205FE7247BD67F98FA0
-:104B70007977BA9793B717009CC2F1BF93070004E7
-:104B80001CC0F6506654D654014509618280DE256A
-:104B9000011122CC06CE26CA4AC8898B2E8489CF21
-:104BA000930774041CC01CC885475CC8F24062446B
-:104BB000D24442490561828074003000AA84EFF03B
-:104BC0009FF7A2452A892685292219E98317C4005F
-:104BD00013F7072061FFF19B93E727005EA4C9B795
-:104BE00097070000938707D99CD45E2408C008C8A3
-:104BF00093E707085EA4A2475CC8B24781CF83153C
-:104C0000E4002685EF00701911C55E24F19B93E73F
-:104C100017005EA45E243369F9002316240179B7D6
-:104C200093874181AA8588436DA0DDC183A7C5FF15
-:104C3000411122C406C626C21384C5FF63D30700F0
-:104C40003E94AA84EF00301C938701869C4381EF39
-:104C50002322040023A081862244B2402685924468
-:104C600041016F00701A637EF40014403307D400D2
-:104C70006396E7009843DC43369718C05CC0D9BF01
-:104C8000BA87D84319C3E37DE4FE94433386D70043
-:104C9000631F86001040B29694C33386D700E31D8D
-:104CA000C7FA10435843B29694C3D8C375B7637517
-:104CB000C400B1479CC04DB71040B306C400631692
-:104CC000D70014435843B29614C058C0C0C369B744
-:104CD0008280011126CA93843500F19806CE22CC39
-:104CE0004AC84EC6A104B14763F3F404B14463E279
-:104CF000B4042A89EF0030119387018698433A84DF
-:104D000039E0938741869C4391E781454A85252F69
-:104D100023A2A186A6854A853D27FD59631935073B
-:104D2000B1472320F9004A85EF00100E29A0E3D0F7
-:104D300004FCB1471CC10145F2406244D2444249DF
-:104D4000B249056182801C40858F63CF0702AD4662
-:104D500063F6F6001CC03E9404C031A05C406313AF
-:104D6000870223A0F1864A85EF00100A1305B400DC
-:104D70009307440061993307F5405DDF3A94898FCA
-:104D80001CC05DBF5CC3C5B72287404095BF1304FC
-:104D900035007198E30285FCB305A4404A8565257A
-:104DA000E31C35FBB5BF1C46FD171CC663DA0700C4
-:104DB000184E63C5E700A9476394F5006FF01F80A4
-:104DC0001C422E851387170018C28CA38280011104
-:104DD00022CC26CA4AC84EC652C406CE2A89AE89FB
-:104DE0003284B304D6007D5A63149400014509A8A7
-:104DF0000C204E864A85EFF01FFB0504E31645FFA5
-:104E0000F2406244D2444249B249224A056182805A
-:104E1000357122CD26CB4AC94EC706CF52C556C3DF
-:104E20005AC1DEDEE2DCE6DAAA89AE843289368453
-:104E300009C51C4D99E3EFF0BFB8971700009387A1
-:104E4000A7ED6398F40C83A44900DE24A18BE5C789
-:104E50009C48F5C393070002A304F10293070003E3
-:104E600002D22305F10222C6930B5002971A0000CA
-:104E7000938A8AEE054C294B4A841C2099C3639F70
-:104E8000770DB30C2441638E0C00E6864A86A68516
-:104E90004E85EFF0DFF3FD57630FF51C9256E69653
-:104EA00036D21C206389071CFD571309140002C861
-:104EB00002CE3ECA02CCA309010482D48345090074
-:104EC000154656852D2713041900C24751E913F7DB
-:104ED000070109C713070002A309E10413F78700BC
-:104EE00009C71307B002A309E104834609001307A9
-:104EF000A002638FE606F2474A84814625461820C1
-:104F000093051400130707FD6377E60AB5CA3ECE82
-:104F100085A897170000938727E26395F40083A480
-:104F2000890025B797170000938707DDE39FF4F00A
-:104F300083A4C90019BFA6854E85EFF0EFF319D9F8
-:104F40007D55FA406A44DA444A49BA492A4A9A4A9B
-:104F50000A4BF65B665CD65C0D618280050431BF4E
-:104F6000330555413315AC00C98F3EC82289B9B706
-:104F7000324793064700184336C6634707023ACEC6
-:104F800018209307E002631DF70418309307A0026E
-:104F9000631BF702B2470904138747009C433AC6D4
-:104FA00063C107023ECA2DA83307E04093E72700FC
-:104FB0003ACE3EC8F1B7B387670385462E84BA97C9
-:104FC0003DBFFD57C5B7050402CA81468147254646
-:104FD000182093051400130707FD6374E606F9F221
-:104FE0000C200D4617150000130585D7092511CD96
-:104FF000971700009387C7D61D8D93070004B397BA
-:10500000A700424505045D8D2AC80C2019461715D6
-:105010000000130525D5130914002304B102C12B88
-:1050200035C197B7FFFF9387E7FD95E74247B24742
-:105030001377071009CF91073EC69257D2973ED2F9
-:1050400025BDB387670385462E84BA9751B79D0760
-:10505000E19BA107D5B7780097060000938666D735
-:1050600026860C084E8597000000E7000000FD57DB
-:105070002A8AE314F5FCDE2493F70704E39207EC95
-:105080001255C1B5780097060000938686D426860F
-:105090000C084E85012AE1BF797156CA9C49BA8A2B
-:1050A000984522D426D24ECE52CC06D64AD05AC8E3
-:1050B0005EC6AA892E84B284368A63D3E700BA8793
-:1050C0009CC00347340419C385079CC01C4093F758
-:1050D000070281C79C4089079CC0032904001379FB
-:1050E0006900631A0900130B9401FD5B5C4498404E
-:1050F000998F634CF9041C408346340493F70702EC
-:10510000B336D000A5EB13063404D2854E85829ABF
-:10511000FD576303F5041C4011469840998B544495
-:1051200081446397C700B384E64063D3040081449D
-:105130001C4418486354F700998FBE9401496904D0
-:105140007D5B63982405014509A885465A86D2856A
-:105150004E85829A631E75017D55B2502254925439
-:105160000259F249624AD24A424BB24B45618280AF
-:105170000509ADBF3307D40013060003A301C7041C
-:105180000347540493871600A2978906A381E70476
-:105190009DBF85462286D2854E85829AE30E65FBA9
-:1051A000050945B7797122D426D24AD04ECE06D60B
-:1051B00052CC56CA5AC8B689942D930790063289A4
-:1051C000AA842E8413863504638DF60263E2D70623
-:1051D000930780056386F61863EDD700638E06207B
-:1051E00093073004638EF60A930A24042301D4043F
-:1051F000C9A0930730066385F60A93074006E39536
-:10520000F6FE1C40084393F6070893054500C5C603
-:105210001C410CC363D807001307D002B307F0404A
-:10522000A301E40497160000938646B4294765A8B5
-:10523000930700076382F61663E5D7029307E0063B
-:105240006389F6189307F006E390F6FA0C401C43C6
-:1052500013F80508138547006307080608C39C4335
-:1052600085A893075007E383F6FE930780076389B9
-:10527000F61293073007E399F6F61C43D0418145B7
-:105280009386470014C383AA070056858D2601C55F
-:105290003305554148C05C401CC8A301040461A803
-:1052A0001C43930A2404938647009C4314C32301A0
-:1052B000F4048547D5B793F607041C410CC3B9DA4B
-:1052C000C207C18781BF93F5050408C3C9D99E23CE
-:1052D0001307F0066387E60E97160000938606A96B
-:1052E0002947A30104044C400CC463C505000840D1
-:1052F0006D9908C099E3B28A89CDB28AB3F5E70205
-:10530000FD1AB6958C212380BA00B3D5E70263F06D
-:10531000E70CA147631EF7001C40858B91CB5840DA
-:105320001C4863C7E70093070003A38FFAFEFD1A2A
-:105330003306564110C84E87CA867000A28526855E
-:10534000EFF09FD57D5A631D450B7D55B250225419
-:1053500092540259F249624AD24A424B45618280D4
-:10536000A382D50497160000938646A00C400843FC
-:1053700013F805081C411105630D080208C313F753
-:10538000150001C793E505020CC04147B9FB0C406D
-:1053900093F5F5FD0CC0B1B79C4193E707029CC1A2
-:1053A00093078007A302F404971600009386469D96
-:1053B00075BF13F8050408C3E30308FCC207C183E3
-:1053C0007DBF971600009386669A214719BFAE8766
-:1053D00035B794411C43CC4913F8060813854700A0
-:1053E0006306080008C39C438CC339A008C393F626
-:1053F00006049C43F5DA8EA323280400B28A25BF55
-:1054000014485686CA8526858299E30045F51C40D6
-:10541000898B8DE7B2474844E35AF5F23E853DB7A4
-:1054200085465686CA8526858299E30065F3050A76
-:105430005C443247998FE345FAFEE9BF014A930A7B
-:1054400094017D5BF5B7411122C42A842E8523A4E3
-:1054500001B006C6EFC0EFFBFD576317F500938759
-:1054600081B09C4391C31CC0B24022444101828060
-:10547000411122C42E848395E50006C67922634932
-:1054800005007C48AA977CC8B24022444101828032
-:105490005E247D777D17F98F5EA4FDB7DE250111AF
-:1054A00022CC26CA4AC84EC606CE93F70710AA8455
-:1054B0002E843289B68991C78395E50089460146D5
-:1054C00009225E247D777D17F98F5EA48315E400A1
-:1054D0006244F240CE864A86B24942492685D24489
-:1054E000056125A8411122C42E848395E50006C6D6
-:1054F000C928FD575A24631AF500FD77FD17F98F67
-:105500005EA4B2402244410182808567D98F5EA4A7
-:1055100068C8C5BF8395E50005A8411122C42A8447
-:105520002E85B285368623A401B006C6EFC08FEA69
-:10553000FD576317F500938781B09C4391C31CC04E
-:10554000B240224441018280411122C42A842E8526
-:1055500023A401B006C6C520FD576317F500938745
-:1055600081B09C4391C31CC0B2402244410182805F
-:10557000411122C42A842E85B28523A401B006C617
-:10558000C920FD576317F500938781B09C4391C3F1
-:105590001CC0B240224441018280411122C42A84AD
-:1055A0002E8523A401B006C65D20FD576317F500C4
-:1055B000938781B09C4391C31CC0B24022444101F7
-:1055C0008280411122C42A842E85B285368623A486
-:1055D00001B006C65920FD576317F500938781B0C7
-:1055E0009C4391C31CC0B24022444101828093F588
-:1055F000F50F2A966314C500014582801C21E38EB5
-:10560000B7FE0505C5BF82808280411122C42A846D
-:105610002E85B285368623A401B006C6A920FD5783
-:105620006317F500938781B09C4391C31CC0B240BF
-:105630002244410182809307800523A4F1B07D5567
-:1056400082809307800523A4F1B07D558280930763
-:10565000800523A4F1B0014582809307800523A42F
-:10566000F1B07D5582809307800523A4F1B07D556C
-:105670008280000053797374656D436C6B3A2564C6
-:105680000D0A00004368697049443A253038780DA6
-:105690000A00000043616C696272617474696F6E24
-:1056A0005F56616C203A2025640A000052756E2016
-:1056B000617420455854490D000000000000803FEF
-:1056C0000000484300F07F456666666666660A40ED
-:1056D0000000000000001040000000000000264014
-:1056E0006F12833A000000009A9999999999B93FED
-:1056F00000007A440AD7233C000090415B494E46A3
-:105700004F5D205B25733A25645D205265676973A0
-:1057100074726174696F6E2073756363657373204F
-:105720000D0A0D0A000000005B4552524F525D20E9
-:105730005B25733A25645D20205265676973746543
-:10574000725F4E756D626572206572726F723A2576
-:1057500078200D0A0D0A00005B4552524F525D2021
-:105760005B25733A25645D20205265676973746513
-:10577000725F53746172745F416464726573732005
-:105780006572726F72203A202578200D0A0D0A008A
-:105790005B494E464F5D205B25733A25645D2020B2
-:1057A000534C5F52656164526567697374657241F9
-:1057B00063636573734E6F646554797065200D0A79
-:1057C000000000005B494E464F5D205B25733A2583
-:1057D000645D2020534C5F52656164526567697354
-:1057E00074657242617474657279566F6C74616726
-:1057F00065200D0A000000005B494E464F5D205BAE
-:1058000025733A25645D2020534C5F5265616452D4
-:1058100065676973746572426174746572797465E1
-:105820006D7065726174757265200D0A000000006C
-:105830005B494E464F5D205B25733A25645D202011
-:10584000534C5F5265616452656769737465724356
-:105850006F6D6D756E69636174696F6E4D657468A7
-:105860006F6473200D0A00005B494E464F5D205B5C
-:1058700025733A25645D2020534C5F526561645264
-:105880006567697374657252656769737472617470
-:10589000696F6E537461747573200D0A0000000007
-:1058A0005B494E464F5D205B25733A25645D2020A1
-:1058B000534C5F52656164526567697374657252D7
-:1058C000656D61696E696E67426174746572794273
-:1058D0006F776572200D0A005B494E464F5D205B75
-:1058E00025733A25645D2020534C5F5265616452F4
-:1058F00065676973746572536F6C61724F70656E22
-:1059000043697263756974566F6C746167653120A1
-:105910000D0A00005B494E464F5D205B25733A251A
-:10592000645D2020534C5F52656164526567697302
-:10593000746572536F6C61724F70656E4369726308
-:10594000756974566F6C7461676532200D0A0000CA
-:105950005B494E464F5D205B25733A25645D2020F0
-:10596000534C5F5265616452656769737465726117
-:10597000646472657373200D0A0000005B494E4633
-:105980004F5D205B25733A25645D204D617463682B
-:105990005F5374617274666C6167207375636365CD
-:1059A0007373200D0A0D0A005B494E464F5D205B64
-:1059B00025733A25645D204D617463685F6164649A
-:1059C000726573732073756363657373200D0A0DBD
-:1059D0000A0000005B494E464F5D205B25733A2567
-:1059E000645D204D617463685F42726F61646361DE
-:1059F0007374616464726573732073756363657334
-:105A0000730D0A0D0A0000005B494E464F5D205B96
-:105A100025733A25645D20526561645F526567694C
-:105A2000737465720D0A0D0A000000005B494E4652
-:105A30004F5D205B25733A25645D2057726974655C
-:105A40005F52656769737465720D0A0D0A00000084
-:105A50005B494E464F5D205B25733A25645D2042CD
-:105A6000726F6164636173745F5363616E0D0A0DDD
-:105A70000A0000005B494E464F5D205B25733A25C6
-:105A8000645D20526567697374726174696F6E5FDB
-:105A9000726571756573740D0A0D0A005B494E4697
-:105AA0004F5D205B25733A25645D2066756E636FDC
-:105AB0006465206572726F722025780D0A0D0A00E8
-:105AC0006666663F000000009A9999999999A93FE6
-:105AD000696E207465737420000000006475747929
-:105AE0005F726174696F203A202564200A0000000B
-:105AF0000000003F20D4FFFF12D3FFFF12D3FFFFAF
-:105B000010D3FFFF18D3FFFF18D3FFFFDED2FFFF34
-:105B100010D3FFFF18D3FFFFDED2FFFF18D3FFFF24
-:105B200010D3FFFF0CD4FFFF0CD4FFFF0CD4FFFFFA
-:105B3000DED2FFFFACDBFFFFD2DAFFFFA6DBFFFF09
-:105B4000DADAFFFFA6DBFFFFA0DAFFFFA6DBFFFF2D
-:105B5000DADAFFFFD2DAFFFFD2DAFFFFA0DAFFFFC7
-:105B6000DADAFFFFE0DAFFFFE0DAFFFFE0DAFFFF5B
-:105B7000A0DAFFFF92DAFFFF92DAFFFF66DBFFFF9A
-:105B800042DCFFFF66DBFFFF60DAFFFF66DBFFFF43
-:105B900042DCFFFF92DAFFFF92DAFFFF60DAFFFFDD
-:105BA00042DCFFFFA0DAFFFFA0DAFFFFA0DAFFFF71
-:105BB00060DAFFFFBADEFFFF08DEFFFF08DEFFFF4F
-:105BC00006DEFFFF0CDEFFFF0CDEFFFFDCDDFFFF6C
-:105BD00006DEFFFF0CDEFFFFDCDDFFFF0CDEFFFF5C
-:105BE00006DEFFFFA8DEFFFFA8DEFFFFA8DEFFFF47
-:105BF000DCDDFFFF000102020303030304040404CD
-:105C00000404040405050505050505050505050548
-:105C10000505050506060606060606060606060628
-:105C20000606060606060606060606060606060614
-:105C300006060606070707070707070707070707F8
-:105C400007070707070707070707070707070707E4
-:105C500007070707070707070707070707070707D4
-:105C600007070707070707070707070707070707C4
-:105C700007070707080808080808080808080808A8
-:105C80000808080808080808080808080808080894
-:105C90000808080808080808080808080808080884
-:105CA0000808080808080808080808080808080874
-:105CB0000808080808080808080808080808080864
-:105CC0000808080808080808080808080808080854
-:105CD0000808080808080808080808080808080844
-:105CE0000808080808080808080808080808080834
-:105CF0000808080800000000000000000000000084
-:105D00000000000000000000000000000000000093
-:105D10000000000000000000000000000000000083
-:105D20000000000000000000000000000000000073
-:105D30000000000000000000000000000000000063
-:105D40000000000000000000000000000000000053
-:105D500000000000232D302B20000000686C4C0058
-:105D60006566674546470000303132333435363793
-:105D70003839414243444546000000003031323357
-:105D80003435363738396162636465660000000077
-:105D900000000000000000000102030406070809DB
-:105DA00000000000010203040102030406070809C1
-:105DB000534C111111111111111601000100802510
-:105DC000000080250000000030000000B620000028
-:105DD00010000000461E0000A00000004C20000043
-:105DE000A10000000C20000000000000E61F0000E1
-:105DF00001000000CA1F000002000000A41F0000F4
-:105E0000030000007E1F0000000100004E1F000084
-:105E1000010100001E1F000002010000EE1E000034
-:105E200003010000BE1E0000040100008E1E0000E1
-:105E300000000000030000008025000000000000BA
-:105E40000000000000000000000000000000000052
-:105E50000400000080250000000000000000000099
-:105E6000000000000000000000000000145D0000C1
-:105E7000345D0000F45C0000000000000000000041
-:105E80000000000000000000000000000000000012
-:105E90000000000000000000000000000000000002
-:105EA00000000000000000000000000000000000F2
-:105EB00000000000000000000000000000000000E2
-:105EC0000000000000000000006CDC020204060874
-:105ED00044040020010000000000003FD800002022
-:085EE000D800002000000000C2
+:1005700082800845098105898280A54763F7B70411
+:100580008D47138765FF3307F7020328C5009D4792
+:10059000B397E70093C7F7FFB3F70701B396E600F9
+:1005A000DD8E54C5994763E3C70495477D1633062E
+:1005B000F6025859FD47B397C70093C7F7FFF98F65
+:1005C0003396C5005D8E50D982800D473387E50292
+:1005D000032805019D47B397E70093C7F7FFB3F7DB
+:1005E0000701B396E600DD8E14C96DBFB14763E223
+:1005F000C702954765163306F6021859FD47B397AB
+:10060000C70093C7F7FFF98F3396C5005D8E10D9E9
+:10061000828095474D163306F6025855FD47B3972D
+:10062000C70093C7F7FFF98FB395C500DD8D4CD593
+:1006300082805C4191C537070004D98F5CC18280FC
+:10064000370700FC7D17F98FD5BF3C4989C593E773
+:1006500007083CC9828093F7F7F7E5BF3C4989C595
+:1006600093E707043CC9828093F7F7FBE5BF3C4959
+:1006700093F7F7FD3CC93C49DD8D2CC98280EFF230
+:100680003FAFB7066745B7270240938636123797C4
+:10069000EFCDD4C31307B79AD8C3D4D3011198C7E9
+:1006A000D45B1387470313962600E34B06FED4570B
+:1006B000372501401305054093E60620D4D7DC5BBF
+:1006C000B7060020D58F1CC31C431C4537070E00FE
+:1006D000D98F1CC51C4593E717001CC53C4993E7FF
+:1006E00007043CC91C4593E787001CC52A84228562
+:1006F000853D75FD3725014083278540130505405D
+:1007000093E747001CC52A842285A53575FD37254A
+:1007100001400546C945814613050540B93D2546BA
+:100720002304010037270140B70550001C84637F74
+:10073000F60423040100A54621461C8463FFF60647
+:10074000231501002304010095461C8463F1F60E75
+:1007500038853C8599460D46B3F7D70205651305E4
+:1007600005803357D702B3D7C702BA97C207C183F0
+:100770007C85B727014003A78740799B23A4E740E6
+:100780003C8505611D8D4205418529B4832787403D
+:10079000CD8F2324F74083270740898BEDDF1C840E
+:1007A0008326C74408108607AA972396D7FE1C8481
+:1007B000850793F7F70F5C8495BFA30401009C8421
+:1007C0006378F6001C84850793F7F70F5C84B5B750
+:1007D00098849C840C100607850786072E97AE9791
+:1007E0000357C7FE83D7C7FE63FDE7029C848607D5
+:1007F000AE9783D7C7FE7C859C849884850786073F
+:10080000AE9783D5C7FE931717001810BA97239693
+:10081000B7FE9C8438850C1085078607AE97239613
+:10082000E7FE9C84850793F7F70FDC8449BF1C849F
+:100830001010388589078607B29783D7C7FEBA9705
+:10084000C207C1837C851C84850793F7F70F5C84FE
+:10085000EDBD03A5C18182805841032805004C45A8
+:1008600037060140930706403E979346F8FFB1C50F
+:1008700083250640F58D2320B640D043F18ED4C3A6
+:100880001443B3E6060114C3184190479346F7FF9B
+:10089000758E90C7D047F18ED4C7144541466399F1
+:1008A000C6009447D98E94C7D447558FD8C7828045
+:1008B000B6979443558F98C382801C43F58F1CC311
+:1008C0008280B70701401387074083A70740584B32
+:1008D000698F09C77D8D3335A000828001458280F4
+:1008E000B707014023AAA74082809C4513F7070160
+:1008F00013F8F70001C7D8413368E8008E2113F7D9
+:10090000F50F39C318418146854E3D4F930F800244
+:1009100093028004214E3396DE00B3F8C5006311C4
+:1009200016039398260033131F011343F3FF337705
+:10093000E300B318180133E7E800639FF70550C9D7
+:100940008506E39AC6FD18C11307F00F6375B70457
+:1009500054412146854E3D4F930F800293028004FF
+:10096000414EB398CE0033F715016392E802131796
+:10097000260001173313EF001343F3FFB376D300C0
+:100980003317E800D98E639DF701232A1501050668
+:10099000E319C6FD54C18280E39457FA10C94DB7DC
+:1009A000E39757FE23281501DDB70CC9828019C2D1
+:1009B0000CC982804CC98280370700C0B377E5003C
+:1009C0006395E708370701405C439356B501584FDC
+:1009D0009D8A9DE6F99BB70600FFFD16758F89C9B4
+:1009E00093160501C182D58FB706FF01758D498F1A
+:1009F000B7060007D58FB7060140DCC2D8CE82808B
+:100A000005466396C600F59BB70680FFF9B7094611
+:100A10006396C600ED9BB706E8FFC1B70D46639627
+:100A2000C600DD9BB706FCFF4DBF11466397C600AD
+:100A300093F7F7F3B706C0FF4DB71546E391C6FA33
+:100A400093F7F7CFB706E0FF49BF37070040639140
+:100A5000E702B7070140D84F4205B367A70089E511
+:100A60001345F5FFB377E500370701405CCF82807F
+:100A7000A9E337080140B7073000032648001317E1
+:100A80000501B376F50041836396F602B70600F9D7
+:100A9000FD16B377D60003264800F18E2322D80036
+:100AA00091C5558112053315A700C98F370701403D
+:100AB0005CC382809317B50063D00702935705018A
+:100AC00093F6F7008D47B397D70093C7F7FFF18FE1
+:100AD000B7060007D58FE9B7935755019207B317AB
+:100AE000F700E5B713F7C50F93F73500B7050140D9
+:100AF000BA9594458A073D473317F7001347F7FF28
+:100B0000758F98C598453315F500598D88C5828035
+:100B1000EFF20FE637F4FF1F032744723706003E5B
+:100B20004111931797019346F7FFF18F0607370698
+:100B30003E00718FD98F3706000113979600718F91
+:100B4000D98FBD824167F98ED58F02C202C402C619
+:100B500023A0F182035784728545239CE1800327FB
+:100B600004721305D00323A2E1820327447023AE4D
+:100B7000E1808D2C8327447037073A1013070770E4
+:100B800093F7F7F06380E7106361F70237073210DD
+:100B9000130707706380E7063707371013070770DE
+:100BA0006387E70841016FF0EFDE37073B1013075B
+:100BB0000770638BE70A37073D1013070770E3934D
+:100BC000E7FE85452165CD3BB7140140E17713046D
+:100BD00080044C00138504807C8222C639338567EB
+:100BE0009387C7334C00138504C07C8222C6F53935
+:100BF000F9770DA085452165C133B71401409307EE
+:100C000000E0130480044C00138504C07C8222C6DB
+:100C1000E93989674C00371501407C8222C6F131E1
+:100C20008D477C8222C64C001385044025A8B7144A
+:100C30000140E17793870770130480044C0013850B
+:100C400004807C8222C655319307D0E34C00138583
+:100C500004C07C8222C65139F9777C8222C64C00BE
+:100C60003715014059313DBFB7140140E1771304F6
+:100C700080044C00138504807C8222C6BD3193071A
+:100C800040208DB7B7140140E177130480044C0075
+:100C9000138504807C8222C689398967F51799B744
+:100CA00023A4A182828003A7818285471421631037
+:100CB000F7021C31639CE7023C21960793E707F893
+:100CC00037E700E093F7F70F36972300F740054723
+:100CD00093D756003317D700544189CE9387070422
+:100CE0008A07B7E600E0B69798C38280EDF33C210F
+:100CF0009607F9B793870706E5B7B7160240DC42B7
+:100D00003747FF7F7D17F98F5D8DC8C28280371707
+:100D100002405C439146B18B638CD706A146638E3B
+:100D2000D706BDE71C43918BA5C7B7470F00938734
+:100D300007241CC1371602405C4237070020130706
+:100D400007019183BD8BBA9794231C41B3D7D70079
+:100D50005CC15442A1829D8ABA969422B3D6D70030
+:100D600014C55442AD829D8A36971423B3D6D7005A
+:100D700054C55842634C07005C42B98313F73700EF
+:100D800093874180BA979C23B3D7F6021CC982800F
+:100D9000B7177A009387072069BF5C435843C16641
+:100DA000C983BD8B758F8907C5466393D700C94733
+:100DB00001EF3747024003270780418B09CF3717E0
+:100DC0007A001307072021A83717024058439316CB
+:100DD000E700E3D606FE37173D0013070790B387F9
+:100DE000E70281BF99C5371702401C4F5D8D08CFC0
+:100DF0008280B7170240984F1345F5FF798D88CF51
+:100E0000828099C5371702405C4F5D8D48CF828044
+:100E1000B7170240D84F1345F5FF798DC8CF8280B0
+:100E200099C5371702405C475D8D48C78280B71768
+:100E30000240D8471345F5FF798DC8C782801A2133
+:100E40008D6793870704B6217D8F9E21D58FD6218C
+:100E5000D58FF621D58F9625D58FB625D58FD6255A
+:100E6000D58FF625D58FD98F1EA19E291EA98280E8
+:100E70001E2189C593E707041EA18280C207C18392
+:100E800093F7F7FBC207C183C5BF4EA582804A25F1
+:100E900082800A256D8D3335A00082801E21373770
+:100EA0000140130707C0C207C1836300E50237078B
+:100EB0000040630CE500130707406308E50037179F
+:100EC0000040130707806316E500FA2193F7F7F84F
+:100ED000D98F9A2593F7F7CFC207C183D98F3717D8
+:100EE00000401EA1130707809C416310E5025CD5FA
+:100EF000DE211EB5B7370140938707C06314F500A4
+:100F0000BC251EB985475EA98280C207C1835EB534
+:100F1000C5B71A31FD77FD17F98F1EB103580502C9
+:100F200056215E2D6577D2211307F7CF7D8FF97794
+:100F30002206FD17518FB3F70701F22103D8A50050
+:100F4000C2064207336606013206D18F37360140AA
+:100F5000C207130606C0C1824183C183631AC5005C
+:100F600071767D16F18EF2251A06D18EC206C182E7
+:100F700056A1B71600405AAD938606809841631576
+:100F8000D50038C11EB1828042074183DDBF1E21DA
+:100F900089C593E717001EA18280C207C183F99B10
+:100FA000C207C183CDBF8357450491C52167D98F3F
+:100FB0002312F5048280C607C583DDBF5E2501C606
+:100FC000DD8D4EA5828093C5F5FFFD8DDDBF1E2111
+:100FD00089C593E707081EA18280C207C18393F7E2
+:100FE000F7F7C207C183C5BF5A2DFD779387F77FF7
+:100FF000F98FA205CD8FC207C1835EAD82801E2905
+:101000004A25ED8F4205418189C76D8D3335A0009A
+:1010100082800145828093C5F5FFC205C1810EA97A
+:101020008280EFF2EF941629F577FD17F58FF62100
+:10103000DA257971D58F1EA95625FD779387379FBD
+:10104000F58FD6212A842EC6D58F9625D58FB62525
+:10105000D58F5EA55E29C207C18393F7F7CFD98FDD
+:101060005EA968086D31B747014093870780B24594
+:10107000631AF404A25756246547B387E702C206F1
+:10108000C186984163D20604060752244206B3D7AC
+:10109000E702130740064186B3D6E702B3F7E7023B
+:1010A0009206635506028E0793872703B3D7E7029C
+:1010B00013F77700B367D700C207C1831EA4456149
+:1010C0006FF04F8D925745BF0A07C1B792079387BC
+:1010D0002703B3D7E702BD8BD58FF9BF91C55E2536
+:1010E0000967D98F5EA582805A25F977FD17F98F98
+:1010F000D5BF13F7F50F85471583B395B70063196F
+:10110000F7009307C500984301CED98D8CC3828028
+:10111000894693074501E318D7FE93070501E5B714
+:1011200093C5F5FFF98DDDB793F5F51F4EA18280CC
+:101130004A211375F51F82800A216D8D3335A00079
+:10114000828013F7F50F85461583B397B6006311B8
+:10115000D7025A25F98F1A2101454207418381CBD5
+:101160000545A181B315B5006D8F3335E000828050
+:1011700089466314D7001A29F1BF5A29E1BFEFE26B
+:101180003FFF79711306000281450808EFF04F8197
+:101190008545114502C202C402C6A9318545130521
+:1011A000002089312165913E371501409307E00FFA
+:1011B0004C0013050580372401407C8202C6EFF005
+:1011C000CFF213050440EFF02FB013050440EFF009
+:1011D0000FCBAA852396A18237350000130545FA67
+:1011E000EF00B03EB7070E003ECE0C088547130552
+:1011F00004402302F10202C802CA02CC02D0EFF07E
+:101200002FAF854513050440EFF0EFB38545130577
+:101210000440EFF0AFC4814513050440EFF06FC107
+:1012200013050440EFF02FB3930404402685EFF03C
+:101230002FB36DFD1305044037240140EFF0CFB20A
+:10124000930404402685EFF0CFB26DFD3705008092
+:101250006D34130504408545EFF02FBF9305000260
+:1012600013050440EFF0AFC045616FE0BFF2EFE25D
+:101270003FF0011185452145B5368545116551364B
+:101280003714014085678D447C808A85C1471305EA
+:1012900004C03EC426C2EFF04FE5130504C08565C7
+:1012A000EFF0AFF0896761498A85130504C07C803F
+:1012B0004AC426C2EFF06FE391677C808A8591472C
+:1012C000130504C03EC4EFF04FE2E1778A851305B1
+:1012D00004C07C804AC426C2EFF02FE1B7070401A6
+:1012E0003EC6B70702003EC8B7070002850737446D
+:1012F00000403ECAA1473ECC6C009D4713050480C8
+:10130000FC86353E8545130504809D3605616FE0FA
+:101310007FE8EFE25FE4B74400402A891304900CB1
+:101320009389048089454E85AD360DC5CA851385E0
+:101330000480B7440040913E1304900C138904804C
+:1013400085454A85B93611CD1385048089361375D4
+:10135000F50F31A07D141374F40F69F401456FE0AB
+:10136000DFE27D141374F40F61FCCDBFEFE25FE0A8
+:101370002A89371501402E84130505C08565B2847E
+:101380000146EFF0CFE20D4569371355040113759F
+:10139000F50F4137135584001375F50F9D3F1375F5
+:1013A000F40F853F014493170401C18363EC970058
+:1013B0003715014005468565130505C0EFF02FDFA1
+:1013C0006FE05FDD1305F00FA937B307890088A32D
+:1013D0000504D1BFEFE2DFD941118545114519342C
+:1013E000E177371401407C82C1473EC64C008D47EF
+:1013F000130504803EC4EFF04FCF0146130504806F
+:10140000A165EFF0CFDA85452145E93AA1474C00C7
+:10141000130504C07C82EFF04FCD0146A1451305B2
+:1014200004C0EFF0CFD841016FE0DFD6EFE25FD428
+:10143000411185451145EFF0FF9A930700107C821A
+:1014400037150140C1473EC64C008D471305058046
+:101450003EC4EFF08FC941016FE0DFD3EFE25FD10F
+:10146000411185454145EFF0FF97856793870780D8
+:101470007C8237150140C1473EC64C008D4713059D
+:1014800005803EC4EFF06FC641016FE0BFD0EFE2D0
+:101490003FCE411185451145EFF0DF9485677C8291
+:1014A00037150140C1473EC64C008D4713050580E6
+:1014B0003EC4EFF08FC341016FE0DFCDEFE25FCBC1
+:1014C000411185452145EFF0FF91930700107C8283
+:1014D00037150140C1473EC64C008D47130505C076
+:1014E0003EC4EFF08FC041016FE0DFCAEFE25FC89A
+:1014F000797185452545EFF0FF8E914737150140FD
+:10150000FC824C0893078004130505C03ECEEFF023
+:10151000CFBD89450545EFF0EFDC914705443ED04E
+:101520000810B1473ED422D602D2EFF0EFB29307B3
+:1015300080117C86680089475C8722C8EFF0AFF68F
+:1015400045616FE03FC51145EFF0AFB785476313C5
+:10155000F502373500001305C5FBEF0050183715AD
+:101560000140130505C001469145EFF04FC41145F8
+:10157000EFF00FB773002030EFE29FBF41118545B8
+:101580002145EFF03F8693070008371401407C8225
+:10159000C1473EC64C008D47130504C03EC4EFF062
+:1015A000CFB4014693050008130504C0EFF02FC027
+:1015B00041016FE03FBEEFE2BFBB411185452145D0
+:1015C000EFF05F8285451145EFF0BF839307002060
+:1015D0007C8237150140E1473EC64C008D4713051C
+:1015E00005C03EC4EFF06FB041016FE0BFBAEFE25B
+:1015F0003FB80111C937371400409307700C8A8532
+:10160000130504803EC002C223140100230501001B
+:10161000EFF0DF88130504808545EFF05F9BC1671D
+:10162000938707066C00130504803EC8231B010046
+:1016300002C6EFF01F8E13050480A145EFF0DF9A7C
+:10164000130504808545EFF09F94854513050480BC
+:10165000EFF07F9505616FE0FFB3EFE27FB1797145
+:1016600037140140C1472A89FC828D44C1474C0888
+:10167000130504C03ECE26CCEFF02FA7014613057C
+:1016800004C0C145EFF0AFB285452145EFF08FF5BD
+:10169000854537050800EFF0CFF68547FC824C08FA
+:1016A000E147130504C026CC3ECEEFF00FA48944D9
+:1016B00091474C08130504C0E482375400403ECEE5
+:1016C000EFF0AFA20C10B7070C00130504C04AD00E
+:1016D0003ED402D223160102EFF0BF949307D01339
+:1016E0007C86680085473EC84487EFF0CFDB05461F
+:1016F000130504C093055052EFF0BF9F85451305B5
+:1017000004C0EFF0BF9D45616FE0DFA8EFE25FA688
+:10171000797137140140930700022A89FC828D44B5
+:10172000C1474C08130504C03ECE26CCEFF0EF9B1A
+:101730000146130504C093050002EFF04FA785454D
+:101740002145EFF02FEA854537050400EFF06FEBF8
+:1017500093070040FC824C08E147130504C026CCE7
+:101760003ECEEFF08F98856793870780FC824C0808
+:101770009147130504C03ECE37540040EFF0EF967A
+:101780000C10B7070C00130504804AD03ED402D2D7
+:1017900023160102EFF0FF88930770137C868547BC
+:1017A0005C87680085473EC8EFF0EFCF054613051C
+:1017B000048093055052EFF0DF93854513050480B4
+:1017C000EFF0DF9145616FE0FF9C411122C6375475
+:1017D00000409305505213050480EFF09F960DC50D
+:1017E00013050480EFF0DF949375F50F2388B18221
+:1017F00003A541841C4D104954498507B3E7C7022E
+:101800006384D7003105B92432444101730020308C
+:10181000411122C63754004093055052130504C0AD
+:10182000EFF03F920DC5130504C0EFF07F90937564
+:10183000F50F238AB18203A581841C4D10495449B8
+:101840008507B3E7C7026384D700310521243244FA
+:10185000410173002030EFE2BF910111AA842E8470
+:1018600009458545EFF0EFD9E084370400404C0886
+:101870001305044026CA231E0100231D0100EFF0BA
+:10188000EFE10546854513050440EFF02FF393077C
+:10189000D0027C868D475C87680085473EC8EFF0A4
+:1018A0008FC0854513050440EFF06FEE05616FE0D2
+:1018B0007F8EEFE2FF8BB707002083A5870D896736
+:1018C00093870771B3D5F5022545FD15C205C18182
+:1018D00059376FE03F8C411122C6370400408545DF
+:1018E00013050440EFF0AFF119C585451305044019
+:1018F000EFF06FF225223244410173002030EFE215
+:101900003F8701112E84AA8485450545EFF06FCFEE
+:10191000930700104C0837050040FC8626CAE08477
+:10192000231D0100EFF08FD70546854537050040A0
+:10193000EFF0CFE89307C0127C868D475C87680084
+:1019400085473EC8EFF02FB6854537050040EFF0DC
+:101950000FE405616FE01F84EFE29F81B70700206D
+:1019600083A5870D9307803E1305F07CB3D5F50260
+:10197000FD15C205C18161376FE0DF8185453705FF
+:101980000040EFF0CFE70DC9854537050040EFF087
+:101990008FE8814537050040EFF06FDF0146854550
+:1019A00037050040EFF08FE1373500001305C5FC27
+:1019B0003D2305472384E180730020301DC9B29682
+:1019C000C206C18252A136A10CC509EE85471CA1F1
+:1019D00083A6818393878183368701EB54C588C3AF
+:1019E0000145828023000500E5B76306A70058473C
+:1019F000EDB77D55828005458280EFE26FF703A445
+:101A0000818375DC1C2093F7F70F99C75E2099C37B
+:101A1000230004001C4482974044E5B783A78183D8
+:101A2000054691E38280D62381CEBA237D174207F3
+:101A30004183BAA3BA234207418319E390A3B6A313
+:101A4000DC47C5B7232605000CC150C1232405007F
+:101A5000054582805C45544118458507B3E7D702A8
+:101A6000638EE70058451C41BA978CA35C455841EA
+:101A70008507B3E7E7025CC505458280795582801A
+:101A8000B707002083A7870D0967130707F4B3D7AB
+:101A9000E702C207C183239FF182239EF1828280E5
+:101AA000EFE20FED2A841165011185451105EFF074
+:101AB0006FB3930700207C82371501408D473EC4E9
+:101AC0004C00E147130505803EC6EFE01FE222C847
+:101AD00037440140B70708000C08130504803ECCCA
+:101AE00002CA231E0100EFF0CFD385451305048001
+:101AF000EFF0CFDE05616FE0EFE9EFE2CFE5B7444D
+:101B00000140AE89328901449384048063452401F5
+:101B10004A856FE08FE7930500042685EFF0CFE15B
+:101B20007DD9B38789008385070026850504C20512
+:101B3000C181EFF06FDFD9BF1387C1801C4393864B
+:101B400041A83E95636BD500B7560020938606806A
+:101B500063E5A60008C33E858280FD57EDBFEFE236
+:101B60002FE101110A8579468145EFF03F80188009
+:101B7000930730050145631AF700370500207946C1
+:101B80008A8513050502492A054505616FE08FE046
+:101B9000EFE20FDE93870184902337150140930510
+:101BA0000010133616001305058090A3EFE03FE008
+:101BB0006FE04FDE138711841C239546850793F74A
+:101BC000F70F6384D7001CA38280EFE26FDA37350A
+:101BD0000000130585FD230007001126B53B3735AE
+:101BE0000000130585FEE52C6FE0CFDA37070020F3
+:101BF000130707023423238A0184A38A018493876D
+:101C00004185B4A33433B4B35423D4A35433D4B3ED
+:101C10007423F4A37433F4B3142794A73437302710
+:101C2000A206D18E94B7A182B4A754275837A386B1
+:101C30000700238707002207558FB8B72183D8A74D
+:101C4000A387070023880700A388070023890700CC
+:101C5000A3890700238A0700A38A0700238B0700B4
+:101C60008280EFE2EFD0E53D5137B7250000814695
+:101C70001306803E938505B91385C1878133B72547
+:101C8000000081461306803E938545BB1385C186BF
+:101C90003533A5336FE00FD0EFE28FCDEFF07FC18A
+:101CA0003D20EFF0DF94EFF08FCDEFF02FF8EFF065
+:101CB0006FF2EFF0AFFAEFF08FFDEFF03F80EFF053
+:101CC000FF82EFF0CFDAEFF03F8B6FE0AFCCEFE2C7
+:101CD0002FCA37040020130404041306800C9385D4
+:101CE000C1881305C400B93B08448544EFF01FA226
+:101CF00004A01306C012938541951305840223A204
+:101D00008184893348507104EFF03F9504A0014568
+:101D100023A481846FE00FC8B3C7A5008D8B330760
+:101D2000C50081E78D4763EDC700AA87637EE5089C
+:101D3000942185078505A38FD7FEE3EBE7FE82801C
+:101D400093763500AA8789CA942185078505A38FD4
+:101D5000D7FE93F63700C5BF9376C7FF138606FEFE
+:101D600063F0C70683A3050083A2450083AF850007
+:101D700003AFC50083AE050103AE450103A3850192
+:101D800083A8C5019385450223A0770003A8C5FF5A
+:101D900023A2570023A4F70123A6E70123A8D70114
+:101DA00023AAC70123AC670023AE1701938747021C
+:101DB00023AE07FF75B790419107910523AEC7FE8B
+:101DC000E3EBD7FEE3E6E7F6828039713EDA2ED206
+:101DD00032D436D63AD842DC46DE9387018122CC13
+:101DE000804326CA06CEAA8409C41C4C99E32285E6
+:101DF000ED290C4454102686228536C6EF00701259
+:101E0000F2406244D24421618280011126CA4AC84C
+:101E100006CE22CC4EC652C4AA842E8901C51C4DC2
+:101E200091E3E1219C4C804499E326857D29971715
+:101E300000009387A71E631BF402C0405E24A18BA1
+:101E4000B1C71C48A1C7FD59294A1C448345090054
+:101E5000FD17B1E91CC463DD07062286A945268566
+:101E60006120FD576308F502294535A0971700004A
+:101E70009387C71C6314F4008044C9B79717000008
+:101E80009387C717E31CF4FAC0444DBFA28526858B
+:101E9000112A55D97D55F2406244D2444249B24993
+:101EA000224A056182801CC4050963D70700184CCB
+:101EB00063CAE700638845011C401387170018C0F8
+:101EC0008CA361B7228626850520E31035F9D9B7A2
+:101ED0001C401387170018C0294798A371B7938730
+:101EE0000181AA85884315B7011122CC26CA4AC8A8
+:101EF00006CE4EC6AA842E89328401C51C4D91E3BC
+:101F0000ED2697170000938767116317F406C0400A
+:101F10001C4C1CC45E24A18BC1C31C48B5CF1C48FB
+:101F200008409379F90F1379F90F1D8D5C486346CA
+:101F3000F500A2852685692C25E51C440505FD17BD
+:101F40001CC41C401387170018C0238037015C484D
+:101F50006388A7005E24858B81CBA9476316F900AF
+:101F6000A2852685B5240DEDF24062444A85D2440F
+:101F70004249B24905618280971700009387070C98
+:101F80006314F400804469B797170000938707072C
+:101F9000E310F4F8C044ADBFA2852685212041D1CD
+:101FA0007D59D9B741119387018126C2844322C448
+:101FB0004AC006C62A892E8489C49C4C99E326858A
+:101FC0002D269717000093876705631BF402C04016
+:101FD0000317C40093170701C18393F68700ADEA86
+:101FE00093F6070195EEA5472320F9001367070430
+:101FF0005AA47D55B2402244924402494101828054
+:1020000097170000938787036314F4008044C9B7CF
+:1020100097170000938787FEE31CF4FAC0444DBF76
+:10202000918B9DC34C5889C9930744046384F50080
+:102030004A853123232A04025E242322040093F7D5
+:10204000B7FD5EA41C481CC05E2493E787005EA415
+:102050001C4899EB5E241307002093F7072863853B
+:10206000E700A2854A85A1215E2413F717001DC34E
+:102070005C4823240400B307F0401CCC1C480145F5
+:10208000B5FB8317C40013F707082DD793E70704A0
+:102090005EA485B7898B014791E3584818C4F9BFFE
+:1020A000DE25011122CC26CA06CE4AC84EC613F739
+:1020B0008700AA842E8479EBD841634DE000B841B3
+:1020C000634AE0000145F2406244D2444249B249C9
+:1020D0000561828058547DD703A904009396370187
+:1020E00023A0040063DB060670485E24918B99C729
+:1020F0005C401D8E5C5899C33C401D8E5C540C5056
+:10210000814626858297FD575A24631DF500944029
+:10211000F54763E8D706B70740208507B3D7D70050
+:10212000858BA5C31C48232204001CC093173701CC
+:1021300063D80700FD576314F5009C4091E368C81D
+:102140004C5823A02401BDDD930744046384F500AB
+:102150002685F526232A0402B5B70C50014685468C
+:1021600026850297FD572A86E311F5F89C40B5DFD6
+:1021700075476385E70059476393E70423A024016B
+:1021800091B7136707045AA47D5535BF83A905018C
+:10219000E38A09F203A905008D8B23A035013309D9
+:1021A0003941014791E3D84918C4E35D20F11C543B
+:1021B0000C50CA864E86268582976347A0005E240F
+:1021C00093E707045EA4C9B7AA993309A940F1BFF0
+:1021D0009C49B9CF011122CC06CE2A8411C51C4DD1
+:1021E00081E72EC61922B24597170000938707E3AF
+:1021F000639BF5004C408397C50095C722856244D8
+:10220000F240056171BD97170000938727E363943F
+:10221000F5000C44CDB797170000938727DEE39CA9
+:10222000F5FC4C44C9BFF24062440145056182801F
+:1022300001458280411122C406C62A844EA572A59A
+:102240002320050023220500232405002322050660
+:1022500023280500232A0500232C0500214681455B
+:102260001305C505EFD0DFF397170000938787B1FB
+:102270005CD0971700009387A7B31CD49717000072
+:10228000938787B75CD4971700009387E7B900D08E
+:102290001CD8B240224441018280970500009385FA
+:1022A00065F3A9A2411126C2130680069384F5FFA7
+:1022B000B384C4024AC02E8922C406C6938544074B
+:1022C0001D262A8401CD2320050023222501310566
+:1022D00008C4138684068145EFD09FEC2285B24066
+:1022E000224492440249410182801C4DADE34111D8
+:1022F00006C622C497070000938767FA1CD5938708
+:1023000041819C4323240504232605042328050436
+:102310006314F50085471CCD2A841D2848C02285FA
+:10232000052808C422852D2048C44840014691450F
+:10233000113708440546A545F53D48440946C945B9
+:10234000D53D85471CCCB240224441018280828029
+:1023500041119387418126C284434AC006C69C4CE2
+:1023600022C42A8999E326854937938484048044CA
+:10237000DC40FD1763D607009C40B9CF8440C5BF41
+:102380000317C40039E7C1778507232204062320F9
+:10239000040023220400232404005CC42328040036
+:1023A000232A0400232C0400214681451305C4057B
+:1023B000EFD01FDF232A0402232C04022324040469
+:1023C000232604042285B24022449244024941015A
+:1023D00082801304840671BF91454A85E13588C027
+:1023E00051FDB1472320F9000144E9BF797122D49E
+:1023F0004AD052CC56CA5AC85EC606D626D24ECE4F
+:102400002A8AAE8A130485040149054BFD5B09EC59
+:10241000B25022544A8592540259F249624AD24A31
+:10242000424BB24B45618280044483294400FD192C
+:1024300063D409000040E1BFDE24637BFB00839787
+:10244000E40063877701A6855285829A3369A900E3
+:1024500093848406E9BF1971A6DAAE848395E500FA
+:10246000A2DC86DE328463DB0500DE2423A00600C6
+:1024700093F7070885E7930700401DA0300836C68C
+:10248000EF001020B246E34205FE7247BD67F98FA8
+:102490007977BA9793B717009CC2F1BF93070004EE
+:1024A0001CC0F6506654D654014509618280DE2571
+:1024B000011122CC06CE26CA4AC8898B2E8489CF28
+:1024C000930774041CC01CC885475CC8F240624472
+:1024D000D24442490561828074003000AA84A53F3D
+:1024E000A2452A892685012219E98317C40013F71A
+:1024F000072069FFF19B93E727005EA4D1B79707F8
+:1025000000009387C7D99CD45E2408C008C893E70D
+:1025100007085EA4A2475CC8B24781CF8315E400D8
+:102520002685EF00901811C55E24F19B93E71700F4
+:102530005EA45E243369F9002316240141BFDDC186
+:1025400083A7C5FF411122C406C626C21384C5FF56
+:1025500063D307003E94AA84EF00F01B9387C184E5
+:102560009C4381EF2322040023A681842244B240AD
+:102570002685924441016F00301A637EF4001440B6
+:102580003307D4006396E7009843DC43369718C0BE
+:102590005CC0D9BFBA87D84319C3E37DE4FE944336
+:1025A0003386D700631F86001040B29694C33386EB
+:1025B000D700E31DC7FA10435843B29694C3D8C35B
+:1025C00075B76375C400B1479CC04DB71040B306E2
+:1025D000C4006316D70014435843B29614C058C0C1
+:1025E000C0C369B78280011126CA93843500F1986F
+:1025F00006CE22CC4AC84EC6A104B14763F3F40408
+:10260000B14463E2B4042A89EF00F0109387C184D7
+:1026100098433A8439E0938701859C4391E781454B
+:102620004A85152F23A8A184A6854A852D27FD5903
+:1026300063193507B1472320F9004A85EF00D00D13
+:1026400029A0E3D004FCB1471CC10145F24062441B
+:10265000D2444249B249056182801C40858F63CFD4
+:102660000702AD4663F6F6001CC03E9404C031A0DC
+:102670005C406313870223A6F1844A85EF00D009EA
+:102680001305B4009307440061993307F5405DDFFB
+:102690003A94898F1CC05DBF5CC3C5B72287404098
+:1026A00095BF130435007198E30285FCB305A4407F
+:1026B0004A855525E31C35FBB5BF1C46FD171CC6D6
+:1026C00063DA0700184E63C5E700A9476394F50075
+:1026D0006FF09F811C422E851387170018C28CA3B0
+:1026E0008280011122CC26CA4AC84EC652C406CEE8
+:1026F0002A89AE893284B304D6007D5A63149400CB
+:10270000014501A80C204E864A85453F0504E31784
+:1027100045FFF2406244D2444249B249224A05612F
+:102720008280357122CD26CB4AC94EC706CF52C50D
+:1027300056C35AC1DEDEE2DCE6DAAA89AE8432890B
+:10274000368409C51C4D99E3EFF03FBA9717000096
+:102750009387C78C6397F40C83A44900DE24A18B74
+:10276000FDC39C48EDC393070002A304F102930745
+:10277000000302D22305F10222C6930B5002971ADE
+:102780000000938AAA8D054C294B4A841C2099C3CA
+:10279000639E770DB30C2441638D0C00E6864A8658
+:1027A000A6854E853D3FFD57630FF51C9256E69674
+:1027B00036D21C206389071CFD571309140002C878
+:1027C00002CE3ECA02CCA309010482D4834509008B
+:1027D000154656852D2713041900C24751E913F7F2
+:1027E000070109C713070002A309E10413F78700D3
+:1027F00009C71307B002A309E104834609001307C0
+:10280000A002638FE606F2474A84814625461820D7
+:1028100093051400130707FD6377E60AB5CA3ECE99
+:1028200085A897170000938767816395F40083A4B8
+:1028300089002DB7970700009387477CE390F4F257
+:1028400083A4C90021BFA6854E85EFF0AFF501DD59
+:102850007D55FA406A44DA444A49BA492A4A9A4AB2
+:102860000A4BF65B665CD65C0D618280050439BF5D
+:10287000330555413315AC00C98F3EC82289B9B71D
+:10288000324793064700184336C6634707023ACEDD
+:1028900018209307E002631DF70418309307A00285
+:1028A000631BF702B2470904138747009C433AC6EB
+:1028B00063C107023ECA2DA83307E04093E7270013
+:1028C0003ACE3EC8F1B7B387670385462E84BA97E0
+:1028D0003DBFFD57C5B7050402CA8146814725465D
+:1028E000182093051400130707FD6374E606F9F238
+:1028F0000C200D46170500001305C576092511CDDE
+:1029000097070000938707761D8D93070004B39700
+:10291000A700424505045D8D2AC80C2019461705FD
+:10292000000013056574130914002304B102C12BC0
+:1029300035C197D7FFFF9387E76C95E74247B247CA
+:102940001377071009CF91073EC69257D2973ED210
+:102950002DBDB387670385462E84BA9751B79D076F
+:10296000E19BA107D5B77800970600009386A6D70C
+:1029700026860C084E8597000000E7000000FD57F2
+:102980002A8AE314F5FCDE2493F70704E39207ECAC
+:102990001255C1B57800970600009386C6D42686E6
+:1029A0000C084E85012AE1BF797156CA9C49BA8A42
+:1029B000984522D426D24ECE52CC06D64AD05AC8FA
+:1029C0005EC6AA892E84B284368A63D3E700BA87AA
+:1029D0009CC00347340419C385079CC01C4093F76F
+:1029E000070281C79C4089079CC003290400137912
+:1029F0006900631A0900130B9401FD5B5C44984065
+:102A0000998F634CF9041C408346340493F7070202
+:102A1000B336D000A5EB13063404D2854E85829AD6
+:102A2000FD576303F5041C4011469840998B5444AC
+:102A300081446397C700B384E64063D304008144B4
+:102A40001C4418486354F700998FBE9401496904E7
+:102A50007D5B63982405014509A885465A86D28581
+:102A60004E85829A631E75017D55B2502254925450
+:102A70000259F249624AD24A424BB24B45618280C6
+:102A80000509ADBF3307D40013060003A301C70433
+:102A90000347540493871600A2978906A381E7048D
+:102AA0009DBF85462286D2854E85829AE30E65FBC0
+:102AB000050945B7797122D426D24AD04ECE06D622
+:102AC00052CC56CA5AC8B689942D930790063289BB
+:102AD000AA842E8413863504638DF60263E2D7063A
+:102AE000930780056386F61863EDD700638E062092
+:102AF00093073004638EF60A930A24042301D40456
+:102B0000C9A0930730066385F60A93074006E3954C
+:102B1000F6FE1C40084393F6070893054500C5C61A
+:102B20001C410CC363D807001307D002B307F04061
+:102B3000A301E4049706000093868653294765A8FD
+:102B4000930700076382F61663E5D7029307E00652
+:102B50006389F6189307F006E390F6FA0C401C43DD
+:102B600013F80508138547006307080608C39C434C
+:102B700085A893075007E383F6FE930780076389D0
+:102B8000F61293073007E399F6F61C43D0418145CE
+:102B90009386470014C383AA070056858D2601C576
+:102BA0003305554148C05C401CC8A301040461A81A
+:102BB0001C43930A2404938647009C4314C32301B7
+:102BC000F4048547D5B793F607041C410CC3B9DA62
+:102BD000C207C18781BF93F5050408C3C9D99E23E5
+:102BE0001307F0066387E60E9706000093864648B3
+:102BF0002947A30104044C400CC463C505000840E8
+:102C00006D9908C099E3B28A89CDB28AB3F5E7021B
+:102C1000FD1AB6958C212380BA00B3D5E70263F084
+:102C2000E70CA147631EF7001C40858B91CB5840F1
+:102C30001C4863C7E70093070003A38FFAFEFD1A41
+:102C40003306564110C84E87CA867000A285268575
+:102C5000EFF09FD57D5A631D450B7D55B250225430
+:102C600092540259F249624AD24A424B45618280EB
+:102C7000A382D504970600009386863F0C40084344
+:102C800013F805081C411105630D080208C313F76A
+:102C9000150001C793E505020CC04147B9FB0C4084
+:102CA00093F5F5FD0CC0B1B79C4193E707029CC1B9
+:102CB00093078007A302F404970600009386863CDE
+:102CC00075BF13F8050408C3E30308FCC207C183FA
+:102CD0007DBF970600009386A639214719BFAE87AE
+:102CE00035B794411C43CC4913F8060813854700B7
+:102CF0006306080008C39C438CC339A008C393F63D
+:102D000006049C43F5DA8EA323280400B28A25BF6B
+:102D100014485686CA8526858299E30045F51C40ED
+:102D2000898B8DE7B2474844E35AF5F23E853DB7BB
+:102D300085465686CA8526858299E30065F3050A8D
+:102D40005C443247998FE345FAFEE9BF014A930A92
+:102D500094017D5BF5B7411122C42A842E8523A0FE
+:102D600001A806C6EFE05FDDFD576317F500938706
+:102D700001A89C4391C31CC0B240224441018280FF
+:102D8000411122C42E848395E50006C67922634949
+:102D900005007C48AA977CC8B24022444101828049
+:102DA0005E247D777D17F98F5EA4FDB7DE250111C6
+:102DB00022CC26CA4AC84EC606CE93F70710AA846C
+:102DC0002E843289B68991C78395E50089460146EC
+:102DD00009225E247D777D17F98F5EA48315E400B8
+:102DE0006244F240CE864A86B24942492685D244A0
+:102DF000056125A8411122C42E848395E50006C6ED
+:102E0000C928FD575A24631AF500FD77FD17F98F7D
+:102E10005EA4B2402244410182808567D98F5EA4BE
+:102E200068C8C5BF8395E50005A8411122C42A845E
+:102E30002E85B285368623A001A806C6EFE0FFCB1B
+:102E4000FD576317F500938701A89C4391C31CC0ED
+:102E5000B240224441018280411122C42A842E853D
+:102E600023A001A806C6C520FD576317F500938768
+:102E700001A89C4391C31CC0B240224441018280FE
+:102E8000411122C42A842E85B28523A001A806C63A
+:102E9000C920FD576317F500938701A89C4391C390
+:102EA0001CC0B240224441018280411122C42A84C4
+:102EB0002E8523A001A806C65D20FD576317F500E7
+:102EC000938701A89C4391C31CC0B2402244410196
+:102ED0008280411122C42A842E85B285368623A0A1
+:102EE00001A806C65920FD576317F500938701A86E
+:102EF0009C4391C31CC0B24022444101828093F59F
+:102F0000F50F2A966314C500014582801C21E38ECB
+:102F1000B7FE0505C5BF82808280411122C42A8484
+:102F20002E85B285368623A001A806C6A920FD57A6
+:102F30006317F500938701A89C4391C31CC0B2405E
+:102F40002244410182809307800523A0F1A87D558A
+:102F500082809307800523A0F1A87D558280930786
+:102F6000800523A0F1A8014582809307800523A056
+:102F7000F1A87D5582809307800523A0F1A87D5597
+:102F80008280000053797374656D436C6B3A2564DD
+:102F90000D0A00004368697049443A253038780DBD
+:102FA0000A00000043616C696272617474696F6E3B
+:102FB0005F56616C203A2025640A000052756E202D
+:102FC000617420455854490D00000000696E20745A
+:102FD000696D652069742000696E2074696D6520D3
+:102FE000696E6974200000006F75742074696D65E6
+:102FF00020696E69742000000000000000000000DD
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000232D302B20000000A5
+:10306000686C4C0065666745464700003031323376
+:103070003435363738394142434445460000000074
+:1030800030313233343536373839616263646566DE
+:04309000000000003C
+:103094000000000000000000010203040607080904
+:1030A40000000000010203040102030406070809EA
+:1030B400534C111111111111111601000100802539
+:1030C400000080250000140500000A000807000025
+:1030D4000000000003000000802500000000000044
+:1030E40000000000000000000000000000000000DC
+:1030F4000400000080250000000000000000000023
+:103104000000000000000000000000001830000073
+:1031140038300000F82F000000000000000000001C
+:10312400000000000000000000000000000000009B
+:10313400000000000000000000000000000000008B
+:10314400000000000000000000000000000000007B
+:10315400000000000000000000000000000000006B
+:103164000000000000000000006CDC0202040608FD
+:10317400010000005C03002078000020780000209B
:00000001FF
diff --git a/obj/mppt_Nos_V0.4.lst b/obj/mppt_Nos_V0.4.lst
index b79fef0..0e78fec 100644
--- a/obj/mppt_Nos_V0.4.lst
+++ b/obj/mppt_Nos_V0.4.lst
@@ -7,10 +7,10 @@ start address 0x00000000
Program Header:
LOAD off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**12
- filesz 0x00005d90 memsz 0x00005d90 flags r-x
- LOAD off 0x00007000 vaddr 0x20000000 paddr 0x00005d90 align 2**12
- filesz 0x00000158 memsz 0x00000444 flags rw-
- LOAD off 0x00007800 vaddr 0x20004800 paddr 0x20004800 align 2**12
+ filesz 0x00003094 memsz 0x00003094 flags r-x
+ LOAD off 0x00005000 vaddr 0x20000000 paddr 0x00003094 align 2**12
+ filesz 0x000000f0 memsz 0x0000035c flags rw-
+ LOAD off 0x00005800 vaddr 0x20004800 paddr 0x20004800 align 2**12
filesz 0x00000000 memsz 0x00000800 flags rw-
Sections:
@@ -19,51 +19,51 @@ Idx Name Size VMA LMA File off Algn
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .vector 0000013c 00000004 00000004 00001004 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .text 00005c50 00000140 00000140 00001140 2**3
+ 2 .text 00002f54 00000140 00000140 00001140 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 3 .fini 00000000 00005d90 00005d90 00007158 2**0
+ 3 .fini 00000000 00003094 00003094 000050f0 2**0
CONTENTS, ALLOC, LOAD, CODE
- 4 .dalign 00000000 20000000 20000000 00007158 2**0
+ 4 .dalign 00000000 20000000 20000000 000050f0 2**0
CONTENTS
- 5 .dlalign 00000000 00005d90 00005d90 00007158 2**0
+ 5 .dlalign 00000000 00003094 00003094 000050f0 2**0
CONTENTS
- 6 .data 00000158 20000000 00005d90 00007000 2**2
+ 6 .data 000000f0 20000000 00003094 00005000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 7 .bss 000002ec 20000158 00005ee8 00007158 2**2
+ 7 .bss 0000026c 200000f0 00003184 000050f0 2**2
ALLOC
- 8 .stack 00000800 20004800 20004800 00007800 2**0
+ 8 .stack 00000800 20004800 20004800 00005800 2**0
ALLOC
- 9 .debug_info 0001e990 00000000 00000000 00007158 2**0
+ 9 .debug_info 0001ba9d 00000000 00000000 000050f0 2**0
CONTENTS, READONLY, DEBUGGING
- 10 .debug_abbrev 0000525f 00000000 00000000 00025ae8 2**0
+ 10 .debug_abbrev 00004aef 00000000 00000000 00020b8d 2**0
CONTENTS, READONLY, DEBUGGING
- 11 .debug_aranges 00000e40 00000000 00000000 0002ad48 2**3
+ 11 .debug_aranges 00000d60 00000000 00000000 00025680 2**3
CONTENTS, READONLY, DEBUGGING
- 12 .debug_ranges 00001030 00000000 00000000 0002bb88 2**3
+ 12 .debug_ranges 00000de0 00000000 00000000 000263e0 2**3
CONTENTS, READONLY, DEBUGGING
- 13 .debug_line 00011e42 00000000 00000000 0002cbb8 2**0
+ 13 .debug_line 000106e7 00000000 00000000 000271c0 2**0
CONTENTS, READONLY, DEBUGGING
- 14 .debug_str 00004484 00000000 00000000 0003e9fa 2**0
+ 14 .debug_str 00003eae 00000000 00000000 000378a7 2**0
CONTENTS, READONLY, DEBUGGING
- 15 .comment 00000033 00000000 00000000 00042e7e 2**0
+ 15 .comment 00000033 00000000 00000000 0003b755 2**0
CONTENTS, READONLY
- 16 .debug_frame 00002d34 00000000 00000000 00042eb4 2**2
+ 16 .debug_frame 000026f4 00000000 00000000 0003b788 2**2
CONTENTS, READONLY, DEBUGGING
- 17 .debug_loc 0000611f 00000000 00000000 00045be8 2**0
+ 17 .debug_loc 000052cb 00000000 00000000 0003de7c 2**0
CONTENTS, READONLY, DEBUGGING
- 18 .stab 00000084 00000000 00000000 0004bd08 2**2
+ 18 .stab 00000084 00000000 00000000 00043148 2**2
CONTENTS, READONLY, DEBUGGING
- 19 .stabstr 00000117 00000000 00000000 0004bd8c 2**0
+ 19 .stabstr 00000117 00000000 00000000 000431cc 2**0
CONTENTS, READONLY, DEBUGGING
SYMBOL TABLE:
00000000 l d .init 00000000 .init
00000004 l d .vector 00000000 .vector
00000140 l d .text 00000000 .text
-00005d90 l d .fini 00000000 .fini
+00003094 l d .fini 00000000 .fini
20000000 l d .dalign 00000000 .dalign
-00005d90 l d .dlalign 00000000 .dlalign
+00003094 l d .dlalign 00000000 .dlalign
20000000 l d .data 00000000 .data
-20000158 l d .bss 00000000 .bss
+200000f0 l d .bss 00000000 .bss
20004800 l d .stack 00000000 .stack
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
@@ -88,7 +88,7 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 ch32l103_misc.c
00000000 l df *ABS* 00000000 ch32l103_rcc.c
20000010 l O .data 00000010 PBHBPrescTable
-2000013c l O .data 00000004 ADCPrescTable
+200000dc l O .data 00000004 ADCPrescTable
00000000 l df *ABS* 00000000 ch32l103_spi.c
00000000 l df *ABS* 00000000 ch32l103_tim.c
00000000 l df *ABS* 00000000 ch32l103_usart.c
@@ -99,72 +99,33 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 rs485.c
00000000 l df *ABS* 00000000 tim.c
00000000 l df *ABS* 00000000 timeSliceOffset.c
-20000178 l O .bss 00000004 pTimeSliceList
+20000110 l O .bss 00000004 pTimeSliceList
00000000 l df *ABS* 00000000 ring_queue.c
00000000 l df *ABS* 00000000 debug.c
-2000017c l O .bss 00000002 p_ms
-2000017e l O .bss 00000002 p_us
-20000140 l O .data 00000004 curbrk.5007
-00000000 l df *ABS* 00000000 collect_Conversion.c
-00001c38 l F .text 0000003a get_adc
+20000114 l O .bss 00000002 p_ms
+20000116 l O .bss 00000002 p_us
+200000e4 l O .data 00000004 curbrk.5007
00000000 l df *ABS* 00000000 inflash.c
-00000000 l df *ABS* 00000000 mppt_control.c
-20000144 l O .data 00000001 ConstantVoltageFlag.5074
-00000000 l df *ABS* 00000000 sl_protocol.c
-00001e46 l F .text 00000048 SL_MsgProcFunc_Write_Register
-00001e8e l F .text 00000030 SL_ReadRegisterSolarOpenCircuitVoltage2
-00001ebe l F .text 00000030 SL_ReadRegisterSolarOpenCircuitVoltage1
-00001eee l F .text 00000030 SL_ReadRegisterRemainingBatteryBower
-00001f1e l F .text 00000030 SL_ReadRegisterBatterytemperature
-00001f4e l F .text 00000030 SL_ReadRegisterBatteryVoltage
-00001f7e l F .text 00000026 SL_ReadRegisterCommunicationMethods
-00001fa4 l F .text 00000026 SL_ReadRegisterAccessNodeType
-00001fca l F .text 0000001c SL_ReadRegisteraddress
-00001fe6 l F .text 00000026 SL_ReadRegisterRegistrationStatus
-0000200c l F .text 00000040 SL_MsgProcFunc_Registration_request
-0000204c l F .text 0000002c SL_MsgProcFunc_Broadcast_Scan
-000020b6 l F .text 0000015c SL_MsgProcFunc_Read_Register
-200001b8 l O .bss 00000032 rs485_buff
00000000 l df *ABS* 00000000 task.c
-20000181 l O .bss 00000001 flag.5720
-2000018a l O .bss 00000001 runNum.5753
-2000018b l O .bss 00000001 run_number.5742
-2000018c l O .bss 00000004 temp.5734
+20000118 l O .bss 00000001 flag.5754
+20000119 l O .bss 00000001 test_flag.5759
00000000 l df *ABS* 00000000 uart_dev.c
-000029fe l F .text 00000046 uart_putchar
-2000024c l O .bss 000000c8 bat485_in_buff
-20000314 l O .bss 0000012c gw485_in_buff
-00000000 l df *ABS* 00000000 gedf2.c
-00000000 l df *ABS* 00000000 ledf2.c
-00000000 l df *ABS* 00000000 muldf3.c
-00000000 l df *ABS* 00000000 addsf3.c
-00000000 l df *ABS* 00000000 divsf3.c
-00000000 l df *ABS* 00000000 gesf2.c
-00000000 l df *ABS* 00000000 lesf2.c
-00000000 l df *ABS* 00000000 mulsf3.c
-00000000 l df *ABS* 00000000 subsf3.c
-00000000 l df *ABS* 00000000 fixsfsi.c
-00000000 l df *ABS* 00000000 fixunssfsi.c
-00000000 l df *ABS* 00000000 floatunsisf.c
-00000000 l df *ABS* 00000000 extendsfdf2.c
-00000000 l df *ABS* 00000000 truncdfsf2.c
-00000000 l df *ABS* 00000000 libgcc2.c
+20000164 l O .bss 000000c8 bat485_in_buff
+2000022c l O .bss 0000012c gw485_in_buff
00000000 l df *ABS* 00000000 memcpy.c
00000000 l df *ABS* 00000000 printf.c
00000000 l df *ABS* 00000000 puts.c
-00000000 l df *ABS* 00000000 rand.c
00000000 l df *ABS* 00000000 wbuf.c
00000000 l df *ABS* 00000000 wsetup.c
00000000 l df *ABS* 00000000 fflush.c
00000000 l df *ABS* 00000000 findfp.c
-0000490a l F .text 00000066 std
+00002234 l F .text 00000066 std
00000000 l df *ABS* 00000000 fwalk.c
00000000 l df *ABS* 00000000 makebuf.c
-00000000 l df *ABS* 00000000 malloc.c
00000000 l df *ABS* 00000000 nano-mallocr.c
00000000 l df *ABS* 00000000 nano-mallocr.c
00000000 l df *ABS* 00000000 nano-vfprintf.c
-00004da6 l F .text 00000028 __sfputc_r
+000026ba l F .text 00000028 __sfputc_r
00000000 l df *ABS* 00000000 nano-vfprintf_i.c
00000000 l df *ABS* 00000000 sbrkr.c
00000000 l df *ABS* 00000000 stdio.c
@@ -181,333 +142,268 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 isatty.c
00000000 l df *ABS* 00000000 lseek.c
00000000 l df *ABS* 00000000 read.c
-00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 impure.c
-200000d8 l O .data 00000060 impure_data
+20000078 l O .data 00000060 impure_data
+00000000 l df *ABS* 00000000 mppt_control.c
00000000 l df *ABS* 00000000 reent.c
-000015a0 g F .text 00000032 EXTI2_IRQHandler
-0000559a g F .text 00000028 _isatty_r
-00001a2a g F .text 00000022 TimeSliceOffset_Start
-00004402 g F .text 000000d4 _puts_r
-000055c2 g F .text 0000002c _lseek_r
-00001916 g F .text 0000005c TIM3_Int_Init
-00001870 g F .text 0000001a USARTx_SendByte
-20000020 g O .data 00000016 g_slConfigInfo
-00002a44 g F .text 0000004e uart_dev_init
-000043c2 g F .text 00000040 printf
-20000938 g .data 00000000 __global_pointer$
+00001546 g F .text 00000032 EXTI2_IRQHandler
+00002eaa g F .text 00000028 _isatty_r
+000019fa g F .text 00000022 TimeSliceOffset_Start
+00001e0a g F .text 000000d4 _puts_r
+00002ed2 g F .text 0000002c _lseek_r
+00001856 g F .text 0000005c TIM3_Int_Init
+20000020 g O .data 0000001e g_slConfigInfo
+00001cce g F .text 0000004a uart_dev_init
+200000e0 g O .data 00000001 run_Broadcast
+00001dca g F .text 00000040 printf
+200008d8 g .data 00000000 __global_pointer$
00000148 g F .text 00000028 .hidden __riscv_save_8
-200001fc g O .bss 00000010 m_mpptControl
+20000144 g O .bss 00000010 m_mpptControl
00000440 w .text 00000000 TIM1_CC_IRQHandler
-000054e4 g F .text 00000030 __sseek
-000049c0 g F .text 0000006c __sinit
-00000eb4 g F .text 00000004 SPI_I2S_SendData
-000045bc g F .text 000000bc __swbuf_r
+00002df4 g F .text 00000030 __sseek
+000022ea g F .text 00000066 __sinit
+00000e8a g F .text 00000004 SPI_I2S_SendData
+00001ee8 g F .text 000000bc __swbuf_r
0000024a g F .text 00000002 HardFault_Handler
-0000497a g F .text 00000046 __sfmoreglue
-00005608 g F .text 00000002 __malloc_unlock
-00001a84 g F .text 0000002c InRingQueue
+000022a4 g F .text 00000046 __sfmoreglue
+00002f18 g F .text 00000002 __malloc_unlock
+00001a54 g F .text 0000002c InRingQueue
00000440 w .text 00000000 USBPD_IRQHandler
00000194 g F .text 0000000c .hidden __riscv_restore_3
-00003526 g F .text 000002b2 .hidden __divsf3
-000022b8 g F .text 00000032 FRT_MsgHandler
+000018fe g F .text 0000005a TIM2_Int_Init
00000440 w .text 00000000 SysTick_Handler
00000568 g F .text 0000000a ADC_StartCalibration
-00002b52 g F .text 00000018 uart_dev_char_present
-00000cd0 g F .text 00000054 NVIC_Init
+00000ca6 g F .text 00000054 NVIC_Init
00000440 w .text 00000000 PVD_IRQHandler
-00001ce6 g F .text 0000006a get_PV1_VOLT_IN
00000180 g F .text 00000020 .hidden __riscv_restore_10
-00000eb8 g F .text 00000004 SPI_I2S_ReceiveData
+00000e8e g F .text 00000004 SPI_I2S_ReceiveData
00000248 g F .text 00000002 NMI_Handler
-00003f06 g F .text 00000062 .hidden __fixsfsi
00000440 w .text 00000000 EXTI3_IRQHandler
00000148 g F .text 00000028 .hidden __riscv_save_11
-0000087c g F .text 00000006 DBGMCU_GetCHIPID
-00002ba0 g F .text 000000ae .hidden __gtdf2
-00002640 g F .text 00000046 Task_RunLED
-00001190 g F .text 0000000a USART_GetFlagStatus
-00005570 g F .text 0000002a _fstat_r
-20000440 g O .bss 00000004 errno
-00002ac6 g F .text 00000018 gw485_tx_enabla
-20000158 g .bss 00000000 _sbss
+00000852 g F .text 00000006 DBGMCU_GetCHIPID
+00001b90 g F .text 00000024 Task_RunLED
+00001138 g F .text 0000000a USART_GetFlagStatus
+00002e80 g F .text 0000002a _fstat_r
+20000358 g O .bss 00000004 errno
+200000f0 g .bss 00000000 _sbss
00000800 g *ABS* 00000000 __stack_size
-00000652 g F .text 0000000a ADC_GetFlagStatus
-00001b7a g F .text 0000005a USART_Printf_Init
-00002b92 g F .text 0000000e ring_queue_length
-00003b7e g F .text 00000388 .hidden __subsf3
+00001aa0 g F .text 0000005a USART_Printf_Init
00000440 w .text 00000000 USBFS_IRQHandler
00000194 g F .text 0000000c .hidden __riscv_restore_2
-00002af6 g F .text 0000005c uart_dev_write
-00000fd0 g F .text 00000016 TIM_CtrlPWMOutputs
-00004310 g F .text 000000b2 memcpy
+00000fa6 g F .text 00000016 TIM_CtrlPWMOutputs
+00001d18 g F .text 000000b2 memcpy
00000546 g F .text 00000010 ADC_Cmd
-00004970 g F .text 0000000a _cleanup_r
-000009e2 g F .text 0000012c GPIO_PinRemapConfig
-00002c4e g F .text 000000b6 .hidden __ltdf2
+0000229a g F .text 0000000a _cleanup_r
+000009b8 g F .text 0000012c GPIO_PinRemapConfig
00000440 w .text 00000000 EXTI0_IRQHandler
00000440 w .text 00000000 I2C2_EV_IRQHandler
-00000e4a g F .text 0000001e RCC_PB2PeriphResetCmd
+00000e20 g F .text 0000001e RCC_PB2PeriphResetCmd
00000440 w .text 00000000 LPTIM_IRQHandler
-00002a92 g F .text 0000001a bat485_tx_enabla
-2000016c g O .bss 00000002 Calibrattion_Val
-00000fb8 g F .text 00000018 TIM_Cmd
-000044d6 g F .text 0000000c puts
-00001012 g F .text 00000016 TIM_OC4PreloadConfig
-20000138 g O .data 00000004 SystemCoreClock
-00001188 g F .text 00000008 USART_ReceiveData
-00004c20 g F .text 0000000a malloc
-00005642 g F .text 0000000c _fstat
-00001d84 g F .text 000000b0 mppt_constantVoltage
+20000104 g O .bss 00000002 Calibrattion_Val
+00000f8e g F .text 00000018 TIM_Cmd
+00001ede g F .text 0000000a puts
+00000fe8 g F .text 00000016 TIM_OC4PreloadConfig
+200000d8 g O .data 00000004 SystemCoreClock
+00001130 g F .text 00000008 USART_ReceiveData
+00002f52 g F .text 0000000c _fstat
00000004 g .init 00000000 _einit
-0000106e g F .text 0000000c TIM_ClearITPendingBit
-0000103e g F .text 00000018 TIM_GetCounter
-0000385e g F .text 0000008c .hidden __lesf2
+00001016 g F .text 0000000c TIM_ClearITPendingBit
00000140 g F .text 00000030 .hidden __riscv_save_12
-00000914 g F .text 000000c0 GPIO_Init
-00000d24 g F .text 00000014 RCC_ADCCLKConfig
-000019be g F .text 0000003e TimeSliceOffset_Register
+000008ea g F .text 000000c0 GPIO_Init
+00000cfa g F .text 00000014 RCC_ADCCLKConfig
+000019bc g F .text 0000003e TimeSliceOffset_Register
00000440 w .text 00000000 Break_Point_Handler
00000180 g F .text 00000020 .hidden __riscv_restore_11
-20000190 g O .bss 00000004 g_bat485_uart3_handle
-20000168 g O .bss 00000004 NVIC_Priority_Group
+2000011c g O .bss 00000004 g_bat485_uart3_handle
+20000100 g O .bss 00000004 NVIC_Priority_Group
00000440 w .text 00000000 SPI1_IRQHandler
00000556 g F .text 0000000a ADC_ResetCalibration
-00001134 g F .text 00000016 USART_Cmd
-00005446 g F .text 0000002a _sbrk_r
-2000015c g O .bss 00000004 CHIPID
+000010dc g F .text 00000016 USART_Cmd
+00002d56 g F .text 0000002a _sbrk_r
+200000f4 g O .bss 00000004 CHIPID
00000440 w .text 00000000 TAMPER_IRQHandler
00000170 g F .text 0000000c .hidden __riscv_save_1
-00001d50 g F .text 00000034 read_config_info
-00001c9c g F .text 0000004a get_CHG_CURR
-20000189 g O .bss 00000001 recvbroadcast_flag
+00001b5e g F .text 00000032 read_config_info
00000194 g F .text 0000000c .hidden __riscv_restore_0
-0000560a g F .text 0000002c _read_r
+00002f1a g F .text 0000002c _read_r
00000156 g F .text 0000001a .hidden __riscv_save_7
-20000188 g O .bss 00000001 g_recvBroadcastRegisterNumber
-0000408c g F .text 000000ac .hidden __extendsfdf2
-20000148 g O .data 00000004 duty_ratio
00000440 w .text 00000000 Ecall_M_Mode_Handler
20004800 g .stack 00000000 _heap_end
-00002aac g F .text 0000001a bat485_tx_disenabla
-0000564e g F .text 0000000c _isatty
-20000058 g O .data 00000048 g_RegTblR
-00001b06 g F .text 0000003e Delay_Us
-20000150 g O .data 00000004 _global_impure_ptr
+00002f5e g F .text 0000000c _isatty
+200000ec g O .data 00000004 _global_impure_ptr
0000018a g F .text 00000016 .hidden __riscv_restore_5
-20000158 g O .bss 00000002 ADC_Trim
-00000ebc g F .text 0000000a SPI_I2S_GetFlagStatus
+200000f0 g O .bss 00000002 ADC_Trim
+00000e92 g F .text 0000000a SPI_I2S_GetFlagStatus
00000440 w .text 00000000 DMA1_Channel4_IRQHandler
-00000592 g F .text 000000b8 ADC_RegularChannelConfig
-00001c12 g F .text 00000026 _sbrk
-00000686 g F .text 00000012 ADC_FIFO_Cmd
-0000064a g F .text 00000008 ADC_GetConversionValue
-00002212 g F .text 0000002c randomDelay
-00001a74 g F .text 00000010 InitRingQueue
-00002692 g F .text 00000010 Task_usart
-00001ad6 g F .text 00000010 RingQueueLength
-00002078 g F .text 0000003e CheckFunc
-00001546 g F .text 0000005a DSG_PROT_Init
-0000136a g F .text 0000005a SPI_ReadWriteByte
+0000057a g F .text 000000b8 ADC_RegularChannelConfig
+00001b38 g F .text 00000026 _sbrk
+0000065c g F .text 00000012 ADC_FIFO_Cmd
+00001a44 g F .text 00000010 InitRingQueue
+000014ec g F .text 0000005a DSG_PROT_Init
+00001312 g F .text 0000005a SPI_ReadWriteByte
0000018a g F .text 00000016 .hidden __riscv_restore_6
-0000188a g F .text 00000046 USART3_IRQHandler
-0000090a g F .text 0000000a EXTI_ClearITPendingBit
+000017ca g F .text 00000046 USART3_IRQHandler
+000008e0 g F .text 0000000a EXTI_ClearITPendingBit
00000440 w .text 00000000 RTC_IRQHandler
00000572 g F .text 00000008 ADC_GetCalibrationStatus
-20000444 g .bss 00000000 _ebss
-0000119a g F .text 0000003c USART_GetITStatus
-000028c2 g F .text 00000076 g_Mppt_Para_Init
+2000035c g .bss 00000000 _ebss
+00001142 g F .text 0000003c USART_GetITStatus
+00001bec g F .text 00000076 g_Mppt_Para_Init
00000440 w .text 00000000 DMA1_Channel7_IRQHandler
-20000170 g O .bss 00000001 USART3_Rbuffer
-0000057a g F .text 00000018 ADC_SoftwareStartConvCmd
+20000108 g O .bss 00000001 USART3_Rbuffer
00000560 g F .text 00000008 ADC_GetResetCalibrationStatus
00000440 w .text 00000000 CAN1_RX1_IRQHandler
-00001ae6 g F .text 00000020 Delay_Init
-000013c4 g F .text 00000068 SPI_Flash_Read
-00001ab0 g F .text 00000026 OutRingQueue
-00000e0e g F .text 0000001e RCC_PB2PeriphClockCmd
-00000b3a g F .text 00000190 GPIO_IPD_Unused
-000037d8 g F .text 00000086 .hidden __gtsf2
+00001a80 g F .text 00000020 Delay_Init
+0000136c g F .text 00000068 SPI_Flash_Read
+00000de4 g F .text 0000001e RCC_PB2PeriphClockCmd
+00000b10 g F .text 00000190 GPIO_IPD_Unused
00000440 w .text 00000000 USBPDWakeUp_IRQHandler
-000009d4 g F .text 00000004 GPIO_SetBits
+000009aa g F .text 00000004 GPIO_SetBits
00000440 w .text 00000000 TIM4_IRQHandler
-00002c4e g F .text 000000b6 .hidden __ledf2
-00000ff8 g F .text 0000001a TIM_ARRPreloadConfig
+00000fce g F .text 0000001a TIM_ARRPreloadConfig
00000148 g F .text 00000028 .hidden __riscv_save_9
-000009d8 g F .text 0000000a GPIO_WriteBit
-00005cf4 g O .text 00000020 __sf_fake_stderr
-00001610 g F .text 00000038 PWM_GPIO_Configuration
+000009ae g F .text 0000000a GPIO_WriteBit
+00002ff8 g O .text 00000020 __sf_fake_stderr
+000015b6 g F .text 00000038 PWM_GPIO_Configuration
00000156 g F .text 0000001a .hidden __riscv_save_4
00000440 w .text 00000000 I2C1_EV_IRQHandler
-000018d0 g F .text 00000046 USART4_IRQHandler
-00001700 g F .text 000000b2 GW_485_Init
-00001056 g F .text 00000018 TIM_GetITStatus
-00000d38 g F .text 000000d6 RCC_GetClocksFreq
+00001810 g F .text 00000046 USART4_IRQHandler
+0000165a g F .text 000000b2 GW_485_Init
+00000ffe g F .text 00000018 TIM_GetITStatus
+00000d0e g F .text 000000d6 RCC_GetClocksFreq
00000440 w .text 00000000 DMA1_Channel6_IRQHandler
-000042a2 g F .text 0000006e .hidden __clzsi2
-00001a4c g F .text 00000028 TimeSliceOffset_Produce
-00004dce g F .text 00000042 __sfputs_r
-20000164 g O .bss 00000004 TS_Val
-000055ee g F .text 00000018 memchr
-0000107a g F .text 000000ba USART_Init
-00004c2a g F .text 000000a8 _free_r
-00001996 g F .text 00000028 TIM3_IRQHandler
+00001a1c g F .text 00000028 TimeSliceOffset_Produce
+000026e2 g F .text 00000040 __sfputs_r
+200000fc g O .bss 00000004 TS_Val
+00002efe g F .text 00000018 memchr
+00001022 g F .text 000000ba USART_Init
+0000253e g F .text 000000a8 _free_r
+000018d6 g F .text 00000028 TIM3_IRQHandler
00000440 w .text 00000000 RCC_IRQHandler
00000170 g F .text 0000000c .hidden __riscv_save_3
00000440 w .text 00000000 TIM1_TRG_COM_IRQHandler
-00001e34 g F .text 00000012 test
00000440 w .text 00000000 DMA1_Channel1_IRQHandler
-00001486 g F .text 00000030 RUN_LED_Init
+0000142c g F .text 00000030 RUN_LED_Init
00000000 g .init 00000000 _start
-00004538 g F .text 00000084 rand
-0000565a g F .text 0000000c _lseek
-20000180 g O .bss 00000001 RegistrationRequestFlag
-00000e2c g F .text 0000001e RCC_PB1PeriphClockCmd
-0000142c g F .text 0000005a G_FFMOS_CON_Init
+00002f6a g F .text 0000000c _lseek
+00000e02 g F .text 0000001e RCC_PB1PeriphClockCmd
+000013d4 g F .text 00000058 G_FFMOS_CON_Init
00000440 w .text 00000000 EXTI15_10_IRQHandler
-00000fe6 g F .text 00000012 TIM_ITConfig
+00000fbc g F .text 00000012 TIM_ITConfig
00000440 w .text 00000000 ADC_IRQHandler
-0000114a g F .text 00000036 USART_ITConfig
-00000882 g F .text 0000006a EXTI_Init
-20000160 g O .bss 00000004 OPA_Trim
+000010f2 g F .text 00000036 USART_ITConfig
+00000858 g F .text 0000006a EXTI_Init
+200000f8 g O .bss 00000004 OPA_Trim
00000440 w .text 00000000 DMA1_Channel8_IRQHandler
-00005548 g F .text 00000028 _close_r
+00002e58 g F .text 00000028 _close_r
20000000 g .dalign 00000000 _data_vma
-00001516 g F .text 00000030 POW_OUT_CON_Init
-000029bc g F .text 00000042 hardware_Init
-00000f3c g F .text 0000007c TIM_OC4Init
-00004678 g F .text 000000fc __swsetup_r
+000014bc g F .text 00000030 POW_OUT_CON_Init
+00001c98 g F .text 00000036 hardware_Init
+00000f12 g F .text 0000007c TIM_OC4Init
+00001fa4 g F .text 000000fc __swsetup_r
00000440 w .text 00000000 EXTI9_5_IRQHandler
-00004a2c g F .text 000000a0 __sfp
-2000021c g O .bss 00000010 m_runled
-00000b0e g F .text 0000002c GPIO_EXTILineConfig
-00002d04 g F .text 000004b8 .hidden __muldf3
+00002350 g F .text 0000009c __sfp
+20000154 g O .bss 00000010 m_runled
+00000ae4 g F .text 0000002c GPIO_EXTILineConfig
00000148 g F .text 00000028 .hidden __riscv_save_10
-00005470 g F .text 0000002c __sread
-200000a0 g O .data 00000038 uart_devices
-00005606 g F .text 00000002 __malloc_lock
+00002d80 g F .text 0000002c __sread
+20000040 g O .data 00000038 uart_devices
+00002f16 g F .text 00000002 __malloc_lock
0000018a g F .text 00000016 .hidden __riscv_restore_4
00000180 g F .text 00000020 .hidden __riscv_restore_8
-00001c72 g F .text 0000002a Get_ConversionVal
-000048a4 g F .text 00000066 _fflush_r
+000021d0 g F .text 00000064 _fflush_r
00000156 g F .text 0000001a .hidden __riscv_save_6
-000008ec g F .text 0000001e EXTI_GetITStatus
+000008c2 g F .text 0000001e EXTI_GetITStatus
00000440 w .text 00000000 SPI2_IRQHandler
-00005d14 g O .text 00000020 __sf_fake_stdin
+00003018 g O .text 00000020 __sf_fake_stdin
000001a0 g F .text 000000a8 memset
00000180 g F .text 00000020 .hidden __riscv_restore_9
0000018a g F .text 00000016 .hidden __riscv_restore_7
0000024c g F .text 0000004a main
-00001972 g F .text 00000024 TIM3_Init
-000015d2 g F .text 0000003e CAPCHARG_Init
-000044e2 g F .text 00000056 srand
-00002ade g F .text 00000018 gw485_tx_disenabla
-0000385e g F .text 0000008c .hidden __ltsf2
-00005514 g F .text 00000006 __sclose
-00004138 g F .text 0000016a .hidden __truncdfsf2
-00004cd2 g F .text 000000d4 _malloc_r
-000006a8 g F .text 000001d4 Get_CalibrationValue
+000018b2 g F .text 00000024 TIM3_Init
+00001578 g F .text 0000003e CAPCHARG_Init
+00002e24 g F .text 00000006 __sclose
+000025e6 g F .text 000000d4 _malloc_r
+0000067e g F .text 000001d4 Get_CalibrationValue
00000440 w .text 00000000 DMA1_Channel5_IRQHandler
-2000022c g O .bss 00000010 m_usart
00000440 w .text 00000000 EXTI4_IRQHandler
-00001b44 g F .text 00000036 Delay_Ms
00000440 w .text 00000000 USB_LP_CAN1_RX0_IRQHandler
-000038ea g F .text 00000294 .hidden __mulsf3
-00001028 g F .text 00000016 TIM_SetCompare4
-0000065c g F .text 00000018 ADC_BufferCmd
-00000e9a g F .text 0000001a SPI_Cmd
+00000632 g F .text 00000018 ADC_BufferCmd
+00000e70 g F .text 0000001a SPI_Cmd
00000296 g F .text 00000106 SystemInit
-00002686 g F .text 0000000c Task_mpptControl
-00000674 g F .text 00000012 ADC_DutyDelayCmd
-000043c2 g F .text 00000040 iprintf
-000022ea g F .text 0000032c read_and_process_uart_data
-20000174 g O .bss 00000001 USART4_Rbuffer
+00001bb4 g F .text 00000038 Task_mpptControl
+0000064a g F .text 00000012 ADC_DutyDelayCmd
+00001dca g F .text 00000040 iprintf
+2000010c g O .bss 00000001 USART4_Rbuffer
00000440 w .text 00000000 USB_HP_CAN1_TX_IRQHandler
-00005bf4 g O .text 00000100 .hidden __clz_tab
00000000 g .init 00000000 _sinit
00000440 w .text 00000000 CMPWakeUp_IRQHandler
-000037d8 g F .text 00000086 .hidden __gesf2
-0000551a g F .text 0000002e _write_r
+00002e2a g F .text 0000002e _write_r
00000440 w .text 00000000 DMA1_Channel3_IRQHandler
-00005098 g F .text 0000010c _printf_common
-2000014c g O .data 00000004 _impure_ptr
-0000276c g F .text 00000156 Task_recvbroadcast
+000029a8 g F .text 0000010c _printf_common
+200000e8 g O .data 00000004 _impure_ptr
00000440 w .text 00000000 TIM1_UP_IRQHandler
-00004774 g F .text 00000130 __sflush_r
+000020a0 g F .text 00000130 __sflush_r
00000440 w .text 00000000 LPTIMWakeUp_IRQHandler
00000440 w .text 00000000 WWDG_IRQHandler
-000019fc g F .text 0000002e TimeSliceOffset_Unregister
00000440 w .text 00000000 Ecall_U_Mode_Handler
-00002938 g F .text 00000084 task_Init
-20000038 g O .data 00000020 g_MsgTbl
-00000698 g F .text 00000010 ADC_Sample_ModeConfig
-00000440 w .text 00000000 TIM2_IRQHandler
+00001c62 g F .text 00000036 task_Init
+0000066e g F .text 00000010 ADC_Sample_ModeConfig
+0000197c g F .text 00000040 TIM2_IRQHandler
20005000 g .stack 00000000 _eusrstack
-00002616 g F .text 0000002a Task_wdi
00000170 g F .text 0000000c .hidden __riscv_save_2
00000440 w .text 00000000 SW_Handler
000004c8 g F .text 00000028 ADC_DeInit
00000440 w .text 00000000 TIM1_BRK_IRQHandler
-00004b36 g F .text 00000058 __swhatbuf_r
+00002456 g F .text 00000058 __swhatbuf_r
000004f0 g F .text 00000056 ADC_Init
-00001180 g F .text 00000008 USART_SendData
+00001128 g F .text 00000008 USART_SendData
00000440 w .text 00000000 OPA_IRQHandler
-0000223e g F .text 0000007a Check_485_bus_busy
-2000020c g O .bss 00000010 m_recvbroadcast
00000440 w .text 00000000 EXTI1_IRQHandler
00000156 g F .text 0000001a .hidden __riscv_save_5
-00001bd4 g F .text 0000003e _write
-000026a2 g F .text 000000ca Task_CapCharg
-20000158 g .data 00000000 _edata
-20000444 g .bss 00000000 _end
-00000ec6 g F .text 00000076 TIM_TimeBaseInit
+00001afa g F .text 0000003e _write
+200000f0 g .data 00000000 _edata
+2000035c g .bss 00000000 _end
+00000e9c g F .text 00000076 TIM_TimeBaseInit
00000440 w .text 00000000 RTCAlarm_IRQHandler
-00005d90 g .dlalign 00000000 _data_lma
+00003094 g .dlalign 00000000 _data_lma
00000440 w .text 00000000 USART2_IRQHandler
-0000549c g F .text 00000048 __swrite
-000017b2 g F .text 000000be BAT_485_Init
-00004e10 g F .text 00000288 _vfiprintf_r
-00004acc g F .text 0000006a _fwalk_reent
+00002dac g F .text 00000048 __swrite
+0000170c g F .text 000000be BAT_485_Init
+00002722 g F .text 00000286 _vfiprintf_r
+000023ec g F .text 0000006a _fwalk_reent
0000039c g F .text 000000a4 SystemCoreClockUpdate
-00003fbe g F .text 000000ce .hidden __floatunsisf
-000014b6 g F .text 00000032 WDI_INPUT_Init
+0000145c g F .text 00000032 WDI_INPUT_Init
00000440 w .text 00000000 I2C2_ER_IRQHandler
00000440 w .text 00000000 DMA1_Channel2_IRQHandler
-00001648 g F .text 0000006c PWM_TIM_Configuration
-200001ec g O .bss 00000010 m_CapCharg
-00005d34 g O .text 00000020 __sf_fake_stdout
+000015ee g F .text 0000006c PWM_TIM_Configuration
+00003038 g O .text 00000020 __sf_fake_stdout
20000000 g O .data 00000010 HBPrescTable
0000017c g F .text 00000024 .hidden __riscv_restore_12
-00005666 g F .text 0000000c _read
+00002f76 g F .text 0000000c _read
00000442 w .text 00000000 handle_reset
00000440 w .text 00000000 CAN1_SCE_IRQHandler
-00003f68 g F .text 00000056 .hidden __fixunssfsi
00000440 w .text 00000000 FLASH_IRQHandler
00000170 g F .text 0000000c .hidden __riscv_save_0
-2000023c g O .bss 00000010 m_wdi
00000440 w .text 00000000 USBFSWakeUp_IRQHandler
-20000184 g O .bss 00000004 g_recvBroadcastDevice
+00001958 g F .text 00000024 TIM2_Init
00000440 w .text 00000000 USART1_IRQHandler
-00004b8e g F .text 00000092 __smakebuf_r
-000051a4 g F .text 000002a2 _printf_i
-200001a0 g O .bss 00000017 g_Mppt_Para
-00002ba0 g F .text 000000ae .hidden __gedf2
-2000019c g O .bss 00000004 __malloc_sbrk_start
+000024ae g F .text 00000090 __smakebuf_r
+00002ab4 g F .text 000002a2 _printf_i
+2000012c g O .bss 00000017 g_Mppt_Para
+20000128 g O .bss 00000004 __malloc_sbrk_start
00000440 w .text 00000000 I2C1_ER_IRQHandler
-000012c6 g F .text 000000a4 SPI_Flash_Init
-00000e68 g F .text 00000032 SPI_Init
-00000cca g F .text 00000006 NVIC_PriorityGroupConfig
-000011d6 g F .text 000000f0 ADC_all_Init
-000016b4 g F .text 0000004c Set_duty_ratio
+0000126e g F .text 000000a4 SPI_Flash_Init
+00000e3e g F .text 00000032 SPI_Init
+00000ca0 g F .text 00000006 NVIC_PriorityGroupConfig
+0000117e g F .text 000000f0 ADC_all_Init
00000440 w .text 00000000 TKeyWakeUp_IRQHandler
-20000198 g O .bss 00000004 __malloc_free_list
+20000124 g O .bss 00000004 __malloc_free_list
00000194 g F .text 0000000c .hidden __riscv_restore_1
-20000194 g O .bss 00000004 g_gw485_uart4_handle
-00004e10 g F .text 00000288 _vfprintf_r
-000014e8 g F .text 0000002e BEEP_Init
-000031bc g F .text 0000036a .hidden __addsf3
-00005636 g F .text 0000000c _close
-00002b6a g F .text 00000028 uart_dev_in_char
+20000120 g O .bss 00000004 g_gw485_uart4_handle
+00002722 g F .text 00000286 _vfprintf_r
+0000148e g F .text 0000002e BEEP_Init
+00002f46 g F .text 0000000c _close
@@ -558,7 +454,7 @@ Disassembly of section .vector:
5e: 0000 unimp
60: 0440 addi s0,sp,516
62: 0000 unimp
- 64: 15a0 addi s0,sp,744
+ 64: 1546 slli a0,a0,0x31
66: 0000 unimp
68: 0440 addi s0,sp,516
6a: 0000 unimp
@@ -598,9 +494,9 @@ Disassembly of section .vector:
ae: 0000 unimp
b0: 0440 addi s0,sp,516
b2: 0000 unimp
- b4: 0440 addi s0,sp,516
+ b4: 197c addi a5,sp,188
b6: 0000 unimp
- b8: 1996 slli s3,s3,0x25
+ b8: 18d6 slli a7,a7,0x35
ba: 0000 unimp
bc: 0440 addi s0,sp,516
be: 0000 unimp
@@ -620,7 +516,7 @@ Disassembly of section .vector:
da: 0000 unimp
dc: 0440 addi s0,sp,516
de: 0000 unimp
- e0: 188a slli a7,a7,0x22
+ e0: 17ca slli a5,a5,0x32
e2: 0000 unimp
e4: 0440 addi s0,sp,516
e6: 0000 unimp
@@ -632,7 +528,7 @@ Disassembly of section .vector:
f2: 0000 unimp
f4: 0440 addi s0,sp,516
f6: 0000 unimp
- f8: 18d0 addi a2,sp,116
+ f8: 1810 addi a2,sp,48
fa: 0000 unimp
fc: 0440 addi s0,sp,516
fe: 0000 unimp
@@ -780,24 +676,24 @@ Disassembly of section .text:
0000024c :
24c: f25ff2ef jal t0,170 <__riscv_save_0>
250: 4505 li a0,1
- 252: 279000ef jal ra,cca
+ 252: 24f000ef jal ra,ca0
256: 2299 jal 39c
- 258: 08f010ef jal ra,1ae6
+ 258: 029010ef jal ra,1a80
25c: 6571 lui a0,0x1c
- 25e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x16470>
- 262: 119010ef jal ra,1b7a
+ 25e: 20050513 addi a0,a0,512 # 1c200 <_data_lma+0x1916c>
+ 262: 03f010ef jal ra,1aa0
266: 200007b7 lui a5,0x20000
- 26a: 1387a583 lw a1,312(a5) # 20000138
- 26e: 00005537 lui a0,0x5
- 272: 67450513 addi a0,a0,1652 # 5674 <_read+0xe>
- 276: 14c040ef jal ra,43c2
- 27a: 2509 jal 87c
+ 26a: 0d87a583 lw a1,216(a5) # 200000d8
+ 26e: 00003537 lui a0,0x3
+ 272: f8450513 addi a0,a0,-124 # 2f84 <_read+0xe>
+ 276: 355010ef jal ra,1dca
+ 27a: 2be1 jal 852
27c: 85aa mv a1,a0
- 27e: 00005537 lui a0,0x5
- 282: 68450513 addi a0,a0,1668 # 5684 <_read+0x1e>
- 286: 13c040ef jal ra,43c2
- 28a: 732020ef jal ra,29bc
- 28e: 6aa020ef jal ra,2938
+ 27e: 00003537 lui a0,0x3
+ 282: f9450513 addi a0,a0,-108 # 2f94 <_read+0x1e>
+ 286: 345010ef jal ra,1dca
+ 28a: 20f010ef jal ra,1c98
+ 28e: 1d5010ef jal ra,1c62
292: 4501 li a0,0
294: b701 j 194 <__riscv_restore_0>
@@ -829,7 +725,7 @@ Disassembly of section .text:
2d4: c05c sw a5,4(s0)
2d6: 009f07b7 lui a5,0x9f0
2da: c41c sw a5,8(s0)
- 2dc: 05f000ef jal ra,b3a
+ 2dc: 035000ef jal ra,b10
2e0: c402 sw zero,8(sp)
2e2: c602 sw zero,12(sp)
2e4: 400227b7 lui a5,0x40022
@@ -912,7 +808,7 @@ Disassembly of section .text:
3a2: 20000737 lui a4,0x20000
3a6: 4611 li a2,4
3a8: 8bb1 andi a5,a5,12
- 3aa: 13870713 addi a4,a4,312 # 20000138
+ 3aa: 0d870713 addi a4,a4,216 # 200000d8
3ae: 02c78f63 beq a5,a2,3ec
3b2: 4621 li a2,8
3b4: 04c78163 beq a5,a2,3f6
@@ -921,7 +817,7 @@ Disassembly of section .text:
3bc: 8b91 andi a5,a5,4
3be: c79d beqz a5,3ec
3c0: 000f47b7 lui a5,0xf4
- 3c4: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xee4b0>
+ 3c4: 24078793 addi a5,a5,576 # f4240 <_data_lma+0xf11ac>
3c8: c31c sw a5,0(a4)
3ca: 400217b7 lui a5,0x40021
3ce: 43dc lw a5,4(a5)
@@ -936,7 +832,7 @@ Disassembly of section .text:
3e8: c31c sw a5,0(a4)
3ea: 8082 ret
3ec: 007a17b7 lui a5,0x7a1
- 3f0: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79b470>
+ 3f0: 20078793 addi a5,a5,512 # 7a1200 <_data_lma+0x79e16c>
3f4: bfd1 j 3c8
3f6: 42dc lw a5,4(a3)
3f8: 42d4 lw a3,4(a3)
@@ -954,14 +850,14 @@ Disassembly of section .text:
416: 8ac1 andi a3,a3,16
418: ce89 beqz a3,432
41a: 007a16b7 lui a3,0x7a1
- 41e: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x79b470>
+ 41e: 20068693 addi a3,a3,512 # 7a1200 <_data_lma+0x79e16c>
422: a821 j 43a
424: 400216b7 lui a3,0x40021
428: 42d4 lw a3,4(a3)
42a: 00e69613 slli a2,a3,0xe
42e: fe0656e3 bgez a2,41a
432: 003d16b7 lui a3,0x3d1
- 436: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3cab70>
+ 436: 90068693 addi a3,a3,-1792 # 3d0900 <_data_lma+0x3cd86c>
43a: 02d787b3 mul a5,a5,a3
43e: b769 j 3c8
@@ -970,22 +866,22 @@ Disassembly of section .text:
00000442 :
442: 20000197 auipc gp,0x20000
- 446: 4f618193 addi gp,gp,1270 # 20000938 <__global_pointer$>
+ 446: 49618193 addi gp,gp,1174 # 200008d8 <__global_pointer$>
44a: 20005117 auipc sp,0x20005
44e: bb610113 addi sp,sp,-1098 # 20005000 <_eusrstack>
- 452: 00006517 auipc a0,0x6
- 456: 93e50513 addi a0,a0,-1730 # 5d90 <_data_lma>
+ 452: 00003517 auipc a0,0x3
+ 456: c4250513 addi a0,a0,-958 # 3094 <_data_lma>
45a: 20000597 auipc a1,0x20000
45e: ba658593 addi a1,a1,-1114 # 20000000 <_data_vma>
- 462: 82018613 addi a2,gp,-2016 # 20000158 <_edata>
+ 462: 81818613 addi a2,gp,-2024 # 200000f0 <_edata>
466: 00c5fa63 bgeu a1,a2,47a
46a: 00052283 lw t0,0(a0)
46e: 0055a023 sw t0,0(a1)
472: 0511 addi a0,a0,4
474: 0591 addi a1,a1,4
476: fec5eae3 bltu a1,a2,46a
- 47a: 82018513 addi a0,gp,-2016 # 20000158 <_edata>
- 47e: b0c18593 addi a1,gp,-1268 # 20000444 <_ebss>
+ 47a: 81818513 addi a0,gp,-2024 # 200000f0 <_edata>
+ 47e: a8418593 addi a1,gp,-1404 # 2000035c <_ebss>
482: 00b57763 bgeu a0,a1,490
486: 00052023 sw zero,0(a0)
48a: 0511 addi a0,a0,4
@@ -1013,10 +909,10 @@ Disassembly of section .text:
4d4: c9dff2ef jal t0,170 <__riscv_save_0>
4d8: 4585 li a1,1
4da: 20000513 li a0,512
- 4de: 16d000ef jal ra,e4a
+ 4de: 143000ef jal ra,e20
4e2: 4581 li a1,0
4e4: 20000513 li a0,512
- 4e8: 163000ef jal ra,e4a
+ 4e8: 139000ef jal ra,e20
4ec: b165 j 194 <__riscv_restore_0>
4ee: 8082 ret
@@ -1092,8329 +988,4331 @@ Disassembly of section .text:
576: 8905 andi a0,a0,1
578: 8082 ret
-0000057a :
- 57a: 451c lw a5,8(a0)
- 57c: c591 beqz a1,588
- 57e: 00500737 lui a4,0x500
- 582: 8fd9 or a5,a5,a4
- 584: c51c sw a5,8(a0)
- 586: 8082 ret
- 588: ffb00737 lui a4,0xffb00
- 58c: 177d addi a4,a4,-1
- 58e: 8ff9 and a5,a5,a4
- 590: bfd5 j 584
+0000057a :
+ 57a: 47a5 li a5,9
+ 57c: 04b7f763 bgeu a5,a1,5ca
+ 580: 478d li a5,3
+ 582: ff658713 addi a4,a1,-10
+ 586: 02f70733 mul a4,a4,a5
+ 58a: 00c52803 lw a6,12(a0)
+ 58e: 479d li a5,7
+ 590: 00e797b3 sll a5,a5,a4
+ 594: fff7c793 not a5,a5
+ 598: 0107f7b3 and a5,a5,a6
+ 59c: 00e696b3 sll a3,a3,a4
+ 5a0: 8edd or a3,a3,a5
+ 5a2: c554 sw a3,12(a0)
+ 5a4: 4799 li a5,6
+ 5a6: 04c7e363 bltu a5,a2,5ec
+ 5aa: 4795 li a5,5
+ 5ac: 167d addi a2,a2,-1
+ 5ae: 02f60633 mul a2,a2,a5
+ 5b2: 5958 lw a4,52(a0)
+ 5b4: 47fd li a5,31
+ 5b6: 00c797b3 sll a5,a5,a2
+ 5ba: fff7c793 not a5,a5
+ 5be: 8ff9 and a5,a5,a4
+ 5c0: 00c59633 sll a2,a1,a2
+ 5c4: 8e5d or a2,a2,a5
+ 5c6: d950 sw a2,52(a0)
+ 5c8: 8082 ret
+ 5ca: 470d li a4,3
+ 5cc: 02e58733 mul a4,a1,a4
+ 5d0: 01052803 lw a6,16(a0)
+ 5d4: 479d li a5,7
+ 5d6: 00e797b3 sll a5,a5,a4
+ 5da: fff7c793 not a5,a5
+ 5de: 0107f7b3 and a5,a5,a6
+ 5e2: 00e696b3 sll a3,a3,a4
+ 5e6: 8edd or a3,a3,a5
+ 5e8: c914 sw a3,16(a0)
+ 5ea: bf6d j 5a4
+ 5ec: 47b1 li a5,12
+ 5ee: 02c7e263 bltu a5,a2,612
+ 5f2: 4795 li a5,5
+ 5f4: 1665 addi a2,a2,-7
+ 5f6: 02f60633 mul a2,a2,a5
+ 5fa: 5918 lw a4,48(a0)
+ 5fc: 47fd li a5,31
+ 5fe: 00c797b3 sll a5,a5,a2
+ 602: fff7c793 not a5,a5
+ 606: 8ff9 and a5,a5,a4
+ 608: 00c59633 sll a2,a1,a2
+ 60c: 8e5d or a2,a2,a5
+ 60e: d910 sw a2,48(a0)
+ 610: 8082 ret
+ 612: 4795 li a5,5
+ 614: 164d addi a2,a2,-13
+ 616: 02f60633 mul a2,a2,a5
+ 61a: 5558 lw a4,44(a0)
+ 61c: 47fd li a5,31
+ 61e: 00c797b3 sll a5,a5,a2
+ 622: fff7c793 not a5,a5
+ 626: 8ff9 and a5,a5,a4
+ 628: 00c595b3 sll a1,a1,a2
+ 62c: 8ddd or a1,a1,a5
+ 62e: d54c sw a1,44(a0)
+ 630: 8082 ret
-00000592 :
- 592: 47a5 li a5,9
- 594: 04b7f763 bgeu a5,a1,5e2
- 598: 478d li a5,3
- 59a: ff658713 addi a4,a1,-10
- 59e: 02f70733 mul a4,a4,a5
- 5a2: 00c52803 lw a6,12(a0)
- 5a6: 479d li a5,7
- 5a8: 00e797b3 sll a5,a5,a4
- 5ac: fff7c793 not a5,a5
- 5b0: 0107f7b3 and a5,a5,a6
- 5b4: 00e696b3 sll a3,a3,a4
- 5b8: 8edd or a3,a3,a5
- 5ba: c554 sw a3,12(a0)
- 5bc: 4799 li a5,6
- 5be: 04c7e363 bltu a5,a2,604
- 5c2: 4795 li a5,5
- 5c4: 167d addi a2,a2,-1
- 5c6: 02f60633 mul a2,a2,a5
- 5ca: 5958 lw a4,52(a0)
- 5cc: 47fd li a5,31
- 5ce: 00c797b3 sll a5,a5,a2
- 5d2: fff7c793 not a5,a5
- 5d6: 8ff9 and a5,a5,a4
- 5d8: 00c59633 sll a2,a1,a2
- 5dc: 8e5d or a2,a2,a5
- 5de: d950 sw a2,52(a0)
- 5e0: 8082 ret
- 5e2: 470d li a4,3
- 5e4: 02e58733 mul a4,a1,a4
- 5e8: 01052803 lw a6,16(a0)
- 5ec: 479d li a5,7
- 5ee: 00e797b3 sll a5,a5,a4
- 5f2: fff7c793 not a5,a5
- 5f6: 0107f7b3 and a5,a5,a6
- 5fa: 00e696b3 sll a3,a3,a4
- 5fe: 8edd or a3,a3,a5
- 600: c914 sw a3,16(a0)
- 602: bf6d j 5bc
- 604: 47b1 li a5,12
- 606: 02c7e263 bltu a5,a2,62a
- 60a: 4795 li a5,5
- 60c: 1665 addi a2,a2,-7
- 60e: 02f60633 mul a2,a2,a5
- 612: 5918 lw a4,48(a0)
- 614: 47fd li a5,31
- 616: 00c797b3 sll a5,a5,a2
- 61a: fff7c793 not a5,a5
- 61e: 8ff9 and a5,a5,a4
- 620: 00c59633 sll a2,a1,a2
- 624: 8e5d or a2,a2,a5
- 626: d910 sw a2,48(a0)
- 628: 8082 ret
- 62a: 4795 li a5,5
- 62c: 164d addi a2,a2,-13
- 62e: 02f60633 mul a2,a2,a5
- 632: 5558 lw a4,44(a0)
- 634: 47fd li a5,31
- 636: 00c797b3 sll a5,a5,a2
- 63a: fff7c793 not a5,a5
- 63e: 8ff9 and a5,a5,a4
- 640: 00c595b3 sll a1,a1,a2
- 644: 8ddd or a1,a1,a5
- 646: d54c sw a1,44(a0)
- 648: 8082 ret
+00000632 :
+ 632: 415c lw a5,4(a0)
+ 634: c591 beqz a1,640
+ 636: 04000737 lui a4,0x4000
+ 63a: 8fd9 or a5,a5,a4
+ 63c: c15c sw a5,4(a0)
+ 63e: 8082 ret
+ 640: fc000737 lui a4,0xfc000
+ 644: 177d addi a4,a4,-1
+ 646: 8ff9 and a5,a5,a4
+ 648: bfd5 j 63c
-0000064a :
- 64a: 4568 lw a0,76(a0)
- 64c: 0542 slli a0,a0,0x10
- 64e: 8141 srli a0,a0,0x10
- 650: 8082 ret
+0000064a :
+ 64a: 493c lw a5,80(a0)
+ 64c: c589 beqz a1,656
+ 64e: 0807e793 ori a5,a5,128
+ 652: c93c sw a5,80(a0)
+ 654: 8082 ret
+ 656: f7f7f793 andi a5,a5,-129
+ 65a: bfe5 j 652
-00000652 :
- 652: 4108 lw a0,0(a0)
- 654: 8d6d and a0,a0,a1
- 656: 00a03533 snez a0,a0
- 65a: 8082 ret
+0000065c :
+ 65c: 493c lw a5,80(a0)
+ 65e: c589 beqz a1,668
+ 660: 0407e793 ori a5,a5,64
+ 664: c93c sw a5,80(a0)
+ 666: 8082 ret
+ 668: fbf7f793 andi a5,a5,-65
+ 66c: bfe5 j 664
-0000065c :
- 65c: 415c lw a5,4(a0)
- 65e: c591 beqz a1,66a
- 660: 04000737 lui a4,0x4000
- 664: 8fd9 or a5,a5,a4
- 666: c15c sw a5,4(a0)
- 668: 8082 ret
- 66a: fc000737 lui a4,0xfc000
- 66e: 177d addi a4,a4,-1
- 670: 8ff9 and a5,a5,a4
- 672: bfd5 j 666
+0000066e :
+ 66e: 493c lw a5,80(a0)
+ 670: fdf7f793 andi a5,a5,-33
+ 674: c93c sw a5,80(a0)
+ 676: 493c lw a5,80(a0)
+ 678: 8ddd or a1,a1,a5
+ 67a: c92c sw a1,80(a0)
+ 67c: 8082 ret
-00000674 :
- 674: 493c lw a5,80(a0)
- 676: c589 beqz a1,680
- 678: 0807e793 ori a5,a5,128
- 67c: c93c sw a5,80(a0)
- 67e: 8082 ret
- 680: f7f7f793 andi a5,a5,-129
- 684: bfe5 j 67c
-
-00000686 :
- 686: 493c lw a5,80(a0)
- 688: c589 beqz a1,692
- 68a: 0407e793 ori a5,a5,64
- 68e: c93c sw a5,80(a0)
- 690: 8082 ret
- 692: fbf7f793 andi a5,a5,-65
- 696: bfe5 j 68e
-
-00000698 :
- 698: 493c lw a5,80(a0)
- 69a: fdf7f793 andi a5,a5,-33
- 69e: c93c sw a5,80(a0)
- 6a0: 493c lw a5,80(a0)
- 6a2: 8ddd or a1,a1,a5
- 6a4: c92c sw a1,80(a0)
- 6a6: 8082 ret
-
-000006a8 :
- 6a8: ac9ff2ef jal t0,170 <__riscv_save_0>
- 6ac: 456706b7 lui a3,0x45670
- 6b0: 400227b7 lui a5,0x40022
- 6b4: 12368693 addi a3,a3,291 # 45670123 <_eusrstack+0x2566b123>
- 6b8: cdef9737 lui a4,0xcdef9
- 6bc: c3d4 sw a3,4(a5)
- 6be: 9ab70713 addi a4,a4,-1621 # cdef89ab <_eusrstack+0xadef39ab>
- 6c2: c3d8 sw a4,4(a5)
- 6c4: d3d4 sw a3,36(a5)
- 6c6: 1101 addi sp,sp,-32
- 6c8: c798 sw a4,8(a5)
- 6ca: 5bd4 lw a3,52(a5)
- 6cc: 03478713 addi a4,a5,52 # 40022034 <_eusrstack+0x2001d034>
- 6d0: 00269613 slli a2,a3,0x2
- 6d4: fe064be3 bltz a2,6ca
- 6d8: 57d4 lw a3,44(a5)
- 6da: 40012537 lui a0,0x40012
- 6de: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400>
- 6e2: 2006e693 ori a3,a3,512
- 6e6: d7d4 sw a3,44(a5)
- 6e8: 5bdc lw a5,52(a5)
- 6ea: 200006b7 lui a3,0x20000
- 6ee: 8fd5 or a5,a5,a3
- 6f0: c31c sw a5,0(a4)
- 6f2: 431c lw a5,0(a4)
- 6f4: 451c lw a5,8(a0)
- 6f6: 000e0737 lui a4,0xe0
- 6fa: 8fd9 or a5,a5,a4
- 6fc: c51c sw a5,8(a0)
- 6fe: 451c lw a5,8(a0)
- 700: 0017e793 ori a5,a5,1
+0000067e :
+ 67e: af3ff2ef jal t0,170 <__riscv_save_0>
+ 682: 456706b7 lui a3,0x45670
+ 686: 400227b7 lui a5,0x40022
+ 68a: 12368693 addi a3,a3,291 # 45670123 <_eusrstack+0x2566b123>
+ 68e: cdef9737 lui a4,0xcdef9
+ 692: c3d4 sw a3,4(a5)
+ 694: 9ab70713 addi a4,a4,-1621 # cdef89ab <_eusrstack+0xadef39ab>
+ 698: c3d8 sw a4,4(a5)
+ 69a: d3d4 sw a3,36(a5)
+ 69c: 1101 addi sp,sp,-32
+ 69e: c798 sw a4,8(a5)
+ 6a0: 5bd4 lw a3,52(a5)
+ 6a2: 03478713 addi a4,a5,52 # 40022034 <_eusrstack+0x2001d034>
+ 6a6: 00269613 slli a2,a3,0x2
+ 6aa: fe064be3 bltz a2,6a0
+ 6ae: 57d4 lw a3,44(a5)
+ 6b0: 40012537 lui a0,0x40012
+ 6b4: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400>
+ 6b8: 2006e693 ori a3,a3,512
+ 6bc: d7d4 sw a3,44(a5)
+ 6be: 5bdc lw a5,52(a5)
+ 6c0: 200006b7 lui a3,0x20000
+ 6c4: 8fd5 or a5,a5,a3
+ 6c6: c31c sw a5,0(a4)
+ 6c8: 431c lw a5,0(a4)
+ 6ca: 451c lw a5,8(a0)
+ 6cc: 000e0737 lui a4,0xe0
+ 6d0: 8fd9 or a5,a5,a4
+ 6d2: c51c sw a5,8(a0)
+ 6d4: 451c lw a5,8(a0)
+ 6d6: 0017e793 ori a5,a5,1
+ 6da: c51c sw a5,8(a0)
+ 6dc: 493c lw a5,80(a0)
+ 6de: 0407e793 ori a5,a5,64
+ 6e2: c93c sw a5,80(a0)
+ 6e4: 451c lw a5,8(a0)
+ 6e6: 0087e793 ori a5,a5,8
+ 6ea: c51c sw a5,8(a0)
+ 6ec: 842a mv s0,a0
+ 6ee: 8522 mv a0,s0
+ 6f0: 3d85 jal 560
+ 6f2: fd75 bnez a0,6ee
+ 6f4: 40012537 lui a0,0x40012
+ 6f8: 40852783 lw a5,1032(a0) # 40012408 <_eusrstack+0x2000d408>
+ 6fc: 40050513 addi a0,a0,1024
+ 700: 0047e793 ori a5,a5,4
704: c51c sw a5,8(a0)
- 706: 493c lw a5,80(a0)
- 708: 0407e793 ori a5,a5,64
- 70c: c93c sw a5,80(a0)
- 70e: 451c lw a5,8(a0)
- 710: 0087e793 ori a5,a5,8
- 714: c51c sw a5,8(a0)
- 716: 842a mv s0,a0
- 718: 8522 mv a0,s0
- 71a: 3599 jal 560
- 71c: fd75 bnez a0,718
- 71e: 40012537 lui a0,0x40012
- 722: 40852783 lw a5,1032(a0) # 40012408 <_eusrstack+0x2000d408>
- 726: 40050513 addi a0,a0,1024
- 72a: 0047e793 ori a5,a5,4
- 72e: c51c sw a5,8(a0)
- 730: 842a mv s0,a0
- 732: 8522 mv a0,s0
- 734: 3d3d jal 572
- 736: fd75 bnez a0,732
- 738: 40012537 lui a0,0x40012
- 73c: 4605 li a2,1
- 73e: 45c9 li a1,18
- 740: 4681 li a3,0
- 742: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400>
- 746: 35b1 jal 592
- 748: 4625 li a2,9
- 74a: 00010423 sb zero,8(sp)
- 74e: 40012737 lui a4,0x40012
- 752: 005005b7 lui a1,0x500
- 756: 841c lbu a5,8(sp)
- 758: 04f67f63 bgeu a2,a5,7b6
- 75c: 00010423 sb zero,8(sp)
- 760: 46a5 li a3,9
- 762: 4621 li a2,8
- 764: 841c lbu a5,8(sp)
- 766: 06f6ff63 bgeu a3,a5,7e4
- 76a: 00011523 sh zero,10(sp)
- 76e: 00010423 sb zero,8(sp)
- 772: 4695 li a3,5
- 774: 841c lbu a5,8(sp)
- 776: 0ef6f163 bgeu a3,a5,858 <__stack_size+0x58>
- 77a: 8538 lhu a4,10(sp)
- 77c: 853c lhu a5,10(sp)
- 77e: 4699 li a3,6
- 780: 460d li a2,3
- 782: 02d7f7b3 remu a5,a5,a3
- 786: 6505 lui a0,0x1
- 788: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
- 78c: 02d75733 divu a4,a4,a3
- 790: 02c7d7b3 divu a5,a5,a2
- 794: 97ba add a5,a5,a4
- 796: 07c2 slli a5,a5,0x10
- 798: 83c1 srli a5,a5,0x10
- 79a: 857c sh a5,10(sp)
- 79c: 400127b7 lui a5,0x40012
- 7a0: 4087a703 lw a4,1032(a5) # 40012408 <_eusrstack+0x2000d408>
- 7a4: 9b79 andi a4,a4,-2
- 7a6: 40e7a423 sw a4,1032(a5)
- 7aa: 853c lhu a5,10(sp)
- 7ac: 6105 addi sp,sp,32
- 7ae: 8d1d sub a0,a0,a5
- 7b0: 0542 slli a0,a0,0x10
- 7b2: 8541 srai a0,a0,0x10
- 7b4: b2c5 j 194 <__riscv_restore_0>
- 7b6: 40872783 lw a5,1032(a4) # 40012408 <_eusrstack+0x2000d408>
- 7ba: 8fcd or a5,a5,a1
- 7bc: 40f72423 sw a5,1032(a4)
- 7c0: 40072783 lw a5,1024(a4)
- 7c4: 8b89 andi a5,a5,2
- 7c6: dfed beqz a5,7c0
- 7c8: 841c lbu a5,8(sp)
- 7ca: 44c72683 lw a3,1100(a4)
- 7ce: 1008 addi a0,sp,32
- 7d0: 0786 slli a5,a5,0x1
- 7d2: 97aa add a5,a5,a0
- 7d4: fed79623 sh a3,-20(a5)
- 7d8: 841c lbu a5,8(sp)
- 7da: 0785 addi a5,a5,1
- 7dc: 0ff7f793 andi a5,a5,255
- 7e0: 845c sb a5,8(sp)
- 7e2: bf95 j 756
- 7e4: 000104a3 sb zero,9(sp)
- 7e8: 849c lbu a5,9(sp)
- 7ea: 00f67863 bgeu a2,a5,7fa
- 7ee: 841c lbu a5,8(sp)
- 7f0: 0785 addi a5,a5,1
- 7f2: 0ff7f793 andi a5,a5,255
- 7f6: 845c sb a5,8(sp)
- 7f8: b7b5 j 764
+ 706: 842a mv s0,a0
+ 708: 8522 mv a0,s0
+ 70a: 35a5 jal 572
+ 70c: fd75 bnez a0,708
+ 70e: 40012537 lui a0,0x40012
+ 712: 4605 li a2,1
+ 714: 45c9 li a1,18
+ 716: 4681 li a3,0
+ 718: 40050513 addi a0,a0,1024 # 40012400 <_eusrstack+0x2000d400>
+ 71c: 3db9 jal 57a
+ 71e: 4625 li a2,9
+ 720: 00010423 sb zero,8(sp)
+ 724: 40012737 lui a4,0x40012
+ 728: 005005b7 lui a1,0x500
+ 72c: 841c lbu a5,8(sp)
+ 72e: 04f67f63 bgeu a2,a5,78c
+ 732: 00010423 sb zero,8(sp)
+ 736: 46a5 li a3,9
+ 738: 4621 li a2,8
+ 73a: 841c lbu a5,8(sp)
+ 73c: 06f6ff63 bgeu a3,a5,7ba
+ 740: 00011523 sh zero,10(sp)
+ 744: 00010423 sb zero,8(sp)
+ 748: 4695 li a3,5
+ 74a: 841c lbu a5,8(sp)
+ 74c: 0ef6f163 bgeu a3,a5,82e <__stack_size+0x2e>
+ 750: 8538 lhu a4,10(sp)
+ 752: 853c lhu a5,10(sp)
+ 754: 4699 li a3,6
+ 756: 460d li a2,3
+ 758: 02d7f7b3 remu a5,a5,a3
+ 75c: 6505 lui a0,0x1
+ 75e: 80050513 addi a0,a0,-2048 # 800 <__stack_size>
+ 762: 02d75733 divu a4,a4,a3
+ 766: 02c7d7b3 divu a5,a5,a2
+ 76a: 97ba add a5,a5,a4
+ 76c: 07c2 slli a5,a5,0x10
+ 76e: 83c1 srli a5,a5,0x10
+ 770: 857c sh a5,10(sp)
+ 772: 400127b7 lui a5,0x40012
+ 776: 4087a703 lw a4,1032(a5) # 40012408 <_eusrstack+0x2000d408>
+ 77a: 9b79 andi a4,a4,-2
+ 77c: 40e7a423 sw a4,1032(a5)
+ 780: 853c lhu a5,10(sp)
+ 782: 6105 addi sp,sp,32
+ 784: 8d1d sub a0,a0,a5
+ 786: 0542 slli a0,a0,0x10
+ 788: 8541 srai a0,a0,0x10
+ 78a: b429 j 194 <__riscv_restore_0>
+ 78c: 40872783 lw a5,1032(a4) # 40012408 <_eusrstack+0x2000d408>
+ 790: 8fcd or a5,a5,a1
+ 792: 40f72423 sw a5,1032(a4)
+ 796: 40072783 lw a5,1024(a4)
+ 79a: 8b89 andi a5,a5,2
+ 79c: dfed beqz a5,796
+ 79e: 841c lbu a5,8(sp)
+ 7a0: 44c72683 lw a3,1100(a4)
+ 7a4: 1008 addi a0,sp,32
+ 7a6: 0786 slli a5,a5,0x1
+ 7a8: 97aa add a5,a5,a0
+ 7aa: fed79623 sh a3,-20(a5)
+ 7ae: 841c lbu a5,8(sp)
+ 7b0: 0785 addi a5,a5,1
+ 7b2: 0ff7f793 andi a5,a5,255
+ 7b6: 845c sb a5,8(sp)
+ 7b8: bf95 j 72c
+ 7ba: 000104a3 sb zero,9(sp)
+ 7be: 849c lbu a5,9(sp)
+ 7c0: 00f67863 bgeu a2,a5,7d0
+ 7c4: 841c lbu a5,8(sp)
+ 7c6: 0785 addi a5,a5,1
+ 7c8: 0ff7f793 andi a5,a5,255
+ 7cc: 845c sb a5,8(sp)
+ 7ce: b7b5 j 73a
+ 7d0: 8498 lbu a4,9(sp)
+ 7d2: 849c lbu a5,9(sp)
+ 7d4: 100c addi a1,sp,32
+ 7d6: 0706 slli a4,a4,0x1
+ 7d8: 0785 addi a5,a5,1
+ 7da: 0786 slli a5,a5,0x1
+ 7dc: 972e add a4,a4,a1
+ 7de: 97ae add a5,a5,a1
+ 7e0: fec75703 lhu a4,-20(a4)
+ 7e4: fec7d783 lhu a5,-20(a5)
+ 7e8: 02e7fd63 bgeu a5,a4,822 <__stack_size+0x22>
+ 7ec: 849c lbu a5,9(sp)
+ 7ee: 0786 slli a5,a5,0x1
+ 7f0: 97ae add a5,a5,a1
+ 7f2: fec7d783 lhu a5,-20(a5)
+ 7f6: 857c sh a5,10(sp)
+ 7f8: 849c lbu a5,9(sp)
7fa: 8498 lbu a4,9(sp)
- 7fc: 849c lbu a5,9(sp)
- 7fe: 100c addi a1,sp,32
- 800: 0706 slli a4,a4,0x1
- 802: 0785 addi a5,a5,1
- 804: 0786 slli a5,a5,0x1
- 806: 972e add a4,a4,a1
- 808: 97ae add a5,a5,a1
- 80a: fec75703 lhu a4,-20(a4)
- 80e: fec7d783 lhu a5,-20(a5)
- 812: 02e7fd63 bgeu a5,a4,84c <__stack_size+0x4c>
- 816: 849c lbu a5,9(sp)
- 818: 0786 slli a5,a5,0x1
- 81a: 97ae add a5,a5,a1
- 81c: fec7d783 lhu a5,-20(a5)
- 820: 857c sh a5,10(sp)
+ 7fc: 0785 addi a5,a5,1
+ 7fe: 0786 slli a5,a5,0x1
+ 800: 97ae add a5,a5,a1
+ 802: fec7d583 lhu a1,-20(a5)
+ 806: 00171793 slli a5,a4,0x1
+ 80a: 1018 addi a4,sp,32
+ 80c: 97ba add a5,a5,a4
+ 80e: feb79623 sh a1,-20(a5)
+ 812: 849c lbu a5,9(sp)
+ 814: 8538 lhu a4,10(sp)
+ 816: 100c addi a1,sp,32
+ 818: 0785 addi a5,a5,1
+ 81a: 0786 slli a5,a5,0x1
+ 81c: 97ae add a5,a5,a1
+ 81e: fee79623 sh a4,-20(a5)
822: 849c lbu a5,9(sp)
- 824: 8498 lbu a4,9(sp)
- 826: 0785 addi a5,a5,1
- 828: 0786 slli a5,a5,0x1
- 82a: 97ae add a5,a5,a1
- 82c: fec7d583 lhu a1,-20(a5)
- 830: 00171793 slli a5,a4,0x1
- 834: 1018 addi a4,sp,32
- 836: 97ba add a5,a5,a4
- 838: feb79623 sh a1,-20(a5)
- 83c: 849c lbu a5,9(sp)
- 83e: 8538 lhu a4,10(sp)
- 840: 100c addi a1,sp,32
- 842: 0785 addi a5,a5,1
- 844: 0786 slli a5,a5,0x1
- 846: 97ae add a5,a5,a1
- 848: fee79623 sh a4,-20(a5)
- 84c: 849c lbu a5,9(sp)
- 84e: 0785 addi a5,a5,1
- 850: 0ff7f793 andi a5,a5,255
- 854: 84dc sb a5,9(sp)
- 856: bf49 j 7e8
- 858: 841c lbu a5,8(sp)
- 85a: 1010 addi a2,sp,32
- 85c: 8538 lhu a4,10(sp)
- 85e: 0789 addi a5,a5,2
- 860: 0786 slli a5,a5,0x1
- 862: 97b2 add a5,a5,a2
- 864: fec7d783 lhu a5,-20(a5)
- 868: 97ba add a5,a5,a4
- 86a: 07c2 slli a5,a5,0x10
- 86c: 83c1 srli a5,a5,0x10
- 86e: 857c sh a5,10(sp)
- 870: 841c lbu a5,8(sp)
- 872: 0785 addi a5,a5,1
- 874: 0ff7f793 andi a5,a5,255
- 878: 845c sb a5,8(sp)
- 87a: bded j 774
+ 824: 0785 addi a5,a5,1
+ 826: 0ff7f793 andi a5,a5,255
+ 82a: 84dc sb a5,9(sp)
+ 82c: bf49 j 7be
+ 82e: 841c lbu a5,8(sp)
+ 830: 1010 addi a2,sp,32
+ 832: 8538 lhu a4,10(sp)
+ 834: 0789 addi a5,a5,2
+ 836: 0786 slli a5,a5,0x1
+ 838: 97b2 add a5,a5,a2
+ 83a: fec7d783 lhu a5,-20(a5)
+ 83e: 97ba add a5,a5,a4
+ 840: 07c2 slli a5,a5,0x10
+ 842: 83c1 srli a5,a5,0x10
+ 844: 857c sh a5,10(sp)
+ 846: 841c lbu a5,8(sp)
+ 848: 0785 addi a5,a5,1
+ 84a: 0ff7f793 andi a5,a5,255
+ 84e: 845c sb a5,8(sp)
+ 850: bded j 74a
-0000087c :
- 87c: 8241a503 lw a0,-2012(gp) # 2000015c
- 880: 8082 ret
+00000852 :
+ 852: 81c1a503 lw a0,-2020(gp) # 200000f4
+ 856: 8082 ret
-00000882 :
- 882: 4158 lw a4,4(a0)
- 884: 00052803 lw a6,0(a0)
- 888: 454c lw a1,12(a0)
- 88a: 40010637 lui a2,0x40010
- 88e: 40060793 addi a5,a2,1024 # 40010400 <_eusrstack+0x2000b400>
- 892: 973e add a4,a4,a5
- 894: fff84693 not a3,a6
- 898: c5b1 beqz a1,8e4
- 89a: 40062583 lw a1,1024(a2)
- 89e: 8df5 and a1,a1,a3
- 8a0: 40b62023 sw a1,1024(a2)
- 8a4: 43d0 lw a2,4(a5)
- 8a6: 8ef1 and a3,a3,a2
- 8a8: c3d4 sw a3,4(a5)
- 8aa: 4314 lw a3,0(a4)
- 8ac: 0106e6b3 or a3,a3,a6
- 8b0: c314 sw a3,0(a4)
- 8b2: 4118 lw a4,0(a0)
- 8b4: 4790 lw a2,8(a5)
- 8b6: fff74693 not a3,a4
- 8ba: 8e75 and a2,a2,a3
- 8bc: c790 sw a2,8(a5)
- 8be: 47d0 lw a2,12(a5)
- 8c0: 8ef1 and a3,a3,a2
- 8c2: c7d4 sw a3,12(a5)
- 8c4: 4514 lw a3,8(a0)
- 8c6: 4641 li a2,16
- 8c8: 00c69963 bne a3,a2,8da
- 8cc: 4794 lw a3,8(a5)
- 8ce: 8ed9 or a3,a3,a4
- 8d0: c794 sw a3,8(a5)
- 8d2: 47d4 lw a3,12(a5)
- 8d4: 8f55 or a4,a4,a3
- 8d6: c7d8 sw a4,12(a5)
- 8d8: 8082 ret
- 8da: 97b6 add a5,a5,a3
- 8dc: 4394 lw a3,0(a5)
- 8de: 8f55 or a4,a4,a3
- 8e0: c398 sw a4,0(a5)
- 8e2: 8082 ret
- 8e4: 431c lw a5,0(a4)
- 8e6: 8ff5 and a5,a5,a3
- 8e8: c31c sw a5,0(a4)
- 8ea: 8082 ret
+00000858 :
+ 858: 4158 lw a4,4(a0)
+ 85a: 00052803 lw a6,0(a0)
+ 85e: 454c lw a1,12(a0)
+ 860: 40010637 lui a2,0x40010
+ 864: 40060793 addi a5,a2,1024 # 40010400 <_eusrstack+0x2000b400>
+ 868: 973e add a4,a4,a5
+ 86a: fff84693 not a3,a6
+ 86e: c5b1 beqz a1,8ba
+ 870: 40062583 lw a1,1024(a2)
+ 874: 8df5 and a1,a1,a3
+ 876: 40b62023 sw a1,1024(a2)
+ 87a: 43d0 lw a2,4(a5)
+ 87c: 8ef1 and a3,a3,a2
+ 87e: c3d4 sw a3,4(a5)
+ 880: 4314 lw a3,0(a4)
+ 882: 0106e6b3 or a3,a3,a6
+ 886: c314 sw a3,0(a4)
+ 888: 4118 lw a4,0(a0)
+ 88a: 4790 lw a2,8(a5)
+ 88c: fff74693 not a3,a4
+ 890: 8e75 and a2,a2,a3
+ 892: c790 sw a2,8(a5)
+ 894: 47d0 lw a2,12(a5)
+ 896: 8ef1 and a3,a3,a2
+ 898: c7d4 sw a3,12(a5)
+ 89a: 4514 lw a3,8(a0)
+ 89c: 4641 li a2,16
+ 89e: 00c69963 bne a3,a2,8b0
+ 8a2: 4794 lw a3,8(a5)
+ 8a4: 8ed9 or a3,a3,a4
+ 8a6: c794 sw a3,8(a5)
+ 8a8: 47d4 lw a3,12(a5)
+ 8aa: 8f55 or a4,a4,a3
+ 8ac: c7d8 sw a4,12(a5)
+ 8ae: 8082 ret
+ 8b0: 97b6 add a5,a5,a3
+ 8b2: 4394 lw a3,0(a5)
+ 8b4: 8f55 or a4,a4,a3
+ 8b6: c398 sw a4,0(a5)
+ 8b8: 8082 ret
+ 8ba: 431c lw a5,0(a4)
+ 8bc: 8ff5 and a5,a5,a3
+ 8be: c31c sw a5,0(a4)
+ 8c0: 8082 ret
-000008ec :
- 8ec: 400107b7 lui a5,0x40010
- 8f0: 40078713 addi a4,a5,1024 # 40010400 <_eusrstack+0x2000b400>
- 8f4: 4007a783 lw a5,1024(a5)
- 8f8: 4b58 lw a4,20(a4)
- 8fa: 8f69 and a4,a4,a0
- 8fc: c709 beqz a4,906
- 8fe: 8d7d and a0,a0,a5
- 900: 00a03533 snez a0,a0
- 904: 8082 ret
- 906: 4501 li a0,0
- 908: 8082 ret
+000008c2 :
+ 8c2: 400107b7 lui a5,0x40010
+ 8c6: 40078713 addi a4,a5,1024 # 40010400 <_eusrstack+0x2000b400>
+ 8ca: 4007a783 lw a5,1024(a5)
+ 8ce: 4b58 lw a4,20(a4)
+ 8d0: 8f69 and a4,a4,a0
+ 8d2: c709 beqz a4,8dc
+ 8d4: 8d7d and a0,a0,a5
+ 8d6: 00a03533 snez a0,a0
+ 8da: 8082 ret
+ 8dc: 4501 li a0,0
+ 8de: 8082 ret
-0000090a :
- 90a: 400107b7 lui a5,0x40010
- 90e: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x2000b414>
- 912: 8082 ret
+000008e0 :
+ 8e0: 400107b7 lui a5,0x40010
+ 8e4: 40a7aa23 sw a0,1044(a5) # 40010414 <_eusrstack+0x2000b414>
+ 8e8: 8082 ret
-00000914 :
- 914: 459c lw a5,8(a1)
- 916: 0107f713 andi a4,a5,16
- 91a: 00f7f813 andi a6,a5,15
- 91e: c701 beqz a4,926
- 920: 41d8 lw a4,4(a1)
- 922: 00e86833 or a6,a6,a4
- 926: 218e lhu a1,0(a1)
- 928: 0ff5f713 andi a4,a1,255
- 92c: c339 beqz a4,972
- 92e: 4118 lw a4,0(a0)
- 930: 4681 li a3,0
- 932: 4e85 li t4,1
- 934: 4f3d li t5,15
- 936: 02800f93 li t6,40
- 93a: 04800293 li t0,72
- 93e: 4e21 li t3,8
- 940: 00de9633 sll a2,t4,a3
- 944: 00c5f8b3 and a7,a1,a2
- 948: 03161163 bne a2,a7,96a
- 94c: 00269893 slli a7,a3,0x2
- 950: 011f1333 sll t1,t5,a7
- 954: fff34313 not t1,t1
- 958: 00e37733 and a4,t1,a4
- 95c: 011818b3 sll a7,a6,a7
- 960: 00e8e733 or a4,a7,a4
- 964: 05f79f63 bne a5,t6,9c2
- 968: c950 sw a2,20(a0)
- 96a: 0685 addi a3,a3,1
- 96c: fdc69ae3 bne a3,t3,940
- 970: c118 sw a4,0(a0)
- 972: 0ff00713 li a4,255
- 976: 04b77563 bgeu a4,a1,9c0
- 97a: 4154 lw a3,4(a0)
- 97c: 4621 li a2,8
- 97e: 4e85 li t4,1
- 980: 4f3d li t5,15
- 982: 02800f93 li t6,40
- 986: 04800293 li t0,72
- 98a: 4e41 li t3,16
- 98c: 00ce98b3 sll a7,t4,a2
- 990: 0115f733 and a4,a1,a7
- 994: 02e89263 bne a7,a4,9b8
- 998: 00261713 slli a4,a2,0x2
- 99c: 1701 addi a4,a4,-32
- 99e: 00ef1333 sll t1,t5,a4
- 9a2: fff34313 not t1,t1
- 9a6: 00d376b3 and a3,t1,a3
- 9aa: 00e81733 sll a4,a6,a4
- 9ae: 8ed9 or a3,a3,a4
- 9b0: 01f79d63 bne a5,t6,9ca
- 9b4: 01152a23 sw a7,20(a0)
- 9b8: 0605 addi a2,a2,1
- 9ba: fdc619e3 bne a2,t3,98c
- 9be: c154 sw a3,4(a0)
- 9c0: 8082 ret
- 9c2: fa5794e3 bne a5,t0,96a
- 9c6: c910 sw a2,16(a0)
- 9c8: b74d j 96a
- 9ca: fe5797e3 bne a5,t0,9b8
- 9ce: 01152823 sw a7,16(a0)
- 9d2: b7dd j 9b8
+000008ea :
+ 8ea: 459c lw a5,8(a1)
+ 8ec: 0107f713 andi a4,a5,16
+ 8f0: 00f7f813 andi a6,a5,15
+ 8f4: c701 beqz a4,8fc
+ 8f6: 41d8 lw a4,4(a1)
+ 8f8: 00e86833 or a6,a6,a4
+ 8fc: 218e lhu a1,0(a1)
+ 8fe: 0ff5f713 andi a4,a1,255
+ 902: c339 beqz a4,948
+ 904: 4118 lw a4,0(a0)
+ 906: 4681 li a3,0
+ 908: 4e85 li t4,1
+ 90a: 4f3d li t5,15
+ 90c: 02800f93 li t6,40
+ 910: 04800293 li t0,72
+ 914: 4e21 li t3,8
+ 916: 00de9633 sll a2,t4,a3
+ 91a: 00c5f8b3 and a7,a1,a2
+ 91e: 03161163 bne a2,a7,940
+ 922: 00269893 slli a7,a3,0x2
+ 926: 011f1333 sll t1,t5,a7
+ 92a: fff34313 not t1,t1
+ 92e: 00e37733 and a4,t1,a4
+ 932: 011818b3 sll a7,a6,a7
+ 936: 00e8e733 or a4,a7,a4
+ 93a: 05f79f63 bne a5,t6,998
+ 93e: c950 sw a2,20(a0)
+ 940: 0685 addi a3,a3,1
+ 942: fdc69ae3 bne a3,t3,916
+ 946: c118 sw a4,0(a0)
+ 948: 0ff00713 li a4,255
+ 94c: 04b77563 bgeu a4,a1,996
+ 950: 4154 lw a3,4(a0)
+ 952: 4621 li a2,8
+ 954: 4e85 li t4,1
+ 956: 4f3d li t5,15
+ 958: 02800f93 li t6,40
+ 95c: 04800293 li t0,72
+ 960: 4e41 li t3,16
+ 962: 00ce98b3 sll a7,t4,a2
+ 966: 0115f733 and a4,a1,a7
+ 96a: 02e89263 bne a7,a4,98e
+ 96e: 00261713 slli a4,a2,0x2
+ 972: 1701 addi a4,a4,-32
+ 974: 00ef1333 sll t1,t5,a4
+ 978: fff34313 not t1,t1
+ 97c: 00d376b3 and a3,t1,a3
+ 980: 00e81733 sll a4,a6,a4
+ 984: 8ed9 or a3,a3,a4
+ 986: 01f79d63 bne a5,t6,9a0
+ 98a: 01152a23 sw a7,20(a0)
+ 98e: 0605 addi a2,a2,1
+ 990: fdc619e3 bne a2,t3,962
+ 994: c154 sw a3,4(a0)
+ 996: 8082 ret
+ 998: fa5794e3 bne a5,t0,940
+ 99c: c910 sw a2,16(a0)
+ 99e: b74d j 940
+ 9a0: fe5797e3 bne a5,t0,98e
+ 9a4: 01152823 sw a7,16(a0)
+ 9a8: b7dd j 98e
-000009d4 :
- 9d4: c90c sw a1,16(a0)
- 9d6: 8082 ret
+000009aa :
+ 9aa: c90c sw a1,16(a0)
+ 9ac: 8082 ret
-000009d8 :
- 9d8: c219 beqz a2,9de
- 9da: c90c sw a1,16(a0)
- 9dc: 8082 ret
- 9de: c94c sw a1,20(a0)
- 9e0: 8082 ret
+000009ae :
+ 9ae: c219 beqz a2,9b4
+ 9b0: c90c sw a1,16(a0)
+ 9b2: 8082 ret
+ 9b4: c94c sw a1,20(a0)
+ 9b6: 8082 ret
-000009e2 :
- 9e2: c0000737 lui a4,0xc0000
- 9e6: 00e577b3 and a5,a0,a4
- 9ea: 08e79563 bne a5,a4,a74
- 9ee: 40010737 lui a4,0x40010
- 9f2: 435c lw a5,4(a4)
- 9f4: 01b55693 srli a3,a0,0x1b
- 9f8: 4f58 lw a4,28(a4)
- 9fa: 8a9d andi a3,a3,7
- 9fc: e69d bnez a3,a2a
- 9fe: 9bf9 andi a5,a5,-2
- a00: ff0006b7 lui a3,0xff000
- a04: 16fd addi a3,a3,-1
- a06: 8f75 and a4,a4,a3
- a08: c989 beqz a1,a1a
- a0a: 01051693 slli a3,a0,0x10
- a0e: 82c1 srli a3,a3,0x10
- a10: 8fd5 or a5,a5,a3
- a12: 01ff06b7 lui a3,0x1ff0
- a16: 8d75 and a0,a0,a3
- a18: 8f49 or a4,a4,a0
- a1a: 070006b7 lui a3,0x7000
- a1e: 8fd5 or a5,a5,a3
- a20: 400106b7 lui a3,0x40010
- a24: c2dc sw a5,4(a3)
- a26: ced8 sw a4,28(a3)
- a28: 8082 ret
- a2a: 4605 li a2,1
- a2c: 00c69663 bne a3,a2,a38
- a30: 9bf5 andi a5,a5,-3
- a32: ff8006b7 lui a3,0xff800
- a36: b7f9 j a04
- a38: 4609 li a2,2
- a3a: 00c69663 bne a3,a2,a46
- a3e: 9bed andi a5,a5,-5
- a40: ffe806b7 lui a3,0xffe80
- a44: b7c1 j a04
- a46: 460d li a2,3
- a48: 00c69663 bne a3,a2,a54
- a4c: 9bdd andi a5,a5,-9
- a4e: fffc06b7 lui a3,0xfffc0
- a52: bf4d j a04
- a54: 4611 li a2,4
- a56: 00c69763 bne a3,a2,a64
- a5a: f3f7f793 andi a5,a5,-193
- a5e: ffc006b7 lui a3,0xffc00
- a62: b74d j a04
- a64: 4615 li a2,5
- a66: fac691e3 bne a3,a2,a08
- a6a: cff7f793 andi a5,a5,-769
- a6e: ffe006b7 lui a3,0xffe00
- a72: bf49 j a04
- a74: 40000737 lui a4,0x40000
- a78: 02e79163 bne a5,a4,a9a
- a7c: 400107b7 lui a5,0x40010
- a80: 4fd8 lw a4,28(a5)
- a82: 0542 slli a0,a0,0x10
- a84: 00a767b3 or a5,a4,a0
- a88: e589 bnez a1,a92
- a8a: fff54513 not a0,a0
- a8e: 00e577b3 and a5,a0,a4
- a92: 40010737 lui a4,0x40010
- a96: cf5c sw a5,28(a4)
- a98: 8082 ret
- a9a: e3a9 bnez a5,adc
- a9c: 40010837 lui a6,0x40010
- aa0: 003007b7 lui a5,0x300
- aa4: 00482603 lw a2,4(a6) # 40010004 <_eusrstack+0x2000b004>
- aa8: 01051713 slli a4,a0,0x10
- aac: 00f576b3 and a3,a0,a5
- ab0: 8341 srli a4,a4,0x10
- ab2: 02f69663 bne a3,a5,ade
- ab6: f90006b7 lui a3,0xf9000
- aba: 16fd addi a3,a3,-1
- abc: 00d677b3 and a5,a2,a3
- ac0: 00482603 lw a2,4(a6)
- ac4: 8ef1 and a3,a3,a2
- ac6: 00d82223 sw a3,4(a6)
- aca: c591 beqz a1,ad6
- acc: 8155 srli a0,a0,0x15
- ace: 0512 slli a0,a0,0x4
- ad0: 00a71533 sll a0,a4,a0
- ad4: 8fc9 or a5,a5,a0
- ad6: 40010737 lui a4,0x40010
- ada: c35c sw a5,4(a4)
- adc: 8082 ret
- ade: 00b51793 slli a5,a0,0xb
- ae2: 0207d063 bgez a5,b02
- ae6: 01055793 srli a5,a0,0x10
- aea: 00f7f693 andi a3,a5,15
- aee: 478d li a5,3
- af0: 00d797b3 sll a5,a5,a3
- af4: fff7c793 not a5,a5
- af8: 8ff1 and a5,a5,a2
- afa: 070006b7 lui a3,0x7000
- afe: 8fd5 or a5,a5,a3
- b00: b7e9 j aca
- b02: 01555793 srli a5,a0,0x15
- b06: 0792 slli a5,a5,0x4
- b08: 00f717b3 sll a5,a4,a5
- b0c: b7e5 j af4
+000009b8 :
+ 9b8: c0000737 lui a4,0xc0000
+ 9bc: 00e577b3 and a5,a0,a4
+ 9c0: 08e79563 bne a5,a4,a4a
+ 9c4: 40010737 lui a4,0x40010
+ 9c8: 435c lw a5,4(a4)
+ 9ca: 01b55693 srli a3,a0,0x1b
+ 9ce: 4f58 lw a4,28(a4)
+ 9d0: 8a9d andi a3,a3,7
+ 9d2: e69d bnez a3,a00
+ 9d4: 9bf9 andi a5,a5,-2
+ 9d6: ff0006b7 lui a3,0xff000
+ 9da: 16fd addi a3,a3,-1
+ 9dc: 8f75 and a4,a4,a3
+ 9de: c989 beqz a1,9f0
+ 9e0: 01051693 slli a3,a0,0x10
+ 9e4: 82c1 srli a3,a3,0x10
+ 9e6: 8fd5 or a5,a5,a3
+ 9e8: 01ff06b7 lui a3,0x1ff0
+ 9ec: 8d75 and a0,a0,a3
+ 9ee: 8f49 or a4,a4,a0
+ 9f0: 070006b7 lui a3,0x7000
+ 9f4: 8fd5 or a5,a5,a3
+ 9f6: 400106b7 lui a3,0x40010
+ 9fa: c2dc sw a5,4(a3)
+ 9fc: ced8 sw a4,28(a3)
+ 9fe: 8082 ret
+ a00: 4605 li a2,1
+ a02: 00c69663 bne a3,a2,a0e
+ a06: 9bf5 andi a5,a5,-3
+ a08: ff8006b7 lui a3,0xff800
+ a0c: b7f9 j 9da
+ a0e: 4609 li a2,2
+ a10: 00c69663 bne a3,a2,a1c
+ a14: 9bed andi a5,a5,-5
+ a16: ffe806b7 lui a3,0xffe80
+ a1a: b7c1 j 9da
+ a1c: 460d li a2,3
+ a1e: 00c69663 bne a3,a2,a2a
+ a22: 9bdd andi a5,a5,-9
+ a24: fffc06b7 lui a3,0xfffc0
+ a28: bf4d j 9da
+ a2a: 4611 li a2,4
+ a2c: 00c69763 bne a3,a2,a3a
+ a30: f3f7f793 andi a5,a5,-193
+ a34: ffc006b7 lui a3,0xffc00
+ a38: b74d j 9da
+ a3a: 4615 li a2,5
+ a3c: fac691e3 bne a3,a2,9de
+ a40: cff7f793 andi a5,a5,-769
+ a44: ffe006b7 lui a3,0xffe00
+ a48: bf49 j 9da
+ a4a: 40000737 lui a4,0x40000
+ a4e: 02e79163 bne a5,a4,a70
+ a52: 400107b7 lui a5,0x40010
+ a56: 4fd8 lw a4,28(a5)
+ a58: 0542 slli a0,a0,0x10
+ a5a: 00a767b3 or a5,a4,a0
+ a5e: e589 bnez a1,a68
+ a60: fff54513 not a0,a0
+ a64: 00e577b3 and a5,a0,a4
+ a68: 40010737 lui a4,0x40010
+ a6c: cf5c sw a5,28(a4)
+ a6e: 8082 ret
+ a70: e3a9 bnez a5,ab2
+ a72: 40010837 lui a6,0x40010
+ a76: 003007b7 lui a5,0x300
+ a7a: 00482603 lw a2,4(a6) # 40010004 <_eusrstack+0x2000b004>
+ a7e: 01051713 slli a4,a0,0x10
+ a82: 00f576b3 and a3,a0,a5
+ a86: 8341 srli a4,a4,0x10
+ a88: 02f69663 bne a3,a5,ab4
+ a8c: f90006b7 lui a3,0xf9000
+ a90: 16fd addi a3,a3,-1
+ a92: 00d677b3 and a5,a2,a3
+ a96: 00482603 lw a2,4(a6)
+ a9a: 8ef1 and a3,a3,a2
+ a9c: 00d82223 sw a3,4(a6)
+ aa0: c591 beqz a1,aac
+ aa2: 8155 srli a0,a0,0x15
+ aa4: 0512 slli a0,a0,0x4
+ aa6: 00a71533 sll a0,a4,a0
+ aaa: 8fc9 or a5,a5,a0
+ aac: 40010737 lui a4,0x40010
+ ab0: c35c sw a5,4(a4)
+ ab2: 8082 ret
+ ab4: 00b51793 slli a5,a0,0xb
+ ab8: 0207d063 bgez a5,ad8
+ abc: 01055793 srli a5,a0,0x10
+ ac0: 00f7f693 andi a3,a5,15
+ ac4: 478d li a5,3
+ ac6: 00d797b3 sll a5,a5,a3
+ aca: fff7c793 not a5,a5
+ ace: 8ff1 and a5,a5,a2
+ ad0: 070006b7 lui a3,0x7000
+ ad4: 8fd5 or a5,a5,a3
+ ad6: b7e9 j aa0
+ ad8: 01555793 srli a5,a0,0x15
+ adc: 0792 slli a5,a5,0x4
+ ade: 00f717b3 sll a5,a4,a5
+ ae2: b7e5 j aca
-00000b0e :
- b0e: 0fc5f713 andi a4,a1,252
- b12: 0035f793 andi a5,a1,3
- b16: 400105b7 lui a1,0x40010
- b1a: 95ba add a1,a1,a4
- b1c: 4594 lw a3,8(a1)
- b1e: 078a slli a5,a5,0x2
- b20: 473d li a4,15
- b22: 00f71733 sll a4,a4,a5
- b26: fff74713 not a4,a4
- b2a: 8f75 and a4,a4,a3
- b2c: c598 sw a4,8(a1)
- b2e: 4598 lw a4,8(a1)
- b30: 00f51533 sll a0,a0,a5
- b34: 8d59 or a0,a0,a4
- b36: c588 sw a0,8(a1)
- b38: 8082 ret
+00000ae4 :
+ ae4: 0fc5f713 andi a4,a1,252
+ ae8: 0035f793 andi a5,a1,3
+ aec: 400105b7 lui a1,0x40010
+ af0: 95ba add a1,a1,a4
+ af2: 4594 lw a3,8(a1)
+ af4: 078a slli a5,a5,0x2
+ af6: 473d li a4,15
+ af8: 00f71733 sll a4,a4,a5
+ afc: fff74713 not a4,a4
+ b00: 8f75 and a4,a4,a3
+ b02: c598 sw a4,8(a1)
+ b04: 4598 lw a4,8(a1)
+ b06: 00f51533 sll a0,a0,a5
+ b0a: 8d59 or a0,a0,a4
+ b0c: c588 sw a0,8(a1)
+ b0e: 8082 ret
-00000b3a :
- b3a: e36ff2ef jal t0,170 <__riscv_save_0>
- b3e: 1ffff437 lui s0,0x1ffff
- b42: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fff9994>
- b46: 3e000637 lui a2,0x3e000
- b4a: 1141 addi sp,sp,-16
- b4c: 01971793 slli a5,a4,0x19
- b50: fff74693 not a3,a4
- b54: 8ff1 and a5,a5,a2
- b56: 0706 slli a4,a4,0x1
- b58: 003e0637 lui a2,0x3e0
- b5c: 8f71 and a4,a4,a2
- b5e: 8fd9 or a5,a5,a4
- b60: 01000637 lui a2,0x1000
- b64: 00969713 slli a4,a3,0x9
- b68: 8f71 and a4,a4,a2
- b6a: 8fd9 or a5,a5,a4
- b6c: 82bd srli a3,a3,0xf
- b6e: 6741 lui a4,0x10
- b70: 8ef9 and a3,a3,a4
- b72: 8fd5 or a5,a5,a3
- b74: c202 sw zero,4(sp)
- b76: c402 sw zero,8(sp)
- b78: c602 sw zero,12(sp)
- b7a: 82f1a423 sw a5,-2008(gp) # 20000160
- b7e: 72845703 lhu a4,1832(s0)
- b82: 4585 li a1,1
- b84: 82e19023 sh a4,-2016(gp) # 20000158 <_edata>
- b88: 72042703 lw a4,1824(s0)
- b8c: 03d00513 li a0,61
- b90: 82e1a623 sw a4,-2004(gp) # 20000164
- b94: 70442703 lw a4,1796(s0)
- b98: 82e1a223 sw a4,-2012(gp) # 2000015c
- b9c: 2c8d jal e0e
- b9e: 70442783 lw a5,1796(s0)
- ba2: 103a0737 lui a4,0x103a0
- ba6: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x1039a970>
- baa: f0f7f793 andi a5,a5,-241
- bae: 10e78063 beq a5,a4,cae
- bb2: 02f76163 bltu a4,a5,bd4
- bb6: 10320737 lui a4,0x10320
- bba: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x1031a970>
- bbe: 06e78063 beq a5,a4,c1e
- bc2: 10370737 lui a4,0x10370
- bc6: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x1036a970>
- bca: 08e78763 beq a5,a4,c58
- bce: 0141 addi sp,sp,16
- bd0: dc4ff06f j 194 <__riscv_restore_0>
- bd4: 103b0737 lui a4,0x103b0
- bd8: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103aa970>
- bdc: 0ae78b63 beq a5,a4,c92
- be0: 103d0737 lui a4,0x103d0
- be4: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103ca970>
- be8: fee793e3 bne a5,a4,bce
- bec: 4585 li a1,1
- bee: 6521 lui a0,0x8
- bf0: 3bcd jal 9e2
- bf2: 400114b7 lui s1,0x40011
- bf6: 77e1 lui a5,0xffff8
- bf8: 04800413 li s0,72
- bfc: 004c addi a1,sp,4
- bfe: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
- c02: 827c sh a5,4(sp)
- c04: c622 sw s0,12(sp)
- c06: 3339 jal 914
- c08: 6785 lui a5,0x1
- c0a: 33c78793 addi a5,a5,828 # 133c
- c0e: 004c addi a1,sp,4
- c10: c0048513 addi a0,s1,-1024
- c14: 827c sh a5,4(sp)
- c16: c622 sw s0,12(sp)
- c18: 39f5 jal 914
- c1a: 77f9 lui a5,0xffffe
- c1c: a00d j c3e
- c1e: 4585 li a1,1
- c20: 6521 lui a0,0x8
- c22: 33c1 jal 9e2
- c24: 400114b7 lui s1,0x40011
- c28: e0000793 li a5,-512
- c2c: 04800413 li s0,72
- c30: 004c addi a1,sp,4
- c32: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00>
- c36: 827c sh a5,4(sp)
- c38: c622 sw s0,12(sp)
- c3a: 39e9 jal 914
- c3c: 6789 lui a5,0x2
- c3e: 004c addi a1,sp,4
- c40: 40011537 lui a0,0x40011
- c44: 827c sh a5,4(sp)
- c46: c622 sw s0,12(sp)
- c48: 31f1 jal 914
- c4a: 478d li a5,3
- c4c: 827c sh a5,4(sp)
- c4e: c622 sw s0,12(sp)
- c50: 004c addi a1,sp,4
- c52: 40048513 addi a0,s1,1024
- c56: a825 j c8e
- c58: 400114b7 lui s1,0x40011
- c5c: 77e1 lui a5,0xffff8
- c5e: 70078793 addi a5,a5,1792 # ffff8700 <_eusrstack+0xdfff3700>
- c62: 04800413 li s0,72
- c66: 004c addi a1,sp,4
- c68: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
- c6c: 827c sh a5,4(sp)
- c6e: c622 sw s0,12(sp)
- c70: 3155 jal 914
- c72: e3d00793 li a5,-451
- c76: 004c addi a1,sp,4
- c78: c0048513 addi a0,s1,-1024
- c7c: 827c sh a5,4(sp)
- c7e: c622 sw s0,12(sp)
- c80: 3951 jal 914
- c82: 77f9 lui a5,0xffffe
- c84: 827c sh a5,4(sp)
- c86: c622 sw s0,12(sp)
- c88: 004c addi a1,sp,4
- c8a: 40011537 lui a0,0x40011
- c8e: 3159 jal 914
- c90: bf3d j bce
- c92: 400114b7 lui s1,0x40011
- c96: 77e1 lui a5,0xffff8
- c98: 04800413 li s0,72
- c9c: 004c addi a1,sp,4
- c9e: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
- ca2: 827c sh a5,4(sp)
- ca4: c622 sw s0,12(sp)
- ca6: 31bd jal 914
- ca8: 20400793 li a5,516
- cac: b78d j c0e
- cae: 400114b7 lui s1,0x40011
- cb2: 77e1 lui a5,0xffff8
- cb4: 04800413 li s0,72
- cb8: 004c addi a1,sp,4
- cba: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
- cbe: 827c sh a5,4(sp)
- cc0: c622 sw s0,12(sp)
- cc2: 3989 jal 914
- cc4: 6789 lui a5,0x2
- cc6: 17f5 addi a5,a5,-3
- cc8: b799 j c0e
+00000b10 :
+ b10: e60ff2ef jal t0,170 <__riscv_save_0>
+ b14: 1ffff437 lui s0,0x1ffff
+ b18: 72442703 lw a4,1828(s0) # 1ffff724 <_data_lma+0x1fffc690>
+ b1c: 3e000637 lui a2,0x3e000
+ b20: 1141 addi sp,sp,-16
+ b22: 01971793 slli a5,a4,0x19
+ b26: fff74693 not a3,a4
+ b2a: 8ff1 and a5,a5,a2
+ b2c: 0706 slli a4,a4,0x1
+ b2e: 003e0637 lui a2,0x3e0
+ b32: 8f71 and a4,a4,a2
+ b34: 8fd9 or a5,a5,a4
+ b36: 01000637 lui a2,0x1000
+ b3a: 00969713 slli a4,a3,0x9
+ b3e: 8f71 and a4,a4,a2
+ b40: 8fd9 or a5,a5,a4
+ b42: 82bd srli a3,a3,0xf
+ b44: 6741 lui a4,0x10
+ b46: 8ef9 and a3,a3,a4
+ b48: 8fd5 or a5,a5,a3
+ b4a: c202 sw zero,4(sp)
+ b4c: c402 sw zero,8(sp)
+ b4e: c602 sw zero,12(sp)
+ b50: 82f1a023 sw a5,-2016(gp) # 200000f8
+ b54: 72845703 lhu a4,1832(s0)
+ b58: 4585 li a1,1
+ b5a: 80e19c23 sh a4,-2024(gp) # 200000f0 <_edata>
+ b5e: 72042703 lw a4,1824(s0)
+ b62: 03d00513 li a0,61
+ b66: 82e1a223 sw a4,-2012(gp) # 200000fc
+ b6a: 70442703 lw a4,1796(s0)
+ b6e: 80e1ae23 sw a4,-2020(gp) # 200000f4
+ b72: 2c8d jal de4
+ b74: 70442783 lw a5,1796(s0)
+ b78: 103a0737 lui a4,0x103a0
+ b7c: 70070713 addi a4,a4,1792 # 103a0700 <_data_lma+0x1039d66c>
+ b80: f0f7f793 andi a5,a5,-241
+ b84: 10e78063 beq a5,a4,c84
+ b88: 02f76163 bltu a4,a5,baa
+ b8c: 10320737 lui a4,0x10320
+ b90: 70070713 addi a4,a4,1792 # 10320700 <_data_lma+0x1031d66c>
+ b94: 06e78063 beq a5,a4,bf4
+ b98: 10370737 lui a4,0x10370
+ b9c: 70070713 addi a4,a4,1792 # 10370700 <_data_lma+0x1036d66c>
+ ba0: 08e78763 beq a5,a4,c2e
+ ba4: 0141 addi sp,sp,16
+ ba6: deeff06f j 194 <__riscv_restore_0>
+ baa: 103b0737 lui a4,0x103b0
+ bae: 70070713 addi a4,a4,1792 # 103b0700 <_data_lma+0x103ad66c>
+ bb2: 0ae78b63 beq a5,a4,c68
+ bb6: 103d0737 lui a4,0x103d0
+ bba: 70070713 addi a4,a4,1792 # 103d0700 <_data_lma+0x103cd66c>
+ bbe: fee793e3 bne a5,a4,ba4
+ bc2: 4585 li a1,1
+ bc4: 6521 lui a0,0x8
+ bc6: 3bcd jal 9b8
+ bc8: 400114b7 lui s1,0x40011
+ bcc: 77e1 lui a5,0xffff8
+ bce: 04800413 li s0,72
+ bd2: 004c addi a1,sp,4
+ bd4: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
+ bd8: 827c sh a5,4(sp)
+ bda: c622 sw s0,12(sp)
+ bdc: 3339 jal 8ea
+ bde: 6785 lui a5,0x1
+ be0: 33c78793 addi a5,a5,828 # 133c
+ be4: 004c addi a1,sp,4
+ be6: c0048513 addi a0,s1,-1024
+ bea: 827c sh a5,4(sp)
+ bec: c622 sw s0,12(sp)
+ bee: 39f5 jal 8ea
+ bf0: 77f9 lui a5,0xffffe
+ bf2: a00d j c14
+ bf4: 4585 li a1,1
+ bf6: 6521 lui a0,0x8
+ bf8: 33c1 jal 9b8
+ bfa: 400114b7 lui s1,0x40011
+ bfe: e0000793 li a5,-512
+ c02: 04800413 li s0,72
+ c06: 004c addi a1,sp,4
+ c08: c0048513 addi a0,s1,-1024 # 40010c00 <_eusrstack+0x2000bc00>
+ c0c: 827c sh a5,4(sp)
+ c0e: c622 sw s0,12(sp)
+ c10: 39e9 jal 8ea
+ c12: 6789 lui a5,0x2
+ c14: 004c addi a1,sp,4
+ c16: 40011537 lui a0,0x40011
+ c1a: 827c sh a5,4(sp)
+ c1c: c622 sw s0,12(sp)
+ c1e: 31f1 jal 8ea
+ c20: 478d li a5,3
+ c22: 827c sh a5,4(sp)
+ c24: c622 sw s0,12(sp)
+ c26: 004c addi a1,sp,4
+ c28: 40048513 addi a0,s1,1024
+ c2c: a825 j c64
+ c2e: 400114b7 lui s1,0x40011
+ c32: 77e1 lui a5,0xffff8
+ c34: 70078793 addi a5,a5,1792 # ffff8700 <_eusrstack+0xdfff3700>
+ c38: 04800413 li s0,72
+ c3c: 004c addi a1,sp,4
+ c3e: 80048513 addi a0,s1,-2048 # 40010800 <_eusrstack+0x2000b800>
+ c42: 827c sh a5,4(sp)
+ c44: c622 sw s0,12(sp)
+ c46: 3155 jal 8ea
+ c48: e3d00793 li a5,-451
+ c4c: 004c addi a1,sp,4
+ c4e: c0048513 addi a0,s1,-1024
+ c52: 827c sh a5,4(sp)
+ c54: c622 sw s0,12(sp)
+ c56: 3951 jal 8ea
+ c58: 77f9 lui a5,0xffffe
+ c5a: 827c sh a5,4(sp)
+ c5c: c622 sw s0,12(sp)
+ c5e: 004c addi a1,sp,4
+ c60: 40011537 lui a0,0x40011
+ c64: 3159 jal 8ea
+ c66: bf3d j ba4