commit 29b0d84cf156a548cd754cb09f1506ed429c6fed Author: sunbeam Date: Mon Aug 21 16:48:00 2023 +0800 鍒濈増 diff --git a/ECU_APP/.gitignore b/ECU_APP/.gitignore new file mode 100644 index 0000000..ea3a533 --- /dev/null +++ b/ECU_APP/.gitignore @@ -0,0 +1 @@ +/DefaultBuild diff --git a/ECU_APP/.vscode/c_cpp_properties.json b/ECU_APP/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..3d5dd0e --- /dev/null +++ b/ECU_APP/.vscode/c_cpp_properties.json @@ -0,0 +1,22 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE", + "__near=" + ], + "windowsSdkVersion": "10.0.18362.0", + "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "windows-msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/ECU_APP/.vscode/settings.json b/ECU_APP/.vscode/settings.json new file mode 100644 index 0000000..1937148 --- /dev/null +++ b/ECU_APP/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "files.associations": { + "apptask.h": "c", + "adc.h": "c", + "r_cg_adc.h": "c", + "motorctrl.h": "c", + "r_cg_macrodriver.h": "c", + "extern.h": "c", + "r_cg_intc.h": "c", + "dcm_extern.h": "c", + "cannw.h": "c" + } +} \ No newline at end of file diff --git a/ECU_APP/CanNw/CanNw.c b/ECU_APP/CanNw/CanNw.c new file mode 100644 index 0000000..65388a7 --- /dev/null +++ b/ECU_APP/CanNw/CanNw.c @@ -0,0 +1,716 @@ + + +#include "CanNw.h" + + + + +CAN_NW_STATE euNwState; + +unsigned char ucNwSendPduType; //网络管理控制发送选择 0:关闭发送 1:发送APP报文 2:发送网络管理APP报文 +unsigned int uiNwTimCnt; +unsigned int uiNwToutCnt; +unsigned int uiNwRMSCnt; +unsigned int uiNwBsSlpCnt; +unsigned int uiSetNwPduCycVal; +unsigned int uiNwPduCycCnt; +unsigned int uiNwLocWkpOffCnt; + +unsigned char ucActiveWakeupBit; +unsigned char ucRemoteWakupFlg; +unsigned char ucNwPowerUpFlg; +unsigned char ucNwNetIdelCheck; +unsigned char ucNwNetIdelFlg; +unsigned char ucPreLocWkpStu; + +unsigned char ucNetActiveFlg; + +unsigned char ImmediateNM_count; +unsigned int DiagCnt; +unsigned char RepeatMessageReq; + +unsigned char DiagMsgRcvFlag; +unsigned char RSSDiagReq; + +unsigned char CanNwWakeupSourceCheck(unsigned char LocalSource,unsigned char *RemoteSource); + +unsigned char CanNwNetIdelCheck(unsigned char *IdelFlg); + +void CanNwInit(void) +{ + + euNwState = CAN_NW_RESERVED; + uiNwTimCnt = 0u; + uiNwToutCnt = 0u; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; + uiNwBsSlpCnt = 0u; + uiSetNwPduCycVal = REPEAT_NW_CYCLE_TIMER_THR; + ucActiveWakeupBit = PASSIVE_WAKEUP; + ucRemoteWakupFlg = 0u; + ucNwPowerUpFlg = 0u; + ucNwSendPduType = SEND_DISABLE; + uiNwPduCycCnt = 0; + ucNwNetIdelCheck = 0; + ucNwNetIdelFlg = 0; + ucPreLocWkpStu = PASSIVE_WAKEUP; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + ucNetActiveFlg = 0;//网络管理使能 + + Can_Nw_Init(); +} + +/* + 函数名:void CanNwHandle(void) + 调度周期时间:10ms + 相关说明:网络管理程序,包含唤醒检测,网络管理状态机切换,网络空闲检测 +*/ + + + +void CanNwHandle(void) +{ + static unsigned char FlgTemp = 0,FlgTemp1 = 0; + + //if((euNwState == CAN_NW_RESERVED)||(euNwState == CAN_NW_GOTO_SLEEP)) + if(euNwState == CAN_NW_RESERVED) + { + if((ucRemoteWakupFlg == 1)||(I_IGN_SIGN == IGN_ON)) + { + FlgTemp1 = 0; + if(FlgTemp == 0) + { + FlgTemp = 1; + C0CTRH &= ~0x0300; // 设置正常模式 + } + } + else + { + FlgTemp = 0; + if(FlgTemp1 == 0) + { + C0CTRH |= 0x0300; // 设置监听模式 + FlgTemp1 = 1; + } + } + } + if(DiagMsgRcvFlag == 1) + { + DiagCnt = 5000; + DiagMsgRcvFlag = 0; + if(euNwState==CAN_NW_READY_SLEEP)RSSDiagReq=1; + } + ucActiveWakeupBit = CanNwWakeupSourceCheck(ucIgnStus,&ucRemoteWakupFlg); + ucNwNetIdelFlg = CanNwNetIdelCheck(&ucNwNetIdelCheck); + //CAN_2F6.Msg_Bit.NWM_STATE = euNwState; + switch(euNwState) + { + case CAN_NW_RESERVED: + { + if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + euNwState = CAN_NW_RMS_SLEEP; //睡眠模式到重复消息模式 + //设置100ms周期发送NW_PDU + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiNwPduCycCnt = 0; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) //本地唤醒进入立即发送网络管理报文模式 + { + ImmediateNM_count = 0; + uiSetNwPduCycVal = IMMEDIATENM_CYCLE_TIMER_THR; + } + else + { + ImmediateNM_count = 5; + uiSetNwPduCycVal = REPEAT_NW_CYCLE_TIMER_THR; + } + } + else + { + euNwState = CAN_NW_RESERVED; + if(ucNwNetIdelFlg == 1) + { + if(uiNwTimCnt > 5000) //5sec goto sleep + { + ucNwSendPduType = SEND_DISABLE; + SleepDetect(); + } + } + + } + } + break; + case CAN_NW_RMS_SLEEP: + { + if(ImmediateNM_count >= 4 )uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucNetActiveFlg == NW_NET_ACTIVE)) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + } + else + { + //if(uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR) //唤醒信号超时1S后 + //if(uiNwLocWkpOffCnt == NM_TIMEOUT) + if(uiNwRMSCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_RMS_PREPARE_SLEEP: + { + if(ImmediateNM_count >= 4 )uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + } + else + { + //if(uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR) //唤醒信号超时1S后 + /* + if(uiNwLocWkpOffCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt;; + ucNwSendPduType = SEND_APP_PDU; + } + */ + //SW030BT03 + if(uiNwRMSCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_RMS_NORMAL_OPERATION: + { + if(ImmediateNM_count >= 4 )uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + + } + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + } + else + { + //if(uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR) //唤醒信号超时1S后 + /* + if(uiNwLocWkpOffCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt;; + ucNwSendPduType = SEND_APP_PDU; + } + */ + //SW030BT03 + if(uiNwRMSCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_RMS_READY_SLEEP: + { + if(ImmediateNM_count >= 4 )uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + if(uiNwRMSCnt == NM_TIMEOUT) //1S超时进入正常模式 + { + euNwState = CAN_NW_NOS_REPEAT_MESSAGE; //重复状态模式进入正常模式 + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; //网络管理定时器重置为“0” + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; //设置200ms周期发送NW_PDU + ucNwSendPduType = SEND_NWAPP_PDU; + } + } + } + else + { + //if(uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR) //唤醒信号超时1S后 + /* + if(uiNwLocWkpOffCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 0; + ucNwSendPduType = SEND_APP_PDU; + } + */ + //SW030BT03 + if(uiNwRMSCnt == NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; //重复状态进入准备睡眠模式 + uiNwTimCnt = 500-uiNwPduCycCnt; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_NOS_REPEAT_MESSAGE: + { + //if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)) + if(RepeatMessageReq == 1) + { + RepeatMessageReq = 0; + euNwState = CAN_NW_RMS_NORMAL_OPERATION; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ImmediateNM_count = 5; + uiNwPduCycCnt = 0; + } + if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucNetActiveFlg == NW_NET_ACTIVE)) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + ucNwSendPduType = SEND_NWAPP_PDU; + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + ucNwSendPduType = SEND_NWAPP_PDU; + + } + } + else + { + //if((uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR)||(uiNwRMSCnt == NM_TIMEOUT)) + //if((uiNwLocWkpOffCnt == NM_TIMEOUT)&&(uiNwRMSCnt == NM_TIMEOUT)&&(DiagCnt==NM_TIMEOUT)) + if(DiagCnt==NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; + uiNwTimCnt = 500-uiNwPduCycCnt;; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_NOS_READY_SLEEP: + { + if(RepeatMessageReq == 1) + { + RepeatMessageReq = 0; + euNwState = CAN_NW_RMS_NORMAL_OPERATION; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ImmediateNM_count = 5; + uiNwPduCycCnt = 0; + } + + //if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)) + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + ucNwSendPduType = SEND_NWAPP_PDU; + } + else /*if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)*/ + { + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + ucNwSendPduType = SEND_NWAPP_PDU; + + } + } + else + { + //if((uiNwTimCnt > REPEAT_MESSAGE_TIMER_THR)||(uiNwRMSCnt == NM_TIMEOUT)) + //if((uiNwLocWkpOffCnt == NM_TIMEOUT)&&(uiNwRMSCnt == NM_TIMEOUT)&&(DiagCnt==NM_TIMEOUT)) + if(DiagCnt==NM_TIMEOUT) + { + euNwState = CAN_NW_READY_SLEEP; + uiNwTimCnt = 500-uiNwPduCycCnt;; + ucNwSendPduType = SEND_APP_PDU; + } + } + } + break; + + case CAN_NW_READY_SLEEP: + { + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + euNwState = CAN_NW_NOS_READY_SLEEP; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ucNwSendPduType = SEND_NWAPP_PDU; + } + else if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP) + { + /*Wait In CAN_NW_NOS_READY_SLEEP */ + ucNwSendPduType = SEND_APP_PDU; + if(RepeatMessageReq == 1) + { + RepeatMessageReq = 0; + euNwState = CAN_NW_RMS_READY_SLEEP; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ImmediateNM_count = 5; + uiNwPduCycCnt = 0; + } + } + else + { + if(RSSDiagReq == 1) + { + RSSDiagReq = 0; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + euNwState = CAN_NW_NOS_READY_SLEEP; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiNwTimCnt = 0; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ucNwSendPduType = SEND_NWAPP_PDU; + } + if(uiNwTimCnt > NM_TIMEOUT_TIMER_THR) + { + euNwState = CAN_NW_GOTO_SLEEP; + uiNwTimCnt = 0; + ucNwSendPduType = SEND_DISABLE; + } + if(RepeatMessageReq == 1) + { + RepeatMessageReq = 0; + euNwState = CAN_NW_RMS_READY_SLEEP; + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiSetNwPduCycVal = NM_NORMAL_CYCLE_TIMER_THR; + ImmediateNM_count = 5; + uiNwPduCycCnt = 0; + } + } + } + break; + + case CAN_NW_GOTO_SLEEP: + { + + if((ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP)||(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP)) + { + uiNwLocWkpOffCnt = NM_TIMEOUT_TIMER_THR; + euNwState = CAN_NW_RMS_PREPARE_SLEEP; + uiNwRMSCnt = REPEAT_MESSAGE_TIMER_THR; //设置1S超时后进入正常模式定时器 + uiSetNwPduCycVal = REPEAT_NW_CYCLE_TIMER_THR; //设置100ms周期发送NW_PDU + uiNwTimCnt = 0; + ucNwSendPduType = SEND_NWAPP_PDU; + uiNwPduCycCnt = 0; + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) //本地唤醒进入立即发送网络管理报文模式 + { + ImmediateNM_count = 0; + uiSetNwPduCycVal = IMMEDIATENM_CYCLE_TIMER_THR; + } + else + { + ImmediateNM_count = 5; + uiSetNwPduCycVal = REPEAT_NW_CYCLE_TIMER_THR; + } + } + else + { + if(uiNwTimCnt > WAIT_BUS_SLEEP_TIMER_THR) + { + + //满足进入睡眠条件后 执行睡眠程序,注意唤醒后状态机必须切换到 "euNwState = CAN_NW_RESERVED" + if(ucNwNetIdelFlg == 1) + { + uiNwTimCnt = 0; + ucNwSendPduType = SEND_DISABLE; + + FlgTemp = 0; + FlgTemp1 = 0; + C0CTRH |= 0x0300; // 设置监听模式 + + SleepDetect(); + } + else + { + //waiting can bus idel + uiNwTimCnt = WAIT_BUS_SLEEP_TIMER_THR; + ucNwSendPduType = SEND_DISABLE; + } + + } + } + } + break; + + default: + { + euNwState = CAN_NW_GOTO_SLEEP; + uiNwTimCnt = 0; + } + break; + } + + TxCanNwMsg_6B7.Msg_Part.RCP3_Address=0x36; + /* + if(euNwState == CAN_NW_RMS_SLEEP || euNwState == CAN_NW_RMS_PREPARE_SLEEP) + TxCanNwMsg_6B7.Msg_Part.RCP3_RMR=1; + else + TxCanNwMsg_6B7.Msg_Part.RCP3_RMR=0; + */ //20190707一直是0 + TxCanNwMsg_6B7.Msg_Part.RCP3_RMR=0; + + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + TxCanNwMsg_6B7.Msg_Part.RCP3_AWB = 1; + } + else + { + TxCanNwMsg_6B7.Msg_Part.RCP3_AWB = 0; + } + + + + if((euNwState == CAN_NW_NOS_REPEAT_MESSAGE)||(euNwState == CAN_NW_NOS_READY_SLEEP)) + { + TxCanNwMsg_6B7.Msg_Part.RCP3_NMSts = 1; + } + else + { + TxCanNwMsg_6B7.Msg_Part.RCP3_NMSts = 0; + } + + if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_2=0; + } + else + { + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_2=0; + } + + if(ucActiveWakeupBit == REMOTE_ACTIVE_WAKEUP) + { + TxCanNwMsg_6B7.Msg_Part.RCP3_Wakeup_reasons=2; + } + else if(ucActiveWakeupBit == LOCAL_ACTIVE_WAKEUP) + { + TxCanNwMsg_6B7.Msg_Part.RCP3_Wakeup_reasons=1; + } + else + { + TxCanNwMsg_6B7.Msg_Part.RCP3_Wakeup_reasons=0; + } + + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_1=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_4=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_5=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_6=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_7=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_8=0; + + Copy_Array_to_Array(TxCanNwPdu_436.DB,TxCanNwMsg_6B7.Msg_Byte,8); + + +} + + + +unsigned char CanNwWakeupSourceCheck(unsigned char LocalSource,unsigned char *RemoteSource) +{ + static unsigned char ucRemWkpTemp = 0u; + unsigned char ucRtnTemp; + ucRtnTemp = PASSIVE_WAKEUP; + if(ucNwPowerUpFlg == 0u) //上电初始化后进入循环后网络管理定时器清"0" + { + ucNwPowerUpFlg = 1u; + uiNwTimCnt = 0u; + ucRemWkpTemp = 0; + } + else + { + if(uiNwTimCnt > (NM_NORMAL_CYCLE_TIMER_THR+REPEAT_NW_CYCLE_TIMER_THR)||(*RemoteSource == 1)) //300ms检测一次远程标志位 + { + if(*RemoteSource == 1) + { + *RemoteSource = 0; + uiNwTimCnt = 0; + ucRemWkpTemp = 1; + } + else + { + ucRemWkpTemp = 0; + } + } + } + if(LocalSource == IGN_ON) + { + ucPreLocWkpStu = LOCAL_ACTIVE_WAKEUP; + ucRtnTemp = LOCAL_ACTIVE_WAKEUP; + } + else if(ucRemWkpTemp == 1) + { + if(ucPreLocWkpStu == LOCAL_ACTIVE_WAKEUP) + { + ucRtnTemp = PASSIVE_WAKEUP; + } + else + { + ucRtnTemp = REMOTE_ACTIVE_WAKEUP; + } + } + else + { + ucPreLocWkpStu = PASSIVE_WAKEUP; + ucRtnTemp = PASSIVE_WAKEUP; + } + return ucRtnTemp; +} + + + + +unsigned char CanNwNetIdelCheck(unsigned char *IdelFlg) +{ + static unsigned int suiIdelTimCnt = 0; + static unsigned char sucIdelCheckCnt = 0; + + if(++suiIdelTimCnt > 30) + { + if(*IdelFlg == 0) + { + if(++sucIdelCheckCnt > 3) + { + sucIdelCheckCnt = 3; + return 1; + } + else + { + suiIdelTimCnt = 0; + } + } + else + { + *IdelFlg = 0; + suiIdelTimCnt = 0; + sucIdelCheckCnt = 0; + } + + if(suiIdelTimCnt > 40) + { + suiIdelTimCnt = 40; + } + } + + return 0; +} + + + + + + + + + + + diff --git a/ECU_APP/CanNw/CanNw.h b/ECU_APP/CanNw/CanNw.h new file mode 100644 index 0000000..91f2a81 --- /dev/null +++ b/ECU_APP/CanNw/CanNw.h @@ -0,0 +1,94 @@ +#ifndef __CANNW_H +#define __CANNW_H + +#include "CanNwConfig.h" +#include "appTask.h" +/***************************************************************/ +/* + 奇瑞新能源 网络管理模块 + + 描述:参考Autosar网络管理 + 日期:2018\06\20 + +*/ +/***************************************************************/ + +/* + 网络管理状态机切换 +缩略语: + RMS = Repeat Message State 重复消息状态 + NOS = Normal Operation State 正常运行状态 +*/ +typedef enum +{ + CAN_NW_RESERVED, //0 缺省 + CAN_NW_RMS_SLEEP, //1 睡眠模式到重复消息模式 + CAN_NW_RMS_PREPARE_SLEEP, //2 准备进入睡眠模式到重复消息模式 + CAN_NW_RMS_NORMAL_OPERATION, //3 正常操作模式到重复消息模式 + CAN_NW_RMS_READY_SLEEP, //4 准备睡眠模式到重复消息模式 + CAN_NW_NOS_REPEAT_MESSAGE, //5 重复消息模式到正常操作状态 + CAN_NW_NOS_READY_SLEEP, //6 准备睡眠模式到正常操作状态 + CAN_NW_GOTO_SLEEP, //7 网络超时2.5S后进入睡眠模式 + CAN_NW_READY_SLEEP +}CAN_NW_STATE; + +/* + 网络超时设置 + 时间单位:10MS +*/ +#define NM_TIMEOUT_TIMER_THR 2000U +#define REPEAT_MESSAGE_TIMER_THR 1600U +#define WAIT_BUS_SLEEP_TIMER_THR 2000U +#define REPEAT_NW_CYCLE_TIMER_THR 500U +#define NM_NORMAL_CYCLE_TIMER_THR 500U +#define IMMEDIATENM_CYCLE_TIMER_THR 20U +#define NM_TIMEOUT 0U +#define T_NM_ImmediateCycleTime 20U + + + +#define PASSIVE_WAKEUP 0U +#define LOCAL_ACTIVE_WAKEUP 1U +#define REMOTE_ACTIVE_WAKEUP 2U + + +#define SEND_DISABLE 0 +#define SEND_APP_PDU 1 +#define SEND_NWAPP_PDU 2 + +extern unsigned char ucNwSendPduType; + +extern CAN_NW_STATE euNwState; + +extern unsigned int uiNwTimCnt; +extern unsigned int uiNwToutCnt; +extern unsigned int uiNwRMSCnt; +extern unsigned int uiNwBsSlpCnt; +extern unsigned int uiSetNwPduCycVal; +extern unsigned int uiNwPduCycCnt; +extern unsigned char ucActiveWakeupBit; +extern unsigned char ucNwPowerUpFlg; +extern unsigned char ucRemoteWakupFlg; +extern unsigned char ucNwNetIdelCheck; +extern unsigned char ucNwNetIdelFlg; +extern unsigned char ucPreLocWkpStu; +extern unsigned int uiNwLocWkpOffCnt; +extern unsigned char ImmediateNM_count; +extern unsigned char RepeatMessageReq; +extern unsigned char DiagMsgRcvFlag; +extern unsigned int DiagCnt; + + + +#define NW_NET_INACTIVE 0 +#define NW_NET_ACTIVE 1 + +extern unsigned char ucNetActiveFlg; //0 自清洁功能关闭;1自清洁功能开启 + +void CanNwInit(void); +void CanNwHandle(void); + + + + +#endif diff --git a/ECU_APP/CanNw/CanNwConfig.c b/ECU_APP/CanNw/CanNwConfig.c new file mode 100644 index 0000000..bc341ea --- /dev/null +++ b/ECU_APP/CanNw/CanNwConfig.c @@ -0,0 +1,78 @@ + + + + +#include "CanNw.h" + + + + +unsigned char ucPduNumber; +can_frame_t TxCanNwPdu_436; +Can_NwMsg_Type TxCanNwMsg_6B7; +Can_NwMsg_Type RxCanNwMsg_688; +Can_NwMsg_Type RxCanNwMsg_6B1; +Can_NwMsg_Type RxCanNwMsg_6B2; +Can_NwMsg_Type RxCanNwMsg_6B3; + + +void Can_Nw_TXMsg_Init(void); +void Can_Nw_RXMsg_Init(void); + + + +void Can_Nw_TXMsg_Init(void) +{ + + Can_init_id(&TxCanNwPdu_436,0x436); + + TxCanNwMsg_6B7.Msg_Part.RCP3_Address=0x36; + TxCanNwMsg_6B7.Msg_Part.RCP3_RMR=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_AWB=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_NMSts=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Wakeup_reasons=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_1=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_2=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_2=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_4=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_5=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_6=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_7=0; + TxCanNwMsg_6B7.Msg_Part.RCP3_Stayawake_reasons_8=0; + + Copy_Array_to_Array(TxCanNwPdu_436.DB,TxCanNwMsg_6B7.Msg_Byte,8); + +} + + +void Can_Nw_RXMsg_Init(void) +{ + + RxCanNwMsg_688.Msg_Part.RCP3_Address=0x00; + RxCanNwMsg_688.Msg_Part.RCP3_RMR=0; + RxCanNwMsg_688.Msg_Part.RCP3_AWB=0; + RxCanNwMsg_688.Msg_Part.RCP3_NMSts=0; + RxCanNwMsg_688.Msg_Part.RCP3_Wakeup_reasons=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_1=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_2=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_2=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_4=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_5=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_6=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_7=0; + RxCanNwMsg_688.Msg_Part.RCP3_Stayawake_reasons_8=0; + + +} + + +void Can_Nw_Init(void) +{ + ucPduNumber = CAN_ALLPDU_NUMBER; + Can_Nw_TXMsg_Init(); + Can_Nw_RXMsg_Init(); +} + + + + diff --git a/ECU_APP/CanNw/CanNwConfig.h b/ECU_APP/CanNw/CanNwConfig.h new file mode 100644 index 0000000..ca31a63 --- /dev/null +++ b/ECU_APP/CanNw/CanNwConfig.h @@ -0,0 +1,57 @@ +#ifndef __CANNWCONFIG_H +#define __CANNWCONFIG_H + +#include "r_rl78_can_drv.h" + + + + +#define CAN_NWPDU_NUMBER 4U +#define CAN_ALLPDU_NUMBER 12U + +extern unsigned char ucPduNumber; + + +typedef union{ + unsigned int Msg_Word[4]; + unsigned char Msg_Byte[8]; + struct{ + unsigned char RCP3_Address:8; + unsigned char RCP3_RMR:1; + unsigned char :3; + unsigned char RCP3_AWB:1; + unsigned char :3; + unsigned char RCP3_Wakeup_reasons:8; + unsigned char RCP3_NMSts :1; + //unsigned char ACP_GatewayRequest :1; + unsigned char :7; + unsigned char RCP3_Stayawake_reasons_1 :1;//32-Reserved + unsigned char RCP3_Stayawake_reasons_2 :1;//33-KL15 + unsigned char RCP3_Stayawake_reasons_3 :1;//34-Reserved + unsigned char RCP3_Stayawake_reasons_4 :1;//35-Reserved + unsigned char RCP3_Stayawake_reasons_5 :1;//36-Reserved + unsigned char RCP3_Stayawake_reasons_6 :1;//37-Reserved + unsigned char RCP3_Stayawake_reasons_7 :1;//38-Diagnosis service is in progres + unsigned char RCP3_Stayawake_reasons_8 :1;//39-Reserved + + unsigned char :8; + unsigned char :8; + unsigned char :8; + }Msg_Part; +}Can_NwMsg_Type; + + + + +extern can_frame_t TxCanNwPdu_436; +extern Can_NwMsg_Type TxCanNwMsg_6B7; +extern Can_NwMsg_Type RxCanNwMsg_688; +extern Can_NwMsg_Type RxCanNwMsg_6B1; +extern Can_NwMsg_Type RxCanNwMsg_6B2; +extern Can_NwMsg_Type RxCanNwMsg_6B3; + + +extern void Can_Nw_Init(void); + + +#endif diff --git a/ECU_APP/DataFlash/V1.05/incrl78/pfdl.h b/ECU_APP/DataFlash/V1.05/incrl78/pfdl.h new file mode 100644 index 0000000..a829bb9 --- /dev/null +++ b/ECU_APP/DataFlash/V1.05/incrl78/pfdl.h @@ -0,0 +1,126 @@ +/******************************************************************************* +* Library : Flash Data Library T04 (PicoFDL) +* +* File Name : $Source: pfdl.h $ +* Lib. Version : $RL78_FDL_LIB_VERSION_T04_CCRL: V1.05 $ +* Mod. Revision : $Revision: 1.3 $ +* Mod. Date : $Date: 2014/12/12 00:50:07JST $ +* Device(s) : RL78 +* Description : C language API definition of the Flash Data Library +******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ + + +#ifndef __PFDL_H_INCLUDED +#define __PFDL_H_INCLUDED + + +/*================================================================================================*/ +/* include files list */ +/*================================================================================================*/ +#include "pfdl_types.h" + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Unconditional activation of the Data Flash Library. */ +/* Based on the descriptor data: */ +/* - the flash firmware will be initialized for data-flash access only */ +/* - the internal timing and low-voltage capability will be configured according to the descriptor */ +/* After successful initialization the data flash clock is ON and the PFDL is ready to use. */ +/* */ +/* CAUTION: */ +/* Due to the code size minimization no plausibility checks are done by the PicoFDL. */ +/* Neither configuration, frequency range nor data flash size will be checked by the library. */ +/* */ +/* Input: address of the PFDL descriptor variable (RAM only) */ +/* Output: - */ +/* Return: PFDL status */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Open(__near pfdl_descriptor_t* descriptor_pstr); + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Disable data flash access unconditionally. */ +/* If any command is just executed, PFDL_Close will stop it immediately. */ +/* After return the data flash clock is switched OFF. */ +/* Input: - */ +/* Output: - */ +/* Return: - */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern void __far PFDL_Close(void); + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Initiating execution of the PFDL request related to the data flash. */ +/* The corresponding request variable has to be parametrized before. */ +/* */ +/* request_pstr->index_u16 : byte-index or block-number within PFDL-pool */ +/* request_pstr->data_pu08 : start address of the RAM data that should be read/written */ +/* request_pstr->bytecount_u16 : number of bytes has to be read/written */ +/* request_pstr->command_enu : command code */ +/* */ +/* CAUTION: */ +/* Due to the code size minimization no plausibility checks are done by the PFDL. */ +/* */ +/* Input: &request_pstr - pointer to PFDL request variable */ +/* Output: - */ +/* Return: status of the request */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Execute(__near pfdl_request_t* request_pstr); + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Continuation of command execution and status update of requests being under execution. */ +/* Input: - */ +/* Output: - */ +/* Return: PFDL status = */ +/* PFDL_IDLE - no request is processed by PFDL, PFDL is ready to receive new requests */ +/* PFDL_OK - processed request/command finished without problems */ +/* PFDL_BUSY - request/command is still being processed */ +/* other - flash or firmware related errors */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Handler(void); + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Returns the start address of the library version string */ +/* */ +/* Input: - */ +/* Output: - */ +/* Return: starting address of the zero-terminated version string */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern __far pfdl_u08* __far PFDL_GetVersionString(void); + + +#endif diff --git a/ECU_APP/DataFlash/V1.05/incrl78/pfdl.inc b/ECU_APP/DataFlash/V1.05/incrl78/pfdl.inc new file mode 100644 index 0000000..c2cdac8 --- /dev/null +++ b/ECU_APP/DataFlash/V1.05/incrl78/pfdl.inc @@ -0,0 +1,209 @@ +;******************************************************************************* +; Library : Flash Data Library T04 (PicoFDL) +; +; File Name : $Source: pfdl.inc $ +; Lib. Version : $RL78_FDL_LIB_VERSION_T04_CCRL: V1.05 $ +; Mod. Revision : $Revision: 1.9 $ +; Mod. Date : $Date: 2014/12/12 00:50:08JST $ +; Device(s) : RL78 +; Description : Assembler language API definition of the Flash Data Library +;****************************************************************************** +; DISCLAIMER +; This software is supplied by Renesas Electronics Corporation and is only +; intended for use with Renesas products. No other uses are authorized. This +; software is owned by Renesas Electronics Corporation and is protected under +; all applicable laws, including copyright laws. +; THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +; THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +; LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +; AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +; TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +; ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +; FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +; ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +; BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +; Renesas reserves the right, without notice, to make changes to this software +; and to discontinue the availability of this software. By using this software, +; you agree to the additional terms and conditions found by accessing the +; following link: +; http://www.renesas.com/disclaimer +; +; Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved. +;******************************************************************************* + + +$IFDEF __PFDL_INC_INCLUDED +$ELSE + __PFDL_INC_INCLUDED .SET 1 + + + +;******************************************************************************* +; BEGIN OF CUSTOMIZABLE DECLARATION AREA +;******************************************************************************* + +; Base number prefix/suffix mode selection for Assembler +; Numbers definition within the prefix mode: 0x05 +; Numbers definition within the suffix mode: 05H +; +; Suffix mode will be activated in case the symbol __PFDL_INC_BASE_NUMBER_SUFFIX +; is defined. The definition of this symbol can be done by +; - un-commenting the line below or +; - using the assembler command line option -D__PFDL_INC_BASE_NUMBER_SUFFIX or +; - by setting the define within the IDE + +;__PFDL_INC_BASE_NUMBER_SUFFIX .SET 1 + +;******************************************************************************* +; END OF CUSTOMIZABLE DECLARATION AREA +;******************************************************************************* + + +;******************************************************************************* +; BEGIN OF UNTOUCHABLE DECLARATION AREA +;******************************************************************************* + +;============================================================================================== +; constant definitions +;============================================================================================== + +; PFDL command code definitions +; ----------------------------------------------------- + +$IFNDEF __PFDL_INC_BASE_NUMBER_SUFFIX + +PFDL_CMD_READ_BYTES .EQU 0x00 +PFDL_CMD_IVERIFY_BYTES .EQU 0x06 +PFDL_CMD_BLANKCHECK_BYTES .EQU 0x08 +PFDL_CMD_WRITE_BYTES .EQU 0x04 +PFDL_CMD_ERASE_BLOCK .EQU 0x03 + + +; status code definitions returned by the PFDL functions + +; operation related status code +PFDL_OK .EQU 0x000 +PFDL_IDLE .EQU 0x030 +PFDL_BUSY .EQU 0x0FF +; flash access related status code +PFDL_ERR_PROTECTION .EQU 0x010 +PFDL_ERR_ERASE .EQU 0x01A +PFDL_ERR_MARGIN .EQU 0x01B +PFDL_ERR_WRITE .EQU 0x01C +PFDL_ERR_PARAMETER .EQU 0x005 + +$ELSE + +PFDL_CMD_READ_BYTES .EQU 00H +PFDL_CMD_IVERIFY_BYTES .EQU 06H +PFDL_CMD_BLANKCHECK_BYTES .EQU 08H +PFDL_CMD_WRITE_BYTES .EQU 04H +PFDL_CMD_ERASE_BLOCK .EQU 03H + + +; status code definitions returned by the PFDL functions + +; operation related status code +PFDL_OK .EQU 000H +PFDL_IDLE .EQU 030H +PFDL_BUSY .EQU 0FFH +; flash access related status code +PFDL_ERR_PROTECTION .EQU 010H +PFDL_ERR_ERASE .EQU 01AH +PFDL_ERR_MARGIN .EQU 01BH +PFDL_ERR_WRITE .EQU 01CH +PFDL_ERR_PARAMETER .EQU 005H + +$ENDIF + + + + +; --------------------------------------------------------------------------------------------------------------- +; Block type: standard function +; --------------------------------------------------------------------------------------------------------------- +; Purpose: Unconditional activation of the Data Flash Library. +; Based on the descriptor data: +; - the flash firmware will be initialized for data-flash access only +; - the internal timing and low-voltage capability will be configured according to the descriptor +; After successful initialization the flash clock is ON and the PFDL is ready to use. +; +; CAUTION: +; Due to the code size minimization no plausibility checks are done by the PicoFDL. +; Neither configuration, frequency range nor data flash size will be checked by the library. +; +; Input: AX = address of the PFDL descriptor variable +; Output: - +; Destroyed: X, HL, C +; Return: A = PFDL status +; --------------------------------------------------------------------------------------------------------------- +.EXTERN PFDL_Open + + +; --------------------------------------------------------------------------------------------------------------- +; Block type: standard function +; --------------------------------------------------------------------------------------------------------------- +; Purpose: Disable data flash access unconditionally. +; If any command is just executed, PFDL_Close will stop it immediately. +; After return the flash clock is switched OFF. +; Input: - +; Output: - +; Destroyed: C +; Return: - +; --------------------------------------------------------------------------------------------------------------- +.EXTERN PFDL_Close + + +; --------------------------------------------------------------------------------------------------------------- +; Block type: standard function +; --------------------------------------------------------------------------------------------------------------- +; Purpose: Initiating execution of the PFDL request related to the data flash. +; The corresponding request variable has to be parametrized before. +; +; request_pstr->index_u16 : byte-index or block-number within PFDL-pool +; request_pstr->data_pu08 : start address of the RAM data that should be read/written +; request_pstr->bytecount_u16 : number of bytes has to be read/written +; request_pstr->command_enu : command code +; +; CAUTION: +; Due to the code size minimization no plausibility checks are done by the PFDL. +; +; Input: AX = pointer to PFDL request variable +; Output: - +; Destroyed: X, BC, DE, HL +; Return: A = status of the request +; --------------------------------------------------------------------------------------------------------------- +.EXTERN PFDL_Execute + + +; --------------------------------------------------------------------------------------------------------------- +; Block type: standard function +; --------------------------------------------------------------------------------------------------------------- +; Purpose: Continuation of command execution and status update of requests being under execution. +; Input: - +; Output: - +; Destroyed: C +; Return: A = PFDL status +; --------------------------------------------------------------------------------------------------------------- +.EXTERN PFDL_Handler + + +; --------------------------------------------------------------------------------------------------------------- +; Block type: standard function +; --------------------------------------------------------------------------------------------------------------- +; Purpose: Returns the start address of the library version string +; +; Input: - +; Output: - +; Destroyed: - +; Return: A = HIGH-byte of starting address of the zero-terminated version string +; DE = LOW-word of that address +; --------------------------------------------------------------------------------------------------------------- +.EXTERN PFDL_GetVersionString + + +;******************************************************************************* +; END OF UNTOUCHABLE DECLARATION AREA +;******************************************************************************* + +$ENDIF diff --git a/ECU_APP/DataFlash/V1.05/incrl78/pfdl_types.h b/ECU_APP/DataFlash/V1.05/incrl78/pfdl_types.h new file mode 100644 index 0000000..b1482e2 --- /dev/null +++ b/ECU_APP/DataFlash/V1.05/incrl78/pfdl_types.h @@ -0,0 +1,134 @@ +/******************************************************************************* +* Library : Flash Data Library T04 (PicoFDL) +* +* File Name : $Source: pfdl_types.h $ +* Lib. Version : $RL78_FDL_LIB_VERSION_T04_CCRL: V1.05 $ +* Mod. Revision : $Revision: 1.3 $ +* Mod. Date : $Date: 2014/12/12 00:50:07JST $ +* Device(s) : RL78 +* Description : Type definitions used by the library +******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2014 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ + + +#ifndef __PFDL_TYPES_H_INCLUDED +#define __PFDL_TYPES_H_INCLUDED + + +/*==============================================================================================*/ +/* unsigned type definitions */ +/*==============================================================================================*/ +typedef unsigned char pfdl_u08; +typedef unsigned int pfdl_u16; +typedef unsigned long int pfdl_u32; + + +/*==============================================================================================*/ +/* global constant definitions */ +/*==============================================================================================*/ + + +/*==============================================================================================*/ +/* global type definitions */ +/*==============================================================================================*/ + + +/* PFDL command code set */ +typedef enum +{ /* ---------------------------------------------- */ + PFDL_CMD_READ_BYTES = (0x00), /* 0x00, reads data from flash memory */ + PFDL_CMD_IVERIFY_BYTES = (0x06), /* 0x06, verifies data if flash content is stable */ + PFDL_CMD_BLANKCHECK_BYTES = (0x08), /* 0x08, checks if flash content is blank */ + PFDL_CMD_WRITE_BYTES = (0x04), /* 0x04, writes data into flash memory */ + PFDL_CMD_ERASE_BLOCK = (0x03) /* 0x03, erases one flash block */ +} pfdl_command_t; /* ---------------------------------------------- */ + + +/* PFDL error code set */ +typedef enum +{ + /* operation related status */ /* ---------------------------------------------- */ + PFDL_IDLE = (0x30), /* 0x30, PFDL ready to receive requests */ + PFDL_OK = (0x00), /* 0x00, command finished without problems */ + PFDL_BUSY = (0xFF), /* 0xFF, command is being processed */ + /* flash related status */ /* ---------------------------------------------- */ + PFDL_ERR_PROTECTION = (0x10), /* 0x10, protection error (access right conflict) */ + PFDL_ERR_ERASE = (0x1A), /* 0x1A, erase error */ + PFDL_ERR_MARGIN = (0x1B), /* 0x1B, blankcheck or verify margin violated */ + PFDL_ERR_WRITE = (0x1C), /* 0x1C, write error */ + PFDL_ERR_PARAMETER = (0x05) /* 0x05, parameter error */ +} pfdl_status_t; /* ---------------------------------------------- */ + + +/* PFDL request type (base type for any PFDL access) */ +typedef struct +{ /* ---------------------------------------------- */ + pfdl_u16 index_u16; /* 2, W, virt. byte/block index inside PFDL-pool */ + __near pfdl_u08* data_pu08; /* 2, W, pointer to the 1'st byte of data buffer */ + pfdl_u16 bytecount_u16; /* 2, W, number of bytes to be transfered */ + pfdl_command_t command_enu; /* 1, W, command code */ +} pfdl_request_t; /*------------------------------------------------*/ + /* 7 bytes in total */ + /*------------------------------------------------*/ + + +/* PFDL descriptor type */ +typedef struct +{ /* ---------------------------------------------- */ + pfdl_u08 fx_MHz_u08; /* 1, system frequency expressed in MHz */ + pfdl_u08 wide_voltage_mode_u08; /* 1, programming voltage mode ( full/wide ) */ +} pfdl_descriptor_t; /*------------------------------------------------*/ + /* 2 bytes in total */ + + +/*==============================================================================================*/ +/* type definition plausibility check */ +/*==============================================================================================*/ + +/* The following checks are implemented in order to check the correct size of the FDL type */ +/* definitions at compile time. In case of a compilation error in the following lines, please */ +/* check your compiler options for enumeration types and structures and contact your local */ +/* support, if necessary. */ + +#define R_PFDLT04_ASSERT_CONCAT_(a, b) a##b +#define R_PFDLT04_ASSERT_CONCAT(a, b) R_PFDLT04_ASSERT_CONCAT_(a, b) +#define R_PFDLT04_STATIC_ASSERT(e) enum { R_PFDLT04_ASSERT_CONCAT(R_PFDLT04_ASSERT_LINE_, __LINE__) = 1/(!!(e)) } + + +/* assertion if unsigned data type size is not correct, please evaluate compiler settings for integer types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u08)==1); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u16)==2); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u32)==4); + +/* assertion if unsigned data type size is not correct, please evaluate compiler settings for enumeration types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_command_t)==1); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_status_t)==1); + +/* assertion if structure type size is not correct, please evaluate compiler settings for structure types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_request_t)>=7); /* sizeof(pfdl_request_t) == 7 for packed structures */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_request_t)<=8); /* sizeof(pfdl_request_t) == 8 for unpacked structures */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_descriptor_t)==2); + + +#endif diff --git a/ECU_APP/DataFlash/V1.05/librl78/pfdl.lib b/ECU_APP/DataFlash/V1.05/librl78/pfdl.lib new file mode 100644 index 0000000..81b7bb6 Binary files /dev/null and b/ECU_APP/DataFlash/V1.05/librl78/pfdl.lib differ diff --git a/ECU_APP/DataFlash/pfdl.h b/ECU_APP/DataFlash/pfdl.h new file mode 100644 index 0000000..a670b56 --- /dev/null +++ b/ECU_APP/DataFlash/pfdl.h @@ -0,0 +1,144 @@ +/******************************************************************************* +* Library : Flash Data Library T04 (PicoFDL) +* +* File Name : $Source: pfdl.h $ +* Lib. Version : $RL78_FDL_LIB_VERSION_T04_REN: V1.05 $ +* Mod. Revision : $Revision: 1.8 $ +* Mod. Date : $Date: 2013/06/10 22:04:41JST $ +* Device(s) : RL78 +* Description : C language API definition of the Flash Data Library +******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011-2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ + + +#ifndef __PFDL_H_INCLUDED +#define __PFDL_H_INCLUDED + +/*================================================================================================*/ +/* include files list */ +/*================================================================================================*/ +#include "pfdl_types.h" + +#define FLASH_START_ADDRESS (0xF1000) /* Start address of data flash */ +#define TARGET_BLOCK (0) /* Block number of target(0 ~ 3) */ +#define BLOCK_SIZE (0x400) /* Block size */ +//#define WRITE_SIZE (1) /* Size of data to be written at once */ +#define MAX_VALUE (0xFF) /* Maximum value of writing */ +#define MAX_ADDRESS ((TARGET_BLOCK + 1) * BLOCK_SIZE - 1) /* Maximum address of writing */ +#define PFDL_NG (1) /* Failure to Data Flash */ +#define FDL_FRQ (32) /* Setting frequency (MHz) */ +#define FDL_VOL (0x00) /* Voltage mode */ + +uint8_t WriteDataflash(uint8_t* buffer,uint32_t Addr,uint16_t lenth); +uint8_t WriteDataflash1(uint8_t* buffer,uint32_t Addr,uint16_t lenth); + +void ReadFlashData(uint8_t* buffer,uint32_t Addr,uint16_t lenth); +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Unconditional activation of the Data Flash Library. */ +/* Based on the descriptor data: */ +/* - the flash firmware will be initialized for data-flash access only */ +/* - the internal timing and low-voltage capability will be configured according to the descriptor */ +/* After successful initialization the data flash clock is ON and the PFDL is ready to use. */ +/* */ +/* CAUTION: */ +/* Due to the code size minimization no plausibility checks are done by the PicoFDL. */ +/* Neither configuration, frequency range nor data flash size will be checked by the library. */ +/* */ +/* Input: address of the PFDL descriptor variable (RAM only) */ +/* Output: - */ +/* Return: PFDL status */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Open(__near pfdl_descriptor_t* descriptor_pstr); + + + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Disable data flash access unconditionally. */ +/* If any command is just executed, PFDL_Close will stop it immediately. */ +/* After return the data flash clock is switched OFF. */ +/* Input: - */ +/* Output: - */ +/* Return: - */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern void __far PFDL_Close(void); + + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Initiating execution of the PFDL request related to the data flash. */ +/* The corresponding request variable has to be parametrized before. */ +/* */ +/* request_pstr->index_u16 : byte-index or block-number within PFDL-pool */ +/* request_pstr->data_pu08 : start address of the RAM data that should be read/written */ +/* request_pstr->bytecount_u16 : number of bytes has to be read/written */ +/* request_pstr->command_enu : command code */ +/* */ +/* CAUTION: */ +/* Due to the code size minimization no plausibility checks are done by the PFDL. */ +/* */ +/* Input: &request_pstr - pointer to PFDL request variable */ +/* Output: - */ +/* Return: status of the request */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Execute(__near pfdl_request_t* request_pstr); + + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Continuation of command execution and status update of requests being under execution. */ +/* Input: - */ +/* Output: - */ +/* Return: PFDL status = */ +/* PFDL_IDLE - no request is processed by PFDL, PFDL is ready to receive new requests */ +/* PFDL_OK - processed request/command finished without problems */ +/* PFDL_BUSY - request/command is still being processed */ +/* other - flash or firmware related errors */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern pfdl_status_t __far PFDL_Handler(void); + + + +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Block type: standard function */ +/* ---------------------------------------------------------------------------------------------------------------*/ +/* Purpose: Returns the start address of the library version string */ +/* */ +/* Input: - */ +/* Output: - */ +/* Return: starting address of the zero-terminated version string */ +/* ---------------------------------------------------------------------------------------------------------------*/ +extern __far pfdl_u08* __far PFDL_GetVersionString(void); + + + +#endif diff --git a/ECU_APP/DataFlash/pfdl.lib b/ECU_APP/DataFlash/pfdl.lib new file mode 100644 index 0000000..81b7bb6 Binary files /dev/null and b/ECU_APP/DataFlash/pfdl.lib differ diff --git a/ECU_APP/DataFlash/pfdl_types.h b/ECU_APP/DataFlash/pfdl_types.h new file mode 100644 index 0000000..4f3837d --- /dev/null +++ b/ECU_APP/DataFlash/pfdl_types.h @@ -0,0 +1,146 @@ +/******************************************************************************* +* Library : Flash Data Library T04 (PicoFDL) +* +* File Name : $Source: pfdl_types.h $ +* Lib. Version : $RL78_FDL_LIB_VERSION_T04_REN: V1.05 $ +* Mod. Revision : $Revision: 1.8 $ +* Mod. Date : $Date: 2013/06/10 22:28:01JST $ +* Device(s) : RL78 +* Description : Type definitions used by the library +******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2011-2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ + + +#ifndef __PFDL_TYPES_H_INCLUDED +#define __PFDL_TYPES_H_INCLUDED + + + + +#ifndef __TYPEDEF__ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed long int32_t; +typedef unsigned long uint32_t; +typedef unsigned short MD_STATUS; +#define __TYPEDEF__ +#endif +/*==============================================================================================*/ +/* unsigned type definitions */ +/*==============================================================================================*/ +typedef unsigned char pfdl_u08; +typedef unsigned int pfdl_u16; +typedef unsigned long int pfdl_u32; + + +/*==============================================================================================*/ +/* global constant definitions */ +/*==============================================================================================*/ + + + +/*==============================================================================================*/ +/* global type definitions */ +/*==============================================================================================*/ + + +/* PFDL command code set */ +typedef enum +{ /* ---------------------------------------------- */ + PFDL_CMD_READ_BYTES = (0x00), /* 0x00, reads data from flash memory */ + PFDL_CMD_IVERIFY_BYTES = (0x06), /* 0x06, verifies data if flash content is stable */ + PFDL_CMD_BLANKCHECK_BYTES = (0x08), /* 0x08, checks if flash content is blank */ + PFDL_CMD_WRITE_BYTES = (0x04), /* 0x04, writes data into flash memory */ + PFDL_CMD_ERASE_BLOCK = (0x03) /* 0x03, erases one flash block */ +} pfdl_command_t; /* ---------------------------------------------- */ + + +/* PFDL error code set */ +typedef enum +{ + /* operation related status */ /* ---------------------------------------------- */ + PFDL_IDLE = (0x30), /* 0x30, PFDL ready to receive requests */ + PFDL_OK = (0x00), /* 0x00, command finished without problems */ + PFDL_BUSY = (0xFF), /* 0xFF, command is being processed */ + /* flash related status */ /* ---------------------------------------------- */ + PFDL_ERR_PROTECTION = (0x10), /* 0x10, protection error (access right conflict) */ + PFDL_ERR_ERASE = (0x1A), /* 0x1A, erase error */ + PFDL_ERR_MARGIN = (0x1B), /* 0x1B, blankcheck or verify margin violated */ + PFDL_ERR_WRITE = (0x1C), /* 0x1C, write error */ + PFDL_ERR_PARAMETER = (0x05) /* 0x05, parameter error */ +} pfdl_status_t; /* ---------------------------------------------- */ + + +/* PFDL request type (base type for any PFDL access) */ +typedef struct +{ /* ---------------------------------------------- */ + pfdl_u16 index_u16; /* 2, W, virt. byte/block index inside PFDL-pool */ + __near pfdl_u08* data_pu08; /* 2, W, pointer to the 1'st byte of data buffer */ + pfdl_u16 bytecount_u16; /* 2, W, number of bytes to be transfered */ + pfdl_command_t command_enu; /* 1, W, command code */ +} pfdl_request_t; /*------------------------------------------------*/ + /* 7 bytes in total */ + /*------------------------------------------------*/ + +/* PFDL descriptor type */ +typedef struct +{ /* ---------------------------------------------- */ + pfdl_u08 fx_MHz_u08; /* 1, system frequency expressed in MHz */ + pfdl_u08 wide_voltage_mode_u08; /* 1, programming voltage mode ( full/wide ) */ +} pfdl_descriptor_t; /*------------------------------------------------*/ + /* 2 bytes in total */ + + +/*==============================================================================================*/ +/* type definition plausibility check */ +/*==============================================================================================*/ + +/* The following checks are implemented in order to check the correct size of the FDL type */ +/* definitions at compile time. In case of a compilation error in the following lines, please */ +/* check your compiler options for enumeration types and structures and contact your local */ +/* support, if necessary. */ + +#define R_PFDLT04_ASSERT_CONCAT_(a, b) a##b +#define R_PFDLT04_ASSERT_CONCAT(a, b) R_PFDLT04_ASSERT_CONCAT_(a, b) +#define R_PFDLT04_STATIC_ASSERT(e) enum { R_PFDLT04_ASSERT_CONCAT(R_PFDLT04_ASSERT_LINE_, __LINE__) = 1/(!!(e)) } + + +/* assertion if unsigned data type size is not correct, please evaluate compiler settings for integer types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u08)==1); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u16)==2); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_u32)==4); + +/* assertion if unsigned data type size is not correct, please evaluate compiler settings for enumeration types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_command_t)==1); +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_status_t)==1); + +/* assertion if structure type size is not correct, please evaluate compiler settings for structure types */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_request_t)>=7); /* sizeof(pfdl_request_t) == 7 for packed structures */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_request_t)<=8); /* sizeof(pfdl_request_t) == 8 for unpacked structures */ +R_PFDLT04_STATIC_ASSERT(sizeof(pfdl_descriptor_t)==2); + + +#endif diff --git a/ECU_APP/DataFlash/r_pfdl.c b/ECU_APP/DataFlash/r_pfdl.c new file mode 100644 index 0000000..bb1ab0c --- /dev/null +++ b/ECU_APP/DataFlash/r_pfdl.c @@ -0,0 +1,303 @@ + + +#include "r_cg_macrodriver.h" + +#include "pfdl.h" +#include "pfdl_types.h" + +/*********************************************************************************************************************** +* Function Name: WriteDataflash +* Description : +* Arguments : buffer: to be writed data; Addr:Target absolute address,must be check for different mcu;lenth:to be writed number,<=1024 +* Return Value : PFDL_OK - + Success + PFDL_IDLE - + Idling statement + PFDL_ERR_MARGIN - + Blank check error + + other//if(Addr>=FLASH_START_ADDRESS&&Addr=0x000F1000 && Addr<0x000F2000) + { + if(Wr_Status == 0) + { + /* ---- Setting for PFDL_Open ---- */ + descriptor.fx_MHz_u08 = FDL_FRQ; + descriptor.wide_voltage_mode_u08 = FDL_VOL; + PFDL_Open(&descriptor); + + /* ---- Setting for blank check ---- */ + requester.command_enu = PFDL_CMD_BLANKCHECK_BYTES; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000);//g_write_address;0x0F1000 according to MCU + requester.bytecount_u16 = lenth; + ret = PFDL_Execute(&requester); /* Blank check */ + Wr_Status = 1; + } + + if(Wr_Status == 1) + { + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } + if(ret != PFDL_BUSY) + { + /* **** When blank check error **** */ + if(ret == PFDL_ERR_MARGIN) + { + + /* ---- Setting for erase ---- */ + requester.command_enu = PFDL_CMD_ERASE_BLOCK; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000)/0x400;//TARGET_BLOCK; + ret = PFDL_Execute(&requester); /* Erase block data */ + Wr_Status = 2; + /* Erase data of target block */ + } + /* **** When other than blank check error **** */ + else + { + /* Do nothing */ + } + + /******When blank no check error***/ + if(ret == PFDL_OK) + { + /* ---- Setting for write ---- */ + requester.command_enu = PFDL_CMD_WRITE_BYTES; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000);//g_write_address;; + requester.bytecount_u16 = lenth; + requester.data_pu08 = buffer;//&g_write_value; + ret = PFDL_Execute(&requester); /* Execute write */ + Wr_Status = 3; + } + } + } + + if(Wr_Status == 2) + { + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } + if(ret != PFDL_BUSY) + { + if(ret == PFDL_OK) + { + /* ---- Setting for write ---- */ + requester.command_enu = PFDL_CMD_WRITE_BYTES; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000);//g_write_address;; + requester.bytecount_u16 = lenth; + requester.data_pu08 = buffer;//&g_write_value; + ret = PFDL_Execute(&requester); /* Execute write */ + Wr_Status = 3; + } + /* **** When blank check or data erase is failure **** */ + else + { + ret = PFDL_NG; + //PFDL_Close(); /* Close FDL */ + //Wr_Status = 0; + return ret; + } + } + } + + if(Wr_Status == 3) + { + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } + if(ret != PFDL_BUSY) + { + /* ==== When write data is success ==== */ + if(ret == PFDL_OK) + { + /* ---- Setting for verify ---- */ + requester.command_enu = PFDL_CMD_IVERIFY_BYTES; + requester.index_u16 = (unsigned int)(Addr- 0x0F1000);//g_write_address;; + requester.bytecount_u16 = lenth; + ret = PFDL_Execute(&requester); /* Execute internal verify */ + Wr_Status = 4; + } + /* ==== When writing data is failure ==== */ + else + { + ret = PFDL_NG; + //PFDL_Close(); /* Close FDL */ + //Wr_Status = 0; + return ret; + } + } + } + + if(Wr_Status == 4) + { + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } + if(ret != PFDL_BUSY) + { + PFDL_Close(); /* Close FDL */ + Wr_Status = 0; + return 0x11;//write data flash finished + } + } + } + else + { + ret = PFDL_NG; + Wr_Status = 0; + return ret; + } +} + + +uint8_t WriteDataflash1(uint8_t* buffer,uint32_t Addr,uint16_t lenth) +{ + pfdl_status_t ret; + pfdl_descriptor_t descriptor; + pfdl_request_t requester; + + if(Addr>=0x000F1000&&Addr<0x000F2000){ + /* ---- Setting for PFDL_Open ---- */ + descriptor.fx_MHz_u08 = FDL_FRQ; + descriptor.wide_voltage_mode_u08 = FDL_VOL; + PFDL_Open(&descriptor); + + /* ---- Setting for blank check ---- */ + requester.command_enu = PFDL_CMD_BLANKCHECK_BYTES; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000);//g_write_address;0x0F1000 according to MCU + requester.bytecount_u16 = lenth; + ret = PFDL_Execute(&requester); /* Blank check */ + + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } + + /* **** When blank check error **** */ + if(ret == PFDL_ERR_MARGIN) + { + + /* ---- Setting for erase ---- */ + requester.command_enu = PFDL_CMD_ERASE_BLOCK; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000)/0x400;//TARGET_BLOCK; + ret = PFDL_Execute(&requester); /* Erase block data */ + + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } /* Erase data of target block */ + } + /* **** When other than blank check error **** */ + else + { + /* Do nothing */ + } + + if(ret == PFDL_OK) + { + /* ---- Setting for write ---- */ + requester.command_enu = PFDL_CMD_WRITE_BYTES; + requester.index_u16 = (unsigned int)(Addr - 0x0F1000);//g_write_address;; + requester.bytecount_u16 = lenth; + requester.data_pu08 = buffer;//&g_write_value; + ret = PFDL_Execute(&requester); /* Execute write */ + + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler(); /* Status check process */ + } /* Write data process */ + /* ==== When write data is success ==== */ + + if(ret == PFDL_OK) + { + /* ---- Setting for verify ---- */ + requester.command_enu = PFDL_CMD_IVERIFY_BYTES; + requester.index_u16 = (unsigned int)(Addr- 0x0F1000);//g_write_address;; + requester.bytecount_u16 = lenth; + ret = PFDL_Execute(&requester); /* Execute internal verify */ + + /* ---- Waiting for command finish ---- */ + while(ret == PFDL_BUSY) + { + ret = PFDL_Handler();/* Status check process */ + } + + } + /* ==== When writing data is failure ==== */ + else + { + ret = PFDL_NG; + } + } + /* **** When blank check or data erase is failure **** */ + else + { + ret = PFDL_NG; + } + + PFDL_Close(); /* Close FDL */ + + return ret; + } + else{ + ret = PFDL_NG; + return ret; + } +} + + +/*********************************************************************************************************************** +* Function Name: ReadFlashData +* Description : +* Arguments : buffer: to be read data; + Addr:Target absolute address,must be check for different mcu; Both codeflash & dataflash can be used + lenth:to be read number +* Return Value : None +***********************************************************************************************************************/ + +void ReadFlashData(uint8_t* buffer,uint32_t Addr,uint16_t lenth) +{ + uint8_t temp; + volatile uint32_t w_count; + volatile uint8_t * snnumber; + /**** Only dataflash needed start*****/ + if(0 == DFLEN) + { + DFLEN = 1U; //允许存取数据闪存 + for (w_count = 0U; w_count < 15U; w_count++)//3U + { + NOP(); //延时,给硬件反应的时间 + } + } + /**** Only dataflash needed end******/ + snnumber = Addr; + + for(temp = 0; temp < lenth; temp ++) + { + *buffer = *snnumber; + buffer ++; + snnumber ++; + } + //memcpy(buffer,snnumber,lenth); +} + +/* End user code. Do not edit comment generated here */ \ No newline at end of file diff --git a/ECU_APP/DataFlash/娴嬭瘯鏁版嵁.txt b/ECU_APP/DataFlash/娴嬭瘯鏁版嵁.txt new file mode 100644 index 0000000..6e0a546 --- /dev/null +++ b/ECU_APP/DataFlash/娴嬭瘯鏁版嵁.txt @@ -0,0 +1,10 @@ +内振32MHz + +擦除 64Bytes和1024Bytes个00H,时间一样,为5.7mS +写入 1024Bytes个00H 需要46.8mS,写入时间和数据长度成线性关系 + +T04库的使用注意事项: +1,栈,传参,DMA对应的RAM地址都不要放到高速RAM区,否则程序跑飞 +2,由于连续写入多个字节的时间较长,建议不要采用提供函数中的死等的办法,可以在主循环中查PFDL_Handler() +3,读出可以直接用CPU指令,不需要库 +4,输入的地址超出范围,库的返回值有可能不报错,镜像区不报错,保留区跑飞 \ No newline at end of file diff --git a/ECU_APP/ECU_APP.dm01.mtud b/ECU_APP/ECU_APP.dm01.mtud new file mode 100644 index 0000000..fecf4d6 --- /dev/null +++ b/ECU_APP/ECU_APP.dm01.mtud @@ -0,0 +1,1074 @@ +锘 + + + 1 + R5F10BGG + SymbolOffset + Yes + + + UgB1AG4ALQBCAHIAZQBhAGsAIABUAGkAbQBlAHIA + + Enable + Invalid + True + 0 + 0 + 0 + 0 + 0 + VQBuAGMAbwBuAGQAaQB0AGkAbwBuAGEAbAAgAFQAcgBhAGMAZQA= + + Enable + Invalid + True + AllTrace + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 0 + 6 + R5F10BBG + SymbolOffset + Yes + + + + + Header=True,LineEditor=True,SelectionEditor=True,Out of Date Module Indicator=True,Coverage=True,Address=True,Event=True,MainDebug=True,Main=True,OpCode=True,Label=True, + + + 0 + + + + + False + NonStopOverwriteMemory + ST10US + All + False + OverThreshold + False + False + + + + + 12.2.20122.2006 + + + + + 12.2.20122.2006 + 9.07.00.06 + RgBvAHIAbQBhAHQAVgBlAHIAcwBpAG8AbgA6ADEALgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAcwAuAEMAbwB1AG4AdAA6ADEANwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANgA3ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAxADkADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYgA4ADAANAA2ADAAOAAtAGEANAA4ADkALQA0ADEAZgBiAC0AYgA0ADUANAAtAGMAYgA3ADcAYwA1ADcAZQA2ADUAYgA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANAA0ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATABvAGMAYQBsAFYAYQByAGkAYQBiAGwAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAAzAGQAMAA5AGQAZgAxAC0AMwBlADYAMwAtADQANgAzADUALQBiADkAOAA2AC0ANQBlAGYAYQAxAGYANgBhADQAYQA1ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAyACwAIAA0ADYAOQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAHAAdQBSAGUAZwBpAHMAdABlAHIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAZgA3ADMANwAxADEAMgAtAGIAMgA1ADcALQA0ADMAZAAxAC0AYgA5AGYAMwAtAGIAZAA2ADUAZABlADgAZQAxAGYANgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwASQBPAFIAZQBnAGkAcwB0AGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgBjAGYAZAA1ADIAOQBhAC0ANgBhADMAYQAtADQAZgAzADgALQBhAGQAMQA2AC0ANgA4AGEAMAA5AGMAMQAzADIAMABkAGMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAGEAbABsAFMAdABhAGMAawANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAA0ADQAOAA5ADIAZQBhAC0AMwBhAGMAYgAtADQAZQBjADUALQA5AGMAYgAwAC0ANgBhADEAZgBjADQAZgBjADUAOAA1AGQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABUAHIAYQBjAGUADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZgA2ADAAMwA2ADQAYgAtAGUANwA0AGEALQA0ADYAMwBkAC0AYgA3ADEANQAtAGQAMgA3ADkAOQAzADgAYwA2ADQANgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQB2AGUAbgB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADQANgBiADgANgA2AGEALQAzAGYANABkAC0ANABiADkANAAtAGEANQAwADIALQBkADMAMAAwAGUAMgBkAGQAYQBiADUAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAxAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0ADYANwA2ADEAMAA1ADIALQA5ADcAYwA0AC0ANAAyAGYAMwAtAGIAYwBhADcALQAxAGEANgAyADUAYgA5ADkAMwBiADQANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADIAMgAyADUANwAzADIALQAwADUAMgA1AC0ANABmADUAZQAtAGEAMgA4AGMALQAxADYAZAA1AGEAYwBjADUANQA4AGMANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADEAMwBmAGYAMgA1ADcALQBjADUAMQBhAC0ANABjAGYAYQAtADkAMgAxADMALQBhADcAZAAwADIAZgBjADUANABlADMANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAA0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGQAYwBkADUAZAA5AGEALQBkADIAZABiAC0ANAAyADEANgAtADgAOAAyAGIALQA4ADAAMgAzADAAMABkAGQAYgBhADYAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADEADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAZQBlADQAZQA2ADMANQAtAGIAZABjAGQALQA0AGIAOABiAC0AOAA1ADUAZQAtAGUAMwA2ADIAZgAxADkANQA3AGIAMQBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATQBlAG0AbwByAHkAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANABmAGUAZQBjADYANQBiAC0ANQAwAGQAZQAtADQAOAA4ADMALQA5ADYAOQAyAC0ANwBlAGUAMAA4ADEAMwA1ADIAOQA1ADYADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADYAMwA0ADcANQA3ADkALQA0ADQAOAA5AC0ANABiADkAOAAtADgAZQA2ADUALQBhAGMANwA4AGMAOQAzADIAZgA0ADAAYQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZQBmADQAMgA5AGEAZQAtAGEANgBlADYALQA0ADEAMQBhAC0AOQA3AGYANQAtAGYANgA3AGYAYgBjAGEAMQA0ADMAOQAyAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAYgB1AGcAQwBvAG4AcwBvAGwAZQBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAMQBhAGIAMQA2AGQAOAAtADcAYgBmAGUALQA0AGMANQBkAC0AYQAzADYANAAtAGEAYQA0ADYAZQBmADQAZABkAGQANgBkAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARgB1AG4AYwB0AGkAbwBuAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAYgAwAGIAYQA0ADMAZgAtAGMANQAzADYALQA0ADMAZQBmAC0AYgBiAGUAZQAtAGYAYwBjAGQAOAAwADIAYgBiADIAMQBkAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVgBhAHIAaQBhAGIAbABlAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMANwBkADUAYwAyADUAZAAtADcAMgAwADcALQA0AGUAOQAxAC0AOABlADAAMwAtAGYAZgAzAGYAMgAzAGYAMgAxAGYAYgA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEEAbgBhAGwAeQBzAGkAcwBDAGgAYQByAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAZgBjAGYAYwBkAGEANQAtAGQANwA5ADgALQA0AGQAOABhAC0AOAA0ADEAMQAtADQAZQA2ADEAOQBkADQANwA5ADkAMAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAYQBsAGwARwByAGEAcABoAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBlAGYAOAAxAGMAZAAyADUALQA1AGYAMgAzAC0ANAA0ADUAOQAtAGIANAA2ADQALQAxADYAOAA4AGYAMABjADIANwBhAGIANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBzAEMAYQBuAFIAZQBjAFAAcgBvAGMAVABpAG0AZQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQATABlAGYAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMgA5ADcALAAgADYANwA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADYAYQA3AGEAMAAwAGYALQA2ADAAOQA1AC0ANAA0ADIAOAAtADkAZgBjADYALQAwAGYANwAyADEAMgBhADgAMwAyAGIAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABJAG4AQwBhAHIAVABvAG8AbABzAEMAYQB0AGUAbABvAGcADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAZgA4AGIAZgA0AGYANgAtADYAYgA1ADUALQA0ADIANQAyAC0AOAA5AGIANQAtAGMAMAA2AGIAYwA0ADQAYQBmADgANwAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANAAsACAANAA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFMAdABhAHIAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZgA1AGYAMQBhADMAYwA3AC0AMABiADkAMQAtADQANwA5ADQALQA5AGQANABhAC0AYwAyADgAYQA5AGIAMQBmAGUANwBlADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQA5ADUALAAgADYANAA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcgBvAGoAZQBjAHQAVAByAGUAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQAzADgANwAyADgAMwAzAC0AMwBmADMAMQAtADQAYQBjAGMALQA4ADgAOQAyAC0ANwA3AGQANAA3ADcAMABhAGUAYQA0AGEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADAALAAgADUAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6ADMANQAwACwAIAA1ADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFMAbQBhAHIAdABNAGEAbgB1AGEAbAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOAAyADgAZgA0ADIAOQAzAC0AZQBiAGYAMAAtADQAMgA0ADMALQA5AGQAMAAwAC0AOQBhADEAMgA2ADUAYwAyADkAYgA5AGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADgAMQA0ACwAIAA0ADQANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUAByAG8AcABlAHIAdAB5AEcAcgBpAGQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAYQA1ADgANQBjADgAYwAtADAAMgA0AGQALQA0ADQAMQAxAC0AOAAzAGIAZAAtADYANQA1AGQAZQA3ADMAOQBmADEANABhAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANAAsACAANAA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5AE0AYQBwAHAAaQBuAGcAUAByAG8AZgBpAGwAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA5ADcAOQBkADQAOQAyADQALQBhADUAYQA4AC0ANAAzAGQAMQAtAGIAYwA0ADkALQA2ADcANgBjAGMANwBiADgAYwA2ADAANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAOAAxADQALAAgADQANAA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABEAGkAcwBhAHMAcwBlAG0AYgBsAGUAMQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMwBiADAAYwA3ADgANgBhAC0AOAAzAGYAYwAtADQAYgBiADkALQBiAGUAOABlAC0AZgA5AGIAOQA4AGUAMQA0ADAANwBiADYADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANwA0ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABpAHMAYQBzAHMAZQBtAGIAbABlADIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGYAOAA1ADYANgBiAGIAOQAtADYANwBiADEALQA0ADkAMQBkAC0AYgBhADkAZQAtADcANQA0AGEAOQBjAGQAZgA0AGUANABkAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADcANAAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA3AGYAZQA1ADUAZABkAGIALQA0AGUAZgAxAC0ANABjAGYAMQAtADkAZQA3ADgALQA4AGUAYwBmAGEANQAwAGUAZQBhADcAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA3ADQALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABEAGkAcwBhAHMAcwBlAG0AYgBsAGUANAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwA2ADYAMgA1AGMAOQA2AC0AZgBjADAAZAAtADQAMgBkAGYALQA5AGUAMAA3AC0AOABlAGYAMwAyAGMAMgBkADgANQBmADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAGwAYQBzAHMATQBlAG0AYgBlAHIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAYgA4AGMAZAA1ADQAYQAtADIAMgAyADMALQA0AGUAMgA1AC0AOABhAGUAYQAtADcANQA4AGIANwAyADgAZABmADQANQA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE8AcgB0AGgAbwBnAG8AbgBhAGwAQQBuAGEAbAB5AHMAaQBzAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADkAYwA1ADcANwBkAGMALQA3AGUAYQBiAC0ANAAzADYAZAAtADgANwA5AGQALQBkAGEANAA2AGUANwA5AGIAMgBiAGIAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBGAGwAbwBhAHQAaQBuAGcADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADIAMwA3ACwAIAA1ADcAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoAOAA0ADUALAAgADYANAAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AEgAbwByAGkAegBvAG4AdABhAGwAUwBwAGwAaQB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAOQAyADgAMgAzADMANAAtADYAOQA1ADIALQA0ADcAOABhAC0AYgAwADgAZQAtADEANAA1ADkAMgAwADMAZgA4ADkAOQAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAEIAbwB0AHQAbwBtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAxADIAMQAzACwAIAAxADgAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoAOAA0ADUALAAgADYANAAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgA0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADMAMgBmADYAZQAzAGQALQAyADAAZgBiAC0ANAAwAGIAOAAtADgAYgAzAGQALQBhADYANAA0AGQANAA3ADYAYgAzADQAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANgAsACAAMQA3ADEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAOQAyADgAMgAzADMANAAtADYAOQA1ADIALQA0ADcAOABhAC0AYgAwADgAZQAtADEANAA1ADkAMgAwADMAZgA4ADkAOQAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA5AGMANQA3ADcAZABjAC0ANwBlAGEAYgAtADQAMwA2AGQALQA4ADcAOQBkAC0AZABhADQANgBlADcAOQBiADIAYgBiADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATwB1AHQAcAB1AHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAYwA1AGYANgA1ADkAYwAtADUAYgAzADQALQA0ADgAZgA2AC0AYQA4ADMANwAtADAAOABhAGEAMwAyADIAZgA5AGUANAA2AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADgAMQA2ACwAIAAxADcAMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwA5ADIAOAAyADMAMwA0AC0ANgA5ADUAMgAtADQANwA4AGEALQBiADAAOABlAC0AMQA0ADUAOQAyADAAMwBmADgAOQA5ADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADkAYwA1ADcANwBkAGMALQA3AGUAYQBiAC0ANAAzADYAZAAtADgANwA5AGQALQBkAGEANAA2AGUANwA5AGIAMgBiAGIAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABTAG0AYQByAHQAQgByAG8AdwBzAGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAA2AGIAZAAxAGEAOQA5AC0AMQA2ADgAOAAtADQAMgBkADgALQA4AGEAYwA2AC0AMQA3ADMAYQAxADUAMAA5AGUAMgBkAGMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAOAAxADYALAAgADEANwAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADkAMgA4ADIAMwAzADQALQA2ADkANQAyAC0ANAA3ADgAYQAtAGIAMAA4AGUALQAxADQANQA5ADIAMAAzAGYAOAA5ADkAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGIAOQBjADUANwA3AGQAYwAtADcAZQBhAGIALQA0ADMANgBkAC0AOAA3ADkAZAAtAGQAYQA0ADYAZQA3ADkAYgAyAGIAYgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEUAcgByAG8AcgBMAGkAcwB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAzADEAMwBjADgAOAA3AGQALQA3ADcAMAA5AC0ANAAwADIAMwAtAGIAMgBjADkALQBiADkAZQAwAGUAZAAxADQAYgBlAGIAZAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADkAMgA4ADIAMwAzADQALQA2ADkANQAyAC0ANAA3ADgAYQAtAGIAMAA4AGUALQAxADQANQA5ADIAMAAzAGYAOAA5ADkAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUAB5AHQAaABvAG4AQwBvAG4AcwBvAGwAZQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwBhADEAYwBiADgAMQBmAC0ANwA5ADEAMAAtADQAYgAzADcALQBiAGMAOAA1AC0AOQA2AGEANAAxAGQAYgBkAGUANAA3ADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARgBsAG8AYQB0AGkAbgBnAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAyADUANgAsACAAMgA1ADYADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAOQAyACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAMwA4ADEANABkADIAZQAtADUAMgA1ADgALQA0ADMAMgBlAC0AOAAxADQANwAtAGUAMgBlAGEAMgA5AGEAZQBhADMANwA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwBhADEAYwBiADgAMQBmAC0ANwA5ADEAMAAtADQAYgAzADcALQBiAGMAOAA1AC0AOQA2AGEANAAxAGQAYgBkAGUANAA3ADIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABlAGIAdQBnAE0AYQBuAGEAZwBlAHIADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANQBmAGEANQBhADIANwAtAGYAMABjADUALQA0ADgAZgAyAC0AOAAzADkAYQAtADYAYgA2AGMAMQA5AGMAMwA2ADcANgBmAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA1ADAAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAYQBlADUAOAAxADkAYgAtADUAMwA4ADAALQA0ADQAZgA4AC0AOAA3ADEAOQAtAGQAOQA0ADcAOAAzADcAZABmADAAYgA4AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANQBmAGEANQBhADIANwAtAGYAMABjADUALQA0ADgAZgAyAC0AOAAzADkAYQAtADYAYgA2AGMAMQA5AGMAMwA2ADcANgBmAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoARABlAHYAaQBjAGUAVABvAHAAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBlADYAOABkADgANAA0AGIALQBhADIAOABlAC0ANAAyADIAOQAtAGEAZQA5ADQALQBjADkAMgBlAGUAMQA1ADMANQA5AGIAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAwADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAwADcAMwBhADIAOQA1ADIALQA4ADIAMgAyAC0ANAA1ADMAZAAtADgAOQAyADIALQAzADEANAA0ADMAYwBiAGUAZgAzADcAMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBlADYAOABkADgANAA0AGIALQBhADIAOABlAC0ANAAyADIAOQAtAGEAZQA5ADQALQBjADkAMgBlAGUAMQA1ADMANQA5AGIAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAEwAaQBzAHQAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGMAYwA4AGEAOAAyAGIALQA0ADIANABlAC0ANABhADIANgAtADgAZABiAGEALQA0AGMAMgAxADYAMAA5ADIAMgAzADEAYgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAwADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADYANQAzADEAOQA3ADMALQAxAGUAYwAwAC0ANABkADIANwAtAGIANgAyAGEALQA0ADAANQBiADcAYwAwAGIAMQA1AGIAMgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGMAYwA4AGEAOAAyAGIALQA0ADIANABlAC0ANABhADIANgAtADgAZABiAGEALQA0AGMAMgAxADYAMAA5ADIAMgAzADEAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AE0AYQBjAHIAbwBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAOQBhADQANQA4ADQAZAAtADkAOQA0ADIALQA0AGUANwA1AC0AOQBlAGEAOQAtADAAYQAzADQAZQBjADQAZgAxADkAZABlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA1ADAAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAMgA3ADMAMABkADEAZAAtADUANgA1ADAALQA0AGIANwAxAC0AYQA2AGMAOQAtAGEAZQA0ADgAYQAxADQAZgBhAGYAZQA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAOQBhADQANQA4ADQAZAAtADkAOQA0ADIALQA0AGUANwA1AC0AOQBlAGEAOQAtADAAYQAzADQAZQBjADQAZgAxADkAZABlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAVABlAHgAdABQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQANABiAGUANAAwADIAZAAtADYANwBlADMALQA0ADAAMgA4AC0AOAA1ADcAMAAtADYAZABiAGEAZAA1AGMAYQAwAGMAYgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOAAwADAALAAgADYAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA3ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBmADUANAAwADkAYwAwADYALQA3ADQAYQBiAC0ANAA5ADkAZAAtADgAMgA1ADUALQA1AGMAYwA0ADgAMgAzAGYAYQAyADkAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQANABiAGUANAAwADIAZAAtADYANwBlADMALQA0ADAAMgA4AC0AOAA1ADcAMAAtADYAZABiAGEAZAA1AGMAYQAwAGMAYgAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFYAaQByAHQAdQBhAGwAQgBvAGEAcgBkAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADUANQA1ADgAZQBlADUALQAwADYAYgA1AC0ANABhADMAMQAtAGEAZgBlADUALQBjAGUAZgBlADgAOQBmAGYAMQBlADUAMAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAwADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADYANwAxADcAZQA2AGEALQAyADUAYQA1AC0ANAAxAGQAMgAtADkAMQBkAGUALQAwADUAYwBlAGUAZABhADcAYQA3AGYAMgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADUANQA1ADgAZQBlADUALQAwADYAYgA1AC0ANABhADMAMQAtAGEAZgBlADUALQBjAGUAZgBlADgAOQBmAGYAMQBlADUAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAFAAaQBuAEwAaQBzAHQARgBvAHIAbQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA3AGUAYQBjADUAYgA5AC0AMgBlAGQAMAAtADQAMwAzADEALQBiAGQAZQBjAC0ANQA0ADgAMgAwADQAYwA3AGYAZQBmADcADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADUAMAAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgA0ADAANABmAGEAZgA4AC0AZgBjADMANAAtADQAZQA1ADUALQA5ADYAYQA2AC0AYwBkADYAMgBlADAAYQBlADgAMwA5ADYADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA3AGUAYQBjADUAYgA5AC0AMgBlAGQAMAAtADQAMwAzADEALQBiAGQAZQBjAC0ANQA0ADgAMgAwADQAYwA3AGYAZQBmADcADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAdgBpAGMAZQBUAG8AcABWAGkAZQB3AEYAbwByAG0ADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUANQBkADYAMgA4ADAANQAtADIANAA1AGUALQA0ADUAZAAxAC0AYQAzAGQAZQAtADAAMwBmADMAMwA1ADMAMwBmADkAOQAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA1ADAAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMANwAzADcANwA1ADAAMwAtAGEAYQBlADUALQA0AGEAMgA0AC0AYgAyADUAMwAtAGQAOQBlAGYAYgBiADUAZABkAGMAMgAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZQA1AGQANgAyADgAMAA1AC0AMgA0ADUAZQAtADQANQBkADEALQBhADMAZABlAC0AMAAzAGYAMwAzADUAMwAzAGYAOQA5ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBvAGQAZQBQAGEAcgB0AA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMANQAyADMAMQBhADgALQBkADEANABhAC0ANAA0AGMAOQAtAGEANwA4ADkALQAwADUANgBmADkAYgBjADgAZgAxAGQANAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAwADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjAGMANgBjAGQANwBkADUALQBkADMAZgA0AC0ANAA2ADAANwAtADkANAA2ADkALQBiADkAZAA2ADAAYQAzADUAMwAwAGYANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMANQAyADMAMQBhADgALQBkADEANABhAC0ANAA0AGMAOQAtAGEANwA4ADkALQAwADUANgBmADkAYgBjADgAZgAxAGQANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAG8AZABlAFAAYQByAHQAUAByAGUAdgBpAGUAdwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgA4ADkANABhAGYAZQA3AC0AYQAyADAANAAtADQAMQA1ADIALQA4AGUANAA3AC0AZAA3ADgANgBlADgANgBmADgANAA0ADQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARgBsAG8AYQB0AGkAbgBnAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA2ADAAMAAsACAANQAwADAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAA0ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGIAMQBkADkAMAAxAGYAOQAtADIAMwA4AGIALQA0AGUAMAA0AC0AOAAzADkANwAtAGIANgAzADMANAAwADMAZQBjADIANwA3AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgA4ADkANABhAGYAZQA3AC0AYQAyADAANAAtADQAMQA1ADIALQA4AGUANAA3AC0AZAA3ADgANgBlADgANgBmADgANAA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUABzAGUAdQBkAG8ARQByAHIAbwByAEQAZQBiAHUAZwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgAyAGIAOQAyAGIAMAAyAC0AMAA4AGYANwAtADQANQBlADMALQA5AGMANgA5AC0AMgBhADEANwBjADYAMABkADUAMAAyADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARgBsAG8AYQB0AGkAbgBnAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA1ADAAMAAsACAANQAwADAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADEAMAAwADQALAAgADMAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBlADYANwAxADEAMwA5AC0AMQA1ADgANAAtADQANwAwADMALQBhADQAMwA5AC0AZgBlAGYANwA0ADcAMQBhADcANABlADgADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADIAYgA5ADIAYgAwADIALQAwADgAZgA3AC0ANAA1AGUAMwAtADkAYwA2ADkALQAyAGEAMQA3AGMANgAwAGQANQAwADIAOQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAEEATgBSAGUAYwBlAGkAdgBlAEQAZQBiAHUAZwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZQAxAGYANgBkADEAYQA0AC0AZQAwADcAOAAtADQAZQAxAGEALQA5ADMANgAwAC0ANwAzAGEAZQAzADIAMgBkADMAZAA1ADgADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARgBsAG8AYQB0AGkAbgBnAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA4ADAAMAAsACAANQAwADAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADcAMAA0ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAMQAwADEAZABhADkAMAAtADkAMgA2AGUALQA0ADYAOAAwAC0AYgA1ADkAZQAtADIAZAA2ADcAYwAyADYAYQA2ADAAZgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZQAxAGYANgBkADEAYQA0AC0AZQAwADcAOAAtADQAZQAxAGEALQA5ADMANgAwAC0ANwAzAGEAZQAzADIAMgBkADMAZAA1ADgADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATQBlAHMAQwB1AHIAQwBvAG4AcwB1AG0AcAB0AGkAbwBuAA0ACgA= + PABTAE8AQQBQAC0ARQBOAFYAOgBFAG4AdgBlAGwAbwBwAGUAIAB4AG0AbABuAHMAOgB4AHMAaQA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhAC0AaQBuAHMAdABhAG4AYwBlACIAIAB4AG0AbABuAHMAOgB4AHMAZAA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhACIAIAB4AG0AbABuAHMAOgBTAE8AQQBQAC0ARQBOAEMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiACAAeABtAGwAbgBzADoAUwBPAEEAUAAtAEUATgBWAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgB4AG0AbABzAG8AYQBwAC4AbwByAGcALwBzAG8AYQBwAC8AZQBuAHYAZQBsAG8AcABlAC8AIgAgAHgAbQBsAG4AcwA6AGMAbAByAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AcwBvAGEAcAAvAGUAbgBjAG8AZABpAG4AZwAvAGMAbAByAC8AMQAuADAAIgAgAFMATwBBAFAALQBFAE4AVgA6AGUAbgBjAG8AZABpAG4AZwBTAHQAeQBsAGUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiAD4ADQAKADwAUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AGEAMQA6AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxACIAIAB4AG0AbABuAHMAOgBhADEAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkAIgA+AA0ACgA8AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAGkAZAA9ACIAcgBlAGYALQA1ACIAPgBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpADwALwBPAGIAagBlAGMAdABTAHQAcgBlAGEAbQBlAHIAQQBzAHMAZQBtAGIAbAB5AE4AYQBtAGUAPgANAAoAPABUAGEAYgBTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANgAiAC8APgANAAoAPABIAGkAZABkAGUAbgBUAGEAYgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADcAIgAvAD4ADQAKADwAVABhAGIARwByAG8AdQBwAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AOAAiAC8APgANAAoAPABNAGEAeABUAGEAYgBHAHIAbwB1AHAAcwA+ADQAPAAvAE0AYQB4AFQAYQBiAEcAcgBvAHUAcABzAD4ADQAKADwAQQBjAHQAaQB2AGUAVABhAGIARwByAG8AdQBwAEkAbgBkAGUAeAA+ADAAPAAvAEEAYwB0AGkAdgBlAFQAYQBiAEcAcgBvAHUAcABJAG4AZABlAHgAPgANAAoAPABTAHAAbABpAHQAdABlAHIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA5ACIALwA+AA0ACgA8AFMAcABsAGkAdAB0AGUAcgBCAG8AcgBkAGUAcgBTAHQAeQBsAGUAPgA2ADwALwBTAHAAbABpAHQAdABlAHIAQgBvAHIAZABlAHIAUwB0AHkAbABlAD4ADQAKADwAVgBpAGUAdwBTAHQAeQBsAGUAPgA0ADwALwBWAGkAZQB3AFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAwACIALwA+AA0ACgA8AC8AYQAxADoATwBiAGoAZQBjAHQAUwB0AHIAZQBhAG0AZQByAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAUwBlAHQAdABpAG4AZwBzACAAaQBkAD0AIgByAGUAZgAtADYAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAYwB0AGkAdgBlAFQAYQBiAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAxACIALwA+AA0ACgA8AEQAaQBzAHAAbABhAHkARgBvAHIAbQBJAGMAbwBuAD4AMQA8AC8ARABpAHMAcABsAGEAeQBGAG8AcgBtAEkAYwBvAG4APgANAAoAPABIAG8AdABUAHIAYQBjAGsAPgAxADwALwBIAG8AdABUAHIAYQBjAGsAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADIAIgAvAD4ADQAKADwAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADMAIgAvAD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADIAOgBIAGkAZABkAGUAbgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQwBvAHUAbgB0AD4AMQA4ADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANAAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANQAiAC8APgANAAoAPABfAHgAMAAwADMAMgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANgAiAC8APgANAAoAPABfAHgAMAAwADMAMwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANwAiAC8APgANAAoAPABfAHgAMAAwADMANABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOAAiAC8APgANAAoAPABfAHgAMAAwADMANQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOQAiAC8APgANAAoAPABfAHgAMAAwADMANgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMAAiAC8APgANAAoAPABfAHgAMAAwADMANwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMQAiAC8APgANAAoAPABfAHgAMAAwADMAOABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMgAiAC8APgANAAoAPABfAHgAMAAwADMAOQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMwAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADAAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA0ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8AMQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADUAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwAyACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIANgAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA3ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8ANAAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADgAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwA1ACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADYAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAwACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8ANwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADEAIgAvAD4ADQAKADwALwBhADIAOgBIAGkAZABkAGUAbgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4APgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgBHAHIAbwB1AHAAcwBDAG8AbABsAGUAYwB0AGkAbwBuACAAaQBkAD0AIgByAGUAZgAtADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEMAbwB1AG4AdAA+ADEAPAAvAEMAbwB1AG4AdAA+AA0ACgA8AF8AeAAwADAAMwAwAF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAyACIALwA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAHMAQwBvAGwAbABlAGMAdABpAG8AbgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AOQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADMAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAFMAZQB0AHQAaQBuAGcAcwAgAGkAZAA9ACIAcgBlAGYALQAxADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEMAbABvAHMAZQBCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANAAiAC8APgANAAoAPABUAGEAYgBMAGkAcwB0AEIAdQB0AHQAbwBuAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA1ACIALwA+AA0ACgA8AFMAYwByAG8AbABsAEIAdQB0AHQAbwBuAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA2ACIALwA+AA0ACgA8AFQAYQBiAEEAcgBlAGEAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADcAIgAvAD4ADQAKADwAUwBoAG8AdwBUAGEAYgBMAGkAcwB0AEIAdQB0AHQAbwBuAD4AMQA8AC8AUwBoAG8AdwBUAGEAYgBMAGkAcwB0AEIAdQB0AHQAbwBuAD4ADQAKADwAVABhAGIAQgB1AHQAdABvAG4AUwB0AHkAbABlAD4AMQA2ADwALwBUAGEAYgBCAHUAdAB0AG8AbgBTAHQAeQBsAGUAPgANAAoAPABTAGMAcgBvAGwAbABBAHIAcgBvAHcAUwB0AHkAbABlAD4AMgA8AC8AUwBjAHIAbwBsAGwAQQByAHIAbwB3AFMAdAB5AGwAZQA+AA0ACgA8AFMAYwByAG8AbABsAEIAdQB0AHQAbwBuAHMAPgAzADwALwBTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBzAD4ADQAKADwAVABhAGIAUwB0AHkAbABlAD4AMgA8AC8AVABhAGIAUwB0AHkAbABlAD4ADQAKADwAVABhAGIAQQByAGUAYQBNAGEAcgBnAGkAbgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMAOAAiAC8APgANAAoAPABDAGwAbwBzAGUAQgB1AHQAdABvAG4ATABvAGMAYQB0AGkAbwBuAD4AMgA8AC8AQwBsAG8AcwBlAEIAdQB0AHQAbwBuAEwAbwBjAGEAdABpAG8AbgA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAFMAZQB0AHQAaQBuAGcAcwA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMQAxACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMAOQAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADEAMgAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADAAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxADMAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAAxACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEANAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AOQAzADYANwA1ADUAOAAwADUAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAOQAxADkAMQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMgAwADEAMQAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADQAMgA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMwA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMgA1ADUAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADYAMwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMwA1ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADQAMgA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMwAxADwALwBfAGoAPgANAAoAPABfAGsAPgAxADgAMAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMAA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADUAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADIANgA1ADIANwA2ADgAMwA3ADwALwBfAGEAPgANAAoAPABfAGIAPgAtADEAMAAzADQANAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADgANQAwADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMAMgA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA3ADwALwBfAGUAPgANAAoAPABfAGYAPgA3ADgAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADkANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA1ADcAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADcAMQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA1ADMAPAAvAF8AagA+AA0ACgA8AF8AawA+ADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMQA2ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAzADgAMAAwADgANAAyADMAOQA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgA0ADcAMgA1ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANAA0ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANQA5ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADkAOAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA1ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADEANAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA4ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADYAOAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANQAwADwALwBfAGoAPgANAAoAPABfAGsAPgAxADcAOQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADcAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADEAOAA3ADEANAA0ADMAMQA5ADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIANwA0ADcANwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADkANwA4ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA4ADEAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAOQAyADwALwBfAGYAPgANAAoAPABfAGcAPgAxADAANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADYAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADcANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMQA1ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAzADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEAOAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAyADEAMAA0ADUANAAwADUAMgA1ADwALwBfAGEAPgANAAoAPABfAGIAPgAtADUAMQAzADYAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANgA5ADYAMwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA1ADcAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADAAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANQA0ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADgAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMAAxADwALwBfAGgAPgANAAoAPABfAGkAPgAxADkANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA1ADUAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEANQA1ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADkANwAzADkAMgAwADYAMgA4ADwALwBfAGEAPgANAAoAPABfAGIAPgA1ADgAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA3ADQAMgA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMAMQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA4ADkAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAAxADwALwBfAGYAPgANAAoAPABfAGcAPgA5ADMAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIAMwAxADwALwBfAGgAPgANAAoAPABfAGkAPgA1ADcAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIANAAxADwALwBfAGoAPgANAAoAPABfAGsAPgA3ADQAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADUAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAwACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEANwA1ADEAMgA5ADkAOAAwADQAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgAzADEAMgA4ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcAMwA2ADEAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAOAA4ADwALwBfAGQAPgANAAoAPABfAGUAPgA3ADMAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAAzADwALwBfAGYAPgANAAoAPABfAGcAPgAxADAAOAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADkAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAOAA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADkAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ANgA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADEAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADkAOQAwADYANwAzADAAMAAyADwALwBfAGEAPgANAAoAPABfAGIAPgAtADMAMQA3ADQAOAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADMAOAA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADkAMAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA0ADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIANAA5ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADgANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA0ADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA4ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADcAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAyACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAMgA4ADUANQA0ADAANQA1ADwALwBfAGEAPgANAAoAPABfAGIAPgAyADYANQA0ADUAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOAA3ADEANwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA4ADYAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEANQA4ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADEANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4ANwA0ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADUANgA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAyADMAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADcAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANwA3ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAMwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMgAxADQANQA3ADMAOAAyADAAMwA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAwADIAMAA5ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkANgA5ADcAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANQA4ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADIAMAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA0ADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADIAMAA3ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADYANQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADMANAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQAyADYAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADkAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA0ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAOQA1ADMANwAwADQANgAzADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADgANwAzADkAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADIAMAAwADAANQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQAzADgAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADIAMwA0ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADEANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAzADkAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMQA0ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADQAMQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADQAPAAvAF8AagA+AA0ACgA8AF8AawA+ADgAOQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQAwADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA3ADkAMwA0ADIANQA4ADEAOQA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAxADMANwA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANgA1ADYAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwA1ADwALwBfAGQAPgANAAoAPABfAGUAPgAyADUAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIAMQA3ADwALwBfAGYAPgANAAoAPABfAGcAPgA3ADEAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMwAxADwALwBfAGgAPgANAAoAPABfAGkAPgAxADIANQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADAAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAOAA0ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADEAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA2ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAxADIAMQAyADUAMgAxADcAOAA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQAzADIAMgAyADIAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANwA3ADIANQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQAzADcAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADMANAA8AC8AXwBlAD4ADQAKADwAXwBmAD4ANAA5ADwALwBfAGYAPgANAAoAPABfAGcAPgA2ADgAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADYAMAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA5ADAAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIANAAzADwALwBfAGoAPgANAAoAPABfAGsAPgAxADEAMwA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQAyADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMwA3ADQANQA0ADQANwA1ADUAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADcAOAA3ADIAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOQA3ADUAMQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA4ADIAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADQAMgA8AC8AXwBlAD4ADQAKADwAXwBmAD4ANgA0ADwALwBfAGYAPgANAAoAPABfAGcAPgA5ADEAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMgA0ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADEAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIAMQA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA3ADgAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAMwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0ANwA2ADQAMgAxADEAOQAzADkAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMgAwADkANgA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADMAMQAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADYANgA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMgAwADEAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANwA0ADwALwBfAGYAPgANAAoAPABfAGcAPgA3ADIAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEANgAxADwALwBfAGgAPgANAAoAPABfAGkAPgA3ADkAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANwA1ADwALwBfAGoAPgANAAoAPABfAGsAPgAyADIAOAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA0ADUAMAAyADcAOAA1ADAANgA8AC8AXwBhAD4ADQAKADwAXwBiAD4AOQA2ADMANwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADgANQAwADwALwBfAGMAPgANAAoAPABfAGQAPgAxADQANQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMgAyADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADUAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADIAMAA2ADwALwBfAGcAPgANAAoAPABfAGgAPgAyADMANwA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA2ADcAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANgA3ADwALwBfAGoAPgANAAoAPABfAGsAPgAyADQAMgA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA1ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADMAMAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANgAwADQAMwAwADYAMQA2ADgAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AOQA3ADIAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADIAMAAwADUAMwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA1ADAAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEANgA2ADwALwBfAGUAPgANAAoAPABfAGYAPgAyADAANQA8AC8AXwBmAD4ADQAKADwAXwBnAD4AOQA4ADwALwBfAGcAPgANAAoAPABfAGgAPgAyADIANAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA3ADQAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEAMwAxADwALwBfAGoAPgANAAoAPABfAGsAPgAxADUAMAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA2ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADMAMQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQA4ADYANQAyADgAMgAwADkAMQA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQAxADEAMgA3ADYAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANwA5ADIANwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA0ADgAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAMAA1ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADgANQA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMgAxADQAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMAA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANQAzADwALwBfAGkAPgANAAoAPABfAGoAPgA0ADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADIANAA2ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADgAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwACAAaQBkAD0AIgByAGUAZgAtADMAMgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABhAGIAcwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADMAIgAvAD4ADQAKADwARQB4AHQAZQBuAHQAPgA0ADkAMQA8AC8ARQB4AHQAZQBuAHQAPgANAAoAPABGAGkAcgBzAHQARABpAHMAcABsAGEAeQBUAGEAYgBJAG4AZABlAHgAPgAwADwALwBGAGkAcgBzAHQARABpAHMAcABsAGEAeQBUAGEAYgBJAG4AZABlAHgAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4AD4AMQA8AC8AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQAzADMAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgAwADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4ANQA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADEAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAyACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgAwADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4ANgA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADEAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAMgA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwA0ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQANQAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADMANQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADYAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAzADYAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA3ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwA3ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAOAAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBNAGEAcgBnAGkAbgBzACAAaQBkAD0AIgByAGUAZgAtADMAOAAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwATABlAGYAdABEAGUAZgBhAHUAbAB0AD4AMAA8AC8ATABlAGYAdABEAGUAZgBhAHUAbAB0AD4ADQAKADwAVABvAHAARABlAGYAYQB1AGwAdAA+ADAAPAAvAFQAbwBwAEQAZQBmAGEAdQBsAHQAPgANAAoAPABSAGkAZwBoAHQARABlAGYAYQB1AGwAdAA+ADAAPAAvAFIAaQBnAGgAdABEAGUAZgBhAHUAbAB0AD4ADQAKADwAQgBvAHQAdABvAG0ARABlAGYAYQB1AGwAdAA+ADAAPAAvAEIAbwB0AHQAbwBtAEQAZQBmAGEAdQBsAHQAPgANAAoAPABCAG8AdAB0AG8AbQA+ADQAPAAvAEIAbwB0AHQAbwBtAD4ADQAKADwALwBhADMAOgBNAGEAcgBnAGkAbgBzAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQAzADkAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOAAyADAAOAA5ADcAMAA5ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAyACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOAAxADQAMgA4ADYANwA3ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAMgA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAAwACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADkAMQA2ADEAMAA1ADUANAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwAQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4AMQA8AC8AQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADEAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOQAxADYAMQAwADUANQA0ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgAxADwALwBCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANAAzACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAG8AdQBuAHQAPgAyADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUAMAAiAC8APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAHMAQwBvAGwAbABlAGMAdABpAG8AbgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA1ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+ADMAPAAvAFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADYAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4AMwA8AC8AVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQANwAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgAzADwALwBUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA4ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADkAMQA2ADEAMAA1ADUANAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANAA5ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADUAMQAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4ANgBjADIAZgBmADAAZQBlAC0ANAAzADMAOAAtADQAMAA4ADIALQA4ADYAYgBhAC0ANwAyADEAMAAzAGIANAA1ADcANgA2ADcAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANQAyACIAPgBGADoAXABGAEMAQgBfAHAAcgBvAGoAZQBjAHQAXAB0AGUAbQBwAFwASABXAEIAUwBcAEMATwBEAEUAXABFAEMAVQBfAEEAUABQAFwAdQBzAGUAcgBcAGEAcABwAFQAYQBzAGsALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAOQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA1ADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AOQA1ADIANgA2ADYAOAA3ADcAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgAxADcAOAA3ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgAOQA4ADAAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANwA4ADwALwBfAGQAPgANAAoAPABfAGUAPgA4ADMAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIAMQA3ADwALwBfAGYAPgANAAoAPABfAGcAPgAyADMAOQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA4ADcAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADkAMwA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAyADAAPAAvAF8AagA+AA0ACgA8AF8AawA+ADMAMwA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA3ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoARQBuAHYAZQBsAG8AcABlAD4ADQAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + 12.2.20122.2006 + 9.07.00.06 + RgBvAHIAbQBhAHQAVgBlAHIAcwBpAG8AbgA6ADEALgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAcwAuAEMAbwB1AG4AdAA6ADEANgANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAzADAANQAsACAANgA3ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAFMAcABsAGkAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANAA2ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUARwByAG8AdQBwAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADYADQAKACAARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBHAHIAbwB1AHAAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADIAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGIAOAAwADQANgAwADgALQBhADQAOAA5AC0ANAAxAGYAYgAtAGIANAA1ADQALQBjAGIANwA3AGMANQA3AGUANgA1AGIANQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADIALAAgADQANAA5AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATABvAGMAYQBsAFYAYQByAGkAYQBiAGwAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADMAZAAwADkAZABmADEALQAzAGUANgAzAC0ANAA2ADMANQAtAGIAOQA4ADYALQA1AGUAZgBhADEAZgA2AGEANABhADUAOQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBwAHUAUgBlAGcAaQBzAHQAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAZgA3ADMANwAxADEAMgAtAGIAMgA1ADcALQA0ADMAZAAxAC0AYgA5AGYAMwAtAGIAZAA2ADUAZABlADgAZQAxAGYANgAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwASQBPAFIAZQBnAGkAcwB0AGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiAGMAZgBkADUAMgA5AGEALQA2AGEAMwBhAC0ANABmADMAOAAtAGEAZAAxADYALQA2ADgAYQAwADkAYwAxADMAMgAwAGQAYwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAYQBsAGwAUwB0AGEAYwBrAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQANAA0ADgAOQAyAGUAYQAtADMAYQBjAGIALQA0AGUAYwA1AC0AOQBjAGIAMAAtADYAYQAxAGYAYwA0AGYAYwA1ADgANQBkAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVAByAGEAYwBlAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZgA2ADAAMwA2ADQAYgAtAGUANwA0AGEALQA0ADYAMwBkAC0AYgA3ADEANQAtAGQAMgA3ADkAOQAzADgAYwA2ADQANgAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQB2AGUAbgB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEANAA2AGIAOAA2ADYAYQAtADMAZgA0AGQALQA0AGIAOQA0AC0AYQA1ADAAMgAtAGQAMwAwADAAZQAyAGQAZABhAGIANQBiAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABXAGEAdABjAGgAMQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0ADYANwA2ADEAMAA1ADIALQA5ADcAYwA0AC0ANAAyAGYAMwAtAGIAYwBhADcALQAxAGEANgAyADUAYgA5ADkAMwBiADQANwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAMgAyADIANQA3ADMAMgAtADAANQAyADUALQA0AGYANQBlAC0AYQAyADgAYwAtADEANgBkADUAYQBjAGMANQA1ADgAYwA3AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVwBhAHQAYwBoADMADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAxADMAZgBmADIANQA3AC0AYwA1ADEAYQAtADQAYwBmAGEALQA5ADIAMQAzAC0AYQA3AGQAMAAyAGYAYwA1ADQAZQAzADcADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABXAGEAdABjAGgANAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGQAYwBkADUAZAA5AGEALQBkADIAZABiAC0ANAAyADEANgAtADgAOAAyAGIALQA4ADAAMgAzADAAMABkAGQAYgBhADYAYwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADEADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZABlAGUANABlADYAMwA1AC0AYgBkAGMAZAAtADQAYgA4AGIALQA4ADUANQBlAC0AZQAzADYAMgBmADEAOQA1ADcAYgAxAGIADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZgBlAGUAYwA2ADUAYgAtADUAMABkAGUALQA0ADgAOAAzAC0AOQA2ADkAMgAtADcAZQBlADAAOAAxADMANQAyADkANQA2AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATQBlAG0AbwByAHkAMwANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADYAMwA0ADcANQA3ADkALQA0ADQAOAA5AC0ANABiADkAOAAtADgAZQA2ADUALQBhAGMANwA4AGMAOQAzADIAZgA0ADAAYQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQA4AGIAMwBiADcAOAA4AC0AYwA1ADUAYwAtADQANwAwADkALQA4ADQAMgAwAC0ANQBkADEANQA0ADcANwA0ADQANQAwADcADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQBiAHUAZwBDAG8AbgBzAG8AbABlAFAAYQBuAGUAbAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADgAYQAwAGQAYgAwADEALQA3AGEAYwAyAC0ANAA4ADYAOQAtADgANwAwADAALQA2AGUAYgA2ADAAYwA1ADcAYQAyADQAMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEYAdQBuAGMAdABpAG8AbgBMAGkAcwB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAOABhAGEAZABjADEAYwAtAGMAYwBhADYALQA0AGEANwBiAC0AOAA5ADMAOAAtADkANQAyADQAYwAxAGEANwBkADMAMAA2AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVgBhAHIAaQBhAGIAbABlAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgAwADkANgAyADAAZQA4AC0AYgA0AGUAMAAtADQAYwBjAGEALQBhADkAMgAyAC0ANAA0AGEAMABmADAAOQA2ADQANQA2AGEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQQBuAGEAbAB5AHMAaQBzAEMAaABhAHIAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADAAMgA2ADYAYgBhADUALQBkADUANQBiAC0ANAA5ADgAZAAtADgANQA3ADIALQA2ADYAZgAwAGQAMwA5ADUAMQBjADgAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAGEAbABsAEcAcgBhAHAAaAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGQAMgBhAGEAYgAzADkALQA4ADkAMgA2AC0ANABlAGEAZgAtAGEANABmAGMALQBjAGIAMgAzADQAMQA2ADAAMwAwAGIAZAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBzAEMAYQBuAFIAZQBjAFAAcgBvAGMAVABpAG0AZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAAxADEAYwAwADIAMgBhAC0AMwBhADEAMQAtADQANgA4ADgALQBhAGMAMgBmAC0AZgA4ADgAOQAzAGMANwBhADgANQBmAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADIALAAgADEANwAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBHAHIAbwB1AHAAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBHAHIAbwB1AHAAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoAIABEAG8AYwBrAGEAYgBsAGUARwByAG8AdQBwAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAMwAyAGYANgBlADMAZAAtADIAMABmAGIALQA0ADAAYgA4AC0AOABiADMAZAAtAGEANgA0ADQAZAA0ADcANgBiADMANAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMgAsACAAMQA3ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAAxADEAYwAwADIAMgBhAC0AMwBhADEAMQAtADQANgA4ADgALQBhAGMAMgBmAC0AZgA4ADgAOQAzAGMANwBhADgANQBmAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABPAHUAdABwAHUAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGMANQBmADYANQA5AGMALQA1AGIAMwA0AC0ANAA4AGYANgAtAGEAOAAzADcALQAwADgAYQBhADMAMgAyAGYAOQBlADQANgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADIALAAgADEANwAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAMQAxAGMAMAAyADIAYQAtADMAYQAxADEALQA0ADYAOAA4AC0AYQBjADIAZgAtAGYAOAA4ADkAMwBjADcAYQA4ADUAZgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUwBtAGEAcgB0AEIAcgBvAHcAcwBlAHIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgBkAGYANQAxADgAMwA5AC0AOQBhADEAZQAtADQAOQA5ADAALQBhADcAOAAzAC0AZAAxADYANwBiADgAYgAxAGIANwA2ADgADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAAxADEAYwAwADIAMgBhAC0AMwBhADEAMQAtADQANgA4ADgALQBhAGMAMgBmAC0AZgA4ADgAOQAzAGMANwBhADgANQBmAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAeQB0AGgAbwBuAEMAbwBuAHMAbwBsAGUADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAEwAZQBmAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADIANgA5ACwAIAA2ADcAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgA0ADgAMABlAGQAMwAyAC0AMwA2ADgANAAtADQAYgBhADgALQA4AGQAMgBmAC0AMwBlADYAYQA0ADkANQA5ADgAOQBmAGMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwASQBuAEMAYQByAFQAbwBvAGwAcwBDAGEAdABlAGwAbwBnAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2AGYAOABiAGYANABmADYALQA2AGIANQA1AC0ANAAyADUAMgAtADgAOQBiADUALQBjADAANgBiAGMANAA0AGEAZgA4ADcAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA1ADcALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABTAHQAYQByAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGYANQBmADEAYQAzAGMANwAtADAAYgA5ADEALQA0ADcAOQA0AC0AOQBkADQAYQAtAGMAMgA4AGEAOQBiADEAZgBlADcAZQA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAOQA1ACwAIAA2ADQANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABQAHIAbwBqAGUAYwB0AFQAcgBlAGUADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAMwA4ADcAMgA4ADMAMwAtADMAZgAzADEALQA0AGEAYwBjAC0AOAA4ADkAMgAtADcANwBkADQANwA3ADAAYQBlAGEANABhAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAwACwAIAA1ADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAzADUAMAAsACAANQAwADAADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABTAG0AYQByAHQATQBhAG4AdQBhAGwADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAMgA4AGYANAAyADkAMwAtAGUAYgBmADAALQA0ADIANAAzAC0AOQBkADAAMAAtADkAYQAxADIANgA1AGMAMgA5AGIAOQBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANQA3ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUAByAG8AcABlAHIAdAB5AEcAcgBpAGQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAYQA1ADgANQBjADgAYwAtADAAMgA0AGQALQA0ADQAMQAxAC0AOAAzAGIAZAAtADYANQA1AGQAZQA3ADMAOQBmADEANABhAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADcANAAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5AE0AYQBwAHAAaQBuAGcAUAByAG8AZgBpAGwAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA5ADcAOQBkADQAOQAyADQALQBhADUAYQA4AC0ANAAzAGQAMQAtAGIAYwA0ADkALQA2ADcANgBjAGMANwBiADgAYwA2ADAANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADUANwAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQAxAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAzAGIAMABjADcAOAA2AGEALQA4ADMAZgBjAC0ANABiAGIAOQAtAGIAZQA4AGUALQBmADkAYgA5ADgAZQAxADQAMAA3AGIANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA3ADQALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABEAGkAcwBhAHMAcwBlAG0AYgBsAGUAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZgA4ADUANgA2AGIAYgA5AC0ANgA3AGIAMQAtADQAOQAxAGQALQBiAGEAOQBlAC0ANwA1ADQAYQA5AGMAZABmADQAZQA0AGQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANwA0ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABpAHMAYQBzAHMAZQBtAGIAbABlADMADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAZgBlADUANQBkAGQAYgAtADQAZQBmADEALQA0AGMAZgAxAC0AOQBlADcAOAAtADgAZQBjAGYAYQA1ADAAZQBlAGEANwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADcANAAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQA0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGIAZAAyADgAYgA1ADAALQBjADUAZgAxAC0ANAAxAGEAZAAtAGIAYQA4AGYALQBmADkAZgBiAGUAOAA1AGQAZAA4ADUAOAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAbABhAHMAcwBNAGUAbQBiAGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA2ADIAMwA5AGUANQAyAC0ANQBkADEAYwAtADQAOQA0ADEALQA4AGUAYwAyAC0AYwBmADIAYQBlADEAYgBiADEANwBiADEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATwByAHQAaABvAGcAbwBuAGEAbABBAG4AYQBsAHkAcwBpAHMADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZQA5ADcAMQAxAGEAZAAtADEANQAwAGQALQA0ADcAOAA5AC0AYgA3AGQAMQAtADIAZQA2ADQAOQA5ADAANQA4ADQAMQA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAEIAbwB0AHQAbwBtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADMAMQAsACAAMQAzADgADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAFMAcABsAGkAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADYAYgBkADEAYQA5ADkALQAxADYAOAA4AC0ANAAyAGQAOAAtADgAYQBjADYALQAxADcAMwBhADEANQAwADkAZQAyAGQAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA5ADAAMgAsACAAMQAzADgADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZQA5ADcAMQAxAGEAZAAtADEANQAwAGQALQA0ADcAOAA5AC0AYgA3AGQAMQAtADIAZQA2ADQAOQA5ADAANQA4ADQAMQA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQByAHIAbwByAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMANAAwAGEAMABlADkAMwAtADkAOAAyADEALQA0ADgAYgAxAC0AYgBhADkANAAtAGMAOQBhAGQAOQA5ADYANwA4ADIAOABlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA2ADcAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEAYgA5ADcAMwBiADMAMwAtADgAOABiAGYALQA0AGIAMgAzAC0AOAAxADgANAAtADEAMgA4AGUANgAzADgAMAA3ADkAOQAyAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMANAAwAGEAMABlADkAMwAtADkAOAAyADEALQA0ADgAYgAxAC0AYgBhADkANAAtAGMAOQBhAGQAOQA5ADYANwA4ADIAOABlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoARABlAHYAaQBjAGUAVABvAHAAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2AGYAOQBmADYAYgBhAGIALQA1ADcAYgA5AC0ANABjADEAOQAtADkANQAzAGYALQA3AGYAOQA1ADEAZABmAGYAMgBjADEANQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANgA3ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADcAZABiADkAMABiADIALQA4AGMAYwAxAC0ANAAxADgANQAtAGIAMQBhAGEALQAzADYAMABhADIANABkADYAOABkAGMAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2AGYAOQBmADYAYgBhAGIALQA1ADcAYgA5AC0ANABjADEAOQAtADkANQAzAGYALQA3AGYAOQA1ADEAZABmAGYAMgBjADEANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAEwAaQBzAHQAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiAGMAMgBiADEAZgA3AGEALQBlADYAYgAzAC0ANAA3ADgAMQAtADkANwA3AGQALQAxAGUAMgBmAGIANgBiAGIANwAwAGQAMAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANgA3ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhADQAYgBhAGMAYgBlAGQALQAwADMAMQA5AC0ANAAyADUAZAAtAGEAMwBjADUALQA2AGIANgA1ADkAYgBkADIAOQBjADIAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiAGMAMgBiADEAZgA3AGEALQBlADYAYgAzAC0ANAA3ADgAMQAtADkANwA3AGQALQAxAGUAMgBmAGIANgBiAGIANwAwAGQAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AE0AYQBjAHIAbwBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUAZQAwAGQAMQAzADgAOAAtAGUAMgA5ADIALQA0AGEAMwAwAC0AYgBlAGEANwAtADMANABjADIAYgA2ADQAYgAyAGIAZAA4AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA2ADcAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEAMwBiADAANwA0ADMANwAtAGEAMQA4AGEALQA0AGMAYwA4AC0AYgBiAGMAZgAtADMAZQA4ADEAZAAxADUANQBmADEAMwA3AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUAZQAwAGQAMQAzADgAOAAtAGUAMgA5ADIALQA0AGEAMwAwAC0AYgBlAGEANwAtADMANABjADIAYgA2ADQAYgAyAGIAZAA4AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAVABlAHgAdABQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAMwAzADIAOQA4ADYAOAAtADUANAAwAGQALQA0ADIAMwA5AC0AYgBmADYANgAtADcAMwBiAGQAZABlAGEANgA5AGYAMgBiAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMgA1ADYALAAgADIANQA2AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAxADIANAA4ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEANgA4AGUAMwBjADkAYgAtADMANgAzADcALQA0ADcAZQBiAC0AOQAxADAAYwAtADAAOABlADgAZABiADcANQAxADYAYgA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwAzADMAMgA5ADgANgA4AC0ANQA0ADAAZAAtADQAMgAzADkALQBiAGYANgA2AC0ANwAzAGIAZABkAGUAYQA2ADkAZgAyAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABlAGIAdQBnAE0AYQBuAGEAZwBlAHIADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAMwAyAGIAMABmAGYANQAtAGQANAAxADQALQA0ADkAYwAzAC0AOQA1ADIAZgAtADAAMgAyADQANQA1AGMAYgA1ADQANgBiAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOAAwADAALAAgADYAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA3ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAzADYANAA3AGMAYQBlAGQALQBiAGIANQBkAC0ANAAwADcAOQAtADgANwAxADgALQA0AGIAZQAyADUAZAAzAGEAZgAxAGEAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAMwAyAGIAMABmAGYANQAtAGQANAAxADQALQA0ADkAYwAzAC0AOQA1ADIAZgAtADAAMgAyADQANQA1AGMAYgA1ADQANgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFYAaQByAHQAdQBhAGwAQgBvAGEAcgBkAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADQAZQAzADcAOQAxAGUALQBjADcAZgAzAC0ANAAxADIAZAAtADkANwBmADMALQAxAGUANgA2ADIAMQBmADgAMgAzADkANQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANgA3ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADIAMgBlADgAYgBkADAALQBhADAAOAA4AC0ANABmADIAZgAtADkAMAAzAGYALQBhADAAZQAzADUAYgBkAGIAYQAzADkANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADQAZQAzADcAOQAxAGUALQBjADcAZgAzAC0ANAAxADIAZAAtADkANwBmADMALQAxAGUANgA2ADIAMQBmADgAMgAzADkANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAFAAaQBuAEwAaQBzAHQARgBvAHIAbQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA2AGYAOQBiADYANgBmAC0AOAA2AGMAOAAtADQAZgA2AGMALQA4ADgAZAAwAC0AMgA1AGIANwAyAGYAYgBjADUAOAAzADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADYANwA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgAyADMAZgBlADUANwBjAC0AOQBhADAANwAtADQANwA5ADcALQBhAGMAOAA5AC0AOQBlADUANwA5AGEAZQAzAGYANAAwAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA2AGYAOQBiADYANgBmAC0AOAA2AGMAOAAtADQAZgA2AGMALQA4ADgAZAAwAC0AMgA1AGIANwAyAGYAYgBjADUAOAAzADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAdgBpAGMAZQBUAG8AcABWAGkAZQB3AEYAbwByAG0ADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAOAAxAGUAOQA3ADEAYgAtAGEANwA1ADUALQA0AGUAMwBiAC0AOQAzADQAZAAtADMAYgBjAGYAMQA0AGIAZgA4ADEAZgBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA2ADcAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAZgBlADYAYwBhADUAOQAtADQAMwBiADkALQA0ADUAYgBkAC0AOAA3AGYAMwAtAGEAZABiADIAMQA3AGUAYwA5ADgAOQBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAOAAxAGUAOQA3ADEAYgAtAGEANwA1ADUALQA0AGUAMwBiAC0AOQAzADQAZAAtADMAYgBjAGYAMQA0AGIAZgA4ADEAZgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAbwBkAGUAUABhAHIAdAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA1ADAAMQAzADMAZQA3AC0AYgA1ADIANwAtADQANwA4AGMALQBiADgAYQAyAC0ANQAxADkANgAyAGIAZAA2ADQANQA4ADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADYANwA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBiADUAOQA3ADMAMQBkAC0ANQBiAGIAYQAtADQAMgA5ADgALQBiADQANgBjAC0AMwA5AGEAMwAxADYAYQBmADkAOAAzADYADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA1ADAAMQAzADMAZQA3AC0AYgA1ADIANwAtADQANwA4AGMALQBiADgAYQAyAC0ANQAxADkANgAyAGIAZAA2ADQANQA4ADIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBvAGQAZQBQAGEAcgB0AFAAcgBlAHYAaQBlAHcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAZQA5ADUANQBlAGIAZgAtADMAYwA5AGIALQA0ADUAYwA0AC0AOQA3ADUANQAtADUAMABkADAANgAwAGUAZQA4ADQAMQAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoANgAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA5ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBlADAAMwAzADYAOQAwADYALQA5ADMAZQBjAC0ANAA2AGEAMAAtADkAOQA1ADEALQA3ADEANwA1AGMAMgAxADEAYQA4AGEAZgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAZQA5ADUANQBlAGIAZgAtADMAYwA5AGIALQA0ADUAYwA0AC0AOQA3ADUANQAtADUAMABkADAANgAwAGUAZQA4ADQAMQAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcwBlAHUAZABvAEUAcgByAG8AcgBEAGUAYgB1AGcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANABkADMAYgBmADAAOAAtADMAZQA3AGMALQA0AGEAOQA1AC0AOQAzADgAOQAtAGUAMQA5ADMAMQBmADYAMgA1ADYAYQAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoANQAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAxADAAMAA0ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAZAA0ADIAYwA2AGIANwAtAGQAZQAyADUALQA0ADYAOABlAC0AYQAzADIAZAAtADAAZgA2AGQAYwBkADUANABhAGIANQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgA0AGQAMwBiAGYAMAA4AC0AMwBlADcAYwAtADQAYQA5ADUALQA5ADMAOAA5AC0AZQAxADkAMwAxAGYANgAyADUANgBhADIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBBAE4AUgBlAGMAZQBpAHYAZQBEAGUAYgB1AGcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAMAAzAGYAZgBhADMAMwAtAGUANgAzADUALQA0ADMAZQBmAC0AYgAzADcANwAtADEAYgBlADEAYgBkADYAOABlAGMAOQBjAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOAAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA3ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBmADkAZgA5ADMAYwAyAGIALQAzADEAOQBhAC0ANAA0ADUAYwAtAGEANAAwADkALQA1AGIANAA1AGIAYwBjADYAZQBmAGYAZgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAMAAzAGYAZgBhADMAMwAtAGUANgAzADUALQA0ADMAZQBmAC0AYgAzADcANwAtADEAYgBlADEAYgBkADYAOABlAGMAOQBjAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBzAEMAdQByAEMAbwBuAHMAdQBtAHAAdABpAG8AbgANAAoA + PABTAE8AQQBQAC0ARQBOAFYAOgBFAG4AdgBlAGwAbwBwAGUAIAB4AG0AbABuAHMAOgB4AHMAaQA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhAC0AaQBuAHMAdABhAG4AYwBlACIAIAB4AG0AbABuAHMAOgB4AHMAZAA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhACIAIAB4AG0AbABuAHMAOgBTAE8AQQBQAC0ARQBOAEMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiACAAeABtAGwAbgBzADoAUwBPAEEAUAAtAEUATgBWAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgB4AG0AbABzAG8AYQBwAC4AbwByAGcALwBzAG8AYQBwAC8AZQBuAHYAZQBsAG8AcABlAC8AIgAgAHgAbQBsAG4AcwA6AGMAbAByAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AcwBvAGEAcAAvAGUAbgBjAG8AZABpAG4AZwAvAGMAbAByAC8AMQAuADAAIgAgAFMATwBBAFAALQBFAE4AVgA6AGUAbgBjAG8AZABpAG4AZwBTAHQAeQBsAGUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiAD4ADQAKADwAUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AGEAMQA6AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxACIAIAB4AG0AbABuAHMAOgBhADEAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkAIgA+AA0ACgA8AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAGkAZAA9ACIAcgBlAGYALQA1ACIAPgBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpADwALwBPAGIAagBlAGMAdABTAHQAcgBlAGEAbQBlAHIAQQBzAHMAZQBtAGIAbAB5AE4AYQBtAGUAPgANAAoAPABUAGEAYgBTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANgAiAC8APgANAAoAPABIAGkAZABkAGUAbgBUAGEAYgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADcAIgAvAD4ADQAKADwAVABhAGIARwByAG8AdQBwAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AOAAiAC8APgANAAoAPABNAGEAeABUAGEAYgBHAHIAbwB1AHAAcwA+ADQAPAAvAE0AYQB4AFQAYQBiAEcAcgBvAHUAcABzAD4ADQAKADwAQQBjAHQAaQB2AGUAVABhAGIARwByAG8AdQBwAEkAbgBkAGUAeAA+ADAAPAAvAEEAYwB0AGkAdgBlAFQAYQBiAEcAcgBvAHUAcABJAG4AZABlAHgAPgANAAoAPABTAHAAbABpAHQAdABlAHIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA5ACIALwA+AA0ACgA8AFMAcABsAGkAdAB0AGUAcgBCAG8AcgBkAGUAcgBTAHQAeQBsAGUAPgA2ADwALwBTAHAAbABpAHQAdABlAHIAQgBvAHIAZABlAHIAUwB0AHkAbABlAD4ADQAKADwAVgBpAGUAdwBTAHQAeQBsAGUAPgA0ADwALwBWAGkAZQB3AFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAwACIALwA+AA0ACgA8AC8AYQAxADoATwBiAGoAZQBjAHQAUwB0AHIAZQBhAG0AZQByAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAUwBlAHQAdABpAG4AZwBzACAAaQBkAD0AIgByAGUAZgAtADYAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAYwB0AGkAdgBlAFQAYQBiAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAxACIALwA+AA0ACgA8AEQAaQBzAHAAbABhAHkARgBvAHIAbQBJAGMAbwBuAD4AMQA8AC8ARABpAHMAcABsAGEAeQBGAG8AcgBtAEkAYwBvAG4APgANAAoAPABIAG8AdABUAHIAYQBjAGsAPgAxADwALwBIAG8AdABUAHIAYQBjAGsAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADIAIgAvAD4ADQAKADwAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADMAIgAvAD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADIAOgBIAGkAZABkAGUAbgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQwBvAHUAbgB0AD4AMQA3ADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANAAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANQAiAC8APgANAAoAPABfAHgAMAAwADMAMgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANgAiAC8APgANAAoAPABfAHgAMAAwADMAMwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANwAiAC8APgANAAoAPABfAHgAMAAwADMANABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOAAiAC8APgANAAoAPABfAHgAMAAwADMANQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOQAiAC8APgANAAoAPABfAHgAMAAwADMANgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMAAiAC8APgANAAoAPABfAHgAMAAwADMANwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMQAiAC8APgANAAoAPABfAHgAMAAwADMAOABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMgAiAC8APgANAAoAPABfAHgAMAAwADMAOQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMwAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADAAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA0ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8AMQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADUAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwAyACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIANgAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA3ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8ANAAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADgAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwA1ACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADYAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAwACIALwA+AA0ACgA8AC8AYQAyADoASABpAGQAZABlAG4ATQBkAGkAVABhAGIAcwBDAG8AbABsAGUAYwB0AGkAbwBuAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAHMAQwBvAGwAbABlAGMAdABpAG8AbgAgAGkAZAA9ACIAcgBlAGYALQA4ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAG8AdQBuAHQAPgAxADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMAMQAiAC8APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABzAEMAbwBsAGwAZQBjAHQAaQBvAG4APgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADkAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAyACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABpAGQAPQAiAHIAZQBmAC0AMQAwACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAGwAbwBzAGUAQgB1AHQAdABvAG4AQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADMAIgAvAD4ADQAKADwAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANAAiAC8APgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANQAiAC8APgANAAoAPABUAGEAYgBBAHIAZQBhAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA2ACIALwA+AA0ACgA8AFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+ADEAPAAvAFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+AA0ACgA8AFQAYQBiAEIAdQB0AHQAbwBuAFMAdAB5AGwAZQA+ADEANgA8AC8AVABhAGIAQgB1AHQAdABvAG4AUwB0AHkAbABlAD4ADQAKADwAUwBjAHIAbwBsAGwAQQByAHIAbwB3AFMAdAB5AGwAZQA+ADIAPAAvAFMAYwByAG8AbABsAEEAcgByAG8AdwBTAHQAeQBsAGUAPgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBzAD4AMwA8AC8AUwBjAHIAbwBsAGwAQgB1AHQAdABvAG4AcwA+AA0ACgA8AFQAYQBiAFMAdAB5AGwAZQA+ADIAPAAvAFQAYQBiAFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEEAcgBlAGEATQBhAHIAZwBpAG4AcwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADcAIgAvAD4ADQAKADwAQwBsAG8AcwBlAEIAdQB0AHQAbwBuAEwAbwBjAGEAdABpAG8AbgA+ADIAPAAvAEMAbABvAHMAZQBCAHUAdAB0AG8AbgBMAG8AYwBhAHQAaQBvAG4APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADEAMQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADgAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxADIAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA5ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMQAzACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAMAAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADQAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADkAOQAwADYANwAzADAAMAAyADwALwBfAGEAPgANAAoAPABfAGIAPgAtADMAMQA3ADQAOAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADMAOAA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADkAMAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA0ADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIANAA5ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADgANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA0ADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA4ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAMgA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADUAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADIAMQA0ADUANwAzADgAMgAwADMAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMAAyADAAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADYAOQA3ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADUAOAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQAyADAAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANAAyADwALwBfAGYAPgANAAoAPABfAGcAPgAyADAANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA2ADUAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAzADQAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMgA2ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADQAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMQA2ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEANAAxADYAMQA1ADIAMgA2ADkAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMwAwADUAMgA5ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkAMgAzADUAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMgA5ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADMAMgA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA4ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADQAMgA8AC8AXwBnAD4ADQAKADwAXwBoAD4AOQA5ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADIAOAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQAyADEAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEANAA2ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADYAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMQA3ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAxADQANwA0ADAAMAA3ADIAMQA4ADwALwBfAGEAPgANAAoAPABfAGIAPgAtADIAOQA1ADAAMwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADcANwAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADcANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA3ADAAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADUANAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAwADwALwBfAGcAPgANAAoAPABfAGgAPgAzADYAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMQA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADQAMQA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMgAwADMAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEANwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMQA1ADMAMQAyADYAMQA5ADcAMQA8AC8AXwBhAD4ADQAKADwAXwBiAD4ANwA5ADMAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANgA5ADgAOQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA2ADMAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAOQA3ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADAANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAwADEAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEANQA1ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADEAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA1ADYAPAAvAF8AagA+AA0ACgA8AF8AawA+ADQANgA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADUANAA4ADcAMQA3ADAAMAAxADwALwBfAGEAPgANAAoAPABfAGIAPgAtADIANAAxADgAMgA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADYANQA2ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADgANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMgAwADcAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADYAMgA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAyADkAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIAMAA5ADwALwBfAGgAPgANAAoAPABfAGkAPgA4ADUAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIANAAxADwALwBfAGoAPgANAAoAPABfAGsAPgA1ADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAOQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0ANwA2ADgANwAwADEANAA4ADgAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgA0ADQANAAwADwALwBfAGIAPgANAAoAPABfAGMAPgAyADAAMgA3ADEAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAA0ADwALwBfAGQAPgANAAoAPABfAGUAPgA2ADMAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANgAwADwALwBfAGYAPgANAAoAPABfAGcAPgAyADIANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AOQAxADwALwBfAGgAPgANAAoAPABfAGkAPgAyADEAOQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA2ADMAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEANAA4ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADAAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAxACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAOQA3ADMAOQAyADAANgAyADgAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADUAOAA5ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANAAyADUAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwAxADwALwBfAGQAPgANAAoAPABfAGUAPgAxADgAOQA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAwADEAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADkAMwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgAzADEAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADUANwA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADEAPAAvAF8AagA+AA0ACgA8AF8AawA+ADcANAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQAwADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAMgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANQA3ADQANgAxADIAOAA2ADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgA2ADEAMAA1ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgAMwAyADcAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANwAyADwALwBfAGQAPgANAAoAPABfAGUAPgAxADMANwA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA1ADgAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADgANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA1ADQAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMgA3ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADQANAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA0ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADEAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAzACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAMAA3ADEAMgAyADMAOAA5ADkAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMQAwADkAMQA3ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgAOAAyADkAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwAzADwALwBfAGQAPgANAAoAPABfAGUAPgAxADEANAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAwADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADIANAAwADwALwBfAGcAPgANAAoAPABfAGgAPgAyADEAMQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA0ADkAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA0ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADYAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA0ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAMgA4ADUANQA0ADAANQA1ADwALwBfAGEAPgANAAoAPABfAGIAPgAyADYANQA0ADUAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOAA3ADEANwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA4ADYAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEANQA4ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADEANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4ANwA0ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADUANgA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAyADMAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADcAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANwA3ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADMAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA1ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAMgAzADkAMQA3ADkANgA5ADQAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMwA4ADMANgA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA4ADcANQAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADQAMgA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA5ADQAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIAMAA3ADwALwBfAGYAPgANAAoAPABfAGcAPgA0ADIAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIAMgA1ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADgANwA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAzADwALwBfAGoAPgANAAoAPABfAGsAPgAxADcANwA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA1ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANQA0ADYANwAwADkANwAzADYAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMQA5ADIAMwAyADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkANgA1ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANgA5ADwALwBfAGQAPgANAAoAPABfAGUAPgAzADQAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADYAOAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQA2ADAAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIANAAwADwALwBfAGgAPgANAAoAPABfAGkAPgAxADUAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANgA5ADwALwBfAGoAPgANAAoAPABfAGsAPgAxADAANgA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ANQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADcAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADEAOAA3ADEANAA0ADMAMQA5ADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIANwA0ADcANwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADkANwA4ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA4ADEAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAOQAyADwALwBfAGYAPgANAAoAPABfAGcAPgAxADAANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADYAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADcANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMQA1ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAOAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA2ADgANgAxADcAMAA5ADMAMAA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMQAzADkANQA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkAMwA2ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAAxADwALwBfAGQAPgANAAoAPABfAGUAPgA0ADcAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADYAMgA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAwADYAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADcAMwA8AC8AXwBoAD4ADQAKADwAXwBpAD4AOAA5ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADMANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMgA1ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADcAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA5ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAxADAANwAyADAAOAA5ADYAOAA5ADwALwBfAGEAPgANAAoAPABfAGIAPgAxADcAMwAzADcAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANwA4ADUAMwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQAzADUAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADIANAAzADwALwBfAGUAPgANAAoAPABfAGYAPgAxADcAMwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQA3ADgAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIAMwA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAzADYAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANQAyADwALwBfAGoAPgANAAoAPABfAGsAPgAxADUANQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgAyADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADMAMAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA1ADMAMgA1ADgAOAA4ADIAOQA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAzADQAOAAyADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcAMAA0ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAOAAwADwALwBfAGQAPgANAAoAPABfAGUAPgAxADAAOAA8AC8AXwBlAD4ADQAKADwAXwBmAD4ANQA3ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADYAMwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgAyADwALwBfAGgAPgANAAoAPABfAGkAPgAxADcANQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA1ADIAPAAvAF8AagA+AA0ACgA8AF8AawA+ADUANAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgAzADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcAAgAGkAZAA9ACIAcgBlAGYALQAzADEAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFQAYQBiAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAAyACIALwA+AA0ACgA8AEUAeAB0AGUAbgB0AD4ANQAzADQAPAAvAEUAeAB0AGUAbgB0AD4ADQAKADwARgBpAHIAcwB0AEQAaQBzAHAAbABhAHkAVABhAGIASQBuAGQAZQB4AD4AMAA8AC8ARgBpAHIAcwB0AEQAaQBzAHAAbABhAHkAVABhAGIASQBuAGQAZQB4AD4ADQAKADwAUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA+ADUAPAAvAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcAA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0AMwAyACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4AMAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADUAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAxADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAMgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4AMAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADYAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAxADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByADIAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADMAMwAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADQAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAzADQAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA1ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwA1ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQANgAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADMANgAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADcAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoATQBhAHIAZwBpAG4AcwAgAGkAZAA9ACIAcgBlAGYALQAzADcAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEwAZQBmAHQARABlAGYAYQB1AGwAdAA+ADAAPAAvAEwAZQBmAHQARABlAGYAYQB1AGwAdAA+AA0ACgA8AFQAbwBwAEQAZQBmAGEAdQBsAHQAPgAwADwALwBUAG8AcABEAGUAZgBhAHUAbAB0AD4ADQAKADwAUgBpAGcAaAB0AEQAZQBmAGEAdQBsAHQAPgAwADwALwBSAGkAZwBoAHQARABlAGYAYQB1AGwAdAA+AA0ACgA8AEIAbwB0AHQAbwBtAEQAZQBmAGEAdQBsAHQAPgAwADwALwBCAG8AdAB0AG8AbQBEAGUAZgBhAHUAbAB0AD4ADQAKADwAQgBvAHQAdABvAG0APgA0ADwALwBCAG8AdAB0AG8AbQA+AA0ACgA8AC8AYQAzADoATQBhAHIAZwBpAG4AcwA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0AMwA4ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADgAMgAwADgAOQA3ADAAOQA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAMgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADgAMQA0ADIAOAA2ADcANwA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByADIAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADMAOQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADQAMgA5ADEANgAxADAANQA1ADQAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgAwADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMgA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgA+AA0ACgA8AEIAYQBjAGsARwByAGEAZABpAGUAbgB0AFMAdAB5AGwAZQA+ADEAPAAvAEIAYQBjAGsARwByAGEAZABpAGUAbgB0AFMAdAB5AGwAZQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAAwACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADkAMQA2ADEAMAA1ADUANAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwAQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4AMQA8AC8AQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAcwBDAG8AbABsAGUAYwB0AGkAbwBuACAAaQBkAD0AIgByAGUAZgAtADQAMgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQwBvAHUAbgB0AD4ANwA8AC8AQwBvAHUAbgB0AD4ADQAKADwAXwB4ADAAMAAzADAAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADgAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADkAIgAvAD4ADQAKADwAXwB4ADAAMAAzADIAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA1ADAAIgAvAD4ADQAKADwAXwB4ADAAMAAzADMAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA1ADEAIgAvAD4ADQAKADwAXwB4ADAAMAAzADQAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA1ADIAIgAvAD4ADQAKADwAXwB4ADAAMAAzADUAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA1ADMAIgAvAD4ADQAKADwAXwB4ADAAMAAzADYAXwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA1ADQAIgAvAD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4APgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQANAAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgAzADwALwBUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA1ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+ADMAPAAvAFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADYAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4AMwA8AC8AVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQANwAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADQAMgA5ADEANgAxADAANQA1ADQAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgAwADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMgA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADQAOAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADcANQAxADIAOQA5ADgAMAA0ADwALwBfAGEAPgANAAoAPABfAGIAPgAtADIAMwAxADIAOAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA3ADMANgAxADwALwBfAGMAPgANAAoAPABfAGQAPgAxADgAOAA8AC8AXwBkAD4ADQAKADwAXwBlAD4ANwAzADwALwBfAGUAPgANAAoAPABfAGYAPgAxADAAMwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAwADgAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAOQA5ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADgANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA5ADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADQAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAMQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA0ADkAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIABpAGQAPQAiAHIAZQBmAC0ANQA1ACIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAFMATwBBAFAALQBFAE4AQwA6AHMAdAByAGkAbgBnACIAPgBiAGMANgAxADUAYwAyADIALQAyAGIANAAyAC0ANAAxADkANQAtADkAZgAyADMALQA0ADcANAA0ADQAYQBkAGQANwA1AGIAZAA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwAVABvAG8AbABUAGkAcAAgAGkAZAA9ACIAcgBlAGYALQA1ADYAIgA+AEYAOgBcAEYAQwBCAF8AcAByAG8AagBlAGMAdABcAFYARgAxADIATgBFAFcAXABFAEMAVQBfAEEAUABQAFwAcgBfAGMAZwBfAHQAaQBtAGUAcgBfAHUAcwBlAHIALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADAAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAwACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADUANwAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AOQA3ADgAOQBhADkAZQA5AC0AMgBjADEAOQAtADQANgA3ADgALQBiAGUANQAyAC0AYQAyADAAZQBiADgAZgA0AGIAYQA2AGIAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANQA4ACIAPgBGADoAXABGAEMAQgBfAHAAcgBvAGoAZQBjAHQAXABWAEYAMQAyAE4ARQBXAFwARQBDAFUAXwBBAFAAUABcAHIAcwBjAGEAbgBfAGQAcgBpAHYAZQByAFwAcgBfAHIAbAA3ADgAXwBjAGEAbgBfAGkAcgBxAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADUAMQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA1ADkAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+AGIAMQA4AGYAZAAxAGIAZAAtAGQAYwA1ADkALQA0ADMAYQBkAC0AOAA3ADMAZQAtADAAMwBjAGEAMwBmADMANgA3AGEANQBhADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADYAMAAiAD4ARgA6AFwARgBDAEIAXwBwAHIAbwBqAGUAYwB0AFwAVgBGADEAMgBOAEUAVwBcAEUAQwBVAF8AQQBQAFAAXABjAGEAbgBfAHUAcwBlAHIALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADIAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAyACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADIAMQAwADQANQA0ADAANQAyADUAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0ANQAxADMANgA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADkANgAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADUANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA1ADQAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEAOAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQAwADEAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAOQA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADUANQA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA1ADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADkAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAzACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYAMQAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AZQA0AGYAMAA5ADQAYQA3AC0AZABjAGQAYgAtADQAZAA5AGIALQBhAGUAYQBkAC0AMgBkADAANQAxADYANQBlADYAMQBkADMAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgAyACIAPgBGADoAXABGAEMAQgBfAHAAcgBvAGoAZQBjAHQAXABWAEYAMQAyAE4ARQBXAFwARQBDAFUAXwBBAFAAUABcAGEAcABwAFQAYQBzAGsALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADMAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQA0ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYAMwAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AOQA3ADQAOAA0AGIANgAyAC0AOQBkADIAOQAtADQAMwA1ADEALQA5AGQAYwBhAC0ANwBjADMANgA1ADAAYQA2ADAANABjADQAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgA0ACIAPgBGADoAXABGAEMAQgBfAHAAcgBvAGoAZQBjAHQAXABWAEYAMQAyAE4ARQBXAFwARQBDAFUAXwBBAFAAUABcAHIAXwBtAGEAaQBuAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoARQBuAHYAZQBsAG8AcABlAD4ADQAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + COM1 + 0 + enable + enable + + + + + False + False + True + + + + + False + False + True + + + + + False + False + True + + + + + False + False + True + + + + + PanelWatch1 + 150 + 100 + 150 + 100 + 150 + None + 0 + -1 + RxCanMessage + WatchItem + + 8 + 20127 + True + False + Auto + 1 + -1 + TxCanMessage + WatchItem + + 8 + 20127 + True + False + Auto + + + PanelWatch2 + 150 + 100 + 150 + 100 + 150 + None + + + PanelWatch3 + 150 + 100 + 150 + 100 + 150 + None + + + PanelWatch4 + 150 + 100 + 150 + 100 + 150 + None + + + + + PanelIORegister + 150 + 100 + 150 + 100 + 150 + + + + + PanelCpuRegister + 0 + 0 + 0 + 0 + 0 + + + + + PanelLocalVariable + 150 + 100 + 150 + 100 + 150 + False + Decimal + Decimal + 20127 + + + + + PanelCallStack + Auto + Decimal + 20127 + True + True + 50 + 500 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Run-Break Timer + Nanosecond + + + + + PanelTrace + False + False + Decimal + Mixed + + + + + PanelMemory1 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory2 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory3 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory4 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + + + False + False + False + False + def4131d-299f-4229-94f7-b6796e3a759d + FunctionName + False + False + 0 + -1 + True + ClassName + False + False + 1 + -1 + True + Namespace + True + False + 2 + -1 + True + FileName + False + False + 3 + -1 + True + FilePath + True + False + 4 + -1 + True + PEInformation + False + False + 5 + -1 + True + Import + True + False + 6 + -1 + True + AccessSpecifier + False + False + 7 + -1 + True + Attribute + False + False + 8 + -1 + True + ReturnType + False + False + 9 + -1 + True + ArgumentsCount + True + False + 10 + -1 + True + Arguments + False + False + 11 + -1 + True + CodeSize + False + False + 12 + -1 + True + StackSize + False + False + 13 + -1 + True + StartAddress + False + False + 14 + -1 + True + EndAddress + True + False + 15 + -1 + True + ReferenceCount + False + False + 16 + -1 + True + ExecutionCount + True + False + 17 + -1 + True + ExecutionTime + True + False + 18 + -1 + True + PercentageExecutionTime + True + False + 19 + -1 + True + AverageExecutionTime + True + False + 20 + -1 + True + CodeCoverage + True + False + 21 + -1 + True + 11fad805-4123-496e-99f7-1af9aead0aab + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + False + False + 5 + -1 + True + True + False + 6 + -1 + True + False + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + True + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + True + False + 15 + -1 + True + False + False + 16 + -1 + True + False + False + 17 + -1 + True + False + False + 18 + -1 + True + False + False + 19 + -1 + True + False + False + 20 + -1 + True + False + False + 21 + -1 + True + 291a5aad-8f89-4443-8b93-58ebd220ca9c + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + False + False + 5 + -1 + True + True + False + 6 + -1 + True + False + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + True + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + True + False + 15 + -1 + True + False + False + 16 + -1 + True + True + False + 17 + -1 + True + True + False + 18 + -1 + True + True + False + 19 + -1 + True + True + False + 20 + -1 + True + True + False + 21 + -1 + True + + + + + False + False + False + False + def4131d-299f-4229-94f7-b6796e3a759d + VariableName + False + False + 0 + -1 + True + ClassName + False + False + 1 + -1 + True + Namespace + True + False + 2 + -1 + True + FileName + False + False + 3 + -1 + True + FunctionName + True + False + 4 + -1 + True + FilePath + True + False + 5 + -1 + True + PEInformation + False + False + 6 + -1 + True + Import + True + False + 7 + -1 + True + AccessSpecifier + False + False + 8 + -1 + True + Attribute + False + False + 9 + -1 + True + Type + False + False + 10 + -1 + True + Members + False + False + 11 + -1 + True + Address + False + False + 12 + -1 + True + Size + False + False + 13 + -1 + True + ReferenceCount + False + False + 14 + -1 + True + ReadCount + True + False + 15 + -1 + True + WriteCount + True + False + 16 + -1 + True + ReadWriteCount + True + False + 17 + -1 + True + MinimumValue + True + False + 18 + -1 + True + MaximumValue + True + False + 19 + -1 + True + DataCoverage + True + False + 20 + -1 + True + 11fad805-4123-496e-99f7-1af9aead0aab + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + True + False + 5 + -1 + True + False + False + 6 + -1 + True + True + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + False + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + False + False + 15 + -1 + True + False + False + 16 + -1 + True + True + False + 17 + -1 + True + False + False + 18 + -1 + True + False + False + 19 + -1 + True + False + False + 20 + -1 + True + 291a5aad-8f89-4443-8b93-58ebd220ca9c + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + True + False + 5 + -1 + True + False + False + 6 + -1 + True + True + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + False + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + True + False + 15 + -1 + True + True + False + 16 + -1 + True + True + False + 17 + -1 + True + True + False + 18 + -1 + True + True + False + 19 + -1 + True + True + False + 20 + -1 + True + + + + + PanelAnalysisChart + True + + + + + PanelCallGraph + True + + + + + PanelClassMember + 0 + + + + + 1 + 6c2ff0ee-4338-4082-86ba-72103b457667 + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + F:\FCB_project\temp\HWBS\CODE\ECU_APP\user\appTask.c + a36336c9-7236-4fbf-b6df-47a6d4133b34 + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:10,20 +FirstVisiblePosition:Right,0,0 + + + + + + dc19be2e-c911-46a5-9347-62185f4405c8 +99d91260-97a1-4ba2-8404-9d447067418b +528353ff-0707-4e36-8da8-8caf3978428f +f3fcd215-0966-481f-8dd6-c9a4a3e78669 +9acb8dfa-c536-43d2-adb6-96ad9ab90ba1 + + dc19be2e-c911-46a5-9347-62185f4405c8 + 2 + False + + + + + 2 + + + + + True + True + True + True + True + True + True + + + \ No newline at end of file diff --git a/ECU_APP/ECU_APP.fcb19.mtud b/ECU_APP/ECU_APP.fcb19.mtud new file mode 100644 index 0000000..8d06124 --- /dev/null +++ b/ECU_APP/ECU_APP.fcb19.mtud @@ -0,0 +1,934 @@ +锘 + + + 1 + R5F10BGG + SymbolOffset + Yes + + + UgB1AG4ALQBCAHIAZQBhAGsAIABUAGkAbQBlAHIA + + Enable + Invalid + True + 0 + 0 + 0 + 0 + 0 + VQBuAGMAbwBuAGQAaQB0AGkAbwBuAGEAbAAgAFQAcgBhAGMAZQA= + + Enable + Invalid + True + AllTrace + 0 + 0 + 0 + QgByAGUAYQBrADAAMAAwADEA + + Enable + Invalid + False + None + 0 + 0 + 1 + RQB2AGUAbgB0ACAAQwBvAG4AZABpAHQAaQBvAG4AIAAxAA== + 1 + RQB2AGUAbgB0ACAAQwBvAG4AZABpAHQAaQBvAG4AIAAxAA== + + False + Software + 0 + SymbolOffset + E:\workspace\XMY\ECU_APP\DefaultBuild\ECU_APP.abs + r_rl78_can_irq.c + E:\workspace\XMY\ECU_APP\rscan_driver\ + _RSCAN_INTCANGRECC_interrupt + 13 + Address + 42164 + 1 + False + 0 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 6 + R5F10BBG + SymbolOffset + Yes + + + 1 + R5F10BGG + SymbolOffset + Yes + + + + + Header=True,LineEditor=True,SelectionEditor=True,Out of Date Module Indicator=True,Coverage=True,Address=True,Event=True,MainDebug=True,Main=True,OpCode=True,Label=True, + + + 0 + + + + + False + NonStopOverwriteMemory + ST10US + All + False + OverThreshold + False + False + + + + + 12.2.20122.2006 + + + + + 12.2.20122.2006 + 9.07.00.06 + RgBvAHIAbQBhAHQAVgBlAHIAcwBpAG8AbgA6ADEALgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAcwAuAEMAbwB1AG4AdAA6ADEANwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAxADkADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYgA4ADAANAA2ADAAOAAtAGEANAA4ADkALQA0ADEAZgBiAC0AYgA0ADUANAAtAGMAYgA3ADcAYwA1ADcAZQA2ADUAYgA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANAA0ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATABvAGMAYQBsAFYAYQByAGkAYQBiAGwAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAAzAGQAMAA5AGQAZgAxAC0AMwBlADYAMwAtADQANgAzADUALQBiADkAOAA2AC0ANQBlAGYAYQAxAGYANgBhADQAYQA1ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAyACwAIAA0ADYAOQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAHAAdQBSAGUAZwBpAHMAdABlAHIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAZgA3ADMANwAxADEAMgAtAGIAMgA1ADcALQA0ADMAZAAxAC0AYgA5AGYAMwAtAGIAZAA2ADUAZABlADgAZQAxAGYANgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwASQBPAFIAZQBnAGkAcwB0AGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgBjAGYAZAA1ADIAOQBhAC0ANgBhADMAYQAtADQAZgAzADgALQBhAGQAMQA2AC0ANgA4AGEAMAA5AGMAMQAzADIAMABkAGMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABDAGEAbABsAFMAdABhAGMAawANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAA0ADQAOAA5ADIAZQBhAC0AMwBhAGMAYgAtADQAZQBjADUALQA5AGMAYgAwAC0ANgBhADEAZgBjADQAZgBjADUAOAA1AGQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABUAHIAYQBjAGUADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZgA2ADAAMwA2ADQAYgAtAGUANwA0AGEALQA0ADYAMwBkAC0AYgA3ADEANQAtAGQAMgA3ADkAOQAzADgAYwA2ADQANgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQB2AGUAbgB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADQANgBiADgANgA2AGEALQAzAGYANABkAC0ANABiADkANAAtAGEANQAwADIALQBkADMAMAAwAGUAMgBkAGQAYQBiADUAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAxAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0ADYANwA2ADEAMAA1ADIALQA5ADcAYwA0AC0ANAAyAGYAMwAtAGIAYwBhADcALQAxAGEANgAyADUAYgA5ADkAMwBiADQANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADIAMgAyADUANwAzADIALQAwADUAMgA1AC0ANABmADUAZQAtAGEAMgA4AGMALQAxADYAZAA1AGEAYwBjADUANQA4AGMANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADEAMwBmAGYAMgA1ADcALQBjADUAMQBhAC0ANABjAGYAYQAtADkAMgAxADMALQBhADcAZAAwADIAZgBjADUANABlADMANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAA0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGQAYwBkADUAZAA5AGEALQBkADIAZABiAC0ANAAyADEANgAtADgAOAAyAGIALQA4ADAAMgAzADAAMABkAGQAYgBhADYAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADEADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAZQBlADQAZQA2ADMANQAtAGIAZABjAGQALQA0AGIAOABiAC0AOAA1ADUAZQAtAGUAMwA2ADIAZgAxADkANQA3AGIAMQBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATQBlAG0AbwByAHkAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANABmAGUAZQBjADYANQBiAC0ANQAwAGQAZQAtADQAOAA4ADMALQA5ADYAOQAyAC0ANwBlAGUAMAA4ADEAMwA1ADIAOQA1ADYADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADYAMwA0ADcANQA3ADkALQA0ADQAOAA5AC0ANABiADkAOAAtADgAZQA2ADUALQBhAGMANwA4AGMAOQAzADIAZgA0ADAAYQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYQA4ADUAMAAzADUANgAtADYAMAA3ADkALQA0ADQAYwA5AC0AOAAwADYAYgAtADQAYgA3ADgANQA2AGMAMwBiADcAMgA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAYgB1AGcAQwBvAG4AcwBvAGwAZQBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAYwA3ADYAMwAyADcAZgAtADUAZABmAGYALQA0AGIAYQBmAC0AOAAxADEAYwAtADkAYgA2ADYAMwBjADUAZQAzADAAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARgB1AG4AYwB0AGkAbwBuAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUANgAyAGUANgA4ADgANwAtAGIAMwAzADUALQA0AGEAMgA2AC0AOAAxADUAYQAtADQANAA2AGYAYwAwADUANAA4ADUAYQA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVgBhAHIAaQBhAGIAbABlAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEANABlADQAYwA1ADIAMgAtADUAYwBhADIALQA0AGYANwAwAC0AOABmADYAMAAtADYAOABlAGIAYwBjADcANwA0ADcAOAA4AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEEAbgBhAGwAeQBzAGkAcwBDAGgAYQByAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAZgA3ADcAMAA2ADcAMgAtAGYAMwA5ADYALQA0AGUANQBhAC0AYQA1ADQAZQAtADQAYgAyADkANgA2ADUAZAAyADMAOAAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAYQBsAGwARwByAGEAcABoAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhADQAMABjADMAMQBiAGYALQBhADEANwBlAC0ANABiADQANgAtADkAOQAzADAALQBjAGYANQAyADAAZQBiADYAOABmAGEAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADAANwA4ADkANwA4ADcALQBmAGYAYQA3AC0ANABmAGYAMgAtAGIAYwA3ADQALQBjADMAMwBmAGYAZgBhADAAMwBhAGIAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBzAEMAYQBuAFIAZQBjAFAAcgBvAGMAVABpAG0AZQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQATABlAGYAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMgA2ADkALAAgADYANgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA3ADcAMwA1ADcAYgA3AGMALQA2AGUAOQA0AC0ANAA2AGQANgAtADgAYgA5AGIALQA2ADUAMAAwADEAOQBjAGYAYQA0AGYAMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABJAG4AQwBhAHIAVABvAG8AbABzAEMAYQB0AGUAbABvAGcADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAZgA4AGIAZgA0AGYANgAtADYAYgA1ADUALQA0ADIANQAyAC0AOAA5AGIANQAtAGMAMAA2AGIAYwA0ADQAYQBmADgANwAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANAAsACAANAA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFMAdABhAHIAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZgA1AGYAMQBhADMAYwA3AC0AMABiADkAMQAtADQANwA5ADQALQA5AGQANABhAC0AYwAyADgAYQA5AGIAMQBmAGUANwBlADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQA5ADUALAAgADYANAA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcgBvAGoAZQBjAHQAVAByAGUAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQAzADgANwAyADgAMwAzAC0AMwBmADMAMQAtADQAYQBjAGMALQA4ADgAOQAyAC0ANwA3AGQANAA3ADcAMABhAGUAYQA0AGEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAwACwAIAA1ADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAzADUAMAAsACAANQAwADAADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUwBtAGEAcgB0AE0AYQBuAHUAYQBsAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4ADIAOABmADQAMgA5ADMALQBlAGIAZgAwAC0ANAAyADQAMwAtADkAZAAwADAALQA5AGEAMQAyADYANQBjADIAOQBiADkAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANAAsACAANAA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcgBvAHAAZQByAHQAeQBHAHIAaQBkAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGEANQA4ADUAYwA4AGMALQAwADIANABkAC0ANAA0ADEAMQAtADgAMwBiAGQALQA2ADUANQBkAGUANwAzADkAZgAxADQAYQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAOAAxADQALAAgADQANAA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQBNAGEAcABwAGkAbgBnAFAAcgBvAGYAaQBsAGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOQA3ADkAZAA0ADkAMgA0AC0AYQA1AGEAOAAtADQAMwBkADEALQBiAGMANAA5AC0ANgA3ADYAYwBjADcAYgA4AGMANgAwADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADgAMQA0ACwAIAA0ADQANAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABpAHMAYQBzAHMAZQBtAGIAbABlADEADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAYgAwAGMANwA4ADYAYQAtADgAMwBmAGMALQA0AGIAYgA5AC0AYgBlADgAZQAtAGYAOQBiADkAOABlADEANAAwADcAYgA2AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADcANAAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQAyAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBmADgANQA2ADYAYgBiADkALQA2ADcAYgAxAC0ANAA5ADEAZAAtAGIAYQA5AGUALQA3ADUANABhADkAYwBkAGYANABlADQAZAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA3ADQALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABEAGkAcwBhAHMAcwBlAG0AYgBsAGUAMwANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANwBmAGUANQA1AGQAZABiAC0ANABlAGYAMQAtADQAYwBmADEALQA5AGUANwA4AC0AOABlAGMAZgBhADUAMABlAGUAYQA3AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANwA0ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABpAHMAYQBzAHMAZQBtAGIAbABlADQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANwBiAGIAMwAyADcAOAAtADIAYgBlADgALQA0ADMAOQA2AC0AYQBmADcANQAtADQAZAA4ADMAZgAxADUAZAA4ADYANwBjAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBsAGEAcwBzAE0AZQBtAGIAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhADUAZgA0ADgAYQBkADUALQA5AGUAZgAyAC0ANABkADkAOQAtADkANAAzAGEALQBhAGUAZgBhADIANQA3AGMAZAA5ADQAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABPAHIAdABoAG8AZwBvAG4AYQBsAEEAbgBhAGwAeQBzAGkAcwANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA5AGMANQA3ADcAZABjAC0ANwBlAGEAYgAtADQAMwA2AGQALQA4ADcAOQBkAC0AZABhADQANgBlADcAOQBiADIAYgBiADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARgBsAG8AYQB0AGkAbgBnAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAyADMANwAsACAANQA3ADgADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADgANAA1ACwAIAA2ADQAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAFMAcABsAGkAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADkAMgA4ADIAMwAzADQALQA2ADkANQAyAC0ANAA3ADgAYQAtAGIAMAA4AGUALQAxADQANQA5ADIAMAAzAGYAOAA5ADkAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABCAG8AdAB0AG8AbQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMQAyADYAMgAsACAAMQA3ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADgANAA1ACwAIAA2ADQAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoANAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQAzADIAZgA2AGUAMwBkAC0AMgAwAGYAYgAtADQAMABiADgALQA4AGIAMwBkAC0AYQA2ADQANABkADQANwA2AGIAMwA0ADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAOAAxADYALAAgADEANwAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADkAMgA4ADIAMwAzADQALQA2ADkANQAyAC0ANAA3ADgAYQAtAGIAMAA4AGUALQAxADQANQA5ADIAMAAzAGYAOAA5ADkAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGIAOQBjADUANwA3AGQAYwAtADcAZQBhAGIALQA0ADMANgBkAC0AOAA3ADkAZAAtAGQAYQA0ADYAZQA3ADkAYgAyAGIAYgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE8AdQB0AHAAdQB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGMANQBmADYANQA5AGMALQA1AGIAMwA0AC0ANAA4AGYANgAtAGEAOAAzADcALQAwADgAYQBhADMAMgAyAGYAOQBlADQANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA4ADEANgAsACAAMQA3ADEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAOQAyADgAMgAzADMANAAtADYAOQA1ADIALQA0ADcAOABhAC0AYgAwADgAZQAtADEANAA1ADkAMgAwADMAZgA4ADkAOQAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgA5AGMANQA3ADcAZABjAC0ANwBlAGEAYgAtADQAMwA2AGQALQA4ADcAOQBkAC0AZABhADQANgBlADcAOQBiADIAYgBiADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUwBtAGEAcgB0AEIAcgBvAHcAcwBlAHIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQANgBiAGQAMQBhADkAOQAtADEANgA4ADgALQA0ADIAZAA4AC0AOABhAGMANgAtADEANwAzAGEAMQA1ADAAOQBlADIAZABjAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADgAMQA2ACwAIAAxADcAMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwA5ADIAOAAyADMAMwA0AC0ANgA5ADUAMgAtADQANwA4AGEALQBiADAAOABlAC0AMQA0ADUAOQAyADAAMwBmADgAOQA5ADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADkAYwA1ADcANwBkAGMALQA3AGUAYQBiAC0ANAAzADYAZAAtADgANwA5AGQALQBkAGEANAA2AGUANwA5AGIAMgBiAGIAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABFAHIAcgBvAHIATABpAHMAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwAzADIAMgA0AGYANABmAC0AYQA0AGYAMwAtADQAMwA4ADIALQBhADgAZAAwAC0ANQA1ADEANAA4AGIAZAAxADkAOAAyADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwA5ADIAOAAyADMAMwA0AC0ANgA5ADUAMgAtADQANwA4AGEALQBiADAAOABlAC0AMQA0ADUAOQAyADAAMwBmADgAOQA5ADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAeQB0AGgAbwBuAEMAbwBuAHMAbwBsAGUADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAYQAxAGMAYgA4ADEAZgAtADcAOQAxADAALQA0AGIAMwA3AC0AYgBjADgANQAtADkANgBhADQAMQBkAGIAZABlADQANwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMgA1ADYALAAgADIANQA2AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA5ADkAMgAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0ADMAOAAxADQAZAAyAGUALQA1ADIANQA4AC0ANAAzADIAZQAtADgAMQA0ADcALQBlADIAZQBhADIAOQBhAGUAYQAzADcANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAYQAxAGMAYgA4ADEAZgAtADcAOQAxADAALQA0AGIAMwA3AC0AYgBjADgANQAtADkANgBhADQAMQBkAGIAZABlADQANwAyAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAZQBiAHUAZwBNAGEAbgBhAGcAZQByAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA3AGIAYwBhAGMAOAA5ADkALQA3AGMAOQAwAC0ANABhADYAZgAtAGIAZABiAGMALQBmADYAMwA1AGIAZQBiAGYAYwBjADkANgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAzADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA5AGUAYgBmADAAYwBmADMALQA5AGUAMgAzAC0ANABjAGQAYgAtADkAZgAwADQALQA4ADcANABmADYAMQBlAGYAZABhAGUAZgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA3AGIAYwBhAGMAOAA5ADkALQA3AGMAOQAwAC0ANABhADYAZgAtAGIAZABiAGMALQBmADYAMwA1AGIAZQBiAGYAYwBjADkANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAFQAbwBwAFAAYQBuAGUAbAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYQBmAGEANAAxADcANgBiAC0AMgBkADgAMgAtADQAMwBjAGIALQBiAGYAYwAwAC0AYwA0ADAAZABiAGEAZAAwADQAZAAyADAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADUAMwAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMwA4ADQAMwAyADMANgBmAC0ANQAzAGMAYgAtADQAMAA4AGEALQBiAGEAZQBhAC0AYQAyAGEAOAAxADYANwA3ADgANQAyAGEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYQBmAGEANAAxADcANgBiAC0AMgBkADgAMgAtADQAMwBjAGIALQBiAGYAYwAwAC0AYwA0ADAAZABiAGEAZAAwADQAZAAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAdgBpAGMAZQBMAGkAcwB0AFAAYQBuAGUAbAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgA2AGIANwBlAGQAOQA4AC0AMAA1ADgAYQAtADQAOABlAGUALQA5AGYAMwA5AC0AMQA5ADIANgBiADgAMAA1AGIANQA2ADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADUAMwAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYQA1ADAANwA4ADYANwBkAC0AMAA4ADUAYwAtADQAYgBmADYALQA5ADYAMwA0AC0AYgA5ADcAYwBiADQAMQA0ADIANQA2ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgA2AGIANwBlAGQAOQA4AC0AMAA1ADgAYQAtADQAOABlAGUALQA5AGYAMwA5AC0AMQA5ADIANgBiADgAMAA1AGIANQA2ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBNAGEAYwByAG8AUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADkAZABkADcAMwA0AGUALQA1ADYAOABjAC0ANAAwADIAZgAtAGEAOAA2AGQALQA2AGMAOABlADEAMAAwAGIAZgA2ADYAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAzADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAzADcAZAAzAGEAOAA3ADQALQAzAGIAYgAyAC0ANABiADYAMgAtADgAZgBlAGYALQA3ADAANQAzADQANAAzAGYAOQBhADkAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADkAZABkADcAMwA0AGUALQA1ADYAOABjAC0ANAAwADIAZgAtAGEAOAA2AGQALQA2AGMAOABlADEAMAAwAGIAZgA2ADYAOQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFQAZQB4AHQAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGUAYwBlAGIANwBiADUALQAxADcAYQBmAC0ANABlADQANAAtADgAZAAyADIALQA5ADAAMgAxADkANwBhADcAZgBjADYAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBGAGwAbwBhAHQAaQBuAGcADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADgAMAAwACwAIAA2ADAAMAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoANwAwADQALAAgADMAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYgAzAGQAMQAxADgAYwA4AC0AMABjAGEAMAAtADQANwA3AGUALQA4ADkAYQA3AC0ANABhADUAMwA3AGYAOQAwAGIAZQAyAGEADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGUAYwBlAGIANwBiADUALQAxADcAYQBmAC0ANABlADQANAAtADgAZAAyADIALQA5ADAAMgAxADkANwBhADcAZgBjADYAMgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABWAGkAcgB0AHUAYQBsAEIAbwBhAHIAZAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOQAyAGYAZgAzAGMAOQAyAC0AOAA4ADYAZQAtADQAMgBjADIALQBhADIANQA0AC0ANwAxADcAYwBiADAAMQAxADkAYwA0ADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADUAMwAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZAA3ADAANgAyAGUAYgA2AC0ANQBhADIAYwAtADQAOQAwAGIALQBhADUANQA1AC0AZgBjADgAZgBjAGYAOQBjAGMAOABkADcADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOQAyAGYAZgAzAGMAOQAyAC0AOAA4ADYAZQAtADQAMgBjADIALQBhADIANQA0AC0ANwAxADcAYwBiADAAMQAxADkAYwA0ADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAdgBpAGMAZQBQAGkAbgBMAGkAcwB0AEYAbwByAG0ADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEANwAxADcAMwBkAGUAYgAtADEAYgBmADgALQA0ADMAYgBlAC0AYgBkAGYANgAtAGMAYQAzAGQANwAzAGYAMQAzADkAOAAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA1ADMAMwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYANwAyAGMAZAAzAGEAMgAtADgAOQBkADEALQA0ADQANAA0AC0AOAAxADQANQAtADIANQBlADgAOAAxAGMAZgBjADEAMABhAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEANwAxADcAMwBkAGUAYgAtADEAYgBmADgALQA0ADMAYgBlAC0AYgBkAGYANgAtAGMAYQAzAGQANwAzAGYAMQAzADkAOAAyAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoARABlAHYAaQBjAGUAVABvAHAAVgBpAGUAdwBGAG8AcgBtAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2AGIAMQBiADUANAA3AGQALQAyADYAZQA4AC0ANAA2AGUAOAAtAGIAOABhADYALQAxADcAYgBhAGYAOQBlAGUAYQBiADUANQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANQAzADMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAyADEANQBjADMAYgAxADAALQBlAGYANgA3AC0ANAA5AGYAOQAtAGEAZQA0ADgALQBhADAAYwBjADYAMgBjADMANAAzADcAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAYgAxAGIANQA0ADcAZAAtADIANgBlADgALQA0ADYAZQA4AC0AYgA4AGEANgAtADEANwBiAGEAZgA5AGUAZQBhAGIANQA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAbwBkAGUAUABhAHIAdAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZABmADEAYQBjADYANAA0AC0AOQAxADcAZgAtADQANgA3ADAALQBhADkAZAA2AC0AMABlAGYAZgA2AGUAMgAzAGIAMABhAGMADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADUAMwAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOQBkADkAOQAzAGEANgAyAC0AZAAxAGIAYwAtADQANwAxADIALQBhAGIANwAwAC0AMgA4ADcANQA4ADQAZQAxADYANABiAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZABmADEAYQBjADYANAA0AC0AOQAxADcAZgAtADQANgA3ADAALQBhADkAZAA2AC0AMABlAGYAZgA2AGUAMgAzAGIAMABhAGMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBvAGQAZQBQAGEAcgB0AFAAcgBlAHYAaQBlAHcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANAA5AGEAMABjADgAMQAtADcAMgBmADQALQA0AGQANQBjAC0AYgBhADAAZgAtAGMAZQAwADUAZAA4AGYAOQBkADAANgAzAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoANgAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA5ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGEAOABmADkAYwA0AGUALQBkADUANQBiAC0ANABmAGQANQAtADkAZgA5ADUALQA2ADEAZQA5ADAAMABlAGMANAA1ADUAOAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANAA5AGEAMABjADgAMQAtADcAMgBmADQALQA0AGQANQBjAC0AYgBhADAAZgAtAGMAZQAwADUAZAA4AGYAOQBkADAANgAzAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcwBlAHUAZABvAEUAcgByAG8AcgBEAGUAYgB1AGcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADgAOABkADMAZgA1ADkAMQAtADAAOABlADAALQA0ADIAZABmAC0AOQA3ADUAYQAtADUAZAA4ADUAOQAwADQAOAA1AGYAMgA3AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoANQAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAxADAAMAA0ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUAYgA3ADgANgAzAGMAMwAtADUAOABlADEALQA0AGQAYwBkAC0AOQBjADgAOQAtAGIAMQBiADIANQA1ADAAYwA2AGIANQA4AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOAA4AGQAMwBmADUAOQAxAC0AMAA4AGUAMAAtADQAMgBkAGYALQA5ADcANQBhAC0ANQBkADgANQA5ADAANAA4ADUAZgAyADcADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBBAE4AUgBlAGMAZQBpAHYAZQBEAGUAYgB1AGcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAYwBjADQAYQA1AGIANgAtAGEANQBmADIALQA0AGEAOQA3AC0AYQA5ADAAZAAtADIANAAzADgANwBhADEAMQBlAGMAOQBmAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOAAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA3ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxAGEAMgA0ADQANgA0AGUALQA1ADEANgBjAC0ANAA3ADMAMwAtAGIAOAAzADYALQBjAGUANgBhAGEAZgAwAGUAYgBiADcAZgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAYwBjADQAYQA1AGIANgAtAGEANQBmADIALQA0AGEAOQA3AC0AYQA5ADAAZAAtADIANAAzADgANwBhADEAMQBlAGMAOQBmAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBzAEMAdQByAEMAbwBuAHMAdQBtAHAAdABpAG8AbgANAAoA + PABTAE8AQQBQAC0ARQBOAFYAOgBFAG4AdgBlAGwAbwBwAGUAIAB4AG0AbABuAHMAOgB4AHMAaQA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhAC0AaQBuAHMAdABhAG4AYwBlACIAIAB4AG0AbABuAHMAOgB4AHMAZAA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhACIAIAB4AG0AbABuAHMAOgBTAE8AQQBQAC0ARQBOAEMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiACAAeABtAGwAbgBzADoAUwBPAEEAUAAtAEUATgBWAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgB4AG0AbABzAG8AYQBwAC4AbwByAGcALwBzAG8AYQBwAC8AZQBuAHYAZQBsAG8AcABlAC8AIgAgAHgAbQBsAG4AcwA6AGMAbAByAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AcwBvAGEAcAAvAGUAbgBjAG8AZABpAG4AZwAvAGMAbAByAC8AMQAuADAAIgAgAFMATwBBAFAALQBFAE4AVgA6AGUAbgBjAG8AZABpAG4AZwBTAHQAeQBsAGUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiAD4ADQAKADwAUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AGEAMQA6AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxACIAIAB4AG0AbABuAHMAOgBhADEAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkAIgA+AA0ACgA8AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAGkAZAA9ACIAcgBlAGYALQA1ACIAPgBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpADwALwBPAGIAagBlAGMAdABTAHQAcgBlAGEAbQBlAHIAQQBzAHMAZQBtAGIAbAB5AE4AYQBtAGUAPgANAAoAPABUAGEAYgBTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANgAiAC8APgANAAoAPABIAGkAZABkAGUAbgBUAGEAYgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADcAIgAvAD4ADQAKADwAVABhAGIARwByAG8AdQBwAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AOAAiAC8APgANAAoAPABNAGEAeABUAGEAYgBHAHIAbwB1AHAAcwA+ADQAPAAvAE0AYQB4AFQAYQBiAEcAcgBvAHUAcABzAD4ADQAKADwAQQBjAHQAaQB2AGUAVABhAGIARwByAG8AdQBwAEkAbgBkAGUAeAA+ADAAPAAvAEEAYwB0AGkAdgBlAFQAYQBiAEcAcgBvAHUAcABJAG4AZABlAHgAPgANAAoAPABTAHAAbABpAHQAdABlAHIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA5ACIALwA+AA0ACgA8AFMAcABsAGkAdAB0AGUAcgBCAG8AcgBkAGUAcgBTAHQAeQBsAGUAPgA2ADwALwBTAHAAbABpAHQAdABlAHIAQgBvAHIAZABlAHIAUwB0AHkAbABlAD4ADQAKADwAVgBpAGUAdwBTAHQAeQBsAGUAPgA0ADwALwBWAGkAZQB3AFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAwACIALwA+AA0ACgA8AC8AYQAxADoATwBiAGoAZQBjAHQAUwB0AHIAZQBhAG0AZQByAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAUwBlAHQAdABpAG4AZwBzACAAaQBkAD0AIgByAGUAZgAtADYAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAYwB0AGkAdgBlAFQAYQBiAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAxACIALwA+AA0ACgA8AEQAaQBzAHAAbABhAHkARgBvAHIAbQBJAGMAbwBuAD4AMQA8AC8ARABpAHMAcABsAGEAeQBGAG8AcgBtAEkAYwBvAG4APgANAAoAPABIAG8AdABUAHIAYQBjAGsAPgAxADwALwBIAG8AdABUAHIAYQBjAGsAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADIAIgAvAD4ADQAKADwAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADMAIgAvAD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADIAOgBIAGkAZABkAGUAbgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQwBvAHUAbgB0AD4AMQA3ADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANAAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANQAiAC8APgANAAoAPABfAHgAMAAwADMAMgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANgAiAC8APgANAAoAPABfAHgAMAAwADMAMwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANwAiAC8APgANAAoAPABfAHgAMAAwADMANABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOAAiAC8APgANAAoAPABfAHgAMAAwADMANQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOQAiAC8APgANAAoAPABfAHgAMAAwADMANgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMAAiAC8APgANAAoAPABfAHgAMAAwADMANwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMQAiAC8APgANAAoAPABfAHgAMAAwADMAOABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMgAiAC8APgANAAoAPABfAHgAMAAwADMAOQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMwAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADAAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA0ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8AMQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADUAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwAyACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIANgAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA3ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8ANAAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADgAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwA1ACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADYAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAwACIALwA+AA0ACgA8AC8AYQAyADoASABpAGQAZABlAG4ATQBkAGkAVABhAGIAcwBDAG8AbABsAGUAYwB0AGkAbwBuAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAHMAQwBvAGwAbABlAGMAdABpAG8AbgAgAGkAZAA9ACIAcgBlAGYALQA4ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAG8AdQBuAHQAPgAxADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMAMQAiAC8APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABzAEMAbwBsAGwAZQBjAHQAaQBvAG4APgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADkAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAyACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABpAGQAPQAiAHIAZQBmAC0AMQAwACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAGwAbwBzAGUAQgB1AHQAdABvAG4AQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADMAIgAvAD4ADQAKADwAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANAAiAC8APgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANQAiAC8APgANAAoAPABUAGEAYgBBAHIAZQBhAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA2ACIALwA+AA0ACgA8AFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+ADEAPAAvAFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+AA0ACgA8AFQAYQBiAEIAdQB0AHQAbwBuAFMAdAB5AGwAZQA+ADEANgA8AC8AVABhAGIAQgB1AHQAdABvAG4AUwB0AHkAbABlAD4ADQAKADwAUwBjAHIAbwBsAGwAQQByAHIAbwB3AFMAdAB5AGwAZQA+ADIAPAAvAFMAYwByAG8AbABsAEEAcgByAG8AdwBTAHQAeQBsAGUAPgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBzAD4AMwA8AC8AUwBjAHIAbwBsAGwAQgB1AHQAdABvAG4AcwA+AA0ACgA8AFQAYQBiAFMAdAB5AGwAZQA+ADIAPAAvAFQAYQBiAFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEEAcgBlAGEATQBhAHIAZwBpAG4AcwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADcAIgAvAD4ADQAKADwAQwBsAG8AcwBlAEIAdQB0AHQAbwBuAEwAbwBjAGEAdABpAG8AbgA+ADIAPAAvAEMAbABvAHMAZQBCAHUAdAB0AG8AbgBMAG8AYwBhAHQAaQBvAG4APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADEAMQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADgAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxADIAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA5ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMQAzACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAMAAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADQAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMQA1ADIAOAA1ADEAMQAxADkAOAA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAzADcAMQA0ADwALwBfAGIAPgANAAoAPABfAGMAPgAyADAAMwAzADYAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAAzADwALwBfAGQAPgANAAoAPABfAGUAPgA5ADYAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAA0ADwALwBfAGYAPgANAAoAPABfAGcAPgAyADMANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgAwADQAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAMQA5ADwALwBfAGkAPgANAAoAPABfAGoAPgA3ADEAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMwA2ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAwADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEANQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA2ADAAMQA2ADMANQA5ADUANAA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQAzADEANwA4ADwALwBfAGIAPgANAAoAPABfAGMAPgAyADAAMAA1ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANgA1ADwALwBfAGQAPgANAAoAPABfAGUAPgA3ADgAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADcANQA8AC8AXwBmAD4ADQAKADwAXwBnAD4ANAAxADwALwBfAGcAPgANAAoAPABfAGgAPgAxADAAMgA8AC8AXwBoAD4ADQAKADwAXwBpAD4AOQAzADwALwBfAGkAPgANAAoAPABfAGoAPgAzADUAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMgA5ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEANgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA5ADkAOQA5ADkAMwA3ADIANAA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgA4ADMAMAA4ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgAMQAzADQAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwA5ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADUANQA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAwADEAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADAAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIANQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAwADcAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANgA0ADwALwBfAGoAPgANAAoAPABfAGsAPgAyADQAMQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADcAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADEAOAA3ADEANAA0ADMAMQA5ADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIANwA0ADcANwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA2ADkANwA4ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMANwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA4ADEAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAOQAyADwALwBfAGYAPgANAAoAPABfAGcAPgAxADAANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADYAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADcANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgA0ADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMQA1ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAzADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEAOAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADkANwAzADkAMgAwADYAMgA4ADwALwBfAGEAPgANAAoAPABfAGIAPgA1ADgAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA3ADQAMgA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADMAMQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA4ADkAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAAxADwALwBfAGYAPgANAAoAPABfAGcAPgA5ADMAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADIAMwAxADwALwBfAGgAPgANAAoAPABfAGkAPgA1ADcAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADIANAAxADwALwBfAGoAPgANAAoAPABfAGsAPgA3ADQAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADUAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMQA5ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEANwA1ADEAMgA5ADkAOAAwADQAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgAzADEAMgA4ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcAMwA2ADEAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAOAA4ADwALwBfAGQAPgANAAoAPABfAGUAPgA3ADMAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAAzADwALwBfAGYAPgANAAoAPABfAGcAPgAxADAAOAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADkAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAOAA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADkAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ANgA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADkAOQAwADYANwAzADAAMAAyADwALwBfAGEAPgANAAoAPABfAGIAPgAtADMAMQA3ADQAOAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADMAOAA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADkAMAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA0ADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIANAA5ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADgANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA0ADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA4ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADcAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAxACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEAMgA4ADUANQA0ADAANQA1ADwALwBfAGEAPgANAAoAPABfAGIAPgAyADYANQA0ADUAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOAA3ADEANwA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA4ADYAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEANQA4ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADEANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4ANwA0ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADUANgA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAyADMAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADcAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANwA3ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAMgAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMgAxADQANQA3ADMAOAAyADAAMwA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAwADIAMAA5ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkANgA5ADcAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANQA4ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADIAMAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA0ADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADIAMAA3ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADYANQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADMANAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQAyADYAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADkAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAzACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEANQAxADAANwAwADAAMwAzADEAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgA0ADgANAA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkAOAA2ADUAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAA4ADwALwBfAGQAPgANAAoAPABfAGUAPgA1ADgAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANwA0ADwALwBfAGYAPgANAAoAPABfAGcAPgAyADUAMAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMwA3ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADIANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAxADcAPAAvAF8AagA+AA0ACgA8AF8AawA+ADcANQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQAwADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADYAMwAxADYANAA2ADQANwA3ADwALwBfAGEAPgANAAoAPABfAGIAPgAtADIANQAwADUAMwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADYANwA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADUAOQA8AC8AXwBkAD4ADQAKADwAXwBlAD4ANAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAzADUAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADcAOQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AOQA3ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADMAOQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAxADgAPAAvAF8AagA+AA0ACgA8AF8AawA+ADIAMwA5ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADEAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA1ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgA5ADQAMwA5ADIANAAwADcAOQA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAxADQANQAxADwALwBfAGIAPgANAAoAPABfAGMAPgAxADYANQAyADIAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAOAA2ADwALwBfAGQAPgANAAoAPABfAGUAPgAyADMANAA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA2ADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEANgA4ADwALwBfAGcAPgANAAoAPABfAGgAPgAyADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAMQA5ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADMAMwA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANAAyADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADIAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA2ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADEANQAyADYAMgAzADMANAA3ADUAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMQA0ADAAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOQA0ADQANgA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA1ADAAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADUAMgA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA4ADUAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEAMgA0ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADgAMAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAwADwALwBfAGkAPgANAAoAPABfAGoAPgAzADcAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMAAwADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADMAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA3ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgA5ADMANgA2ADEAOAAxADAAMAA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMQA1ADIAOAAyADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkAMgA5ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAAzADwALwBfAGQAPgANAAoAPABfAGUAPgAyADMAOQA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAxADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADgAMwA8AC8AXwBnAD4ADQAKADwAXwBoAD4ANgA4ADwALwBfAGgAPgANAAoAPABfAGkAPgA2ADMAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANQA0ADwALwBfAGoAPgANAAoAPABfAGsAPgAxADQANAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAOAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQA2ADgANwA0ADYAMAA2ADgAMgA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgAzADAAOAA0ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgANgA5ADkAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANgA1ADwALwBfAGQAPgANAAoAPABfAGUAPgA4ADUAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIANQAyADwALwBfAGYAPgANAAoAPABfAGcAPgAxADQAMwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgAwADcAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEANQA2ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADAAMAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMgAxADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEANQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADkAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADEANwAzADAAOQA5ADEAMAAxADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMwAwADIANQA1ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANAA3ADYAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMgA5ADwALwBfAGQAPgANAAoAPABfAGUAPgA2ADkAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADMANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMgAzADIAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMgA5ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADAANwA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA5ADMAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA2ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADMAMAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQAxADYANQAwADkAMAAyADQAMwAwADwALwBfAGEAPgANAAoAPABfAGIAPgAtADEAMQA4ADQANAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA4ADEAOQA0ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADcAMQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQAxADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADQAMAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQAxADcAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEAMwAyADwALwBfAGgAPgANAAoAPABfAGkAPgAyADIANQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQAwADAAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAOQAwADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADgAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwACAAaQBkAD0AIgByAGUAZgAtADMAMQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABhAGIAcwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADIAIgAvAD4ADQAKADwARQB4AHQAZQBuAHQAPgA0ADgAMwA8AC8ARQB4AHQAZQBuAHQAPgANAAoAPABGAGkAcgBzAHQARABpAHMAcABsAGEAeQBUAGEAYgBJAG4AZABlAHgAPgAwADwALwBGAGkAcgBzAHQARABpAHMAcABsAGEAeQBUAGEAYgBJAG4AZABlAHgAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4AD4ANwA8AC8AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQAzADIAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgAwADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4ANQA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADEAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAyACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgAwADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4ANgA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADEAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAMgA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwAzACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQANAAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADMANAAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADUAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAzADUAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA2ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwA2ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQANwAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBNAGEAcgBnAGkAbgBzACAAaQBkAD0AIgByAGUAZgAtADMANwAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwATABlAGYAdABEAGUAZgBhAHUAbAB0AD4AMAA8AC8ATABlAGYAdABEAGUAZgBhAHUAbAB0AD4ADQAKADwAVABvAHAARABlAGYAYQB1AGwAdAA+ADAAPAAvAFQAbwBwAEQAZQBmAGEAdQBsAHQAPgANAAoAPABSAGkAZwBoAHQARABlAGYAYQB1AGwAdAA+ADAAPAAvAFIAaQBnAGgAdABEAGUAZgBhAHUAbAB0AD4ADQAKADwAQgBvAHQAdABvAG0ARABlAGYAYQB1AGwAdAA+ADAAPAAvAEIAbwB0AHQAbwBtAEQAZQBmAGEAdQBsAHQAPgANAAoAPABCAG8AdAB0AG8AbQA+ADQAPAAvAEIAbwB0AHQAbwBtAD4ADQAKADwALwBhADMAOgBNAGEAcgBnAGkAbgBzAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQAzADgAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOAAyADAAOAA5ADcAMAA5ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAyACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOAAxADQAMgA4ADYANwA3ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAMgA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0AMwA5ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADkAMQA2ADEAMAA1ADUANAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwAQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4AMQA8AC8AQgBhAGMAawBHAHIAYQBkAGkAZQBuAHQAUwB0AHkAbABlAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADAAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOQAxADYAMQAwADUANQA0ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgAxADwALwBCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANAAyACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAG8AdQBuAHQAPgA4ADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAOAAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUAMAAiAC8APgANAAoAPABfAHgAMAAwADMAMwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUAMQAiAC8APgANAAoAPABfAHgAMAAwADMANABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUAMgAiAC8APgANAAoAPABfAHgAMAAwADMANQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUAMwAiAC8APgANAAoAPABfAHgAMAAwADMANgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUANAAiAC8APgANAAoAPABfAHgAMAAwADMANwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADUANQAiAC8APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAHMAQwBvAGwAbABlAGMAdABpAG8AbgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA0ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+ADMAPAAvAFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADUAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4AMwA8AC8AVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQANgAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgAzADwALwBUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA3ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABCAGEAYwBrAEMAbwBsAG8AcgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA2ADoAQwBvAGwAbwByACIAIAB4AG0AbABuAHMAOgBhADYAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcALwBTAHkAcwB0AGUAbQAuAEQAcgBhAHcAaQBuAGcAIgA+AA0ACgA8AG4AYQBtAGUAIAB4AHMAaQA6AG4AdQBsAGwAPQAiADEAIgAvAD4ADQAKADwAdgBhAGwAdQBlAD4ANAAyADkAMQA2ADEAMAA1ADUANAA8AC8AdgBhAGwAdQBlAD4ADQAKADwAawBuAG8AdwBuAEMAbwBsAG8AcgA+ADAAPAAvAGsAbgBvAHcAbgBDAG8AbABvAHIAPgANAAoAPABzAHQAYQB0AGUAPgAyADwALwBzAHQAYQB0AGUAPgANAAoAPAAvAEIAYQBjAGsAQwBvAGwAbwByAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANAA4ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADUANgAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AOQBlAGYAOABmAGQAMwBkAC0AMQAwAGUAMQAtADQAMwBiADEALQBiADgAZAAxAC0AZgAyAGUAMAAzAGEAMgA5ADQANgBmAGMAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANQA3ACIAPgBFADoAXAB3AG8AcgBrAHMAcABhAGMAZQBcAFEASgBUAFkASwBHAFwAQwBPAEQARQBcAEUAQwBVAF8AQQBQAFAAXAByAF8AbQBhAGkAbgAuAGMAPAAvAFQAbwBvAGwAVABpAHAAPgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA5ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADQAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANQA1ADkANgA5ADIANQA2ADAAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0ANAAyADQAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA4ADkAMwA3ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADcANAA8AC8AXwBkAD4ADQAKADwAXwBlAD4ANwAyADwALwBfAGUAPgANAAoAPABfAGYAPgAxADYAMAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMgAwADQAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADkAOAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA5ADUAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADYANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQAyADMAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEANwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA1ADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMgAxADAANAA1ADQAMAA1ADIANQA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQA1ADEAMwA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADYAOQA2ADMAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANQA3ADwALwBfAGQAPgANAAoAPABfAGUAPgAwADwALwBfAGUAPgANAAoAPABfAGYAPgAxADUANAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQA4ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADAAMQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA5ADQAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANQA1ADwALwBfAGoAPgANAAoAPABfAGsAPgAxADUANQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ANAA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA1ADEAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIABpAGQAPQAiAHIAZQBmAC0ANQA4ACIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAFMATwBBAFAALQBFAE4AQwA6AHMAdAByAGkAbgBnACIAPgA4ADEAMwA3ADQANwA1ADQALQA4ADgAYQA2AC0ANABiAGMANgAtAGIANQAyADQALQA2AGIANAAxADIAMQA3ADcAYQBkADgAMQA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwAVABvAG8AbABUAGkAcAAgAGkAZAA9ACIAcgBlAGYALQA1ADkAIgA+AEUAOgBcAHcAbwByAGsAcwBwAGEAYwBlAFwAUQBKAFQAWQBLAEcAXABDAE8ARABFAFwARQBDAFUAXwBBAFAAUABcAHMAeQBzAFwAVgBlAGMAdABvAHIAVABhAGIAbABlAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADAAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAyACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYAMAAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AOQBkADEANAAzAGIAMQA5AC0AMAA0ADQANwAtADQAYwBiADAALQA5AGMAMwAzAC0AMQBhAGUANgA5AGYAMABlAGYAMQA1ADAAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgAxACIAPgBFADoAXAB3AG8AcgBrAHMAcABhAGMAZQBcAFEASgBUAFkASwBHAFwAQwBPAEQARQBcAEUAQwBVAF8AQQBQAFAAXAByAF8AYwBnAF8AdABpAG0AZQByAF8AdQBzAGUAcgAuAGMAPAAvAFQAbwBvAGwAVABpAHAAPgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgAxADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADUAMwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA2ADIAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+AGIANgAxAGYAMQA2ADIAOQAtAGUAMgAxAGMALQA0AGUAMAA5AC0AYQA4ADEAYwAtADMAZgBmADQAOQAzAGYANgA1ADMANQBhADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADYAMwAiAD4ARQA6AFwAdwBvAHIAawBzAHAAYQBjAGUAXABRAEoAVABZAEsARwBcAEMATwBEAEUAXABFAEMAVQBfAEEAUABQAFwAdQBzAGUAcgBcAGMAYQBuAF8AdQBzAGUAcgAuAGMAPAAvAFQAbwBvAGwAVABpAHAAPgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgAyADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADUANAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA2ADQAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+ADUANABhAGUAMABmADcAZAAtADMAMgAyADcALQA0ADkANwA0AC0AYgBiADMANgAtADAAZQA3AGYAOQBiADMAMwAxAGEAZQBmADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADYANQAiAD4ARQA6AFwAdwBvAHIAawBzAHAAYQBjAGUAXABRAEoAVABZAEsARwBcAEMATwBEAEUAXABFAEMAVQBfAEEAUABQAFwAcgBfAGMAZwBfAHAAbwByAHQAXwB1AHMAZQByAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADMAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQA1ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYANgAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AYwBmADUAMwBlADQAMQAzAC0AMgBiAGQANgAtADQAYgA4ADAALQBiADEAMwBlAC0AYgA0AGEAYgA4ADQAMwBkADYAZAA0ADQAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgA3ACIAPgBFADoAXAB3AG8AcgBrAHMAcABhAGMAZQBcAFEASgBUAFkASwBHAFwAQwBPAEQARQBcAEUAQwBVAF8AQQBQAFAAXAByAF8AYwBnAF8AYQBkAGMAXwB1AHMAZQByAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADQAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwALwBTAE8AQQBQAC0ARQBOAFYAOgBCAG8AZAB5AD4ADQAKADwALwBTAE8AQQBQAC0ARQBOAFYAOgBFAG4AdgBlAGwAbwBwAGUAPgANAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + 12.2.20122.2006 + 9.07.00.06 + RgBvAHIAbQBhAHQAVgBlAHIAcwBpAG8AbgA6ADEALgAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAcwAuAEMAbwB1AG4AdAA6ADEANgANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAzADkAMwAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAFMAcABsAGkAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMgAsACAANAA2ADkADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMAA3ADgAOQA3ADgANwAtAGYAZgBhADcALQA0AGYAZgAyAC0AYgBjADcANAAtAGMAMwAzAGYAZgBmAGEAMAAzAGEAYgBiAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUARwByAG8AdQBwAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKACAARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBHAHIAbwB1AHAAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADIAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGIAOAAwADQANgAwADgALQBhADQAOAA5AC0ANAAxAGYAYgAtAGIANAA1ADQALQBjAGIANwA3AGMANQA3AGUANgA1AGIANQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADIALAAgADQANAA5AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATABvAGMAYQBsAFYAYQByAGkAYQBiAGwAZQANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADMAZAAwADkAZABmADEALQAzAGUANgAzAC0ANAA2ADMANQAtAGIAOQA4ADYALQA1AGUAZgBhADEAZgA2AGEANABhADUAOQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBwAHUAUgBlAGcAaQBzAHQAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAAZgA3ADMANwAxADEAMgAtAGIAMgA1ADcALQA0ADMAZAAxAC0AYgA5AGYAMwAtAGIAZAA2ADUAZABlADgAZQAxAGYANgAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwASQBPAFIAZQBnAGkAcwB0AGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiAGMAZgBkADUAMgA5AGEALQA2AGEAMwBhAC0ANABmADMAOAAtAGEAZAAxADYALQA2ADgAYQAwADkAYwAxADMAMgAwAGQAYwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAYQBsAGwAUwB0AGEAYwBrAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQANAA0ADgAOQAyAGUAYQAtADMAYQBjAGIALQA0AGUAYwA1AC0AOQBjAGIAMAAtADYAYQAxAGYAYwA0AGYAYwA1ADgANQBkAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVAByAGEAYwBlAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZgA2ADAAMwA2ADQAYgAtAGUANwA0AGEALQA0ADYAMwBkAC0AYgA3ADEANQAtAGQAMgA3ADkAOQAzADgAYwA2ADQANgAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQB2AGUAbgB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEANAA2AGIAOAA2ADYAYQAtADMAZgA0AGQALQA0AGIAOQA0AC0AYQA1ADAAMgAtAGQAMwAwADAAZQAyAGQAZABhAGIANQBiAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVwBhAHQAYwBoADEADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANAA2ADcANgAxADAANQAyAC0AOQA3AGMANAAtADQAMgBmADMALQBiAGMAYQA3AC0AMQBhADYAMgA1AGIAOQA5ADMAYgA0ADcADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABXAGEAdABjAGgAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBjADIAMgAyADUANwAzADIALQAwADUAMgA1AC0ANABmADUAZQAtAGEAMgA4AGMALQAxADYAZAA1AGEAYwBjADUANQA4AGMANwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFcAYQB0AGMAaAAzAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYAMQAzAGYAZgAyADUANwAtAGMANQAxAGEALQA0AGMAZgBhAC0AOQAyADEAMwAtAGEANwBkADAAMgBmAGMANQA0AGUAMwA3AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAVwBhAHQAYwBoADQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZABkAGMAZAA1AGQAOQBhAC0AZAAyAGQAYgAtADQAMgAxADYALQA4ADgAMgBiAC0AOAAwADIAMwAwADAAZABkAGIAYQA2AGMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQAxAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAZQBlADQAZQA2ADMANQAtAGIAZABjAGQALQA0AGIAOABiAC0AOAA1ADUAZQAtAGUAMwA2ADIAZgAxADkANQA3AGIAMQBiAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMgA5ADMALAAgADMAOAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATQBlAG0AbwByAHkAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0AGYAZQBlAGMANgA1AGIALQA1ADAAZABlAC0ANAA4ADgAMwAtADkANgA5ADIALQA3AGUAZQAwADgAMQAzADUAMgA5ADUANgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADIAOQAzACwAIAAzADgAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAE0AZQBtAG8AcgB5ADMADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQA2ADMANAA3ADUANwA5AC0ANAA0ADgAOQAtADQAYgA5ADgALQA4AGUANgA1AC0AYQBjADcAOABjADkAMwAyAGYANAAwAGEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAyADkAMwAsACAAMwA4ADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQA0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGUAMAAzADkAMgA3ADMAMAAtAGIANQBkADEALQA0ADIANwBmAC0AOQA1AGUANAAtADQAMwBlAGEAZgBmADUANAAwADYANgA4AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAYgB1AGcAQwBvAG4AcwBvAGwAZQBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgBmADgAOAAzADkANgA2AC0AZgBhADEANAAtADQAZAAxADAALQBhAGYAYwA1AC0AMwAwAGQAYQA2AGMAYQA4AGUANwBjAGQADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABGAHUAbgBjAHQAaQBvAG4ATABpAHMAdAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBmADkAZgAyAGEANwA3AGIALQAyAGEAMwA1AC0ANAA3ADMAMAAtADgAMQAzAGYALQBmAGEAYgBmAGYAYwBhAGUAOAA2ADcAZAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1AGMAMQBhADMAZgA3ADgALQAzADQAYQA5AC0ANABlADUANAAtADkANwBkAGQALQA4AGYAOAAwAGUANAA0AGUANgA0ADEAMwANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFYAYQByAGkAYQBiAGwAZQBMAGkAcwB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADAANABhADMAMwAwADkAOQAtADEANQA2ADgALQA0AGIAMgBhAC0AYgA5AGYAMwAtADAAZgBhADQAMQAxAGUAOABiADkAZQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADUAYwAxAGEAMwBmADcAOAAtADMANABhADkALQA0AGUANQA0AC0AOQA3AGQAZAAtADgAZgA4ADAAZQA0ADQAZQA2ADQAMQAzAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEEAbgBhAGwAeQBzAGkAcwBDAGgAYQByAHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZQA1AGIAYQAxAGQAMQA5AC0AMgA1AGQANgAtADQANAA1ADEALQA5ADAAZgA5AC0AYgBlAGEANQA0AGMAMQA1ADgAZQA3ADIADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBhAGwAbABHAHIAYQBwAGgADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZQBmAGMAMQA5ADgANgA3AC0AYwA4AGUAMAAtADQAZgAyADIALQA5ADUAZABlAC0AMAA3ADUANQBjADcAOQA3ADQAOQA5ADkADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANQBjADEAYQAzAGYANwA4AC0AMwA0AGEAOQAtADQAZQA1ADQALQA5ADcAZABkAC0AOABmADgAMABlADQANABlADYANAAxADMADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAcwBDAGEAbgBSAGUAYwBQAHIAbwBjAFQAaQBtAGUADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAMQAxAGMAMAAyADIAYQAtADMAYQAxADEALQA0ADYAOAA4AC0AYQBjADIAZgAtAGYAOAA4ADkAMwBjADcAYQA4ADUAZgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAyACwAIAAxADcAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgAwADcAOAA5ADcAOAA3AC0AZgBmAGEANwAtADQAZgBmADIALQBiAGMANwA0AC0AYwAzADMAZgBmAGYAYQAwADMAYQBiAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBHAHIAbwB1AHAAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUARwByAG8AdQBwAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUARwByAG8AdQBwAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKACAARABvAGMAawBhAGIAbABlAEcAcgBvAHUAcABQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMwANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADMAMgBmADYAZQAzAGQALQAyADAAZgBiAC0ANAAwAGIAOAAtADgAYgAzAGQALQBhADYANAA0AGQANAA3ADYAYgAzADQAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMwA1ADIALAAgADEANwAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAMQAxAGMAMAAyADIAYQAtADMAYQAxADEALQA0ADYAOAA4AC0AYQBjADIAZgAtAGYAOAA4ADkAMwBjADcAYQA4ADUAZgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATwB1AHQAcAB1AHQADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOABjADUAZgA2ADUAOQBjAC0ANQBiADMANAAtADQAOABmADYALQBhADgAMwA3AC0AMAA4AGEAYQAzADIAMgBmADkAZQA0ADYADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADMANQAyACwAIAAxADcAMAANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADEAMQBjADAAMgAyAGEALQAzAGEAMQAxAC0ANAA2ADgAOAAtAGEAYwAyAGYALQBmADgAOAA5ADMAYwA3AGEAOAA1AGYAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFMAbQBhAHIAdABCAHIAbwB3AHMAZQByAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADMAZABmADcAMwBhAGYAMwAtAGIANgBjADkALQA0ADUANQBlAC0AYgBmADEAMQAtAGEAOQA1ADYAOQAzAGMAOQA0ADcAOAA5AA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGQAMQAxAGMAMAAyADIAYQAtADMAYQAxADEALQA0ADYAOAA4AC0AYQBjADIAZgAtAGYAOAA4ADkAMwBjADcAYQA4ADUAZgBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIAAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAHkAdABoAG8AbgBDAG8AbgBzAG8AbABlAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABMAGUAZgB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgAyADYAOQAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADIADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGYAYgAwADIANAA0AGQAMAAtADgANgA3ADAALQA0AGUAZABiAC0AYgAxAGMAYwAtADQANABlAGUAYwBhADgAYgBhADkAYQBmAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEkAbgBDAGEAcgBUAG8AbwBsAHMAQwBhAHQAZQBsAG8AZwANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANgBmADgAYgBmADQAZgA2AC0ANgBiADUANQAtADQAMgA1ADIALQA4ADkAYgA1AC0AYwAwADYAYgBjADQANABhAGYAOAA3ADMADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANQA3ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUwB0AGEAcgB0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBmADUAZgAxAGEAMwBjADcALQAwAGIAOQAxAC0ANAA3ADkANAAtADkAZAA0AGEALQBjADIAOABhADkAYgAxAGYAZQA3AGUANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADkANQAsACAANgA0ADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUAByAG8AagBlAGMAdABUAHIAZQBlAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADMAOAA3ADIAOAAzADMALQAzAGYAMwAxAC0ANABhAGMAYwAtADgAOAA5ADIALQA3ADcAZAA0ADcANwAwAGEAZQBhADQAYQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAzADUAMAAsACAANQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoAMwA1ADAALAAgADUAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAUwBtAGEAcgB0AE0AYQBuAHUAYQBsAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4ADIAOABmADQAMgA5ADMALQBlAGIAZgAwAC0ANAAyADQAMwAtADkAZAAwADAALQA5AGEAMQAyADYANQBjADIAOQBiADkAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADUANwAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFAAcgBvAHAAZQByAHQAeQBHAHIAaQBkAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGEANQA4ADUAYwA4AGMALQAwADIANABkAC0ANAA0ADEAMQAtADgAMwBiAGQALQA2ADUANQBkAGUANwAzADkAZgAxADQAYQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA3ADQALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAbQBvAHIAeQBNAGEAcABwAGkAbgBnAFAAcgBvAGYAaQBsAGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAOQA3ADkAZAA0ADkAMgA0AC0AYQA1AGEAOAAtADQAMwBkADEALQBiAGMANAA5AC0ANgA3ADYAYwBjADcAYgA4AGMANgAwADQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA1ADcALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQAxAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAzAGIAMABjADcAOAA2AGEALQA4ADMAZgBjAC0ANABiAGIAOQAtAGIAZQA4AGUALQBmADkAYgA5ADgAZQAxADQAMAA3AGIANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoANAA3ADQALAAgADYAMgAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABEAGkAcwBhAHMAcwBlAG0AYgBsAGUAMgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAZgA4ADUANgA2AGIAYgA5AC0ANgA3AGIAMQAtADQAOQAxAGQALQBiAGEAOQBlAC0ANwA1ADQAYQA5AGMAZABmADQAZQA0AGQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADQANwA0ACwAIAA2ADIAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABpAHMAYQBzAHMAZQBtAGIAbABlADMADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcAZgBlADUANQBkAGQAYgAtADQAZQBmADEALQA0AGMAZgAxAC0AOQBlADcAOAAtADgAZQBjAGYAYQA1ADAAZQBlAGEANwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA0ADcANAAsACAANgAyADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOQA2AGUAZQA5ADMANgAtADMAZABlAGYALQA0ADYAMwBkAC0AOAAzADAANgAtADcANAA2ADYANwBjADIANgAyADQAOAA1AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEQAaQBzAGEAcwBzAGUAbQBiAGwAZQA0AA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA1ADUANQBlAGUAOAA0AGMALQA5ADMAYgAzAC0ANABkAGEAOQAtADgAYwAzAGEALQBmAGYAZQA1AGQAZAA0ADAAZAAwADcANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADkANgBlAGUAOQAzADYALQAzAGQAZQBmAC0ANAA2ADMAZAAtADgAMwAwADYALQA3ADQANgA2ADcAYwAyADYAMgA0ADgANQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAbABhAHMAcwBNAGUAbQBiAGUAcgANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMgBkAGMANAAyADMAYwA2AC0AYwA2AGMAZAAtADQAYwBhADMALQA5ADgAYgBkAC0AOAA4AGUAZgAzAGYAMABiADgAYQAyAGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQA5ADYAZQBlADkAMwA2AC0AMwBkAGUAZgAtADQANgAzAGQALQA4ADMAMAA2AC0ANwA0ADYANgA3AGMAMgA2ADIANAA4ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwATwByAHQAaABvAGcAbwBuAGEAbABBAG4AYQBsAHkAcwBpAHMADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZQA5ADcAMQAxAGEAZAAtADEANQAwAGQALQA0ADcAOAA5AC0AYgA3AGQAMQAtADIAZQA2ADQAOQA5ADAANQA4ADQAMQA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAEIAbwB0AHQAbwBtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA4ADQAMwAsACAAMQAzADgADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6ADkAMAAyACwAIAAxADMAOAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBIAG8AcgBpAHoAbwBuAHQAYQBsAFMAcABsAGkAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkADYAYgBkADEAYQA5ADkALQAxADYAOAA4AC0ANAAyAGQAOAAtADgAYQBjADYALQAxADcAMwBhADEANQAwADkAZQAyAGQAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgA5ADAAMgAsACAAMQAzADgADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADQAZQA5ADcAMQAxAGEAZAAtADEANQAwAGQALQA0ADcAOAA5AC0AYgA3AGQAMQAtADIAZQA2ADQAOQA5ADAANQA4ADQAMQA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARQByAHIAbwByAEwAaQBzAHQADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADkAMAA4AGQAYQA3ADQAMwAtADgANgAwADMALQA0ADIANwA2AC0AYgAzAGUAZgAtADEANgAwADEAZAAyADAAMAA5ADMANwA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA3ADAAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADYANAA5AGQAOQAzADcAOAAtADYANAA5ADcALQA0ADUAYgA0AC0AYgBlADgANAAtADYAMgBiADAANwAyAGUAMwA5ADAAMgA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADkAMAA4AGQAYQA3ADQAMwAtADgANgAwADMALQA0ADIANwA2AC0AYgAzAGUAZgAtADEANgAwADEAZAAyADAAMAA5ADMANwA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoARABlAHYAaQBjAGUAVABvAHAAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGEAYgAyADYAMAA1ADkALQAzADMANABlAC0ANAAzADgANQAtADgAMgAzADEALQAxAGEANAAzADYAYQBmADYAZAAzADYAZAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA0AGIAZQBhADQAZgA4AGMALQA3ADEAMwA5AC0ANAA0AGIAZQAtAGEAMQBhADAALQA2ADQAMABkADMAYQA0ADIAMABmADMAZAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA4AGEAYgAyADYAMAA1ADkALQAzADMANABlAC0ANAAzADgANQAtADgAMgAzADEALQAxAGEANAAzADYAYQBmADYAZAAzADYAZAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAEwAaQBzAHQAUABhAG4AZQBsAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhAGIAYgA4AGQAOABiADcALQA2ADYAMwA2AC0ANABhAGEANwAtAGEAYgBmAGUALQA0AGEAMABjADkAMQAzADAAYwAwADkAYgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAwAGMAZgBmADcAZgA5ADYALQAyADYANgBjAC0ANAAyADEAOQAtADkAZgA2AGYALQAwADcAOAAzADEAOAA3ADMAYwA3ADQANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhAGIAYgA4AGQAOABiADcALQA2ADYAMwA2AC0ANABhAGEANwAtAGEAYgBmAGUALQA0AGEAMABjADkAMQAzADAAYwAwADkAYgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AE0AYQBjAHIAbwBQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIAMAA5AGQAOQA3ADQANQAtAGUAMgA1AGIALQA0ADkAYQA3AC0AYQBkADcAMgAtADMAOQAxADgAZQBlAGMAYwBjADQANQA0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA3ADAAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIAMwA2ADQAOQBiAGEAMQAtADkANgA5ADQALQA0ADkAMgA2AC0AYQBkAGEAMgAtADcAOQBiADAAYwA5ADQAMgA1ADIAOQBhAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIAMAA5AGQAOQA3ADQANQAtAGUAMgA1AGIALQA0ADkAYQA3AC0AYQBkADcAMgAtADMAOQAxADgAZQBlAGMAYwBjADQANQA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAVABlAHgAdABQAGEAbgBlAGwADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEAZgBkADkANgBlAGYANgAtADcANQBiAGQALQA0AGUAMgA3AC0AYQBhADIAOAAtADAAMAA5ADAANwAwADgAOABmAGEAZgBkAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAMgA1ADYALAAgADIANQA2AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAxADIANAA4ACwAIAAzADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADEAOAAzAGQAZQA0AGQAMAAtADQAZAA2AGEALQA0AGQAMAA2AC0AYgA2ADAANgAtADYAMgAyAGYAZAAxADIAZQAwADgAZQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYQBmAGQAOQA2AGUAZgA2AC0ANwA1AGIAZAAtADQAZQAyADcALQBhAGEAMgA4AC0AMAAwADkAMAA3ADAAOAA4AGYAYQBmAGQADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoARgBhAGwAcwBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwARABlAGIAdQBnAE0AYQBuAGEAZwBlAHIADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEAMQA2AGMAMwA5AGUAOQAtAGYAMgAyAGEALQA0AGQAMwBkAC0AOQBiADgAMQAtADkANQBiAGYAYQAyADkAMwA2AGEAMQA0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOAAwADAALAAgADYAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgA3ADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgAxADgAOQA3ADQAZQBmAGQALQA2AGEAYwA5AC0ANAAyAGEANAAtAGIAMQBmADIALQA0AGEAZQAyADQAZAAzADEAYgBlADUAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGEAMQA2AGMAMwA5AGUAOQAtAGYAMgAyAGEALQA0AGQAMwBkAC0AOQBiADgAMQAtADkANQBiAGYAYQAyADkAMwA2AGEAMQA0AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAFYAaQByAHQAdQBhAGwAQgBvAGEAcgBkAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhADQAZgAwADQAMgAxADcALQA4AGYAOABmAC0ANABkADUAOQAtADgAMABmADUALQBkADMAYgBkADQAYQBhAGMAOQA3AGYAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBEAG8AYwBrAGUAZABSAGkAZwBoAHQADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADkANQAsACAANwAwADkADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARgBsAG8AYQB0AGkAbgBnAEwAbwBjAGEAdABpAG8AbgA6AC0AMQAsACAALQAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA2ADUAZQAwADgAOAA0ADgALQA0ADcAYQBiAC0ANAA3ADQANgAtAGIAOAA1ADYALQAxADgAZgA1AGMANwAxADcAMgA4ADIANgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBhADQAZgAwADQAMgAxADcALQA4AGYAOABmAC0ANABkADUAOQAtADgAMABmADUALQBkADMAYgBkADQAYQBhAGMAOQA3AGYAOQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AEQAZQB2AGkAYwBlAFAAaQBuAEwAaQBzAHQARgBvAHIAbQANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMwA4ADUAMQA5ADcAZABiAC0AZABiAGQAYwAtADQAOAA2AGQALQA4ADMAZgBiAC0ANQAyADEAZAA0ADUANABmADkAYgA3ADIADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADcAMAA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANwA5ADMAZQA3ADgANwAxAC0ANgBjADAANQAtADQANABkAGQALQA5ADEANgA5AC0ANgBmADYAMwA1AGUAZAAxADYANQBhADcADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMwA4ADUAMQA5ADcAZABiAC0AZABiAGQAYwAtADQAOAA2AGQALQA4ADMAZgBiAC0ANQAyADEAZAA0ADUANABmADkAYgA3ADIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBEAGUAdgBpAGMAZQBUAG8AcABWAGkAZQB3AEYAbwByAG0ADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAOABjADIAZgBlADQAZgAtADcAZAA2ADUALQA0ADMANgA2AC0AYgAzAGEAMQAtAGUAOAA4AGIAZAA3ADEAZQA1ADMANwA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEQAbwBjAGsAZQBkAFIAaQBnAGgAdAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoAOQA1ACwAIAA3ADAAOQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoALQAxACwAIAAtADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBoAGkAbABkAFAAYQBuAGUAUwB0AHkAbABlADoAVABhAGIARwByAG8AdQBwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFAAYQBuAGUAcwAuAEMAbwB1AG4AdAA6ADEADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBlAGwAZQBjAHQAZQBkAFQAYQBiAEkAbgBkAGUAeAA6ADAADQAKAC0ALQBEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC0ALQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADIANgAzADYANQAzADYAYgAtADUANAAyAGQALQA0AGIAZAA1AC0AYQAzAGYAZAAtADUANwBlADQAMgBlADQANwBkADcANgA3AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBDAGwAbwBzAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFMAaQB6AGUAOgAxADAAMAAsACAAMQAwADAADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEQAbwBjAGsAZQBkAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6AGMAOABjADIAZgBlADQAZgAtADcAZAA2ADUALQA0ADMANgA2AC0AYgAzAGEAMQAtAGUAOAA4AGIAZAA3ADEAZQA1ADMANwA5AA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABGAGwAbwBhAHQAaQBuAGcALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFQAeQBwAGUAOgBEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBJAHMATQBkAGkAQwBoAGkAbABkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAbwBkAGUAUABhAHIAdAANAAoALQAtAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC0ALQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANAAxAGYANAAyADkAOABlAC0AMQAzAGYANwAtADQAZAAxADIALQBhADMANwAyAC0AMgBhAGIAZAAyADkAYgBlADQAZgA3ADUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ARABvAGMAawBlAGQATABvAGMAYQB0AGkAbwBuADoARABvAGMAawBlAGQAUgBpAGcAaAB0AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAbABvAHMAZQBkADoARgBhAGwAcwBlAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAaQB6AGUAOgA5ADUALAAgADcAMAA5AA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAMQBhADIAOAAxADQAYgBkAC0AMwA3AGYAOQAtADQANAAxAGYALQA4ADcANgAyAC0ANgBlADgANgA5ADAAMwAwADAAZgA5AGIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoANAAxAGYANAAyADkAOABlAC0AMQAzAGYANwAtADQAZAAxADIALQBhADMANwAyAC0AMgBhAGIAZAAyADkAYgBlADQAZgA3ADUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBGAGwAeQBvAHUAdABTAGkAegBlADoALQAxACwAIAAtADEADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAFAAaQBuAG4AZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AQwBvAG4AdAByAG8AbAAuAE4AYQBtAGUAOgBQAGEAbgBlAGwAQwBvAGQAZQBQAGEAcgB0AFAAcgBlAHYAaQBlAHcADQAKAC0ALQBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAtAC0ADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADkAZAA0ADkAMABiADIANQAtADUAMAA1AGYALQA0AGIANQBlAC0AOABmADgANQAtADgAMwAwAGYAMQBkADgAOQA4ADgAOQAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEQAbwBjAGsAZQBkAEwAbwBjAGEAdABpAG8AbgA6AEYAbABvAGEAdABpAG4AZwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGwAbwBzAGUAZAA6AEYAYQBsAHMAZQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGkAegBlADoANgAwADAALAAgADUAMAAwAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEYAbABvAGEAdABpAG4AZwBMAG8AYwBhAHQAaQBvAG4AOgAtADEALAAgAC0AMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoAYwBkADYAYwA5ADUANwAwAC0AYwA4ADAAMQAtADQAYgA2ADYALQBhAGIAMQBiAC0AZgAxADMAOAAzADQAZgAzADQANgBlAGUADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA5AGQANAA5ADAAYgAyADUALQA1ADAANQBmAC0ANABiADUAZQAtADgAZgA4ADUALQA4ADMAMABmADEAZAA4ADkAOAA4ADkAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABQAHMAZQB1AGQAbwBFAHIAcgBvAHIARABlAGIAdQBnAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgA3ADYAMgBkADcAOAAxAGUALQBjADQANwA3AC0ANAA3AGYANQAtADkAYgA0ADYALQBhAGQAOABlADgANQA2ADYAMwBjAGMAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBGAGwAbwBhAHQAaQBuAGcADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADUAMAAwACwAIAA1ADAAMAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoAMQAwADAANAAsACAAMwAyAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEMAaABpAGwAZABQAGEAbgBlAFMAdAB5AGwAZQA6AFQAYQBiAEcAcgBvAHUAcAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBQAGEAbgBlAHMALgBDAG8AdQBuAHQAOgAxAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAOgAwAA0ACgAtAC0ARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAtAC0ADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBiADMAZQBiADIAMwA5ADIALQAzADkAMAAyAC0ANAAxAGIANAAtADgAZQA4ADcALQBkADIANgA3AGIAOQBlADQAMQAyADQANwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AQwBsAG8AcwBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBTAGkAegBlADoAMQAwADAALAAgADEAMAAwAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBQAGEAcgBlAG4AdABEAG8AYwBrAGUAZAAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARgBsAG8AYQB0AGkAbgBnAC4ASQBuAHQAZQByAG4AYQBsAEkAZAA6ADcANgAyAGQANwA4ADEAZQAtAGMANAA3ADcALQA0ADcAZgA1AC0AOQBiADQANgAtAGEAZAA4AGUAOAA1ADYANgAzAGMAYwAyAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBUAHkAcABlADoARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ASQBzAE0AZABpAEMAaABpAGwAZAA6AEYAYQBsAHMAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4ARgBsAHkAbwB1AHQAUwBpAHoAZQA6AC0AMQAsACAALQAxAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBQAGkAbgBuAGUAZAA6AFQAcgB1AGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEMAbwBuAHQAcgBvAGwALgBOAGEAbQBlADoAUABhAG4AZQBsAEMAQQBOAFIAZQBjAGUAaQB2AGUARABlAGIAdQBnAA0ACgAtAC0ARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALQAtAA0ACgBEAG8AYwBrAEEAcgBlAGEAUABhAG4AZQAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGYAMQAzADYAYgA0AGIALQBkAGQAMABlAC0ANABkADYANAAtADkANgA2AGIALQBjADEAZAAzADkAYQA2ADQAMgAxADUAYwANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBEAG8AYwBrAGUAZABMAG8AYwBhAHQAaQBvAG4AOgBGAGwAbwBhAHQAaQBuAGcADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AQwBsAG8AcwBlAGQAOgBGAGEAbABzAGUADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUwBpAHoAZQA6ADgAMAAwACwAIAA1ADAAMAANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBGAGwAbwBhAHQAaQBuAGcATABvAGMAYQB0AGkAbwBuADoANwAwADQALAAgADMAMgANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBDAGgAaQBsAGQAUABhAG4AZQBTAHQAeQBsAGUAOgBUAGEAYgBHAHIAbwB1AHAADQAKAEQAbwBjAGsAQQByAGUAYQBQAGEAbgBlAC4AUABhAG4AZQBzAC4AQwBvAHUAbgB0ADoAMQANAAoARABvAGMAawBBAHIAZQBhAFAAYQBuAGUALgBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4ADoAMAANAAoALQAtAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALQAtAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBQAGEAbgBlAEIAYQBzAGUALgBJAG4AdABlAHIAbgBhAGwASQBkADoANAA1AGIAYwA2ADMANgA1AC0AZgA2ADQANgAtADQAMQBkADEALQBiADIAMAA0AC0AZQBjADQANgAwADEAZAA2ADIAZAAyADIADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAEMAbABvAHMAZQBkADoAVAByAHUAZQANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUwBpAHoAZQA6ADEAMAAwACwAIAAxADAAMAANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AUABhAHIAZQBuAHQARABvAGMAawBlAGQALgBJAG4AdABlAHIAbgBhAGwASQBkADoADQAKACAARABvAGMAawBhAGIAbABlAFAAYQBuAGUAQgBhAHMAZQAuAFAAYQByAGUAbgB0AEYAbABvAGEAdABpAG4AZwAuAEkAbgB0AGUAcgBuAGEAbABJAGQAOgBkAGYAMQAzADYAYgA0AGIALQBkAGQAMABlAC0ANABkADYANAAtADkANgA2AGIALQBjADEAZAAzADkAYQA2ADQAMgAxADUAYwANAAoAIABEAG8AYwBrAGEAYgBsAGUAUABhAG4AZQBCAGEAcwBlAC4AVAB5AHAAZQA6AEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEkAcwBNAGQAaQBDAGgAaQBsAGQAOgBGAGEAbABzAGUADQAKACAARABvAGMAawBhAGIAbABlAEMAbwBuAHQAcgBvAGwAUABhAG4AZQAuAEYAbAB5AG8AdQB0AFMAaQB6AGUAOgAtADEALAAgAC0AMQANAAoAIABEAG8AYwBrAGEAYgBsAGUAQwBvAG4AdAByAG8AbABQAGEAbgBlAC4AUABpAG4AbgBlAGQAOgBUAHIAdQBlAA0ACgAgAEQAbwBjAGsAYQBiAGwAZQBDAG8AbgB0AHIAbwBsAFAAYQBuAGUALgBDAG8AbgB0AHIAbwBsAC4ATgBhAG0AZQA6AFAAYQBuAGUAbABNAGUAcwBDAHUAcgBDAG8AbgBzAHUAbQBwAHQAaQBvAG4ADQAKAA== + PABTAE8AQQBQAC0ARQBOAFYAOgBFAG4AdgBlAGwAbwBwAGUAIAB4AG0AbABuAHMAOgB4AHMAaQA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhAC0AaQBuAHMAdABhAG4AYwBlACIAIAB4AG0AbABuAHMAOgB4AHMAZAA9ACIAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHcAMwAuAG8AcgBnAC8AMgAwADAAMQAvAFgATQBMAFMAYwBoAGUAbQBhACIAIAB4AG0AbABuAHMAOgBTAE8AQQBQAC0ARQBOAEMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiACAAeABtAGwAbgBzADoAUwBPAEEAUAAtAEUATgBWAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgB4AG0AbABzAG8AYQBwAC4AbwByAGcALwBzAG8AYQBwAC8AZQBuAHYAZQBsAG8AcABlAC8AIgAgAHgAbQBsAG4AcwA6AGMAbAByAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AcwBvAGEAcAAvAGUAbgBjAG8AZABpAG4AZwAvAGMAbAByAC8AMQAuADAAIgAgAFMATwBBAFAALQBFAE4AVgA6AGUAbgBjAG8AZABpAG4AZwBTAHQAeQBsAGUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAHgAbQBsAHMAbwBhAHAALgBvAHIAZwAvAHMAbwBhAHAALwBlAG4AYwBvAGQAaQBuAGcALwAiAD4ADQAKADwAUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AGEAMQA6AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxACIAIAB4AG0AbABuAHMAOgBhADEAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkAIgA+AA0ACgA8AE8AYgBqAGUAYwB0AFMAdAByAGUAYQBtAGUAcgBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAGkAZAA9ACIAcgBlAGYALQA1ACIAPgBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpADwALwBPAGIAagBlAGMAdABTAHQAcgBlAGEAbQBlAHIAQQBzAHMAZQBtAGIAbAB5AE4AYQBtAGUAPgANAAoAPABUAGEAYgBTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANgAiAC8APgANAAoAPABIAGkAZABkAGUAbgBUAGEAYgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADcAIgAvAD4ADQAKADwAVABhAGIARwByAG8AdQBwAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AOAAiAC8APgANAAoAPABNAGEAeABUAGEAYgBHAHIAbwB1AHAAcwA+ADQAPAAvAE0AYQB4AFQAYQBiAEcAcgBvAHUAcABzAD4ADQAKADwAQQBjAHQAaQB2AGUAVABhAGIARwByAG8AdQBwAEkAbgBkAGUAeAA+ADAAPAAvAEEAYwB0AGkAdgBlAFQAYQBiAEcAcgBvAHUAcABJAG4AZABlAHgAPgANAAoAPABTAHAAbABpAHQAdABlAHIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA5ACIALwA+AA0ACgA8AFMAcABsAGkAdAB0AGUAcgBCAG8AcgBkAGUAcgBTAHQAeQBsAGUAPgA2ADwALwBTAHAAbABpAHQAdABlAHIAQgBvAHIAZABlAHIAUwB0AHkAbABlAD4ADQAKADwAVgBpAGUAdwBTAHQAeQBsAGUAPgA0ADwALwBWAGkAZQB3AFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAwACIALwA+AA0ACgA8AC8AYQAxADoATwBiAGoAZQBjAHQAUwB0AHIAZQBhAG0AZQByAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAUwBlAHQAdABpAG4AZwBzACAAaQBkAD0AIgByAGUAZgAtADYAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAYwB0AGkAdgBlAFQAYQBiAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMQAxACIALwA+AA0ACgA8AEQAaQBzAHAAbABhAHkARgBvAHIAbQBJAGMAbwBuAD4AMQA8AC8ARABpAHMAcABsAGEAeQBGAG8AcgBtAEkAYwBvAG4APgANAAoAPABIAG8AdABUAHIAYQBjAGsAPgAxADwALwBIAG8AdABUAHIAYQBjAGsAPgANAAoAPABTAGUAbABlAGMAdABlAGQAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADIAIgAvAD4ADQAKADwAVABhAGIAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAxADMAIgAvAD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADIAOgBIAGkAZABkAGUAbgBNAGQAaQBUAGEAYgBzAEMAbwBsAGwAZQBjAHQAaQBvAG4AIABpAGQAPQAiAHIAZQBmAC0ANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQwBvAHUAbgB0AD4AMQA3ADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANAAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANQAiAC8APgANAAoAPABfAHgAMAAwADMAMgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANgAiAC8APgANAAoAPABfAHgAMAAwADMAMwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEANwAiAC8APgANAAoAPABfAHgAMAAwADMANABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOAAiAC8APgANAAoAPABfAHgAMAAwADMANQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADEAOQAiAC8APgANAAoAPABfAHgAMAAwADMANgBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMAAiAC8APgANAAoAPABfAHgAMAAwADMANwBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMQAiAC8APgANAAoAPABfAHgAMAAwADMAOABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMgAiAC8APgANAAoAPABfAHgAMAAwADMAOQBfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAMwAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADAAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA0ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8AMQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADUAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwAyACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIANgAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADMAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMgA3ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8ANAAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAyADgAIgAvAD4ADQAKADwAXwB4ADAAMAAzADEAXwA1ACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADIAOQAiAC8APgANAAoAPABfAHgAMAAwADMAMQBfADYAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAwACIALwA+AA0ACgA8AC8AYQAyADoASABpAGQAZABlAG4ATQBkAGkAVABhAGIAcwBDAG8AbABsAGUAYwB0AGkAbwBuAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIARwByAG8AdQBwAHMAQwBvAGwAbABlAGMAdABpAG8AbgAgAGkAZAA9ACIAcgBlAGYALQA4ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAG8AdQBuAHQAPgAxADwALwBDAG8AdQBuAHQAPgANAAoAPABfAHgAMAAwADMAMABfACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMAMQAiAC8APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABzAEMAbwBsAGwAZQBjAHQAaQBvAG4APgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADkAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwAyACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAIABpAGQAPQAiAHIAZQBmAC0AMQAwACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABDAGwAbwBzAGUAQgB1AHQAdABvAG4AQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADMAIgAvAD4ADQAKADwAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANAAiAC8APgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADMANQAiAC8APgANAAoAPABUAGEAYgBBAHIAZQBhAEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA2ACIALwA+AA0ACgA8AFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+ADEAPAAvAFMAaABvAHcAVABhAGIATABpAHMAdABCAHUAdAB0AG8AbgA+AA0ACgA8AFQAYQBiAEIAdQB0AHQAbwBuAFMAdAB5AGwAZQA+ADEANgA8AC8AVABhAGIAQgB1AHQAdABvAG4AUwB0AHkAbABlAD4ADQAKADwAUwBjAHIAbwBsAGwAQQByAHIAbwB3AFMAdAB5AGwAZQA+ADIAPAAvAFMAYwByAG8AbABsAEEAcgByAG8AdwBTAHQAeQBsAGUAPgANAAoAPABTAGMAcgBvAGwAbABCAHUAdAB0AG8AbgBzAD4AMwA8AC8AUwBjAHIAbwBsAGwAQgB1AHQAdABvAG4AcwA+AA0ACgA8AFQAYQBiAFMAdAB5AGwAZQA+ADIAPAAvAFQAYQBiAFMAdAB5AGwAZQA+AA0ACgA8AFQAYQBiAEEAcgBlAGEATQBhAHIAZwBpAG4AcwAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADcAIgAvAD4ADQAKADwAQwBsAG8AcwBlAEIAdQB0AHQAbwBuAEwAbwBjAGEAdABpAG8AbgA+ADIAPAAvAEMAbABvAHMAZQBCAHUAdAB0AG8AbgBMAG8AYwBhAHQAaQBvAG4APgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAEcAcgBvAHUAcABTAGUAdAB0AGkAbgBnAHMAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADEAMQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQAzADgAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAxADIAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0AMwA5ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMQAzACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAMAAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADQAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADkAOQAwADYANwAzADAAMAAyADwALwBfAGEAPgANAAoAPABfAGIAPgAtADMAMQA3ADQAOAA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADMAOAA1ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADkAMAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA0ADIAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADIANAA5ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADgANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA0ADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMAA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANwA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA4ADIAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAMwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADUAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMQAyADgANQA1ADQAMAA1ADUAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIANgA1ADQANQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA4ADcAMQA3ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADgANgA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA1ADgAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMQA3ADwALwBfAGYAPgANAAoAPABfAGcAPgA3ADQAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADEANQA2ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADIAMwA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANwA4ADwALwBfAGoAPgANAAoAPABfAGsAPgA3ADcAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEANAA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADYAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADIAMQA0ADUANwAzADgAMgAwADMAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMAAyADAAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADYAOQA3ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADUAOAA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQAyADAAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEANAAyADwALwBfAGYAPgANAAoAPABfAGcAPgAyADAANwA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA2ADUAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEANAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMgAzADQAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMgA2ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADUAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMQA3ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAxADYAOAA4ADAANAA4ADUAMAA0ADwALwBfAGEAPgANAAoAPABfAGIAPgAyADUANwA1ADEAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANwA4ADQANAA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA5ADAAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAMwAyADwALwBfAGUAPgANAAoAPABfAGYAPgA5ADgAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEANwA2ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADEANAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAyADcAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANAA0ADwALwBfAGoAPgANAAoAPABfAGsAPgA0ADEAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEANwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAxADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADEAMgA3ADMANgA0ADYAOQA4ADgAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAOAA5ADgANQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA3ADUAOQA4ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADYAMQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQA2ADAAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMAAwADwALwBfAGYAPgANAAoAPABfAGcAPgAxADMAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADUAOAA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANgA2ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADUAPAAvAF8AagA+AA0ACgA8AF8AawA+ADYAMQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADEAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMgAxADgAMAA3ADAAOQAzADQAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADkAOAAzADYAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANgA5ADIAMQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA1ADkAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAMQAxADwALwBfAGUAPgANAAoAPABfAGYAPgA3ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADMAMQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgA0ADwALwBfAGgAPgANAAoAPABfAGkAPgAxADEANQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA5ADkAPAAvAF8AagA+AA0ACgA8AF8AawA+ADcAMAA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQA5ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAMAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANQA5ADMANwA5ADYAMAAwADEAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMgA2ADkAOAA4ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADgANwAyADYAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANwAzADwALwBfAGQAPgANAAoAPABfAGUAPgAxADYAMgA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQAyADEAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEANwA2ADwALwBfAGcAPgANAAoAPABfAGgAPgAyADAAMQA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANgA2ADwALwBfAGkAPgANAAoAPABfAGoAPgA4ADIAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEANQA0ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAyADAAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgAxACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAxADcAMAA5ADIAMQAzADcANgA4ADwALwBfAGEAPgANAAoAPABfAGIAPgAxADgAMwA0ADcAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOAAyADQANgA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA4ADQAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADgANgA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMgA0ADwALwBfAGYAPgANAAoAPABfAGcAPgAyADQANQA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA5ADkAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMwA8AC8AXwBpAD4ADQAKADwAXwBqAD4ANAAwADwALwBfAGoAPgANAAoAPABfAGsAPgAzADgAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADIAMQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADIAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+ADIAMAAzADQAMQAzADcAMgAwADEAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIANwA2ADUAMwA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA3ADYAMgA5ADwALwBfAGMAPgANAAoAPABfAGQAPgAxADQANQA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMQAwADUAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMQAxADwALwBfAGYAPgANAAoAPABfAGcAPgA5ADkAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADkANAA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMgAwADkAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEAMAAxADwALwBfAGoAPgANAAoAPABfAGsAPgAxADYANwA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgAyADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIAMwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANwA3ADgAMAAzADYANwAzADwALwBfAGEAPgANAAoAPABfAGIAPgA1ADQAOAAwADwALwBfAGIAPgANAAoAPABfAGMAPgAxADkAMgA0ADIAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAOAA1ADwALwBfAGQAPgANAAoAPABfAGUAPgAyADQAMwA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA1ADwALwBfAGYAPgANAAoAPABfAGcAPgAxADYANAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA3ADwALwBfAGgAPgANAAoAPABfAGkAPgAyADMAMgA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA4ADUAPAAvAF8AagA+AA0ACgA8AF8AawA+ADIAMgA3ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA3ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ALQA4ADMANwAzADcAMwA5ADIAPAAvAF8AYQA+AA0ACgA8AF8AYgA+AC0AMwAxADEAMgAwADwALwBfAGIAPgANAAoAPABfAGMAPgAyADAAMQA4ADcAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANwA3ADwALwBfAGQAPgANAAoAPABfAGUAPgAyADAANAA8AC8AXwBlAD4ADQAKADwAXwBmAD4ANgA4ADwALwBfAGYAPgANAAoAPABfAGcAPgAyADMAOAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMgAwADIAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADEAMwA5ADwALwBfAGkAPgANAAoAPABfAGoAPgAxADYAOQA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQA3ADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADkAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA1ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgA3ADYANwA4ADIAOAA5ADMANAA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQAxADQANgA0ADMAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEAOQA2ADEAOQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQA1ADIAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAOAA5ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADMANgA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMgAzADkAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADYAMwA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQAxADwALwBfAGkAPgANAAoAPABfAGoAPgAxADMAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANAAzADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADYAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA2ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgAtADQANAAwADcAOAA3ADYAOAA3ADwALwBfAGEAPgANAAoAPABfAGIAPgA5ADYAOAA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANAA4ADkAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANAA0ADwALwBfAGQAPgANAAoAPABfAGUAPgAyADQAOQA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA5ADAAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEANgA1ADwALwBfAGcAPgANAAoAPABfAGgAPgA3ADYAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADIAMQA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA0ADIAPAAvAF8AagA+AA0ACgA8AF8AawA+ADEAMQA0ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA4ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADIANwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4AMQA4ADcAMQA0ADQAMwAxADkAMAA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMgA3ADQANwA3ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADYAOQA3ADgAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwA3ADwALwBfAGQAPgANAAoAPABfAGUAPgAxADgAMQA8AC8AXwBlAD4ADQAKADwAXwBmAD4AMQA5ADIAPAAvAF8AZgA+AA0ACgA8AF8AZwA+ADEAMAA3ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADkANgA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANwA0ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADQAOAA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQAxADUAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAMAA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQAyADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMQA5ADcAMwA5ADIAMAA2ADIAOAA8AC8AXwBhAD4ADQAKADwAXwBiAD4ANQA4ADkAPAAvAF8AYgA+AA0ACgA8AF8AYwA+ADEANwA0ADIANQA8AC8AXwBjAD4ADQAKADwAXwBkAD4AMQAzADEAPAAvAF8AZAA+AA0ACgA8AF8AZQA+ADEAOAA5ADwALwBfAGUAPgANAAoAPABfAGYAPgAxADAAMQA8AC8AXwBmAD4ADQAKADwAXwBnAD4AOQAzADwALwBfAGcAPgANAAoAPABfAGgAPgAyADMAMQA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANQA3ADwALwBfAGkAPgANAAoAPABfAGoAPgAyADQAMQA8AC8AXwBqAD4ADQAKADwAXwBrAD4ANwA0ADwALwBfAGsAPgANAAoAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAxADIAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0AMgA5ACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADUAOgBHAHUAaQBkACIAIAB4AG0AbABuAHMAOgBhADUAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwAvAFMAeQBzAHQAZQBtACIAPgANAAoAPABfAGEAPgA0ADMAOAA4ADMANAAzADYANQA8AC8AXwBhAD4ADQAKADwAXwBiAD4AMQA0ADMAMgA5ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADcANAAzADkAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEAMwA1ADwALwBfAGQAPgANAAoAPABfAGUAPgA5ADgAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADEAMQAwADwALwBfAGYAPgANAAoAPABfAGcAPgAxADMANAA8AC8AXwBnAD4ADQAKADwAXwBoAD4AMQA0ADQAPAAvAF8AaAA+AA0ACgA8AF8AaQA+ADQAOAA8AC8AXwBpAD4ADQAKADwAXwBqAD4AMQA1ADwALwBfAGoAPgANAAoAPABfAGsAPgAxADUANQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMgA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADMAMAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA1ADoARwB1AGkAZAAiACAAeABtAGwAbgBzADoAYQA1AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMALwBTAHkAcwB0AGUAbQAiAD4ADQAKADwAXwBhAD4ANgA0ADEAMAA5ADQANQAwADcAPAAvAF8AYQA+AA0ACgA8AF8AYgA+ADIAMQA1ADQAOQA8AC8AXwBiAD4ADQAKADwAXwBjAD4AMQA5ADQAMQAzADwALwBfAGMAPgANAAoAPABfAGQAPgAxADYAMwA8AC8AXwBkAD4ADQAKADwAXwBlAD4AMgA1ADMAPAAvAF8AZQA+AA0ACgA8AF8AZgA+ADgANwA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMgAyADgAPAAvAF8AZwA+AA0ACgA8AF8AaAA+ADQANgA8AC8AXwBoAD4ADQAKADwAXwBpAD4ANwAxADwALwBfAGkAPgANAAoAPABfAGoAPgAyADEANQA8AC8AXwBqAD4ADQAKADwAXwBrAD4AMQAwADMAPAAvAF8AawA+AA0ACgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADIAMwA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgBHAHIAbwB1AHAAIABpAGQAPQAiAHIAZQBmAC0AMwAxACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABUAGEAYgBzACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQAMgAiAC8APgANAAoAPABFAHgAdABlAG4AdAA+ADUANgA0ADwALwBFAHgAdABlAG4AdAA+AA0ACgA8AEYAaQByAHMAdABEAGkAcwBwAGwAYQB5AFQAYQBiAEkAbgBkAGUAeAA+ADAAPAAvAEYAaQByAHMAdABEAGkAcwBwAGwAYQB5AFQAYQBiAEkAbgBkAGUAeAA+AA0ACgA8AFMAZQBsAGUAYwB0AGUAZABUAGEAYgBJAG4AZABlAHgAPgAzADwALwBTAGUAbABlAGMAdABlAGQAVABhAGIASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgBHAHIAbwB1AHAAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADMAMgAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADAAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgA1ADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMQA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByADIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADAAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgA2ADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMQA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgAyAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAzADMAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA0ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAIABpAGQAPQAiAHIAZQBmAC0AMwA0ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABBAHAAcABlAGEAcgBhAG4AYwBlACAAaAByAGUAZgA9ACIAIwByAGUAZgAtADQANQAiAC8APgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUASABvAGwAZABlAHIAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByACAAaQBkAD0AIgByAGUAZgAtADMANQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGgAcgBlAGYAPQAiACMAcgBlAGYALQA0ADYAIgAvAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAEgAbwBsAGQAZQByAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgAgAGkAZAA9ACIAcgBlAGYALQAzADYAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEEAcABwAGUAYQByAGEAbgBjAGUAIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA3ACIALwA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQBIAG8AbABkAGUAcgA+AA0ACgA8AGEAMwA6AE0AYQByAGcAaQBuAHMAIABpAGQAPQAiAHIAZQBmAC0AMwA3ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABMAGUAZgB0AEQAZQBmAGEAdQBsAHQAPgAwADwALwBMAGUAZgB0AEQAZQBmAGEAdQBsAHQAPgANAAoAPABUAG8AcABEAGUAZgBhAHUAbAB0AD4AMAA8AC8AVABvAHAARABlAGYAYQB1AGwAdAA+AA0ACgA8AFIAaQBnAGgAdABEAGUAZgBhAHUAbAB0AD4AMAA8AC8AUgBpAGcAaAB0AEQAZQBmAGEAdQBsAHQAPgANAAoAPABCAG8AdAB0AG8AbQBEAGUAZgBhAHUAbAB0AD4AMAA8AC8AQgBvAHQAdABvAG0ARABlAGYAYQB1AGwAdAA+AA0ACgA8AEIAbwB0AHQAbwBtAD4ANAA8AC8AQgBvAHQAdABvAG0APgANAAoAPAAvAGEAMwA6AE0AYQByAGcAaQBuAHMAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADMAOAAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADQAMgA4ADIAMAA4ADkANwAwADkAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgAwADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMgA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByADIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADQAMgA4ADEANAAyADgANgA3ADcAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgAwADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMgA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgAyAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQAzADkAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOQAxADYAMQAwADUANQA0ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgAxADwALwBCAGEAYwBrAEcAcgBhAGQAaQBlAG4AdABTAHQAeQBsAGUAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQAMAAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAQgBhAGMAawBDAG8AbABvAHIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANgA6AEMAbwBsAG8AcgAiACAAeABtAGwAbgBzADoAYQA2AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnAC8AUwB5AHMAdABlAG0ALgBEAHIAYQB3AGkAbgBnACIAPgANAAoAPABuAGEAbQBlACAAeABzAGkAOgBuAHUAbABsAD0AIgAxACIALwA+AA0ACgA8AHYAYQBsAHUAZQA+ADQAMgA5ADEANgAxADAANQA1ADQAPAAvAHYAYQBsAHUAZQA+AA0ACgA8AGsAbgBvAHcAbgBDAG8AbABvAHIAPgAwADwALwBrAG4AbwB3AG4AQwBvAGwAbwByAD4ADQAKADwAcwB0AGEAdABlAD4AMgA8AC8AcwB0AGEAdABlAD4ADQAKADwALwBCAGEAYwBrAEMAbwBsAG8AcgA+AA0ACgA8AEIAYQBjAGsARwByAGEAZABpAGUAbgB0AFMAdAB5AGwAZQA+ADEAPAAvAEIAYQBjAGsARwByAGEAZABpAGUAbgB0AFMAdAB5AGwAZQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiAHMAQwBvAGwAbABlAGMAdABpAG8AbgAgAGkAZAA9ACIAcgBlAGYALQA0ADIAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AEMAbwB1AG4AdAA+ADgAPAAvAEMAbwB1AG4AdAA+AA0ACgA8AF8AeAAwADAAMwAwAF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA4ACIALwA+AA0ACgA8AF8AeAAwADAAMwAxAF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANAA5ACIALwA+AA0ACgA8AF8AeAAwADAAMwAyAF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQAwACIALwA+AA0ACgA8AF8AeAAwADAAMwAzAF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQAxACIALwA+AA0ACgA8AF8AeAAwADAAMwA0AF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQAyACIALwA+AA0ACgA8AF8AeAAwADAAMwA1AF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQAzACIALwA+AA0ACgA8AF8AeAAwADAAMwA2AF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQA0ACIALwA+AA0ACgA8AF8AeAAwADAAMwA3AF8AIABoAHIAZQBmAD0AIgAjAHIAZQBmAC0ANQA1ACIALwA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAcwBDAG8AbABsAGUAYwB0AGkAbwBuAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADQAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4AMwA8AC8AVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlACAAaQBkAD0AIgByAGUAZgAtADQANQAiACAAeABtAGwAbgBzADoAYQAzAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAHYAMQAyAC4AMgAiAD4ADQAKADwAVABoAGUAbQBlAGQARQBsAGUAbQBlAG4AdABBAGwAcABoAGEAPgAzADwALwBUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+AA0ACgA8AEkAZAA+ADAAPAAvAEkAZAA+AA0ACgA8AC8AYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQA+AA0ACgA8AGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAIABpAGQAPQAiAHIAZQBmAC0ANAA2ACIAIAB4AG0AbABuAHMAOgBhADMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AdgAxADIALgAyACIAPgANAAoAPABUAGgAZQBtAGUAZABFAGwAZQBtAGUAbgB0AEEAbABwAGgAYQA+ADMAPAAvAFQAaABlAG0AZQBkAEUAbABlAG0AZQBuAHQAQQBsAHAAaABhAD4ADQAKADwASQBkAD4AMAA8AC8ASQBkAD4ADQAKADwALwBhADMAOgBBAHAAcABlAGEAcgBhAG4AYwBlAD4ADQAKADwAYQAzADoAQQBwAHAAZQBhAHIAYQBuAGMAZQAgAGkAZAA9ACIAcgBlAGYALQA0ADcAIgAgAHgAbQBsAG4AcwA6AGEAMwA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgB2ADEAMgAuADIAIgA+AA0ACgA8AEIAYQBjAGsAQwBvAGwAbwByACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADYAOgBDAG8AbABvAHIAIgAgAHgAbQBsAG4AcwA6AGEANgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAvAFMAeQBzAHQAZQBtAC4ARAByAGEAdwBpAG4AZwAiAD4ADQAKADwAbgBhAG0AZQAgAHgAcwBpADoAbgB1AGwAbAA9ACIAMQAiAC8APgANAAoAPAB2AGEAbAB1AGUAPgA0ADIAOQAxADYAMQAwADUANQA0ADwALwB2AGEAbAB1AGUAPgANAAoAPABrAG4AbwB3AG4AQwBvAGwAbwByAD4AMAA8AC8AawBuAG8AdwBuAEMAbwBsAG8AcgA+AA0ACgA8AHMAdABhAHQAZQA+ADIAPAAvAHMAdABhAHQAZQA+AA0ACgA8AC8AQgBhAGMAawBDAG8AbABvAHIAPgANAAoAPABJAGQAPgAwADwALwBJAGQAPgANAAoAPAAvAGEAMwA6AEEAcABwAGUAYQByAGEAbgBjAGUAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA0ADgAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANQA6AEcAdQBpAGQAIgAgAHgAbQBsAG4AcwA6AGEANQA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAC8AUwB5AHMAdABlAG0AIgA+AA0ACgA8AF8AYQA+AC0AMgAxADAANAA1ADQAMAA1ADIANQA8AC8AXwBhAD4ADQAKADwAXwBiAD4ALQA1ADEAMwA2ADwALwBfAGIAPgANAAoAPABfAGMAPgAxADYAOQA2ADMAPAAvAF8AYwA+AA0ACgA8AF8AZAA+ADEANQA3ADwALwBfAGQAPgANAAoAPABfAGUAPgAwADwALwBfAGUAPgANAAoAPABfAGYAPgAxADUANAA8AC8AXwBmAD4ADQAKADwAXwBnAD4AMQA4ADwALwBfAGcAPgANAAoAPABfAGgAPgAxADAAMQA8AC8AXwBoAD4ADQAKADwAXwBpAD4AMQA5ADQAPAAvAF8AaQA+AA0ACgA8AF8AagA+ADEANQA1ADwALwBfAGoAPgANAAoAPABfAGsAPgAxADUANQA8AC8AXwBrAD4ADQAKADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMQAxADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADQAOQAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA1ADYAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+ADIAMgBiADkAMgBhAGUAZQAtAGUANgA0ADEALQA0ADEAOABkAC0AOAA4ADIAYwAtADQAYwAxADUAYQA4AGYAMwBkAGEANAA4ADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADUANwAiAD4ARQA6AFwAdwBvAHIAawBzAHAAYQBjAGUAXABYAE0AWQBcAEUAQwBVAF8AQQBQAFAAXAByAF8AYwBnAF8AdABpAG0AZQByAF8AdQBzAGUAcgAuAGMAPAAvAFQAbwBvAGwAVABpAHAAPgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4AMAA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA1ADAAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIABpAGQAPQAiAHIAZQBmAC0ANQA4ACIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAFMATwBBAFAALQBFAE4AQwA6AHMAdAByAGkAbgBnACIAPgA5AGQAOAAzADgAMwBmAGYALQA3ADIAMAA1AC0ANAAzADYAMgAtAGIAZQAwADMALQAyADcAMgA0ADIAZQBjAGMAOQA0ADgANgA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwAVABvAG8AbABUAGkAcAAgAGkAZAA9ACIAcgBlAGYALQA1ADkAIgA+AEUAOgBcAHcAbwByAGsAcwBwAGEAYwBlAFwAWABNAFkAXABFAEMAVQBfAEEAUABQAFwAcgBfAG0AYQBpAG4ALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADEAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAxACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYAMAAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AOQA4AGUAZAAzADIAYwAzAC0ANgA5ADQAZQAtADQAYwAwADMALQA5AGMAMAA0AC0AMgAyADEAZQAyADcAYgAwADEAZQA5AGYAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgAxACIAPgBFADoAXAB3AG8AcgBrAHMAcABhAGMAZQBcAFgATQBZAFwARQBDAFUAXwBBAFAAUABcAGEAcABwAFQAYQBzAGsALgBjADwALwBUAG8AbwBsAFQAaQBwAD4ADQAKADwATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+ADIAPAAvAE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgANAAoAPAAvAGEAMgA6AE0AZABpAFQAYQBiAD4ADQAKADwAYQAyADoATQBkAGkAVABhAGIAIABpAGQAPQAiAHIAZQBmAC0ANQAyACIAIAB4AG0AbABuAHMAOgBhADIAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFcAaQBuAC4AVQBsAHQAcgBhAFcAaQBuAFQAYQBiAGIAZQBkAE0AZABpAC4AdgAxADIALgAyACIAPgANAAoAPABQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvACAAeABzAGkAOgB0AHkAcABlAD0AIgBhADQAOgBPAGIAagBlAGMAdABXAHIAYQBwAHAAZQByACIAIAB4AG0AbABuAHMAOgBhADQAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBjAGwAcgAvAG4AcwBhAHMAcwBlAG0ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwAuAFMAaABhAHIAZQBkAC4AUwBlAHIAaQBhAGwAaQB6AGEAdABpAG8AbgAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBTAGgAYQByAGUAZAAuAHYAMQAyAC4AMgAiAD4ADQAKADwAbwBiAGoAZQBjAHQAVgBhAGwAdQBlACAAaQBkAD0AIgByAGUAZgAtADYAMgAiACAAeABzAGkAOgB0AHkAcABlAD0AIgBTAE8AQQBQAC0ARQBOAEMAOgBzAHQAcgBpAG4AZwAiAD4AYgBiAGUAZAA5AGQAOABjAC0AZQBkAGEAZgAtADQAMgAwADgALQBhAGYANwBiAC0ANABiADgAYgA5ADIAYgBlAGQAZAAyADIAPAAvAG8AYgBqAGUAYwB0AFYAYQBsAHUAZQA+AA0ACgA8AC8AUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwA+AA0ACgA8AFQAbwBvAGwAVABpAHAAIABpAGQAPQAiAHIAZQBmAC0ANgAzACIAPgBFADoAXAB3AG8AcgBrAHMAcABhAGMAZQBcAFgATQBZAFwARQBDAFUAXwBBAFAAUABcAHIAcwBjAGEAbgBfAGQAcgBpAHYAZQByAFwAcgBfAHIAbAA3ADgAXwBjAGEAbgBfAGQAcgB2AC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgAzADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADUAMwAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA2ADQAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+ADYANQAxADAAOABmADAAYwAtADUANABmADEALQA0AGQAMgA4AC0AYQBmADEANwAtADYAZQAzADkAZQA2ADUANABlAGUAZgAzADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADYANQAiAD4ARQA6AFwAdwBvAHIAawBzAHAAYQBjAGUAXABYAE0AWQBcAEUAQwBVAF8AQQBQAFAAXABkAGkAYQBnAG4AbwBzAGUAXABEAGMAbQBfAEEAcABwAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA0ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AGEAMgA6AE0AZABpAFQAYQBiACAAaQBkAD0AIgByAGUAZgAtADUANAAiACAAeABtAGwAbgBzADoAYQAyAD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzADQALgBXAGkAbgAuAFUAbAB0AHIAYQBXAGkAbgBUAGEAYgBiAGUAZABNAGQAaQAuAHYAMQAyAC4AMgAiAD4ADQAKADwAUABlAHIAcwBpAHMAdABlAGQASQBuAGYAbwAgAHgAcwBpADoAdAB5AHAAZQA9ACIAYQA0ADoATwBiAGoAZQBjAHQAVwByAGEAcABwAGUAcgAiACAAeABtAGwAbgBzADoAYQA0AD0AIgBoAHQAdABwADoALwAvAHMAYwBoAGUAbQBhAHMALgBtAGkAYwByAG8AcwBvAGYAdAAuAGMAbwBtAC8AYwBsAHIALwBuAHMAYQBzAHMAZQBtAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMALgBTAGgAYQByAGUAZAAuAFMAZQByAGkAYQBsAGkAegBhAHQAaQBvAG4ALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AUwBoAGEAcgBlAGQALgB2ADEAMgAuADIAIgA+AA0ACgA8AG8AYgBqAGUAYwB0AFYAYQBsAHUAZQAgAGkAZAA9ACIAcgBlAGYALQA2ADYAIgAgAHgAcwBpADoAdAB5AHAAZQA9ACIAUwBPAEEAUAAtAEUATgBDADoAcwB0AHIAaQBuAGcAIgA+ADcAOQAwADUAZgAxAGYAZQAtAGQAMABkADcALQA0ADEAYwA5AC0AOAA2AGIAYwAtADYAMgA4ADMAZABjADgAOAA0ADYAMAAxADwALwBvAGIAagBlAGMAdABWAGEAbAB1AGUAPgANAAoAPAAvAFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8APgANAAoAPABUAG8AbwBsAFQAaQBwACAAaQBkAD0AIgByAGUAZgAtADYANwAiAD4ARQA6AFwAdwBvAHIAawBzAHAAYQBjAGUAXABYAE0AWQBcAEUAQwBVAF8AQQBQAFAAXAByAHMAYwBhAG4AXwBkAHIAaQB2AGUAcgBcAHIAXwByAGwANwA4AF8AYwBhAG4AXwBpAHIAcQAuAGMAPAAvAFQAbwBvAGwAVABpAHAAPgANAAoAPABNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ANQA8AC8ATQBkAGkAQwBoAGkAbABkAEkAbgBkAGUAeAA+AA0ACgA8AC8AYQAyADoATQBkAGkAVABhAGIAPgANAAoAPABhADIAOgBNAGQAaQBUAGEAYgAgAGkAZAA9ACIAcgBlAGYALQA1ADUAIgAgAHgAbQBsAG4AcwA6AGEAMgA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALwBJAG4AZgByAGEAZwBpAHMAdABpAGMAcwA0AC4AVwBpAG4ALgBVAGwAdAByAGEAVwBpAG4AVABhAGIAYgBlAGQATQBkAGkALgB2ADEAMgAuADIAIgA+AA0ACgA8AFAAZQByAHMAaQBzAHQAZQBkAEkAbgBmAG8AIAB4AHMAaQA6AHQAeQBwAGUAPQAiAGEANAA6AE8AYgBqAGUAYwB0AFcAcgBhAHAAcABlAHIAIgAgAHgAbQBsAG4AcwA6AGEANAA9ACIAaAB0AHQAcAA6AC8ALwBzAGMAaABlAG0AYQBzAC4AbQBpAGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAGMAbAByAC8AbgBzAGEAcwBzAGUAbQAvAEkAbgBmAHIAYQBnAGkAcwB0AGkAYwBzAC4AUwBoAGEAcgBlAGQALgBTAGUAcgBpAGEAbABpAHoAYQB0AGkAbwBuAC8ASQBuAGYAcgBhAGcAaQBzAHQAaQBjAHMANAAuAFMAaABhAHIAZQBkAC4AdgAxADIALgAyACIAPgANAAoAPABvAGIAagBlAGMAdABWAGEAbAB1AGUAIABpAGQAPQAiAHIAZQBmAC0ANgA4ACIAIAB4AHMAaQA6AHQAeQBwAGUAPQAiAFMATwBBAFAALQBFAE4AQwA6AHMAdAByAGkAbgBnACIAPgBkADMAMABkAGUANQBkADcALQA1AGMAZgA3AC0ANABiADgAYwAtAGIANAAwADYALQBmAGIANwA2ADUANgA2AGMANwBiADYANQA8AC8AbwBiAGoAZQBjAHQAVgBhAGwAdQBlAD4ADQAKADwALwBQAGUAcgBzAGkAcwB0AGUAZABJAG4AZgBvAD4ADQAKADwAVABvAG8AbABUAGkAcAAgAGkAZAA9ACIAcgBlAGYALQA2ADkAIgA+AEUAOgBcAHcAbwByAGsAcwBwAGEAYwBlAFwAWABNAFkAXABFAEMAVQBfAEEAUABQAFwAYwBhAG4AXwB1AHMAZQByAC4AYwA8AC8AVABvAG8AbABUAGkAcAA+AA0ACgA8AE0AZABpAEMAaABpAGwAZABJAG4AZABlAHgAPgA2ADwALwBNAGQAaQBDAGgAaQBsAGQASQBuAGQAZQB4AD4ADQAKADwALwBhADIAOgBNAGQAaQBUAGEAYgA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoAQgBvAGQAeQA+AA0ACgA8AC8AUwBPAEEAUAAtAEUATgBWADoARQBuAHYAZQBsAG8AcABlAD4ADQAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + + COM1 + 0 + enable + enable + + + + + False + False + True + + + + + False + False + True + + + + + False + False + True + + + + + False + False + True + + + + + PanelWatch1 + 150 + 100 + 150 + 100 + 150 + None + + + PanelWatch2 + 150 + 100 + 150 + 100 + 150 + None + + + PanelWatch3 + 150 + 100 + 150 + 100 + 150 + None + + + PanelWatch4 + 150 + 100 + 150 + 100 + 150 + None + + + + + PanelIORegister + 150 + 100 + 150 + 100 + 150 + + + + + PanelCpuRegister + 0 + 0 + 0 + 0 + 0 + + + + + PanelLocalVariable + 150 + 100 + 150 + 100 + 150 + False + Decimal + Decimal + 20127 + + + + + PanelCallStack + Auto + Decimal + 20127 + True + True + 50 + 500 + + + + + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Run-Break Timer + Nanosecond + + + + + PanelTrace + False + False + Decimal + Mixed + + + + + PanelMemory1 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory2 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory3 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + PanelMemory4 + Hexadecimal + Ascii + View8bitWidth + None + False + True + + 16 + 0 + + + + + False + False + False + False + def4131d-299f-4229-94f7-b6796e3a759d + FunctionName + False + False + 0 + -1 + True + ClassName + False + False + 1 + -1 + True + Namespace + True + False + 2 + -1 + True + FileName + False + False + 3 + -1 + True + FilePath + True + False + 4 + -1 + True + PEInformation + False + False + 5 + -1 + True + Import + True + False + 6 + -1 + True + AccessSpecifier + False + False + 7 + -1 + True + Attribute + False + False + 8 + -1 + True + ReturnType + False + False + 9 + -1 + True + ArgumentsCount + True + False + 10 + -1 + True + Arguments + False + False + 11 + -1 + True + CodeSize + False + False + 12 + -1 + True + StackSize + False + False + 13 + -1 + True + StartAddress + False + False + 14 + -1 + True + EndAddress + True + False + 15 + -1 + True + ReferenceCount + False + False + 16 + -1 + True + ExecutionCount + True + False + 17 + -1 + True + ExecutionTime + True + False + 18 + -1 + True + PercentageExecutionTime + True + False + 19 + -1 + True + AverageExecutionTime + True + False + 20 + -1 + True + CodeCoverage + True + False + 21 + -1 + True + 11fad805-4123-496e-99f7-1af9aead0aab + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + False + False + 5 + -1 + True + True + False + 6 + -1 + True + False + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + True + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + True + False + 15 + -1 + True + False + False + 16 + -1 + True + False + False + 17 + -1 + True + False + False + 18 + -1 + True + False + False + 19 + -1 + True + False + False + 20 + -1 + True + False + False + 21 + -1 + True + + + + + False + False + False + False + def4131d-299f-4229-94f7-b6796e3a759d + VariableName + False + False + 0 + -1 + True + ClassName + False + False + 1 + -1 + True + Namespace + True + False + 2 + -1 + True + FileName + False + False + 3 + -1 + True + FunctionName + True + False + 4 + -1 + True + FilePath + True + False + 5 + -1 + True + PEInformation + False + False + 6 + -1 + True + Import + True + False + 7 + -1 + True + AccessSpecifier + False + False + 8 + -1 + True + Attribute + False + False + 9 + -1 + True + Type + False + False + 10 + -1 + True + Members + False + False + 11 + -1 + True + Address + False + False + 12 + -1 + True + Size + False + False + 13 + -1 + True + ReferenceCount + False + False + 14 + -1 + True + ReadCount + True + False + 15 + -1 + True + WriteCount + True + False + 16 + -1 + True + ReadWriteCount + True + False + 17 + -1 + True + MinimumValue + True + False + 18 + -1 + True + MaximumValue + True + False + 19 + -1 + True + DataCoverage + True + False + 20 + -1 + True + 11fad805-4123-496e-99f7-1af9aead0aab + False + False + 0 + -1 + True + False + False + 1 + -1 + True + True + False + 2 + -1 + True + False + False + 3 + -1 + True + True + False + 4 + -1 + True + True + False + 5 + -1 + True + False + False + 6 + -1 + True + True + False + 7 + -1 + True + False + False + 8 + -1 + True + False + False + 9 + -1 + True + False + False + 10 + -1 + True + False + False + 11 + -1 + True + False + False + 12 + -1 + True + False + False + 13 + -1 + True + False + False + 14 + -1 + True + False + False + 15 + -1 + True + False + False + 16 + -1 + True + True + False + 17 + -1 + True + False + False + 18 + -1 + True + False + False + 19 + -1 + True + False + False + 20 + -1 + True + + + + + PanelAnalysisChart + True + + + + + PanelCallGraph + True + + + + + PanelClassMember + 0 + + + + + 6 + 9ef8fd3d-10e1-43b1-b8d1-f2e03a2946fc + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\r_main.c + 3554827b-d675-422a-b8d3-8c23ec79d22a + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:0,0 +FirstVisiblePosition:Right,0,0 + + 81374754-88a6-4bc6-b524-6b412177ad81 + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\sys\VectorTable.c + 41216f1e-2a1c-4e26-862d-063dcfc0e8a5 + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:0,0 +FirstVisiblePosition:Right,0,0 + + 9d143b19-0447-4cb0-9c33-1ae69f0ef150 + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\r_cg_timer_user.c + bf65495f-3431-4e63-a15e-7e29fe0f30aa + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:0,0 +FirstVisiblePosition:Right,0,0 + + b61f1629-e21c-4e09-a81c-3ff493f6535a + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\user\can_user.c + 6709f37c-42ec-4789-abd7-d78bd66691e4 + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:0,0 +FirstVisiblePosition:Right,0,0 + + 54ae0f7d-3227-4974-bb36-0e7f9b331aef + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\r_cg_port_user.c + f2bab297-24c2-4759-925b-b9fa1754d48c + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:0,0 +FirstVisiblePosition:Right,0,0 + + cf53e413-2bd6-4b80-b13e-b4ab843d6d44 + e9e5eb74-fd3b-4a6d-9bee-88bf153cb9b0 + E:\workspace\QJTYKG\CODE\ECU_APP\r_cg_adc_user.c + bc60a029-8cf3-410d-a291-baab74b4ebd3 + 0 + False + False + VerticalSplitPercentage:0.00 +HorizontalSplitPercentage:0.00 +ActiveViewPlacement:Right +CaretPosition:62,2 +FirstVisiblePosition:Right,27,0 + + + + + + dc19be2e-c911-46a5-9347-62185f4405c8 +528353ff-0707-4e36-8da8-8caf3978428f +f3fcd215-0966-481f-8dd6-c9a4a3e78669 +6e8a09b2-f956-48fd-86ac-a8d74f5dda5e +9acb8dfa-c536-43d2-adb6-96ad9ab90ba1 + + 863981d1-b78b-4127-aa77-dc68a73acadc + 2 + False + + + + + 2 + + + + + True + True + True + True + True + True + True + + + \ No newline at end of file diff --git a/ECU_APP/ECU_APP.mtpj b/ECU_APP/ECU_APP.mtpj new file mode 100644 index 0000000..dc568b0 --- /dev/null +++ b/ECU_APP/ECU_APP.mtpj @@ -0,0 +1,4812 @@ +锘 + 9.07.00.00 + + + 2.0 + 9.7 + 8fc4026f-898b-404d-bc46-84f07cc85a78 + dc19be2e-c911-46a5-9347-62185f4405c8 + 528353ff-0707-4e36-8da8-8caf3978428f + fb98844b-2c27-4275-9804-f6e63e204da0 + 8fc4026f-898b-404d-bc46-84f07cc85a78 + + + cstart.asm + File + cstart.asm + f654126d-e7ad-426d-be34-8455271d959b + 528353ff-0707-4e36-8da8-8caf3978428f + + + stkinit.asm + File + stkinit.asm + f654126d-e7ad-426d-be34-8455271d959b + 528353ff-0707-4e36-8da8-8caf3978428f + + + iodefine.h + File + iodefine.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 528353ff-0707-4e36-8da8-8caf3978428f + + + DataFlash + Category + 528353ff-0707-4e36-8da8-8caf3978428f + + + diagnose + Category + 528353ff-0707-4e36-8da8-8caf3978428f + + + rscan_driver + Category + 528353ff-0707-4e36-8da8-8caf3978428f + + + Header + Category + 528353ff-0707-4e36-8da8-8caf3978428f + 171e9f04-50a3-4871-93ff-11abb82594a8 + + + sys + Category + 528353ff-0707-4e36-8da8-8caf3978428f + + + CanNw + Category + 528353ff-0707-4e36-8da8-8caf3978428f + 0815d754-ccdc-4cdb-adcb-58a2c3dd2bb6 + + + Code Generator + Category + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_systeminit.c + File + r_systeminit.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_main.c + File + r_main.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_wdt_user.c + File + r_cg_wdt_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_wdt.c + File + r_cg_wdt.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_timer_user.c + File + r_cg_timer_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_timer.c + File + r_cg_timer.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_port_user.c + File + r_cg_port_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_port.c + File + r_cg_port.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_cgc_user.c + File + r_cg_cgc_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_cgc.c + File + r_cg_cgc.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_adc_user.c + File + r_cg_adc_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + r_cg_adc.c + File + r_cg_adc.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 528353ff-0707-4e36-8da8-8caf3978428f + + + user + Category + 528353ff-0707-4e36-8da8-8caf3978428f + 465db6e4-6ed7-4a5a-a145-0af2cd3593c2 + + + pfdl.h + File + DataFlash\pfdl.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 0afc19ae-f8f7-404c-9c41-2fc4775b287f + + + pfdl.lib + File + DataFlash\pfdl.lib + 7b85280b-7850-438e-9957-3b011f52c619 + 0afc19ae-f8f7-404c-9c41-2fc4775b287f + + + pfdl_types.h + File + DataFlash\pfdl_types.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 0afc19ae-f8f7-404c-9c41-2fc4775b287f + + + r_pfdl.c + File + DataFlash\r_pfdl.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 0afc19ae-f8f7-404c-9c41-2fc4775b287f + + + 娴嬭瘯鏁版嵁.txt + File + DataFlash\娴嬭瘯鏁版嵁.txt + 0c88f8d6-0d0b-411f-a135-781f4df9bffa + 0afc19ae-f8f7-404c-9c41-2fc4775b287f + + + CanIf + Category + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + abbf05f0-71a4-411b-b45f-92fd89b5ca93 + + + CanTp + Category + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + 65a60bd7-ebc2-46cf-b9ba-76b45852b593 + + + CanTrcv + Category + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + f319300d-1b02-4e22-b9ee-779c360bcf67 + + + DTC + Category + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + 3fa256fd-4106-4f3b-ae7c-0a8ed41113a8 + + + lib + Category + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + ac0b11f1-a1f3-491f-8bb3-b74cb372de3f + + + app_to_dcm.h + File + diagnose\app_to_dcm.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + can_drv.h + File + diagnose\can_drv.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + CanIf.h + File + diagnose\CanIf.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + CanIf_Cfg.h + File + diagnose\CanIf_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + CanSM.h + File + diagnose\CanSM.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + CanSM_Cfg.h + File + diagnose\CanSM_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + ComTypes.h + File + diagnose\ComTypes.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm.h + File + diagnose\Dcm.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_App.c + File + diagnose\Dcm_App.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_App.h + File + diagnose\Dcm_App.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_App_Cfg.c + File + diagnose\Dcm_App_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_App_Cfg.h + File + diagnose\Dcm_App_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_Cfg.c + File + diagnose\Dcm_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_Cfg.h + File + diagnose\Dcm_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_DID.c + File + diagnose\Dcm_DID.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_DID.h + File + diagnose\Dcm_DID.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_DID_Cfg.c + File + diagnose\Dcm_DID_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_DID_Cfg.h + File + diagnose\Dcm_DID_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_extern.h + File + diagnose\Dcm_extern.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_Key.c + File + diagnose\Dcm_Key.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm_Key.h + File + diagnose\Dcm_Key.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + DCM_Types.h + File + diagnose\DCM_Types.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + extern.c + File + diagnose\extern.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + extern.h + File + diagnose\extern.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + Dcm.c + File + diagnose\Dcm.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + f3fcd215-0966-481f-8dd6-c9a4a3e78669 + + + CanIf.c + File + diagnose\CanIf\CanIf.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + cc124d2d-6f1f-4514-8565-c77761338a56 + + + CanIf.h + File + diagnose\CanIf\CanIf.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + cc124d2d-6f1f-4514-8565-c77761338a56 + + + CanIf_Cfg.c + File + diagnose\CanIf\CanIf_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + cc124d2d-6f1f-4514-8565-c77761338a56 + + + CanIf_Cfg.h + File + diagnose\CanIf\CanIf_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + cc124d2d-6f1f-4514-8565-c77761338a56 + + + CanTp.h + File + diagnose\CanTp\CanTp.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + a300b4cf-e98b-412e-a042-007070c5c40d + + + CanTp_Cfg.c + File + diagnose\CanTp\CanTp_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + a300b4cf-e98b-412e-a042-007070c5c40d + + + CanTp_Cfg.h + File + diagnose\CanTp\CanTp_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + a300b4cf-e98b-412e-a042-007070c5c40d + + + CanTp.c + File + diagnose\CanTp\CanTp.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + a300b4cf-e98b-412e-a042-007070c5c40d + + + CanTrcv.c + File + diagnose\CanTrcv\CanTrcv.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 938874e7-459c-4eb3-ad1d-e717202cd17c + + + CanTrcv.h + File + diagnose\CanTrcv\CanTrcv.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 938874e7-459c-4eb3-ad1d-e717202cd17c + + + CanTrcv_Cfg.c + File + diagnose\CanTrcv\CanTrcv_Cfg.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 938874e7-459c-4eb3-ad1d-e717202cd17c + + + CanTrcv_Cfg.h + File + diagnose\CanTrcv\CanTrcv_Cfg.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 938874e7-459c-4eb3-ad1d-e717202cd17c + + + DCM_DTC.c + File + diagnose\DTC\DCM_DTC.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 0aa230d8-057e-4853-a7c9-5c49cb8d6eee + + + DCM_DTC.h + File + diagnose\DTC\DCM_DTC.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 0aa230d8-057e-4853-a7c9-5c49cb8d6eee + + + rl78_uds_lib_cc_v2.2.1.lib + File + diagnose\lib\rl78_uds_lib_cc_v2.2.1.lib + 7b85280b-7850-438e-9957-3b011f52c619 + 1400b294-ea8a-4faf-8cda-507cdf72d7fe + + + RL78_RCAN.c + File + rscan_driver\RL78_RCAN.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + RL78_RCAN.h + File + rscan_driver\RL78_RCAN.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + RL78_RCAN.xml + File + rscan_driver\RL78_RCAN.xml + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + r_rl78_can_drv.c + File + rscan_driver\r_rl78_can_drv.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + r_rl78_can_drv.h + File + rscan_driver\r_rl78_can_drv.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + r_rl78_can_irq.c + File + rscan_driver\r_rl78_can_irq.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + r_rl78_can_sfr.h + File + rscan_driver\r_rl78_can_sfr.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 6015100d-1f01-45cb-8bbf-ecacdb628a02 + + + r_cg_wdt.h + File + r_cg_wdt.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_timer.h + File + r_cg_timer.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_port.h + File + r_cg_port.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_macrodriver.h + File + r_cg_macrodriver.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_userdefine.h + File + r_cg_userdefine.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_cgc.h + File + r_cg_cgc.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + r_cg_adc.h + File + r_cg_adc.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + e1bf3f5f-2b80-42fc-b97b-19b90bcbe88d + + + VectorTable.c + File + sys\VectorTable.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 6e8a09b2-f956-48fd-86ac-a8d74f5dda5e + + + VectorTable.h + File + sys\VectorTable.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 6e8a09b2-f956-48fd-86ac-a8d74f5dda5e + + + CanNw.c + File + CanNw\CanNw.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 1d66f791-e635-4877-9db4-27bb537ed30c + + + CanNw.h + File + CanNw\CanNw.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 1d66f791-e635-4877-9db4-27bb537ed30c + + + CanNwConfig.c + File + CanNw\CanNwConfig.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 1d66f791-e635-4877-9db4-27bb537ed30c + + + CanNwConfig.h + File + CanNw\CanNwConfig.h + 03cad1e8-2eb3-4cde-a8a3-982423631122 + 1d66f791-e635-4877-9db4-27bb537ed30c + + + appTask.c + File + user\appTask.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 9acb8dfa-c536-43d2-adb6-96ad9ab90ba1 + + + can_user.c + File + user\can_user.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 9acb8dfa-c536-43d2-adb6-96ad9ab90ba1 + + + hwCtrl.c + File + user\hwCtrl.c + 941832c1-fc3b-4e1b-94e8-01ea17128b42 + 9acb8dfa-c536-43d2-adb6-96ad9ab90ba1 + + + + + UserMtudFile + True + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 7e0c5287-ef5f-48f3-976e-25ba00f1983b + 13263ec9-6a62-47f4-86ac-58d5c5f60ef7 + + + + + 90ee5797-fc0c-48ea-b02f-689179ce9df7 + + + + + 1.0 + + + R5F10BBG + 0 + + + + + 6 + R5F10BLG + + + + + 1159186b-b838-4741-8324-8293bf3d5c5f + + + + + 1.4 + 1 + RABlAGYAYQB1AGwAdABCAHUAaQBsAGQA + False + DefaultBuild + 8d428074-9240-4d58-9609-e91d1efc246a + AsmSource + 8c9859ea-8243-4fe1-92fc-30ba32131190 + AsmSource + d1ea7162-2493-4697-a22c-24f431499590 + CSource + 3554827b-d675-422a-b8d3-8c23ec79d22a + CSource + 42035934-332b-4d1c-858f-705d80de7fdc + CSource + 3316e15c-e1b4-4c6d-8655-0776c089666f + CSource + bf65495f-3431-4e63-a15e-7e29fe0f30aa + CSource + 8f9a1486-320c-4ffe-b846-91b6cd98df2d + CSource + f2bab297-24c2-4759-925b-b9fa1754d48c + CSource + f4b60419-4d18-48bf-8a80-baf98d5d868d + CSource + d2d20a37-cac4-41b6-84ce-2ddbfa7dbcb5 + CSource + ce5081e6-93d8-4c3e-bd83-aa16183c6b97 + CSource + bc60a029-8cf3-410d-a291-baab74b4ebd3 + CSource + 143836fe-6bcc-4acb-8b1d-8edc44e2c4e1 + CSource + 9d537e05-9679-4d53-9e38-0801e106a2d5 + LibrarySource + 436cea59-2b13-413d-9078-84e6d87b8d06 + CSource + 597165fa-c8a8-4d08-bc90-f68ea3e748e1 + CSource + ae09fb8a-ec5d-48df-a721-15a556efd4eb + CSource + 8d72eaba-c4e3-4f55-9eb5-64a53c9fc94e + CSource + 2e318cbb-7a5e-4c63-a545-c211dd423a79 + CSource + 6290d22b-5323-4d24-a86b-dcf246d0242a + CSource + ebfdc1b0-8e07-4219-976e-b070f23320cc + CSource + 09474f4f-b068-4ac4-944c-b10765732833 + CSource + 9abf97a2-9f5c-4c71-aeb4-1d142702113f + CSource + f61538db-8dfe-4c3d-9a37-c8f01c86e564 + CSource + 23cba411-6f22-4d9a-9a3c-2644e64b7cf8 + CSource + 2469b0bc-35d3-4640-87ac-f3e7c8dcff6d + CSource + 318d76da-543f-4299-a2c6-7c46a90c2057 + CSource + 3559f61c-b38d-48ca-b600-16ff38d1a705 + CSource + ae06b54a-5cc6-4a46-a7fa-1ddd4af1d437 + CSource + edd3e9de-1d9b-402b-a6ba-059af7e33139 + CSource + 2c10d71a-4a02-4772-bb17-9a924a0dd95a + LibrarySource + 4017579b-ceee-45f7-a3c7-320132b85d6f + CSource + 82e7e6f0-5ebc-4976-a045-582c94f6778c + CSource + fa8e8163-35c2-432a-9160-5555cf28e1a5 + CSource + 41216f1e-2a1c-4e26-862d-063dcfc0e8a5 + CSource + 90d4f330-fa35-4153-a5e7-334fd40bb5d2 + CSource + 46a7e97f-f987-40fe-86d0-563b7ce7aa5e + CSource + a36336c9-7236-4fbf-b6df-47a6d4133b34 + CSource + 6709f37c-42ec-4789-abd7-d78bd66691e4 + CSource + f288e9d7-9649-4d48-a164-a4a16245dd2e + CSource + 41 + 6 + + + + DefaultBuild + Default + S3 + False + + Maa0 + + LoadModuleFile + True + True + LibraryU + + + %TargetFiles% + + + + +0 + %TargetFiles% : %Program% %Options% + False + False + %BuildModeName% + mda + Stype + %BuildModeName% + %BuildModeName% + 00000000000000000000 + False + + + Rebuild + %ProjectName%.err + Limit + %BuildModeName% + %BuildModeName% + %ProjectName%.lib + %ProjectName%.abs + + + %ProjectName%.mot + False + True + + + None + C90 + + + False + True + False + -8585141198244562247 + DefaultBuild + + %TargetFiles% + %TargetFiles% : %Program% %Options% + False + + + S3 + False + Maa0 + + LoadModuleFile + True + + +0 + False + False + %BuildModeName% + mda + 00000000000000000000 + Rebuild + %ProjectName%.err + Limit + %BuildModeName% + + + V1.11.00 + + + False + No + Auto + None + True + True + + None + -c + Auto + Misra2012 + False + Default + False + None + False + %BuildModeName% + + False + True + + None + + %BuildModeName% + None + None + + None + False + + + None + False + + + FitToOptimization + + False + %BuildModeName% + False + False + + 100 + + False + + False + None + False + Auto + + None + False + False + None + None + False + False + + False + + False + False + + None + False + + None + False + False + + None + False + + + False + False + False + -8585444838920409875 + False + No + Auto + None + True + True + diagnose\DTC +diagnose\CanTrcv +sys +. +rscan_driver +diagnose +DataFlash +CanNw +diagnose\CanTp +diagnose\CanIf +user + + None + -c + Auto + Misra2012 + False + Default + False + None + False + %BuildModeName% + + False + True + + None + + %BuildModeName% + None + None + + None + False + + + None + False + DEBUG1 + + + FitToOptimization + + False + %BuildModeName% + False + False + + 100 + + False + + False + None + False + Auto + + None + False + False + None + None + False + False + + False + + False + False + + None + False + + None + False + False + + None + False + + + False + False + + + Auto + False + True + False + + -c + False + Prefix + + + %BuildModeName% + + + + + False + -8586968545862742465 + Auto + False + True + False + + -c + False + Prefix + + + %BuildModeName% + + + + + + + None + + + + + + + + False + -8585454639596822711 + None + + + + + + + + + + True + False + Debug + False + + + List + False + True + None + %BuildModeName% + False + False + + False + + + + %ProjectName%.map + False + + + False + %ProjectName%.abs + + %BuildModeName% + False + None + + + False + True + False + False + False + False + False + %ProjectName%_vfi.h + None + False + 1FE00-1FFFF + C90 + False + .data=.dataR +.sdata=.sdataR + + 1E + False + + + + False + False + False + + False + True + + False + None + True + + False + + + + + + + None + False + + None + None + + False + + + None + False + False + False + False + + False + -8585129119329483950 + False + False + Debug + False + + + List + True + True + None + %BuildModeName% + False + False + + False + + + + %ProjectName%.map + False + + 04 + False + %ProjectName%.abs + VectorRemapingAddr_n,.const,.text,.RLIB,.SLIB,PFDL_COD,.textf,.constf,.data,.sdata/0A000,DID_TBL_f/19C00,KAM_SEG_n/FE500,.dataR,.bss/FE510,.sdataR,.sbss/FFE20 + %BuildModeName% + False + None + + + False + True + False + False + False + False + True + %ProjectName%_vfi.h + None + False + 1FE00-1FFFF + C90 + False + .data=.dataR +.sdata=.sdataR + + 1E + True + + + + False + False + False + + True + True + + False + None + True + + True + + E933E8 + + + + + None + False + + None + None + + True + + + None + False + False + False + False + + + + False + False + Stype + + True + True + + False + %BuildModeName% + None + + + %ProjectName%.mot + None + None + Msb + + None + + + + FF + None + Little + False + + 1 + None + 1 + False + False + + FF + None + False + False + -8585363289149754556 + False + False + Stype + + True + True + + False + %BuildModeName% + H16 + + + %ProjectName%.mot + S3 + None + Msb + + Value + + + output\ECU_APP.S19= A000-19FFF + + FF + None + Little + False + + 1 + None + 1 + False + True + + 10 + None + False + + + Debug + LibraryU + + + None + False + False + + False + + %ProjectName%.lbp + + %BuildModeName% + False + None + False + False + %ProjectName%.lib + False + + None + + False + None + False + + False + + False + + False + False + None + + False + -8585141195489756755 + Debug + LibraryU + + + None + False + False + + False + + %ProjectName%.lbp + + %BuildModeName% + False + None + False + False + %ProjectName%.lib + False + + None + + False + None + False + + False + + False + + False + False + None + + + + None + + DR5F10BLG.DVF, V1.11 + DR5F10BBG.DVF, V1.11 + True + False + False + False + False + -8586968545862722464 + None + + DR5F10BLG.DVF, V1.11 + DR5F10BBG.DVF, V1.11 + True + False + False + False + + + 0 + 636403778992683381 + 0 + + + 1 + + + 2 + + + 3 + 636403778992683381 + 2 + + + 636403779642100525 + 0 + + + 636403779001463883 + 0 + + + 636403779642110526 + 0 + + + 636403779642110526 + 1 + + + 636403779642110526 + 2 + + + 636403779642110526 + 4 + + + 636752156469564258 + 5 + + + 636752156469564258 + 2 + + + 636752156469564258 + 4 + + + 636752156469564258 + 3 + + + 636403779642700559 + 0 + + + 636403779642700559 + 1 + + + 636403779642700559 + 2 + + + 636403779642700559 + 3 + + + 636403779642700559 + 4 + + + 636403779642700559 + 5 + + + 636403779642700559 + 6 + + + 636403779906395642 + 2 + + + 636403779906395642 + 3 + + + 636403779906395642 + 4 + + + 636403779906395642 + 5 + + + 636403779906395642 + 6 + + + 636403779906395642 + 7 + + + 636403779906395642 + 8 + + + 636403779906395642 + 9 + + + 636403779906395642 + 10 + + + 636403779906395642 + 11 + + + 636403779906395642 + 12 + + + 636403779906395642 + 13 + + + 637927485578957502 + 1 + + + 637927485578957502 + 0 + + + 636403780344350691 + 2 + + + 636403780344350691 + 3 + + + 636403780344350691 + 4 + + + 636403780344350691 + 5 + + + 636403780344350691 + 6 + + + 636403780344350691 + 7 + + + 636403780344350691 + 8 + + + 636405300603199115 + 0 + + + 636405300603199115 + 1 + + + 636752156469564258 + 1 + + + 636752156469564258 + 0 + + + 637927485578957502 + 2 + + + 636705225628240529 + 0 + + + 636705225628240529 + 1 + + + 636705225628240529 + 2 + + + 636705225628240529 + 3 + + + 636752156469564258 + 6 + + + 636752156469564258 + 7 + + + 636752156469564258 + 8 + + + 636752156469564258 + 9 + + + 636752156469564258 + 10 + + + 636752156469564258 + 11 + + + 636752156469564258 + 12 + + + 636752156469564258 + 13 + + + 636752156469564258 + 14 + + + 636752156469564258 + 15 + + + 636752156469564258 + 16 + + + 636752156469564258 + 17 + + + 636752156469564258 + 18 + + + 636752156469564258 + 19 + + + 636752156469564258 + 20 + + + 636752156469564258 + 21 + + + 636752156469564258 + 22 + + + 636752156469564258 + 23 + + + 636752156596301507 + 0 + + + 636752156596301507 + 1 + + + 636752156596301507 + 2 + + + 636752156596301507 + 3 + + + 636752156761050930 + 0 + + + 636752156761050930 + 1 + + + 636752156761050930 + 2 + + + 636752156860976645 + 0 + + + 636752156860976645 + 1 + + + 636752156860976645 + 2 + + + 636752156860976645 + 3 + + + 636752157025356047 + 0 + + + 636752157025356047 + 1 + + + 637917697701570524 + 0 + + + 637917687253302658 + 0 + + + 637917687457637381 + 0 + + + -8586968545862092427 + False + True + False + -8586968545862082427 + False + True + False + + + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968544948370166 + False + True + False + -8586968545212665282 + False + True + False + -8586620168385211550 + False + True + False + -8586620168385201550 + False + True + False + -8586620168385201550 + False + True + False + -8586620168385201550 + False + True + False + -8586620168385201550 + False + True + False + -8586620168385201550 + False + True + False + -8586620168385201550 + False + True + False + -8585454623361438181 + False + True + False + -8586620168258464301 + False + True + False + -8586620168258464301 + False + True + False + -8586620168093724878 + False + True + False + -8585454623276143667 + False + True + False + -8586620167993799163 + False + True + False + -8586620167993799163 + False + True + False + -8586620167829419761 + False + True + False + -8586968545212075249 + False + True + False + -8586968545212075249 + False + True + False + -8586968545212075249 + False + True + False + -8586967024251576693 + False + True + False + -8586667099226535279 + False + True + False + -8586667099226535279 + False + True + False + -8585444839275818306 + False + True + False + -8585444839275808427 + False + True + False + -8585444839275808427 + False + True + False + + + -8586968545212665282 + False + True + -8585454623156893475 + False + False + + + -8586968545212665282 + False + -8585454623156893475 + False + + + + + False + 00000000-0000-0000-0000-000000000000 + + + + + D:\DaMing\DMK-SX11-03\APP\DMK-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\main.c + D:\DaMing\DMK-SX11-03\APP\DMK-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\cstart.asm + D:\DaMing\DMK-SX11-03\APP\DMK-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\hdwinit.asm + D:\DaMing\DMK-SX11-03\APP\DMK-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\stkinit.asm + D:\DaMing\DMK-SX11-03\APP\DMK-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\iodefine.h + + + + + e4af5eb2-adbb-4301-8df5-18578be9eef6 + + + + + 1.0 + 1.0 + + + + + 00000000-0000-0000-0000-000000000000 + + + + + 0 + R5F10BLG + 128 + 8192 + 4000 + 32768 + SelectCpuClockFrequency + MHz + 4000000 + No + + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\DMK-SX11-03.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + 0 + 0 + True + True + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + No + 500 + Yes + 500 + No + No + Yes + Free + No + 4096 + No + No + No + Yes + Yes + False + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + AQAAAAQAAAA= + + + + 0 + R5F10BLG + Emulator + 4000 + Emulator + 32768 + No + 128 + 8192 + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\DMK-SX11-03.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + 0 + 0 + True + True + SpeedPriority + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + False + Typical + 0 + 3 + Typical + 0 + 1023 + None + 0 + 0 + None + 0 + 0 + None + 0 + 0 + 0 + 65535 + False + False + False + False + Typical + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + No + 500 + Yes + No + Yes + 500 + No + SoftwareBreak + No + No + True + True + True + True + False + False + .stack_bss + True + True + True + True + True + False + Yes + 0 + Nonstop + 1 + No + No + No + No + No + False + 0 + False + RisingEdge + False + RisingEdge + False + 1 + False + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 0 + R5F10BLG + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Yes + No + Yes + 0 + 0 + System + No + Use3_3V + + 1000 + 3 + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\DMK-SX11-03.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + 0 + 0 + True + True + SpeedPriority + Yes + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + No + 500 + Yes + No + Yes + 500 + SoftwareBreak + No + No + No + Nonstop + No + No + False + 0 + False + RisingEdge + False + RisingEdge + False + 1 + False + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + 3b1bb1d4-663c-43be-8a08-0eece7cfa18b + + + + + e4af5eb2-adbb-4301-8df5-18578be9eef6 + + + + + 0 + R5F10BLG + 128 + 8192 + 4000 + 32768 + SelectCpuClockFrequency + MHz + 4000000 + No + + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\DMK-SX11-03.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + 0 + 0 + True + True + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + No + 500 + Yes + 500 + No + No + Yes + Free + No + 4096 + No + No + No + Yes + Yes + False + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + AQAAAAQAAAA= + + + + 0 + R5F10BLG + Emulator + 4000 + Emulator + 32768 + No + 128 + 8192 + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\DMK-SX11-03.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + 0 + 0 + True + True + SpeedPriority + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + False + Typical + 0 + 3 + Typical + 0 + 1023 + None + 0 + 0 + None + 0 + 0 + None + 0 + 0 + 0 + 65535 + False + False + False + False + Typical + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + None + 987136 + 0 + No + 500 + Yes + No + Yes + 500 + No + SoftwareBreak + No + No + True + True + True + True + False + False + .stack_bss + True + True + True + True + True + False + Yes + 0 + Nonstop + 1 + No + No + No + No + No + False + 0 + False + RisingEdge + False + RisingEdge + False + 1 + False + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + 6 + R5F10BBG + 10 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + Yes + No + Yes + 0 + 0 + System + No + Use3_3V + + 1000 + 3 + 1 + + True + 8fc4026f-898b-404d-bc46-84f07cc85a78 + DefaultBuild\ECU_APP.abs + LoadModuleFile + Auto + 0 + 0 + True + True + False + False + 0 + 0 + 0 + True + True + SpeedPriority + Yes + False + SuspendEvent + True + XwBtAGEAaQBuAA== + 500 + True + No + 500 + Yes + No + Yes + 500 + SoftwareBreak + No + No + No + Nonstop + No + No + False + 0 + False + RisingEdge + False + RisingEdge + False + 1 + False + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + + 1164e6bc-1580-4c0c-8c62-cc92e5f3f701 + + + + + Yes + NA + + + Color [LightGray] + Color [Red] + Color [Green] + Color [Black] + Color [Blue] + Color [Red] + Color [Yellow] + Color [Green] + DisplayAll + Display + DisplayAll + + + -1,-1,-1,-1,-1 + False + 6 + + + + + 7d577131-4ec1-4e88-968d-89381f6c178a + + + + + 1.1 + + + False + False + False + True + Yes + Nanosecond + False + False + False + False + False + True + FilesNotToAnalyze + 0 + All + 0 + False + %ProjectName%.mtfl + %ProjectName%.mtvl + 10 + + + RealtimeSampling + + Synchronized + AtProgramStop + 20 + 1000000 + LineChart + False + PaleGreen + PaleTurquoise + 40ff0a4f + 405be416 + 40056def + 40ff541c + False + Auto + Channel01 + 0 + Rising + 0 + Orange + 10 + None + + + + + + + + + + + + + + + + + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + Auto + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 25.5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + c0ff0a4f + c05be416 + c0056dff + c0ff541c + c04fc1ff + c0a932ff + c0ffd91c + c0ff30a5 + c0bee02f + c05510ff + c0ff97e4 + c0913a37 + c0c68e15 + c0317f0c + c060493e + c072808e + + + + + cb4eebec-2381-4e77-8b34-fa8cd6f33b4c + + + + + <RL78F13> + <VAR> + <fCLK Name="fCLK" Value="32" Comment="4M" Trigger="fCLK"> + <Effect> + <ADC /> + <SAU0 /> + <SAU1 /> + <IICA0 /> + <TAU0 /> + <TAU1 /> + <TMRJ0 /> + </Effect> + </fCLK> + <ISPullupForPort Name="ISPullupForPort" Text="P10-P11-P12-P13-P14-P15-P16-P17-P30-P40-P41-P60-P61-P62-P63-P120-P125-" Comment="unused" /> + <fHOCO Name="fHOCO" Value="64" Comment="64M" Trigger="fHOCO" /> + <fIH Name="fIH" Value="32" Comment="32M" /> + <fSUB Name="fSUB" Value="0" Comment="0K" Trigger="fSUB"> + <Effect> + <TAU0 /> + <TAU1 /> + <TMRJ0 /> + </Effect> + </fSUB> + <fIL Name="fIL" Value="15" Comment="15K" Trigger="fIL"> + <Effect> + <TMRJ0 /> + <WDT /> + <TAU0 /> + <TAU1 /> + </Effect> + </fIL> + <fSL Name="fSL" Value="15" Comment="15K" Trigger="fSL"> + <Effect> + <PCLBUZ0 /> + <TMRJ0 /> + <TAU0 /> + <TAU1 /> + </Effect> + </fSL> + <fPLL Name="fPLL" Value="32" Comment="24M" Trigger="fPLL" /> + <fRTC Name="fRTC" Value="65.5737704918033" Comment="15k" Trigger="fRTC"> + <Effect> + <RTC /> + </Effect> + </fRTC> + <fTRD Name="fTRD" Value="32" Comment="64M" Trigger="fTRD"> + <Effect> + <TMRD0 /> + <TMRD1 /> + </Effect> + </fTRD> + <fMAIN Name="fMAIN" Value="8" Comment="32M" Trigger="fMAIN"> + <Effect> + <PCLBUZ0 /> + </Effect> + </fMAIN> + <fTRDSource Name="fTRDSource" Trigger="fTRD" Text="fCLK" /> + <VDD_MIN Name="VDD_MIN" Value="4" Comment="4.0V" Trigger="VDD"> + <Effect> + <PCLBUZ0 /> + <IICA0 /> + <SAU0 /> + <SAU1 /> + </Effect> + </VDD_MIN> + <VDD_MAX Name="VDD_MAX" Value="5.5" Comment="5.5V" /> + <VDD Name="VDD" Text="false" Comment="used" /> + <VDDValue Name="VDDValue" Value="2.7" Comment="2.7V" Trigger="VDD"> + <Effect> + <ADC /> + </Effect> + </VDDValue> + <AD_ADPC_USEDPIN Name="AD_ADPC_USEDPIN" Text="ANI0," /> + <AD_ADS_USEDPIN Name="AD_ADS_USEDPIN" Text="ANI0," /> + <ADPCForPort3 Name="ADPCForPort3" Value="2" Comment="ADPCForPort3" /> + <ADPCForPort8 Name="ADPCForPort8" Value="3" Comment="ADPCForPort8" /> + <ADPCForPort9 Name="ADPCForPort9" Value="255" Comment="ADPCForPort9" /> + <ADPCForKey Name="ADPCForKey" Value="255" Comment="ADPCForKey" /> + <OnChipDebugTraceDTC Name="GTraceRam" Text="2" Trigger="ocdtraceram"> + <Effect> + <DTC /> + </Effect> + </OnChipDebugTraceDTC> + <OnChipDebugTrace Name="GTrace" Text="2" /> + <OnChipDebugHotPlugDTC Name="GHotPlugRam" Text="2" Trigger="ocdhotplugram"> + <Effect> + <DTC /> + </Effect> + </OnChipDebugHotPlugDTC> + <KR0 Name="KR0" Text="false" Comment="unused" Trigger="KR0"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR0> + <KR1 Name="KR1" Text="false" Comment="unused" Trigger="KR1"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR1> + <KR2 Name="KR2" Text="false" Comment="unused" Trigger="KR2"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR2> + <KR3 Name="KR3" Text="false" Comment="unused" Trigger="KR3"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR3> + <KR4 Name="KR4" Text="false" Comment="unused" Trigger="KR4"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR4> + <KR5 Name="KR5" Text="false" Comment="unused" Trigger="KR5"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR5> + <KR6 Name="KR6" Text="false" Comment="unused" Trigger="KR6"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR6> + <KR7 Name="KR7" Text="false" Comment="unused" Trigger="KR7"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR7> + <OnChipDebugHotPlug Name="GHotPlug" Text="2" /> + <IIC00 Name="IIC00" Text="false" Comment="unused" Trigger="IIC00"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC00> + <IIC01 Name="IIC01" Text="false" Comment="unused" Trigger="IIC01"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC01> + <IIC10 Name="IIC10" Text="false" Comment="unused" Trigger="IIC10"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC10> + <IIC11 Name="IIC11" Text="false" Comment="unused" Trigger="IIC11"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC11> + <IICA0 Name="IICA0" Text="false" Comment="unused" Trigger="IICA0"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IICA0> + <PIOR00Value Name="PIOR00Value" Text="0" /> + <PIOR01Value Name="PIOR01Value" Text="0" /> + <PIOR02Value Name="PIOR02Value" Text="0" /> + <PIOR03Value Name="PIOR03Value" Text="0" /> + <PIOR04Value Name="PIOR04Value" Text="0" /> + <PIOR05Value Name="PIOR05Value" Text="0" /> + <PIOR06Value Name="PIOR06Value" Text="0" /> + <PIOR07Value Name="PIOR07Value" Text="0" /> + <PIOR10Value Name="PIOR10Value" Text="0" /> + <PIOR11Value Name="PIOR11Value" Text="0" /> + <PIOR12Value Name="PIOR12Value" Text="0" /> + <PIOR13Value Name="PIOR13Value" Text="0" /> + <PIOR14Value Name="PIOR14Value" Text="0" /> + <PIOR15Value Name="PIOR15Value" Text="0" /> + <PIOR16Value Name="PIOR16Value" Text="0" /> + <PIOR17Value Name="PIOR17Value" Text="0" /> + <PIOR20Value Name="PIOR20Value" Text="0" /> + <PIOR21Value Name="PIOR21Value" Text="0" /> + <PIOR22Value Name="PIOR22Value" Text="0" /> + <PIOR23Value Name="PIOR23Value" Text="0" /> + <PIOR24Value Name="PIOR24Value" Text="0" /> + <PIOR25Value Name="PIOR25Value" Text="0" /> + <PIOR26Value Name="PIOR26Value" Text="0" /> + <PIOR27Value Name="PIOR27Value" Text="0" /> + <PIOR30Value Name="PIOR30Value" Text="0" /> + <PIOR31Value Name="PIOR31Value" Text="0" /> + <PIOR32Value Name="PIOR32Value" Text="0" /> + <PIOR33Value Name="PIOR33Value" Text="0" /> + <PIOR34Value Name="PIOR34Value" Text="0" /> + <PIOR35Value Name="PIOR35Value" Text="0" /> + <PIOR36Value Name="PIOR36Value" Text="0" /> + <PIOR37Value Name="PIOR37Value" Text="0" /> + <PIOR40Value Name="PIOR40Value" Text="0" /> + <PIOR41Value Name="PIOR41Value" Text="0" /> + <PIOR42Value Name="PIOR42Value" Text="0" /> + <PIOR43Value Name="PIOR43Value" Text="0" /> + <PIOR44Value Name="PIOR44Value" Text="0" /> + <PIOR45Value Name="PIOR45Value" Text="0" /> + <PIOR46Value Name="PIOR46Value" Text="0" /> + <PIOR50Value Name="PIOR50Value" Text="0" /> + <PIOR52Value Name="PIOR52Value" Text="0" /> + <PIOR53Value Name="PIOR53Value" Text="0" /> + <PIOR60Value Name="PIOR60Value" Text="0" /> + <PIOR61Value Name="PIOR61Value" Text="0" /> + <PIOR62Value Name="PIOR62Value" Text="0" /> + <PIOR63Value Name="PIOR63Value" Text="0" /> + <PIOR64Value Name="PIOR64Value" Text="0" /> + <PIOR65Value Name="PIOR65Value" Text="0" /> + <PIOR66Value Name="PIOR66Value" Text="0" /> + <PIOR67Value Name="PIOR67Value" Text="0" /> + <PIOR70Value Name="PIOR70Value" Text="0" /> + <PIOR71Value Name="PIOR71Value" Text="0" /> + <PIOR73Value Name="PIOR73Value" Text="0" /> + <RTC1HZ Name="RTC1HZ" Text="disable" Trigger="RTC1HZ"> + <Effect> + <TAU0 /> + <TAU1 /> + </Effect> + </RTC1HZ> + <RXD0 Name="RXD0" Text="disable" /> + <ProjectName Name="PrjName" Text="ECU_APP" /> + <ProjectPath Name="PrjPath" Text="F:\FCB_project\temp\HWBS\CODE\ECU_APP" /> + <ProjectKind Name="PrjKind" Text="Project78K0R" /> + <DeviceName Name="DeviceName" Fixed="" Text="RL78F13" /> + <MCUName Name="MCUName" Text="RL78F13_32pin" /> + <ChipName Name="ChipName" Text="R5F10BBG" /> + <ChipID Name="ChipID" Text="R5F10BBG" /> + <CPUCoreType Name="CPUCoreType" Fixed="" Text="1" /> + <MCUType Name="MCUType" Fixed="" Text="RL78" /> + <Compiler Name="Compiler" Text="CCRL" /> + <UseSecurityId Name="GI" Text="0" /> + <SecurityId Name="GIValue" Text="00000000000000000000" /> + <LinkDirectiveFile Name="D0" Text="lk.dr" /> + <OnChipDebugOptionBytes Name="GO" Text="1" /> + <OnChipDebugOptionBytesValue Name="GOValue" Text="04" /> + <StartAddressOfOnChipDebugOptionBytes Name="GOStart" Text="1FE00" /> + <SizeOfOnChipDebugOptionBytesArea Name="GOSizeValue" Text="512" /> + <UserOptionBytes Name="GB" Text="1" /> + <UserOptionBytesValue Name="GBValue" Text="E933E8" /> + <RAMStartAddress Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="RAMStartAddress" Fixed="" Text="000FDF00" /> + <RAMEndAddress Name="RAMEndAddress" Fixed="" Text="000FFEFF" /> + <ROMEndAddress Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="ROMEndAddress" Fixed="" Text="0001FFFF" /> + <MirrorROM Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="MirrorROM" Fixed="" Text="47.75" /> + <TAUUsedRTC1Hz Name="TAUUsedRTC1Hz" Text="false" Comment="unused" Trigger="RTC1HZ"> + <Effect> + <RTC /> + </Effect> + </TAUUsedRTC1Hz> + <TRDCLKUSE1 Name="TRDCLKUSE1" Value="0" Comment="unused" Trigger="TRDCLK input"> + <Effect> + <TMRD0 /> + </Effect> + </TRDCLKUSE1> + <fMP Name="fMP" Value="32" /> + <ADPCForPort1 Name="ADPCForPort1" Value="255" /> + <ADPCForPort4 Name="ADPCForPort4" Value="255" /> + <ADPCForPort6 Name="ADPCForPort6" Value="255" /> + <ADPCForPort12 Name="ADPCForPort12" Value="255" /> + <ADPCForPort13 Name="ADPCForPort13" Value="255" /> + <TRDCLKTag Name="TRDCLKTag" Value="-1" /> + <TRDCLKUSE0 Name="TRDCLKUSE0" Value="0" /> + <RTC1HZ_Used Name="RTC1HZ_Used" Value="0" /> + <GroupName Name="GroupName" Text="groupc1" /> + <CodePath Name="CodePath" Text=".\" /> + <ReportType Name="ReportType" Text="Html" /> + <CreationDateType Name="CreationDateType" Text="OutputDate" /> + <GenerateType Name="GenerateType" Text="Merge" /> + <APIOutputType Name="APIOutputType" Text="Default" /> + <FileRegister Name="FileRegister" Text="Yes" /> + <PinReflect Name="PinReflect" Text="Reflected" /> + <fCLKSource Name="fCLKSource" Text="fMX" /> + <UseFDL Name="UseFDL" Text="no" /> + <DataFlash Name="DataFlash" Text="0" /> + <OCDROM Name="OCDROM" Text="Unused" /> + <OCDROM_Address Name="OCDROM_Address" Text="0001FE00" /> + <OCDROM_Length Name="OCDROM_Length" Text="512" /> + <HasRRMRam Name="HasRRMRam" Text="" /> + <HasTraceRam Name="HasTraceRam" Text="" /> + <HasHotRam Name="HasHotRam" Text="" /> + <PrjVersion Name="PrjVersion" Text="1.2.0.1" /> + <ProductVersion Name="ProductVersion" Text="4.08.05.01" /> + <TO02_PWM Name="TO02_PWM" Text="false" /> + <TO03_PWM Name="TO03_PWM" Text="false" /> + <Ch3UseTI03 Name="Ch3UseTI03" Text="false" /> + <Ch4UseTI03 Name="Ch4UseTI03" Text="false" /> + <Ch5UseTI03 Name="Ch5UseTI03" Text="false" /> + <INPT0USE0 Name="INPT0USE0" Text="false" /> + <TRDINTP0LINK0 Name="TRDINTP0LINK0" Text="false" /> + <TRDIOC1_PWM Name="TRDIOC1_PWM" Text="false" /> + <TRDIOD1_PWM Name="TRDIOD1_PWM" Text="false" /> + <INPT0USE1 Name="INPT0USE1" Text="false" /> + <TRDINTP0LINK1 Name="TRDINTP0LINK1" Text="false" /> + <LinkFileName Name="LinkFileName" Text="" /> + <TRD0_INTP0 Name="TRD0_INTP0" Value="0" /> + <TRD1_INTP0 Name="TRD1_INTP0" Value="0" /> + </VAR> + <DIR> + <PIN> + <CGC> + <X1 Port="P121" Point="-" /> + <X2 Port="P122" Point="-" /> + <EXCLK Port="P122" Point="I" /> + <TOOL0 Port="P40" Point="I/O" /> + <RESOUT Port="P130" Point="O" /> + </CGC> + <PORT> + <Port1 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" Pullup="true"> + <P10 Name="P10/TI13/TO13/TRJO0/_SCK10/SCL10/LTXD1/CTXD0" Chip="groupb,groupc1,groupc2" TTL="true" PITHL="true" Nch="true" AltFunc="" Point="I/O" /> + <P11 Name="P11/TI12/TO12/TRDIOB0/SI10/SDA10/RXD1/LRXD1/CRXD0" Chip="groupb,groupc1,groupc2" TTL="true" PITHL="true" Nch="true" AltFunc="" Point="I/O" /> + <P12 Name="P12/TI11/TO11/TRDIOD0/INTP5/SO10/TXD1/SNZOUT3" Chip="groupb,groupc1,groupc2" Nch="true" AltFunc="P12" Point="I/O" /> + <P13 Name="P13/TI04/TO04/TRDIOA0/TRDCLK0/SI01/SDA01/LTXD0" TTL="true" PITHL="true" Nch="true" AltFunc="TRDIOA0_P13" Point="I/O" /> + <P14 Name="P14/TI06/TO06/TRDIOC0/_SCK01/SCL01/LRXD0" TTL="true" PITHL="true" Nch="true" AltFunc="TRDIOC0_P14" Point="I/O" /> + <P15 Name="P15/TI05/TO05/TRDIOA1/TRDIOA0/TRDCLK0/SO00/TXD0/TOOLTXD/RTC1HZ" Nch="true" AltFunc="TRDIOA1_P15" Point="I/O" /> + <P16 Name="P16/TI02/TO02/TRDIOC1/SI00/SDA00/RXD0/TOOLRXD" TTL="true" PITHL="true" Nch="true" AltFunc="P16" Point="I/O" /> + <P17 Name="P17/TI00/TO00/TRDIOB1/_SCK00/SCL00/INTP3" TTL="true" PITHL="true" Nch="true" AltFunc="P17" Point="I/O" /> + </Port1> + <Port3 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P30 Name="P30/TI01/TO01/TRDIOD1/_SSI00/INTP2/SNZOUT0" TTL="true" PITHL="true" Pullup="true" AltFunc="P30" Point="I/O" /> + <P33 Name="P33/AVREFP/ANI00" AltFunc="ANI0" Point="I/O" /> + <P34 Name="P34/AVREFM/ANI01" AltFunc="P34" Point="I/O" /> + </Port3> + <Port4 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin" Pullup="true"> + <P40 Name="P40/TOOL0" AltFunc="" Point="I/O" /> + <P41 Name="P41/TI10/TO10/TRJIO0/VCOUT0/SNZOUT2" AltFunc="P41" Point="I/O" /> + </Port4> + <Port6 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin" Pullup="true"> + <P60 Name="P60/_SCK00/SCL00" PITHL="true" Nch="true" AltFunc="P60" Point="I/O" /> + <P61 Name="P61/SI00/SDA00/RXD0" PITHL="true" Nch="true" AltFunc="P61" Point="I/O" /> + <P62 Name="P62/SO00/TXD0/SCLA0" Chip="R5F10AGF,R5F10AGG,R5F10ALF,R5F10ALG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG" PITHL="true" Nch="true" TTL="true" AltFunc="P62" Point="I/O" /> + <P63 Name="P63/_SSI00/SDAA0" Chip="R5F10AGF,R5F10AGG,R5F10ALF,R5F10ALG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG" TTL="true" PITHL="true" Nch="true" AltFunc="P63" Point="I/O" /> + </Port6> + <Port8 Chip="RL78F13_32pin"> + <P80 Name="P80/ANI02/ANO0" AltFunc="P80" Point="I/O" /> + <P81 Name="P81/ANI03/IVCMP00" AltFunc="P81" Point="I/O" /> + <P82 Name="P82/ANI04/IVCMP01" AltFunc="P82" Point="I/O" /> + <P83 Name="P83/ANI05/IVCMP02" AltFunc="P83" Point="I/O" /> + <P84 Name="P84/ANI06/IVCMP03" AltFunc="P84" Point="I/O" /> + <P85 Name="P85/ANI07/IVREF0" AltFunc="P85" Point="I/O" /> + </Port8> + <Port12 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P120 Name="P120/ANI25/TI07/TO07/TRDIOD0/SO01/INTP4" Chip="R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" DIN="true" Nch="true" Pullup="true" AltFunc="P120" Point="I/O" /> + <P121 Name="P121/X1" AltFunc="X1" Point="I" /> + <P122 Name="P122/X2/EXCLK" AltFunc="X2" Point="I" /> + <P125 Name="P125/ANI24/TI03/TO03/TRDIOB0/_SSI01/INTP1/SNZOUT1" Chip="R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" DIN="true" TTL="true" PITHL="true" Pullup="true" AltFunc="P125" Point="I/O" /> + </Port12> + <Port13 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P137 Name="P137/INTP0" AltFunc="P137" Point="I" /> + </Port13> + </PORT> + <INTC> + <INTP> + <INTP0 Port="P137" Point="I" /> + <INTP1 Port="P125" Point="I" /> + <INTP2 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" Port="P30" Point="I" /> + <INTP3 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" Port="P17" Point="I" /> + <INTP4 Port="P120" Point="I" /> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" Port="P12" Point="I" /> + </INTP> + <KEY> + </KEY> + </INTC> + <ADC> + <ANI0 Port="P33" Point="I" /> + <ANI1 Port="P34" Point="I" /> + <ANI2 Port="P80" Point="I" /> + <ANI3 Port="P81" Point="I" /> + <ANI4 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P82" Point="I" /> + <ANI5 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P83" Point="I" /> + <ANI6 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P84" Point="I" /> + <ANI7 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P85" Point="I" /> + <ANI24 Chip="R5F10BGC, R5F10BGD, R5F10BGE, R5F10BGF, R5F10BGG, R5F10AGF, R5F10AGG, R5F10BLC, R5F10BLD, R5F10BLE, R5F10BLF, R5F10BLG, R5F10ALF, R5F10ALG, RL78F13_80pin, R5F10BBC, R5F10BBD, R5F10BBE, R5F10BBF, R5F10BBG, R5F10BAC, R5F10BAD, R5F10BAE, R5F10BAF, R5F10BAG" Port="P125" Point="I" /> + <ANI25 Chip="R5F10BGC, R5F10BGD, R5F10BGE, R5F10BGF, R5F10BGG, R5F10AGF, R5F10AGG, R5F10BLC, R5F10BLD, R5F10BLE, R5F10BLF, R5F10BLG, R5F10ALF, R5F10ALG, RL78F13_80pin, R5F10BBC, R5F10BBD, R5F10BBE, R5F10BBF, R5F10BBG, R5F10BAC, R5F10BAD, R5F10BAE, R5F10BAF, R5F10BAG" Port="P120" Point="I" /> + <AVREFP Port="P33" Point="I" /> + <AVREFM Port="P34" Point="I" /> + <ANALOG_0 Port="P33" Point="I" RealName="ANI0" /> + <ANALOG_1 Port="P34" Point="I" RealName="ANI1" /> + <ANALOG_2 Port="P80" Point="I" RealName="ANI2" /> + <ANALOG_3 Port="P81" Point="I" RealName="ANI3" /> + <ANALOG_4 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P82" Point="I" RealName="ANI4" /> + <ANALOG_5 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P83" Point="I" RealName="ANI5" /> + <ANALOG_6 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P84" Point="I" RealName="ANI6" /> + <ANALOG_7 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P85" Point="I" RealName="ANI7" /> + </ADC> + <Serial> + <SAU0> + <UART0> + <RXD0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="I" /> + <TXD0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P15" Point="O" /> + </UART0> + <CSI00> + <SO00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P15" Point="O" /> + <SI00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="I" /> + <SCK00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" RealName="_SCK00" Port="P17" Point="I/O" /> + <SSI00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" RealName="_SSI00" Port="P30" Point="I" /> + </CSI00> + <CSI01> + <SO01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P120" Point="O" /> + <SI01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P13" Point="I" /> + <SCK01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P14" RealName="_SCK01" Point="I/O" /> + <SSI01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" RealName="_SSI01" Port="P125" Point="I" /> + </CSI01> + <IIC00> + <SCL00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P17" Point="O" CheckNch="true" /> + <SDA00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="O" CheckNch="true" /> + </IIC00> + <IIC01> + <SCL01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P14" Point="O" CheckNch="true" /> + <SDA01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P13" Point="O" CheckNch="true" /> + </IIC01> + </SAU0> + <SAU1> + <UART1> + <RXD1 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="I" /> + <TXD1 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P12" Point="O" /> + </UART1> + <CSI10> + <SO10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P12" Point="O" /> + <SI10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="I" /> + <SCK10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P10" RealName="_SCK10" Point="I/O" /> + </CSI10> + <IIC10> + <SCL10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P10" Point="O" CheckNch="true" /> + <SDA10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="O" CheckNch="true" /> + </IIC10> + </SAU1> + <IICA0> + <SCLA0 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" Port="P62" Point="I/O" /> + <SDAA0 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" Port="P63" Point="I/O" /> + </IICA0> + </Serial> + <TAU> + <TAU0> + <Channel0> + <TI00 Chip="RL78F13_30pin,RL78F13_32pin,,RL78F13_20pin" Port="P17" Point="I" /> + <TO00 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P17" Point="O" /> + </Channel0> + <Channel1> + <TI01 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P30" Point="I" /> + <TO01 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P30" Point="O" /> + </Channel1> + <Channel2> + <TI02 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P16" Point="I" /> + <TO02 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P16" Point="O" /> + </Channel2> + <Channel3> + <TI03 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P125" Point="I" /> + <TO03 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P125" Point="O" /> + </Channel3> + <Channel4> + <TI04 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P13" Point="I" /> + <TO04 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P13" Point="O" /> + </Channel4> + <Channel5> + <TI05 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P15" Point="I" /> + <TO05 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P15" Point="O" /> + </Channel5> + <Channel6> + <TI06 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P14" Point="I" /> + <TO06 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P14" Point="O" /> + </Channel6> + <Channel7> + <TI07 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P120" Point="I" /> + <TO07 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P120" Point="O" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <Channel0> + <TI10 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P41" Point="I" /> + <TO10 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P41" Point="O" /> + </Channel0> + <Channel1> + <TI11 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P12" Point="I" /> + <TO11 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P12" Point="O" /> + </Channel1> + <Channel2> + <TI12 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P11" Point="I" /> + <TO12 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P11" Point="O" /> + </Channel2> + <Channel3> + <TI13 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P10" Point="I" /> + <TO13 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P10" Point="O" /> + </Channel3> + </TAU1> + <TMRJ0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin,RL78F13_30pin"> + <TRJIO0 Port="P41" Point="I/O" /> + <TRJO0 Port="P10" Point="O" /> + </TMRJ0> + <TMRD0> + <TRDCLK_P13_0 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_1" RealName="TRDCLK0" /> + <TRDIOA0_P13 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_0" RealName="TRDIOA0" /> + <TRDIOB0_P125 PIOR71="0" Port="P125" Point="I/O" RealName="TRDIOB0" /> + <TRDIOC0_P14 Port="P14" Point="I/O" RealName="TRDIOC0" /> + <TRDIOD0_P120 PIOR73="0" Port="P120" Point="I/O" RealName="TRDIOD0" /> + <TRDIOA1_P15_0 Port="P15" Point="I/O" UnConflict="TRDIOA1_P15" RealName="TRDIOA1" /> + <TRDIOB1_P17_0 Port="P17" Point="I/O" UnConflict="TRDIOB1_P17" RealName="TRDIOB1" /> + <TRDIOC1_P16_0 Port="P16" Point="I/O" UnConflict="TRDIOC1_P16" RealName="TRDIOC1" /> + <TRDIOD1_P30_0 Port="P30" Point="I/O" UnConflict="TRDIOD1_P30" RealName="TRDIOD1" /> + </TMRD0> + <TMRD1> + <TRDCLK_P13_1 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_0,TRDIOA0_P13" RealName="TRDCLK0" /> + <TRDIOA1_P15 Port="P15" Point="I/O" UnConflict="TRDIOA1_P15_0" RealName="TRDIOA1" /> + <TRDIOB1_P17 Port="P17" Point="I/O" UnConflict="TRDIOB1_P17_0" RealName="TRDIOB1" /> + <TRDIOC1_P16 Port="P16" Point="I/O" UnConflict="TRDIOC1_P16_0" RealName="TRDIOC1" /> + <TRDIOD1_P30 Port="P30" Point="I/O" UnConflict="TRDIOD1_P30_0" RealName="TRDIOD1" /> + </TMRD1> + </TAU> + <RTC> + <RTC1HZ Port="P15" Point="O" /> + </RTC> + <LIN> + <LTxD0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin" PIOR44="0" Port="P13" Point="O" /> + <LRxD0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin" PIOR44="0" Port="P14" Point="I" /> + </LIN> + <CAN> + <CTxD0 Chip="R5F10BME,R5F10BMF,R5F10BMG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC" PIOR46="0" Port="P10" Point="O" /> + <CRxD0 Chip="R5F10BME,R5F10BMF,R5F10BMG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC" PIOR46="0" Port="P11" Point="I" /> + </CAN> + <Others> + <VDD AltFunc="VDD" Point="-" /> + <VSS AltFunc="VSS" Point="-" /> + <REGC AltFunc="REGC" Point="-" /> + <_RESET AltFunc="_RESET" RealName="_RESET" Point="I" /> + </Others> + </PIN> + <INT> + <CGC> + <INTCLM InUse="0" ISR="r_cgc_clockmonitor_interrupt" /> + <INTRAM InUse="0" ISR="r_cgc_ram_ecc_interrupt" /> + <INTSPM InUse="0" ISR="r_cgc_stackpointer_interrupt" /> + </CGC> + <INTC> + <INTP> + <INTP0 InUse="0" ISR="r_intc0_interrupt" /> + <INTP1 InUse="0" ISR="r_intc1_interrupt" /> + <INTP2 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" InUse="0" ISR="r_intc2_interrupt" /> + <INTP3 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" InUse="0" ISR="r_intc3_interrupt" /> + <INTP4 InUse="0" ISR="r_intc4_interrupt" /> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse="0" ISR="r_intc5_interrupt" /> + </INTP> + <KEY> + </KEY> + </INTC> + <Serial> + <SAU0> + <INTCSI00 InUse="0" ISR="r_csi00_interrupt" /> + <INTCSI01 InUse="0" ISR="r_csi01_interrupt" /> + <INTST0 InUse="0" ISR="r_uart0_interrupt_send" /> + <INTSR0 InUse="0" ISR="r_uart0_interrupt_receive" /> + <INTIIC00 InUse="0" ISR="r_iic00_interrupt" /> + <INTIIC01 InUse="0" ISR="r_iic01_interrupt" /> + </SAU0> + <SAU1> + <INTCSI10 InUse="0" ISR="r_csi10_interrupt" /> + <INTCSI11 InUse="0" ISR="r_csi11_interrupt" /> + <INTST1 InUse="0" ISR="r_uart1_interrupt_send" /> + <INTSR1 InUse="0" ISR="r_uart1_interrupt_receive" /> + <INTIIC10 InUse="0" ISR="r_iic10_interrupt" /> + <INTIIC11 InUse="0" ISR="r_iic11_interrupt" /> + </SAU1> + <IICA0> + <INTIICA0 InUse="0" ISR="r_iica0_interrupt" /> + </IICA0> + </Serial> + <ADC> + <INTAD InUse="1" ISR="r_adc_interrupt" IsDMATrigger="true" /> + </ADC> + <TAU> + <TAU0> + <Channel0> + <INTTM00 InUse="1" ISR="r_tau0_channel0_interrupt" /> + </Channel0> + <Channel1> + <INTTM01 InUse="1" ISR="r_tau0_channel1_interrupt" /> + <INTTM01H InUse="0" ISR="r_tau0_channel1_higher8bits_interrupt" /> + </Channel1> + <Channel2> + <INTTM02 InUse="0" ISR="r_tau0_channel2_interrupt" /> + </Channel2> + <Channel3> + <INTTM03 InUse="0" ISR="r_tau0_channel3_interrupt" /> + <INTTM03H InUse="0" ISR="r_tau0_channel3_higher8bits_interrupt" /> + </Channel3> + <Channel4> + <INTTM04 InUse="0" ISR="r_tau0_channel4_interrupt" /> + </Channel4> + <Channel5> + <INTTM05 InUse="0" ISR="r_tau0_channel5_interrupt" /> + </Channel5> + <Channel6> + <INTTM06 InUse="0" ISR="r_tau0_channel6_interrupt" /> + </Channel6> + <Channel7> + <INTTM07 InUse="0" ISR="r_tau0_channel7_interrupt" /> + </Channel7> + </TAU0> + <TAU1> + <Channel0> + <INTTM10 InUse="0" ISR="r_tau1_channel0_interrupt" /> + </Channel0> + <Channel1> + <INTTM11 InUse="0" ISR="r_tau1_channel1_interrupt" /> + <INTTM11H InUse="0" ISR="r_tau1_channel1_higher8bits_interrupt" /> + </Channel1> + <Channel2> + <INTTM12 InUse="0" ISR="r_tau1_channel2_interrupt" /> + </Channel2> + <Channel3> + <INTTM13 InUse="0" ISR="r_tau1_channel3_interrupt" /> + <INTTM13H InUse="0" ISR="r_tau1_channel3_higher8bits_interrupt" /> + </Channel3> + <Channel4> + <INTTM14 InUse="0" ISR="r_tau1_channel4_interrupt" /> + </Channel4> + <Channel5> + <INTTM15 InUse="0" ISR="r_tau1_channel5_interrupt" /> + </Channel5> + <Channel6> + <INTTM16 InUse="0" ISR="r_tau1_channel6_interrupt" /> + </Channel6> + <Channel7> + <INTTM17 InUse="0" ISR="r_tau1_channel7_interrupt" /> + </Channel7> + </TAU1> + <TMRJ0> + <INTTRJ0 InUse="0" ISR="r_tmr_rj0_interrupt" /> + </TMRJ0> + <TMRD0> + <INTTRD0 InUse="0" ISR="r_tmr_rd0_interrupt" /> + </TMRD0> + <TMRD1> + <INTTRD1 InUse="0" ISR="r_tmr_rd1_interrupt" /> + </TMRD1> + </TAU> + <RTC> + <INTRTC InUse="0" ISR="r_rtc_interrupt" /> + </RTC> + <WDT> + <INTWDTI InUse="0" ISR="r_wdt_interrupt" /> + </WDT> + <LVD> + <INTLVI InUse="0" ISR="r_lvd_interrupt" IsDMATrigger="true" /> + </LVD> + </INT> + <FUNC> + <Common> + <r_main.c UserName="r_main.c" LibName="main.c" IsLibrary="false" InUse="2"> + <Type main="void main(void)" R_MAIN_UserInit="void R_MAIN_UserInit(void)" /> + <main UserName="main" LibName="main" FixedName="" InUse="2" ForRTOS="false" Init="" /> + <R_MAIN_UserInit UserName="R_MAIN_UserInit" LibName="R_MAIN_UserInit" InUse="2" /> + </r_main.c> + <r_systeminit.c UserName="r_systeminit.c" LibName="systeminit.c" Compiler="CARL78,ICCRL78,CCRL" InUse="1"> + <Type systeminit="void R_Systeminit(void)" hdwinit="void hdwinit(void)" low_level_init="int __low_level_init(void)" inti_handler="void inti_handler(void)" idle_handler="void idle_handler(void)" /> + <R_Systeminit UserName="R_Systeminit" LibName="systeminit" InUse="1" Init="" /> + <hdwinit UserName="hdwinit" LibName="hdwinit" FixedName="" Compiler="CARL78,CCRL" InUse="1" Init="" /> + <__low_level_init UserName="" LibName="low_level_init" FixedName="" Compiler="ICCRL78" InUse="1" Init="" /> + </r_systeminit.c> + <r_hardware_setup.c UserName="" LibName="hardwaresetup.c" Compiler="GCCRL78" InUse="1"> + <Type systeminit="void R_Systeminit(void)" hardwaresetup="void HardwareSetup(void)" /> + <R_Systeminit UserName="" LibName="systeminit" InUse="1" Init="" /> + <HardwareSetup UserName="" LibName="hardwaresetup" FixedName="" InUse="1" Init="" /> + </r_hardware_setup.c> + <r_cg_vector_table.c UserName="" LibName="vectortable.c" Compiler="GCCRL78" InUse="1"> + <Type R_Dummy="void R_Dummy(void)" /> + <R_Dummy UserName="R_Dummy" LibName="R_Dummy" InUse="1" /> + </r_cg_vector_table.c> + <r_reset_program.asm UserName="" LibName="resetprogram.s" Compiler="GCCRL78" InUse="1" /> + <r_cg_interrupt_handlers.h UserName="" LibName="interrupthandlers.h" Compiler="GCCRL78" InUse="1" /> + <r_cg_macrodriver.h UserName="r_cg_macrodriver.h" LibName="macrodriver1.h" InUse="1" /> + <r_cg_userdefine.h UserName="r_cg_userdefine.h" LibName="userdefine.h" InUse="1" /> + <r_lk.dr UserName="" LibName="lk.dr" IsLibrary="false" Compiler="CARL78" InUse="1" /> + <r_mdlnk.xcl UserName="" LibName="md_lnk.xcl" Visible="false" IsLibrary="false" Compiler="ICCRL78" InUse="1" /> + <iodefine.head UserName="" LibName="iodefine.head" Visible="false" IsLibrary="false" Compiler="GCCRL78" InUse="1" /> + <iodefineext.head UserName="" LibName="iodefineext.head" Visible="false" IsLibrary="false" Compiler="GCCRL78" InUse="1" /> + <mdt.customdebuglinker UserName="" LibName="mdt.customdebuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.debuglinker UserName="" LibName="mdt.debuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.hardwaredebuglinker UserName="" LibName="mdt.hardwaredebuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.releaselinker UserName="" LibName="mdt.releaselinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.project UserName="" LibName="mdt.project" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.cproject UserName="" LibName="mdt.cproject" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.info UserName="" LibName="mdt.info" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <r_mdt.ipcf UserName="" LibName="mdt.ipcf" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.eww UserName="" LibName="mdt.eww" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.ewp UserName="" LibName="rl78mdt.ewp" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.txt UserName="r_mdt.txt" LibName="mdt.txt" Visible="false" IsLibrary="false" Compiler="CARL78,CCRL" ForAP="true" InUse="1" /> + </Common> + <CGC> + <r_cg_cgc.c UserName="r_cg_cgc.c" LibName=".c" InUse="1"> + <Type R_CGC_Create="void R_CGC_Create(void)" R_CGC_Set_ClockMode="MD_STATUS R_CGC_Set_ClockMode(enum ClockMode mode)" R_CGC_ClockMonitor_Start="void R_CGC_ClockMonitor_Start(void)" R_CGC_ClockMonitor_Stop="void R_CGC_ClockMonitor_Stop(void)" R_CGC_StackPointer_Start="void R_CGC_StackPointer_Start(void)" R_CGC_StackPointer_Stop="void R_CGC_StackPointer_Stop(void)" R_CGC_RAMECC_Start="void R_CGC_RAMECC_Start(void)" R_CGC_RAMECC_Stop="void R_CGC_RAMECC_Stop(void)" /> + <R_CGC_Create UserName="R_CGC_Create" LibName="R_CGC_Create" InUse="1" Init="1" InitMode="" /> + <R_CGC_Set_ClockMode UserName="R_CGC_Set_ClockMode" LibName="R_CGC_Set_ClockMode" InUse="0" /> + <R_CGC_ClockMonitor_Start UserName="R_CGC_ClockMonitor_Start" LibName="R_CGC_ClockMonitor_Start" InUse="0" /> + <R_CGC_ClockMonitor_Stop UserName="R_CGC_ClockMonitor_Stop" LibName="R_CGC_ClockMonitor_Stop" InUse="0" /> + <R_CGC_StackPointer_Start UserName="R_CGC_StackPointer_Start" LibName="R_CGC_StackPointer_Start" InUse="0" /> + <R_CGC_StackPointer_Stop UserName="R_CGC_StackPointer_Stop" LibName="R_CGC_StackPointer_Stop" InUse="0" /> + <R_CGC_RAMECC_Start UserName="R_CGC_RAMECC_Start" LibName="R_CGC_RAMECC_Start" InUse="0" /> + <R_CGC_RAMECC_Stop UserName="R_CGC_RAMECC_Stop" LibName="R_CGC_RAMECC_Stop" InUse="0" /> + </r_cg_cgc.c> + <r_cg_cgc_user.c UserName="r_cg_cgc_user.c" LibName="_user.c" InUse="1"> + <Type R_CGC_Get_ResetSource="void R_CGC_Get_ResetSource(void)" R_CGC_Create_UserInit="void R_CGC_Create_UserInit(void)" r_cgc_clockmonitor_interrupt="__interrupt static void r_cgc_clockmonitor_interrupt(void)" r_cgc_stackpointer_interrupt="__interrupt static void r_cgc_stackpointer_interrupt(void)" r_cgc_ram_ecc_interrupt="__interrupt static void r_cgc_ram_ecc_interrupt(void)" /> + <R_CGC_Create_UserInit UserName="R_CGC_Create_UserInit" LibName="R_CGC_Create_UserInit" InUse="0" /> + <R_CGC_Get_ResetSource UserName="R_CGC_Get_ResetSource" LibName="R_CGC_Get_ResetSource" Init="0" InUse="1" /> + <r_cgc_clockmonitor_interrupt UserName="r_cgc_clockmonitor_interrupt" INTHandle="" LibName="r_cgc_clockmonitor_interrupt" InUse="0" /> + <r_cgc_stackpointer_interrupt UserName="r_cgc_stackpointer_interrupt" INTHandle="" LibName="r_cgc_stackpointer_interrupt" InUse="0" /> + <r_cgc_ram_ecc_interrupt UserName="r_cgc_ram_ecc_interrupt" INTHandle="" LibName="r_cgc_ram_ecc_interrupt" InUse="0" /> + </r_cg_cgc_user.c> + <r_cg_cgc.h UserName="r_cg_cgc.h" LibName=".h" InUse="1" /> + <r_cg_pfdl.c UserName="r_cg_pfdl.c" LibName="_pfdl.c" InUse="1"> + <Type R_FDL_Create="void R_FDL_Create(void)" R_FDL_Write="pfdl_status_t R_FDL_Write(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount)" R_FDL_Read="pfdl_status_t R_FDL_Read(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount)" R_FDL_Erase="pfdl_status_t R_FDL_Erase(pfdl_u16 blockno)" R_FDL_Open="void R_FDL_Open(void)" R_FDL_Close="void PFDL_Close(void)" R_FDL_BlankCheck="pfdl_status_t R_FDL_BlankCheck(pfdl_u16 index, pfdl_u16 bytecount)" R_FDL_IVerify="pfdl_status_t R_FDL_IVerify(pfdl_u16 index, pfdl_u16 bytecount)" /> + <R_FDL_Create UserName="R_FDL_Create" LibName="R_FDL_Create" InUse="0" InitMode="" /> + <R_FDL_Write UserName="R_FDL_Write" LibName="R_FDL_Write" InUse="0" /> + <R_FDL_Read UserName="R_FDL_Read" LibName="R_FDL_Read" InUse="0" /> + <R_FDL_Erase UserName="R_FDL_Erase" LibName="R_FDL_Erase" InUse="0" /> + <R_FDL_Open UserName="R_FDL_Open" LibName="R_FDL_Open" InUse="0" /> + <R_FDL_Close UserName="R_FDL_Close" LibName="R_FDL_Close" InUse="0" /> + <R_FDL_BlankCheck UserName="R_FDL_BlankCheck" LibName="R_FDL_BlankCheck" InUse="0" /> + <R_FDL_IVerify UserName="R_FDL_IVerify" LibName="R_FDL_IVerify" InUse="0" /> + </r_cg_pfdl.c> + <r_cg_pfdl.h UserName="r_cg_pfdl.h" LibName="_pfdl.h" InUse="0" /> + </CGC> + <PORT> + <r_cg_port.c UserName="r_cg_port.c" LibName=".c" InUse="1"> + <Type R_PORT_Create="void R_PORT_Create(void)" /> + <R_PORT_Create UserName="R_PORT_Create" LibName="R_PORT_Create" Init="1" InitMode="" InUse="1" /> + </r_cg_port.c> + <r_cg_port_user.c UserName="r_cg_port_user.c" LibName="_user.c" InUse="1"> + <Type R_PORT_Create_UserInit="void R_PORT_Create_UserInit(void)" /> + <R_PORT_Create_UserInit UserName="R_PORT_Create_UserInit" LibName="R_PORT_Create_UserInit" InUse="0" /> + </r_cg_port_user.c> + <r_cg_port.h UserName="r_cg_port.h" LibName=".h" InUse="1" /> + </PORT> + <INTC> + <r_cg_intc.c UserName="r_cg_intc.c" LibName=".c" InUse=""> + <Type R_INTC_Create="void R_INTC_Create(void)" R_INTCn_Start="void R_INTCn_Start(void)" R_INTCn_Stop="void R_INTCn_Stop(void)" R_KEY_Create="void R_KEY_Create(void)" R_KEY_Start="void R_KEY_Start(void)" R_KEY_Stop="void R_KEY_Stop(void)" /> + <INTP> + <R_INTC_Create UserName="R_INTC_Create" LibName="R_INTC_Create" InUse="" Init="2" InitMode="" /> + <INTP0> + <R_INTC0_Start UserName="R_INTC0_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC0_Stop UserName="R_INTC0_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP0> + <INTP1> + <R_INTC1_Start UserName="R_INTC1_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC1_Stop UserName="R_INTC1_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP1> + <INTP2 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0"> + <R_INTC2_Start UserName="R_INTC2_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC2_Stop UserName="R_INTC2_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP2> + <INTP3 Chip="RL78F13_48pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0"> + <R_INTC3_Start UserName="R_INTC3_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC3_Stop UserName="R_INTC3_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP3> + <INTP4> + <R_INTC4_Start UserName="R_INTC4_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC4_Stop UserName="R_INTC4_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP4> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin"> + <R_INTC5_Start UserName="R_INTC5_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC5_Stop UserName="R_INTC5_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP5> + </INTP> + </r_cg_intc.c> + <r_cg_intc_user.c UserName="r_cg_intc_user.c" LibName="_user.c" InUse=""> + <Type R_INTC_Create_UserInit="void R_INTC_Create_UserInit(void)" r_intc0_interrupt="__interrupt static void r_intc0_interrupt(void)" r_intc1_interrupt="__interrupt static void r_intc1_interrupt(void)" r_intc2_interrupt="__interrupt static void r_intc2_interrupt(void)" r_intc3_interrupt="__interrupt static void r_intc3_interrupt(void)" r_intc4_interrupt="__interrupt static void r_intc4_interrupt(void)" r_intc5_interrupt="__interrupt static void r_intc5_interrupt(void)" r_intc6_interrupt="__interrupt static void r_intc6_interrupt(void)" r_intc7_interrupt="__interrupt static void r_intc7_interrupt(void)" r_intc8_interrupt="__interrupt static void r_intc8_interrupt(void)" r_intc9_interrupt="__interrupt static void r_intc9_interrupt(void)" r_intc10_interrupt="__interrupt static void r_intc10_interrupt(void)" r_intc11_interrupt="__interrupt static void r_intc11_interrupt(void)" R_KEY_Create_UserInit="void R_KEY_Create_UserInit(void)" r_key_interrupt="__interrupt static void r_key_interrupt(void)" /> + <INTP> + <R_INTC_Create_UserInit UserName="R_INTC_Create_UserInit" LibName="R_INTC_Create_UserInit" InUse="" /> + <r_intc0_interrupt UserName="r_intc0_interrupt" LibName="r_intc0_interrupt" INTHandle="" InUse="" /> + <r_intc1_interrupt UserName="r_intc1_interrupt" LibName="r_intc1_interrupt" INTHandle="" InUse="" /> + <r_intc2_interrupt Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" UserName="r_intc2_interrupt" LibName="r_intc2_interrupt" INTHandle="" InUse="" /> + <r_intc3_interrupt Chip="RL78F13_48pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" UserName="r_intc3_interrupt" LibName="r_intc3_interrupt" INTHandle="" InUse="" /> + <r_intc4_interrupt UserName="r_intc4_interrupt" LibName="r_intc4_interrupt" INTHandle="" InUse="" /> + <r_intc5_interrupt Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" UserName="r_intc5_interrupt" LibName="r_intc5_interrupt" INTHandle="" InUse="" /> + </INTP> + </r_cg_intc_user.c> + <r_cg_intc.h UserName="r_cg_intc.h" LibName=".h" InUse="" /> + </INTC> + <Serial> + <r_cg_serial.c UserName="r_cg_serial.c" LibName=".c" InUse="0"> + <Type R_SAUn_Create="void R_SAUn_Create(void)" R_SAUn_Set_PowerOff="void R_SAUn_Set_PowerOff(void)" R_SAUn_Set_SnoozeOn="void R_SAUn_Set_SnoozeOn(void)" R_SAUn_Set_SnoozeOff="void R_SAUn_Set_SnoozeOff(void)" R_UARTn_Create="void R_UARTn_Create(void)" R_UARTn_Send="MD_STATUS R_UARTn_Send(uint8_t const * tx_buf, uint16_t tx_num)" R_UARTn_Receive="MD_STATUS R_UARTn_Receive(uint8_t const * rx_buf, uint16_t rx_num)" R_UARTn_Start="void R_UARTn_Start(void)" R_UARTn_Stop="void R_UARTn_Stop(void)" R_CSIn_Create="void R_CSIn_Create(void)" R_CSIn_Send="MD_STATUS R_CSIn_Send(uint8_t const * tx_buf, uint16_t tx_num)" R_CSIn_Receive="MD_STATUS R_CSIn_Receive(uint8_t const * rx_buf, uint16_t rx_num) " R_CSIn_Send_Receive="MD_STATUS R_CSIn_Send_Receive(uint8_t const * tx_buf, uint16_t tx_num, uint8_t const * rx_buf) " R_CSIn_Start="void R_CSIn_Start(void)" R_CSIn_Stop="void R_CSIn_Stop(void)" R_IICn_Create="void R_IICn_Create(void)" R_IICn_Master_Send="void R_IICn_Master_Send(uint8_t adr, uint8_t const * tx_buf, uint16_t txnum)" R_IICn_Master_Receive="void R_IICn_Master_Receive(uint8_t adr, uint8_t const * rx_buf, uint16_t rx_num) " R_IICn_Stop="void R_IICn_Stop(void)" R_IICn_StartCondition="void R_IICn_StartCondition(void)" R_IICn_StopCondition="void R_IICn_StopCondition(void)" R_UARTFn_Create="void R_UARTFn_Create(void)" R_UARTFn_Send="MD_STATUS R_UARTFn_Send(uint8_t * const tx_buf, uint16_t tx_num)" R_UARTFn_Receive="MD_STATUS R_UARTFn_Receive(uint8_t * const rx_buf, uint16_t rx_num)" R_UARTFn_Set_ComparisonData="void R_UARTFn_Set_ComparisonData(uint16_t com_data)" R_UARTFn_Set_DataComparisonOn="void R_UARTFn_Set_DataComparisonOn(void)" R_UARTFn_Set_DataComparisonOff="void R_UARTFn_Set_DataComparisonOff(void)" R_UARTFn_Set_PowerOff="void R_UARTFn_Set_PowerOff(void)" R_IICAn_Create="void R_IICAn_Create(void)" R_IICAn_Master_Send="MD_STATUS R_IICAn_Master_Send(uint8_t adr, uint8_t * const tx_buf, uint16_t tx_num, uint8_t wait)" R_IICAn_Master_Receive="MD_STATUS R_IICAn_Master_Receive(uint8_t adr, uint8_t * const rx_buf, uint16_t rx_num, uint8_t wait)" R_IICAn_Slave_Send="void R_IICAn_Slave_Send(uint8_t * const tx_buf, uint16_t tx_num)" R_IICAn_Slave_Receive="void R_IICAn_Slave_Receive(uint8_t * const rx_buf, uint16_t rx_num)" R_IICAn_Stop="void R_IICAn_Stop(void)" R_IICAn_StopCondition="void R_IICAn_StopCondition(void)" R_IICAn_Set_SnoozeOn="void R_IICAn_Set_SnoozeOn(void)" R_IICAn_Set_SnoozeOff="void R_IICAn_Set_SnoozeOff(void)" R_IICAn_Set_PowerOff="void R_IICAn_Set_PowerOff(void)" /> + <SAU0 InUse=""> + <R_SAU0_Create UserName="R_SAU0_Create" LibName="R_SAUn_Create" InUse="0" Init="1" InitMode="" /> + <R_SAU0_Set_PowerOff UserName="R_SAU0_Set_PowerOff" LibName="R_SAUn_Set_PowerOff" InUse="0" /> + <R_SAU0_Set_SnoozeOn UserName="R_SAU0_Set_SnoozeOn" LibName="R_SAUn_Set_SnoozeOn" InUse="0" /> + <R_SAU0_Set_SnoozeOff UserName="R_SAU0_Set_SnoozeOff" LibName="R_SAUn_Set_SnoozeOff" InUse="0" /> + <UART0 InUse=""> + <R_UART0_Create UserName="R_UART0_Create" LibName="R_UARTn_Create" InUse="0" InitMode="" /> + <R_UART0_Start UserName="R_UART0_Start" LibName="R_UARTn_Start" InUse="0" /> + <R_UART0_Stop UserName="R_UART0_Stop" LibName="R_UARTn_Stop" InUse="0" /> + <R_UART0_Send UserName="R_UART0_Send" LibName="R_UARTn_Send" InUse="0" /> + <R_UART0_Receive UserName="R_UART0_Receive" LibName="R_UARTn_Receive" InUse="0" /> + </UART0> + <CSI00 InUse=""> + <R_CSI00_Create UserName="R_CSI00_Create" LibName="R_CSIn_Create" InUse="0" InitMode="" /> + <R_CSI00_Start UserName="R_CSI00_Start" LibName="R_CSIn_Start" InUse="0" /> + <R_CSI00_Stop UserName="R_CSI00_Stop" LibName="R_CSIn_Stop" InUse="0" /> + <R_CSI00_Send UserName="R_CSI00_Send" LibName="R_CSIn_Send" InUse="0" /> + <R_CSI00_Receive UserName="R_CSI00_Receive" LibName="R_CSIn_Receive" InUse="0" /> + <R_CSI00_Send_Receive UserName="R_CSI00_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="0" /> + </CSI00> + <CSI01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <R_CSI01_Create UserName="R_CSI01_Create" LibName="R_CSIn_Create" InUse="0" InitMode="" /> + <R_CSI01_Start UserName="R_CSI01_Start" LibName="R_CSIn_Start" InUse="0" /> + <R_CSI01_Stop UserName="R_CSI01_Stop" LibName="R_CSIn_Stop" InUse="0" /> + <R_CSI01_Send UserName="R_CSI01_Send" LibName="R_CSIn_Send" InUse="0" /> + <R_CSI01_Receive UserName="R_CSI01_Receive" LibName="R_CSIn_Receive" InUse="0" /> + <R_CSI01_Send_Receive UserName="R_CSI01_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="0" /> + </CSI01> + <IIC00 InUse=""> + <R_IIC00_Create UserName="R_IIC00_Create" LibName="R_IICn_Create" InUse="0" InitMode="" /> + <R_IIC00_Master_Send UserName="R_IIC00_Master_Send" LibName="R_IICn_Master_Send" InUse="0" /> + <R_IIC00_Master_Receive UserName="R_IIC00_Master_Receive" LibName="R_IICn_Master_Receive" InUse="0" /> + <R_IIC00_Stop UserName="R_IIC00_Stop" LibName="R_IICn_Stop" InUse="0" /> + <R_IIC00_StartCondition UserName="R_IIC00_StartCondition" LibName="R_IICn_StartCondition" InUse="0" /> + <R_IIC00_StopCondition UserName="R_IIC00_StopCondition" LibName="R_IICn_StopCondition" InUse="0" /> + </IIC00> + <IIC01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <R_IIC01_Create UserName="R_IIC01_Create" LibName="R_IICn_Create" InUse="0" InitMode="" /> + <R_IIC01_Master_Send UserName="R_IIC01_Master_Send" LibName="R_IICn_Master_Send" InUse="0" /> + <R_IIC01_Master_Receive UserName="R_IIC01_Master_Receive" LibName="R_IICn_Master_Receive" InUse="0" /> + <R_IIC01_Stop UserName="R_IIC01_Stop" LibName="R_IICn_Stop" InUse="0" /> + <R_IIC01_StartCondition UserName="R_IIC01_StartCondition" LibName="R_IICn_StartCondition" InUse="0" /> + <R_IIC01_StopCondition UserName="R_IIC01_StopCondition" LibName="R_IICn_StopCondition" InUse="0" /> + </IIC01> + </SAU0> + <SAU1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_SAU1_Create UserName="R_SAU1_Create" LibName="R_SAUn_Create" InUse="" Init="1" InitMode="" /> + <R_SAU1_Set_PowerOff UserName="R_SAU1_Set_PowerOff" LibName="R_SAUn_Set_PowerOff" InUse="" /> + <UART1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_UART1_Create UserName="R_UART1_Create" LibName="R_UARTn_Create" InUse="" InitMode="" /> + <R_UART1_Start UserName="R_UART1_Start" LibName="R_UARTn_Start" InUse="" /> + <R_UART1_Stop UserName="R_UART1_Stop" LibName="R_UARTn_Stop" InUse="" /> + <R_UART1_Send UserName="R_UART1_Send" LibName="R_UARTn_Send" InUse="" /> + <R_UART1_Receive UserName="R_UART1_Receive" LibName="R_UARTn_Receive" InUse="" /> + </UART1> + <CSI10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <R_CSI10_Create UserName="R_CSI10_Create" LibName="R_CSIn_Create" InUse="" InitMode="" /> + <R_CSI10_Start UserName="R_CSI10_Start" LibName="R_CSIn_Start" InUse="" /> + <R_CSI10_Stop UserName="R_CSI10_Stop" LibName="R_CSIn_Stop" InUse="" /> + <R_CSI10_Send UserName="R_CSI10_Send" LibName="R_CSIn_Send" InUse="" /> + <R_CSI10_Receive UserName="R_CSI10_Receive" LibName="R_CSIn_Receive" InUse="" /> + <R_CSI10_Send_Receive UserName="R_CSI10_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="" /> + </CSI10> + <IIC10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <R_IIC10_Create UserName="R_IIC10_Create" LibName="R_IICn_Create" InUse="" InitMode="" /> + <R_IIC10_Master_Send UserName="R_IIC10_Master_Send" LibName="R_IICn_Master_Send" InUse="" /> + <R_IIC10_Master_Receive UserName="R_IIC10_Master_Receive" LibName="R_IICn_Master_Receive" InUse="" /> + <R_IIC10_Stop UserName="R_IIC10_Stop" LibName="R_IICn_Stop" InUse="" /> + <R_IIC10_StartCondition UserName="R_IIC10_StartCondition" LibName="R_IICn_StartCondition" InUse="" /> + <R_IIC10_StopCondition UserName="R_IIC10_StopCondition" LibName="R_IICn_StopCondition" InUse="" /> + </IIC10> + </SAU1> + <IICA0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse=""> + <R_IICA0_Create UserName="R_IICA0_Create" LibName="R_IICAn_Create" InUse="" Init="1" InitMode="" /> + <R_IICA0_Master_Send UserName="R_IICA0_Master_Send" LibName="R_IICAn_Master_Send" InUse="" /> + <R_IICA0_Master_Receive UserName="R_IICA0_Master_Receive" LibName="R_IICAn_Master_Receive" InUse="" /> + <R_IICA0_Slave_Send UserName="R_IICA0_Slave_Send" LibName="R_IICAn_Slave_Send" InUse="" /> + <R_IICA0_Slave_Receive UserName="R_IICA0_Slave_Receive" LibName="R_IICAn_Slave_Receive" InUse="" /> + <R_IICA0_Stop UserName="R_IICA0_Stop" LibName="R_IICAn_Stop" InUse="" /> + <R_IICA0_StopCondition UserName="R_IICA0_StopCondition" LibName="R_IICAn_StopCondition" InUse="" /> + <R_IICA0_Set_SnoozeOn UserName="R_IICA0_Set_SnoozeOn" LibName="R_IICAn_Set_SnoozeOn" InUse="" /> + <R_IICA0_Set_SnoozeOff UserName="R_IICA0_Set_SnoozeOff" LibName="R_IICAn_Set_SnoozeOff" InUse="" /> + <R_IICA0_Set_PowerOff UserName="R_IICA0_Set_PowerOff" LibName="R_IICAn_Set_PowerOff" InUse="" /> + </IICA0> + </r_cg_serial.c> + <r_cg_serial_user.c UserName="r_cg_serial_user.c" LibName="_user.c" InUse="0"> + <Type R_SAUn_Create_UserInit="void R_SAUn_Create_UserInit(void)" r_uartn_interrupt_receive="__interrupt void r_uartn_interrupt_receive(void)" r_uartn_interrupt_error="__interrupt void r_uartn_interrupt_error(void)" r_uartn_interrupt_send="__interrupt void r_uartn_interrupt_send(void)" r_uartn_callback_sendend="void r_uartn_callback_sendend(void)" r_uartn_callback_receiveend="void r_uartn_callback_receiveend(void)" r_uartn_callback_error="void r_uartn_callback_error(uint16_t err_type)" r_uartn_callback_softwareoverrun="void r_uartn_callback_softwareoverrun(uint16_t err_type)" r_csin_interrupt="__interrupt void r_csin_interrupt(void)" r_csin_callback_receiveend="void r_csin_callback_receiveend(void)" r_csin_callback_error="void r_csin_callback_error(uint16_t err_type)" r_csin_callback_sendend="void r_csin_callback_sendend(void)" r_iicn_interrupt="__interrupt void r_iicn_interrupt(void)" r_iicn_callback_master_receiveend="void r_iicn_callback_master_receiveend(void)" r_iicn_callback_master_sendend="void r_iicn_callback_master_sendend(void)" r_iicn_callback_master_error="void r_iicn_callback_master_error(MD_STATUS flag)" R_UARTFn_Create_UserInit="void R_UARTFn_Create_UserInit(void)" r_uartfn_interrupt_receive="__interrupt static void r_uartfn_interrupt_receive(void)" r_uartfn_interrupt_error="__interrupt static void r_uartfn_interrupt_error(void)" r_uartfn_interrupt_send="__interrupt static void r_uartfn_interrupt_send(void)" r_uartfn_callback_receiveend="static void r_uartfn_callback_receiveend(void)" r_uartfn_callback_sendend="static void r_uartfn_callback_sendend(void)" r_uartfn_callback_error="static void r_uartfn_callback_error(void)" r_uartfn_callback_softwareoverrun="static void r_uartfn_callback_softwareoverrun(uint16_t rx_data)" r_uartfn_callback_expbitdetect="static void r_uartfn_callback_expbitdetect(void)" r_uartfn_callback_idmatch="static void r_uartfn_callback_idmatch(void)" R_IICAn_Create_UserInit="void R_IICAn_Create_UserInit(void)" r_iican_interrupt="__interrupt static r_iican_interrupt(void)" r_iican_callback_master_sendend="static void r_iican_callback_master_sendend(void)" r_iican_callback_master_receiveend="static void r_iican_callback_master_receiveend(void)" r_iican_callback_slave_sendend="static void r_iican_callback_slave_sendend(void)" r_iican_callback_slave_receiveend="static void r_iican_callback_slave_receiveend(void)" r_iican_callback_master_error="static void r_iican_callback_master_error(MD_STATUS flag)" r_iican_callback_slave_error="static void r_iican_callback_slave_error(MD_STATUS flag)" r_iican_callback_getstopcondition="static void r_iican_callback_getstopcondition(void)" /> + <SAU0 InUse=""> + <R_SAU0_Create_UserInit UserName="R_SAU0_Create_UserInit" LibName="R_SAUn_Create_UserInit" InUse="0" /> + <UART0 InUse=""> + <r_uart0_interrupt_receive UserName="r_uart0_interrupt_receive" INTHandle="" LibName="r_uartn_interrupt_receive" InUse="0" /> + <r_uart0_interrupt_send UserName="r_uart0_interrupt_send" INTHandle="" LibName="r_uartn_interrupt_send" InUse="0" /> + <r_uart0_callback_receiveend UserName="r_uart0_callback_receiveend" LibName="r_uartn_callback_receiveend" InUse="0" /> + <r_uart0_callback_sendend UserName="r_uart0_callback_sendend" LibName="r_uartn_callback_sendend" InUse="0" /> + <r_uart0_callback_error UserName="r_uart0_callback_error" LibName="r_uartn_callback_error" InUse="0" /> + <r_uart0_callback_softwareoverrun UserName="r_uart0_callback_softwareoverrun" LibName="r_uartn_callback_softwareoverrun" InUse="0" /> + </UART0> + <CSI00 InUse=""> + <r_csi00_interrupt UserName="r_csi00_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="0" /> + <r_csi00_callback_receiveend UserName="r_csi00_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="0" /> + <r_csi00_callback_error UserName="r_csi00_callback_error" LibName="r_csin_callback_error" InUse="0" /> + <r_csi00_callback_sendend UserName="r_csi00_callback_sendend" LibName="r_csin_callback_sendend" InUse="0" /> + </CSI00> + <CSI01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <r_csi01_interrupt UserName="r_csi01_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="0" /> + <r_csi01_callback_receiveend UserName="r_csi01_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="0" /> + <r_csi01_callback_error UserName="r_csi01_callback_error" LibName="r_csin_callback_error" InUse="0" /> + <r_csi01_callback_sendend UserName="r_csi01_callback_sendend" LibName="r_csin_callback_sendend" InUse="0" /> + </CSI01> + <IIC00 InUse=""> + <r_iic00_interrupt UserName="r_iic00_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="0" /> + <r_iic00_callback_master_receiveend UserName="r_iic00_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="0" /> + <r_iic00_callback_master_sendend UserName="r_iic00_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="0" /> + <r_iic00_callback_master_error UserName="r_iic00_callback_master_error" LibName="r_iicn_callback_master_error" InUse="0" /> + </IIC00> + <IIC01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <r_iic01_interrupt UserName="r_iic01_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="0" /> + <r_iic01_callback_master_receiveend UserName="r_iic01_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="0" /> + <r_iic01_callback_master_sendend UserName="r_iic01_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="0" /> + <r_iic01_callback_master_error UserName="r_iic01_callback_master_error" LibName="r_iicn_callback_master_error" InUse="0" /> + </IIC01> + </SAU0> + <SAU1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_SAU1_Create_UserInit UserName="R_SAU1_Create_UserInit" LibName="R_SAUn_Create_UserInit" InUse="" /> + <UART1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_uart1_interrupt_receive UserName="r_uart1_interrupt_receive" INTHandle="" LibName="r_uartn_interrupt_receive" InUse="" /> + <r_uart1_interrupt_send UserName="r_uart1_interrupt_send" INTHandle="" LibName="r_uartn_interrupt_send" InUse="" /> + <r_uart1_callback_receiveend UserName="r_uart1_callback_receiveend" LibName="r_uartn_callback_receiveend" InUse="" /> + <r_uart1_callback_sendend UserName="r_uart1_callback_sendend" LibName="r_uartn_callback_sendend" InUse="" /> + <r_uart1_callback_error UserName="r_uart1_callback_error" LibName="r_uartn_callback_error" InUse="" /> + <r_uart1_callback_softwareoverrun UserName="r_uart1_callback_softwareoverrun" LibName="r_uartn_callback_softwareoverrun" InUse="" /> + </UART1> + <CSI10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_csi10_interrupt UserName="r_csi10_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="" /> + <r_csi10_callback_receiveend UserName="r_csi10_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="" /> + <r_csi10_callback_error UserName="r_csi10_callback_error" LibName="r_csin_callback_error" InUse="" /> + <r_csi10_callback_sendend UserName="r_csi10_callback_sendend" LibName="r_csin_callback_sendend" InUse="" /> + </CSI10> + <IIC10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_iic10_interrupt UserName="r_iic10_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="" /> + <r_iic10_callback_master_receiveend UserName="r_iic10_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="" /> + <r_iic10_callback_master_sendend UserName="r_iic10_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="" /> + <r_iic10_callback_master_error UserName="r_iic10_callback_master_error" LibName="r_iicn_callback_master_error" InUse="" /> + </IIC10> + </SAU1> + <IICA0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse=""> + <R_IICA0_Create_UserInit UserName="R_IICA0_Create_UserInit" LibName="R_IICAn_Create_UserInit" InUse="" /> + <r_iica0_interrupt UserName="r_iica0_interrupt" INTHandle="" LibName="r_iican_interrupt" InUse="" /> + <r_iica0_callback_master_sendend UserName="r_iica0_callback_master_sendend" LibName="r_iican_callback_master_sendend" InUse="" /> + <r_iica0_callback_master_receiveend UserName="r_iica0_callback_master_receiveend" LibName="r_iican_callback_master_receiveend" InUse="" /> + <r_iica0_callback_slave_sendend UserName="r_iica0_callback_slave_sendend" LibName="r_iican_callback_slave_sendend" InUse="" /> + <r_iica0_callback_slave_receiveend UserName="r_iica0_callback_slave_receiveend" LibName="r_iican_callback_slave_receiveend" InUse="" /> + <r_iica0_callback_master_error UserName="r_iica0_callback_master_error" LibName="r_iican_callback_master_error" InUse="" /> + <r_iica0_callback_slave_error UserName="r_iica0_callback_slave_error" LibName="r_iican_callback_slave_error" InUse="" /> + <r_iica0_callback_getstopcondition UserName="r_iica0_callback_getstopcondition" LibName="r_iican_callback_getstopcondition" InUse="" /> + </IICA0> + </r_cg_serial_user.c> + <r_cg_serial.h UserName="r_cg_serial.h" LibName=".h" InUse="0" /> + </Serial> + <ADC> + <r_cg_adc.c UserName="r_cg_adc.c" LibName=".c" InUse="1"> + <Type R_ADC_Create="void R_ADC_Create(void)" R_ADC_Start="void R_ADC_Start(void)" R_ADC_Stop="void R_ADC_Stop(void)" R_ADC_Set_OperationOn="void R_ADC_Set_OperationOn(void)" R_ADC_Set_OperationOff="void R_ADC_Set_OperationOff(void)" R_ADC_Get_Result="void R_ADC_Get_Result(uint16_t * const buffer)" R_ADC_Get_Result_8bit="void R_ADC_Get_Result_8bit(uint8_t * const buffer)" R_ADC_Set_ADChannel="MD_STATUS R_ADC_Set_ADChannel(ad_channel_t channel)" R_ADC_Set_SnoozeOn="void R_ADC_Set_SnoozeOn(void)" R_ADC_Set_SnoozeOff="void R_ADC_Set_SnoozeOff(void)" R_ADC_Set_TestChannel="MD_STATUS R_ADC_Set_TestChannel(test_channel_t channel)" R_ADC_Set_PowerOff="void R_ADC_Set_PowerOff(void)" /> + <R_ADC_Create UserName="R_ADC_Create" LibName="R_ADC_Create" InUse="1" Init="1" InitMode="" /> + <R_ADC_Start UserName="R_ADC_Start" LibName="R_ADC_Start" InUse="1" /> + <R_ADC_Stop UserName="R_ADC_Stop" LibName="R_ADC_Stop" InUse="1" /> + <R_ADC_Set_OperationOn UserName="R_ADC_Set_OperationOn" LibName="R_ADC_Set_OperationOn" InUse="1" /> + <R_ADC_Set_OperationOff UserName="R_ADC_Set_OperationOff" LibName="R_ADC_Set_OperationOff" InUse="1" /> + <R_ADC_Get_Result UserName="R_ADC_Get_Result" LibName="R_ADC_Get_Result" InUse="1" /> + <R_ADC_Get_Result_8bit UserName="R_ADC_Get_Result_8bit" LibName="R_ADC_Get_Result_8bit" InUse="0" /> + <R_ADC_Set_ADChannel UserName="R_ADC_Set_ADChannel" LibName="R_ADC_Set_ADChannel" InUse="0" /> + <R_ADC_Set_SnoozeOn UserName="R_ADC_Set_SnoozeOn" LibName="R_ADC_Set_SnoozeOn" InUse="0" /> + <R_ADC_Set_SnoozeOff UserName="R_ADC_Set_SnoozeOff" LibName="R_ADC_Set_SnoozeOff" InUse="0" /> + <R_ADC_Set_TestChannel UserName="R_ADC_Set_TestChannel" LibName="R_ADC_Set_TestChannel" InUse="0" /> + <R_ADC_Set_PowerOff UserName="R_ADC_Set_PowerOff" LibName="R_ADC_Set_PowerOff" InUse="0" /> + </r_cg_adc.c> + <r_cg_adc_user.c UserName="r_cg_adc_user.c" LibName="_user.c" InUse="1"> + <Type R_ADC_Create_UserInit="void R_ADC_Create_UserInit(void)" r_adc_interrupt="__interrupt static void r_adc_interrupt(void)" /> + <R_ADC_Create_UserInit UserName="R_ADC_Create_UserInit" LibName="R_ADC_Create_UserInit" InUse="0" /> + <r_adc_interrupt UserName="r_adc_interrupt" INTHandle="" LibName="r_adc_interrupt" InUse="1" /> + </r_cg_adc_user.c> + <r_cg_adc.h UserName="r_cg_adc.h" LibName=".h" InUse="1" /> + </ADC> + <TAU> + <r_cg_timer.c UserName="r_cg_timer.c" LibName=".c" InUse="1"> + <Type R_TAU_Create="void R_TAU_Create(void)" R_TAU_Set_PowerOff="void R_TAU_Set_PowerOff(void)" R_TAU_Channeln_Start="void R_TAU_Channeln_Start(void)" R_TAU_Channeln_Higher8bits_Start="void R_TAU_Channeln_Higher8bits_Start(void)" R_TAU_Channeln_Lower8bits_Start="void R_TAU_Channeln_Lower8bits_Start(void)" R_TAU_Channeln_Stop="void R_TAU_Channeln_Stop(void)" R_TAU_Channeln_Higher8bits_Stop="void R_TAU_Channeln_Higher8bits_Stop(void)" R_TAU_Channeln_Lower8bits_Stop="void R_TAU_Channeln_Lower8bits_Stop(void)" R_TAU_Channeln_Get_PulseWidth="void R_TAU_Channeln_Get_PulseWidth(uint32_t * const width)" R_TAU_Channeln_Set_SoftwareTriggerOn="void R_TAU_Channeln_Set_SoftwareTriggerOn(void)" R_WUTM_Create="void R_WUTM_Create(void)" R_WUTM_Start="void R_WUTM_Start(void)" R_WUTM_Stop="void R_WUTM_Stop(void)" R_WUTM_Set_PowerOff="void R_WUTM_Set_PowerOff(void)" /> + <TAU0> + <R_TAU0_Create UserName="R_TAU0_Create" LibName="R_TAU_Create" InUse="1" Init="1" InitMode="" /> + <R_TAU0_Set_PowerOff UserName="R_TAU0_Set_PowerOff" LibName="R_TAU_Set_PowerOff" InUse="0" /> + <Channel0 InUse=""> + <R_TAU0_Channel0_Start UserName="R_TAU0_Channel0_Start" LibName="R_TAU_Channeln_Start" InUse="1" /> + <R_TAU0_Channel0_Stop UserName="R_TAU0_Channel0_Stop" LibName="R_TAU_Channeln_Stop" InUse="1" /> + <R_TAU0_Channel0_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,,RL78F13_20pin" UserName="R_TAU0_Channel0_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel0_Set_SoftwareTriggerOn UserName="R_TAU0_Channel0_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel0> + <Channel1 InUse=""> + <R_TAU0_Channel1_Start UserName="R_TAU0_Channel1_Start" LibName="R_TAU_Channeln_Start" InUse="1" /> + <R_TAU0_Channel1_Higher8bits_Start UserName="R_TAU0_Channel1_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="0" /> + <R_TAU0_Channel1_Lower8bits_Start UserName="R_TAU0_Channel1_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="0" /> + <R_TAU0_Channel1_Stop UserName="R_TAU0_Channel1_Stop" LibName="R_TAU_Channeln_Stop" InUse="1" /> + <R_TAU0_Channel1_Higher8bits_Stop UserName="R_TAU0_Channel1_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="0" /> + <R_TAU0_Channel1_Lower8bits_Stop UserName="R_TAU0_Channel1_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="0" /> + <R_TAU0_Channel1_Get_PulseWidth UserName="R_TAU0_Channel1_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel1> + <Channel2 InUse=""> + <R_TAU0_Channel2_Start UserName="R_TAU0_Channel2_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel2_Stop UserName="R_TAU0_Channel2_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel2_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel2_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel2_Set_SoftwareTriggerOn UserName="R_TAU0_Channel2_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel2> + <Channel3 InUse=""> + <R_TAU0_Channel3_Start UserName="R_TAU0_Channel3_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel3_Higher8bits_Start UserName="R_TAU0_Channel3_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="0" /> + <R_TAU0_Channel3_Lower8bits_Start UserName="R_TAU0_Channel3_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="0" /> + <R_TAU0_Channel3_Stop UserName="R_TAU0_Channel3_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel3_Higher8bits_Stop UserName="R_TAU0_Channel3_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="0" /> + <R_TAU0_Channel3_Lower8bits_Stop UserName="R_TAU0_Channel3_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="0" /> + <R_TAU0_Channel3_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel3_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel3> + <Channel4 InUse=""> + <R_TAU0_Channel4_Start UserName="R_TAU0_Channel4_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel4_Stop UserName="R_TAU0_Channel4_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel4_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin,RL78F13_80pin" UserName="R_TAU0_Channel4_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel4_Set_SoftwareTriggerOn UserName="R_TAU0_Channel4_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel4> + <Channel5 InUse=""> + <R_TAU0_Channel5_Start UserName="R_TAU0_Channel5_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel5_Stop UserName="R_TAU0_Channel5_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel5_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel5_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel5> + <Channel6 InUse=""> + <R_TAU0_Channel6_Start UserName="R_TAU0_Channel6_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel6_Stop UserName="R_TAU0_Channel6_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel6_Get_PulseWidth UserName="R_TAU0_Channel6_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel6_Set_SoftwareTriggerOn Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin,RL78F13_80pin" UserName="R_TAU0_Channel6_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel6> + <Channel7 InUse=""> + <R_TAU0_Channel7_Start UserName="R_TAU0_Channel7_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel7_Stop UserName="R_TAU0_Channel7_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel7_Get_PulseWidth UserName="R_TAU0_Channel7_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <R_TAU1_Create UserName="R_TAU1_Create" LibName="R_TAU_Create" InUse="" Init="1" InitMode="" /> + <R_TAU1_Set_PowerOff UserName="R_TAU1_Set_PowerOff" LibName="R_TAU_Set_PowerOff" InUse="" /> + <Channel0 InUse=""> + <R_TAU1_Channel0_Start UserName="R_TAU1_Channel0_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel0_Stop UserName="R_TAU1_Channel0_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel0_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel0_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + <R_TAU1_Channel0_Set_SoftwareTriggerOn UserName="R_TAU1_Channel0_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="" /> + </Channel0> + <Channel1 InUse=""> + <R_TAU1_Channel1_Start UserName="R_TAU1_Channel1_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel1_Higher8bits_Start UserName="R_TAU1_Channel1_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="" /> + <R_TAU1_Channel1_Lower8bits_Start UserName="R_TAU1_Channel1_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="" /> + <R_TAU1_Channel1_Stop UserName="R_TAU1_Channel1_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel1_Higher8bits_Stop UserName="R_TAU1_Channel1_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="" /> + <R_TAU1_Channel1_Lower8bits_Stop UserName="R_TAU1_Channel1_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="" /> + <R_TAU1_Channel1_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel1_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + </Channel1> + <Channel2 InUse=""> + <R_TAU1_Channel2_Start UserName="R_TAU1_Channel2_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel2_Stop UserName="R_TAU1_Channel2_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel2_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel2_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + <R_TAU1_Channel2_Set_SoftwareTriggerOn UserName="R_TAU1_Channel2_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="" /> + </Channel2> + <Channel3 InUse=""> + <R_TAU1_Channel3_Start UserName="R_TAU1_Channel3_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel3_Higher8bits_Start UserName="R_TAU1_Channel3_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="" /> + <R_TAU1_Channel3_Lower8bits_Start UserName="R_TAU1_Channel3_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="" /> + <R_TAU1_Channel3_Stop UserName="R_TAU1_Channel3_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel3_Higher8bits_Stop UserName="R_TAU1_Channel3_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="" /> + <R_TAU1_Channel3_Lower8bits_Stop UserName="R_TAU1_Channel3_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="" /> + <R_TAU1_Channel3_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel3_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + </Channel3> + </TAU1> + <TMRJ0 InUse=""> + <R_TMR_RJ0_Create UserName="R_TMR_RJ0_Create" LibName="R_TMR_RJn_Create" InUse="0" Init="2" InitMode="" /> + <R_TMR_RJ0_Start UserName="R_TMR_RJ0_Start" LibName="R_TMR_RJn_Start" InUse="0" /> + <R_TMR_RJ0_Stop UserName="R_TMR_RJ0_Stop" LibName="R_TMR_RJn_Stop" InUse="0" /> + <R_TMR_RJ0_Get_PulseWidth Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin,RL78F13_30pin" UserName="R_TMR_RJ0_Get_PulseWidth" LibName="R_TMR_RJn_Get_PulseWidth" InUse="0" /> + <R_TMR_RJ0_Set_PowerOff UserName="R_TMR_RJ0_Set_PowerOff" LibName="R_TMR_RJn_Set_PowerOff" InUse="0" /> + </TMRJ0> + <TMRD0 InUse=""> + <R_TMR_RD0_Create UserName="R_TMR_RD0_Create" LibName="R_TMR_RDn_Create" InUse="1" Init="2" InitMode="" /> + <R_TMR_RD0_Start UserName="R_TMR_RD0_Start" LibName="R_TMR_RDn_Start" InUse="1" /> + <R_TMR_RD0_Stop UserName="R_TMR_RD0_Stop" LibName="R_TMR_RDn_Stop" InUse="1" /> + <R_TMR_RD0_Get_PulseWidth UserName="R_TMR_RD0_Get_PulseWidth" LibName="R_TMR_RDn_Get_PulseWidth" InUse="0" /> + <R_TMR_RD0_Set_PowerOff UserName="R_TMR_RD0_Set_PowerOff" LibName="R_TMR_RDn_Set_PowerOff" InUse="0" /> + <R_TMR_RD0_ForcedOutput_Start UserName="R_TMR_RD0_ForcedOutput_Start" LibName="R_TMR_RDn_ForcedOutput_Start" InUse="0" /> + <R_TMR_RD0_ForcedOutput_Stop UserName="R_TMR_RD0_ForcedOutput_Stop" LibName="R_TMR_RDn_ForcedOutput_Stop" InUse="0" /> + </TMRD0> + <TMRD1 InUse=""> + <R_TMR_RD1_Create UserName="R_TMR_RD1_Create" LibName="R_TMR_RDn_Create" InUse="1" Init="2" InitMode="" /> + <R_TMR_RD1_Start UserName="R_TMR_RD1_Start" LibName="R_TMR_RDn_Start" InUse="1" /> + <R_TMR_RD1_Stop UserName="R_TMR_RD1_Stop" LibName="R_TMR_RDn_Stop" InUse="1" /> + <R_TMR_RD1_Get_PulseWidth UserName="R_TMR_RD1_Get_PulseWidth" LibName="R_TMR_RDn_Get_PulseWidth" InUse="0" /> + <R_TMR_RD1_Set_PowerOff UserName="R_TMR_RD1_Set_PowerOff" LibName="R_TMR_RDn_Set_PowerOff" InUse="0" /> + <R_TMR_RD1_ForcedOutput_Start UserName="R_TMR_RD1_ForcedOutput_Start" LibName="R_TMR_RDn_ForcedOutput_Start" InUse="0" /> + <R_TMR_RD1_ForcedOutput_Stop UserName="R_TMR_RD1_ForcedOutput_Stop" LibName="R_TMR_RDn_ForcedOutput_Stop" InUse="0" /> + </TMRD1> + </r_cg_timer.c> + <r_cg_timer_user.c UserName="r_cg_timer_user.c" LibName="_user.c" InUse="1"> + <Type R_TAU_Create_UserInit="void R_TAUn_Create_UserInit(void)" r_tau_channeln_interrupt="__interrupt static void r_tau_channeln_interrupt(void)" r_tau_channeln_higher8bits_interrupt="__interrupt static void r_tau_channeln_higher8bits_interrupt(void)" R_WUTM_Create_UserInit="void R_WUTM_Create_UserInit(void)" r_wutm_interrupt="__interrupt static void r_wutm_interrupt(void)" /> + <TAU0> + <R_TAU0_Create_UserInit UserName="R_TAU0_Create_UserInit" LibName="R_TAU_Create_UserInit" InUse="0" /> + <Channel0 InUse=""> + <r_tau0_channel0_interrupt UserName="r_tau0_channel0_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="1" /> + </Channel0> + <Channel1 InUse=""> + <r_tau0_channel1_interrupt UserName="r_tau0_channel1_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="1" /> + <r_tau0_channel1_higher8bits_interrupt UserName="r_tau0_channel1_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="0" /> + </Channel1> + <Channel2 InUse=""> + <r_tau0_channel2_interrupt UserName="r_tau0_channel2_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel2> + <Channel3 InUse=""> + <r_tau0_channel3_interrupt UserName="r_tau0_channel3_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + <r_tau0_channel3_higher8bits_interrupt UserName="r_tau0_channel3_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="0" /> + </Channel3> + <Channel4 InUse=""> + <r_tau0_channel4_interrupt UserName="r_tau0_channel4_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel4> + <Channel5 InUse=""> + <r_tau0_channel5_interrupt UserName="r_tau0_channel5_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel5> + <Channel6 InUse=""> + <r_tau0_channel6_interrupt UserName="r_tau0_channel6_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel6> + <Channel7 InUse=""> + <r_tau0_channel7_interrupt UserName="r_tau0_channel7_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <R_TAU1_Create_UserInit UserName="R_TAU1_Create_UserInit" LibName="R_TAU_Create_UserInit" InUse="" /> + <Channel0 InUse=""> + <r_tau1_channel0_interrupt UserName="r_tau1_channel0_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + </Channel0> + <Channel1 InUse=""> + <r_tau1_channel1_interrupt UserName="r_tau1_channel1_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + <r_tau1_channel1_higher8bits_interrupt UserName="r_tau1_channel1_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="" /> + </Channel1> + <Channel2 InUse=""> + <r_tau1_channel2_interrupt UserName="r_tau1_channel2_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + </Channel2> + <Channel3 InUse=""> + <r_tau1_channel3_interrupt UserName="r_tau1_channel3_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + <r_tau1_channel3_higher8bits_interrupt UserName="r_tau1_channel3_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="" /> + </Channel3> + </TAU1> + <TMRJ0 InUse=""> + <R_TMR_RJ0_Create_UserInit UserName="R_TMR_RJ0_Create_UserInit" LibName="R_TMR_RJn_Create_UserInit" InUse="0" /> + <r_tmr_rj0_interrupt UserName="r_tmr_rj0_interrupt" LibName="r_tmr_rjn_interrupt" INTHandle="" InUse="0" /> + </TMRJ0> + <TMRD0 InUse=""> + <R_TMR_RD0_Create_UserInit UserName="R_TMR_RD0_Create_UserInit" LibName="R_TMR_RDn_Create_UserInit" InUse="0" /> + <r_tmr_rd0_interrupt UserName="r_tmr_rd0_interrupt" LibName="r_tmr_rdn_interrupt" INTHandle="" InUse="0" /> + </TMRD0> + <TMRD1 InUse=""> + <R_TMR_RD1_Create_UserInit UserName="R_TMR_RD1_Create_UserInit" LibName="R_TMR_RDn_Create_UserInit" InUse="0" /> + <r_tmr_rd1_interrupt UserName="r_tmr_rd1_interrupt" LibName="r_tmr_rdn_interrupt" INTHandle="" InUse="0" /> + </TMRD1> + </r_cg_timer_user.c> + <r_cg_timer.h UserName="r_cg_timer.h" LibName=".h" InUse="1" /> + </TAU> + <WDT> + <r_cg_wdt.c UserName="r_cg_wdt.c" LibName=".c" InUse="0"> + <Type R_WDT_Create="void R_WDT_Create(void)" R_WDT_Restart="void R_WDT_Restart(void)" /> + <R_WDT_Create UserName="R_WDT_Create" LibName="R_WDT_Create" InUse="0" Init="1" InitMode="" /> + <R_WDT_Restart UserName="R_WDT_Restart" LibName="R_WDT_Restart" InUse="0" /> + </r_cg_wdt.c> + <r_cg_wdt_user.c UserName="r_cg_wdt_user.c" LibName="_user.c" InUse="0"> + <Type R_WDT_Create_UserInit="void R_WDT_Create_UserInit(void)" r_wdt_interrupt="__interrupt static void r_wdt_interrupt(void)" /> + <R_WDT_Create_UserInit UserName="R_WDT_Create_UserInit" LibName="R_WDT_Create_UserInit" InUse="0" /> + <r_wdt_interrupt UserName="r_wdt_interrupt" INTHandle="" LibName="r_wdt_interrupt" InUse="0" /> + </r_cg_wdt_user.c> + <r_cg_wdt.h UserName="r_cg_wdt.h" LibName=".h" InUse="0" /> + </WDT> + <RTC> + <r_cg_rtc.c UserName="r_cg_rtc.c" LibName=".c" InUse="0"> + <Type R_RTC_Create="void R_RTC_Create(void)" R_RTC_Start="void R_RTC_Start(void)" R_RTC_Stop="void R_RTC_Stop(void)" R_RTC_Set_HourSystem="MD_STATUS R_RTC_SetHourSystem(rtc_hour_system_t hour_system)" R_RTC_Get_CounterValue="MD_STATUS R_RTC_Get_CounterValue(rtc_counter_value_t * const counter_read_val)" R_RTC_Set_CounterValue="MD_STATUS R_RTC_Set_CounterValue(rtc_counter_value_t counter_write_val)" R_RTC_Set_AlarmOn="void R_RTC_Set_AlarmOn(void)" R_RTC_Set_AlarmOff="void R_RTC_Set_AlarmOff(void)" R_RTC_Set_AlarmValue="void R_RTC_Set_AlarmValue(rtc_alarm_value_t alarm_val)" R_RTC_Get_AlarmValue="void R_RTC_Get_AlarmValue(rtc_alarm_value_t * const alarm_val)" R_RTC_Set_ConstPeriodInterruptOn="MD_STATUS R_RTC_Set_ConstPeriodInterruptOn(rtc_int_period_t period)" R_RTC_Set_ConstPeriodInterruptOff="void R_RTC_Set_ConstPeriodInterruptOff(void)" R_RTC_Set_RTC1HZOn="void R_RTC_Set_RTC1HZOn(void)" R_RTC_Set_RTC1HZOff="void R_RTC_Set_RTC1HZOff(void)" R_RTC_Set_PowerOff="void R_RTC_Set_PowerOff(void)" /> + <R_RTC_Create UserName="R_RTC_Create" LibName="R_RTC_Create" InUse="0" Init="1" InitMode="" /> + <R_RTC_Start UserName="R_RTC_Start" LibName="R_RTC_Start" InUse="0" /> + <R_RTC_Stop UserName="R_RTC_Stop" LibName="R_RTC_Stop" InUse="0" /> + <R_RTC_Set_HourSystem UserName="R_RTC_Set_HourSystem" LibName="R_RTC_Set_HourSystem" InUse="0" /> + <R_RTC_Get_CounterValue UserName="R_RTC_Get_CounterValue" LibName="R_RTC_Get_CounterValue" InUse="0" /> + <R_RTC_Set_CounterValue UserName="R_RTC_Set_CounterValue" LibName="R_RTC_Set_CounterValue" InUse="0" /> + <R_RTC_Set_AlarmOn UserName="R_RTC_Set_AlarmOn" LibName="R_RTC_Set_AlarmOn" InUse="0" /> + <R_RTC_Set_AlarmOff UserName="R_RTC_Set_AlarmOff" LibName="R_RTC_Set_AlarmOff" InUse="0" /> + <R_RTC_Set_AlarmValue UserName="R_RTC_Set_AlarmValue" LibName="R_RTC_Set_AlarmValue" InUse="0" /> + <R_RTC_Get_AlarmValue UserName="R_RTC_Get_AlarmValue" LibName="R_RTC_Get_AlarmValue" InUse="0" /> + <R_RTC_Set_ConstPeriodInterruptOn UserName="R_RTC_Set_ConstPeriodInterruptOn" LibName="R_RTC_Set_ConstPeriodInterruptOn" InUse="0" /> + <R_RTC_Set_ConstPeriodInterruptOff UserName="R_RTC_Set_ConstPeriodInterruptOff" LibName="R_RTC_Set_ConstPeriodInterruptOff" InUse="0" /> + <R_RTC_Set_RTC1HZOn UserName="R_RTC_Set_RTC1HZOn" LibName="R_RTC_Set_RTC1HZOn" InUse="0" /> + <R_RTC_Set_RTC1HZOff UserName="R_RTC_Set_RTC1HZOff" LibName="R_RTC_Set_RTC1HZOff" InUse="0" /> + <R_RTC_Set_PowerOff UserName="R_RTC_Set_PowerOff" LibName="R_RTC_Set_PowerOff" InUse="0" /> + </r_cg_rtc.c> + <r_cg_rtc_user.c UserName="r_cg_rtc_user.c" LibName="_user.c" InUse="0"> + <Type R_RTC_Create_UserInit="void R_RTC_Create_UserInit(void)" r_rtc_interrupt="__interrupt static void r_rtc_interrupt(void)" r_rtc_callback_constperiod="static void r_rtc_callback_constperiod(void)" r_rtc_callback_alarm="static void r_rtc_callback_alarm(void)" /> + <R_RTC_Create_UserInit UserName="R_RTC_Create_UserInit" LibName="R_RTC_Create_UserInit" InUse="0" /> + <r_rtc_interrupt UserName="r_rtc_interrupt" INTHandle="" LibName="r_rtc_interrupt" InUse="0" /> + <r_rtc_callback_constperiod UserName="r_rtc_callback_constperiod" LibName="r_rtc_callback_constperiod" InUse="0" /> + <r_rtc_callback_alarm UserName="r_rtc_callback_alarm" LibName="r_rtc_callback_alarm" InUse="0" /> + </r_cg_rtc_user.c> + <r_cg_rtc.h UserName="r_cg_rtc.h" LibName=".h" InUse="0" /> + </RTC> + <DTC InUse=""> + <r_cg_dtc.c UserName="r_cg_dtc.c" LibName=".c" InUse=""> + <Type R_DTC_Create="void R_DTC_Create(void)" R_DTCDn_Start="void R_DTCDn_Start(void)" R_DTCDn_Stop="void R_DTCDn_Stop(void)" R_DTC_Set_PowerOff="void R_DTC_Set_PowerOff(void)" /> + <R_DTC_Create UserName="R_DTC_Create" LibName="R_DTC_Create" InUse="" Init="2" InitMode="" /> + <DTCD0> + <R_DTCD0_Start LibName="R_DTCDn_Start" InUse="" Visible="False" /> + <R_DTCD0_Stop LibName="R_DTCDn_Stop" InUse="" Visible="False" /> + </DTCD0> + <DTCD1> + <R_DTCD1_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD1_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD1> + <DTCD2> + <R_DTCD2_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD2_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD2> + <DTCD3> + <R_DTCD3_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD3_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD3> + <DTCD4> + <R_DTCD4_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD4_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD4> + <DTCD5> + <R_DTCD5_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD5_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD5> + <DTCD6> + <R_DTCD6_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD6_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD6> + <DTCD7> + <R_DTCD7_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD7_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD7> + <DTCD8> + <R_DTCD8_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD8_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD8> + <DTCD9> + <R_DTCD9_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD9_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD9> + <DTCD10> + <R_DTCD10_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD10_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD10> + <DTCD11> + <R_DTCD11_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD11_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD11> + <DTCD12> + <R_DTCD12_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD12_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD12> + <DTCD13> + <R_DTCD13_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD13_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD13> + <DTCD14> + <R_DTCD14_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD14_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD14> + <DTCD15> + <R_DTCD15_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD15_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD15> + <DTCD16> + <R_DTCD16_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD16_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD16> + <DTCD17> + <R_DTCD17_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD17_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD17> + <DTCD18> + <R_DTCD18_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD18_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD18> + <DTCD19> + <R_DTCD19_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD19_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD19> + <DTCD20> + <R_DTCD20_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD20_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD20> + <DTCD21> + <R_DTCD21_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD21_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD21> + <DTCD22> + <R_DTCD22_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD22_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD22> + <DTCD23> + <R_DTCD23_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD23_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD23> + <DTCH0> + <R_DTCH0_Start LibName="R_DTCHn_Start" InUse="" Visible="false" /> + <R_DTCH0_Stop LibName="R_DTCHn_Stop" InUse="" Visible="false" /> + </DTCH0> + <DTCH1> + <R_DTCH1_Start LibName="R_DTCHn_Start" InUse="" Visible="false" /> + <R_DTCH1_Stop LibName="R_DTCHn_Stop" InUse="" Visible="false" /> + </DTCH1> + <R_DTC_Set_PowerOff UserName="R_DTC_Set_PowerOff" LibName="R_DTC_Set_PowerOff" InUse="" /> + </r_cg_dtc.c> + <r_cg_dtc_user.c UserName="r_cg_dtc_user.c" LibName="_user.c" InUse=""> + <Type R_DTC_Create_UserInit="void R_DTC_Create_UserInit(void)" /> + <R_DTC_Create_UserInit UserName="R_DTC_Create_UserInit" LibName="R_DTC_Create_UserInit" InUse="" /> + </r_cg_dtc_user.c> + <r_cg_dtc.h UserName="r_cg_dtc.h" LibName=".h" InUse="" /> + </DTC> + <LVD> + <r_cg_lvd.c UserName="r_cg_lvd.c" LibName=".c" InUse="0"> + <Type R_LVD_Create="void R_LVD_Create(void)" R_LVD_InterruptMode_Start="void R_LVD_InterruptMode_Start(void)" /> + <R_LVD_Create UserName="R_LVD_Create" LibName="R_LVD_Create" InUse="0" Init="1" InitMode="" /> + <R_LVD_InterruptMode_Start UserName="R_LVD_InterruptMode_Start" LibName="R_LVD_InterruptMode_Start" InUse="0" /> + </r_cg_lvd.c> + <r_cg_lvd_user.c UserName="r_cg_lvd_user.c" LibName="_user.c" InUse="0"> + <Type R_LVD_Create_UserInit="void R_LVD_Create_UserInit(void)" r_lvd_interrupt="__interrupt static void r_lvd_interrupt(void)" /> + <R_LVD_Create_UserInit UserName="R_LVD_Create_UserInit" LibName="R_LVD_Create_UserInit" InUse="0" /> + <r_lvd_interrupt UserName="r_lvd_interrupt" INTHandle="" LibName="r_lvd_interrupt" InUse="0" /> + </r_cg_lvd_user.c> + <r_cg_lvd.h UserName="r_cg_lvd.h" LibName=".h" InUse="0" /> + </LVD> + </FUNC> + <TAG> + <GlobleUserTag> + <cg_security9 Name="cg_security9" Value="00" /> + <cg_security7 Name="cg_security7" Value="00" /> + <pior_value7 Name="pior_value7" Value="00" /> + <cg_security5 Name="cg_security5" Value="00" /> + <ocdstart Name="ocdstart" Value="1FE00" /> + <cg_security3 Name="cg_security3" Value="00" /> + <cg_security0 Name="cg_security0" Value="00" /> + <pior_value5 Name="pior_value5" Value="00" /> + <cg_security1 Name="cg_security1" Value="00" /> + <wdt_option Name="wdt_option" Value="E9" /> + <clock_option Name="clock_option" Value="E8" /> + <cg_security2 Name="cg_security2" Value="00" /> + <cg_option Name="cg_option" Value="04" /> + <cg_security8 Name="cg_security8" Value="00" /> + <cg_security6 Name="cg_security6" Value="00" /> + <cg_security4 Name="cg_security4" Value="00" /> + <cg_crc_area Name="cg_crc_area" Value="00" /> + <cg_iawctl_value Name="cg_iawctl_value" Value="00" /> + <lvi_option Name="lvi_option" Value="33" /> + <pior_value4 Name="pior_value4" Value="00" /> + </GlobleUserTag> + </TAG> + </DIR> + <MACRO> + <CGC Prepared="true" SetFlag="True" NeedRefresh="False"> + <CGC SetFlag="True" MacroName="cgc" /> + </CGC> + <PORT HelpID="port" Prepared="true" SetFlag="True" NeedRefresh="False"> + <PORT SetFlag="True" MacroName="PORT" /> + </PORT> + <INTC SetFlag="" HelpID="int" NeedRefresh="False"> + <INTP Accelerate="No" MacroName="INTP" /> + </INTC> + <Serial SetFlag="False" HelpID="serial" NeedRefresh="False"> + <SAU0 Accelerate="No" MacroName="SAU" Channel="0" SetFlag="False" TabEnable="True"> + <Channel0 UART="0" CSI="00" IIC="00" Channel="0" /> + <Channel1 Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0" UART="0" CSI="01" IIC="01" Channel="1" /> + </SAU0> + <SAU1 Accelerate="No" MacroName="SAU" Channel="1" PIOR42="0" Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" TabEnable="True"> + <Channel0 UART="1" CSI="10" IIC="10" Channel="0" /> + <Channel1 Chip="R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" UART="1" Channel="1" /> + </SAU1> + <IICA0 Accelerate="No" Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" MacroName="IICA" Channel="0" TabEnable="True" /> + </Serial> + <ADC SetFlag="True" HelpID="adc" NeedRefresh="False"> + <ADC SetFlag="True" MacroName="ADC" /> + </ADC> + <TAU SetFlag="True" HelpID="timer" NeedRefresh="False"> + <TAU0 Accelerate="No" MacroName="TAU" Channel="0" ChannelNum="0,1,2,3,4,5,6,7" SetFlag="True" TabEnable="True" /> + <TAU1 Accelerate="No" Chip="groupb,groupc1,groupc2" MacroName="TAU" Channel="1" ChannelNum="0,1,2,3" TabEnable="True" /> + <TMRJ0 SetFlag="False" MacroName="TMRJ" Channel="0" TabEnable="True" /> + <TMRD0 SetFlag="True" MacroName="TMRD" Channel="0" TabEnable="True" /> + <TMRD1 SetFlag="True" MacroName="TMRD" Channel="1" TabEnable="True" /> + </TAU> + <WDT Prepared="true" SetFlag="False" HelpID="watchdogtimer" NeedRefresh="False"> + <WDT SetFlag="False" MacroName="WDT" /> + </WDT> + <RTC SetFlag="False" HelpID="rtc" NeedRefresh="False"> + <RTC MacroName="RTC" SetFlag="False" /> + </RTC> + <DTC HelpID="dtc" SetFlag="" NeedRefresh="False"> + <DTC SetFlag="" /> + </DTC> + <LVD SetFlag="True" Prepared="true" NeedRefresh="False"> + <LVD MacroName="LVD" SetFlag="True" /> + </LVD> + </MACRO> + <SETTING> + <CGC> + <setting name="PIN_ASSIGNMENT_FIX_SETTING" value="false" /> + <setting name="OPERATION_MODE_HS_27_55" value="false" /> + <setting name="OPERATION_MODE_HS_40_55" value="true" /> + <setting name="MAIN_CLOCK_SELECT_HIGH_SYSTEM_CLOCK" value="true" /> + <setting name="MAIN_CLOCK_SELECT_HIGH_INTERNAL_CLOCK" value="false" /> + <setting name="INTERNAL_HIGH_CLOCK_OPERATION" value="true" /> + <setting name="INTERNAL_HIGH_CLOCK_FREQUENCY" value="6" /> + <setting name="HIGH_SYSTEM_CLOCK_OPERATION" value="true" /> + <setting name="HIGH_SYSTEM_CLOCK_SELECT_EXTERNAL_CLOCK" value="false" /> + <setting name="HIGH_SYSTEM_CLOCK_SELECT_X1_CLOCK" value="true" /> + <setting name="X1_CLOCK_STABLE_TIME" value="7" /> + <setting name="HIGH_SYSTEM_CLOCK_FREQUENCY" value="8" /> + <setting name="SUBCLOCK_SELECT_XT1_CLOCK" value="true" /> + <setting name="SUBCLOCK_XT1_OSCILLATION_MODE" value="0" /> + <setting name="SUBCLOCK_OPERATION" value="false" /> + <setting name="SUBCLOCK_SELECT_EXTERNAL_CLOCK" value="false" /> + <setting name="SUBCLOCK_HALT_STOP_STATUS" value="0" /> + <setting name="CPU_PERIPHERAL_CLOCK_FREQUENCY" value="0" /> + <setting name="FPLL_FREQUENCY_VALUE" value="1" /> + <setting name="FPLL_FREQUENCY_OPERATION" value="true" /> + <setting name="FPLL_LOCKUP_WAIT_COUNTER" value="0" /> + <setting name="FMP_FREQUENCY_VALUE" value="1" /> + <setting name="TRD_FREQUENCY_VALUE" value="0" /> + <setting name="FSL_FREQUENCY_VALUE" value="0" /> + <setting name="RTC_IT_CLOCK" value="0" /> + <setting name="OCD_UNUSED" value="true" /> + <setting name="OCD_USED" value="false" /> + <setting name="RRM_UNUSED" value="false" /> + <setting name="RRM_USED" value="true" /> + <setting name="TRACE_UNUSED" value="false" /> + <setting name="TRACE_USED" value="true" /> + <setting name="HOTPLUG_UNUSED" value="true" /> + <setting name="HOTPLUG_USED" value="false" /> + <setting name="SECURITY_ID_AUTHENTICATION_ERASE" value="true" /> + <setting name="SECURITY_ID_AUTHENTICATION_NOT_ERASE" value="false" /> + <setting name="SECURITY_ID_SELECT" value="true" /> + <setting name="SECURITY_ID_VALUE" value="0x00000000000000000000" /> + <setting name="RESET_SOURCE_FUNCTION_OUTPUT" value="true" /> + <setting name="RESOUT_UNUSED" value="true" /> + <setting name="RESOUT_USED" value="false" /> + <setting name="ILLEGAL_MEMORY_ACCESS_UNUSED" value="true" /> + <setting name="ILLEGAL_MEMORY_ACCESS_USED" value="false" /> + <setting name="RAM_GUARD_UNUSED" value="true" /> + <setting name="RAM_GUARD_USED" value="false" /> + <setting name="RAM_GUARD_AREA" value="0" /> + <setting name="PORT_GUARD_UNUSED" value="true" /> + <setting name="PORT_GUARD_USED" value="false" /> + <setting name="INTERRUPT_GUARD_UNUSED" value="true" /> + <setting name="INTERRUPT_GUARD_USED" value="false" /> + <setting name="CHIP_CONTROL_GUARD_UNUSED" value="true" /> + <setting name="CHIP_CONTROL_GUARD_USED" value="false" /> + <setting name="STACKPOINTER_INTERRUPT_PRIORITY" value="3" /> + <setting name="STACKPOINTER_INTERRUPT_USED" value="true" /> + <setting name="CLOCK_MONITOR_INTERRUPT_PRIORITY" value="3" /> + <setting name="CLOCK_MONITOR_INTERRUPT_USED" value="true" /> + <setting name="CLOCK_MONITOR_UNUSED" value="true" /> + <setting name="CLOCK_MONITOR_USED" value="false" /> + <setting name="STACK_POINTER_UNUSED" value="true" /> + <setting name="STACK_POINTER_USED" value="false" /> + <setting name="STACK_POINTER_UNDERFLOW_DATA" value="0x0000" /> + <setting name="STACK_POINTER_OVERFLOW_DATA" value="0xFFFE" /> + <setting name="RAM_ECC_INTERRUPT_USED" value="false" /> + <setting name="RAM_ECC_INTERRUPT_PRIORITY" value="3" /> + <setting name="DataFlash" value="unused" /> + <setting name="ProgramFlash" value="unused" /> + <setting name="Monitor" value="unused" /> + <setting name="StartStop" value="unused" /> + <setting name="Emulator" value="E1" /> + </CGC> + <PORT> + <PortP1> + <P10> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P10> + <P11> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P11> + <P12> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="true" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P12> + <P13> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P13> + <P14> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P14> + <P15> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P15> + <P16> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P16> + <P17> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P17> + </PortP1> + <PortP3> + <P30> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P30> + <P33> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P33> + <P34> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P34> + </PortP3> + <PortP4> + <P40> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P40> + <P41> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P41> + </PortP4> + <PortP6> + <P60> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P60> + <P61> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P61> + <P62> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P62> + <P63> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P63> + </PortP6> + <PortP8> + <P80> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P80> + <P81> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P81> + <P82> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P82> + <P83> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P83> + <P84> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P84> + <P85> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P85> + </PortP8> + <PortP12> + <P120> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P120> + <P121> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P121> + <P122> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P122> + <P125> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P125> + </PortP12> + <PortP13> + <P137> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P137> + </PortP13> + </PORT> + <ADC> + <setting name="ADC_USED" value="true" /> + <setting name="ADC_UNUSED" value="false" /> + <setting name="ADC_COMPARATOR_ENABLE" value="true" /> + <setting name="ADC_COMPARATOR_DISABLE" value="false" /> + <setting name="ADC_RESOLUTION_10BIT" value="true" /> + <setting name="ADC_RESOLUTION_8BIT" value="false" /> + <setting name="ADC_POSITIVE_VDD" value="true" /> + <setting name="ADC_POSITIVE_AVREFP" value="false" /> + <setting name="ADC_POSITIVE_BGR" value="false" /> + <setting name="ADC_NEGATIVE_VSS" value="true" /> + <setting name="ADC_NEGATIVE_AVREFM" value="false" /> + <setting name="ADC_TRIGGER_SOFTWARE" value="false" /> + <setting name="ADC_TRIGGER_HARDWARE_NOWAIT" value="true" /> + <setting name="ADC_TRIGGER_HARDWARE_WAIT" value="false" /> + <setting name="ADC_TRIGGER_SOURCE_UPDATE" value="0" /> + <setting name="ADC_CONTINUOUS_SELECT_MODE" value="false" /> + <setting name="ADC_ONESHOT_SELECT_MODE" value="true" /> + <setting name="ADC_CONTINUOUS_SCAN_MODE" value="false" /> + <setting name="ADC_ONESHOT_SCAN_MODE" value="false" /> + <setting name="ADC_ANALOG_INPUT_SELECTION" value="7" /> + <setting name="ANALOG_INPUT_24" value="false" /> + <setting name="ANALOG_INPUT_25" value="false" /> + <setting name="ANALOG_INPUT_26" value="true" /> + <setting name="ADC_CONVERSION_MODE" value="0" /> + <setting name="ADC_CONVERSION_TIME" value="0" /> + <setting name="ADC_INTERRUPT_GENERATE_CONDITION_1" value="true" /> + <setting name="ADC_INTERRUPT_GENERATE_CONDITION_2" value="false" /> + <setting name="ADC_UPPER_BOUND_VALUE" value="255" /> + <setting name="ADC_LOWER_BOUND_VALUE" value="0" /> + <setting name="ADC_INTERRUPT_PRIORITY" value="3" /> + <setting name="ADC_INTERRUPT_USED" value="true" /> + <setting name="ANALOG_INPUT_30" value="true" /> + <setting name="ANALOG_INPUT_29" value="true" /> + <setting name="ANALOG_INPUT_28" value="true" /> + <setting name="ANALOG_INPUT_27" value="true" /> + <setting name="ADC_CHANNEL_SELECTION" value="0" /> + </ADC> + <TAU0> + <Channel0> + <setting name="ChannelFunction" value="1" /> + <setting name="Pinselection" value="-1" /> + <TAUInterval0> + <setting name="OperationMode" value="16bits" /> + <setting name="Count_clock" value="MCK clock" /> + <setting name="Sub_clock_mode" value="-1" /> + <setting name="Interval_value" value="1000" /> + <setting name="Value_scale" value="1" /> + <setting name="Intervalvalue_High8bits" value="100" /> + <setting name="Intervalvalue_High8bits_scale" value="-1" /> + <setting name="Intervalvalue_Low8bits" value="100" /> + <setting name="Intervalvalue_Low8bits_Scale" value="-1" /> + <setting name="Generate_interrupt_when_couting_started" value="no" /> + <setting name="Interrupt" value="used" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="InterruptH_priority" value="3" /> + <setting name="InterruptH8" value="unused" /> + </TAUInterval0> + </Channel0> + <Channel1> + <setting name="ChannelFunction" value="1" /> + <setting name="Pinselection" value="-1" /> + <TAUInterval1> + <setting name="OperationMode" value="16bits" /> + <setting name="Count_clock" value="MCK clock" /> + <setting name="Sub_clock_mode" value="-1" /> + <setting name="Interval_value" value="1000" /> + <setting name="Value_scale" value="1" /> + <setting name="Intervalvalue_High8bits" value="100" /> + <setting name="Intervalvalue_High8bits_scale" value="1" /> + <setting name="Intervalvalue_Low8bits" value="100" /> + <setting name="Intervalvalue_Low8bits_Scale" value="1" /> + <setting name="Generate_interrupt_when_couting_started" value="no" /> + <setting name="Interrupt" value="used" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="InterruptH_priority" value="3" /> + <setting name="InterruptH8" value="used" /> + </TAUInterval1> + </Channel1> + <Channel2> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel2> + <Channel3> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel3> + <Channel4> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel4> + <Channel5> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel5> + <Channel6> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel6> + <Channel7> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel7> + </TAU0> + <TAU1> + <Channel0> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel0> + <Channel1> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel1> + <Channel2> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel2> + <Channel3> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel3> + </TAU1> + <TMRJ0> + <setting name="Function" value="Unused" /> + </TMRJ0> + <TMRD0> + <setting name="Function" value="OutPutCompare" /> + <OutPutCompareFunction0> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_clear" value="2" /> + <setting name="Counter_operation" value="1" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="TRDGRDCount_Inuse" value="not use" /> + <setting name="TRDGRCCount_Inuse" value="use" /> + <setting name="TRDGRBCount_Inuse" value="use" /> + <setting name="TRDGRACount_Inuse" value="use" /> + <setting name="TRDGRDCount" value="100" /> + <setting name="TRDGRCCount" value="500" /> + <setting name="TRDGRBCount" value="1000" /> + <setting name="TRDGRACount" value="500" /> + <setting name="TRDIORDUnit" value="1" /> + <setting name="TRDIORCUnit" value="1" /> + <setting name="TRDIORBUnit" value="1" /> + <setting name="TRDIORAUnit" value="1" /> + <setting name="OutputD" value="not use" /> + <setting name="OutputC" value="use" /> + <setting name="OutputB" value="not use" /> + <setting name="OutputA" value="use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="InitOutputLevelA" value="0" /> + <setting name="OutputLevelA" value="0" /> + <setting name="INTTRDGRD" value="not use" /> + <setting name="INTTRDGRC" value="not use" /> + <setting name="INTTRDGRB" value="not use" /> + <setting name="INTTRDGRA" value="not use" /> + <setting name="INTOverFlow" value="not use" /> + <setting name="INTPriority" value="3" /> + </OutPutCompareFunction0> + <PWM3Output0> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_operation" value="0" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="PeriodUnit" value="1" /> + <setting name="Duty3" value="50" /> + <setting name="Duty2" value="50" /> + <setting name="Duty1" value="50" /> + <setting name="Period" value="100" /> + <setting name="Duty3_Inuse" value="not use" /> + <setting name="Duty2_Inuse" value="use" /> + <setting name="Duty1_Inuse" value="not use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="INTP0_linked" value="not use" /> + <setting name="ELC_linked" value="not use" /> + <setting name="TRDIOB_Normal" value="0" /> + <setting name="TRDIOC_Normal" value="0" /> + <setting name="TRDIOD_Normal" value="0" /> + <setting name="INTTRDGRD" value="use" /> + <setting name="INTTRDGRC" value="use" /> + <setting name="INTTRDGRB" value="use" /> + <setting name="INTTRDGRA" value="use" /> + <setting name="INTOverFlow" value="use" /> + <setting name="INTPriority" value="3" /> + <setting name="OutputTimeD" value="0" /> + <setting name="OutputTimeC" value="0" /> + <setting name="OutputTimeB" value="0" /> + </PWM3Output0> + </TMRD0> + <TMRD1> + <setting name="Function" value="OutPutCompare" /> + <OutPutCompareFunction1> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_clear" value="2" /> + <setting name="Counter_operation" value="0" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="TRDGRDCount_Inuse" value="not use" /> + <setting name="TRDGRCCount_Inuse" value="not use" /> + <setting name="TRDGRBCount_Inuse" value="use" /> + <setting name="TRDGRACount_Inuse" value="use" /> + <setting name="TRDGRDCount" value="100" /> + <setting name="TRDGRCCount" value="100" /> + <setting name="TRDGRBCount" value="1000" /> + <setting name="TRDGRACount" value="300" /> + <setting name="TRDIORDUnit" value="1" /> + <setting name="TRDIORCUnit" value="1" /> + <setting name="TRDIORBUnit" value="1" /> + <setting name="TRDIORAUnit" value="1" /> + <setting name="OutputD" value="not use" /> + <setting name="OutputC" value="not use" /> + <setting name="OutputB" value="not use" /> + <setting name="OutputA" value="use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="InitOutputLevelA" value="0" /> + <setting name="OutputLevelA" value="0" /> + <setting name="INTTRDGRD" value="use" /> + <setting name="INTTRDGRC" value="use" /> + <setting name="INTTRDGRB" value="not use" /> + <setting name="INTTRDGRA" value="not use" /> + <setting name="INTOverFlow" value="not use" /> + <setting name="INTPriority" value="3" /> + </OutPutCompareFunction1> + </TMRD1> + <WDT> + <setting name="WDT_MODULE_USED" value="false" /> + <setting name="WDT_MODULE_UNUSE" value="true" /> + <setting name="WDT_OVERFLOW_TIME" value="4" /> + <setting name="WDT_WINDOW_OPEN_TIME" value="2" /> + <setting name="WDT_HALT_STOP_OPERATION_ENABLE" value="true" /> + <setting name="WDT_HALT_STOP_OPERATION_STOP" value="false" /> + <setting name="WDT_INTERRUPT_USED" value="true" /> + <setting name="WDT_INTERRUPT_PRIORITY" value="3" /> + </WDT> + <RTC> + <setting name="INITIAL_VALUE" value="01/01/2000 00:00:00" /> + <setting name="ALARM_WEEK_DAY" value="Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_" /> + <setting name="ALARM_TIME" value="01/01/2000 00:00:00" /> + <setting name="MODULE_USED" value="false" /> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="ALARM_OPERATION_USED" value="false" /> + <setting name="HOUR_SYSTEM" value="0" /> + <setting name="INITIAL_VALUE_USED" value="false" /> + <setting name="ALARM_VALUE_USED" value="false" /> + <setting name="INTERRUPT_PRIORITY" value="3" /> + <setting name="CONSTANT_INTERRUPT_USED" value="false" /> + <setting name="CONSTANT_INTERRUPT_VALUE" value="0" /> + <setting name="ALARM_INTERRUPT_USED" value="true" /> + <setting name="RTC1HZ_OUTPUT_USED" value="false" /> + <setting name="RTC1HZ_OUTPUTPIN_SEL" value="-1" /> + </RTC> + <SAU0> + <IIC00 /> + <CSI00 /> + <UART0 /> + <Channel0> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel0> + <IIC01 /> + <CSI01 /> + <Channel1> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel1> + </SAU0> + <SAU1> + <Channel0> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel0> + <UART1 /> + <Channel1> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel1> + <IIC10 /> + <CSI10 /> + </SAU1> + <IICA0> + <setting name="SLAVE_MODE_USED" value="false" /> + <setting name="MODULE_UNUSE" value="true" /> + <setting name="SINGLE_MASTER_USED" value="false" /> + </IICA0> + <LVD> + <setting name="Operation" value="used" /> + <setting name="Reset_only_level" value="3" /> + <setting name="InterruptReset_level" value="0" /> + <setting name="Interrupt_level" value="0" /> + <setting name="Interrupt_only_level" value="0" /> + <setting name="operation_mode" value="reset" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="Interrupt_only_priority" value="3" /> + </LVD> + </SETTING> +</RL78F13> + 1.0 + e0ec9d6a-1791-4da2-b198-c88f27471ae8 + 8d70aa2b-ba0a-4416-bbe6-cbf224b2aaea + + + + + e0ec9d6a-1791-4da2-b198-c88f27471ae8 + + + + + Project78K0R + + + + + 8.00.00.00 + + + \ No newline at end of file diff --git a/ECU_APP/ECU_APP.rcpe b/ECU_APP/ECU_APP.rcpe new file mode 100644 index 0000000..4612755 --- /dev/null +++ b/ECU_APP/ECU_APP.rcpe @@ -0,0 +1,2325 @@ +锘 + + + + % + % + + + + cstart.asm + stkinit.asm + iodefine.h + + DataFlash\pfdl.h + DataFlash\pfdl.lib + DataFlash\pfdl_types.h + DataFlash\r_pfdl.c + DataFlash\娴嬭瘯鏁版嵁.txt + + + + diagnose\CanIf\CanIf.c + diagnose\CanIf\CanIf.h + diagnose\CanIf\CanIf_Cfg.c + diagnose\CanIf\CanIf_Cfg.h + + + diagnose\CanTp\CanTp.h + diagnose\CanTp\CanTp_Cfg.c + diagnose\CanTp\CanTp_Cfg.h + diagnose\CanTp\CanTp.c + + + diagnose\CanTrcv\CanTrcv.c + diagnose\CanTrcv\CanTrcv.h + diagnose\CanTrcv\CanTrcv_Cfg.c + diagnose\CanTrcv\CanTrcv_Cfg.h + + + diagnose\DTC\DCM_DTC.c + diagnose\DTC\DCM_DTC.h + + + diagnose\lib\rl78_uds_lib_cc_v2.2.1.lib + + diagnose\app_to_dcm.h + diagnose\can_drv.h + diagnose\CanIf.h + diagnose\CanIf_Cfg.h + diagnose\CanSM.h + diagnose\CanSM_Cfg.h + diagnose\ComTypes.h + diagnose\Dcm.h + diagnose\Dcm_App.c + diagnose\Dcm_App.h + diagnose\Dcm_App_Cfg.c + diagnose\Dcm_App_Cfg.h + diagnose\Dcm_Cfg.c + diagnose\Dcm_Cfg.h + diagnose\Dcm_DID.c + diagnose\Dcm_DID.h + diagnose\Dcm_DID_Cfg.c + diagnose\Dcm_DID_Cfg.h + diagnose\Dcm_extern.h + diagnose\Dcm_Key.c + diagnose\Dcm_Key.h + diagnose\DCM_Types.h + diagnose\extern.c + diagnose\extern.h + diagnose\Dcm.c + + + rscan_driver\RL78_RCAN.c + rscan_driver\RL78_RCAN.h + rscan_driver\RL78_RCAN.xml + rscan_driver\r_rl78_can_drv.c + rscan_driver\r_rl78_can_drv.h + rscan_driver\r_rl78_can_irq.c + rscan_driver\r_rl78_can_sfr.h + + + r_cg_wdt.h + r_cg_timer.h + r_cg_port.h + r_cg_macrodriver.h + r_cg_userdefine.h + r_cg_cgc.h + r_cg_adc.h + + + sys\VectorTable.c + sys\VectorTable.h + + + CanNw\CanNw.c + CanNw\CanNw.h + CanNw\CanNwConfig.c + CanNw\CanNwConfig.h + + + r_systeminit.c + r_main.c + r_cg_wdt_user.c + r_cg_wdt.c + r_cg_timer_user.c + r_cg_timer.c + r_cg_port_user.c + r_cg_port.c + r_cg_cgc_user.c + r_cg_cgc.c + r_cg_adc_user.c + r_cg_adc.c + + user\appTask.c + user\can_user.c + user\hwCtrl.c + + + + + 0 + + + + R5F10BBG + + + + DefaultBuild\cstart.obj + DefaultBuild\stkinit.obj + DefaultBuild\r_pfdl.obj + DefaultBuild\RL78_RCAN.obj + DefaultBuild\r_rl78_can_drv.obj + DefaultBuild\r_rl78_can_irq.obj + DefaultBuild\r_systeminit.obj + DefaultBuild\r_main.obj + DefaultBuild\r_cg_wdt_user.obj + DefaultBuild\r_cg_wdt.obj + DefaultBuild\r_cg_timer_user.obj + DefaultBuild\r_cg_timer.obj + DefaultBuild\r_cg_port_user.obj + DefaultBuild\r_cg_port.obj + DefaultBuild\r_cg_cgc_user.obj + DefaultBuild\r_cg_cgc.obj + DefaultBuild\r_cg_adc_user.obj + DefaultBuild\r_cg_adc.obj + DefaultBuild\VectorTable.obj + DefaultBuild\CanNw.obj + DefaultBuild\CanNwConfig.obj + DefaultBuild\Dcm_App.obj + DefaultBuild\Dcm_App_Cfg.obj + DefaultBuild\Dcm_Cfg.obj + DefaultBuild\Dcm_DID.obj + DefaultBuild\Dcm_DID_Cfg.obj + DefaultBuild\Dcm_Key.obj + DefaultBuild\extern.obj + DefaultBuild\CanIf.obj + DefaultBuild\CanIf_Cfg.obj + DefaultBuild\CanTp_Cfg.obj + DefaultBuild\CanTrcv.obj + DefaultBuild\CanTrcv_Cfg.obj + DefaultBuild\DCM_DTC.obj + DefaultBuild\Dcm.obj + DefaultBuild\CanTp.obj + DefaultBuild\appTask.obj + DefaultBuild\can_user.obj + DefaultBuild\hwCtrl.obj + DataFlash\pfdl.lib + + + diagnose\DTC + diagnose\CanTrcv + sys + . + rscan_driver + diagnose + DataFlash + CanNw + diagnose\CanTp + diagnose\CanIf + user + DEBUG1 + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + None + + + + + <RL78F13> + <VAR> + <fCLK Name="fCLK" Value="32" Comment="4M" Trigger="fCLK"> + <Effect> + <ADC /> + <SAU0 /> + <SAU1 /> + <IICA0 /> + <TAU0 /> + <TAU1 /> + <TMRJ0 /> + </Effect> + </fCLK> + <ISPullupForPort Name="ISPullupForPort" Text="P10-P11-P12-P13-P14-P15-P16-P17-P30-P40-P41-P60-P61-P62-P63-P120-P125-" Comment="unused" /> + <fHOCO Name="fHOCO" Value="64" Comment="64M" Trigger="fHOCO" /> + <fIH Name="fIH" Value="32" Comment="32M" /> + <fSUB Name="fSUB" Value="0" Comment="0K" Trigger="fSUB"> + <Effect> + <TAU0 /> + <TAU1 /> + <TMRJ0 /> + </Effect> + </fSUB> + <fIL Name="fIL" Value="15" Comment="15K" Trigger="fIL"> + <Effect> + <TMRJ0 /> + <WDT /> + <TAU0 /> + <TAU1 /> + </Effect> + </fIL> + <fSL Name="fSL" Value="15" Comment="15K" Trigger="fSL"> + <Effect> + <PCLBUZ0 /> + <TMRJ0 /> + <TAU0 /> + <TAU1 /> + </Effect> + </fSL> + <fPLL Name="fPLL" Value="32" Comment="24M" Trigger="fPLL" /> + <fRTC Name="fRTC" Value="65.5737704918033" Comment="15k" Trigger="fRTC"> + <Effect> + <RTC /> + </Effect> + </fRTC> + <fTRD Name="fTRD" Value="32" Comment="64M" Trigger="fTRD"> + <Effect> + <TMRD0 /> + <TMRD1 /> + </Effect> + </fTRD> + <fMAIN Name="fMAIN" Value="8" Comment="32M" Trigger="fMAIN"> + <Effect> + <PCLBUZ0 /> + </Effect> + </fMAIN> + <fTRDSource Name="fTRDSource" Trigger="fTRD" Text="fCLK" /> + <VDD_MIN Name="VDD_MIN" Value="4" Comment="4.0V" Trigger="VDD"> + <Effect> + <PCLBUZ0 /> + <IICA0 /> + <SAU0 /> + <SAU1 /> + </Effect> + </VDD_MIN> + <VDD_MAX Name="VDD_MAX" Value="5.5" Comment="5.5V" /> + <VDD Name="VDD" Text="false" Comment="used" /> + <VDDValue Name="VDDValue" Value="2.7" Comment="2.7V" Trigger="VDD"> + <Effect> + <ADC /> + </Effect> + </VDDValue> + <AD_ADPC_USEDPIN Name="AD_ADPC_USEDPIN" Text="ANI0," /> + <AD_ADS_USEDPIN Name="AD_ADS_USEDPIN" Text="ANI0," /> + <ADPCForPort3 Name="ADPCForPort3" Value="2" Comment="ADPCForPort3" /> + <ADPCForPort8 Name="ADPCForPort8" Value="3" Comment="ADPCForPort8" /> + <ADPCForPort9 Name="ADPCForPort9" Value="255" Comment="ADPCForPort9" /> + <ADPCForKey Name="ADPCForKey" Value="255" Comment="ADPCForKey" /> + <OnChipDebugTraceDTC Name="GTraceRam" Text="2" Trigger="ocdtraceram"> + <Effect> + <DTC /> + </Effect> + </OnChipDebugTraceDTC> + <OnChipDebugTrace Name="GTrace" Text="2" /> + <OnChipDebugHotPlugDTC Name="GHotPlugRam" Text="2" Trigger="ocdhotplugram"> + <Effect> + <DTC /> + </Effect> + </OnChipDebugHotPlugDTC> + <KR0 Name="KR0" Text="false" Comment="unused" Trigger="KR0"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR0> + <KR1 Name="KR1" Text="false" Comment="unused" Trigger="KR1"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR1> + <KR2 Name="KR2" Text="false" Comment="unused" Trigger="KR2"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR2> + <KR3 Name="KR3" Text="false" Comment="unused" Trigger="KR3"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR3> + <KR4 Name="KR4" Text="false" Comment="unused" Trigger="KR4"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR4> + <KR5 Name="KR5" Text="false" Comment="unused" Trigger="KR5"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR5> + <KR6 Name="KR6" Text="false" Comment="unused" Trigger="KR6"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR6> + <KR7 Name="KR7" Text="false" Comment="unused" Trigger="KR7"> + <Effect> + <PORT Forcible="" /> + </Effect> + </KR7> + <OnChipDebugHotPlug Name="GHotPlug" Text="2" /> + <IIC00 Name="IIC00" Text="false" Comment="unused" Trigger="IIC00"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC00> + <IIC01 Name="IIC01" Text="false" Comment="unused" Trigger="IIC01"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC01> + <IIC10 Name="IIC10" Text="false" Comment="unused" Trigger="IIC10"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC10> + <IIC11 Name="IIC11" Text="false" Comment="unused" Trigger="IIC11"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IIC11> + <IICA0 Name="IICA0" Text="false" Comment="unused" Trigger="IICA0"> + <Effect> + <PORT Forcible="" /> + </Effect> + </IICA0> + <PIOR00Value Name="PIOR00Value" Text="0" /> + <PIOR01Value Name="PIOR01Value" Text="0" /> + <PIOR02Value Name="PIOR02Value" Text="0" /> + <PIOR03Value Name="PIOR03Value" Text="0" /> + <PIOR04Value Name="PIOR04Value" Text="0" /> + <PIOR05Value Name="PIOR05Value" Text="0" /> + <PIOR06Value Name="PIOR06Value" Text="0" /> + <PIOR07Value Name="PIOR07Value" Text="0" /> + <PIOR10Value Name="PIOR10Value" Text="0" /> + <PIOR11Value Name="PIOR11Value" Text="0" /> + <PIOR12Value Name="PIOR12Value" Text="0" /> + <PIOR13Value Name="PIOR13Value" Text="0" /> + <PIOR14Value Name="PIOR14Value" Text="0" /> + <PIOR15Value Name="PIOR15Value" Text="0" /> + <PIOR16Value Name="PIOR16Value" Text="0" /> + <PIOR17Value Name="PIOR17Value" Text="0" /> + <PIOR20Value Name="PIOR20Value" Text="0" /> + <PIOR21Value Name="PIOR21Value" Text="0" /> + <PIOR22Value Name="PIOR22Value" Text="0" /> + <PIOR23Value Name="PIOR23Value" Text="0" /> + <PIOR24Value Name="PIOR24Value" Text="0" /> + <PIOR25Value Name="PIOR25Value" Text="0" /> + <PIOR26Value Name="PIOR26Value" Text="0" /> + <PIOR27Value Name="PIOR27Value" Text="0" /> + <PIOR30Value Name="PIOR30Value" Text="0" /> + <PIOR31Value Name="PIOR31Value" Text="0" /> + <PIOR32Value Name="PIOR32Value" Text="0" /> + <PIOR33Value Name="PIOR33Value" Text="0" /> + <PIOR34Value Name="PIOR34Value" Text="0" /> + <PIOR35Value Name="PIOR35Value" Text="0" /> + <PIOR36Value Name="PIOR36Value" Text="0" /> + <PIOR37Value Name="PIOR37Value" Text="0" /> + <PIOR40Value Name="PIOR40Value" Text="0" /> + <PIOR41Value Name="PIOR41Value" Text="0" /> + <PIOR42Value Name="PIOR42Value" Text="0" /> + <PIOR43Value Name="PIOR43Value" Text="0" /> + <PIOR44Value Name="PIOR44Value" Text="0" /> + <PIOR45Value Name="PIOR45Value" Text="0" /> + <PIOR46Value Name="PIOR46Value" Text="0" /> + <PIOR50Value Name="PIOR50Value" Text="0" /> + <PIOR52Value Name="PIOR52Value" Text="0" /> + <PIOR53Value Name="PIOR53Value" Text="0" /> + <PIOR60Value Name="PIOR60Value" Text="0" /> + <PIOR61Value Name="PIOR61Value" Text="0" /> + <PIOR62Value Name="PIOR62Value" Text="0" /> + <PIOR63Value Name="PIOR63Value" Text="0" /> + <PIOR64Value Name="PIOR64Value" Text="0" /> + <PIOR65Value Name="PIOR65Value" Text="0" /> + <PIOR66Value Name="PIOR66Value" Text="0" /> + <PIOR67Value Name="PIOR67Value" Text="0" /> + <PIOR70Value Name="PIOR70Value" Text="0" /> + <PIOR71Value Name="PIOR71Value" Text="0" /> + <PIOR73Value Name="PIOR73Value" Text="0" /> + <RTC1HZ Name="RTC1HZ" Text="disable" Trigger="RTC1HZ"> + <Effect> + <TAU0 /> + <TAU1 /> + </Effect> + </RTC1HZ> + <RXD0 Name="RXD0" Text="disable" /> + <ProjectName Name="PrjName" Text="ECU_APP" /> + <ProjectPath Name="PrjPath" Text="F:\FCB_project\temp\HWBS\CODE\ECU_APP" /> + <ProjectKind Name="PrjKind" Text="Project78K0R" /> + <DeviceName Name="DeviceName" Fixed="" Text="RL78F13" /> + <MCUName Name="MCUName" Text="RL78F13_32pin" /> + <ChipName Name="ChipName" Text="R5F10BBG" /> + <ChipID Name="ChipID" Text="R5F10BBG" /> + <CPUCoreType Name="CPUCoreType" Fixed="" Text="1" /> + <MCUType Name="MCUType" Fixed="" Text="RL78" /> + <Compiler Name="Compiler" Text="CCRL" /> + <UseSecurityId Name="GI" Text="0" /> + <SecurityId Name="GIValue" Text="00000000000000000000" /> + <LinkDirectiveFile Name="D0" Text="lk.dr" /> + <OnChipDebugOptionBytes Name="GO" Text="1" /> + <OnChipDebugOptionBytesValue Name="GOValue" Text="04" /> + <StartAddressOfOnChipDebugOptionBytes Name="GOStart" Text="1FE00" /> + <SizeOfOnChipDebugOptionBytesArea Name="GOSizeValue" Text="512" /> + <UserOptionBytes Name="GB" Text="1" /> + <UserOptionBytesValue Name="GBValue" Text="E933E8" /> + <RAMStartAddress Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="RAMStartAddress" Fixed="" Text="000FDF00" /> + <RAMEndAddress Name="RAMEndAddress" Fixed="" Text="000FFEFF" /> + <ROMEndAddress Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="ROMEndAddress" Fixed="" Text="0001FFFF" /> + <MirrorROM Chip="R5F10AGG,R5F10ALG,R5F10AMG,R5F10BAG,R5F10BBG,R5F10BGG,R5F10BLG,R5F10BMG" Name="MirrorROM" Fixed="" Text="47.75" /> + <TAUUsedRTC1Hz Name="TAUUsedRTC1Hz" Text="false" Comment="unused" Trigger="RTC1HZ"> + <Effect> + <RTC /> + </Effect> + </TAUUsedRTC1Hz> + <TRDCLKUSE1 Name="TRDCLKUSE1" Value="0" Comment="unused" Trigger="TRDCLK input"> + <Effect> + <TMRD0 /> + </Effect> + </TRDCLKUSE1> + <fMP Name="fMP" Value="32" /> + <ADPCForPort1 Name="ADPCForPort1" Value="255" /> + <ADPCForPort4 Name="ADPCForPort4" Value="255" /> + <ADPCForPort6 Name="ADPCForPort6" Value="255" /> + <ADPCForPort12 Name="ADPCForPort12" Value="255" /> + <ADPCForPort13 Name="ADPCForPort13" Value="255" /> + <TRDCLKTag Name="TRDCLKTag" Value="-1" /> + <TRDCLKUSE0 Name="TRDCLKUSE0" Value="0" /> + <RTC1HZ_Used Name="RTC1HZ_Used" Value="0" /> + <GroupName Name="GroupName" Text="groupc1" /> + <CodePath Name="CodePath" Text=".\" /> + <ReportType Name="ReportType" Text="Html" /> + <CreationDateType Name="CreationDateType" Text="OutputDate" /> + <GenerateType Name="GenerateType" Text="Merge" /> + <APIOutputType Name="APIOutputType" Text="Default" /> + <FileRegister Name="FileRegister" Text="Yes" /> + <PinReflect Name="PinReflect" Text="Reflected" /> + <fCLKSource Name="fCLKSource" Text="fMX" /> + <UseFDL Name="UseFDL" Text="no" /> + <DataFlash Name="DataFlash" Text="0" /> + <OCDROM Name="OCDROM" Text="Unused" /> + <OCDROM_Address Name="OCDROM_Address" Text="0001FE00" /> + <OCDROM_Length Name="OCDROM_Length" Text="512" /> + <HasRRMRam Name="HasRRMRam" Text="" /> + <HasTraceRam Name="HasTraceRam" Text="" /> + <HasHotRam Name="HasHotRam" Text="" /> + <PrjVersion Name="PrjVersion" Text="1.2.0.1" /> + <ProductVersion Name="ProductVersion" Text="4.08.05.01" /> + <TO02_PWM Name="TO02_PWM" Text="false" /> + <TO03_PWM Name="TO03_PWM" Text="false" /> + <Ch3UseTI03 Name="Ch3UseTI03" Text="false" /> + <Ch4UseTI03 Name="Ch4UseTI03" Text="false" /> + <Ch5UseTI03 Name="Ch5UseTI03" Text="false" /> + <INPT0USE0 Name="INPT0USE0" Text="false" /> + <TRDINTP0LINK0 Name="TRDINTP0LINK0" Text="false" /> + <TRDIOC1_PWM Name="TRDIOC1_PWM" Text="false" /> + <TRDIOD1_PWM Name="TRDIOD1_PWM" Text="false" /> + <INPT0USE1 Name="INPT0USE1" Text="false" /> + <TRDINTP0LINK1 Name="TRDINTP0LINK1" Text="false" /> + <LinkFileName Name="LinkFileName" Text="" /> + <TRD0_INTP0 Name="TRD0_INTP0" Value="0" /> + <TRD1_INTP0 Name="TRD1_INTP0" Value="0" /> + </VAR> + <DIR> + <PIN> + <CGC> + <X1 Port="P121" Point="-" /> + <X2 Port="P122" Point="-" /> + <EXCLK Port="P122" Point="I" /> + <TOOL0 Port="P40" Point="I/O" /> + <RESOUT Port="P130" Point="O" /> + </CGC> + <PORT> + <Port1 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" Pullup="true"> + <P10 Name="P10/TI13/TO13/TRJO0/_SCK10/SCL10/LTXD1/CTXD0" Chip="groupb,groupc1,groupc2" TTL="true" PITHL="true" Nch="true" AltFunc="" Point="I/O" /> + <P11 Name="P11/TI12/TO12/TRDIOB0/SI10/SDA10/RXD1/LRXD1/CRXD0" Chip="groupb,groupc1,groupc2" TTL="true" PITHL="true" Nch="true" AltFunc="" Point="I/O" /> + <P12 Name="P12/TI11/TO11/TRDIOD0/INTP5/SO10/TXD1/SNZOUT3" Chip="groupb,groupc1,groupc2" Nch="true" AltFunc="P12" Point="I/O" /> + <P13 Name="P13/TI04/TO04/TRDIOA0/TRDCLK0/SI01/SDA01/LTXD0" TTL="true" PITHL="true" Nch="true" AltFunc="TRDIOA0_P13" Point="I/O" /> + <P14 Name="P14/TI06/TO06/TRDIOC0/_SCK01/SCL01/LRXD0" TTL="true" PITHL="true" Nch="true" AltFunc="TRDIOC0_P14" Point="I/O" /> + <P15 Name="P15/TI05/TO05/TRDIOA1/TRDIOA0/TRDCLK0/SO00/TXD0/TOOLTXD/RTC1HZ" Nch="true" AltFunc="TRDIOA1_P15" Point="I/O" /> + <P16 Name="P16/TI02/TO02/TRDIOC1/SI00/SDA00/RXD0/TOOLRXD" TTL="true" PITHL="true" Nch="true" AltFunc="P16" Point="I/O" /> + <P17 Name="P17/TI00/TO00/TRDIOB1/_SCK00/SCL00/INTP3" TTL="true" PITHL="true" Nch="true" AltFunc="P17" Point="I/O" /> + </Port1> + <Port3 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P30 Name="P30/TI01/TO01/TRDIOD1/_SSI00/INTP2/SNZOUT0" TTL="true" PITHL="true" Pullup="true" AltFunc="P30" Point="I/O" /> + <P33 Name="P33/AVREFP/ANI00" AltFunc="ANI0" Point="I/O" /> + <P34 Name="P34/AVREFM/ANI01" AltFunc="P34" Point="I/O" /> + </Port3> + <Port4 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin" Pullup="true"> + <P40 Name="P40/TOOL0" AltFunc="" Point="I/O" /> + <P41 Name="P41/TI10/TO10/TRJIO0/VCOUT0/SNZOUT2" AltFunc="P41" Point="I/O" /> + </Port4> + <Port6 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin" Pullup="true"> + <P60 Name="P60/_SCK00/SCL00" PITHL="true" Nch="true" AltFunc="P60" Point="I/O" /> + <P61 Name="P61/SI00/SDA00/RXD0" PITHL="true" Nch="true" AltFunc="P61" Point="I/O" /> + <P62 Name="P62/SO00/TXD0/SCLA0" Chip="R5F10AGF,R5F10AGG,R5F10ALF,R5F10ALG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG" PITHL="true" Nch="true" TTL="true" AltFunc="P62" Point="I/O" /> + <P63 Name="P63/_SSI00/SDAA0" Chip="R5F10AGF,R5F10AGG,R5F10ALF,R5F10ALG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG" TTL="true" PITHL="true" Nch="true" AltFunc="P63" Point="I/O" /> + </Port6> + <Port8 Chip="RL78F13_32pin"> + <P80 Name="P80/ANI02/ANO0" AltFunc="P80" Point="I/O" /> + <P81 Name="P81/ANI03/IVCMP00" AltFunc="P81" Point="I/O" /> + <P82 Name="P82/ANI04/IVCMP01" AltFunc="P82" Point="I/O" /> + <P83 Name="P83/ANI05/IVCMP02" AltFunc="P83" Point="I/O" /> + <P84 Name="P84/ANI06/IVCMP03" AltFunc="P84" Point="I/O" /> + <P85 Name="P85/ANI07/IVREF0" AltFunc="P85" Point="I/O" /> + </Port8> + <Port12 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P120 Name="P120/ANI25/TI07/TO07/TRDIOD0/SO01/INTP4" Chip="R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" DIN="true" Nch="true" Pullup="true" AltFunc="P120" Point="I/O" /> + <P121 Name="P121/X1" AltFunc="X1" Point="I" /> + <P122 Name="P122/X2/EXCLK" AltFunc="X2" Point="I" /> + <P125 Name="P125/ANI24/TI03/TO03/TRDIOB0/_SSI01/INTP1/SNZOUT1" Chip="R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" DIN="true" TTL="true" PITHL="true" Pullup="true" AltFunc="P125" Point="I/O" /> + </Port12> + <Port13 Chip="RL78F13_20pin,RL78F13_30pin,RL78F13_32pin"> + <P137 Name="P137/INTP0" AltFunc="P137" Point="I" /> + </Port13> + </PORT> + <INTC> + <INTP> + <INTP0 Port="P137" Point="I" /> + <INTP1 Port="P125" Point="I" /> + <INTP2 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" Port="P30" Point="I" /> + <INTP3 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" Port="P17" Point="I" /> + <INTP4 Port="P120" Point="I" /> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" Port="P12" Point="I" /> + </INTP> + <KEY> + </KEY> + </INTC> + <ADC> + <ANI0 Port="P33" Point="I" /> + <ANI1 Port="P34" Point="I" /> + <ANI2 Port="P80" Point="I" /> + <ANI3 Port="P81" Point="I" /> + <ANI4 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P82" Point="I" /> + <ANI5 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P83" Point="I" /> + <ANI6 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P84" Point="I" /> + <ANI7 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P85" Point="I" /> + <ANI24 Chip="R5F10BGC, R5F10BGD, R5F10BGE, R5F10BGF, R5F10BGG, R5F10AGF, R5F10AGG, R5F10BLC, R5F10BLD, R5F10BLE, R5F10BLF, R5F10BLG, R5F10ALF, R5F10ALG, RL78F13_80pin, R5F10BBC, R5F10BBD, R5F10BBE, R5F10BBF, R5F10BBG, R5F10BAC, R5F10BAD, R5F10BAE, R5F10BAF, R5F10BAG" Port="P125" Point="I" /> + <ANI25 Chip="R5F10BGC, R5F10BGD, R5F10BGE, R5F10BGF, R5F10BGG, R5F10AGF, R5F10AGG, R5F10BLC, R5F10BLD, R5F10BLE, R5F10BLF, R5F10BLG, R5F10ALF, R5F10ALG, RL78F13_80pin, R5F10BBC, R5F10BBD, R5F10BBE, R5F10BBF, R5F10BBG, R5F10BAC, R5F10BAD, R5F10BAE, R5F10BAF, R5F10BAG" Port="P120" Point="I" /> + <AVREFP Port="P33" Point="I" /> + <AVREFM Port="P34" Point="I" /> + <ANALOG_0 Port="P33" Point="I" RealName="ANI0" /> + <ANALOG_1 Port="P34" Point="I" RealName="ANI1" /> + <ANALOG_2 Port="P80" Point="I" RealName="ANI2" /> + <ANALOG_3 Port="P81" Point="I" RealName="ANI3" /> + <ANALOG_4 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P82" Point="I" RealName="ANI4" /> + <ANALOG_5 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P83" Point="I" RealName="ANI5" /> + <ANALOG_6 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P84" Point="I" RealName="ANI6" /> + <ANALOG_7 Chip="RL78F13_30pin, RL78F13_32pin, RL78F13_48pin, RL78F13_64pin, RL78F13_80pin" Port="P85" Point="I" RealName="ANI7" /> + </ADC> + <Serial> + <SAU0> + <UART0> + <RXD0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="I" /> + <TXD0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P15" Point="O" /> + </UART0> + <CSI00> + <SO00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P15" Point="O" /> + <SI00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="I" /> + <SCK00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" RealName="_SCK00" Port="P17" Point="I/O" /> + <SSI00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" RealName="_SSI00" Port="P30" Point="I" /> + </CSI00> + <CSI01> + <SO01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P120" Point="O" /> + <SI01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P13" Point="I" /> + <SCK01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P14" RealName="_SCK01" Point="I/O" /> + <SSI01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" RealName="_SSI01" Port="P125" Point="I" /> + </CSI01> + <IIC00> + <SCL00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P17" Point="O" CheckNch="true" /> + <SDA00 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR40="0" Port="P16" Point="O" CheckNch="true" /> + </IIC00> + <IIC01> + <SCL01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P14" Point="O" CheckNch="true" /> + <SDA01 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" PIOR41="0" Port="P13" Point="O" CheckNch="true" /> + </IIC01> + </SAU0> + <SAU1> + <UART1> + <RXD1 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="I" /> + <TXD1 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P12" Point="O" /> + </UART1> + <CSI10> + <SO10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P12" Point="O" /> + <SI10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="I" /> + <SCK10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P10" RealName="_SCK10" Point="I/O" /> + </CSI10> + <IIC10> + <SCL10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P10" Point="O" CheckNch="true" /> + <SDA10 Chip="RL78F13_80pin,R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" PIOR42="0" Port="P11" Point="O" CheckNch="true" /> + </IIC10> + </SAU1> + <IICA0> + <SCLA0 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" Port="P62" Point="I/O" /> + <SDAA0 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" Port="P63" Point="I/O" /> + </IICA0> + </Serial> + <TAU> + <TAU0> + <Channel0> + <TI00 Chip="RL78F13_30pin,RL78F13_32pin,,RL78F13_20pin" Port="P17" Point="I" /> + <TO00 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P17" Point="O" /> + </Channel0> + <Channel1> + <TI01 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P30" Point="I" /> + <TO01 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P30" Point="O" /> + </Channel1> + <Channel2> + <TI02 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P16" Point="I" /> + <TO02 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P16" Point="O" /> + </Channel2> + <Channel3> + <TI03 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P125" Point="I" /> + <TO03 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P125" Point="O" /> + </Channel3> + <Channel4> + <TI04 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P13" Point="I" /> + <TO04 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P13" Point="O" /> + </Channel4> + <Channel5> + <TI05 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P15" Point="I" /> + <TO05 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P15" Point="O" /> + </Channel5> + <Channel6> + <TI06 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P14" Point="I" /> + <TO06 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P14" Point="O" /> + </Channel6> + <Channel7> + <TI07 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P120" Point="I" /> + <TO07 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" Port="P120" Point="O" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <Channel0> + <TI10 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P41" Point="I" /> + <TO10 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P41" Point="O" /> + </Channel0> + <Channel1> + <TI11 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P12" Point="I" /> + <TO11 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P12" Point="O" /> + </Channel1> + <Channel2> + <TI12 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P11" Point="I" /> + <TO12 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P11" Point="O" /> + </Channel2> + <Channel3> + <TI13 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P10" Point="I" /> + <TO13 Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" Port="P10" Point="O" /> + </Channel3> + </TAU1> + <TMRJ0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin,RL78F13_30pin"> + <TRJIO0 Port="P41" Point="I/O" /> + <TRJO0 Port="P10" Point="O" /> + </TMRJ0> + <TMRD0> + <TRDCLK_P13_0 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_1" RealName="TRDCLK0" /> + <TRDIOA0_P13 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_0" RealName="TRDIOA0" /> + <TRDIOB0_P125 PIOR71="0" Port="P125" Point="I/O" RealName="TRDIOB0" /> + <TRDIOC0_P14 Port="P14" Point="I/O" RealName="TRDIOC0" /> + <TRDIOD0_P120 PIOR73="0" Port="P120" Point="I/O" RealName="TRDIOD0" /> + <TRDIOA1_P15_0 Port="P15" Point="I/O" UnConflict="TRDIOA1_P15" RealName="TRDIOA1" /> + <TRDIOB1_P17_0 Port="P17" Point="I/O" UnConflict="TRDIOB1_P17" RealName="TRDIOB1" /> + <TRDIOC1_P16_0 Port="P16" Point="I/O" UnConflict="TRDIOC1_P16" RealName="TRDIOC1" /> + <TRDIOD1_P30_0 Port="P30" Point="I/O" UnConflict="TRDIOD1_P30" RealName="TRDIOD1" /> + </TMRD0> + <TMRD1> + <TRDCLK_P13_1 PIOR70="0" Port="P13" Point="I/O" UnConflict="TRDCLK_P13_0,TRDIOA0_P13" RealName="TRDCLK0" /> + <TRDIOA1_P15 Port="P15" Point="I/O" UnConflict="TRDIOA1_P15_0" RealName="TRDIOA1" /> + <TRDIOB1_P17 Port="P17" Point="I/O" UnConflict="TRDIOB1_P17_0" RealName="TRDIOB1" /> + <TRDIOC1_P16 Port="P16" Point="I/O" UnConflict="TRDIOC1_P16_0" RealName="TRDIOC1" /> + <TRDIOD1_P30 Port="P30" Point="I/O" UnConflict="TRDIOD1_P30_0" RealName="TRDIOD1" /> + </TMRD1> + </TAU> + <RTC> + <RTC1HZ Port="P15" Point="O" /> + </RTC> + <LIN> + <LTxD0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin" PIOR44="0" Port="P13" Point="O" /> + <LRxD0 Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin" PIOR44="0" Port="P14" Point="I" /> + </LIN> + <CAN> + <CTxD0 Chip="R5F10BME,R5F10BMF,R5F10BMG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC" PIOR46="0" Port="P10" Point="O" /> + <CRxD0 Chip="R5F10BME,R5F10BMF,R5F10BMG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC" PIOR46="0" Port="P11" Point="I" /> + </CAN> + <Others> + <VDD AltFunc="VDD" Point="-" /> + <VSS AltFunc="VSS" Point="-" /> + <REGC AltFunc="REGC" Point="-" /> + <_RESET AltFunc="_RESET" RealName="_RESET" Point="I" /> + </Others> + </PIN> + <INT> + <CGC> + <INTCLM InUse="0" ISR="r_cgc_clockmonitor_interrupt" /> + <INTRAM InUse="0" ISR="r_cgc_ram_ecc_interrupt" /> + <INTSPM InUse="0" ISR="r_cgc_stackpointer_interrupt" /> + </CGC> + <INTC> + <INTP> + <INTP0 InUse="0" ISR="r_intc0_interrupt" /> + <INTP1 InUse="0" ISR="r_intc1_interrupt" /> + <INTP2 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" InUse="0" ISR="r_intc2_interrupt" /> + <INTP3 Chip="RL78F13_48pin,RL78F13_64pin,RL78F13_80pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" InUse="0" ISR="r_intc3_interrupt" /> + <INTP4 InUse="0" ISR="r_intc4_interrupt" /> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse="0" ISR="r_intc5_interrupt" /> + </INTP> + <KEY> + </KEY> + </INTC> + <Serial> + <SAU0> + <INTCSI00 InUse="0" ISR="r_csi00_interrupt" /> + <INTCSI01 InUse="0" ISR="r_csi01_interrupt" /> + <INTST0 InUse="0" ISR="r_uart0_interrupt_send" /> + <INTSR0 InUse="0" ISR="r_uart0_interrupt_receive" /> + <INTIIC00 InUse="0" ISR="r_iic00_interrupt" /> + <INTIIC01 InUse="0" ISR="r_iic01_interrupt" /> + </SAU0> + <SAU1> + <INTCSI10 InUse="0" ISR="r_csi10_interrupt" /> + <INTCSI11 InUse="0" ISR="r_csi11_interrupt" /> + <INTST1 InUse="0" ISR="r_uart1_interrupt_send" /> + <INTSR1 InUse="0" ISR="r_uart1_interrupt_receive" /> + <INTIIC10 InUse="0" ISR="r_iic10_interrupt" /> + <INTIIC11 InUse="0" ISR="r_iic11_interrupt" /> + </SAU1> + <IICA0> + <INTIICA0 InUse="0" ISR="r_iica0_interrupt" /> + </IICA0> + </Serial> + <ADC> + <INTAD InUse="1" ISR="r_adc_interrupt" IsDMATrigger="true" /> + </ADC> + <TAU> + <TAU0> + <Channel0> + <INTTM00 InUse="1" ISR="r_tau0_channel0_interrupt" /> + </Channel0> + <Channel1> + <INTTM01 InUse="1" ISR="r_tau0_channel1_interrupt" /> + <INTTM01H InUse="0" ISR="r_tau0_channel1_higher8bits_interrupt" /> + </Channel1> + <Channel2> + <INTTM02 InUse="0" ISR="r_tau0_channel2_interrupt" /> + </Channel2> + <Channel3> + <INTTM03 InUse="0" ISR="r_tau0_channel3_interrupt" /> + <INTTM03H InUse="0" ISR="r_tau0_channel3_higher8bits_interrupt" /> + </Channel3> + <Channel4> + <INTTM04 InUse="0" ISR="r_tau0_channel4_interrupt" /> + </Channel4> + <Channel5> + <INTTM05 InUse="0" ISR="r_tau0_channel5_interrupt" /> + </Channel5> + <Channel6> + <INTTM06 InUse="0" ISR="r_tau0_channel6_interrupt" /> + </Channel6> + <Channel7> + <INTTM07 InUse="0" ISR="r_tau0_channel7_interrupt" /> + </Channel7> + </TAU0> + <TAU1> + <Channel0> + <INTTM10 InUse="0" ISR="r_tau1_channel0_interrupt" /> + </Channel0> + <Channel1> + <INTTM11 InUse="0" ISR="r_tau1_channel1_interrupt" /> + <INTTM11H InUse="0" ISR="r_tau1_channel1_higher8bits_interrupt" /> + </Channel1> + <Channel2> + <INTTM12 InUse="0" ISR="r_tau1_channel2_interrupt" /> + </Channel2> + <Channel3> + <INTTM13 InUse="0" ISR="r_tau1_channel3_interrupt" /> + <INTTM13H InUse="0" ISR="r_tau1_channel3_higher8bits_interrupt" /> + </Channel3> + <Channel4> + <INTTM14 InUse="0" ISR="r_tau1_channel4_interrupt" /> + </Channel4> + <Channel5> + <INTTM15 InUse="0" ISR="r_tau1_channel5_interrupt" /> + </Channel5> + <Channel6> + <INTTM16 InUse="0" ISR="r_tau1_channel6_interrupt" /> + </Channel6> + <Channel7> + <INTTM17 InUse="0" ISR="r_tau1_channel7_interrupt" /> + </Channel7> + </TAU1> + <TMRJ0> + <INTTRJ0 InUse="0" ISR="r_tmr_rj0_interrupt" /> + </TMRJ0> + <TMRD0> + <INTTRD0 InUse="0" ISR="r_tmr_rd0_interrupt" /> + </TMRD0> + <TMRD1> + <INTTRD1 InUse="0" ISR="r_tmr_rd1_interrupt" /> + </TMRD1> + </TAU> + <RTC> + <INTRTC InUse="0" ISR="r_rtc_interrupt" /> + </RTC> + <WDT> + <INTWDTI InUse="0" ISR="r_wdt_interrupt" /> + </WDT> + <LVD> + <INTLVI InUse="0" ISR="r_lvd_interrupt" IsDMATrigger="true" /> + </LVD> + </INT> + <FUNC> + <Common> + <r_main.c UserName="r_main.c" LibName="main.c" IsLibrary="false" InUse="2"> + <Type main="void main(void)" R_MAIN_UserInit="void R_MAIN_UserInit(void)" /> + <main UserName="main" LibName="main" FixedName="" InUse="2" ForRTOS="false" Init="" /> + <R_MAIN_UserInit UserName="R_MAIN_UserInit" LibName="R_MAIN_UserInit" InUse="2" /> + </r_main.c> + <r_systeminit.c UserName="r_systeminit.c" LibName="systeminit.c" Compiler="CARL78,ICCRL78,CCRL" InUse="1"> + <Type systeminit="void R_Systeminit(void)" hdwinit="void hdwinit(void)" low_level_init="int __low_level_init(void)" inti_handler="void inti_handler(void)" idle_handler="void idle_handler(void)" /> + <R_Systeminit UserName="R_Systeminit" LibName="systeminit" InUse="1" Init="" /> + <hdwinit UserName="hdwinit" LibName="hdwinit" FixedName="" Compiler="CARL78,CCRL" InUse="1" Init="" /> + <__low_level_init UserName="" LibName="low_level_init" FixedName="" Compiler="ICCRL78" InUse="1" Init="" /> + </r_systeminit.c> + <r_hardware_setup.c UserName="" LibName="hardwaresetup.c" Compiler="GCCRL78" InUse="1"> + <Type systeminit="void R_Systeminit(void)" hardwaresetup="void HardwareSetup(void)" /> + <R_Systeminit UserName="" LibName="systeminit" InUse="1" Init="" /> + <HardwareSetup UserName="" LibName="hardwaresetup" FixedName="" InUse="1" Init="" /> + </r_hardware_setup.c> + <r_cg_vector_table.c UserName="" LibName="vectortable.c" Compiler="GCCRL78" InUse="1"> + <Type R_Dummy="void R_Dummy(void)" /> + <R_Dummy UserName="R_Dummy" LibName="R_Dummy" InUse="1" /> + </r_cg_vector_table.c> + <r_reset_program.asm UserName="" LibName="resetprogram.s" Compiler="GCCRL78" InUse="1" /> + <r_cg_interrupt_handlers.h UserName="" LibName="interrupthandlers.h" Compiler="GCCRL78" InUse="1" /> + <r_cg_macrodriver.h UserName="r_cg_macrodriver.h" LibName="macrodriver1.h" InUse="1" /> + <r_cg_userdefine.h UserName="r_cg_userdefine.h" LibName="userdefine.h" InUse="1" /> + <r_lk.dr UserName="" LibName="lk.dr" IsLibrary="false" Compiler="CARL78" InUse="1" /> + <r_mdlnk.xcl UserName="" LibName="md_lnk.xcl" Visible="false" IsLibrary="false" Compiler="ICCRL78" InUse="1" /> + <iodefine.head UserName="" LibName="iodefine.head" Visible="false" IsLibrary="false" Compiler="GCCRL78" InUse="1" /> + <iodefineext.head UserName="" LibName="iodefineext.head" Visible="false" IsLibrary="false" Compiler="GCCRL78" InUse="1" /> + <mdt.customdebuglinker UserName="" LibName="mdt.customdebuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.debuglinker UserName="" LibName="mdt.debuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.hardwaredebuglinker UserName="" LibName="mdt.hardwaredebuglinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.releaselinker UserName="" LibName="mdt.releaselinker" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.project UserName="" LibName="mdt.project" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.cproject UserName="" LibName="mdt.cproject" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <mdt.info UserName="" LibName="mdt.info" Visible="false" IsLibrary="false" Compiler="GCCRL78" ForAP="true" InUse="1" /> + <r_mdt.ipcf UserName="" LibName="mdt.ipcf" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.eww UserName="" LibName="mdt.eww" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.ewp UserName="" LibName="rl78mdt.ewp" Visible="false" IsLibrary="false" Compiler="ICCRL78" ForAP="true" InUse="1" /> + <r_mdt.txt UserName="r_mdt.txt" LibName="mdt.txt" Visible="false" IsLibrary="false" Compiler="CARL78,CCRL" ForAP="true" InUse="1" /> + </Common> + <CGC> + <r_cg_cgc.c UserName="r_cg_cgc.c" LibName=".c" InUse="1"> + <Type R_CGC_Create="void R_CGC_Create(void)" R_CGC_Set_ClockMode="MD_STATUS R_CGC_Set_ClockMode(enum ClockMode mode)" R_CGC_ClockMonitor_Start="void R_CGC_ClockMonitor_Start(void)" R_CGC_ClockMonitor_Stop="void R_CGC_ClockMonitor_Stop(void)" R_CGC_StackPointer_Start="void R_CGC_StackPointer_Start(void)" R_CGC_StackPointer_Stop="void R_CGC_StackPointer_Stop(void)" R_CGC_RAMECC_Start="void R_CGC_RAMECC_Start(void)" R_CGC_RAMECC_Stop="void R_CGC_RAMECC_Stop(void)" /> + <R_CGC_Create UserName="R_CGC_Create" LibName="R_CGC_Create" InUse="1" Init="1" InitMode="" /> + <R_CGC_Set_ClockMode UserName="R_CGC_Set_ClockMode" LibName="R_CGC_Set_ClockMode" InUse="0" /> + <R_CGC_ClockMonitor_Start UserName="R_CGC_ClockMonitor_Start" LibName="R_CGC_ClockMonitor_Start" InUse="0" /> + <R_CGC_ClockMonitor_Stop UserName="R_CGC_ClockMonitor_Stop" LibName="R_CGC_ClockMonitor_Stop" InUse="0" /> + <R_CGC_StackPointer_Start UserName="R_CGC_StackPointer_Start" LibName="R_CGC_StackPointer_Start" InUse="0" /> + <R_CGC_StackPointer_Stop UserName="R_CGC_StackPointer_Stop" LibName="R_CGC_StackPointer_Stop" InUse="0" /> + <R_CGC_RAMECC_Start UserName="R_CGC_RAMECC_Start" LibName="R_CGC_RAMECC_Start" InUse="0" /> + <R_CGC_RAMECC_Stop UserName="R_CGC_RAMECC_Stop" LibName="R_CGC_RAMECC_Stop" InUse="0" /> + </r_cg_cgc.c> + <r_cg_cgc_user.c UserName="r_cg_cgc_user.c" LibName="_user.c" InUse="1"> + <Type R_CGC_Get_ResetSource="void R_CGC_Get_ResetSource(void)" R_CGC_Create_UserInit="void R_CGC_Create_UserInit(void)" r_cgc_clockmonitor_interrupt="__interrupt static void r_cgc_clockmonitor_interrupt(void)" r_cgc_stackpointer_interrupt="__interrupt static void r_cgc_stackpointer_interrupt(void)" r_cgc_ram_ecc_interrupt="__interrupt static void r_cgc_ram_ecc_interrupt(void)" /> + <R_CGC_Create_UserInit UserName="R_CGC_Create_UserInit" LibName="R_CGC_Create_UserInit" InUse="0" /> + <R_CGC_Get_ResetSource UserName="R_CGC_Get_ResetSource" LibName="R_CGC_Get_ResetSource" Init="0" InUse="1" /> + <r_cgc_clockmonitor_interrupt UserName="r_cgc_clockmonitor_interrupt" INTHandle="" LibName="r_cgc_clockmonitor_interrupt" InUse="0" /> + <r_cgc_stackpointer_interrupt UserName="r_cgc_stackpointer_interrupt" INTHandle="" LibName="r_cgc_stackpointer_interrupt" InUse="0" /> + <r_cgc_ram_ecc_interrupt UserName="r_cgc_ram_ecc_interrupt" INTHandle="" LibName="r_cgc_ram_ecc_interrupt" InUse="0" /> + </r_cg_cgc_user.c> + <r_cg_cgc.h UserName="r_cg_cgc.h" LibName=".h" InUse="1" /> + <r_cg_pfdl.c UserName="r_cg_pfdl.c" LibName="_pfdl.c" InUse="1"> + <Type R_FDL_Create="void R_FDL_Create(void)" R_FDL_Write="pfdl_status_t R_FDL_Write(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount)" R_FDL_Read="pfdl_status_t R_FDL_Read(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount)" R_FDL_Erase="pfdl_status_t R_FDL_Erase(pfdl_u16 blockno)" R_FDL_Open="void R_FDL_Open(void)" R_FDL_Close="void PFDL_Close(void)" R_FDL_BlankCheck="pfdl_status_t R_FDL_BlankCheck(pfdl_u16 index, pfdl_u16 bytecount)" R_FDL_IVerify="pfdl_status_t R_FDL_IVerify(pfdl_u16 index, pfdl_u16 bytecount)" /> + <R_FDL_Create UserName="R_FDL_Create" LibName="R_FDL_Create" InUse="0" InitMode="" /> + <R_FDL_Write UserName="R_FDL_Write" LibName="R_FDL_Write" InUse="0" /> + <R_FDL_Read UserName="R_FDL_Read" LibName="R_FDL_Read" InUse="0" /> + <R_FDL_Erase UserName="R_FDL_Erase" LibName="R_FDL_Erase" InUse="0" /> + <R_FDL_Open UserName="R_FDL_Open" LibName="R_FDL_Open" InUse="0" /> + <R_FDL_Close UserName="R_FDL_Close" LibName="R_FDL_Close" InUse="0" /> + <R_FDL_BlankCheck UserName="R_FDL_BlankCheck" LibName="R_FDL_BlankCheck" InUse="0" /> + <R_FDL_IVerify UserName="R_FDL_IVerify" LibName="R_FDL_IVerify" InUse="0" /> + </r_cg_pfdl.c> + <r_cg_pfdl.h UserName="r_cg_pfdl.h" LibName="_pfdl.h" InUse="0" /> + </CGC> + <PORT> + <r_cg_port.c UserName="r_cg_port.c" LibName=".c" InUse="1"> + <Type R_PORT_Create="void R_PORT_Create(void)" /> + <R_PORT_Create UserName="R_PORT_Create" LibName="R_PORT_Create" Init="1" InitMode="" InUse="1" /> + </r_cg_port.c> + <r_cg_port_user.c UserName="r_cg_port_user.c" LibName="_user.c" InUse="1"> + <Type R_PORT_Create_UserInit="void R_PORT_Create_UserInit(void)" /> + <R_PORT_Create_UserInit UserName="R_PORT_Create_UserInit" LibName="R_PORT_Create_UserInit" InUse="0" /> + </r_cg_port_user.c> + <r_cg_port.h UserName="r_cg_port.h" LibName=".h" InUse="1" /> + </PORT> + <INTC> + <r_cg_intc.c UserName="r_cg_intc.c" LibName=".c" InUse=""> + <Type R_INTC_Create="void R_INTC_Create(void)" R_INTCn_Start="void R_INTCn_Start(void)" R_INTCn_Stop="void R_INTCn_Stop(void)" R_KEY_Create="void R_KEY_Create(void)" R_KEY_Start="void R_KEY_Start(void)" R_KEY_Stop="void R_KEY_Stop(void)" /> + <INTP> + <R_INTC_Create UserName="R_INTC_Create" LibName="R_INTC_Create" InUse="" Init="2" InitMode="" /> + <INTP0> + <R_INTC0_Start UserName="R_INTC0_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC0_Stop UserName="R_INTC0_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP0> + <INTP1> + <R_INTC1_Start UserName="R_INTC1_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC1_Stop UserName="R_INTC1_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP1> + <INTP2 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0"> + <R_INTC2_Start UserName="R_INTC2_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC2_Stop UserName="R_INTC2_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP2> + <INTP3 Chip="RL78F13_48pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0"> + <R_INTC3_Start UserName="R_INTC3_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC3_Stop UserName="R_INTC3_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP3> + <INTP4> + <R_INTC4_Start UserName="R_INTC4_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC4_Stop UserName="R_INTC4_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP4> + <INTP5 Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin"> + <R_INTC5_Start UserName="R_INTC5_Start" LibName="R_INTCn_Start" InUse="" /> + <R_INTC5_Stop UserName="R_INTC5_Stop" LibName="R_INTCn_Stop" InUse="" /> + </INTP5> + </INTP> + </r_cg_intc.c> + <r_cg_intc_user.c UserName="r_cg_intc_user.c" LibName="_user.c" InUse=""> + <Type R_INTC_Create_UserInit="void R_INTC_Create_UserInit(void)" r_intc0_interrupt="__interrupt static void r_intc0_interrupt(void)" r_intc1_interrupt="__interrupt static void r_intc1_interrupt(void)" r_intc2_interrupt="__interrupt static void r_intc2_interrupt(void)" r_intc3_interrupt="__interrupt static void r_intc3_interrupt(void)" r_intc4_interrupt="__interrupt static void r_intc4_interrupt(void)" r_intc5_interrupt="__interrupt static void r_intc5_interrupt(void)" r_intc6_interrupt="__interrupt static void r_intc6_interrupt(void)" r_intc7_interrupt="__interrupt static void r_intc7_interrupt(void)" r_intc8_interrupt="__interrupt static void r_intc8_interrupt(void)" r_intc9_interrupt="__interrupt static void r_intc9_interrupt(void)" r_intc10_interrupt="__interrupt static void r_intc10_interrupt(void)" r_intc11_interrupt="__interrupt static void r_intc11_interrupt(void)" R_KEY_Create_UserInit="void R_KEY_Create_UserInit(void)" r_key_interrupt="__interrupt static void r_key_interrupt(void)" /> + <INTP> + <R_INTC_Create_UserInit UserName="R_INTC_Create_UserInit" LibName="R_INTC_Create_UserInit" InUse="" /> + <r_intc0_interrupt UserName="r_intc0_interrupt" LibName="r_intc0_interrupt" INTHandle="" InUse="" /> + <r_intc1_interrupt UserName="r_intc1_interrupt" LibName="r_intc1_interrupt" INTHandle="" InUse="" /> + <r_intc2_interrupt Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR52="0" UserName="r_intc2_interrupt" LibName="r_intc2_interrupt" INTHandle="" InUse="" /> + <r_intc3_interrupt Chip="RL78F13_48pin,RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" PIOR53="0" UserName="r_intc3_interrupt" LibName="r_intc3_interrupt" INTHandle="" InUse="" /> + <r_intc4_interrupt UserName="r_intc4_interrupt" LibName="r_intc4_interrupt" INTHandle="" InUse="" /> + <r_intc5_interrupt Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" UserName="r_intc5_interrupt" LibName="r_intc5_interrupt" INTHandle="" InUse="" /> + </INTP> + </r_cg_intc_user.c> + <r_cg_intc.h UserName="r_cg_intc.h" LibName=".h" InUse="" /> + </INTC> + <Serial> + <r_cg_serial.c UserName="r_cg_serial.c" LibName=".c" InUse="0"> + <Type R_SAUn_Create="void R_SAUn_Create(void)" R_SAUn_Set_PowerOff="void R_SAUn_Set_PowerOff(void)" R_SAUn_Set_SnoozeOn="void R_SAUn_Set_SnoozeOn(void)" R_SAUn_Set_SnoozeOff="void R_SAUn_Set_SnoozeOff(void)" R_UARTn_Create="void R_UARTn_Create(void)" R_UARTn_Send="MD_STATUS R_UARTn_Send(uint8_t const * tx_buf, uint16_t tx_num)" R_UARTn_Receive="MD_STATUS R_UARTn_Receive(uint8_t const * rx_buf, uint16_t rx_num)" R_UARTn_Start="void R_UARTn_Start(void)" R_UARTn_Stop="void R_UARTn_Stop(void)" R_CSIn_Create="void R_CSIn_Create(void)" R_CSIn_Send="MD_STATUS R_CSIn_Send(uint8_t const * tx_buf, uint16_t tx_num)" R_CSIn_Receive="MD_STATUS R_CSIn_Receive(uint8_t const * rx_buf, uint16_t rx_num) " R_CSIn_Send_Receive="MD_STATUS R_CSIn_Send_Receive(uint8_t const * tx_buf, uint16_t tx_num, uint8_t const * rx_buf) " R_CSIn_Start="void R_CSIn_Start(void)" R_CSIn_Stop="void R_CSIn_Stop(void)" R_IICn_Create="void R_IICn_Create(void)" R_IICn_Master_Send="void R_IICn_Master_Send(uint8_t adr, uint8_t const * tx_buf, uint16_t txnum)" R_IICn_Master_Receive="void R_IICn_Master_Receive(uint8_t adr, uint8_t const * rx_buf, uint16_t rx_num) " R_IICn_Stop="void R_IICn_Stop(void)" R_IICn_StartCondition="void R_IICn_StartCondition(void)" R_IICn_StopCondition="void R_IICn_StopCondition(void)" R_UARTFn_Create="void R_UARTFn_Create(void)" R_UARTFn_Send="MD_STATUS R_UARTFn_Send(uint8_t * const tx_buf, uint16_t tx_num)" R_UARTFn_Receive="MD_STATUS R_UARTFn_Receive(uint8_t * const rx_buf, uint16_t rx_num)" R_UARTFn_Set_ComparisonData="void R_UARTFn_Set_ComparisonData(uint16_t com_data)" R_UARTFn_Set_DataComparisonOn="void R_UARTFn_Set_DataComparisonOn(void)" R_UARTFn_Set_DataComparisonOff="void R_UARTFn_Set_DataComparisonOff(void)" R_UARTFn_Set_PowerOff="void R_UARTFn_Set_PowerOff(void)" R_IICAn_Create="void R_IICAn_Create(void)" R_IICAn_Master_Send="MD_STATUS R_IICAn_Master_Send(uint8_t adr, uint8_t * const tx_buf, uint16_t tx_num, uint8_t wait)" R_IICAn_Master_Receive="MD_STATUS R_IICAn_Master_Receive(uint8_t adr, uint8_t * const rx_buf, uint16_t rx_num, uint8_t wait)" R_IICAn_Slave_Send="void R_IICAn_Slave_Send(uint8_t * const tx_buf, uint16_t tx_num)" R_IICAn_Slave_Receive="void R_IICAn_Slave_Receive(uint8_t * const rx_buf, uint16_t rx_num)" R_IICAn_Stop="void R_IICAn_Stop(void)" R_IICAn_StopCondition="void R_IICAn_StopCondition(void)" R_IICAn_Set_SnoozeOn="void R_IICAn_Set_SnoozeOn(void)" R_IICAn_Set_SnoozeOff="void R_IICAn_Set_SnoozeOff(void)" R_IICAn_Set_PowerOff="void R_IICAn_Set_PowerOff(void)" /> + <SAU0 InUse=""> + <R_SAU0_Create UserName="R_SAU0_Create" LibName="R_SAUn_Create" InUse="0" Init="1" InitMode="" /> + <R_SAU0_Set_PowerOff UserName="R_SAU0_Set_PowerOff" LibName="R_SAUn_Set_PowerOff" InUse="0" /> + <R_SAU0_Set_SnoozeOn UserName="R_SAU0_Set_SnoozeOn" LibName="R_SAUn_Set_SnoozeOn" InUse="0" /> + <R_SAU0_Set_SnoozeOff UserName="R_SAU0_Set_SnoozeOff" LibName="R_SAUn_Set_SnoozeOff" InUse="0" /> + <UART0 InUse=""> + <R_UART0_Create UserName="R_UART0_Create" LibName="R_UARTn_Create" InUse="0" InitMode="" /> + <R_UART0_Start UserName="R_UART0_Start" LibName="R_UARTn_Start" InUse="0" /> + <R_UART0_Stop UserName="R_UART0_Stop" LibName="R_UARTn_Stop" InUse="0" /> + <R_UART0_Send UserName="R_UART0_Send" LibName="R_UARTn_Send" InUse="0" /> + <R_UART0_Receive UserName="R_UART0_Receive" LibName="R_UARTn_Receive" InUse="0" /> + </UART0> + <CSI00 InUse=""> + <R_CSI00_Create UserName="R_CSI00_Create" LibName="R_CSIn_Create" InUse="0" InitMode="" /> + <R_CSI00_Start UserName="R_CSI00_Start" LibName="R_CSIn_Start" InUse="0" /> + <R_CSI00_Stop UserName="R_CSI00_Stop" LibName="R_CSIn_Stop" InUse="0" /> + <R_CSI00_Send UserName="R_CSI00_Send" LibName="R_CSIn_Send" InUse="0" /> + <R_CSI00_Receive UserName="R_CSI00_Receive" LibName="R_CSIn_Receive" InUse="0" /> + <R_CSI00_Send_Receive UserName="R_CSI00_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="0" /> + </CSI00> + <CSI01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <R_CSI01_Create UserName="R_CSI01_Create" LibName="R_CSIn_Create" InUse="0" InitMode="" /> + <R_CSI01_Start UserName="R_CSI01_Start" LibName="R_CSIn_Start" InUse="0" /> + <R_CSI01_Stop UserName="R_CSI01_Stop" LibName="R_CSIn_Stop" InUse="0" /> + <R_CSI01_Send UserName="R_CSI01_Send" LibName="R_CSIn_Send" InUse="0" /> + <R_CSI01_Receive UserName="R_CSI01_Receive" LibName="R_CSIn_Receive" InUse="0" /> + <R_CSI01_Send_Receive UserName="R_CSI01_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="0" /> + </CSI01> + <IIC00 InUse=""> + <R_IIC00_Create UserName="R_IIC00_Create" LibName="R_IICn_Create" InUse="0" InitMode="" /> + <R_IIC00_Master_Send UserName="R_IIC00_Master_Send" LibName="R_IICn_Master_Send" InUse="0" /> + <R_IIC00_Master_Receive UserName="R_IIC00_Master_Receive" LibName="R_IICn_Master_Receive" InUse="0" /> + <R_IIC00_Stop UserName="R_IIC00_Stop" LibName="R_IICn_Stop" InUse="0" /> + <R_IIC00_StartCondition UserName="R_IIC00_StartCondition" LibName="R_IICn_StartCondition" InUse="0" /> + <R_IIC00_StopCondition UserName="R_IIC00_StopCondition" LibName="R_IICn_StopCondition" InUse="0" /> + </IIC00> + <IIC01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <R_IIC01_Create UserName="R_IIC01_Create" LibName="R_IICn_Create" InUse="0" InitMode="" /> + <R_IIC01_Master_Send UserName="R_IIC01_Master_Send" LibName="R_IICn_Master_Send" InUse="0" /> + <R_IIC01_Master_Receive UserName="R_IIC01_Master_Receive" LibName="R_IICn_Master_Receive" InUse="0" /> + <R_IIC01_Stop UserName="R_IIC01_Stop" LibName="R_IICn_Stop" InUse="0" /> + <R_IIC01_StartCondition UserName="R_IIC01_StartCondition" LibName="R_IICn_StartCondition" InUse="0" /> + <R_IIC01_StopCondition UserName="R_IIC01_StopCondition" LibName="R_IICn_StopCondition" InUse="0" /> + </IIC01> + </SAU0> + <SAU1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_SAU1_Create UserName="R_SAU1_Create" LibName="R_SAUn_Create" InUse="" Init="1" InitMode="" /> + <R_SAU1_Set_PowerOff UserName="R_SAU1_Set_PowerOff" LibName="R_SAUn_Set_PowerOff" InUse="" /> + <UART1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_UART1_Create UserName="R_UART1_Create" LibName="R_UARTn_Create" InUse="" InitMode="" /> + <R_UART1_Start UserName="R_UART1_Start" LibName="R_UARTn_Start" InUse="" /> + <R_UART1_Stop UserName="R_UART1_Stop" LibName="R_UARTn_Stop" InUse="" /> + <R_UART1_Send UserName="R_UART1_Send" LibName="R_UARTn_Send" InUse="" /> + <R_UART1_Receive UserName="R_UART1_Receive" LibName="R_UARTn_Receive" InUse="" /> + </UART1> + <CSI10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <R_CSI10_Create UserName="R_CSI10_Create" LibName="R_CSIn_Create" InUse="" InitMode="" /> + <R_CSI10_Start UserName="R_CSI10_Start" LibName="R_CSIn_Start" InUse="" /> + <R_CSI10_Stop UserName="R_CSI10_Stop" LibName="R_CSIn_Stop" InUse="" /> + <R_CSI10_Send UserName="R_CSI10_Send" LibName="R_CSIn_Send" InUse="" /> + <R_CSI10_Receive UserName="R_CSI10_Receive" LibName="R_CSIn_Receive" InUse="" /> + <R_CSI10_Send_Receive UserName="R_CSI10_Send_Receive" LibName="R_CSIn_Send_Receive" InUse="" /> + </CSI10> + <IIC10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <R_IIC10_Create UserName="R_IIC10_Create" LibName="R_IICn_Create" InUse="" InitMode="" /> + <R_IIC10_Master_Send UserName="R_IIC10_Master_Send" LibName="R_IICn_Master_Send" InUse="" /> + <R_IIC10_Master_Receive UserName="R_IIC10_Master_Receive" LibName="R_IICn_Master_Receive" InUse="" /> + <R_IIC10_Stop UserName="R_IIC10_Stop" LibName="R_IICn_Stop" InUse="" /> + <R_IIC10_StartCondition UserName="R_IIC10_StartCondition" LibName="R_IICn_StartCondition" InUse="" /> + <R_IIC10_StopCondition UserName="R_IIC10_StopCondition" LibName="R_IICn_StopCondition" InUse="" /> + </IIC10> + </SAU1> + <IICA0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse=""> + <R_IICA0_Create UserName="R_IICA0_Create" LibName="R_IICAn_Create" InUse="" Init="1" InitMode="" /> + <R_IICA0_Master_Send UserName="R_IICA0_Master_Send" LibName="R_IICAn_Master_Send" InUse="" /> + <R_IICA0_Master_Receive UserName="R_IICA0_Master_Receive" LibName="R_IICAn_Master_Receive" InUse="" /> + <R_IICA0_Slave_Send UserName="R_IICA0_Slave_Send" LibName="R_IICAn_Slave_Send" InUse="" /> + <R_IICA0_Slave_Receive UserName="R_IICA0_Slave_Receive" LibName="R_IICAn_Slave_Receive" InUse="" /> + <R_IICA0_Stop UserName="R_IICA0_Stop" LibName="R_IICAn_Stop" InUse="" /> + <R_IICA0_StopCondition UserName="R_IICA0_StopCondition" LibName="R_IICAn_StopCondition" InUse="" /> + <R_IICA0_Set_SnoozeOn UserName="R_IICA0_Set_SnoozeOn" LibName="R_IICAn_Set_SnoozeOn" InUse="" /> + <R_IICA0_Set_SnoozeOff UserName="R_IICA0_Set_SnoozeOff" LibName="R_IICAn_Set_SnoozeOff" InUse="" /> + <R_IICA0_Set_PowerOff UserName="R_IICA0_Set_PowerOff" LibName="R_IICAn_Set_PowerOff" InUse="" /> + </IICA0> + </r_cg_serial.c> + <r_cg_serial_user.c UserName="r_cg_serial_user.c" LibName="_user.c" InUse="0"> + <Type R_SAUn_Create_UserInit="void R_SAUn_Create_UserInit(void)" r_uartn_interrupt_receive="__interrupt void r_uartn_interrupt_receive(void)" r_uartn_interrupt_error="__interrupt void r_uartn_interrupt_error(void)" r_uartn_interrupt_send="__interrupt void r_uartn_interrupt_send(void)" r_uartn_callback_sendend="void r_uartn_callback_sendend(void)" r_uartn_callback_receiveend="void r_uartn_callback_receiveend(void)" r_uartn_callback_error="void r_uartn_callback_error(uint16_t err_type)" r_uartn_callback_softwareoverrun="void r_uartn_callback_softwareoverrun(uint16_t err_type)" r_csin_interrupt="__interrupt void r_csin_interrupt(void)" r_csin_callback_receiveend="void r_csin_callback_receiveend(void)" r_csin_callback_error="void r_csin_callback_error(uint16_t err_type)" r_csin_callback_sendend="void r_csin_callback_sendend(void)" r_iicn_interrupt="__interrupt void r_iicn_interrupt(void)" r_iicn_callback_master_receiveend="void r_iicn_callback_master_receiveend(void)" r_iicn_callback_master_sendend="void r_iicn_callback_master_sendend(void)" r_iicn_callback_master_error="void r_iicn_callback_master_error(MD_STATUS flag)" R_UARTFn_Create_UserInit="void R_UARTFn_Create_UserInit(void)" r_uartfn_interrupt_receive="__interrupt static void r_uartfn_interrupt_receive(void)" r_uartfn_interrupt_error="__interrupt static void r_uartfn_interrupt_error(void)" r_uartfn_interrupt_send="__interrupt static void r_uartfn_interrupt_send(void)" r_uartfn_callback_receiveend="static void r_uartfn_callback_receiveend(void)" r_uartfn_callback_sendend="static void r_uartfn_callback_sendend(void)" r_uartfn_callback_error="static void r_uartfn_callback_error(void)" r_uartfn_callback_softwareoverrun="static void r_uartfn_callback_softwareoverrun(uint16_t rx_data)" r_uartfn_callback_expbitdetect="static void r_uartfn_callback_expbitdetect(void)" r_uartfn_callback_idmatch="static void r_uartfn_callback_idmatch(void)" R_IICAn_Create_UserInit="void R_IICAn_Create_UserInit(void)" r_iican_interrupt="__interrupt static r_iican_interrupt(void)" r_iican_callback_master_sendend="static void r_iican_callback_master_sendend(void)" r_iican_callback_master_receiveend="static void r_iican_callback_master_receiveend(void)" r_iican_callback_slave_sendend="static void r_iican_callback_slave_sendend(void)" r_iican_callback_slave_receiveend="static void r_iican_callback_slave_receiveend(void)" r_iican_callback_master_error="static void r_iican_callback_master_error(MD_STATUS flag)" r_iican_callback_slave_error="static void r_iican_callback_slave_error(MD_STATUS flag)" r_iican_callback_getstopcondition="static void r_iican_callback_getstopcondition(void)" /> + <SAU0 InUse=""> + <R_SAU0_Create_UserInit UserName="R_SAU0_Create_UserInit" LibName="R_SAUn_Create_UserInit" InUse="0" /> + <UART0 InUse=""> + <r_uart0_interrupt_receive UserName="r_uart0_interrupt_receive" INTHandle="" LibName="r_uartn_interrupt_receive" InUse="0" /> + <r_uart0_interrupt_send UserName="r_uart0_interrupt_send" INTHandle="" LibName="r_uartn_interrupt_send" InUse="0" /> + <r_uart0_callback_receiveend UserName="r_uart0_callback_receiveend" LibName="r_uartn_callback_receiveend" InUse="0" /> + <r_uart0_callback_sendend UserName="r_uart0_callback_sendend" LibName="r_uartn_callback_sendend" InUse="0" /> + <r_uart0_callback_error UserName="r_uart0_callback_error" LibName="r_uartn_callback_error" InUse="0" /> + <r_uart0_callback_softwareoverrun UserName="r_uart0_callback_softwareoverrun" LibName="r_uartn_callback_softwareoverrun" InUse="0" /> + </UART0> + <CSI00 InUse=""> + <r_csi00_interrupt UserName="r_csi00_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="0" /> + <r_csi00_callback_receiveend UserName="r_csi00_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="0" /> + <r_csi00_callback_error UserName="r_csi00_callback_error" LibName="r_csin_callback_error" InUse="0" /> + <r_csi00_callback_sendend UserName="r_csi00_callback_sendend" LibName="r_csin_callback_sendend" InUse="0" /> + </CSI00> + <CSI01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <r_csi01_interrupt UserName="r_csi01_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="0" /> + <r_csi01_callback_receiveend UserName="r_csi01_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="0" /> + <r_csi01_callback_error UserName="r_csi01_callback_error" LibName="r_csin_callback_error" InUse="0" /> + <r_csi01_callback_sendend UserName="r_csi01_callback_sendend" LibName="r_csin_callback_sendend" InUse="0" /> + </CSI01> + <IIC00 InUse=""> + <r_iic00_interrupt UserName="r_iic00_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="0" /> + <r_iic00_callback_master_receiveend UserName="r_iic00_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="0" /> + <r_iic00_callback_master_sendend UserName="r_iic00_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="0" /> + <r_iic00_callback_master_error UserName="r_iic00_callback_master_error" LibName="r_iicn_callback_master_error" InUse="0" /> + </IIC00> + <IIC01 InUse="" Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0"> + <r_iic01_interrupt UserName="r_iic01_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="0" /> + <r_iic01_callback_master_receiveend UserName="r_iic01_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="0" /> + <r_iic01_callback_master_sendend UserName="r_iic01_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="0" /> + <r_iic01_callback_master_error UserName="r_iic01_callback_master_error" LibName="r_iicn_callback_master_error" InUse="0" /> + </IIC01> + </SAU0> + <SAU1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" PIOR42="0" InUse=""> + <R_SAU1_Create_UserInit UserName="R_SAU1_Create_UserInit" LibName="R_SAUn_Create_UserInit" InUse="" /> + <UART1 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_uart1_interrupt_receive UserName="r_uart1_interrupt_receive" INTHandle="" LibName="r_uartn_interrupt_receive" InUse="" /> + <r_uart1_interrupt_send UserName="r_uart1_interrupt_send" INTHandle="" LibName="r_uartn_interrupt_send" InUse="" /> + <r_uart1_callback_receiveend UserName="r_uart1_callback_receiveend" LibName="r_uartn_callback_receiveend" InUse="" /> + <r_uart1_callback_sendend UserName="r_uart1_callback_sendend" LibName="r_uartn_callback_sendend" InUse="" /> + <r_uart1_callback_error UserName="r_uart1_callback_error" LibName="r_uartn_callback_error" InUse="" /> + <r_uart1_callback_softwareoverrun UserName="r_uart1_callback_softwareoverrun" LibName="r_uartn_callback_softwareoverrun" InUse="" /> + </UART1> + <CSI10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_csi10_interrupt UserName="r_csi10_interrupt" INTHandle="" LibName="r_csin_interrupt" InUse="" /> + <r_csi10_callback_receiveend UserName="r_csi10_callback_receiveend" LibName="r_csin_callback_receiveend" InUse="" /> + <r_csi10_callback_error UserName="r_csi10_callback_error" LibName="r_csin_callback_error" InUse="" /> + <r_csi10_callback_sendend UserName="r_csi10_callback_sendend" LibName="r_csin_callback_sendend" InUse="" /> + </CSI10> + <IIC10 Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" InUse=""> + <r_iic10_interrupt UserName="r_iic10_interrupt" INTHandle="" LibName="r_iicn_interrupt" InUse="" /> + <r_iic10_callback_master_receiveend UserName="r_iic10_callback_master_receiveend" LibName="r_iicn_callback_master_receiveend" InUse="" /> + <r_iic10_callback_master_sendend UserName="r_iic10_callback_master_sendend" LibName="r_iicn_callback_master_sendend" InUse="" /> + <r_iic10_callback_master_error UserName="r_iic10_callback_master_error" LibName="r_iicn_callback_master_error" InUse="" /> + </IIC10> + </SAU1> + <IICA0 Chip="RL78F13_32pin,RL78F13_48pin,RL78F13_64pin,RL78F13_80pin" InUse=""> + <R_IICA0_Create_UserInit UserName="R_IICA0_Create_UserInit" LibName="R_IICAn_Create_UserInit" InUse="" /> + <r_iica0_interrupt UserName="r_iica0_interrupt" INTHandle="" LibName="r_iican_interrupt" InUse="" /> + <r_iica0_callback_master_sendend UserName="r_iica0_callback_master_sendend" LibName="r_iican_callback_master_sendend" InUse="" /> + <r_iica0_callback_master_receiveend UserName="r_iica0_callback_master_receiveend" LibName="r_iican_callback_master_receiveend" InUse="" /> + <r_iica0_callback_slave_sendend UserName="r_iica0_callback_slave_sendend" LibName="r_iican_callback_slave_sendend" InUse="" /> + <r_iica0_callback_slave_receiveend UserName="r_iica0_callback_slave_receiveend" LibName="r_iican_callback_slave_receiveend" InUse="" /> + <r_iica0_callback_master_error UserName="r_iica0_callback_master_error" LibName="r_iican_callback_master_error" InUse="" /> + <r_iica0_callback_slave_error UserName="r_iica0_callback_slave_error" LibName="r_iican_callback_slave_error" InUse="" /> + <r_iica0_callback_getstopcondition UserName="r_iica0_callback_getstopcondition" LibName="r_iican_callback_getstopcondition" InUse="" /> + </IICA0> + </r_cg_serial_user.c> + <r_cg_serial.h UserName="r_cg_serial.h" LibName=".h" InUse="0" /> + </Serial> + <ADC> + <r_cg_adc.c UserName="r_cg_adc.c" LibName=".c" InUse="1"> + <Type R_ADC_Create="void R_ADC_Create(void)" R_ADC_Start="void R_ADC_Start(void)" R_ADC_Stop="void R_ADC_Stop(void)" R_ADC_Set_OperationOn="void R_ADC_Set_OperationOn(void)" R_ADC_Set_OperationOff="void R_ADC_Set_OperationOff(void)" R_ADC_Get_Result="void R_ADC_Get_Result(uint16_t * const buffer)" R_ADC_Get_Result_8bit="void R_ADC_Get_Result_8bit(uint8_t * const buffer)" R_ADC_Set_ADChannel="MD_STATUS R_ADC_Set_ADChannel(ad_channel_t channel)" R_ADC_Set_SnoozeOn="void R_ADC_Set_SnoozeOn(void)" R_ADC_Set_SnoozeOff="void R_ADC_Set_SnoozeOff(void)" R_ADC_Set_TestChannel="MD_STATUS R_ADC_Set_TestChannel(test_channel_t channel)" R_ADC_Set_PowerOff="void R_ADC_Set_PowerOff(void)" /> + <R_ADC_Create UserName="R_ADC_Create" LibName="R_ADC_Create" InUse="1" Init="1" InitMode="" /> + <R_ADC_Start UserName="R_ADC_Start" LibName="R_ADC_Start" InUse="1" /> + <R_ADC_Stop UserName="R_ADC_Stop" LibName="R_ADC_Stop" InUse="1" /> + <R_ADC_Set_OperationOn UserName="R_ADC_Set_OperationOn" LibName="R_ADC_Set_OperationOn" InUse="1" /> + <R_ADC_Set_OperationOff UserName="R_ADC_Set_OperationOff" LibName="R_ADC_Set_OperationOff" InUse="1" /> + <R_ADC_Get_Result UserName="R_ADC_Get_Result" LibName="R_ADC_Get_Result" InUse="1" /> + <R_ADC_Get_Result_8bit UserName="R_ADC_Get_Result_8bit" LibName="R_ADC_Get_Result_8bit" InUse="0" /> + <R_ADC_Set_ADChannel UserName="R_ADC_Set_ADChannel" LibName="R_ADC_Set_ADChannel" InUse="0" /> + <R_ADC_Set_SnoozeOn UserName="R_ADC_Set_SnoozeOn" LibName="R_ADC_Set_SnoozeOn" InUse="0" /> + <R_ADC_Set_SnoozeOff UserName="R_ADC_Set_SnoozeOff" LibName="R_ADC_Set_SnoozeOff" InUse="0" /> + <R_ADC_Set_TestChannel UserName="R_ADC_Set_TestChannel" LibName="R_ADC_Set_TestChannel" InUse="0" /> + <R_ADC_Set_PowerOff UserName="R_ADC_Set_PowerOff" LibName="R_ADC_Set_PowerOff" InUse="0" /> + </r_cg_adc.c> + <r_cg_adc_user.c UserName="r_cg_adc_user.c" LibName="_user.c" InUse="1"> + <Type R_ADC_Create_UserInit="void R_ADC_Create_UserInit(void)" r_adc_interrupt="__interrupt static void r_adc_interrupt(void)" /> + <R_ADC_Create_UserInit UserName="R_ADC_Create_UserInit" LibName="R_ADC_Create_UserInit" InUse="0" /> + <r_adc_interrupt UserName="r_adc_interrupt" INTHandle="" LibName="r_adc_interrupt" InUse="1" /> + </r_cg_adc_user.c> + <r_cg_adc.h UserName="r_cg_adc.h" LibName=".h" InUse="1" /> + </ADC> + <TAU> + <r_cg_timer.c UserName="r_cg_timer.c" LibName=".c" InUse="1"> + <Type R_TAU_Create="void R_TAU_Create(void)" R_TAU_Set_PowerOff="void R_TAU_Set_PowerOff(void)" R_TAU_Channeln_Start="void R_TAU_Channeln_Start(void)" R_TAU_Channeln_Higher8bits_Start="void R_TAU_Channeln_Higher8bits_Start(void)" R_TAU_Channeln_Lower8bits_Start="void R_TAU_Channeln_Lower8bits_Start(void)" R_TAU_Channeln_Stop="void R_TAU_Channeln_Stop(void)" R_TAU_Channeln_Higher8bits_Stop="void R_TAU_Channeln_Higher8bits_Stop(void)" R_TAU_Channeln_Lower8bits_Stop="void R_TAU_Channeln_Lower8bits_Stop(void)" R_TAU_Channeln_Get_PulseWidth="void R_TAU_Channeln_Get_PulseWidth(uint32_t * const width)" R_TAU_Channeln_Set_SoftwareTriggerOn="void R_TAU_Channeln_Set_SoftwareTriggerOn(void)" R_WUTM_Create="void R_WUTM_Create(void)" R_WUTM_Start="void R_WUTM_Start(void)" R_WUTM_Stop="void R_WUTM_Stop(void)" R_WUTM_Set_PowerOff="void R_WUTM_Set_PowerOff(void)" /> + <TAU0> + <R_TAU0_Create UserName="R_TAU0_Create" LibName="R_TAU_Create" InUse="1" Init="1" InitMode="" /> + <R_TAU0_Set_PowerOff UserName="R_TAU0_Set_PowerOff" LibName="R_TAU_Set_PowerOff" InUse="0" /> + <Channel0 InUse=""> + <R_TAU0_Channel0_Start UserName="R_TAU0_Channel0_Start" LibName="R_TAU_Channeln_Start" InUse="1" /> + <R_TAU0_Channel0_Stop UserName="R_TAU0_Channel0_Stop" LibName="R_TAU_Channeln_Stop" InUse="1" /> + <R_TAU0_Channel0_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,,RL78F13_20pin" UserName="R_TAU0_Channel0_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel0_Set_SoftwareTriggerOn UserName="R_TAU0_Channel0_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel0> + <Channel1 InUse=""> + <R_TAU0_Channel1_Start UserName="R_TAU0_Channel1_Start" LibName="R_TAU_Channeln_Start" InUse="1" /> + <R_TAU0_Channel1_Higher8bits_Start UserName="R_TAU0_Channel1_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="0" /> + <R_TAU0_Channel1_Lower8bits_Start UserName="R_TAU0_Channel1_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="0" /> + <R_TAU0_Channel1_Stop UserName="R_TAU0_Channel1_Stop" LibName="R_TAU_Channeln_Stop" InUse="1" /> + <R_TAU0_Channel1_Higher8bits_Stop UserName="R_TAU0_Channel1_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="0" /> + <R_TAU0_Channel1_Lower8bits_Stop UserName="R_TAU0_Channel1_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="0" /> + <R_TAU0_Channel1_Get_PulseWidth UserName="R_TAU0_Channel1_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel1> + <Channel2 InUse=""> + <R_TAU0_Channel2_Start UserName="R_TAU0_Channel2_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel2_Stop UserName="R_TAU0_Channel2_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel2_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel2_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel2_Set_SoftwareTriggerOn UserName="R_TAU0_Channel2_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel2> + <Channel3 InUse=""> + <R_TAU0_Channel3_Start UserName="R_TAU0_Channel3_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel3_Higher8bits_Start UserName="R_TAU0_Channel3_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="0" /> + <R_TAU0_Channel3_Lower8bits_Start UserName="R_TAU0_Channel3_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="0" /> + <R_TAU0_Channel3_Stop UserName="R_TAU0_Channel3_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel3_Higher8bits_Stop UserName="R_TAU0_Channel3_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="0" /> + <R_TAU0_Channel3_Lower8bits_Stop UserName="R_TAU0_Channel3_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="0" /> + <R_TAU0_Channel3_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel3_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel3> + <Channel4 InUse=""> + <R_TAU0_Channel4_Start UserName="R_TAU0_Channel4_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel4_Stop UserName="R_TAU0_Channel4_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel4_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin,RL78F13_80pin" UserName="R_TAU0_Channel4_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel4_Set_SoftwareTriggerOn UserName="R_TAU0_Channel4_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel4> + <Channel5 InUse=""> + <R_TAU0_Channel5_Start UserName="R_TAU0_Channel5_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel5_Stop UserName="R_TAU0_Channel5_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel5_Get_PulseWidth Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin" UserName="R_TAU0_Channel5_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel5> + <Channel6 InUse=""> + <R_TAU0_Channel6_Start UserName="R_TAU0_Channel6_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel6_Stop UserName="R_TAU0_Channel6_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel6_Get_PulseWidth UserName="R_TAU0_Channel6_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + <R_TAU0_Channel6_Set_SoftwareTriggerOn Chip="RL78F13_30pin,RL78F13_32pin,RL78F13_20pin,RL78F13_80pin" UserName="R_TAU0_Channel6_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="0" /> + </Channel6> + <Channel7 InUse=""> + <R_TAU0_Channel7_Start UserName="R_TAU0_Channel7_Start" LibName="R_TAU_Channeln_Start" InUse="0" /> + <R_TAU0_Channel7_Stop UserName="R_TAU0_Channel7_Stop" LibName="R_TAU_Channeln_Stop" InUse="0" /> + <R_TAU0_Channel7_Get_PulseWidth UserName="R_TAU0_Channel7_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="0" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <R_TAU1_Create UserName="R_TAU1_Create" LibName="R_TAU_Create" InUse="" Init="1" InitMode="" /> + <R_TAU1_Set_PowerOff UserName="R_TAU1_Set_PowerOff" LibName="R_TAU_Set_PowerOff" InUse="" /> + <Channel0 InUse=""> + <R_TAU1_Channel0_Start UserName="R_TAU1_Channel0_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel0_Stop UserName="R_TAU1_Channel0_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel0_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel0_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + <R_TAU1_Channel0_Set_SoftwareTriggerOn UserName="R_TAU1_Channel0_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="" /> + </Channel0> + <Channel1 InUse=""> + <R_TAU1_Channel1_Start UserName="R_TAU1_Channel1_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel1_Higher8bits_Start UserName="R_TAU1_Channel1_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="" /> + <R_TAU1_Channel1_Lower8bits_Start UserName="R_TAU1_Channel1_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="" /> + <R_TAU1_Channel1_Stop UserName="R_TAU1_Channel1_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel1_Higher8bits_Stop UserName="R_TAU1_Channel1_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="" /> + <R_TAU1_Channel1_Lower8bits_Stop UserName="R_TAU1_Channel1_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="" /> + <R_TAU1_Channel1_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel1_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + </Channel1> + <Channel2 InUse=""> + <R_TAU1_Channel2_Start UserName="R_TAU1_Channel2_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel2_Stop UserName="R_TAU1_Channel2_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel2_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel2_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + <R_TAU1_Channel2_Set_SoftwareTriggerOn UserName="R_TAU1_Channel2_Set_SoftwareTriggerOn" LibName="R_TAU_Channeln_Set_SoftwareTriggerOn" InUse="" /> + </Channel2> + <Channel3 InUse=""> + <R_TAU1_Channel3_Start UserName="R_TAU1_Channel3_Start" LibName="R_TAU_Channeln_Start" InUse="" /> + <R_TAU1_Channel3_Higher8bits_Start UserName="R_TAU1_Channel3_Higher8bits_Start" LibName="R_TAU_Channeln_Higher8bits_Start" InUse="" /> + <R_TAU1_Channel3_Lower8bits_Start UserName="R_TAU1_Channel3_Lower8bits_Start" LibName="R_TAU_Channeln_Lower8bits_Start" InUse="" /> + <R_TAU1_Channel3_Stop UserName="R_TAU1_Channel3_Stop" LibName="R_TAU_Channeln_Stop" InUse="" /> + <R_TAU1_Channel3_Higher8bits_Stop UserName="R_TAU1_Channel3_Higher8bits_Stop" LibName="R_TAU_Channeln_Higher8bits_Stop" InUse="" /> + <R_TAU1_Channel3_Lower8bits_Stop UserName="R_TAU1_Channel3_Lower8bits_Stop" LibName="R_TAU_Channeln_Lower8bits_Stop" InUse="" /> + <R_TAU1_Channel3_Get_PulseWidth Chip="R5F10ALF,R5F10ALG,R5F10AGF,R5F10AGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BAC,R5F10BAD,R5F10BAE,R5F10BAF,R5F10BAG" UserName="R_TAU1_Channel3_Get_PulseWidth" LibName="R_TAU_Channeln_Get_PulseWidth" InUse="" /> + </Channel3> + </TAU1> + <TMRJ0 InUse=""> + <R_TMR_RJ0_Create UserName="R_TMR_RJ0_Create" LibName="R_TMR_RJn_Create" InUse="0" Init="2" InitMode="" /> + <R_TMR_RJ0_Start UserName="R_TMR_RJ0_Start" LibName="R_TMR_RJn_Start" InUse="0" /> + <R_TMR_RJ0_Stop UserName="R_TMR_RJ0_Stop" LibName="R_TMR_RJn_Stop" InUse="0" /> + <R_TMR_RJ0_Get_PulseWidth Chip="RL78F13_80pin,RL78F13_64pin,RL78F13_48pin,RL78F13_32pin,RL78F13_30pin" UserName="R_TMR_RJ0_Get_PulseWidth" LibName="R_TMR_RJn_Get_PulseWidth" InUse="0" /> + <R_TMR_RJ0_Set_PowerOff UserName="R_TMR_RJ0_Set_PowerOff" LibName="R_TMR_RJn_Set_PowerOff" InUse="0" /> + </TMRJ0> + <TMRD0 InUse=""> + <R_TMR_RD0_Create UserName="R_TMR_RD0_Create" LibName="R_TMR_RDn_Create" InUse="1" Init="2" InitMode="" /> + <R_TMR_RD0_Start UserName="R_TMR_RD0_Start" LibName="R_TMR_RDn_Start" InUse="1" /> + <R_TMR_RD0_Stop UserName="R_TMR_RD0_Stop" LibName="R_TMR_RDn_Stop" InUse="1" /> + <R_TMR_RD0_Get_PulseWidth UserName="R_TMR_RD0_Get_PulseWidth" LibName="R_TMR_RDn_Get_PulseWidth" InUse="0" /> + <R_TMR_RD0_Set_PowerOff UserName="R_TMR_RD0_Set_PowerOff" LibName="R_TMR_RDn_Set_PowerOff" InUse="0" /> + <R_TMR_RD0_ForcedOutput_Start UserName="R_TMR_RD0_ForcedOutput_Start" LibName="R_TMR_RDn_ForcedOutput_Start" InUse="0" /> + <R_TMR_RD0_ForcedOutput_Stop UserName="R_TMR_RD0_ForcedOutput_Stop" LibName="R_TMR_RDn_ForcedOutput_Stop" InUse="0" /> + </TMRD0> + <TMRD1 InUse=""> + <R_TMR_RD1_Create UserName="R_TMR_RD1_Create" LibName="R_TMR_RDn_Create" InUse="1" Init="2" InitMode="" /> + <R_TMR_RD1_Start UserName="R_TMR_RD1_Start" LibName="R_TMR_RDn_Start" InUse="1" /> + <R_TMR_RD1_Stop UserName="R_TMR_RD1_Stop" LibName="R_TMR_RDn_Stop" InUse="1" /> + <R_TMR_RD1_Get_PulseWidth UserName="R_TMR_RD1_Get_PulseWidth" LibName="R_TMR_RDn_Get_PulseWidth" InUse="0" /> + <R_TMR_RD1_Set_PowerOff UserName="R_TMR_RD1_Set_PowerOff" LibName="R_TMR_RDn_Set_PowerOff" InUse="0" /> + <R_TMR_RD1_ForcedOutput_Start UserName="R_TMR_RD1_ForcedOutput_Start" LibName="R_TMR_RDn_ForcedOutput_Start" InUse="0" /> + <R_TMR_RD1_ForcedOutput_Stop UserName="R_TMR_RD1_ForcedOutput_Stop" LibName="R_TMR_RDn_ForcedOutput_Stop" InUse="0" /> + </TMRD1> + </r_cg_timer.c> + <r_cg_timer_user.c UserName="r_cg_timer_user.c" LibName="_user.c" InUse="1"> + <Type R_TAU_Create_UserInit="void R_TAUn_Create_UserInit(void)" r_tau_channeln_interrupt="__interrupt static void r_tau_channeln_interrupt(void)" r_tau_channeln_higher8bits_interrupt="__interrupt static void r_tau_channeln_higher8bits_interrupt(void)" R_WUTM_Create_UserInit="void R_WUTM_Create_UserInit(void)" r_wutm_interrupt="__interrupt static void r_wutm_interrupt(void)" /> + <TAU0> + <R_TAU0_Create_UserInit UserName="R_TAU0_Create_UserInit" LibName="R_TAU_Create_UserInit" InUse="0" /> + <Channel0 InUse=""> + <r_tau0_channel0_interrupt UserName="r_tau0_channel0_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="1" /> + </Channel0> + <Channel1 InUse=""> + <r_tau0_channel1_interrupt UserName="r_tau0_channel1_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="1" /> + <r_tau0_channel1_higher8bits_interrupt UserName="r_tau0_channel1_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="0" /> + </Channel1> + <Channel2 InUse=""> + <r_tau0_channel2_interrupt UserName="r_tau0_channel2_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel2> + <Channel3 InUse=""> + <r_tau0_channel3_interrupt UserName="r_tau0_channel3_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + <r_tau0_channel3_higher8bits_interrupt UserName="r_tau0_channel3_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="0" /> + </Channel3> + <Channel4 InUse=""> + <r_tau0_channel4_interrupt UserName="r_tau0_channel4_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel4> + <Channel5 InUse=""> + <r_tau0_channel5_interrupt UserName="r_tau0_channel5_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel5> + <Channel6 InUse=""> + <r_tau0_channel6_interrupt UserName="r_tau0_channel6_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel6> + <Channel7 InUse=""> + <r_tau0_channel7_interrupt UserName="r_tau0_channel7_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="0" /> + </Channel7> + </TAU0> + <TAU1 Chip="groupb,groupc1,groupc2"> + <R_TAU1_Create_UserInit UserName="R_TAU1_Create_UserInit" LibName="R_TAU_Create_UserInit" InUse="" /> + <Channel0 InUse=""> + <r_tau1_channel0_interrupt UserName="r_tau1_channel0_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + </Channel0> + <Channel1 InUse=""> + <r_tau1_channel1_interrupt UserName="r_tau1_channel1_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + <r_tau1_channel1_higher8bits_interrupt UserName="r_tau1_channel1_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="" /> + </Channel1> + <Channel2 InUse=""> + <r_tau1_channel2_interrupt UserName="r_tau1_channel2_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + </Channel2> + <Channel3 InUse=""> + <r_tau1_channel3_interrupt UserName="r_tau1_channel3_interrupt" INTHandle="" LibName="r_tau_channeln_interrupt" InUse="" /> + <r_tau1_channel3_higher8bits_interrupt UserName="r_tau1_channel3_higher8bits_interrupt" INTHandle="" LibName="r_tau_channeln_higher8bits_interrupt" InUse="" /> + </Channel3> + </TAU1> + <TMRJ0 InUse=""> + <R_TMR_RJ0_Create_UserInit UserName="R_TMR_RJ0_Create_UserInit" LibName="R_TMR_RJn_Create_UserInit" InUse="0" /> + <r_tmr_rj0_interrupt UserName="r_tmr_rj0_interrupt" LibName="r_tmr_rjn_interrupt" INTHandle="" InUse="0" /> + </TMRJ0> + <TMRD0 InUse=""> + <R_TMR_RD0_Create_UserInit UserName="R_TMR_RD0_Create_UserInit" LibName="R_TMR_RDn_Create_UserInit" InUse="0" /> + <r_tmr_rd0_interrupt UserName="r_tmr_rd0_interrupt" LibName="r_tmr_rdn_interrupt" INTHandle="" InUse="0" /> + </TMRD0> + <TMRD1 InUse=""> + <R_TMR_RD1_Create_UserInit UserName="R_TMR_RD1_Create_UserInit" LibName="R_TMR_RDn_Create_UserInit" InUse="0" /> + <r_tmr_rd1_interrupt UserName="r_tmr_rd1_interrupt" LibName="r_tmr_rdn_interrupt" INTHandle="" InUse="0" /> + </TMRD1> + </r_cg_timer_user.c> + <r_cg_timer.h UserName="r_cg_timer.h" LibName=".h" InUse="1" /> + </TAU> + <WDT> + <r_cg_wdt.c UserName="r_cg_wdt.c" LibName=".c" InUse="0"> + <Type R_WDT_Create="void R_WDT_Create(void)" R_WDT_Restart="void R_WDT_Restart(void)" /> + <R_WDT_Create UserName="R_WDT_Create" LibName="R_WDT_Create" InUse="0" Init="1" InitMode="" /> + <R_WDT_Restart UserName="R_WDT_Restart" LibName="R_WDT_Restart" InUse="0" /> + </r_cg_wdt.c> + <r_cg_wdt_user.c UserName="r_cg_wdt_user.c" LibName="_user.c" InUse="0"> + <Type R_WDT_Create_UserInit="void R_WDT_Create_UserInit(void)" r_wdt_interrupt="__interrupt static void r_wdt_interrupt(void)" /> + <R_WDT_Create_UserInit UserName="R_WDT_Create_UserInit" LibName="R_WDT_Create_UserInit" InUse="0" /> + <r_wdt_interrupt UserName="r_wdt_interrupt" INTHandle="" LibName="r_wdt_interrupt" InUse="0" /> + </r_cg_wdt_user.c> + <r_cg_wdt.h UserName="r_cg_wdt.h" LibName=".h" InUse="0" /> + </WDT> + <RTC> + <r_cg_rtc.c UserName="r_cg_rtc.c" LibName=".c" InUse="0"> + <Type R_RTC_Create="void R_RTC_Create(void)" R_RTC_Start="void R_RTC_Start(void)" R_RTC_Stop="void R_RTC_Stop(void)" R_RTC_Set_HourSystem="MD_STATUS R_RTC_SetHourSystem(rtc_hour_system_t hour_system)" R_RTC_Get_CounterValue="MD_STATUS R_RTC_Get_CounterValue(rtc_counter_value_t * const counter_read_val)" R_RTC_Set_CounterValue="MD_STATUS R_RTC_Set_CounterValue(rtc_counter_value_t counter_write_val)" R_RTC_Set_AlarmOn="void R_RTC_Set_AlarmOn(void)" R_RTC_Set_AlarmOff="void R_RTC_Set_AlarmOff(void)" R_RTC_Set_AlarmValue="void R_RTC_Set_AlarmValue(rtc_alarm_value_t alarm_val)" R_RTC_Get_AlarmValue="void R_RTC_Get_AlarmValue(rtc_alarm_value_t * const alarm_val)" R_RTC_Set_ConstPeriodInterruptOn="MD_STATUS R_RTC_Set_ConstPeriodInterruptOn(rtc_int_period_t period)" R_RTC_Set_ConstPeriodInterruptOff="void R_RTC_Set_ConstPeriodInterruptOff(void)" R_RTC_Set_RTC1HZOn="void R_RTC_Set_RTC1HZOn(void)" R_RTC_Set_RTC1HZOff="void R_RTC_Set_RTC1HZOff(void)" R_RTC_Set_PowerOff="void R_RTC_Set_PowerOff(void)" /> + <R_RTC_Create UserName="R_RTC_Create" LibName="R_RTC_Create" InUse="0" Init="1" InitMode="" /> + <R_RTC_Start UserName="R_RTC_Start" LibName="R_RTC_Start" InUse="0" /> + <R_RTC_Stop UserName="R_RTC_Stop" LibName="R_RTC_Stop" InUse="0" /> + <R_RTC_Set_HourSystem UserName="R_RTC_Set_HourSystem" LibName="R_RTC_Set_HourSystem" InUse="0" /> + <R_RTC_Get_CounterValue UserName="R_RTC_Get_CounterValue" LibName="R_RTC_Get_CounterValue" InUse="0" /> + <R_RTC_Set_CounterValue UserName="R_RTC_Set_CounterValue" LibName="R_RTC_Set_CounterValue" InUse="0" /> + <R_RTC_Set_AlarmOn UserName="R_RTC_Set_AlarmOn" LibName="R_RTC_Set_AlarmOn" InUse="0" /> + <R_RTC_Set_AlarmOff UserName="R_RTC_Set_AlarmOff" LibName="R_RTC_Set_AlarmOff" InUse="0" /> + <R_RTC_Set_AlarmValue UserName="R_RTC_Set_AlarmValue" LibName="R_RTC_Set_AlarmValue" InUse="0" /> + <R_RTC_Get_AlarmValue UserName="R_RTC_Get_AlarmValue" LibName="R_RTC_Get_AlarmValue" InUse="0" /> + <R_RTC_Set_ConstPeriodInterruptOn UserName="R_RTC_Set_ConstPeriodInterruptOn" LibName="R_RTC_Set_ConstPeriodInterruptOn" InUse="0" /> + <R_RTC_Set_ConstPeriodInterruptOff UserName="R_RTC_Set_ConstPeriodInterruptOff" LibName="R_RTC_Set_ConstPeriodInterruptOff" InUse="0" /> + <R_RTC_Set_RTC1HZOn UserName="R_RTC_Set_RTC1HZOn" LibName="R_RTC_Set_RTC1HZOn" InUse="0" /> + <R_RTC_Set_RTC1HZOff UserName="R_RTC_Set_RTC1HZOff" LibName="R_RTC_Set_RTC1HZOff" InUse="0" /> + <R_RTC_Set_PowerOff UserName="R_RTC_Set_PowerOff" LibName="R_RTC_Set_PowerOff" InUse="0" /> + </r_cg_rtc.c> + <r_cg_rtc_user.c UserName="r_cg_rtc_user.c" LibName="_user.c" InUse="0"> + <Type R_RTC_Create_UserInit="void R_RTC_Create_UserInit(void)" r_rtc_interrupt="__interrupt static void r_rtc_interrupt(void)" r_rtc_callback_constperiod="static void r_rtc_callback_constperiod(void)" r_rtc_callback_alarm="static void r_rtc_callback_alarm(void)" /> + <R_RTC_Create_UserInit UserName="R_RTC_Create_UserInit" LibName="R_RTC_Create_UserInit" InUse="0" /> + <r_rtc_interrupt UserName="r_rtc_interrupt" INTHandle="" LibName="r_rtc_interrupt" InUse="0" /> + <r_rtc_callback_constperiod UserName="r_rtc_callback_constperiod" LibName="r_rtc_callback_constperiod" InUse="0" /> + <r_rtc_callback_alarm UserName="r_rtc_callback_alarm" LibName="r_rtc_callback_alarm" InUse="0" /> + </r_cg_rtc_user.c> + <r_cg_rtc.h UserName="r_cg_rtc.h" LibName=".h" InUse="0" /> + </RTC> + <DTC InUse=""> + <r_cg_dtc.c UserName="r_cg_dtc.c" LibName=".c" InUse=""> + <Type R_DTC_Create="void R_DTC_Create(void)" R_DTCDn_Start="void R_DTCDn_Start(void)" R_DTCDn_Stop="void R_DTCDn_Stop(void)" R_DTC_Set_PowerOff="void R_DTC_Set_PowerOff(void)" /> + <R_DTC_Create UserName="R_DTC_Create" LibName="R_DTC_Create" InUse="" Init="2" InitMode="" /> + <DTCD0> + <R_DTCD0_Start LibName="R_DTCDn_Start" InUse="" Visible="False" /> + <R_DTCD0_Stop LibName="R_DTCDn_Stop" InUse="" Visible="False" /> + </DTCD0> + <DTCD1> + <R_DTCD1_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD1_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD1> + <DTCD2> + <R_DTCD2_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD2_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD2> + <DTCD3> + <R_DTCD3_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD3_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD3> + <DTCD4> + <R_DTCD4_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD4_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD4> + <DTCD5> + <R_DTCD5_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD5_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD5> + <DTCD6> + <R_DTCD6_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD6_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD6> + <DTCD7> + <R_DTCD7_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD7_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD7> + <DTCD8> + <R_DTCD8_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD8_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD8> + <DTCD9> + <R_DTCD9_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD9_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD9> + <DTCD10> + <R_DTCD10_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD10_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD10> + <DTCD11> + <R_DTCD11_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD11_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD11> + <DTCD12> + <R_DTCD12_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD12_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD12> + <DTCD13> + <R_DTCD13_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD13_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD13> + <DTCD14> + <R_DTCD14_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD14_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD14> + <DTCD15> + <R_DTCD15_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD15_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD15> + <DTCD16> + <R_DTCD16_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD16_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD16> + <DTCD17> + <R_DTCD17_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD17_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD17> + <DTCD18> + <R_DTCD18_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD18_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD18> + <DTCD19> + <R_DTCD19_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD19_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD19> + <DTCD20> + <R_DTCD20_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD20_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD20> + <DTCD21> + <R_DTCD21_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD21_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD21> + <DTCD22> + <R_DTCD22_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD22_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD22> + <DTCD23> + <R_DTCD23_Start LibName="R_DTCDn_Start" InUse="" Visible="false" /> + <R_DTCD23_Stop LibName="R_DTCDn_Stop" InUse="" Visible="false" /> + </DTCD23> + <DTCH0> + <R_DTCH0_Start LibName="R_DTCHn_Start" InUse="" Visible="false" /> + <R_DTCH0_Stop LibName="R_DTCHn_Stop" InUse="" Visible="false" /> + </DTCH0> + <DTCH1> + <R_DTCH1_Start LibName="R_DTCHn_Start" InUse="" Visible="false" /> + <R_DTCH1_Stop LibName="R_DTCHn_Stop" InUse="" Visible="false" /> + </DTCH1> + <R_DTC_Set_PowerOff UserName="R_DTC_Set_PowerOff" LibName="R_DTC_Set_PowerOff" InUse="" /> + </r_cg_dtc.c> + <r_cg_dtc_user.c UserName="r_cg_dtc_user.c" LibName="_user.c" InUse=""> + <Type R_DTC_Create_UserInit="void R_DTC_Create_UserInit(void)" /> + <R_DTC_Create_UserInit UserName="R_DTC_Create_UserInit" LibName="R_DTC_Create_UserInit" InUse="" /> + </r_cg_dtc_user.c> + <r_cg_dtc.h UserName="r_cg_dtc.h" LibName=".h" InUse="" /> + </DTC> + <LVD> + <r_cg_lvd.c UserName="r_cg_lvd.c" LibName=".c" InUse="0"> + <Type R_LVD_Create="void R_LVD_Create(void)" R_LVD_InterruptMode_Start="void R_LVD_InterruptMode_Start(void)" /> + <R_LVD_Create UserName="R_LVD_Create" LibName="R_LVD_Create" InUse="0" Init="1" InitMode="" /> + <R_LVD_InterruptMode_Start UserName="R_LVD_InterruptMode_Start" LibName="R_LVD_InterruptMode_Start" InUse="0" /> + </r_cg_lvd.c> + <r_cg_lvd_user.c UserName="r_cg_lvd_user.c" LibName="_user.c" InUse="0"> + <Type R_LVD_Create_UserInit="void R_LVD_Create_UserInit(void)" r_lvd_interrupt="__interrupt static void r_lvd_interrupt(void)" /> + <R_LVD_Create_UserInit UserName="R_LVD_Create_UserInit" LibName="R_LVD_Create_UserInit" InUse="0" /> + <r_lvd_interrupt UserName="r_lvd_interrupt" INTHandle="" LibName="r_lvd_interrupt" InUse="0" /> + </r_cg_lvd_user.c> + <r_cg_lvd.h UserName="r_cg_lvd.h" LibName=".h" InUse="0" /> + </LVD> + </FUNC> + <TAG> + <GlobleUserTag> + <cg_security9 Name="cg_security9" Value="00" /> + <cg_security7 Name="cg_security7" Value="00" /> + <pior_value7 Name="pior_value7" Value="00" /> + <cg_security5 Name="cg_security5" Value="00" /> + <ocdstart Name="ocdstart" Value="1FE00" /> + <cg_security3 Name="cg_security3" Value="00" /> + <cg_security0 Name="cg_security0" Value="00" /> + <pior_value5 Name="pior_value5" Value="00" /> + <cg_security1 Name="cg_security1" Value="00" /> + <wdt_option Name="wdt_option" Value="E9" /> + <clock_option Name="clock_option" Value="E8" /> + <cg_security2 Name="cg_security2" Value="00" /> + <cg_option Name="cg_option" Value="04" /> + <cg_security8 Name="cg_security8" Value="00" /> + <cg_security6 Name="cg_security6" Value="00" /> + <cg_security4 Name="cg_security4" Value="00" /> + <cg_crc_area Name="cg_crc_area" Value="00" /> + <cg_iawctl_value Name="cg_iawctl_value" Value="00" /> + <lvi_option Name="lvi_option" Value="33" /> + <pior_value4 Name="pior_value4" Value="00" /> + </GlobleUserTag> + </TAG> + </DIR> + <MACRO> + <CGC Prepared="true" SetFlag="True" NeedRefresh="False"> + <CGC SetFlag="True" MacroName="cgc" /> + </CGC> + <PORT HelpID="port" Prepared="true" SetFlag="True" NeedRefresh="False"> + <PORT SetFlag="True" MacroName="PORT" /> + </PORT> + <INTC SetFlag="" HelpID="int" NeedRefresh="False"> + <INTP Accelerate="No" MacroName="INTP" /> + </INTC> + <Serial SetFlag="False" HelpID="serial" NeedRefresh="False"> + <SAU0 Accelerate="No" MacroName="SAU" Channel="0" SetFlag="False" TabEnable="True"> + <Channel0 UART="0" CSI="00" IIC="00" Channel="0" /> + <Channel1 Chip="RL78F13_64pin,RL78F13_80pin,RL78F13_48pin,RL78F13_32pin" PIOR41="0" UART="0" CSI="01" IIC="01" Channel="1" /> + </SAU0> + <SAU1 Accelerate="No" MacroName="SAU" Channel="1" PIOR42="0" Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,groupc2" TabEnable="True"> + <Channel0 UART="1" CSI="10" IIC="10" Channel="0" /> + <Channel1 Chip="R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG" UART="1" Channel="1" /> + </SAU1> + <IICA0 Accelerate="No" Chip="groupb,R5F10BBC,R5F10BBD,R5F10BBE,R5F10BBF,R5F10BBG,R5F10BGC,R5F10BGD,R5F10BGE,R5F10BGF,R5F10BGG,R5F10BLC,R5F10BLD,R5F10BLE,R5F10BLF,R5F10BLG,R5F10BME,R5F10BMF,R5F10BMG" MacroName="IICA" Channel="0" TabEnable="True" /> + </Serial> + <ADC SetFlag="True" HelpID="adc" NeedRefresh="False"> + <ADC SetFlag="True" MacroName="ADC" /> + </ADC> + <TAU SetFlag="True" HelpID="timer" NeedRefresh="False"> + <TAU0 Accelerate="No" MacroName="TAU" Channel="0" ChannelNum="0,1,2,3,4,5,6,7" SetFlag="True" TabEnable="True" /> + <TAU1 Accelerate="No" Chip="groupb,groupc1,groupc2" MacroName="TAU" Channel="1" ChannelNum="0,1,2,3" TabEnable="True" /> + <TMRJ0 SetFlag="False" MacroName="TMRJ" Channel="0" TabEnable="True" /> + <TMRD0 SetFlag="True" MacroName="TMRD" Channel="0" TabEnable="True" /> + <TMRD1 SetFlag="True" MacroName="TMRD" Channel="1" TabEnable="True" /> + </TAU> + <WDT Prepared="true" SetFlag="False" HelpID="watchdogtimer" NeedRefresh="False"> + <WDT SetFlag="False" MacroName="WDT" /> + </WDT> + <RTC SetFlag="False" HelpID="rtc" NeedRefresh="False"> + <RTC MacroName="RTC" SetFlag="False" /> + </RTC> + <DTC HelpID="dtc" SetFlag="" NeedRefresh="False"> + <DTC SetFlag="" /> + </DTC> + <LVD SetFlag="True" Prepared="true" NeedRefresh="False"> + <LVD MacroName="LVD" SetFlag="True" /> + </LVD> + </MACRO> + <SETTING> + <CGC> + <setting name="PIN_ASSIGNMENT_FIX_SETTING" value="false" /> + <setting name="OPERATION_MODE_HS_27_55" value="false" /> + <setting name="OPERATION_MODE_HS_40_55" value="true" /> + <setting name="MAIN_CLOCK_SELECT_HIGH_SYSTEM_CLOCK" value="true" /> + <setting name="MAIN_CLOCK_SELECT_HIGH_INTERNAL_CLOCK" value="false" /> + <setting name="INTERNAL_HIGH_CLOCK_OPERATION" value="true" /> + <setting name="INTERNAL_HIGH_CLOCK_FREQUENCY" value="6" /> + <setting name="HIGH_SYSTEM_CLOCK_OPERATION" value="true" /> + <setting name="HIGH_SYSTEM_CLOCK_SELECT_EXTERNAL_CLOCK" value="false" /> + <setting name="HIGH_SYSTEM_CLOCK_SELECT_X1_CLOCK" value="true" /> + <setting name="X1_CLOCK_STABLE_TIME" value="7" /> + <setting name="HIGH_SYSTEM_CLOCK_FREQUENCY" value="8" /> + <setting name="SUBCLOCK_SELECT_XT1_CLOCK" value="true" /> + <setting name="SUBCLOCK_XT1_OSCILLATION_MODE" value="0" /> + <setting name="SUBCLOCK_OPERATION" value="false" /> + <setting name="SUBCLOCK_SELECT_EXTERNAL_CLOCK" value="false" /> + <setting name="SUBCLOCK_HALT_STOP_STATUS" value="0" /> + <setting name="CPU_PERIPHERAL_CLOCK_FREQUENCY" value="0" /> + <setting name="FPLL_FREQUENCY_VALUE" value="1" /> + <setting name="FPLL_FREQUENCY_OPERATION" value="true" /> + <setting name="FPLL_LOCKUP_WAIT_COUNTER" value="0" /> + <setting name="FMP_FREQUENCY_VALUE" value="1" /> + <setting name="TRD_FREQUENCY_VALUE" value="0" /> + <setting name="FSL_FREQUENCY_VALUE" value="0" /> + <setting name="RTC_IT_CLOCK" value="0" /> + <setting name="OCD_UNUSED" value="true" /> + <setting name="OCD_USED" value="false" /> + <setting name="RRM_UNUSED" value="false" /> + <setting name="RRM_USED" value="true" /> + <setting name="TRACE_UNUSED" value="false" /> + <setting name="TRACE_USED" value="true" /> + <setting name="HOTPLUG_UNUSED" value="true" /> + <setting name="HOTPLUG_USED" value="false" /> + <setting name="SECURITY_ID_AUTHENTICATION_ERASE" value="true" /> + <setting name="SECURITY_ID_AUTHENTICATION_NOT_ERASE" value="false" /> + <setting name="SECURITY_ID_SELECT" value="true" /> + <setting name="SECURITY_ID_VALUE" value="0x00000000000000000000" /> + <setting name="RESET_SOURCE_FUNCTION_OUTPUT" value="true" /> + <setting name="RESOUT_UNUSED" value="true" /> + <setting name="RESOUT_USED" value="false" /> + <setting name="ILLEGAL_MEMORY_ACCESS_UNUSED" value="true" /> + <setting name="ILLEGAL_MEMORY_ACCESS_USED" value="false" /> + <setting name="RAM_GUARD_UNUSED" value="true" /> + <setting name="RAM_GUARD_USED" value="false" /> + <setting name="RAM_GUARD_AREA" value="0" /> + <setting name="PORT_GUARD_UNUSED" value="true" /> + <setting name="PORT_GUARD_USED" value="false" /> + <setting name="INTERRUPT_GUARD_UNUSED" value="true" /> + <setting name="INTERRUPT_GUARD_USED" value="false" /> + <setting name="CHIP_CONTROL_GUARD_UNUSED" value="true" /> + <setting name="CHIP_CONTROL_GUARD_USED" value="false" /> + <setting name="STACKPOINTER_INTERRUPT_PRIORITY" value="3" /> + <setting name="STACKPOINTER_INTERRUPT_USED" value="true" /> + <setting name="CLOCK_MONITOR_INTERRUPT_PRIORITY" value="3" /> + <setting name="CLOCK_MONITOR_INTERRUPT_USED" value="true" /> + <setting name="CLOCK_MONITOR_UNUSED" value="true" /> + <setting name="CLOCK_MONITOR_USED" value="false" /> + <setting name="STACK_POINTER_UNUSED" value="true" /> + <setting name="STACK_POINTER_USED" value="false" /> + <setting name="STACK_POINTER_UNDERFLOW_DATA" value="0x0000" /> + <setting name="STACK_POINTER_OVERFLOW_DATA" value="0xFFFE" /> + <setting name="RAM_ECC_INTERRUPT_USED" value="false" /> + <setting name="RAM_ECC_INTERRUPT_PRIORITY" value="3" /> + <setting name="DataFlash" value="unused" /> + <setting name="ProgramFlash" value="unused" /> + <setting name="Monitor" value="unused" /> + <setting name="StartStop" value="unused" /> + <setting name="Emulator" value="E1" /> + </CGC> + <PORT> + <PortP1> + <P10> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P10> + <P11> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P11> + <P12> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="true" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P12> + <P13> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P13> + <P14> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P14> + <P15> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P15> + <P16> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P16> + <P17> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P17> + </PortP1> + <PortP3> + <P30> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P30> + <P33> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P33> + <P34> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P34> + </PortP3> + <PortP4> + <P40> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P40> + <P41> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P41> + </PortP4> + <PortP6> + <P60> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P60> + <P61> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P61> + <P62> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P62> + <P63> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P63> + </PortP6> + <PortP8> + <P80> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P80> + <P81> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P81> + <P82> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P82> + <P83> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P83> + <P84> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P84> + <P85> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P85> + </PortP8> + <PortP12> + <P120> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P120> + <P121> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P121> + <P122> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="INPUT_MODE" value="false" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P122> + <P125> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="0" /> + <setting name="PSRSEL" value="false" /> + </P125> + </PortP12> + <PortP13> + <P137> + <setting name="MODULE_UNUSED" value="false" /> + <setting name="INPUT_MODE" value="true" /> + <setting name="OUTPUT_MODE" value="false" /> + <setting name="PULLUP_ON" value="false" /> + <setting name="NCH_ON" value="false" /> + <setting name="OUTPUT_1" value="false" /> + <setting name="INPUT_BUFFER" value="-1" /> + <setting name="PSRSEL" value="false" /> + </P137> + </PortP13> + </PORT> + <ADC> + <setting name="ADC_USED" value="true" /> + <setting name="ADC_UNUSED" value="false" /> + <setting name="ADC_COMPARATOR_ENABLE" value="true" /> + <setting name="ADC_COMPARATOR_DISABLE" value="false" /> + <setting name="ADC_RESOLUTION_10BIT" value="true" /> + <setting name="ADC_RESOLUTION_8BIT" value="false" /> + <setting name="ADC_POSITIVE_VDD" value="true" /> + <setting name="ADC_POSITIVE_AVREFP" value="false" /> + <setting name="ADC_POSITIVE_BGR" value="false" /> + <setting name="ADC_NEGATIVE_VSS" value="true" /> + <setting name="ADC_NEGATIVE_AVREFM" value="false" /> + <setting name="ADC_TRIGGER_SOFTWARE" value="false" /> + <setting name="ADC_TRIGGER_HARDWARE_NOWAIT" value="true" /> + <setting name="ADC_TRIGGER_HARDWARE_WAIT" value="false" /> + <setting name="ADC_TRIGGER_SOURCE_UPDATE" value="0" /> + <setting name="ADC_CONTINUOUS_SELECT_MODE" value="false" /> + <setting name="ADC_ONESHOT_SELECT_MODE" value="true" /> + <setting name="ADC_CONTINUOUS_SCAN_MODE" value="false" /> + <setting name="ADC_ONESHOT_SCAN_MODE" value="false" /> + <setting name="ADC_ANALOG_INPUT_SELECTION" value="7" /> + <setting name="ANALOG_INPUT_24" value="false" /> + <setting name="ANALOG_INPUT_25" value="false" /> + <setting name="ANALOG_INPUT_26" value="true" /> + <setting name="ADC_CONVERSION_MODE" value="0" /> + <setting name="ADC_CONVERSION_TIME" value="0" /> + <setting name="ADC_INTERRUPT_GENERATE_CONDITION_1" value="true" /> + <setting name="ADC_INTERRUPT_GENERATE_CONDITION_2" value="false" /> + <setting name="ADC_UPPER_BOUND_VALUE" value="255" /> + <setting name="ADC_LOWER_BOUND_VALUE" value="0" /> + <setting name="ADC_INTERRUPT_PRIORITY" value="3" /> + <setting name="ADC_INTERRUPT_USED" value="true" /> + <setting name="ANALOG_INPUT_30" value="true" /> + <setting name="ANALOG_INPUT_29" value="true" /> + <setting name="ANALOG_INPUT_28" value="true" /> + <setting name="ANALOG_INPUT_27" value="true" /> + <setting name="ADC_CHANNEL_SELECTION" value="0" /> + </ADC> + <TAU0> + <Channel0> + <setting name="ChannelFunction" value="1" /> + <setting name="Pinselection" value="-1" /> + <TAUInterval0> + <setting name="OperationMode" value="16bits" /> + <setting name="Count_clock" value="MCK clock" /> + <setting name="Sub_clock_mode" value="-1" /> + <setting name="Interval_value" value="1000" /> + <setting name="Value_scale" value="1" /> + <setting name="Intervalvalue_High8bits" value="100" /> + <setting name="Intervalvalue_High8bits_scale" value="-1" /> + <setting name="Intervalvalue_Low8bits" value="100" /> + <setting name="Intervalvalue_Low8bits_Scale" value="-1" /> + <setting name="Generate_interrupt_when_couting_started" value="no" /> + <setting name="Interrupt" value="used" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="InterruptH_priority" value="3" /> + <setting name="InterruptH8" value="unused" /> + </TAUInterval0> + </Channel0> + <Channel1> + <setting name="ChannelFunction" value="1" /> + <setting name="Pinselection" value="-1" /> + <TAUInterval1> + <setting name="OperationMode" value="16bits" /> + <setting name="Count_clock" value="MCK clock" /> + <setting name="Sub_clock_mode" value="-1" /> + <setting name="Interval_value" value="1000" /> + <setting name="Value_scale" value="1" /> + <setting name="Intervalvalue_High8bits" value="100" /> + <setting name="Intervalvalue_High8bits_scale" value="1" /> + <setting name="Intervalvalue_Low8bits" value="100" /> + <setting name="Intervalvalue_Low8bits_Scale" value="1" /> + <setting name="Generate_interrupt_when_couting_started" value="no" /> + <setting name="Interrupt" value="used" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="InterruptH_priority" value="3" /> + <setting name="InterruptH8" value="used" /> + </TAUInterval1> + </Channel1> + <Channel2> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel2> + <Channel3> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel3> + <Channel4> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel4> + <Channel5> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel5> + <Channel6> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel6> + <Channel7> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel7> + </TAU0> + <TAU1> + <Channel0> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel0> + <Channel1> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel1> + <Channel2> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel2> + <Channel3> + <setting name="ChannelFunction" value="0" /> + <setting name="Pinselection" value="-1" /> + </Channel3> + </TAU1> + <TMRJ0> + <setting name="Function" value="Unused" /> + </TMRJ0> + <TMRD0> + <setting name="Function" value="OutPutCompare" /> + <OutPutCompareFunction0> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_clear" value="2" /> + <setting name="Counter_operation" value="1" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="TRDGRDCount_Inuse" value="not use" /> + <setting name="TRDGRCCount_Inuse" value="use" /> + <setting name="TRDGRBCount_Inuse" value="use" /> + <setting name="TRDGRACount_Inuse" value="use" /> + <setting name="TRDGRDCount" value="100" /> + <setting name="TRDGRCCount" value="500" /> + <setting name="TRDGRBCount" value="1000" /> + <setting name="TRDGRACount" value="500" /> + <setting name="TRDIORDUnit" value="1" /> + <setting name="TRDIORCUnit" value="1" /> + <setting name="TRDIORBUnit" value="1" /> + <setting name="TRDIORAUnit" value="1" /> + <setting name="OutputD" value="not use" /> + <setting name="OutputC" value="use" /> + <setting name="OutputB" value="not use" /> + <setting name="OutputA" value="use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="InitOutputLevelA" value="0" /> + <setting name="OutputLevelA" value="0" /> + <setting name="INTTRDGRD" value="not use" /> + <setting name="INTTRDGRC" value="not use" /> + <setting name="INTTRDGRB" value="not use" /> + <setting name="INTTRDGRA" value="not use" /> + <setting name="INTOverFlow" value="not use" /> + <setting name="INTPriority" value="3" /> + </OutPutCompareFunction0> + <PWM3Output0> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_operation" value="0" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="PeriodUnit" value="1" /> + <setting name="Duty3" value="50" /> + <setting name="Duty2" value="50" /> + <setting name="Duty1" value="50" /> + <setting name="Period" value="100" /> + <setting name="Duty3_Inuse" value="not use" /> + <setting name="Duty2_Inuse" value="use" /> + <setting name="Duty1_Inuse" value="not use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="INTP0_linked" value="not use" /> + <setting name="ELC_linked" value="not use" /> + <setting name="TRDIOB_Normal" value="0" /> + <setting name="TRDIOC_Normal" value="0" /> + <setting name="TRDIOD_Normal" value="0" /> + <setting name="INTTRDGRD" value="use" /> + <setting name="INTTRDGRC" value="use" /> + <setting name="INTTRDGRB" value="use" /> + <setting name="INTTRDGRA" value="use" /> + <setting name="INTOverFlow" value="use" /> + <setting name="INTPriority" value="3" /> + <setting name="OutputTimeD" value="0" /> + <setting name="OutputTimeC" value="0" /> + <setting name="OutputTimeB" value="0" /> + </PWM3Output0> + </TMRD0> + <TMRD1> + <setting name="Function" value="OutPutCompare" /> + <OutPutCompareFunction1> + <setting name="Count_source" value="InternalClock" /> + <setting name="Internal_Clock" value="Auto" /> + <setting name="External_clock_edge" value="Rising" /> + <setting name="Counter_clear" value="2" /> + <setting name="Counter_operation" value="0" /> + <setting name="TRDGRDRegisterFunction" value="0" /> + <setting name="TRDGRCRegisterFunction" value="0" /> + <setting name="TRDGRDCount_Inuse" value="not use" /> + <setting name="TRDGRCCount_Inuse" value="not use" /> + <setting name="TRDGRBCount_Inuse" value="use" /> + <setting name="TRDGRACount_Inuse" value="use" /> + <setting name="TRDGRDCount" value="100" /> + <setting name="TRDGRCCount" value="100" /> + <setting name="TRDGRBCount" value="1000" /> + <setting name="TRDGRACount" value="300" /> + <setting name="TRDIORDUnit" value="1" /> + <setting name="TRDIORCUnit" value="1" /> + <setting name="TRDIORBUnit" value="1" /> + <setting name="TRDIORAUnit" value="1" /> + <setting name="OutputD" value="not use" /> + <setting name="OutputC" value="not use" /> + <setting name="OutputB" value="not use" /> + <setting name="OutputA" value="use" /> + <setting name="InitOutputLevelD" value="0" /> + <setting name="OutputLevelD" value="0" /> + <setting name="InitOutputLevelC" value="0" /> + <setting name="OutputLevelC" value="0" /> + <setting name="InitOutputLevelB" value="0" /> + <setting name="OutputLevelB" value="0" /> + <setting name="InitOutputLevelA" value="0" /> + <setting name="OutputLevelA" value="0" /> + <setting name="INTTRDGRD" value="use" /> + <setting name="INTTRDGRC" value="use" /> + <setting name="INTTRDGRB" value="not use" /> + <setting name="INTTRDGRA" value="not use" /> + <setting name="INTOverFlow" value="not use" /> + <setting name="INTPriority" value="3" /> + </OutPutCompareFunction1> + </TMRD1> + <WDT> + <setting name="WDT_MODULE_USED" value="false" /> + <setting name="WDT_MODULE_UNUSE" value="true" /> + <setting name="WDT_OVERFLOW_TIME" value="4" /> + <setting name="WDT_WINDOW_OPEN_TIME" value="2" /> + <setting name="WDT_HALT_STOP_OPERATION_ENABLE" value="true" /> + <setting name="WDT_HALT_STOP_OPERATION_STOP" value="false" /> + <setting name="WDT_INTERRUPT_USED" value="true" /> + <setting name="WDT_INTERRUPT_PRIORITY" value="3" /> + </WDT> + <RTC> + <setting name="INITIAL_VALUE" value="01/01/2000 00:00:00" /> + <setting name="ALARM_WEEK_DAY" value="Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_Unchecked_" /> + <setting name="ALARM_TIME" value="01/01/2000 00:00:00" /> + <setting name="MODULE_USED" value="false" /> + <setting name="MODULE_UNUSED" value="true" /> + <setting name="ALARM_OPERATION_USED" value="false" /> + <setting name="HOUR_SYSTEM" value="0" /> + <setting name="INITIAL_VALUE_USED" value="false" /> + <setting name="ALARM_VALUE_USED" value="false" /> + <setting name="INTERRUPT_PRIORITY" value="3" /> + <setting name="CONSTANT_INTERRUPT_USED" value="false" /> + <setting name="CONSTANT_INTERRUPT_VALUE" value="0" /> + <setting name="ALARM_INTERRUPT_USED" value="true" /> + <setting name="RTC1HZ_OUTPUT_USED" value="false" /> + <setting name="RTC1HZ_OUTPUTPIN_SEL" value="-1" /> + </RTC> + <SAU0> + <IIC00 /> + <CSI00 /> + <UART0 /> + <Channel0> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel0> + <IIC01 /> + <CSI01 /> + <Channel1> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel1> + </SAU0> + <SAU1> + <Channel0> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel0> + <UART1 /> + <Channel1> + <setting name="CHANNEL_FUNCTION" value="0" /> + <setting name="DETAIL_FUNCTION" value="-1" /> + </Channel1> + <IIC10 /> + <CSI10 /> + </SAU1> + <IICA0> + <setting name="SLAVE_MODE_USED" value="false" /> + <setting name="MODULE_UNUSE" value="true" /> + <setting name="SINGLE_MASTER_USED" value="false" /> + </IICA0> + <LVD> + <setting name="Operation" value="used" /> + <setting name="Reset_only_level" value="3" /> + <setting name="InterruptReset_level" value="0" /> + <setting name="Interrupt_level" value="0" /> + <setting name="Interrupt_only_level" value="0" /> + <setting name="operation_mode" value="reset" /> + <setting name="Interrupt_priority" value="3" /> + <setting name="Interrupt_only_priority" value="3" /> + </LVD> + </SETTING> +</RL78F13> + + + \ No newline at end of file diff --git a/ECU_APP/OutPut/ECU-BOOT.hex b/ECU_APP/OutPut/ECU-BOOT.hex new file mode 100644 index 0000000..41fbbe4 --- /dev/null +++ b/ECU_APP/OutPut/ECU-BOOT.hex @@ -0,0 +1,8272 @@ +:0400000300000000F9 +:020000020000FC +:02000000D80026 +:020000020000FC +:02000200FFFFFE +:020000020000FC +:1000040025036A03A403DE03180452048C04C60403 +:1000140000053A057405AE05E80522065C06960659 +:10002400D0060A0744077E07B807F2072C086608BB +:10003400A008DA0814094E098809C209FC09360A1D +:100044007B0AB50AEF0A290B630B9D0BE20B1C0C10 +:10005400610CA60CEB0C300D6A0DA40DDE0D180E10 +:020000020000FC +:02006400C820B2 +:020000020000FC +:02006600CC20AC +:020000020000FC +:02006800D020A6 +:020000020000FC +:02006A00D420A0 +:020000020000FC +:02006C00D8209A +:020000020000FC +:02006E00DC2094 +:020000020000FC +:02007000E0208E +:020000020000FC +:02007200E42088 +:020000020000FC +:02007400E82082 +:020000020000FC +:02007600EC207C +:020000020000FC +:02007800F02076 +:020000020000FC +:02007A00F42070 +:020000020000FC +:02007C00F8206A +:020000020000FC +:02007E00FC2064 +:020000020000FC +:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:020000020000FC +:0400C000FEFFE884D3 +:020000020000FC +:0A00C4000000000000000000000032 +:020000020000FC +:0A00CE00FFFFFFFFFFFFFFFFFFFF32 +:020000020000FC +:1000D80061CF5100718C7109FECBF8A0F9FC8789BA +:1000E8000036D4F4FC9A110053C0F693935820FEBE +:1000F800DFF9410036560E349CF4EF05118B99A7B1 +:10010800A517448E0EDFF536C40034D4F4EF0A4147 +:1001180000118B410F1199A7A51744C400DFF036D1 +:1001280010E5309CF4EF04CC0000A747DFF9410F3D +:1001380036D4F430D4F4EF0511CC0000A747DFF82B +:10014800410036C40034D4F4EF05118B99A7A517E4 +:1001580044C400DFF536D4F430D4F4EF04CC000006 +:10016800A747DFF9F6BF94E5E6BF92E530AAE5BFF9 +:10017800A8E5FCC28700EC002000C5C3DAD8CEFB96 +:100188000114DADAADDCCEFB010514DAD8ADDCCE29 +:10019800FB01BDD81305BDDAC2C4D7C161686BDCE9 +:1001A8006BDDC0DD16C7C5C316EADCDADAADD8CE1A +:1001B800FB0BBDD813BDDAC2C4C6D7F6B1BDD8BDD6 +:1001C800DAD706DABDDAADDC06D8BDD861D8A6DA4A +:1001D800D7C312ADD826DCBDD861317006DA23BD8D +:1001E800DAC2D7D1DD17C1C3DAD89DD8ADDA311C50 +:1001F80061EEB4D8DFF8BDDA13BDD8C2C0D7D1DDFF +:100208001BC1C3DADA9DDAADD8311E33311E337122 +:10021800F9B4DADFF4BDD813BDDAC2C0D75BDB9D11 +:10022800DB605BDA9DDAADDC5BD9085BD808BDD84A +:10023800D76BDB9DDB606BDA9DDAADDC6BD9086BC5 +:10024800D808BDD8D77BDB9DDB607BDA9DDAADDCD7 +:090258007BD9087BD808BDD8D77A +:020000020000FC +:100261004100118FCAA09EFC11AFC8A061CB410013 +:10027100118FCEA09EFC11AFCCA061CB4100118F9C +:10028100D2A09EFC11AFD0A061CB4100118FD6A0AE +:100291009EFC11AFD4A061CB4100118FDAA09EFC6E +:1002A10011AFD8A061CB4100118FDEA09EFC11AF30 +:1002B100DCA061CB4100118FE2A09EFC11AFE0A058 +:1002C10061CB4100118FE6A09EFC11AFE4A061CB90 +:1002D1004100118FEAA09EFC11AFE8A061CB410063 +:1002E100118FEEA09EFC11AFECA061CB4100118FEC +:1002F100F2A09EFC11AFF0A061CB4100118FF6A0DE +:100301009EFC11AFF4A061CB4100118FFAA09EFCBD +:1003110011AFF8A061CB4100118FFEA09EFC11AF7F +:04032100FCA061CB10 +:020000020000FC +:10032500C1C3C5C7520C929269D4FEC1DFF88EFDD8 +:10033500708EFCC1D50BE5DF06FC108B00EF0E417E +:1003450000118F0AA09EFC11AF08A061CAC09EFCD7 +:10035500609EFD34D4FE5206C0B9A5A592DFF9C64C +:10036500C4C2C061FCC1C3C5C7520C929269D4FE18 +:10037500C1DFF88EFD708EFCC14100118F0EA09E6D +:10038500FC11AF0CA061CAC09EFC609EFD34D4FE7A +:100395005206C0B9A5A592DFF9C6C4C2C061FCC1A9 +:1003A500C3C5C7520C929269D4FEC1DFF88EFD70A9 +:1003B5008EFCC14100118F12A09EFC11AF10A061EF +:1003C500CAC09EFC609EFD34D4FE5206C0B9A5A5E8 +:1003D50092DFF9C6C4C2C061FCC1C3C5C7520C9245 +:1003E5009269D4FEC1DFF88EFD708EFCC14100110B +:1003F5008F16A09EFC11AF14A061CAC09EFC609E22 +:10040500FD34D4FE5206C0B9A5A592DFF9C6C4C213 +:10041500C061FCC1C3C5C7520C929269D4FEC1DF4D +:10042500F88EFD708EFCC14100118F1AA09EFC1143 +:10043500AF18A061CAC09EFC609EFD34D4FE520672 +:10044500C0B9A5A592DFF9C6C4C2C061FCC1C3C5C8 +:10045500C7520C929269D4FEC1DFF88EFD708EFCF6 +:10046500C14100118F1EA09EFC11AF1CA061CAC026 +:100475009EFC609EFD34D4FE5206C0B9A5A592DF50 +:10048500F9C6C4C2C061FCC1C3C5C7520C9292690A +:10049500D4FEC1DFF88EFD708EFCC14100118F22A4 +:1004A500A09EFC11AF20A061CAC09EFC609EFD34D9 +:1004B500D4FE5206C0B9A5A592DFF9C6C4C2C06173 +:1004C500FCC1C3C5C7520C929269D4FEC1DFF88E38 +:1004D500FD708EFCC14100118F26A09EFC11AF243A +:1004E500A061CAC09EFC609EFD34D4FE5206C0B910 +:1004F500A5A592DFF9C6C4C2C061FCC1C3C5C75278 +:100505000C929269D4FEC1DFF88EFD708EFCC1415C +:1005150000118F2AA09EFC11AF28A061CAC09EFCC5 +:10052500609EFD34D4FE5206C0B9A5A592DFF9C67A +:10053500C4C2C061FCC1C3C5C7520C929269D4FE46 +:10054500C1DFF88EFD708EFCC14100118F2EA09E7B +:10055500FC11AF2CA061CAC09EFC609EFD34D4FE88 +:100565005206C0B9A5A592DFF9C6C4C2C061FCC1D7 +:10057500C3C5C7520C929269D4FEC1DFF88EFD70D7 +:100585008EFCC14100118F32A09EFC11AF30A061DD +:10059500CAC09EFC609EFD34D4FE5206C0B9A5A516 +:1005A50092DFF9C6C4C2C061FCC1C3C5C7520C9273 +:1005B5009269D4FEC1DFF88EFD708EFCC141001139 +:1005C5008F36A09EFC11AF34A061CAC09EFC609E10 +:1005D500FD34D4FE5206C0B9A5A592DFF9C6C4C242 +:1005E500C061FCC1C3C5C7520C929269D4FEC1DF7C +:1005F500F88EFD708EFCC14100118F3AA09EFC1152 +:10060500AF38A061CAC09EFC609EFD34D4FE520680 +:10061500C0B9A5A592DFF9C6C4C2C061FCC1C3C5F6 +:10062500C7520C929269D4FEC1DFF88EFD708EFC24 +:10063500C14100118F3EA09EFC11AF3CA061CAC014 +:100645009EFC609EFD34D4FE5206C0B9A5A592DF7E +:10065500F9C6C4C2C061FCC1C3C5C7520C92926938 +:10066500D4FEC1DFF88EFD708EFCC14100118F42B2 +:10067500A09EFC11AF40A061CAC09EFC609EFD34E7 +:10068500D4FE5206C0B9A5A592DFF9C6C4C2C061A1 +:10069500FCC1C3C5C7520C929269D4FEC1DFF88E66 +:1006A500FD708EFCC14100118F46A09EFC11AF4428 +:1006B500A061CAC09EFC609EFD34D4FE5206C0B93E +:1006C500A5A592DFF9C6C4C2C061FCC1C3C5C752A6 +:1006D5000C929269D4FEC1DFF88EFD708EFCC1418B +:1006E50000118F4AA09EFC11AF48A061CAC09EFCB4 +:1006F500609EFD34D4FE5206C0B9A5A592DFF9C6A9 +:10070500C4C2C061FCC1C3C5C7520C929269D4FE74 +:10071500C1DFF88EFD708EFCC14100118F4EA09E89 +:10072500FC11AF4CA061CAC09EFC609EFD34D4FE96 +:100735005206C0B9A5A592DFF9C6C4C2C061FCC105 +:10074500C3C5C7520C929269D4FEC1DFF88EFD7005 +:100755008EFCC14100118F52A09EFC11AF50A061CB +:10076500CAC09EFC609EFD34D4FE5206C0B9A5A544 +:1007750092DFF9C6C4C2C061FCC1C3C5C7520C92A1 +:100785009269D4FEC1DFF88EFD708EFCC141001167 +:100795008F56A09EFC11AF54A061CAC09EFC609EFE +:1007A500FD34D4FE5206C0B9A5A592DFF9C6C4C270 +:1007B500C061FCC1C3C5C7520C929269D4FEC1DFAA +:1007C500F88EFD708EFCC14100118F5AA09EFC1160 +:1007D500AF58A061CAC09EFC609EFD34D4FE52068F +:1007E500C0B9A5A592DFF9C6C4C2C061FCC1C3C525 +:1007F500C7520C929269D4FEC1DFF88EFD708EFC53 +:10080500C14100118F5EA09EFC11AF5CA061CAC002 +:100815009EFC609EFD34D4FE5206C0B9A5A592DFAC +:10082500F9C6C4C2C061FCC1C3C5C7520C92926966 +:10083500D4FEC1DFF88EFD708EFCC14100118F62C0 +:10084500A09EFC11AF60A061CAC09EFC609EFD34F5 +:10085500D4FE5206C0B9A5A592DFF9C6C4C2C061CF +:10086500FCC1C3C5C7520C929269D4FEC1DFF88E94 +:10087500FD708EFCC14100118F66A09EFC11AF6416 +:10088500A061CAC09EFC609EFD34D4FE5206C0B96C +:10089500A5A592DFF9C6C4C2C061FCC1C3C5C752D4 +:1008A5000C929269D4FEC1DFF88EFD708EFCC141B9 +:1008B50000118F6AA09EFC11AF68A061CAC09EFCA2 +:1008C500609EFD34D4FE5206C0B9A5A592DFF9C6D7 +:1008D500C4C2C061FCC1C3C5C7520C929269D4FEA3 +:1008E500C1DFF88EFD708EFCC14100118F6EA09E98 +:1008F500FC11AF6CA061CAC09EFC609EFD34D4FEA5 +:100905005206C0B9A5A592DFF9C6C4C2C061FCC133 +:10091500C3C5C7520C929269D4FEC1DFF88EFD7033 +:100925008EFCC14100118F72A09EFC11AF70A061B9 +:10093500CAC09EFC609EFD34D4FE5206C0B9A5A572 +:1009450092DFF9C6C4C2C061FCC1C3C5C7520C92CF +:100955009269D4FEC1DFF88EFD708EFCC141001195 +:100965008F76A09EFC11AF74A061CAC09EFC609EEC +:10097500FD34D4FE5206C0B9A5A592DFF9C6C4C29E +:10098500C061FCC1C3C5C7520C929269D4FEC1DFD8 +:10099500F88EFD708EFCC14100118F7AA09EFC116E +:1009A500AF78A061CAC09EFC609EFD34D4FE52069D +:1009B500C0B9A5A592DFF9C6C4C2C061FCC1C3C553 +:1009C500C7520C929269D4FEC1DFF88EFD708EFC81 +:1009D500C14100118F7EA09EFC11AF7CA061CAC0F1 +:1009E5009EFC609EFD34D4FE5206C0B9A5A592DFDB +:1009F500F9C6C4C2C061FCC1C3C5C7520C92926995 +:100A0500D4FEC1DFF88EFD708EFCC14100118F82CE +:100A1500A09EFC11AF80A061CAC09EFC609EFD3403 +:100A2500D4FE5206C0B9A5A592DFF9C6C4C2C061FD +:100A3500FCC1C3C5C7520C929269D4FEC1DFF88EC2 +:100A4500FD708EFCC1D50BE5DF06FCC08A00EF0EFC +:100A55004100118F86A09EFC11AF84A061CAC09E83 +:100A6500FC609EFD34D4FE5206C0B9A5A592DFF9FF +:100A7500C6C4C2C061FCC1C3C5C7520C929269D439 +:100A8500FEC1DFF88EFD708EFCC14100118F8AA07A +:100A95009EFC11AF88A061CAC09EFC609EFD34D447 +:100AA500FE5206C0B9A5A592DFF9C6C4C2C061FC55 +:100AB500C1C3C5C7520C929269D4FEC1DFF88EFD41 +:100AC500708EFCC14100118F8EA09EFC11AF8CA0D1 +:100AD50061CAC09EFC609EFD34D4FE5206C0B9A515 +:100AE500A592DFF9C6C4C2C061FCC1C3C5C7520C1B +:100AF500929269D4FEC1DFF88EFD708EFCC1410073 +:100B0500118F92A09EFC11AF90A061CAC09EFC609F +:100B15009EFD34D4FE5206C0B9A5A592DFF9C6C420 +:100B2500C2C061FCC1C3C5C7520C929269D4FEC153 +:100B3500DFF88EFD708EFCC14100118F96A09EFCE2 +:100B450011AF94A061CAC09EFC609EFD34D4FE52D4 +:100B550006C0B9A5A592DFF9C6C4C2C061FCC1C370 +:100B6500C5C7520C929269D4FEC1DFF88EFD708E16 +:100B7500FCC14100118F9AA09EFC11AF98A061CADB +:100B8500C09EFC609EFD34D4FE5206C0B9A5A59258 +:100B9500DFF9C6C4C2C061FCC1C3C5C7520C92927D +:100BA50069D4FEC1DFF88EFD708EFCC1D50BE5DF83 +:100BB50006FC492E00EF0E4100118F9EA09EFC11F0 +:100BC500AF9CA061CAC09EFC609EFD34D4FE520657 +:100BD500C0B9A5A592DFF9C6C4C2C061FCC1C3C531 +:100BE500C7520C929269D4FEC1DFF88EFD708EFC5F +:100BF500C14100118FA2A09EFC11AFA0A061CAC087 +:100C05009EFC609EFD34D4FE5206C0B9A5A592DFB8 +:100C1500F9C6C4C2C061FCC1C3C5C7520C92926972 +:100C2500D4FEC1DFF88EFD708EFCC1D50BE5DF0665 +:100C3500FC4A2E00EF0E4100118FA6A09EFC11AFBD +:100C4500A4A061CAC09EFC609EFD34D4FE5206C0BD +:100C5500B9A5A592DFF9C6C4C2C061FCC1C3C5C7A9 +:100C6500520C929269D4FEC1DFF88EFD708EFCC1E4 +:100C7500D50BE5DF06FC4B2E00EF0E4100118FAAC8 +:100C8500A09EFC11AFA8A061CAC09EFC609EFD3469 +:100C9500D4FE5206C0B9A5A592DFF9C6C4C2C0618B +:100CA500FCC1C3C5C7520C929269D4FEC1DFF88E50 +:100CB500FD708EFCC1D50BE5DF06FCFD2D00EF0EAA +:100CC5004100118FAEA09EFC11AFACA061CAC09EC1 +:100CD500FC609EFD34D4FE5206C0B9A5A592DFF98D +:100CE500C6C4C2C061FCC1C3C5C7520C929269D4C7 +:100CF500FEC1DFF88EFD708EFCC1D50BE5DF06FC6D +:100D0500FC2D00EF0E4100118FB2A09EFC11AFB07B +:100D1500A061CAC09EFC609EFD34D4FE5206C0B9D7 +:100D2500A5A592DFF9C6C4C2C061FCC1C3C5C7523F +:100D35000C929269D4FEC1DFF88EFD708EFCC14124 +:100D450000118FB6A09EFC11AFB4A061CAC09EFC75 +:100D5500609EFD34D4FE5206C0B9A5A592DFF9C642 +:100D6500C4C2C061FCC1C3C5C7520C929269D4FE0E +:100D7500C1DFF88EFD708EFCC14100118FBAA09EB7 +:100D8500FC11AFB8A061CAC09EFC609EFD34D4FEC4 +:100D95005206C0B9A5A592DFF9C6C4C2C061FCC19F +:100DA500C3C5C7520C929269D4FEC1DFF88EFD709F +:100DB5008EFCC14100118FBEA09EFC11AFBCA0618D +:100DC500CAC09EFC609EFD34D4FE5206C0B9A5A5DE +:100DD50092DFF9C6C4C2C061FCC1C3C5C7520C923B +:100DE5009269D4FEC1DFF88EFD708EFCC141001101 +:100DF5008FC2A09EFC11AFC0A061CAC09EFC609EC0 +:100E0500FD34D4FE5206C0B9A5A592DFF9C6C4C209 +:100E1500C061FCC1C3C5C7520C929269D4FEC1DF43 +:100E2500F88EFD708EFCC14100118FC6A09EFC118D +:100E3500AFC4A061CAC09EFC609EFD34D4FE5206BC +:0D0E4500C0B9A5A592DFF9C6C4C2C061FC0A +:020000020000FC +:040E5200002001007B +:020000020000FC +:100E56003200C80078563412896D85AC0202111230 +:100E66001314222431333536377F727173787E92AC +:100E7600937000112233445566778899AABBCCDD5E +:080E8600EEFF00000000000077 +:020000020000FC +:100E8E0071009000C716BF04088C019F0108E5038E +:100E9E0008F2FCF8FF0EC6CF800804D7C5C716C3EC +:100EAE00E503088C02088C03BF0408340010CF023F +:100EBE00080F8C069F81084C03DD2415080E0008D0 +:100ECE001E01BF0008148C04088C05BF06081251C1 +:100EDE00004E06DD1BF98108FCF8FF0E62EF203094 +:100EEE000004BF06088C003129F005BF0008EFE5AD +:100EFE00FB040800899BA7A5B3F643DFF75100C298 +:100F0E0072C6C4D7FC04F00ED7C3FC08F00EC27133 +:070F1E00089000F58008D7E0 +:020000020000FC +:010F2500FFCC +:020000020000FC +:100F2600C7C5C116348008F6B9A5A53544C008352D +:100F3600DFF68EFDC1629EFD3182A13DF1114E02AA +:100F460061E8710091089F0308114E0061E8E19F76 +:100F5600010830800814BF0408118C0199410E1154 +:100F66004FE8FFDC1411F9E9FF6142DC0C5200FC8A +:100F7600F8FF0E71009008EF025205C09EFDC0C436 +:070F8600C6D771109008D7D7 +:020000020000FC +:010F8D00FF64 +:020000020000FC +:050F8E0071189008D766 +:020000020000FC +:010F9300FF5E +:020000020000FC +:100F9400C7C5C3C1712090088EFDC1410036D80F6A +:100FA40032D81034800A11ABB9A7A7A5A51743DC22 +:090FB400F5C09EFDC0C2C4C6D701 +:020000020000FC +:010FBD00FF34 +:020000020000FC +:100FBE00C7C5C3C1713090088EFDC1410036D8102F +:090FCE0032581134800BEED3FF00 +:020000020000FC +:010FD700FF1A +:020000020000FC +:100FD800C7C5C18EFC758EFD74CEFC0F69740B619C +:100FE800CBFCC4080F624CFFDD477148900871784C +:100FF80090088F9008315539510F9EFCAF920861C7 +:10100800CB5203EF065206EF025208A80016410E13 +:1010180011AFE6FF47DC1817312D9F0208609F01CA +:1010280008F50008F50308300004BF0608EF63520E +:1010380005659EFC649EFDC0C4C6D7A800168C003A +:10104800708C01BF04088C025C03DFE38C05D1DFE0 +:10105800DE8C06D1DDD94C41DED570F1312DBF06CD +:1010680008B1B1C5148C02708C03BF000805358C1B +:10107800049F02081C0035161570C4DCB2410E66C8 +:10108800113FDFFF67113FE0FF60113FE1FFDE9F87 +:10109800520413FCF8FF0E624CFFDF958F91083164 +:1010A800030F71409008604C0361F871709008EF6D +:1010B80080FCC4080FEFE000000000000000000002 +:1010C80000000000B10AB50AB90AEB0A910A00004B +:020000020000FC +:1010D800C5C18EFC758EFD74CEFC0F69F80B61CB13 +:1010E800308008BF04085210FCF8FF0ED2DF1467E6 +:1010F8005F80089F8008675C0161E8710080085282 +:1011080011EF1071589008659EFC649EFDC0C4C61E +:10111800D75213FCF8FF0E624CFFDF0C8F91083199 +:10112800031571409008EFDF8F90083155D9510FA2 +:101138009EFCAF920861CBFCC4080FEFDA000000F8 +:101148000000000000000000900BC10B0000000030 +:020000020000FC +:101158005204EF0A5200EF065202EF025206FE2531 +:101168000061F8EC800A0F521FD7C151FF500FEFF2 +:101178001AC151475007EF13C151475007EF0CC12F +:1011880051475047EF05C151F750075F9008614834 +:02119800C0D7BE +:020000020000FC +:10119A00C80300AEF827DD3BDC39315E12F643DDC9 +:1011AA0027BBBC02BC04BC06BC08BC0ABC0CBC0EF7 +:1011BA00BC10BC12BC14BC16BC18BC1ABC1CBC1E8D +:1011CA003704200037B3EFD6AEF847DD06F6BBA7E3 +:0411DA00A7EFF5D7AF +:020000020000FC +:1011DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:1011EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:1011FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10120E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10121E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10122E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10123E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10124E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10125E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10126E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10127E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10128E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10129E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1012AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1012BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1012CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1012DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1012EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1012FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10130E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10131E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10132E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10133E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10134E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10135E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10136E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10137E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10138E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10139E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:1013AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1013BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1013CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1013DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1013EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1013FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10140E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10141E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10142E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10143E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10144E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10145E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10146E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10147E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10148E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10149E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:1014AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1014BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1014CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1014DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1014EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1014FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10150E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10151E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10152E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10153E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10154E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10155E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10156E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10157E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10158E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10159E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:1015AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1015BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1015CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1015DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1015EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1015FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10160E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10161E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10162E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10163E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10164E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10165E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10166E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10167E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10168E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10169E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:1016AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1016BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1016CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1016DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1016EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1016FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10170E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10171E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10172E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10173E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10174E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10175E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10176E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10177E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10178E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10179E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:1017AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1017BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1017CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1017DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1017EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1017FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10180E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10181E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10182E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10183E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10184E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10185E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10186E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10187E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10188E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10189E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:1018AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1018BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1018CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1018DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1018EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1018FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10190E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10191E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10192E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10193E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10194E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10195E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10196E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10197E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10198E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10199E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:1019AE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:1019BE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1019CE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1019DE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1019EE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1019FE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:101A0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:101A1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:101A2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:101A3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:101A4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:101A5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:101A6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:101A7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:101A8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:101A9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:101AAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:101ABE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:101ACE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:101ADE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:101AEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:101AFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:101B0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:101B1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:101B2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:101B3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:101B4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:101B5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:101B6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:101B7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:101B8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:101B9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:101BAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:101BBE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:101BCE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:101BDE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:101BEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:101BFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:101C0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:101C1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:101C2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:101C3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:101C4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:101C5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:101C6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:101C7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:101C8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:101C9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:101CAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:101CBE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:101CCE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:101CDE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:101CEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:101CFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:101D0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:101D1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:101D2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:101D3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:101D4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:101D5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:101D6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:101D7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:101D8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:101D9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:101DAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:101DBE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:101DCE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:101DDE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:101DEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:101DFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:101E0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:101E1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:101E2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:101E3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:101E4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:101E5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:101E6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:101E7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:101E8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:101E9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:101EAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:101EBE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:101ECE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:101EDE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:101EEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:101EFE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:101F0E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:101F1E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:101F2E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:101F3E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:101F4E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:101F5E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:101F6E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:101F7E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:101F8E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:101F9E00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:101FAE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:101FBE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:101FCE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:101FDE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:101FEE00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:021FFE00FFFFE3 +:020000020000FC +:1020000051070000FFFFFFDF02800180DF070000B3 +:10201000FFFFFFDF0281028080808200070703024A +:102020000310C7500000070703020111765100009A +:10203000060701020227F3530000060703030328E3 +:10204000AF54000007070302013E1A5900000707BA +:1020500003020285C659000007070303002223522A +:10206000000006030104002E685500000207010469 +:102070000331895700000201010500340D450000BD +:1020800002010103003693470000020101010037FD +:102090001B4C0000000000000000000000000000D9 +:1020A0000000000000000000000000000000000030 +:1020B0000000000000000000000000000102D53216 +:1020C00000000202C03300000302A7340000010236 +:1020D0005D35000003025D3500001102C5350000CA +:1020E0001206F636000000038C41000001038C410B +:1020F000000003038C4100000002C74200000102FF +:102100000F43000002026F4300000108D5430000A6 +:102110000304F74300000403020000637D64000031 +:10212000040302000863C7640000040302000B6399 +:1021300011650000040302000C635B6500000403EA +:1021400002000E63A5650000070708000002AE5AF2 +:102150000000070708000102EB5A0000070708000B +:1021600013F1465C00000707100080F1D55C000009 +:102170000707010086F19D5D000007070B0087F14E +:10218000C25D000007070A008AF1455E00000707EC +:1021900003008BF18A5E00000707110090F1CF5E0B +:1021A00000000707100095F16560000007071000A8 +:1021B00093F1DB5F00000707100098F13561000024 +:1021C0000707040099F1BB610000070704009DF1B7 +:1021D0004A6200000603100098F1766100000603D1 +:1021E000040099F100620000010D083900000205A9 +:1021F0000A3E000003055B3F00000104443C000070 +:1022000002057A3E00000305CC3F000001047E3841 +:10221000000002049A3D00000304EA3E00000108A9 +:102220003D40000002058A41000003058B4100008B +:10223000020100FFE821020101FFFA21020102026E +:102240001E22060403020C22AA504352020101007E +:1022500051070800738D000000000000DF07080030 +:102260000B90000000000000590708000000010367 +:102270000164000000000000000000000300AA004C +:102280005107DF07590700004B009600881300F044 +:10229000061601F006170291811203918114049130 +:1022A00081710591831206918314079183710891BE +:1022B0008412099184140A9184710B9186110C91F6 +:1022C00086140DC073000000000000000000000034 +:1022D00000000000000000000000000000000000FE +:1022E00000000000000000000000000000000000EE +:1022F00000000000963007772C610EEEBA51099964 +:1023000019C46D078FF46A7035A563E9A395649EBF +:102310003288DB0EA4B8DC791EE9D5E088D9D297E3 +:102320002B4CB609BD7CB17E072DB8E7911DBF903F +:102330006410B71DF220B06A4871B9F3DE41BE8463 +:102340007DD4DA1AEBE4DD6D51B5D4F4C785D383BF +:1023500056986C13C0A86B647AF962FDECC9658A63 +:102360004F5C0114D96C0663633D0FFAF50D088DBF +:10237000C8206E3B5E10694CE44160D5727167A263 +:10238000D1E4033C47D4044BFD850DD26BB50AA5BF +:10239000FAA8B5356C98B242D6C9BBDB40F9BCACE3 +:1023A000E36CD832755CDF45CF0DD6DC593DD1AB3F +:1023B000AC30D9263A00DE518051D7C81661D0BF63 +:1023C000B5F4B42123C4B3569995BACF0FA5BDB8BF +:1023D0009EB802280888055FB2D90CC624E90BB163 +:1023E000877C6F2F114C6858AB1D61C13D2D66B6BF +:1023F0009041DC760671DB01BC20D2982A10D5EF23 +:102400008985B1711FB5B606A5E4BF9F33D4B8E87E +:10241000A2C9077834F9000F8EA8099618980EE122 +:10242000BB0D6A7F2D3D6D08976C6491015C63E67E +:10243000F4516B6B62616C1CD83065854E0062F2A2 +:10244000ED95066C7BA5011BC1F4088257C40FF5FE +:10245000C6D9B06550E9B712EAB8BE8B7C88B9FC22 +:10246000DF1DDD62492DDA15F37CD38C654CD4FB7E +:102470005861B24DCE51B53A7400BCA3E230BBD422 +:1024800041A5DF4AD795D83D6DC4D1A4FBF4D6D37E +:102490006AE96943FCD96E34468867ADD0B860DA22 +:1024A000732D0444E51D03335F4C0AAAC97C0DDD7E +:1024B0003C710550AA41022710100BBE86200CC9A2 +:1024C00025B56857B3856F2009D466B99FE461CEFE +:1024D0000EF9DE5E98C9D9292298D0B0B4A8D7C722 +:1024E000173DB359810DB42E3B5CBDB7AD6CBAC07E +:1024F0002083B8EDB6B3BF9A0CE2B6039AD2B1749A +:102500003947D5EAAF77D29D1526DB048316DC73F5 +:10251000120B63E3843B64943E6A6D0DA85A6A7A99 +:102520000BCF0EE49DFF099327AE000AB19E077DF5 +:1025300044930FF0D2A3088768F2011EFEC2066919 +:102540005D5762F7CB67658071366C19E7066B6E75 +:10255000761BD4FEE02BD3895A7ADA10CC4ADD6799 +:102560006FDFB9F9F9EFBE8E43BEB717D58EB060F5 +:10257000E8A3D6D67E93D1A1C4C2D83852F2DF4F99 +:10258000F167BBD16757BCA6DD06B53F4B36B248F5 +:10259000DA2B0DD84C1B0AAFF64A0336607A044199 +:1025A000C3EF60DF55DF67A8EF8E6E3179BE6946F5 +:1025B0008CB361CB1A8366BCA0D26F2536E2685219 +:1025C00095770CCC03470BBBB91602222F26055575 +:1025D000BE3BBAC5280BBDB2925AB42B046AB35C99 +:1025E000A7FFD7C231CFD0B58B9ED92C1DAEDE5BF5 +:1025F000B0C2649B26F263EC9CA36A750A936D02D9 +:10260000A906099C3F360EEB856707721357000534 +:10261000824ABF95147AB8E2AE2BB17B381BB60C58 +:102620009B8ED2920DBED5E5B7EFDC7C21DFDB0BB4 +:10263000D4D2D38642E2D4F1F8B3DD686E83DA1FD8 +:10264000CD16BE815B26B9F6E177B06F7747B71834 +:10265000E65A0888706A0FFFCA3B06665C0B0111D8 +:10266000FF9E658F69AE62F8D3FF6B6145CF6C1634 +:1026700078E20AA0EED20DD75483044EC2B30339D8 +:10268000612667A7F71660D04D476949DB776E3E34 +:102690004A6AD1AEDC5AD6D9660BDF40F03BD83758 +:1026A00053AEBCA9C59EBBDE7FCFB247E9FFB530B4 +:1026B0001CF2BDBD8AC2BACA3093B353A6A3B424D8 +:1026C0000536D0BA9306D7CD2957DE54BF67D92334 +:1026D0002E7A66B3B84A61C4021B685D942B6F2AD8 +:1026E00037BE0BB4A18E0CC31BDF055A8DEF022D34 +:1026F00000100F00090000140F00050010140F0057 +:10270000090020140F00120040140F00090050149B +:102710000F00110060140F00050070140F00050079 +:1027200080140F00090003180F00030006180F00A3 +:10273000030009180F0003000C180F0003000F1806 +:102740000F00030012180F00030015180F000300FC +:1027500018180F0003001B180F0003001E180F00AD +:10276000030021180F00030024180F00030027188E +:102770000F0003002A180F000300FFFFE803F40115 +:042780006400FFFFF3 +:020000020000FC +:10278400C72006FBF8FFAF2A03F1085C080861685C +:10279400DD06320500EE4701AF2A03F1085C0408A8 +:1027A4006168DD1CAF2603085CFB08BF2603AF2A63 +:1027B40003F1085C04086168DD06320400EE1F01C1 +:1027C400AF0803F1085C04086168DD1CAF0403086A +:1027D4005CFB08BF0403AF0803F1085C04086168EC +:1027E400DD06320400EEF700300204BF2203F6BF18 +:1027F4002403E6BF0003303A01BF0203E6A1BF3061 +:1028040003AF8A03BC02AF8A03085CFE08BF8A03D5 +:1028140030A003BC04F6BBAB440200DE77AB320C41 +:1028240000CEFB011279002012AC041413B9AB32B0 +:102834000C00CEFB011279022012AC041413BA026C +:10284400AB320C00CEFB011279042012AC04141339 +:10285400BA04AB320C00CEFB011279062012AC0490 +:102864001413BA06AB320C00CEFB01127908201205 +:10287400AC041413BA08AB320C00CEFB0112790A73 +:102884002012AC041413BA0AAC04040C00BC046196 +:102894007900EF83AC02BF8A03300400BF320330F7 +:1028A4000210BF38035112BF3A03A1A1BF5003E67F +:1028B400BF5203500EBF7A03AF2603F1085C07082A +:1028C4000C03BF2603AF0403F1085C070891BF049F +:1028D40003AF060304A100BF0603FCA52D00F710F7 +:1028E40006C6D7AF2A03F1085C01086168DD1AAF98 +:1028F4002603085CFC08BF2603AF2A03F1085C0129 +:10290400086168DD04320400D7F52C03D51820DDF6 +:102914000AAF3803086C0108BF3803D51920DD0A53 +:10292400AF3A03086C0108BF3A03401A2081DF0A5A +:10293400AF5003086C0108BF5003F7D7AF0803F189 +:10294400085C01086168DD1AAF0403085CFC08BF79 +:102954000403AF0803F1085C01086168DD04320474 +:1029640000D7401A2082DF0AAF5003086C0108BF69 +:102974005003F7D7C7C12004FBF8FF8C04318E0441 +:102984006C03BC0214CA0000AC021489D1DD053208 +:10299400FEFFEF76AF8A03BBAF8A03086C0108BF62 +:1029A4008A038C043149318E0C06BC02AC0C14A988 +:1029B40012AC021413B9AC0C14AA0212AC02141314 +:1029C400BA02AC0C14AA0612AC021413BA06AC0C6C +:1029D40014AA0812AC021413BA08AC0C14AA0A12F2 +:1029E400AC021413BA0AAC0C14AA0C12AC021413E1 +:1029F400BA0CAC0C14AA0E12AC021413BA0EABBF70 +:102A04008A038C047238640301F71006C6D7C7160C +:102A140017F104640314896C0299F7C6D7C7C1205F +:102A240004FBF8FF8C04318E046C03BB14897230F0 +:102A34000006615A318E311EBC02F6614902DD0581 +:102A4400AB14CA0000AC02121006C6D7C7C1C1FB42 +:102A5400F8FFAF5803F1085C02086168DD04E7A3DE +:102A6400EF3DAF8A03BBAF8A03086C0108BF8A033A +:102A7400AC0214A9BFE005AA02BFE205AA06BFE69C +:102A840005AA08BFE805AA0ABFEA05AA0CBFEC0517 +:102A9400AA0EBFEE05ABBF8A03F690BF5C03F71026 +:102AA40004C6D7AF5803F1085C01086168DD0FAFB5 +:102AB4000803F1085C6008442000DF02E7D7F7D779 +:102AC400C7C1200AFBF8FFAF3403BC06F661490610 +:102AD400DF06320300EEE300F6614906DD2AE6BCB8 +:102AE400049C098C094C10DE1F8C065E04708C0754 +:102AF4005E056168DD08AC0A148C0999EF0AAC0420 +:102B040001BC04615909EFDBF6B161290412AF3449 +:102B140003615B08615A08BF3403AF34035E0508E0 +:102B24005E04086168DD0632FEFFEE8E00AF8A03A4 +:102B3400BBAF8A03086C0108BF8A03AC0A1489314D +:102B440049318E04A003BC0214A912AC121413B9A7 +:102B5400AC0214AA0212AC121413BA02AC0214AAE4 +:102B64000412AC121413BA04AC0214AA0612AC1266 +:102B74001413BA06AC0214AA0812AC121413BA083D +:102B8400AC0214AA0A12AC121413BA0AAC0214AAA4 +:102B94000C12AC121413BA0CAC0214AA0E12AC121E +:102BA4001413BA0EABBF8A03AF34035E05085E0488 +:102BB400086168DD0532FDFFEF01F7100CC6D7C7C9 +:102BC400C1FBF8FF8BD1DF08AC08FCE42B00EF0D50 +:102BD4008B91DF08AC08FC7B2C00EF01F7C0C6D753 +:102BE400C7C12006FBF8FFAF4003BC04E15E04311B +:102BF4008E6168DD05320300EF79F6BC0251045E94 +:102C040004318E6168DD09300800BF4003E6BC0270 +:102C1400AF4003085CF708BF4003AF8A03BBAF8A29 +:102C240003086C0108BF8A03AC0614AFA005B9AC55 +:102C34000614AFA205BA02AC0614AFA405BA04ACDC +:102C44000614AFA605BA06AC0614AFA805BA08ACBC +:102C54000614AFAA05BA0AAC0614AFAC05BA0CAC9C +:102C64000614AFAE05BA0EABBF8A03F690BF480395 +:102C7400AC02121008C6D7C7C12006FBF8FFAF424A +:102C840003BC04E15E04318E6168DD05320300EFAC +:102C940079F6BC0251045E04318E6168DD093008A6 +:102CA40000BF4203E6BC02AF4203085CF708BF4220 +:102CB40003AF8A03BBAF8A03086C0108BF8A03AC65 +:102CC4000614AFB005B9AC0614AFB205BA02AC062F +:102CD40014AFB405BA04AC0614AFB605BA06AC0614 +:102CE40014AFB805BA08AC0614AFBA05BA0AAC06F4 +:102CF40014AFBC05BA0CAC0614AFBE05BA0EABBF1C +:102D04008A03F690BF4A03AC02121008C6D7C7C1A3 +:102D14002006FBF8FFAF5803BC04E15E04318E616A +:102D240068DD05320300EF6FF6BC0251045E043126 +:102D34008E6168DD09301800BF5803E6BC02AF8A13 +:102D440003BBAF8A03086C0108BF8A03AC0614AF47 +:102D5400E005B9AC0614AFE205BA02AC0614AFE460 +:102D640005BA04AC0614AFE605BA06AC0614AFE81F +:102D740005BA08AC0614AFEA05BA0AAC0614AFECFF +:102D840005BA0CAC0614AFEE05BA0EABBF8A03F657 +:102D940090BF5C03AC02121008C6D7AF0803F1124F +:102DA400D7717BD0716BD0715BD0712BD1711BD17A +:102DB400710BD1715BD4712BD5711BD5710BD5D728 +:102DC400C77100C102360500F647DD08FC84270000 +:102DD4001316EFF436040030040047DF08FCE7283C +:102DE400001316EFF236040030040047DF08FC40FD +:102DF40029001316EFF2C6D7D7C736DAEAC7E6FCBE +:102E0400C32B00C0AFDAEA445107DD08AFDAEA4465 +:102E1400DF07DF2FAFDAEA44DF07DF1240E3EA3EE1 +:102E2400DF0C40E4EA80DF06FCA43100EF1536E253 +:102E3400EAC78FE1EA31CEC1AFDAEAC1F6FCAA757E +:102E4400001006C6D7D7D7AF5803085CEF08BF58A1 +:102E540003D7C7C1200CFBF8FF300F00614916DF10 +:102E64000630FF0F61491461C8EE9501300F00610F +:102E74004916DF0630FF1F61491461D8EE8201D57F +:102E8400D2E5DF3BCC0820CC0900717BFA1704089B +:102E940000FC8E0E00CC0608AC14BDD8AC16BDDA0E +:102EA400C9DC0010300F00FDD901ADD8BBAC18BC93 +:102EB4000417FCAA0E00629C0B717AFAE5D2E54075 +:102EC400D2E501DF708C0B81DF09FC120F00629CDC +:102ED4000BEFF28C0B81DD5D8C0B4C1BDF26CC06DB +:102EE40003AC14BDD8AC16BDDAC9DC0010300F0039 +:102EF400FDD901ADD831AEBB17FCAA0E00629C0B04 +:102F0400CFD2E5028C0BD1DF2CCC0604AC14BDD897 +:102F1400AC16BDDAC9DC0010300F00FDD901ADD804 +:102F2400BBAC18BC04AC0CBC0217FCAA0E00629C1F +:102F34000BCFD2E50340D2E502DF508C0B81DF09D1 +:102F4400FC120F00629C0BEFF28C0B81DD3D8C0BAD +:102F5400D1DF2ECC0604AC14BDD8AC16BDDAC9DC66 +:102F64000010300F00FDD901ADD8BBAC18BC04ACC7 +:102F74000CBC0217FCAA0E00629C0BCFD2E503EF37 +:102F84000ACC0B01E1318E12EE810040D2E503DF61 +:102F94004B8C0B81DF09FC120F00629C0BEFF28C4F +:102FA4000B81DD388C0BD1DF2ACC0606AC14BDD8DE +:102FB400AC16BDDAC9DC0010300F00FDD901ADD864 +:102FC400BBAC18BC0417FCAA0E00629C0BCFD2E564 +:102FD40004EF09CC0B01E1318E12EF3040D2E5044D +:102FE400DF2A8C0B81DF09FC120F00629C0BEFF2CD +:102FF4008C0B81DD17FC170F00F5D2E5321100EFC1 +:103004000BCC0B01F5D2E58C0B318E12100EC6D70A +:10301400C7C1200CFBF8FF300F00614916DF0630F2 +:10302400FF0F61491461C8EE0E01300F00614916AB +:10303400DF0630FF1F61491461D8EEFB00CC082085 +:10304400CC090017040800FC8E0E00CC0608AC1452 +:10305400BDD8AC16BDDAC9DC0010300F00FDD901B3 +:10306400ADD8BBAC18BC0417FCAA0E00629C0B8C38 +:103074000B81DF09FC120F00629C0BEFF28C0B4CEE +:103084001BDF30CC0603AC14BDD8AC16BDDAC9DCEA +:103094000010300F00FDD901ADD831AEBB17FCAA2A +:1030A4000E00629C0B8C0B81DF09FC120F00629CEA +:1030B4000BEFF28C0BD1DF72CC0604AC14BDD8AC90 +:1030C40016BDDAC9DC0010300F00FDD901ADD8BB44 +:1030D400AC18BC04AC0CBC0217FCAA0E00629C0B1E +:1030E4008C0B81DF09FC120F00629C0BEFF28C0B3E +:1030F400D1DF32CC0606AC14BDD8AC16BDDAC9DCBF +:103104000010300F00FDD901ADD8BBAC18BC0417BA +:10311400FCAA0E00629C0B8C0B81DF11FC120F00C9 +:10312400629C0BEFF2CC0B01EF03CC0B01FC170FED +:10313400008C0B318E12EF07CC0B01E1318E121093 +:103144000EC6D7C7C12008FBF8FF8F9000310329B2 +:1031540071009000F6BC02BC04AC04F743DF05AC7C +:1031640002440F00DE1300AC0412AC02040100613F +:10317400D8A3BC0233BC04EFE0AC10BBCC07008C7A +:1031840007318E614914DE14AB148972AC081462E1 +:1031940099617908617900615907EFE3100AC6D78C +:1031A400308813BF0EE6D7C7F6BFD4E5F5D6E5F5EC +:1031B400D7E5F5D8E576664C03DE087238D9E50024 +:1031C40086EFF3F5DCE55600664C04DE087238DD64 +:1031D400E50086EFF3F5E1E55600664C0ADE087279 +:1031E40038E2E50086EFF3F5ECE5F6BFEEE576664A +:1031F4004C14DE087238F0E50086EFF3C6D7C756E4 +:1032040000FCAB31003408E6C5340AE6C5300CE6F0 +:10321400FCF28C001004627791DD05674C02DF1D1F +:103224005601D50CE6DF05E5D7E5EF04CFD7E50277 +:10323400AF0AE6BFD4E5EB08E6899FD6E517F1129D +:10324400C6D7C7C1C1FBF8FFCC00FFCC01008C017D +:103254004C0EDE438C01F0316E61090A14AC02128B +:103264008A01704900007260614ADF26AC02A11233 +:103274008A02704900007260614ADF16AC02A1A1A3 +:10328400128A03704900007260614ADF058C019B59 +:10329400EF05615901EFB78B318E121004C6D7C701 +:1032A400C1C1FBF8FFCC00FFCC01008C014C04DE53 +:1032B400188C015006D661090A14894E02DF058C68 +:1032C400019BEF05615901EFE28B318E121004C6A8 +:1032D400D7C7200CFBF8FFF510E64011E60261F8B1 +:1032E400E535E6E511E6CF12E604E513E6E514E676 +:1032F400CF15E6038FD8E55C80D161E8EEA60040E7 +:1033040035E601DF6A3055AA4100114202A1DF0708 +:10331400084100114200A1DF563055AA4101114273 +:10332400F29FDF070841011142F09FDF42CF08E519 +:10333400A5CF09E507CF00E5068FD6E50C409F0130 +:10334400E58FD8E59F02E5AF9CF49F03E551FF5F4D +:103354009CF49F04E5AF9EF49F05E551FF5F9EF446 +:103364009F06E5CF07E5AAF50AE5F5ABFFEFFB8F6E +:10337400D6E50C409C068FD8E59C07AF9CF49C08CE +:1033840051FF5F9CF49C09AF9EF49C0A51FF5F9E21 +:10339400F49C0B17040600C1300600FCC89000C062 +:1033A400CC0501EF0E17040600C1F6FCC89000C05E +:1033B400CC05028C05318F12100CC6D7C72010FB28 +:1033C400F8FFF6BC06BC08E510E6308813BF0EE62D +:1033D4004011E601DD72CF11E602CF12E604E513D7 +:1033E400E6E514E6F515E6CF0AE5A58FD8E55C8099 +:1033F400D1DF3FCF08E5A5CF09E507CF00E5068F6C +:10340400D6E50C409F01E58FD8E59F02E5AF9CF41B +:103414009F03E551FF5F9CF49F04E5AF9EF49F0575 +:10342400E551FF5F9EF49F06E5CF07E5AAF5ABFFE4 +:10343400EFFBF508E517040A00C1F6FCC89000C0CC +:10344400CC0502F5ABFFEFFBD9AEF4F1C1D9D6E55B +:10345400FC784400C03404E6C5300300FCC8900086 +:10346400C0CC05008C05318F121010C6D7E510E6CC +:10347400308813BF0EE6CF11E602CF12E604F5132F +:10348400E6E514E6F515E6D7F510E6308813BF0E29 +:10349400E6E511E6CF12E604E513E6E514E6CF15FA +:1034A400E603D7C72008FBF8FF4011E602DD6FE50D +:1034B40010E6308813BF0EE64011E604DD0EE51376 +:1034C400E6CF11E604E514E6CF15E603CF12E604D1 +:1034D4008FD8E55C80D1DF368FD6E50C409C028F17 +:1034E400D8E59C03AF9CF49C0451FF5F9CF49C05BD +:1034F400AF9EF49C0651FF5F9EF49C0717040200E4 +:10350400C1300600FCC89000C0CC0101EF42170492 +:103514000200C1F6FCC89000C0CC0102EF3240D7D3 +:10352400E502DF1017040200C1F6FCC89000C0CC0D +:103534000102EF1CD9BAF4F1C1D9D6E5FC784400F4 +:10354400C03404E6C5300300FCC89000C0CC0100C0 +:103554008C01318F121008C6D7C72008FBF8FF8FE3 +:10356400D8E55C80D1DF33CF08E5A5CF09E503CFEB +:1035740000E5028FD6E50C409F01E58FD8E59F0258 +:10358400E5CF03E5AACF04E5AACF05E5AACF06E572 +:10359400AACF07E5AACC0501EF11F508E517040643 +:1035A40000C1F6FCC89000C0CC0502F50AE58C0504 +:1035B40091DF05F5ABFFEFFBF5ABFFEFFB1008C6A2 +:1035C400D7C7C12008FBF8FF401AE605DE23A01A7E +:1035D400E68F1AE66CB09F0EE5401AE605DF12305E +:1035E4001027BF1CE6300300BF16E6086CB09F0D21 +:1035F400E5F64218E661E8EED300421CE661E8EE27 +:10360400CB00401AE605DF06F51AE6F50EE58FD87D +:10361400E55C80D161E8EEA4008FD6E50C409C0205 +:103624008FD8E59C03FC194D00624C04DD0ECC04DC +:1036340000CC0500CC0600CC0700EF53401AE6028C +:10364400DE0CFC16730013BFA0F415BFA2F4AFA0E8 +:10365400F4BDD8AFA2F4BDDA5118FD0602F8D86261 +:103664009C04AFA0F4BDD8AFA2F4BDDA5110FD069E +:1036740002F8D8629C05AFA0F4BDD8AFA2F4BDDABD +:103684005108FD0602F8D8629C068FA0F49C0771CD +:10369400701EE68C08318EC1AFA0F4DBA2F4FC8965 +:1036A4007400C013BF20E615BF22E617040200C150 +:1036B400300600FCC89000C0CC0101EF2C170402B6 +:1036C40000C1F6FCC89000C0CC0102EF1CD9B4F4D0 +:1036D400F1C1D9D6E5FC784400C03404E6C5300312 +:1036E40000FCC89000C0CC01008C01318F12100A7C +:1036F400C6D7C7C12008FBF8FF51805F1EE6D16121 +:10370400F8EE4D01F51AE6F50EE5CC07008C074CF2 +:1037140004DE188C070C02318E0208E61489728CC0 +:1037240007736218DDE5615907EFE2D9DDE5F1BD04 +:10373400D8F6BDDA5118FDEB01ADD8BDDCADDABD6C +:10374400DED9DEE5F1BDD8F6BDDA5110FDEB01ADF1 +:10375400DEFDCA01ADD8BDDCADDABDDED9DFE5F1F1 +:10376400BDD8F6BDDA5108FDEB01ADDEFDCA01D9C5 +:10377400E0E5F1BDDCF6BDDEFDCA01ADDABC02ADAB +:10378400D8BBAC024222E6AB61F84220E6DD0EA2D1 +:1037940016E6AF16E6086CB09F0DE5EF1DF6BF16F2 +:1037A400E6F50DE58C084C02DF06CF12E606EF0ABB +:1037B4008C084C1261F8CF12E607F64216E6DF39A0 +:1037C4008FD8E55C80D1DF218FD6E50C409C058F36 +:1037D400D8E59C06CF1EE60417040500C1E6A1FC4B +:1037E400C89000C0CC0401EF6617040500C1F6FCC4 +:1037F400C89000C0CC0402EF56F64216E6DD2AAFAC +:1038040016E6440300DE22CF1EE604D9B2F4F1C169 +:10381400D9D6E5FC784400C03404E6C5300300FC86 +:10382400C89000C0CC0400EF48CF1EE60430102737 +:10383400BF18E6D9B3F4F1C1D9D6E5FC784400C089 +:103844003404E6C5300300FCC89000C0CC0400EF8B +:1038540020CF1EE604D9AFF4F1C1D9D6E5FC7844F3 +:1038640000C03404E6C5300300FCC89000C0CC049A +:10387400008C04318F12100AC6D7C72006FBF8FF4C +:103884004030E601DF538FD8E55C80D1DF348FD63A +:10389400E50C409C018FD8E59C0251FF5FEEE59C4E +:1038A40004AFEEE59C03CC0504F530E6E534E6E52B +:1038B40030E617A1C1300500FCC89000C0CC00015F +:1038C400EF33F530E6E534E6E530E617A1C1F6FC62 +:1038D400C89000C0CC0002EF1CD9AFF4F1C1D9D616 +:1038E400E5FC784400C03404E6C5300300FCC8900D +:1038F40000C0CC00008B318F121006C6D78F34E67F +:10390400318F12D7C72024FBF8FFEB08E68A059D08 +:10391400D8F4D9F6BDDA5118FDEB01AF08E6040678 +:1039240000C1ADD8BDDCADDABDDEC014899DD8F4CC +:10393400D9F6BDDA5110FDEB01ADDEFDCA01AF08C9 +:10394400E6040700C1ADD8BDDCADDABDDEC0148924 +:103954009DD8F4D9F6BDDA5108FDEB01ADDEFDCA00 +:1039640001EB08E68A089DDCF4DDF6BDDEFDCA0144 +:10397400ADDABC16ADD8BC14EB08E68A099DD8F4C0 +:10398400D9F6BDDA5118FDEB01AF08E6040A00C10F +:10399400ADD8BDDCADDABDDEC014899DD8F4D9F64E +:1039A400BDDA5110FDEB01ADDEFDCA01AF08E6043E +:1039B4000B00C1ADD8BDDCADDABDDEC014899DD825 +:1039C400F4D9F6BDDA5108FDEB01ADDEFDCA01EB19 +:1039D40008E68A0C9DDCF4DDF6BDDEFDCA01ADDA35 +:1039E400BC12ADD8BC10402FE603DD23D9AEF4F1F0 +:1039F400C1D9D6E5FC784400C03404E6C5300300E0 +:103A0400FCC89000C0CC1D00F1318F12EE2D02F6DF +:103A1400614916DF0630FF9F614914DE1AE66149E9 +:103A240016DF0630FF9F614914DC0CE6614912DFA2 +:103A340004F6614910DE23D9B0F4F1C1D9D6E5FC0E +:103A4400784400C03404E6C5300300FCC89000C0CC +:103A5400CC1D00F1318F12EEE2014031E60161E844 +:103A6400EEB801D9B9F4F1C1D9D6E5FC784400C067 +:103A74003404E6C5300300FCBE9100C0F6B1BC18A6 +:103A8400BC1A300400C1E6A1C117041800FCD0839D +:103A9400001004D261E8EE6401D9B9F4F1C1D9D6B9 +:103AA400E5FC784400C03404E6C5300300FCBE9154 +:103AB40000C0F6614916DF0630FF9F61491461C8F2 +:103AC400EEEF00E6614916DF0630FF9F614914619D +:103AD400D8EEDE00FCD88000629C23D1DF66D9B921 +:103AE400F4F1C1D9D6E5FC784400C03404E6C5300D +:103AF4000300FCBE9100C0304000C15028FCFD8092 +:103B040000C0629C23CF2FE6040017FCCA6900178B +:103B1400040800FCDC69008C0881DF05CC0801EF97 +:103B240003615908FCD88000D2DF19E6C15068FC53 +:103B3400FD8000C0301000C117C13000A0E7FC7840 +:103B4400810010048C23D1DF4B8FD8E55C80D1DF5A +:103B5400338FD6E50C409C1E8FD8E59C1F51FF5F28 +:103B6400EEE59C21AFEEE59C20CC2204F531E6E5A0 +:103B740031E617041E00C1300500FCC89000C0CC1B +:103B84001D01EF2C17041E00C1F6FCC89000C0CC28 +:103B94001D02EF67D9B6F4F1C1D9D6E5FC7844002B +:103BA400C03404E6C5300300FCC89000C0CC1D003E +:103BB400EF678FD8E55C80D1DF338FD6E50C409C6E +:103BC4001E8FD8E59C1F51FF5FEEE59C21AFEEE50B +:103BD4009C20CC2205F531E6E531E617041E00C130 +:103BE400300500FCC89000C0CC1D01EF4A17041E2C +:103BF40000C1F6FCC89000C0CC1D02EF3AD9B6F45F +:103C0400F1C1D9D6E5FC784400C03404E6C53003DC +:103C140000FCC89000C0CC1D00EF1CD9AFF4F1C16A +:103C2400D9D6E5FC784400C03404E6C5300300FC72 +:103C3400C89000C0CC1D008C1D318F121024C6D733 +:103C4400C72016FBF8FF4032E60161E8EE2301408D +:103C54002FE606DD328FD6E50C409C118FD8E59C0B +:103C64001251FF5FEEE59C14AFEEE59C13CC1505F5 +:103C740017041100C1300500FCC89000C0CC00013D +:103C8400E1318F12EE0B013055AA4100114202A11D +:103C9400DF07084100114200A161E8EEA1003055A0 +:103CA400AA41011142F29FDF070841011142F09F2E +:103CB40061E8EE8A0017A1FCCA690017040900FC38 +:103CC400DC69008C0181DF05CC0101EF036159013E +:103CD400CC0900FCD88000D2DF1AE6C15068FCFD94 +:103CE4008000C0301000C117A1C13000A0E7FC78EB +:103CF400810010048FD8E55C80D1DF338FD6E50CCA +:103D0400409C118FD8E59C1251FF5FEEE59C14AFE7 +:103D1400EEE59C13CC1504F532E6E532E617041102 +:103D240000C1300500FCC89000C0CC0001EF5F1753 +:103D3400041100C1F6FCC89000C0CC0002EF4F8F04 +:103D4400D6E50C409C118FD8E59C1251FF5FEEE53F +:103D54009C14AFEEE59C13CC1505F532E6E532E68E +:103D640017041100C1300500FCC89000C0CC00014C +:103D7400EF1CD9AFF4F1C1D9D6E5FC784400C034C6 +:103D840004E6C5300300FCC89000C0CC00008B31B1 +:103D94008F121016C6D7C72006FBF8FFD530E6DF12 +:103DA400418FD8E55C80D1DF2B8FD6E50C409C0198 +:103DB4008FD8E59C0251FF5FEEE59C04AFEEE59CD5 +:103DC40003CC050417A1C1300500FCC89000C0CC89 +:103DD4000001EF2A17A1C1F6FCC89000C0CC000274 +:103DE400EF1CD9AFF4F1C1D9D6E5FC784400C03456 +:103DF40004E6C5300300FCC89000C0CC00008B3141 +:103E04008F121006C6D7C72006FBF8FFD531E6DFB0 +:103E1400418FD8E55C80D1DF2B8FD6E50C409C0127 +:103E24008FD8E59C0251FF5FEEE59C04AFEEE59C64 +:103E340003CC050417A1C1300500FCC89000C0CC18 +:103E44000001EF2A17A1C1F6FCC89000C0CC000203 +:103E5400EF1CD9AFF4F1C1D9D6E5FC784400C034E5 +:103E640004E6C5300300FCC89000C0CC00008B31D0 +:103E74008F121006C6D7C72006FBF8FFD532E6DF3F +:103E8400418FD8E55C80D1DF2B8FD6E50C409C01B7 +:103E94008FD8E59C0251FF5FEEE59C04AFEEE59CF4 +:103EA40003CC050417A1C1300500FCC89000C0CCA8 +:103EB4000001EF2A17A1C1F6FCC89000C0CC000293 +:103EC400EF1CD9AFF4F1C1D9D6E5FC784400C03475 +:103ED40004E6C5300300FCC89000C0CC00008B3160 +:103EE4008F121006C6D7C72006FBF8FF4030E60144 +:103EF400DF418FD8E55C80D1DF2B8FD6E50C409C69 +:103F0400018FD8E59C0251FF5FEEE59C04AFEEE51E +:103F14009C03CC050417A1C1300500FCC89000C067 +:103F2400CC0001EF2A17A1C1F6FCC89000C0CC0058 +:103F340002EF1CD9AFF4F1C1D9D6E5FC784400C036 +:103F44003404E6C5300300FCC89000C0CC00008BEC +:103F5400318F121006C6D7C72006FBF8FF4031E6A2 +:103F640001DF418FD8E55C80D1DF2B8FD6E50C4093 +:103F74009C018FD8E59C0251FF5FEEE59C04AFEEF7 +:103F8400E59C03CC050417A1C1300500FCC89000D2 +:103F9400C0CC0001EF2A17A1C1F6FCC89000C0CC28 +:103FA4000002EF1CD9AFF4F1C1D9D6E5FC78440086 +:103FB400C03404E6C5300300FCC89000C0CC000047 +:103FC4008B318F121006C6D7C72006FBF8FF40328C +:103FD400E601DF418FD8E55C80D1DF2B8FD6E50C7D +:103FE400409C018FD8E59C0251FF5FEEE59C04AF35 +:103FF400EEE59C03CC050417A1C1300500FCC89074 +:1040040000C0CC0001EF2A17A1C1F6FCC89000C083 +:10401400CC0002EF1CD9AFF4F1C1D9D6E5FC784449 +:1040240000C03404E6C5300300FCC89000C0CC00D6 +:10403400008B318F121006C6D7C7200EFBF8FFD9AC +:10404400B9F4F1C1D9D6E5FC784400C03404E6C51E +:10405400300300FCBE9100C04033E60161E8EE018C +:10406400018FD6E50C409C018FD8E59C0251FF5F7F +:10407400EEE59C04AFEEE59C03EB08E68A049DD8CC +:10408400F4D9F6BDDA5118FDEB01AF08E6040500DA +:10409400C1ADD8BDDCADDABDDEC014899DD8F4D97C +:1040A400F6BDDA5110FDEB01ADDEFDCA01AF08E645 +:1040B400040600C1ADD8BDDCADDABDDEC014899DF7 +:1040C400D8F4D9F6BDDA5108FDEB01ADDEFDCA0125 +:1040D400EB08E68A079DDCF4DDF6BDDEFDCA01AD22 +:1040E400DABF4CE6ADD8BF4AE6300F00423CE6DF0B +:1040F4000630A0F9423AE6DF2DF6C1308004C13023 +:10410400A0F9C1F6B112FCF382001006AF4CE645EB +:10411400AF4AE661F843DF09CC0504CF2FE603EF8D +:1041240031CC0505EF2CE6C1B1C1C151A0C1F6B136 +:1041340012FC2382001008AF4CE645AF4AE661F852 +:1041440043DF0CF50AE5CC0504CF2FE606EF03CCDC +:10415400050517A1C1300500FCC89000C0CC0001C2 +:10416400EF1CD9AFF4F1C1D9D6E5FC784400C034D2 +:1041740004E6C5300300FCC89000C0CC00008B31BD +:104184008F12100EC6D7D7D7C7C12004FBF8FF4043 +:1041940011E604DD3440D7E502DF1017040200C144 +:1041A400F6FCC89000C0E7A3EEAE00D9B5F4F1C1A7 +:1041B400D9D6E5FC784400C03404E6C5300300FCDD +:1041C400C89000C0E7A3EE90008C04D1DD6A8C0493 +:1041D4004C04DE648FD8E55C80D1DF4C8FD6E50CCF +:1041E400409C028FD8E59C038C044C03DF125103DE +:1041F4002FD8E59F14E651032FD8E59F15E6EF1756 +:104204008C0491DF0A51032FD8E59F15E6EF08517E +:10421400032FD8E59F14E617040200C1E6A1FCC8E9 +:104224009000C0CC0101EF2C17040200C1F6FCC8B9 +:104234009000C0CC0102EF1CD9B0F4F1C1D9D6E58D +:10424400FC784400C03404E6C5300300FCC8900088 +:10425400C0CC01008C01318F121006C6D7C72004D0 +:10426400FBF8FF8FD8E55C80D1DF238FD6E50C40C7 +:104274009C028FD8E59C03F514E6F515E6170402B5 +:1042840000C1E6A1FCC89000C0CC0101EF0E1704E8 +:104294000200C1F6FCC89000C0CC01028C01318F31 +:1042A400121004C6D7D915E6F112D7D914E6F112C3 +:1042B400D751032F15E6318E12D751032F14E6314F +:1042C4008E12D7C72004FBF8FF308813BF0EE68F89 +:1042D400D8E55C80D1DF1D8FD6E50C409C028FD8D9 +:1042E400E59C0317040200C1E6A1FCC89000C0CC01 +:1042F4000101EF0E17040200C1F6FCC89000C0CC07 +:1043040001028C01318F121004C6D7C72004FBF8B8 +:10431400FF40D7E502DF154011E604DD0F17040264 +:1043240000C1F6FCC89000C0E7A3EF3BE513E68F9D +:10433400D8E55C80D1DF1D8FD6E50C409C028FD878 +:10434400E59C0317040200C1E6A1FCC89000C0CCA0 +:104354000101EF0E17040200C1F6FCC89000C0CCA6 +:1043640001028C01318F121004C6D7C72004FBF858 +:10437400FF40D7E502DF154011E604DD0F17040204 +:1043840000C1F6FCC89000C0E7A3EF3BF513E68F2D +:10439400D8E55C80D1DF1D8FD6E50C409C028FD818 +:1043A400E59C0317040200C1E6A1FCC89000C0CC40 +:1043B4000101EF0E17040200C1F6FCC89000C0CC46 +:1043C40001028C01318F121004C6D7D913E6F11201 +:1043D400D7C7D9AEF4F1C1D9D6E5FC784400C034CE +:1043E40004E6C5300300FCC89000C0560066318F57 +:1043F40012C6D7C7D9AEF4F1C1D9D6E5FC784400CA +:10440400C03404E6C5300300FCC89000C056006602 +:10441400318F12C6D7C72004FBF8FF4011E602DF34 +:1044240008F50AE5F5ABFFEFFBF510E6E511E6CF7D +:1044340012E604E513E6E514E6CF15E6031004C618 +:10444400D7F6420EE661E8B20EE6D7F64218E6DD8C +:104454000EB218E64218E6DF06BF16E6F50DE5F6DD +:10446400421CE6DD0EB21CE6421CE6DF06F51AE647 +:10447400F50EE5D7C7880616CF04E67F669F05E6E6 +:10448400679F06E6C6D7C7C1C1FBF8FFCC01008C05 +:10449400014E10DE1D8C0E0E01318E61090C148943 +:1044A400728C0A0E01318E610902146299615901FC +:1044B400EFDD1004C6D7C7C3C1FBF8FFF66149029C +:1044C400DF0551A0614900DF0CE661490CDF04F609 +:1044D40061490ADD2C300F00614902DF0630A0F982 +:1044E400614900DF0EF661490CDF06308004614942 +:1044F4000ADD0EF6614902DF0630015A614900DF28 +:1045040003E7EF01F71004C6D7C72024FBF8FFEB3D +:1045140008E68A019C238A029C228A039DD8F4D946 +:10452400F6BDDA5118FDEB01AF08E6040400C1AD95 +:10453400D8BDDCADDABDDEC014899DD8F4D9F6BD92 +:10454400DA5110FDEB01ADDEFDCA01AF08E604054A +:1045540000C1ADD8BDDCADDABDDEC014899DD8F490 +:10456400D9F6BDDA5108FDEB01ADDEFDCA01EB0859 +:10457400E68A069DDCF4DDF6BDDEFDCA01ADDABCDB +:1045840020ADD8BC1EEB08E68A079DD8F4D9F6BD49 +:10459400DA5118FDEB01AF08E6040800C1ADD8BD3F +:1045A400DCADDABDDEC014899DD8F4D9F6BDDA518C +:1045B40010FDEB01ADDEFDCA01AF08E6040900C140 +:1045C400ADD8BDDCADDABDDEC014899DD8F4D9F612 +:1045D400BDDA5108FDEB01ADDEFDCA01EB08E68A48 +:1045E4000A9DDCF4DDF6BDDEFDCA01ADDABC1CAD0E +:1045F400D8BC1AAC2012AC1EBF3AE633BF3CE6ACC2 +:104604001C12AC1ABF42E633BF44E68C23D161E8E6 +:10461400EE57018C224C4461E8EE4E01300B00420F +:10462400D4E561E8EE2501AC1CC1AC1AC1AC201282 +:10463400AC1EFCBA440010049261E8EEF000F642AD +:104644003CE6DF0630015A423AE6DD10300F004204 +:104654003CE6DF0630A0F9423AE6DF1C30A0F9BFA1 +:104664003AE631CEBF3CE6308004BF42E6F6BF44B2 +:10467400E65042BFA8F4EF43300202BFA8F4300072 +:10468400A0BF3AE6F6BF3CE6BF42E6E6BF44E640DA +:104694002FE604DD22D9BDF4C1D9D6E5FC78440067 +:1046A400C03404E6C5300300FCC89000C0CC01004F +:1046B400F1318F12EED400CF2FE605D9D6E5F1FC07 +:1046C4001F4D00629C19318EFC6F4D00629C189145 +:1046D400DF3E8FD6E50C409C12CC132051FF5FA81F +:1046E400F49C15AFA8F49C1417041200C130040004 +:1046F400FCC89000C0E524E6AC1C12AC1ABF26E648 +:1047040033BF28E6F6BF2AE6BF2CE6CC0101EF76DC +:10471400D9BDF4F1C1D9D6E5FC784400C03404E62F +:10472400C5300300FCC89000C0CC0100EF58D9B0DC +:10473400F4F1C1D9D6E5FC784400C03404E6C530B0 +:104744000300FCC89000C0CC0100EF3AD9ACF4F1EE +:10475400C1D9D6E5FC784400C03404E6C530030072 +:10476400FCC89000C0CC0100EF1CD9B0F4F1C1D951 +:10477400D6E5FC784400C03404E6C5300300FCC828 +:104784009000C0CC01008C01318F121024C6D7C711 +:104794002016FBF8FF4024E601DD0F4024E602DD8D +:1047A400094024E60361E8EE4804AFD4E5B1B1BCA6 +:1047B40014BDDCF6BDDEAF2AE6BDD8AF2CE6BDDA0B +:1047C400ADDEFDCA01ADDABF2CE6ADD8BF2AE6EBFB +:1047D40008E68A019C13D92EE6F1A1F1609C12AC83 +:1047E40014BDD8F6BDDA8C139DDCF4DDF6BDDEFD18 +:1047F4008201E646DADF03F646D861D8EED503AF88 +:10480400D4E542A8F4DD23D9ACF4F1C1D9D6E5FC52 +:10481400784400C03404E6C5300300FCC89000C0EE +:10482400CC0B00F1318F12EEE9038C1391DF0640BB +:1048340024E601DD1F8C134E12DD0A8C12914E13F7 +:1048440061E8EE71034024E602DD094024E60361D9 +:10485400E8EE62038C1391DF114024E601DF0BF6CE +:10486400BF50E6BF54EACF24E6028C12914E13DF08 +:1048740074300F00423CE6DF0630A0F9423AE6DD30 +:1048840064AF3EE6BBF6BC04AC044252E6DE21ABA8 +:10489400CDD40FF74361F8F4D4C18DD4C014AC0463 +:1048A4000454E6C5C2146299617900617904EFD8B1 +:1048B400DB40E6AF3EE6BF3AE633BF3CE6AF52E646 +:1048C400BF50E6AC14BDDCF6BDDEAF2AE6BDD8AF02 +:1048D4002CE6BDDAADDEFDD901ADDABF2CE6ADD8EC +:1048E400BF2AE6EF408C12914E13DF39300F00429D +:1048F4003CE6DF0630A0F9423AE6DF29AF54EA612C +:104904002914BF54EAAC14BDDCF6BDDEAF2AE6BD03 +:10491400D8AF2CE6BDDAADDEFDD901ADDABF2CE6A9 +:10492400ADD8BF2AE6AC140250E6318EBF4EE6F68F +:10493400BC04AC040250E6DB4EE6318C43DE1AAC18 +:1049440004A1A10208E6148972AC040250E60454DE +:10495400E6146299617904EFD9AFEAEA441D01DEF5 +:104964001ED9BCF4F1C1D9D6E5FC784400C03404A6 +:10497400E6C5300300FCC89000C0CC0B00EF24AFA8 +:10498400EAEA443F02DC1CD9BBF4F1C1D9D6E5FC08 +:10499400784400C03404E6C5300300FCC89000C06D +:1049A400CC0B00AFD4E542A8F461E8EEEA018C1325 +:1049B4009F2EE6AF2CE64228E6AF2AE661F84226AF +:1049C400E6DF6CCF24E603AC140250E6DB4EE6319E +:1049D4008C23BF50E6F6BF2AE6BF2CE64250E661C0 +:1049E400E8A24EE6F6BC02AC024250E6DE21AC047C +:1049F400A1A10208E6148972AC040250E60454E64C +:104A0400146299AC04A1BC04AC02A1BC02EFD8AC02 +:104A1400040250E6DB4EE6318C43DE0FAC04025058 +:104A2400E6123954E6FF617904EFE4F6BF50E6AFCD +:104A340050E6BF52E6AC140250E6DB4EE6318C235E +:104A4400BF50E6300F00423CE6DF0630A0F9423AA0 +:104A5400E6DF57E6A1BC02AF54EABDD8F6BDDA42A0 +:104A640044E6ADD861F84242E6DE22AC02A1BC02C3 +:104A7400B10208E6148972A254EAAF54EA049FF919 +:104A8400146299AC14A1A112AC0243DCCA8FD6E51E +:104A94000C409C0C8C139C0D17040C00C1E6A1FC6B +:104AA400C89000C0CC0B01EEEC00D9B9F4F1C1D927 +:104AB400D6E5FC784400C03404E6C5300300FCBEEF +:104AC4009100C0FCD88000D2DF653054E6BC08DB1E +:104AD4003CE6AF3AE6BF3EE633BF40E6F6424EE67A +:104AE400DD4DD9B9F4C1D9D6E5FC784400C034040D +:104AF400E6C5300300FCBE9100C0CC0B00F0E1C160 +:104B0400AC08C1AF3AE6DB3CE6FC788100100462F5 +:104B14009C07AF3AE6DB3CE604000161D8A3BF3A48 +:104B2400E633BF3CE6AC0881BC08B24EE6EFAD8C80 +:104B340007D1DF468FD6E50C409C0C8C139C0D17D7 +:104B4400040C00C1E6A1FCC89000C0AC04A1A1BC47 +:104B540004F6BC02AC024250E6DE1AAC040208E6DB +:104B6400148973AC02334854E6AC04A1BC04AC020F +:104B7400A1BC02EFDFCC0B01EF76D9AAF4F1C1D9C5 +:104B8400D6E5FC784400C03404E6C5300300FCC814 +:104B94009000C0CC0B00EF76D9ACF4F1C1D9D6E5C6 +:104BA400FC784400C03404E6C5300300FCC890001F +:104BB400C0CC0B00EF58D9B8F4F1C1D9D6E5FC78D4 +:104BC4004400C03404E6C5300300FCC89000C0CCE7 +:104BD4000B00EF3AD9B0F4F1C1D9D6E5FC78440022 +:104BE400C03404E6C5300300FCC89000C0CC0B0000 +:104BF400EF1CD9AFF4F1C1D9D6E5FC784400C03438 +:104C040004E6C5300300FCC89000C0CC0B008C0B3C +:104C1400318F121016C6D7C72004FBF8FF4024E6D4 +:104C240003DF40E642D4E5DF1C8FD6E50C409C024E +:104C34009C0217040200C1E6FCC89000C0F524E6FB +:104C4400E533E6EF3AD9ACF4F1C1D9D6E5FC7844C2 +:104C540000C03404E6C5300300FCC89000C0CC0199 +:104C640000EF1CD9AFF4F1C1D9D6E5FC784400C0FB +:104C74003404E6C5300300FCC89000C0CC01008CAD +:104C840001318F121004C6D7E511E6CF12E604E510 +:104C940013E6E514E6CF15E603F6BF18E6CF1EE6E5 +:104CA40004BF16E68F0EE59F1AE6D90DE5F1BF168F +:104CB400E68F1AE6314A4C0BDF09341AE6895C0F99 +:104CC40099EF03F51AE6AF16E6314E440B00DF0CFC +:104CD400510F5F16E6318EBF16E6EF04F6BF16E6F7 +:104CE400AF16E6440300DC06301027BF18E6F524AF +:104CF400E6E530E6E531E6E532E6F534E6D7DB0E07 +:104D0400E6D7308813BF0EE6D7D910E6F112D7D90B +:104D140011E6F112D7D912E6F112D7C7C1C1FBF8D7 +:104D2400FFCC00FFCC01008C014C10DE178C01502D +:104D34000AD6124921204E02DF058C019BEF056142 +:104D44005901EFE38B318E121004C6D7C7165700F2 +:104D540066500AD6041C20C1FC134D00C489615A54 +:104D6400D161E8570167318E12C6D7C7165700665E +:104D7400500AD6041C20C1FC194D00C48A01615A92 +:104D8400D161E8570167318E12C6D7C7165700663E +:104D9400500AD612491E205FD7E5D161E8876731F2 +:104DA4008E12C6D7C7C1C1FBF8FFCC01008C0250DC +:104DB4000AD612491F20318E12AC0A4361C8CC01B5 +:104DC400018C01318E121004C6D7C7C1C1FBF8FF94 +:104DD400CC00FFCC01008C014E02DE1D8C0A5C7FEE +:104DE400728C015006D661090C14896142DF058C6E +:104DF400019BEF05615901EFDD8B318E121004C662 +:104E0400D7C7C1C1FBF8FFCC01008C025006D661A4 +:104E1400090C148A01318E61490A61F8CC01018CB4 +:104E240001318E121004C6D7C7C1C1FBF8FFCC01F3 +:104E340000AC02440300DC18AC02440C00DE118C0C +:104E4400025C01318EE743DF07AC02311E609C0136 +:104E54008C01318E121004C6D7C7C1C1FBF8FFCC38 +:104E64000100AC02440300DC0CF6614902DF068C4D +:104E7400022C029C018C01318E121004C6D7C7C1CA +:104E8400C1FBF8FFCC01008C02500AD661090A1458 +:104E94008A020C03318E42D4E561F8CC01018C0105 +:104EA400318E121004C6D7C7C1C1FBF8FFCC010074 +:104EB4008C02500AD661090A148A020C03318E420C +:104EC400D4E5DD0B8A020C02318E42D4E561F8CCC4 +:104ED40001018C01318E121004C6D7C7C1C1FBF881 +:104EE400FFCC00FFCC01008C014E02DE1A8C015075 +:104EF4000AD661090C14AA0461490ADF058C019BD6 +:104F0400EF05615901EFE08B318E121004C6D7C74B +:104F1400C1C1FBF8FFCC01008C02500AD661090A1A +:104F2400C1FC134D00C489615AD161E8CC01018CE4 +:104F340001318E121004C6D7C7C1C1FBF8FFCC01E2 +:104F4400008C02500AD661090AC1FC194D00C48ABA +:104F540001615AD161E8CC01018C01318E12100437 +:104F6400C6D7C7C1C1FBF8FFCC00FFCC01008C0140 +:104F74004E02DE1A8C015006D661090C14AA026195 +:104F8400490ADF058C019BEF05615901EFE08B3184 +:104F94008E121004C6D7C7C1C1FBF8FFCC01008C28 +:104FA400025006D661090AC1FC134D00C489615A36 +:104FB400D161E8CC01018C01318E121004C6D7C72F +:104FC400C1C1FBF8FFCC01008C025006D661090A6E +:104FD400C1FC194D00C48A01615AD161E8CC0101B8 +:104FE4008C01318E121004C6D7C7C1C1FBF8FFCCA7 +:104FF40000FFCC01008C014E0CDE298C0A5C7F7210 +:105004008C025006D661090E148C015006D6C312C8 +:10501400AA040314C2896142DF058C019BEF056178 +:105024005901EFD18B318E121004C6D7C7C1C1FB11 +:10503400F8FFCC01008C025006D661090C148C0ACE +:105044005006D612AA0403148A01318E42D4E561B3 +:10505400F8CC01018C01318E121004C6D7C7C120CF +:1050640004FBF8FF8C0E9C01AC0E9C02AC0C148962 +:10507400318E610904148C0299AC0C14898199ACA9 +:105084000C1489318E610904148C0199AC0C1489B7 +:105094008199CC03008C034E12DE1D8C03318E618A +:1050A4000910148972AC0C14890E03318E61090441 +:1050B400146299615903EFDDAC0C14890E12991036 +:1050C40006C6D7C7200AFBF8FFCC09FFEB08E68A1F +:1050D400019FD8E534BC20C5D9D8E5F1C15003FC03 +:1050E400CE4D001004629C0981DF3440D7E502DF15 +:1050F4001017040200C1F6FCC89000C0CC0102EFF6 +:1051040068D9ABF4F1C1D9D6E5FC784400C03404C5 +:10511400E6C5300300FCC89000C0CC0100EF4A345F +:10512400BC20C5AFD4E5C18C09318EFC054E0010FE +:1051340004629C0891DF168C095006D604BC201426 +:105144008A049EFCAA0261CA629C01EF1CD9ACF4D9 +:10515400F1C1D9D6E5FC784400C03404E6C5300377 +:1051640000FCC89000C0CC01008C01318F12100AE1 +:10517400C6D7C7200AFBF8FFCC09FFEB08E68A0173 +:105184009FD8E534CE20C5D9D8E5F1C1E6A1FCCE3F +:105194004D001004629C0981DF3240D7E502DF0E26 +:1051A40017A1C1F6FCC89000C0CC0702EF68D9ABC8 +:1051B400F4F1C1D9D6E5FC784400C03404E6C53026 +:1051C4000300FCC89000C0CC0700EF4A34CE20C5D1 +:1051D400AFD4E5C18C09318EFC054E001004629CED +:1051E4000891DF168C095006D604CE20148A049E3A +:1051F400FCAA0261CA629C07EF1CD9ACF4F1C1D9C4 +:10520400D6E5FC784400C03404E6C5300300FCC88D +:105214009000C0CC07008C07318F12100AC6D7C784 +:105224002090FBF8FFCC8F00CC8D00CC0301CC0286 +:1052340000AFD4E5FC2C4E00629C8ED161F8EE8860 +:10524400018C8E9FECE58C8E3119318EC1E6C1AF95 +:1052540008E6C1F6C130E2E5FC8A44001008D5EC4A +:10526400E561F8EE0A018C8F7309E2E5318E318D28 +:10527400128C8F81318E04E2E51489318E03BC8651 +:105284008C8F0C029C8F344821C5AC86C1300E0033 +:10529400FCDF4E001004629C8C8161F8EEC800347F +:1052A4004821C58C8C318EFC134F00C0629C8B91BD +:1052B40061E8EEAA00344821C58C8C318EFC3C4F49 +:1052C40000C0629C8A91DF768C8C500AD6044821F7 +:1052D4001417046B00C18A089DD4AA06C18DD49DFD +:1052E400D6C01417046C00C18DD69EFCC061EAC000 +:1052F400629C8934ECE58991998C8991DD228C89B1 +:105304007309AAF4318EC1D9D6E5FC784400C034BF +:1053140004E6C5300300FCC89000C0CC0100EF5087 +:105324008C6B318EC117046C00C1AC86C1170403A9 +:1053340000C117040400FC6150001008EF2FD9B11C +:10534400F4F1C1D9D6E5FC784400C03404E6C53094 +:105354000300FCC89000C0CC0100CC0201EF116135 +:10536400598DB0ECE5EF0661598DB0ECE5EEEEFE3B +:105374008C02D1DF708C8D4E8EDF3440D7E502DF96 +:105384001017048000C1F6FCC89000C0CC0102EFE5 +:1053940054D9B0F4F1C1D9D6E5FC784400C0340442 +:1053A400E6C5300300FCC89000C0CC0100EF368F86 +:1053B400D6E50C409C0417040400C18C03318EFC18 +:1053C400C89000C0CC0101EF1CD9ACF4F1C1D9D60E +:1053D400E5FC784400C03404E6C5300300FCC89002 +:1053E40000C0CC01008C01318F121090C6D7D7C7F2 +:1053F400200AFBF8FFCC09FFEB08E68A019FD8E5F9 +:1054040034DA20C5D9D8E5F1C1E6A1FCCE4D0010AF +:1054140004629C0981DF3240D7E502DF0E17A1C187 +:10542400F6FCC89000C0CC0702EF77D9ABF4F1C109 +:10543400D9D6E5FC784400C03404E6C5300300FC4A +:10544400C89000C0CC0700EF5934DA20C5AFD4E5CA +:10545400C18C09318EFC054E001004629C0891DF5A +:10546400258C095006D604DA20148C095006D6047B +:10547400DA20128A049EFCAA0214490000318E61CB +:10548400EA629C07EF1CD9ACF4F1C1D9D6E5FC78EB +:105494004400C03404E6C5300300FCC89000C0CC0E +:1054A40007008C07318F12100AC6D7C7200AFBF8F1 +:1054B400FFCC09FFEB08E68A019FD8E534E620C556 +:1054C400D9D8E5F1C15003FCCE4D001004629C090B +:1054D40081DF3240D7E502DF0E17A1C1F6FCC89088 +:1054E40000C0CC0702EF74D9ABF4F1C1D9D6E5FC06 +:1054F400784400C03404E6C5300300FCC89000C002 +:10550400CC0700EF5634E620C5AFD4E5C18C093191 +:105514008EFC054E001004629C0891DF228C095019 +:1055240006D604E62014AF08E6A1A1128A049EFC64 +:10553400AA0214490000318E61EA629C07EF1CD96B +:10554400ACF4F1C1D9D6E5FC784400C03404E6C516 +:10555400300300FCC89000C0CC07008C07318F12C8 +:10556400100AC6D7C72016FBF8FFCC1500CC0203DF +:10557400E6A1C1E6C1AF08E6C1F6C130E2E5FC8AA6 +:10558400440010088FE2E5F012D9E3E5F103BC080A +:1055940034D421C5AC08C1E6A1FCDF4E001004627E +:1055A4009C148161F8EE5E01305AF1614908DF0D07 +:1055B40030210042D4E5DF05CC1301EF1034D421AF +:1055C400C58C14318EFC824E00C0629C138C1391E6 +:1055D40061E8EE13018C14500AD61249D621318E9B +:1055E400C15003C1AF08E6C1F6C130F0E5FC8A44FE +:1055F4000010088C14500AD61249D6219C0734D4C2 +:1056040021C58C14318EFC134F00C0629C12916131 +:10561400E8EEA00034D421C58C14318EFC3C4F003C +:10562400C0629C1191DF6F8C14500AD604D42114EB +:1056340017040700C18A089DD4AA06C18DD49DD63B +:10564400C01430F0E5C18DD69EFCC061EAC0629CF6 +:105654001091DD228C107309AAF4318EC1D9D6E5DC +:10566400FC784400C03404E6C5300300FCC8900054 +:10567400C0CC0100EF708FD6E50C409C038FE2E5AF +:105684009C048FE3E59C0517040300C1300300FC70 +:10569400C89000C0EF6ED9B1F4F1C1D9D6E5FC7859 +:1056A4004400C03404E6C5300300FCC89000C0CCFC +:1056B4000100EF5040D7E502DF1017040A00C1F6DD +:1056C400FCC89000C0CC0102EF6ED9B0F4F1C1D98E +:1056D400D6E5FC784400C03404E6C5300300FCC8B9 +:1056E4009000C0CC0100EF50D9ACF4F1C1D9D6E59B +:1056F400FC784400C03404E6C5300300FCC89000C4 +:10570400C0CC0100EF3240D7E502DF1017040A00D5 +:10571400C1F6FCC89000C0CC0102EF1CD9B0F4F172 +:10572400C1D9D6E5FC784400C03404E6C530030092 +:10573400FCC89000C0CC01008C01318F121016C639 +:10574400D7C7D9AEF4F1C1D9D6E5FC784400C0344A +:1057540004E6C5300300FCC89000C0560066318FD3 +:1057640012C6D7C7D9AEF4F1C1D9D6E5FC78440046 +:10577400C03404E6C5300300FCC89000C05600667F +:10578400318F12C6D7C7200CFBF8FFEB08E68A025C +:10579400318E318D128A03318E03BFEEE5EB08E6BC +:1057A4008A019FD8E5343022C5AFEEE5C13004004C +:1057B400FC664F001004629C0B8161F8EE1F0134FB +:1057C4003022C58C0B318EFC9A4F00C0629C08912C +:1057D40061E8EED800343022C58C0B318EFCC34F07 +:1057E40000C0629C079161E8EEA400343022C53009 +:1057F4000300C1D9D8E5C18C0B318EFCED4F0010EC +:1058040006629C0981DD57343022C58C09318EC172 +:105814008C0B318EFC3050001004629C0A91DF2006 +:105824008C0B5006D6043022148C095006D612AACA +:105834000403148A049EFCAA0261CA629C06EF6BEC +:10584400D9ACF4F1C1D9D6E5FC784400C03404E6FF +:10585400C5300300FCC89000C0CC0600EF4D40D713 +:10586400E502DF0D17C1F6FCC89000C0CC0602EFBC +:105874006BD9ABF4F1C1D9D6E5FC784400C034044B +:10588400E6C5300300FCC89000C0CC0600EF4DD93B +:10589400B1F4F1C1D9D6E5FC784400C03404E6C5BE +:1058A400300300FCC89000C0CC0600EF6040D7E590 +:1058B40002DF0D17C1F6FCC89000C0CC0602EF4D04 +:1058C400D9B0F4F1C1D9D6E5FC784400C03404E67B +:1058D400C5300300FCC89000C0CC0600EF2F40D7B1 +:1058E400E502DF0D17C1F6FCC89000C0CC0602EF3C +:1058F4001CD9BAF4F1C1D9D6E5FC784400C034040B +:10590400E6C5300300FCC89000C0CC06008C06310C +:105914008F12100CC6D7C7200AFBF8FFCC09FFEB87 +:1059240008E68A019FD8E534F820C5D9D8E5F1C145 +:10593400E6FCCE4D001004629C0981DF3240D7E5BD +:1059440002DF0E17A1C1F6FCC89000C0CC0702EF1D +:1059540068D9ABF4F1C1D9D6E5FC784400C034046D +:10596400E6C5300300FCC89000C0CC0700EF4A3401 +:10597400F820C5AFD4E5C18C09318EFC054E00106A +:1059840004629C0891DF168C095006D604F8201492 +:105994008A049EFCAA0261CA629C07EF1CD9ACF47B +:1059A400F1C1D9D6E5FC784400C03404E6C530031F +:1059B40000FCC89000C0CC07008C07318F12100A7D +:1059C400C6D7C7200AFBF8FFCC09FFEB08E68A011B +:1059D4009FD8E5FC134D00624C04DD3240D7E5024C +:1059E400DF0E17A1C1F6FCC89000C0E7A3EEB60015 +:1059F400D9B5F4F1C1D9D6E5FC784400C03404E645 +:105A0400C5300300FCC89000C0E7A3EE980034FE44 +:105A140020C5D9D8E5F1C1E6A1FCCE4D0010046241 +:105A24009C0981DF3240D7E502DF0E17A1C1F6FCE5 +:105A3400C89000C0CC0702EF68D9ABF4F1C1D9D645 +:105A4400E5FC784400C03404E6C5300300FCC8908B +:105A540000C0CC0700EF4A34FE20C5AFD4E5C18CAA +:105A640009318EFC054E001004629C0891DF168CEF +:105A7400095006D604FE20148A049EFCAA0261CAB8 +:105A8400629C07EF1CD9ACF4F1C1D9D6E5FC78448B +:105A940000C03404E6C5300300FCC89000C0CC0745 +:105AA400008C07318F12100AC6D7C7C1C1FBF8FF9B +:105AB40017FCCA690092DF28CC01008C01D1DF17E2 +:105AC4008C01318E071489728C01318E61090214A4 +:105AD4006299615901EFE4AC0A14CA0001E7EF03CB +:105AE4003204001004C6D7C7C1C1FBF8FF17FCDCA1 +:105AF400690092DF28CC01008C01D1DF178C0131C1 +:105B04008E071489728C01318E61090214629961C5 +:105B14005901EFE4AC0A14CA0001E7EF03320400B0 +:105B24001004C6D7C7C1200AFBF8FF17040200FC03 +:105B3400EE690092DF2CCC01008C014C08DE1A8C3B +:105B440001318E070402001489728C01318E6109BF +:105B54000A146299615901EFE0AC1214CA0008E713 +:105B6400EF03320400100CC6D7C7C1200AFBF8FFAC +:105B7400FCB57000D2DD35CC0900AC1214894E0995 +:105B840061D3188C09318E61090A1489728C093128 +:105B94008E07A1146299615909EFDF17A1FCBD704A +:105BA4000092DF03E7EF08320400EF033204001031 +:105BB4000CC6D7C7C1200AFBF8FF17040200FC0774 +:105BC4006A0092DF2CCC01008C014C08DE1A8C0197 +:105BD400318E070402001489728C01318E61090A26 +:105BE400146299615901EFE0AC1214CA0008E7EF9E +:105BF40003320400100CC6D7C7C1200AFBF8FFFC0F +:105C0400B57000D2DD35CC0900AC1214894E09619F +:105C1400D3188C09318E61090A1489728C09318E6A +:105C240007A1146299615909EFDF17A1FC00710003 +:105C340092DF03E7EF08320400EF03320400100C94 +:105C4400C6D7C7C12006FBF8FF17040200FC1F6A71 +:105C54000092DF2CCC01008C014C04DE1A8C013143 +:105C64008E070402001489728C01318E61090614B6 +:105C74006299615901EFE0AC0E14CA0004E7EF0326 +:105C84003204001008C6D7C7C12020FBF8FFFCB5BA +:105C94007000D2DD35CC1F00AC2814894E1F61D3AF +:105CA400188C1F318E6109201489728C1F318E0764 +:105CB400A114629961591FEFDF17A1FC326A0092A7 +:105CC400DF03E7EF08320400EF033204001022C6BA +:105CD400D7C7C12012FBF8FF17040200FC646A0056 +:105CE40092DF2CCC01008C014C10DE1A8C01318E19 +:105CF400070402001489728C01318E610912146246 +:105D040099615901EFE0AC1A14CA0010E7EF0332AD +:105D140004001014C6D7C7C12010FBF8FF17A1FC5C +:105D2400C46B0092DF27CC00008B4C0FDE168B3146 +:105D34008E07A11489728B318E61091014629961E6 +:105D44005900EFE5AC1814CA000FE7EF0332040062 +:105D54001012C6D7C7C1200EFBF8FF17040200FCBF +:105D6400C96B0092DF2CCC01008C014C0CDE1A8C28 +:105D740001318E070402001489728C01318E61098D +:105D84000E146299615901EFE0AC1614CA000CE7D5 +:105D9400EF033204001010C6D7C7C1C1FBF8FF17C8 +:105DA400A1FCCE6B0092DF0FAC02148C0199AC0AFB +:105DB40014CA0001E7EF033204001004C6D7C7C1B8 +:105DC400200CFBF8FF17040200FC106C0092DF2C7F +:105DD400CC01008C014C0ADE1A8C01318E070402BE +:105DE400001489728C01318E61090C146299615915 +:105DF40001EFE0AC1414CA000AE7EF033204001008 +:105E04000EC6D7C7C12010FBF8FF17A1FC356C00E4 +:105E140092DF27CC00008B4C0FDE168B318E07A14E +:105E24001489728B318E610910146299615900EFE3 +:105E3400E5AC1814CA000FE7EF033204001012C6D1 +:105E4400D7C7C12008FBF8FF17040200FC3A6C0016 +:105E540092DF2CCC01008C014C06DE1A8C01318EB1 +:105E6400070402001489728C01318E6109081462DE +:105E740099615901EFE0AC1014CA0006E7EF033250 +:105E84000400100AC6D7C7C12006FBF8FF17040296 +:105E940000FC536C0092DF2CCC01008C014C04DE1E +:105EA4001A8C01318E070402001489728C01318E20 +:105EB400610906146299615901EFE0AC0E14CA003D +:105EC40004E7EF033204001008C6D7C7C12012FB51 +:105ED400F8FF17FC666C0092DF29CC11008C114C82 +:105EE40011DE178C11318E071489728C11318E6179 +:105EF4000912146299615911EFE3AC1A14CA001122 +:105F0400E7EF033204001014C6D7C7C12016FBF80C +:105F1400FFFCB57000D2DD35CC1500AC1E14894EE3 +:105F24001561D3188C15318E6109161489728C157C +:105F3400318E07A1146299615915EFDF17A1FC4254 +:105F4400710092DF03E7EF08320400EF033204002C +:105F54001018C6D7C7C12010FBF8FF17A1FC7F6C2F +:105F64000092DF27CC00008B4C0FDE168B318E079E +:105F7400A11489728B318E610910146299615900E0 +:105F8400EFE5AC1814CA000FE7EF03320400101257 +:105F9400C6D7C7C1200EFBF8FF17040200FC846CAF +:105FA4000092DF2CCC01008C014C0CDE1A8C0131E8 +:105FB4008E070402001489728C01318E61090E145B +:105FC4006299615901EFE0AC1614CA000CE7EF03C3 +:105FD4003204001010C6D7C7C12012FBF8FF170403 +:105FE4000200FC896C0092DF2CCC01008C014C1067 +:105FF400DE1A8C01318E070402001489728C01317F +:106004008E610912146299615901EFE0AC1A14CA45 +:106014000010E7EF033204001014C6D7C7C1200EE6 +:10602400FBF8FF17040200FC1A6E0092DF2CCC016F +:10603400008C014C0CDE1A8C01318E070402001412 +:1060440089728C01318E61090E146299615901EFD4 +:10605400E0AC1614CA000CE7EF033204001010C6BB +:10606400D7C7C12012FBF8FF17040200FC1F6E0003 +:1060740092DF2CCC01008C014C10DE1A8C01318E85 +:10608400070402001489728C01318E6109121462B2 +:1060940099615901EFE0AC1A14CA0010E7EF03321A +:1060A40004001014C6D7C7C1200AFBF8FF17A1FCCF +:1060B400B06F0092DF2ACC09008C094C08DE188CE2 +:1060C40009318E07A11489728C09318E61090A1471 +:1060D4006299615909EFE2AC1214CA0008E7EF03B0 +:1060E400320400100CC6D7C7C1200AFBF8FFFCB568 +:1060F4007000D2DD35CC0900AC1214894E0961D38D +:10610400188C09318E61090A1489728C09318E0741 +:10611400A1146299615909EFDF17A1FC85710092FE +:10612400DF03E7EF08320400EF03320400100CC66B +:10613400D7C7C12012FBF8FF17A1FCC96F0092DF7B +:106144002ACC11008C114C10DE188C11318E07A151 +:106154001489728C11318E6109121462996159117A +:10616400EFE2AC1A14CA0010E7EF03320400101473 +:10617400C6D7C7C12012FBF8FF17040200FCC87180 +:106184000092DF2CCC01008C014C10DE1A8C013102 +:106194008E070402001489728C01318E6109121475 +:1061A4006299615901EFE0AC1A14CA0010E7EF03D9 +:1061B4003204001014C6D7C7C12006FBF8FF170429 +:1061C4000200FCE26F0092DF2CCC01008C014C0435 +:1061D400DE1A8C01318E070402001489728C01319D +:1061E4008E610906146299615901EFE0AC0E14CA7C +:1061F4000004E7EF033204001008C6D7C7C1200625 +:10620400FBF8FFFCB57000D2DD35CC0500AC0E14F4 +:10621400894E0561D3188C05318E61090614897283 +:106224008C05318E07A1146299615905EFDF17A11E +:10623400FC0B720092DF03E7EF08320400EF033235 +:1062440004001008C6D7C7C12006FBF8FF170402D4 +:1062540000FCFB6F0092DF2CCC01008C014C04DEAF +:106264001A8C01318E070402001489728C01318E5C +:10627400610906146299615901EFE0AC0E14CA0079 +:1062840004E7EF033204001008C6D7C7C12006FB99 +:10629400F8FFFCB57000D2DD35CC0500AC0E1489D6 +:1062A4004E0561D3188C05318E6109061489728CF0 +:1062B40005318E07A1146299615905EFDF17A1FC1E +:1062C4004E720092DF03E7EF08320400EF0332045A +:1062D400001008C6D7C7C1C1FBF8FF17A1FC147092 +:1062E4000092DF26CC00008BD1DF168B318E07A104 +:1062F4001489728B318E610902146299615900EF1D +:10630400E6AC0A14CA0001E7EF033204001004C625 +:10631400D7C7C1C1FBF8FF17A1FC1F700092DF268D +:10632400CC00008BD1DF168B318E07A11489728BC0 +:10633400318E610902146299615900EFE6AC0A14C6 +:10634400CA0001E7EF033204001004C6D7C7C1C175 +:10635400FBF8FF17A1FC2A700092DF26CC00008B0B +:10636400D1DF168B318E07A11489728B318E6109AE +:1063740002146299615900EFE6AC0A14CA0001E7FD +:10638400EF033204001004C6D7C7C1C1FBF8FF17DE +:10639400A1FC36700092DF26CC00008BD1DF168B77 +:1063A400318E07A11489728B318E610902146299AE +:1063B400615900EFE6AC0A14CA0001E7EF033204A6 +:1063C400001004C6D7C7C1C1FBF8FF17A1FC437076 +:1063D4000092DF26CC00008BD1DF168B318E07A113 +:1063E4001489728B318E610902146299615900EF2C +:1063F400E6AC0A14CA0001E7EF033204001004C635 +:10640400D7C7C1C1FBF8FF17A1FC50700092DF266B +:10641400CC00008BD1DF168B318E07A11489728BCF +:10642400318E610902146299615900EFE6AC0A14D5 +:10643400CA0001E7EF033204001004C6D7C7C1C184 +:10644400FBF8FF17A1FC5D700092DF26CC00008BE7 +:10645400D1DF168B318E07A11489728B318E6109BD +:1064640002146299615900EFE6AC0A14CA0001E70C +:10647400EF033204001004C6D7C7C1200AFBF8FF9B +:10648400FCB57000D2DD35CC0900AC1214894E097C +:1064940061D3188C09318E61090A1489728C09310F +:1064A4008E07A1146299615909EFDF17A1FC91725B +:1064B4000092DF03E7EF08320400EF033204001018 +:1064C4000CC6D7C7C1200AFBF8FFFCB57000D2DDAB +:1064D40035CC0900AC1214894E0961D3188C0931EA +:1064E4008E61090A1489728C09318E07A11462998C +:1064F400615909EFDF17A1FCAB720092DF03E7EFEC +:1065040008320400EF03320400100CC6D7C7C120C0 +:106514000AFBF8FFFCB57000D2DD35CC0900AC12E3 +:1065240014894E0961D3188C09318E61090A1489C2 +:10653400728C09318E07A1146299615909EFDF1732 +:10654400A1FCC5720092DF03E7EF08320400EF03F9 +:10655400320400100CC6D7C7C1200AFBF8FFFCB5F3 +:106564007000D2DD35CC0900AC1214894E0961D318 +:10657400188C09318E61090A1489728C09318E07CD +:10658400A1146299615909EFDF17A1FCE07200922E +:10659400DF03E7EF08320400EF03320400100CC6F7 +:1065A400D7C7C1200AFBF8FFFCB57000D2DD35CC9B +:1065B4000900AC1214894E0961D3188C09318E611B +:1065C400090A1489728C09318E07A11462996159E0 +:1065D40009EFDF17A1FCFB720092DF03E7EF08323B +:1065E4000400EF03320400100CC6D7C7C12004FB1B +:1065F400F8FF17A1FC6A700092DF27CC00008B4CD7 +:1066040003DE168B318E07A11489728B318E6109DA +:1066140004146299615900EFE5AC0C14CA0003E755 +:10662400EF033204001006C6D7C7C12004FBF8FFED +:10663400FCB57000D2DD33CC0300AC0C14894E03DE +:1066440061D3178C03318E6109041489728C033170 +:106654008E07146299615903EFE017FC6F70009282 +:10666400DF03E7EF08320400EF033204001006C62C +:10667400D7C7C1200EFBF8FF17040200FC7470009A +:1066840092DF2CCC01008C014C0CDE1A8C01318E73 +:10669400070402001489728C01318E61090E1462A0 +:1066A40099615901EFE0AC1614CA000CE7EF03320C +:1066B40004001010C6D7C7C12008FBF8FF17A1FCBF +:1066C40079700092DF27CC00008B4C07DE168B31EB +:1066D4008E07A11489728B318E6109081462996145 +:1066E4005900EFE5AC1014CA0007E7EF03320400C9 +:1066F400100AC6D7C7C12008FBF8FFFCB57000D24A +:10670400DD33CC0700AC1014894E0761D3178C0716 +:10671400318E6109081489728C07318E07146299CD +:10672400615907EFE017FC7E700092DF03E7EF0882 +:10673400320400EF03320400100AC6D7C7C1200494 +:10674400FBF8FF17A1FC83700092DF27CC00008BBD +:106754004C03DE168B318E07A11489728B318E6146 +:106764000904146299615900EFE5AC0C14CA0003E2 +:10677400E7EF033204001006C6D7C7C12004FBF8B4 +:10678400FFFCB57000D2DD33CC0300AC0C14894E91 +:106794000361D3178C03318E6109041489728C034D +:1067A400318E07146299615903EFE017FC88700079 +:1067B40092DF03E7EF08320400EF0332040010060F +:1067C400C6D7C7C1C1FBF8FF17A1FC8D700092DFCB +:1067D40026CC00008BD1DF168B318E07A114897271 +:1067E4008B318E610902146299615900EFE6AC0A9B +:1067F40014CA0001E7EF033204001004C6D7C7C16E +:106804002004FBF8FF17040200FC92700092DF2CB6 +:10681400CC01008C014C02DE1A8C01318E0704027B +:10682400001489728C01318E6109041462996159D2 +:1068340001EFE0AC0C14CA0002E7EF0332040010CD +:1068440006C6D7C7C12004FBF8FF17040200FC9753 +:10685400700092DF2CCC01008C014C02DE1A8C01FA +:10686400318E070402001489728C01318E6109048F +:10687400146299615901EFE0AC0C14CA0002E7EF0D +:10688400033204001006C6D7C7C1C1FBF8FF17A125 +:10689400FC9C700092DF26CC00008BD1DF168B317C +:1068A4008E07A11489728B318E6109021462996179 +:1068B4005900EFE6AC0A14CA0001E7EF0332040002 +:1068C4001004C6D7C7C12004FBF8FF17040200FC5C +:1068D400A1700092DF2CCC01008C014C02DE1A8CDA +:1068E40001318E070402001489728C01318E610912 +:1068F40004146299615901EFE0AC0C14CA0002E778 +:10690400EF033204001006C6D7C7C1C1FBF8FF1756 +:10691400A1FCA6700092DF26CC00008BD1DF168B81 +:10692400318E07A11489728B318E61090214629928 +:10693400615900EFE6AC0A14CA0001E7EF03320420 +:10694400001004C6D7C7C1C1FBF8FF17A1FCAB7088 +:106954000092DF26CC00008BD1DF168B318E07A18D +:106964001489728B318E610902146299615900EFA6 +:10697400E6AC0A14CA0001E7EF033204001004C6AF +:10698400D7C7C12004FBF8FF17040200FCB0700055 +:1069940092DF2CCC01008C014C02DE1A8C01318E6A +:1069A400070402001489728C01318E610904146297 +:1069B40099615901EFE0AC0C14CA0002E7EF03320D +:1069C40004001006C6D7C7164101118F00A09B8191 +:1069D400DD03E7EF01F7C6D7C7164101118F08A001 +:1069E4009B81DD03E7EF01F7C6D7C716300800C166 +:1069F4005003C117FC1085001004D2DF03E7EF0138 +:106A0400F7C6D7C716300800C1A1C117FC1085000E +:106A14001004D2DF03E7EF01F7C6D7C7161714CA6D +:106A24000003CA0102CA0201CA0307E7C6D7C7C1E5 +:106A3400C1FBF8FFCC01008C014C1EDE168C013129 +:106A44008E6109021489728C01736218BEF4615953 +:106A540001EFE48C01D1DF03E7EF01F71004C6D79F +:106A6400C7C12004FBF8FF30209CBBE19C029DD4ED +:106A7400ABA1BBB11461B8D4118972AC041462998E +:106A84008C029DD4ABA1BBB11461B8D4118972AC92 +:106A94000414629A018C029DD4ABA1BBB11461B8F9 +:106AA400D4118972AC0414629A028C029DD4ABA1F5 +:106AB400BBB11461B8D4118972AC0414629A038C0A +:106AC400029DD4ABA1BBB11461B8D4118972AC04DA +:106AD40014629A048C029DD4ABA1BBB11461B8D4E6 +:106AE400118972AC0414629A058C029DD4ABA1BBCB +:106AF400B11461B8D4118972AC0414629A068C0280 +:106B04009DD4ABA1BBB11461B8D4118972AC041487 +:106B1400629A078C029DD4ABA1BBB11461B8D411A5 +:106B24008972AC0414629A088C029DD4ABA1BBB1E7 +:106B34001461B8D4118972AC0414629A098C029D50 +:106B4400D4ABA1BBB11461B8D4118972AC04146282 +:106B54009A0A8C029DD4ABA1BBB11461B8D411893B +:106B640072AC0414629A0B8C029DD4ABA1BBB11419 +:106B740061B8D4118972AC0414629A0C8C029DD44D +:106B8400ABA1BBB11461B8D4118972AC0414629A7C +:106B94000D8C029DD4ABA1BBB11461B8D411897220 +:106BA400AC0414629A0E8C029DD4ABA1BBB11461E7 +:106BB400B8D4118972AC0414629A0FE71006C6D7D0 +:106BC400C716E7C6D7C716E7C6D7C7C1C1FBF8FFC4 +:106BD400CC01FFFC134D00629C0191DF08AC021450 +:106BE400CA0001EF1A8C014C02DF08AC0214CA007F +:106BF40002EF0C8C014C04DF06AC0214CA00038CB7 +:106C04000181DD03E7EF01F71004C6D7C716171497 +:106C1400CA0036CA0136CA0230CA0330CA0430CAAE +:106C24000530CA0635CA0738CA0839CA0930E7C662 +:106C3400D7C716E7C6D7C7161714CA0035CA01370F +:106C4400CA0234CA0332CA0432CA0532E7C6D7C7F5 +:106C5400161714CA0020CA0118CA0206CA0315E787 +:106C6400C6D7C716301100C15004C117FC108500E7 +:106C74001004D2DF03E7EF01F7C6D7C716E7C6D77C +:106C8400C716E7C6D7C7C12004FBF8FF30009CBB7A +:106C9400E19C029DD4ABA1BBB11461B8D41189723B +:106CA400AC04A1BC04B11462998C029DD4ABA1BB09 +:106CB400B11461B8D4118972AC04A1BC04B11462DA +:106CC400998C029DD4ABA1BBB11461B8D411897263 +:106CD400AC04A1BC04B11462998C029DD4ABA1BBD9 +:106CE400B11461B8D4118972AC04A1BC04B11462AA +:106CF400998C029DD4ABA1BBB11461B8D411897233 +:106D0400AC04A1BC04B11462998C029DD4ABA1BBA8 +:106D1400B11461B8D4118972AC04A1BC04B1146279 +:106D2400998C029DD4ABA1BBB11461B8D411897202 +:106D3400AC04A1BC04B11462998C029DD4ABA1BB78 +:106D4400B11461B8D4118972AC04A1BC04B1146249 +:106D5400998C029DD4ABA1BBB11461B8D4118972D2 +:106D6400AC04A1BC04B11462998C029DD4ABA1BB48 +:106D7400B11461B8D4118972AC04A1BC04B1146219 +:106D8400998C029DD4ABA1BBB11461B8D4118972A2 +:106D9400AC04A1BC04B11462998C029DD4ABA1BB18 +:106DA400B11461B8D4118972AC04A1BC04B11462E9 +:106DB400998C029DD4ABA1BBB11461B8D411897272 +:106DC400AC04A1BC04B11462998C029DD4ABA1BBE8 +:106DD400B11461B8D4118972AC04A1BC04B11462B9 +:106DE400998C029DD4ABA1BBB11461B8D411897242 +:106DF400AC04A1BC04B11462998C029DD4ABA1BBB8 +:106E0400B11461B8D4118972AC04A1BC04B1146288 +:106E140099E71006C6D7C716E7C6D7C7C12004FB33 +:106E2400F8FF30109CBBE19C029DD4ABA1BBB11414 +:106E340061B8D4118972AC04A1BC04B11462998CF8 +:106E4400029DD4ABA1BBB11461B8D4118972AC0456 +:106E5400A1BC04B11462998C029DD4ABA1BBB11442 +:106E640061B8D4118972AC04A1BC04B11462998CC8 +:106E7400029DD4ABA1BBB11461B8D4118972AC0426 +:106E8400A1BC04B11462998C029DD4ABA1BBB11412 +:106E940061B8D4118972AC04A1BC04B11462998C98 +:106EA400029DD4ABA1BBB11461B8D4118972AC04F6 +:106EB400A1BC04B11462998C029DD4ABA1BBB114E2 +:106EC40061B8D4118972AC04A1BC04B11462998C68 +:106ED400029DD4ABA1BBB11461B8D4118972AC04C6 +:106EE400A1BC04B11462998C029DD4ABA1BBB114B2 +:106EF40061B8D4118972AC04A1BC04B11462998C38 +:106F0400029DD4ABA1BBB11461B8D4118972AC0495 +:106F1400A1BC04B11462998C029DD4ABA1BBB11481 +:106F240061B8D4118972AC04A1BC04B11462998C07 +:106F3400029DD4ABA1BBB11461B8D4118972AC0465 +:106F4400A1BC04B11462998C029DD4ABA1BBB11451 +:106F540061B8D4118972AC04A1BC04B11462998CD7 +:106F6400029DD4ABA1BBB11461B8D4118972AC0435 +:106F7400A1BC04B11462998C029DD4ABA1BBB11421 +:106F840061B8D4118972AC04A1BC04B11462998CA7 +:106F9400029DD4ABA1BBB11461B8D4118972AC0405 +:106FA400A1BC04B1146299E71006C6D7C71630080D +:106FB40000C15005C117FC1085001004D2DF03E79F +:106FC400EF01F7C6D7C716301000C15006C117FC31 +:106FD4001085001004D2DF03E7EF01F7C6D7C71608 +:106FE400300400C15007C117FC1085001004D2DF23 +:106FF40003E7EF01F7C6D7C716300400C15008C134 +:1070040017FC1085001004D2DF03E7EF01F7C6D7A1 +:10701400C716F6FD08A1629BE7C6D7C716E6FD08AA +:10702400A1629BE7C6D7C716E6A1FD08A1629BE74C +:10703400C6D7C716300300FD08A1629BE7C6D7C7B1 +:1070440016300400FD08A1629BE7C6D7C7163006B8 +:1070540000FD08A1629BE7C6D7C716300700FD08EC +:10706400A1629BE7C6D7C716E7C6D7C716E7C6D738 +:10707400C716E7C6D7C716E7C6D7C716E7C6D7C722 +:1070840016E7C6D7C716E7C6D7C716E7C6D7C716C3 +:10709400E7C6D7C716E7C6D7C716E7C6D7C716E7E2 +:1070A400C6D7C716E7C6D7C716E7C6D7C716E7C6F3 +:1070B400D7C7560117F112C6D7C7C1C1FBF8FFCC19 +:1070C40001008C014C08DE168C01318E610902141A +:1070D40089728C01736218BEF4615901EFE43008BF +:1070E40000C15003C130BEF4FCD083001004629C84 +:1070F40001D1DF03E7EF01F71004C6D7C7C1C1FB15 +:10710400F8FFCC01008C014C08DE168C01318E6135 +:1071140009021489728C01736218BEF4615901EF7B +:10712400E4300800C1A1C130BEF4FCD083001004D7 +:10713400629C01D1DF03E7EF01F71004C6D7C7C192 +:10714400C1FBF8FFCC01008C014C11DE168C01311F +:107154008E6109021489728C01736218BEF461593C +:1071640001EFE4301100C15004C130BEF4FCD083FF +:10717400001004629C01D1DF03E7EF01F71004C69D +:10718400D7C7C1C1FBF8FFCC01008C014C08DE1647 +:107194008C01318E6109021489728C01736218BEEC +:1071A400F4615901EFE4300800C15005C130BEF468 +:1071B400FCD083001004629C01D1DF03E7EF01F7E8 +:1071C4001004C6D7C7C1C1FBF8FFCC01008C014C29 +:1071D40010DE168C01318E6109021489728C0173E0 +:1071E4006218BEF4615901EFE4301000C15006C1C9 +:1071F40030BEF4FCD083001004629C01D1DF03E7AD +:10720400EF01F71004C6D7C7C1C1FBF8FFCC0100DA +:107214008C014C04DE168C01318E610902148972D2 +:107224008C01736218BEF4615901EFE4300400C1AB +:107234005007C130BEF4FCD083001004629C01D11D +:10724400DF03E7EF01F71004C6D7C7C1C1FBF8FF9E +:10725400CC01008C014C04DE168C01318E610902D4 +:107264001489728C01736218BEF4615901EFE43021 +:107274000400C15008C130BEF4FCD0830010046285 +:107284009C01D1DF03E7EF01F71004C6D7C7C1C1E2 +:10729400FBF8FFAC02148A019C01318EC1F6FD0C8F +:1072A400A1C0E71004C6D7C7C1C1FBF8FFAC0214E4 +:1072B4008A019C01318EC1E6FD0CA1C0E71004C611 +:1072C400D7C7C1C1FBF8FFAC02148A019C01318EFF +:1072D400C1E6A1FD0CA1C0E71004C6D7C7C1C1FB1C +:1072E400F8FFAC02148A019C01318EC15003FD0CDD +:1072F400A1C0E71004C6D7C7C1C1FBF8FFAC021494 +:107304008A019C01318EC15005FD0CA1C0E7100417 +:10731400C6D7FCDF8A00D7C7C3C1200CFBF8FFAC7B +:107324000EBC02AC0CBB8B7F48229C088C017F49AD +:10733400229C098C027F4A229C0A8C037F4B229C4C +:107344000B8C085C0F3149728C085CF06162629CA2 +:10735400078C0A5C0F3149728C0B5CF0314A616214 +:10736400629C068C0A5CF0728C095CF0314A6162A2 +:10737400629C058C0B5C0F3149728C095C0F616255 +:10738400629C04AC0614AC04121010C6D7C7C3C167 +:10739400200CFBF8FFAC0EBC02AC0CBB8B5CF831D0 +:1073A4003A7F48229C088C015CF8313A7F49229C40 +:1073B400098C025CF8313A7F4A229C0A8C035CF8FF +:1073C400313A7F4B229C0B5C073159728C085CF874 +:1073D400313A6162629C048C085C073159728C0AF0 +:1073E4005C1F6162629C058C095CF8728C0B5CE02A +:1073F400315A6162629C068C0A5CF8728C095C07E3 +:107404006162629C07AC0614AC04121010C6D7C7A4 +:10741400C3C12010FBF8FFAC12BC06AC10BC048C3A +:10742400047F48229C0C8C057F49229C0D8C067F8E +:107434004A229C0E8C077F4B229C0F8C0D5C0331DF +:1074440069728C0C5CFC312A6162629C0B8C0C5C52 +:10745400033169728C0F5C3F6162629C0A8C0F5C21 +:10746400FC728C0E5CC0316A6162629C098C0E5C99 +:10747400FC728C0D5C036162629C08AC0A14AC085B +:10748400121014C6D7C7C3C1FBF8FF8C0A91DF0AD8 +:10749400AC0212ABFC1B7300EF0E8C0A4C11DF081C +:1074A400AC0212ABFC1374001004C6D7C7F6BF8A33 +:1074B400EABF8CEA7666D161E8EE8200500CD612FF +:1074C400F6788EEA66500CD6048EEA14CA0200CA14 +:1074D4000B00A5A5A5CA000066500CD6048EEA14BC +:1074E400A5A5A5CA010066500CD6048EEA14A5A56C +:1074F400A5CA020066500CD6048EEA14A5A5A5CA36 +:10750400030066500CD6048EEA14A5A5A5CA04008F +:1075140066500CD6048EEA14A5A5A5CA05006650CB +:107524000CD6048EEA14A5A5A5CA060066500CD68E +:10753400048EEA14A5A5A5CA070086EE77FFC6D770 +:10754400F588EAD7E588EAD7E586EACF87EA02FC38 +:10755400B07400E588EAD7C716F7C6D7C7163489CA +:10756400EA89616E99F7C6D7C716667CFF5F89EA18 +:107574009F89EAF7C6D7C7168F89EA9BF7C6D7C78C +:1075840016F7C6D7C7168F86EA9BF7C6D7C7168FD6 +:1075940087EA9BF7C6D7C71666318FFCAB770066C0 +:1075A4009F87EAF7C6D7C7C12008FBF8FFCC0700BE +:1075B400D54C2261F8EEBE00CC07008C074F4C225C +:1075C40061C8EEB100D94C22F1BC048C07500CD632 +:1075D40012795022BC048C07500CD61279502261C7 +:1075E400491061E8EE89004952224E12DD418C07B0 +:1075F400500CD6045022148A0AC1AA08BBC09C02AB +:107604009DD4ABBDDC8DD49DDEF4DFF646DE61F89F +:1076140046DCDD62AC14C18C12318EC1AC10C1AB3E +:10762400148C029EFC8C08318E61EA1006EF478CA4 +:1076340007500CD6045022148A06C1AA04BBC09C6D +:10764400029DD4ABBDDC8DD49DDEF4DFF646DE6155 +:10765400F846DCDD21AC14C18C12318EC1AC10C1F2 +:10766400AB148C029EFC8C08318E61EA1006EF0686 +:10767400615907EE45FF100AC6D7C7C12004FBF8BD +:10768400FFCC0300FC857700AC0EC18C0C318EC19D +:10769400AC04FCB686001004629C03FC8977008C61 +:1076A400039161E8EEC100CC02008C024F4D2261CF +:1076B400C8EEB4008C025016D612796822614904CF +:1076C40061E8EE9D00497C22500CD612AC04788E01 +:1076D400EA8C025016D612497C22500CD6048EEA4B +:1076E400148C0C9A02CC01008C014E0CDE2C8C0103 +:1076F400318E61090E1489728C025016D6046822E8 +:10770400148A14500CD6048EEA148C01318EA5A56B +:10771400A505146299615901EFCE8C025016D61258 +:10772400497C22500CD6048EEA14CA0B018C0250F8 +:1077340016D6046822148A1472E6D2DD040192DF9C +:10774400FCBDDC31FFBDDEAF8AEABDD8AF8CEABD3B +:10775400DAADDEFD3902ADDABF8CEAADD8BF8AEA14 +:10776400EF06615902EE42FF8C03318E121006C6F9 +:10777400D7D588EADD0A4086EA0161F84087EA0243 +:10778400D7717BFAD7717AFAD7F59DEAD7E59DEAE6 +:10779400D7CF9AEA02F59BEAE59CEAE59DEAD7C7CA +:1077A400168F9AEA9BC6D7C7166691DF0AFCE6775E +:1077B40000669F9AEAEF0D664C02DF08FCE777004B +:1077C400669F9AEAC6D7C7168F9BEA9BC6D7F59BD6 +:1077D400EAD7C716C6D7C7168F9CEA9BC6D7D59DCE +:1077E400EAD7D7D7C7202CFBF8FF302A00C1500AAC +:1077F400FCBF8300C5C317FC5F86001006CC2B00BA +:107804008C2B4C0E61C8EE34018C2B5003D6608156 +:10781400318E071489728C2B5003D6F107148961B9 +:107824000A72F0E108617A9C2A8C2B5003D6F10786 +:1078340014898161F8EEF3008C2B5003D6600C029E +:10784400318E0714894E2A61E8EEDF008C2B500339 +:10785400D6F1071489738C2BF0317E33489EEA8964 +:107864005C08D161F8EEB5008C2B5003D6608131F1 +:107874008E07148981998C2B5003D66081318E0731 +:107884001489728C2B5003D6F10714896102F0E13C +:1078940008617A08128C2B5003D6600C02318E07D3 +:1078A4001462998C2B5003D66081318E0714894C55 +:1078B40028DC5C8C2B5003D6F10714CA00008C2BF7 +:1078C4005003D66081318E0714CA00FF8C2B5003FD +:1078D400D66081318E071489728C2B5003D6F10740 +:1078E40014896102F0E108617A08128C2B5003D6E6 +:1078F400600C02318E071462998C2B318EFCB47AA1 +:10790400008C2BF0317E049EEA14CA0101EF288C0E +:107914002BF0317E049EEA14CA0100EF1A8C2BF07E +:10792400317E049EEA14CA0101EF0C8C2BF0317EE7 +:10793400049EEA14CA010161592BEEC3FE302A00E9 +:10794400C1500AFCBF8300C5C317FC338600100670 +:10795400102CC6D730DC05BFBAEA30F401BFBCEA4C +:10796400ECE87700F642BAEA61E8B2BAEAFD10A19F +:10797400D2DF0AF642BCEADD0AB2BCEAD730F4012F +:10798400BFBCEAD7F642BCEAE6613012D7F642BA87 +:10799400EADF0842BCEADF03E6EF01F612D7C7C10B +:1079A4002082FBF8FFCC8000308000C18C8231192A +:1079B400318EC117FC1085001004CC81008C814CE1 +:1079C40008DE2D8C8131290C03F0316E0714AA02D4 +:1079D40044FFFFDF04A944FFFFDD108C8170E1D078 +:1079E400DD05311990DFFB6E809C80615981EFCDFC +:1079F4008C8091DD2A2C02DD292C04DD282C08DD65 +:107A0400282C10DD292C20DD2A2C40DD2B2C72DDC6 +:107A14000E2C02DD0D2C04DD0C2C08DD20EF23F7E9 +:107A2400EF23E7EF20E7A3EF1C320300EF17320444 +:107A340000EF12320500EF0D320600EF08320700A6 +:107A4400EF033207001084C6D7C7C12012FBF8FF2A +:107A54008C12F0317E049EEA14896C09998C12F020 +:107A6400317E12499FEAD1DD438C12F0317E049EAF +:107A7400EA14CA0100300300C18C120C0A318EC111 +:107A840017041000FC10850010048C12F0317E12D3 +:107A9400499EEA5C089C10300300C18C120C0A3128 +:107AA4008EC117041000FCD0830010041014C6D734 +:107AB400C71666F0317E049EEA14895CFE99C6D727 +:107AC400FC917900D2DD16FC598700D2DD08300D17 +:107AD40000FC4D7A00D7300D00FCB47A00D7F6FDD7 +:107AE40000A1624CA1DC1240BEEA32DE05A0BEEA6F +:107AF400EF20E6FC4D7A00EF19D5BEEADD0FB0BEEB +:107B0400EA40BEEA26DC0BCFBEEA25EF05E6FCB46C +:107B14007A00F6FD00A1624C5ADE1040BFEA32DE64 +:107B240004A0BFEAD7F6FC4D7A00D7D5BFEADD0E34 +:107B3400B0BFEA40BFEA26DC0ACFBFEA25D7F6FC8D +:107B4400B47A00D7E6FD00A1624C31DC1340C0EAF0 +:107B540032DE05A0C0EAEF22E6A1FC4D7A00EF1A5E +:107B6400D5C0EADD0FB0C0EA40C0EA26DC0CCFC0C5 +:107B7400EA25EF06E6A1FCB47A00E6FD00A1624C1A +:107B840002DE1240C1EA32DE04A0C1EAD7300300AB +:107B9400FC4D7A00D7D5C1EADD0EB0C1EA40C1EA96 +:107BA40026DC0CCFC1EA25D7300300FCB47A00D719 +:107BB400E6A1FD00A1624C31DC1440C2EA32DE05CC +:107BC400A0C2EAEF24300500FC4D7A00EF1BD5C2B9 +:107BD400EADD0FB0C2EA40C2EA26DC0DCFC2EA25D4 +:107BE400EF07300500FCB47A00E6A1FD00A1624C69 +:107BF40002DE1240C3EA32DE04A0C3EAD730060034 +:107C0400FC4D7A00D7D5C3EADD0EB0C3EA40C3EA1F +:107C140026DC0CCFC3EA25D7300600FCB47A00D7A3 +:107C2400300300FD00A1624C31DC1440C4EA32DEB2 +:107C340005A0C4EAEF24300800FC4D7A00EF1BD500 +:107C4400C4EADD0FB0C4EA40C4EA26DC0DCFC4EABE +:107C540025EF07300800FCB47A00300300FD00A1D2 +:107C6400624C02DE1240C5EA32DE04A0C5EAD73017 +:107C74000900FC4D7A00D7D5C5EADD0EB0C5EA404F +:107C8400C5EA26DC0CCFC5EA25D7300900FCB47A56 +:107C940000D7300400FD00A1624C31DC1440C6EA78 +:107CA40032DE05A0C6EAEF24300B00FC4D7A00EF6B +:107CB4001BD5C6EADD0FB0C6EA40C6EA26DC0DCF06 +:107CC400C6EA25EF07300B00FCB47A00300400FD4F +:107CD40000A1624C02DE1240C7EA32DE04A0C7EA09 +:107CE400D7300C00FC4D7A00D7D5C7EADD0EB0C7FB +:107CF400EA40C7EA26DC0CCFC7EA25D7300C00FCE3 +:107D0400B47A00D7E6FD04A1D2DD09300400FC4DAD +:107D14007A00EF07300400FCB47A00E6A1FD04A168 +:107D2400D2DD09300700FC4D7A00EF07300700FC74 +:107D3400B47A00300300FD04A1D2DD08300A00FC4F +:107D44004D7A00D7300A00FCB47A00D7FCE27A00FE +:107D5400FC487B00FCB47B00FC247C00EC967C009B +:107D6400FCC47A00FCA94200625C02D1DD15FC0867 +:107D74007D0040C8EA28DE04A0C8EAD7F5C8EAFCBA +:107D8400507D00D7C71666F0317E12499EEA318EC7 +:107D940012C6D7C7C12010FBF8FF301000C18C10E9 +:107DA400318EC117FC10850010048C1CD1DD638C4E +:107DB4001C4C07DE5DAC18A1BC18B1148C1C99AC2A +:107DC40018A1BC18B114CA0001AC18A1BC18B11494 +:107DD400CA000A8C1C9172AC18A1BC18B114629927 +:107DE4008C1C913119318E07148972AC18A1BC18FE +:107DF400B11462998C1C91311981318E07148972E6 +:107E0400AC18A1BC18B1146299AC1A14890C069967 +:107E1400EF728C1C81DF69CC1C018C1C4C07DE6466 +:107E2400AC18A1BC18B1148C1C99AC18A1BC18B125 +:107E340014CA0001AC18A1BC18B114CA000A8C1CE5 +:107E44009172AC18A1BC18B11462998C1C913119AF +:107E5400318E07148972AC18A1BC18B11462998CC4 +:107E64001C91311981318E07148972AC18A1BC1888 +:107E7400B1146299AC1A14890C069961591CEF9AD1 +:107E8400F792EF01F71012C6D7C7200AFBF8FFEBF1 +:107E940008E68A029FDCE55C09D1DD4B8FD6E50C50 +:107EA400409C048FD8E59C05CC0609CC01008C01CC +:107EB4004C0EDE178C01318EFC887D00625FDCE5A0 +:107EC400D161E8615902615901EFE3CC0701CC08A3 +:107ED400008C029C0917040400C1300600FCC89001 +:107EE40000C0CC0301EF1CD9B0F4F1C1D9D6E5FC34 +:107EF400784400C03404E6C5300300FCC89000C0D8 +:107F0400CC03008C03318F12100AC6D7C7206CFB38 +:107F1400F8FFEB08E68A029FDCE55C09D161F8EE24 +:107F24009F008FD6E50C409C038FD8E59C04CC05BC +:107F340009CC0003CC01008C014C0EDE728C0131A3 +:107F44008EFC887D00625FDCE5D1DD5E8C01F03162 +:107F54006E12498F22726159008B91318E0704038E +:107F6400001462998C01F0316E12499022726159A9 +:107F7400008B91318E070403001462998C01F03157 +:107F84006E12499122726159008B91318E0704035C +:107F9400001462998C01318EFC887D006159008B3C +:107FA40091318E07040300146299615901EF881717 +:107FB400040300C18B318EFCC89000C0CC0201EFD9 +:107FC4001CD9B0F4F1C1D9D6E5FC784400C034041E +:107FD400E6C5300300FCC89000C0CC02008C02311E +:107FE4008F12106CC6D7C7206CFBF8FF8FD6E50C38 +:107FF400409C038FD8E59C04CC0509CC0003CC013C +:10800400008C014C0EDE5C8C01F0316E12498F2223 +:10801400726159008B91318E070403001462998CAC +:1080240001F0316E12499022726159008B91318EA8 +:10803400070403001462998C01F0316E12499122F5 +:10804400726159008B91318E0704030014629961A7 +:1080540059008B91318E0704030014CA0009615939 +:1080640001EF9E17040300C18B318EFCC89000C041 +:10807400CC0201E1318F12106CC6D7C7202CFBF85B +:10808400FFC717A116F749C6229BA3A7512A614A25 +:10809400DFF4C6CC0000CC2B008C2B4C0EDE0F8CF6 +:1080A4002BF0317E12399EEA0061592BEFEB302A16 +:1080B40000C1500AFCBF8300C5C317A1FC3386006E +:1080C4001006D261E86159008BD1DF03E7EF01F7B5 +:1080D400102CC6D7C730520E5200F3FC260F006294 +:1080E40076D1DF0CFC880F00FC940F00FCBE0F005F +:1080F40017F112C6D7EC8E0F00C7C12004FBF8FF9E +:108104008C044C28DC678C0CD1DD62FCD8800062C6 +:108114009C03D1DF46CC0200CC01008C024E0CDE65 +:108124003A717BFA8C040E02318EFC581100629C69 +:10813400034C1BDF0D8C040E02318EFC5C110062BB +:108144009C03717AFA8C03D1DF08615902CC0100D7 +:10815400EF036159018C014C05DCC0FCF980008CF3 +:10816400014C05DC05321A00EF06F7EF0332050077 +:108174001006C6D7C7C3C1200CFBF8FFF661490E31 +:10818400DF0630FF9F61490CDE1EE661490EDF0603 +:1081940030FF9F61490CDC10F6614918DD0A8C1828 +:1081A4005C03318E6168DD2CE661490EDF0630FF29 +:1081B4009F61490CDE5BE661490EDF063008A06171 +:1081C400490CDC4DF6614918DD478C185C03318E8F +:1081D4006168DF3DAC16BBAC0EBC04AC0CBC02AC9D +:1081E40018312E609C06FCD88000629C0BD1DF1BEA +:1081F400717BFA17FC641100629C0B717AFA8C0B88 +:10820400D1DF05CC0900EF03CC091CFCF98000EF99 +:1082140003CC09058C09318EF733351010C6D7C746 +:10822400C3C1200CFBF8FFAC0EBC0AAC0CBC088C20 +:108234001872F3AC16BB33BC02F661491C61F861D9 +:10824400491A61F8EE8700F6BC04BC06AC06614925 +:108254001CAC0461F861491ADE74AC08BDD8AC0AE0 +:10826400BDDA5108FD0602AB148C029EFD11899DF6 +:10827400DCF4DDF6BDDEADD8C1ADDAC1AC08BDD8E5 +:10828400AC0ABDDAADDEFD4D02C9DCFF00F6FD250A +:1082940002ADD8312D04F02212C0BDDAC0BDD8130E +:1082A40014A9BDDCAA02BDDEFD4D02ADDABC0AADE7 +:1082B400D8BC08617900F661490061F8617902610E +:1082C4007904F6614904DF84617906EE7EFFAC0827 +:1082D400BDD8AC0ABDDAF6B1BDDCFD4D02ADDABCE9 +:1082E4000AADD8BC08AC0A14AC08121010C6D7C723 +:1082F400C3C1200CFBF8FFAC0EBC0AAC0CBC08AC30 +:1083040016F74361E8520FBB33BC02F661491A61A8 +:10831400F861491861F8EE8100F6BC04BC06AC06AD +:1083240061491AAC0461F8614918DE6EAC08BDD825 +:10833400AC0ABDDA5108FD0602AB14899DDCF4DDFC +:10834400F6BDDEADD8C1ADDAC1AC08BDD8AC0ABD4E +:10835400DAADDEFD4D02C9DCFF00F6FD2502ADD825 +:10836400312D04F02212C0BDDAC0BDD81314A9BD4A +:10837400DCAA02BDDEFD4D02ADDABC0AADD8BC08F4 +:10838400617900F661490061F8617902617904F666 +:10839400614904DF89617906EF84AC08BDD8AC0A71 +:1083A400BDDAF6B1BDDCFD4D02ADDABC0AADD8BC18 +:1083B40008AC0A14AC08121010C6D7C716665006CB +:1083C400D604F02614A912AA0214C6D7C7C1208A5B +:1083D400FBF8FFCC05008C92318EFCBF830013BBED +:1083E40015BC02ABBDD8AC02BDDAC9DC0010300F3D +:1083F40000FDD901510AFD06028DD89C09D1DF0583 +:10840400CC0809EF188C0991DF05CC084DEF0E8CD0 +:10841400094C02DF05CC082AEF03CC08FF8C094C79 +:108424000361C8EEE0008C08318EC18C09318E31B5 +:10843400ADBDDC31FFBDDEC9D80010C9DA0F00AD17 +:10844400DEFDCA01ADDAC1ADD8C117040A00FC478C +:10845400310010068C09318E31ADBDDC31FFBDDE3B +:10846400C9D80010C9DA0F00ADDEFDCA01ADD8BD10 +:10847400DCDADAABBDD8AC02BDDA13FDD9018DD894 +:108484009C07CC0600CC05008C054E94DE298C0597 +:10849400318E61098A1489728C070E05318E0704A6 +:1084A4000A001462998C05318E61098A14890E06BA +:1084B4009C06615905EFD18C067CFF819C068C07D4 +:1084C4000E05318E07040A00148C06998C08318E2F +:1084D400C18C09318E31ADBDDC31FFBDDEC9D800A0 +:1084E40010C9DA0F00ADDEFDCA01ADDAC1ADD8C1E5 +:1084F40017040A00FC562E001006624C11DF03F725 +:10850400EF06F792EF02F792108CC6D7C7C1208A04 +:10851400FBF8FFCC05008C92318EFCBF830013BBAB +:1085240015BC02ABBDD8AC02BDDAC9DC0010300FFB +:1085340000FDD901C9DC0004F6FDA3018DD89C0916 +:10854400D1DF05CC0809EF188C0991DF05CC084D63 +:10855400EF0E8C094C02DF05CC082AEF03CC08FF90 +:108564008C094C0361C8EEC0008C08318EC18C09A3 +:10857400318E31ADBDDC31FFBDDEC9D80010C9DAA2 +:108584000F00ADDEFDCA01ADDAC1ADD8C117040AD2 +:1085940000FC47310010068C09318E31ADBDDC3151 +:1085A400FFBDDEC9D80010C9DA0F00ADDEFDCA0177 +:1085B400ADD8BDDCDADAABBDD8AC02BDDA13FDD977 +:1085C400018DD89C07CC0600CC05008C054E94DEAA +:1085D400158C070E05318E07040A0014890E069CBB +:1085E40006615905EFE58C067CFF819C068C070E1D +:1085F40005318E07040A0014894E06DF28CC0500D5 +:108604008C054E94DE1C8C070E05318E07040A007F +:108614001489728C05318E61098A14629961590535 +:10862400EFDEF7EF06F792EF02F792108CC6D7C78A +:10863400C1C1FBF8FF8C0E318EC1AC0CC1AC0AC1B8 +:10864400AC02FC562E001006629C014C11DF03F7AD +:10865400EF058C01318E121004C6D7C7C1FBF8FF99 +:108664008C0C318EC1AC0AC1AC08C1ABFC473100E3 +:108674001006F7C0C6D7410111D900A0F112D741A5 +:108684000111D908A0F112D7C7C1C1FBF8FFCC0171 +:10869400008C014E0CDE17615901AC0AA1BC0AB171 +:1086A400148972AC02A1BC02B1146299EFE3100404 +:1086B400C6D7C7C12012FBF8FFAC12BC028C1A311A +:1086C40049708C095C0F61689C098C0571FB9C05E1 +:1086D40071EB9C0571DB9C05AC045CE0F0BC048C84 +:1086E400095C0F6C809C09AC085CF0F0BC08F6BC1B +:1086F400068C1A318EC1AC1CC117040A00FC8C868E +:1087040000100417040200FC502A0013BBF6614950 +:1087140000DF03F7EF01E71014C6D7FC9F2D001309 +:10872400F1085C02086168DD28AF0C03F1085C08FD +:10873400086168DD08D5D2F461F8E5D2F4F6420C9C +:108744000361E8BF0C03AF0403085CFC08BF040327 +:10875400D7F5D2F4D7D5D2F4DF02F7D7E7D7C720BD +:1087640004FBF8FFCEA040CEA307717BA1CC01FF90 +:108774008EA29B5E019B8B4E01DFF5714AA4CFC58F +:1087840002927100C502F6BC02AC02442103DE066B +:1087940000617902EFF38FC6025C80D1DDF87120AD +:1087A400C502716AA17100C402716BA4F5C702719C +:1087B4000BA1CFC802427128C4021004C6D7C7FC5B +:1087C400888800FC9E8A00FC388B00FC408B00717A +:1087D4002301400AE5A5DD5F3055AA41001142029C +:1087E400A1DF07084100114200A1DF323055AA4140 +:1087F400011142F29FDF070841011142F09FDF1E81 +:10880400717BFAFCAF8A00F50AE5CF0BE5A54100C0 +:10881400118F02A09EFC11AF00A061CAEFF0F50B0E +:10882400E5FC3B9200FC8C4C00FCA08800FCC42DB1 +:1088340000FC8C3400EF17F50BE5FC3B9200FC8C3C +:108844004C00FCA08800FCC42D00FC7134004008DE +:10885400E5A5DF143400E5C5300800C1305907FC34 +:10886400B686001004F508E5FC0C8B00FC518B0067 +:1088740086664C65DCF2FCD18800FC1A890056003F +:10888400EFE6C6D78EA89F0CE5400CE510DD09F590 +:108894000AE5F50BE5F508E5717AFAD7710B217154 +:1088A4000201711A21712301D7C7C1C1FBF8FF8CE2 +:1088B400029E31717A303182E302EFFAAD1E316EDD +:1088C400BB717B30710BE3AB121004C6D7C7200415 +:1088D400FBF8FFF6BBFCAD8800D9EEEAF10104F029 +:1088E400EA1413B9A0EEEA40EEEA0561C8F5EEEA2F +:1088F400CC03008C034C05DE138C03F0317E04F0B2 +:10890400EA14A9610900BB615903EFE7305E01BFB6 +:10891400EAEA1004C6D7E5EDEAD7F400F401F4035B +:10892400F405F407F409F408F40DF40EE53400CF6B +:108934006900BFCF6C00DFF52002E57600CE20FE93 +:10894400CE21D3CE23F4CE25F0CE26FFCE2734CEAF +:1089540028FECE29BACE2CFFCE2EFED7F51600F572 +:108964001700F51A00F51B00F51D00FC628700FCDA +:108974001E8900FC8F8900FCFC8A00FC118B00F529 +:108984007800D7717BFAFC608900D77100F000F69B +:10899400BFB60130FF0ABFB401F6BF2A02714AE62E +:1089A400714BE2715AE6715BE2713AE7713BE37134 +:1089B4006AE6716BE2717AE6717BE2714AE7714BA8 +:1089C400E3717AE7717BE3710AD4710BD0711AD425 +:1089D400711BD0712AD4712BD0716AEE716AEA715D +:1089E4007AEF717AEBBF9401CB64FF7CAFBE0108D0 +:1089F4005CFB08BFBE01AFBC01085CFB08BFBC0147 +:108A0400AFB801085CFB08BFB801AFBA01085CFB52 +:108A140008BFBA01F6BF9801CB68FF7CAFBE01085E +:108A24005CEF08BFBE01AFBC01085CEF08BFBC012E +:108A3400AFB801085CEF08BFB801AFBA01085CEF3A +:108A440008BFBA015A03FE8E235CFE9E23D7AFBA39 +:108A540001086C0208BFBA01AFB201086C0308BF79 +:108A6400B201D7AFB401086C0308BFB401AFBA01B7 +:108A7400085CFD08BFBA01D7716BE2716BE6AFB257 +:108A840001086C0408BFB201D7AFB401086C040834 +:108A9400BFB401716AE6716BE2D7717BE3717BE766 +:108AA400AFB201086C1008BFB201D7AFB401086CB3 +:108AB4001008BFB401717AE7717BE3D7E500EBA23C +:108AC400FAEAF642FAEA61F8A2FCEAA0FEEA40FEFB +:108AD400EA64DC06E5FFEAF5FEEAD7AF8801BDD813 +:108AE400F6BDDA5110FDEB01AFFAEABDDCAFFCEAEA +:108AF400FD4D02EADADAD8D7710AE4710BE0710AA3 +:108B0400EC710AE8710BE4D7CEABACD7D77150F057 +:108B140000F530FF710AE7710BE38E236C089E2386 +:108B2400CE3018CE3220F51000CF1100FFF5120020 +:108B3400F531FFD7717A30D7717B30D7710A30D7CE +:108B4400710B30D7C716AD1E316EBBC6D74000EBD4 +:108B540001DF0BF500EBFC638B00FC979200D7C799 +:108B6400200EFBF8FFFCE48C00FC023200629C0245 +:108B74009161E8EE5701FC064D00D9D6E5F1FC1FE2 +:108B84004D00629C0D8161F8EE10018C0D318EFC5C +:108B9400504D00629C0C9161E8EEE1008C0D318E29 +:108BA400FC6F4D00629C0B9161E8EEB20040D7E58A +:108BB40002DF658C0D318EFC8F4D00629C0AD1DF83 +:108BC4001017040400C1F6FCC89000C0CC0102EFE9 +:108BD40045AFD4E5C18C0D318EFCA84D00C0629C1C +:108BE4000391DF168C0D500AD6041C20148A089EAB +:108BF400FCAA0661CA629C01EF63D9ACF4F1C1D945 +:108C0400D6E5FC784400C03404E6C5300300FCC853 +:108C14009000C0CC0100EF63AFD4E5C18C0D318E60 +:108C2400FCA84D00C0629C0391DF168C0D500AD63F +:108C3400041C20148A089EFCAA0661CA629C01EFE7 +:108C440058D9ACF4F1C1D9D6E5FC784400C0340459 +:108C5400E6C5300300FCC89000C0CC0100EF6ED91B +:108C6400B1F4F1C1D9D6E5FC784400C03404E6C5BA +:108C7400300300FCC89000C0CC0100EF50D9B5F41B +:108C8400F1C1D9D6E5FC784400C03404E6C530030C +:108C940000FCC89000C0CC0100EF3240D7E502DFF1 +:108CA4001017040400C1F6FCC89000C0CC0102EF08 +:108CB4001CD9AAF4F1C1D9D6E5FC784400C0340427 +:108CC400E6C5300300FCC89000C0CC0100FC04944D +:108CD400009261F8FC454400FC4F4400100EC6D7D6 +:108CE400FC024D00F64361F8FC194400D7D7C7C114 +:108CF400C1FBF8FF4013EB01DF1ECF13EB05AC0201 +:108D0400148FCEEF99AC0A14AFCAEFB9AC0C14307F +:108D140002EBB9CC0101EF4E4013EB04DF1ECF137D +:108D2400EB05AC02148FCEEF99AC0A14AFCAEFB9BD +:108D3400AC0C14301AEBB9CC0101EF2A4012EB0150 +:108D4400DF21CF13EB05F512EBAC02148FCFEF99B3 +:108D5400AC0A14AFCCEFB9AC0C14300AEBB9CC01AB +:108D640001EF03CC01008C01318F121004C6D7C768 +:108D7400C1C1FBF8FFCC0100AC0A42802261E8EEDD +:108D84008102AC0E1489314A9C014013EB01DD0FC2 +:108D94004013EB04DD094013EB0561E8EEB7004036 +:108DA40013EB05DF664094F401DF608C014C03DFB4 +:108DB4005AAC0E14895C0FD1DF36CF94F4038A01C8 +:108DC400D1DF06CF14EBB0EF08AC0E148A019F1468 +:108DD400EBAC0E148A024C7FDE098A0291819F1546 +:108DE400EBEF04CF15EB80F596F4F6BFD4EFEF1B51 +:108DF400AC0E14895C0F91DF06F6BFD4EFEF0CF5CF +:108E040094F4F513EBF512EBF5D7EF8C01D1DF43B6 +:108E1400AC0E14895C0F318EBFCCEF440800DE33F6 +:108E2400F642CCEFDD2DE512EBF5CFEF9B8B318EC7 +:108E340042CCEFDE158B81318E61090E1489728B61 +:108E44007362180AEB615900EFE3E59AF430E80322 +:108E5400BF98F4EEAD018C01D1DF46AC0E14895CF1 +:108E64000F318EBFCAEF440800DE33F642CAEFDD8D +:108E74002DE513EBF5CEEF9B8B318E42CAEFDE1559 +:108E84008B81318E61090E1489728B73621802EB27 +:108E9400615900EFE3E59AF430E803BF98F4EE6219 +:108EA400018C019161E8EEC000AC0E14895C0F31B5 +:108EB4008E318D128A01318E03BFCAEF44B104DCB6 +:108EC40036CF88F430CF89F4028F86229F8AF4CC7F +:108ED40000038B4C08DE0D8B738F7E221888F4619F +:108EE4005900EFEE3488F4C5300800C1AF8422FC89 +:108EF4007E76001004EF6FAFCAEF440800DC67F51C +:108F0400CEEFF6BFD0EFCC00028B4C08DE168B31CF +:108F14008E61090E1489DBD0EF481AEBA2D0EF6101 +:108F24005900EFE5E5D2EFCF88F430F589F48F8668 +:108F3400229F8AF4CC00038B4C08DE0D8B738F7E4A +:108F4400221888F4615900EFEE3488F4C530080023 +:108F5400C1AF8422FC7E76001004CF13EB03CFD67E +:108F6400EF05F6BFD4EFEE9A008C014C0261E8EEF7 +:108F740091004013EB0361E8EE8800F6BFD4EFAC38 +:108F84000E14895C0F728FD2EF5C0F6142DF71A007 +:108F9400D2EF8C0C4C08DE1A8C0CD1DD15AFCAEF65 +:108FA400082E0C083C0012AFD0EF43DE05F513EB9E +:108FB400EF51CC00018B4C08DE49AFD0EF42CAEF31 +:108FC400DE138B318E61090E1489DBD0EF481AEB66 +:108FD400A2D0EFEF0FCF13EB04E59AF430E803BF10 +:108FE40098F4EF1FAFD0EF42CAEFDF0FCF13EB04BB +:108FF400E59AF430E803BF98F4EF08615900EFB53F +:10900400F513EB1004C6D7C7C1C1FBF8FFCC0100B0 +:10901400AC0A42822261E8EEA600AC0E1489314A01 +:109024009C014013EB01DD0C4013EB04DD064013FF +:10903400EB05DF4A8C01D1DF43AC0E14895C0F31A0 +:109044008EBFCCEF440800DE33F642CCEFDD2DE5D5 +:1090540012EBE5CFEF9B8B318E42CCEFDE158B818B +:10906400318E61090E1489728B7362180AEB61598F +:1090740000EFE3E59AF430E803BF98F4EF428C0183 +:10908400D1DF3DAC0E14895C0F318EBFCAEF4408AA +:1090940000DE2DE513EBE5CEEF9B8B318E42CAEF5C +:1090A400DE158B81318E61090E1489728B736218FF +:1090B40002EB615900EFE3E59AF430E803BF98F45A +:1090C4001004C6D7C7C12004FBF8FF4013EB0561A9 +:1090D400E8EEDA00D5D7EF61E8EED200F59AF43085 +:1090E400E803BF98F4F6614904DF06F513EBEEB824 +:1090F40000AC04440800DE498C049F88F4E6BBAB52 +:10910400440800DE0DAB128F7E224888F46179009A +:10911400EFEDF6BBAB614904DE11AB61090C1489B8 +:1091240073AB334889F4617900EFE93488F4C530CE +:109134000800C1AF8422FC7E76001004F513EBEF27 +:1091440068E5D7EFF6BBAB614904DE11AB61090CEE +:10915400148973AB3348D8EF617900EFE9AC04BFED +:1091640090F40C109F88F451FF5E049F89F4F6BFBD +:1091740092F4AF92F4440600DE11DB92F449D8EF86 +:10918400DB92F4488AF4A292F4EFE73488F4C53011 +:109194000800C1AF8422FC7E76001004E5D6EFF609 +:1091A400BFD4EFE595F4E594F4CC0300EF03CC03CE +:1091B400018C03318F121006C6D7C7C1C1FBF8FF5B +:1091C4004013EB05DF65D5D7EFDF60AC0244080040 +:1091D400DE548C029F88F4CC00018B4C08DE0D8B8E +:1091E400738F7E221888F4615900EFEECC00008B57 +:1091F400318E614902DE158B318E61090A14897240 +:109204008B8173621888F4615900EFE33488F4C5E4 +:10921400300800C1AF8422FC7E76001004CC01002B +:10922400F6BF98F4EF08CC0101EF03CC01018C01E7 +:10923400318F121004C6D7C75600664C08DE14726C +:109244003802EB003888F40038D8EF00381AEB0005 +:1092540086EFE7F513EBF514EBCF15EB0AF6BFCA6F +:10926400EFBFCCEFF5CEEFF5CFEFBFD0EFF5D2EFF8 +:10927400BFD4EFF5D6EFF5D7EFBF90F4BF92F4F576 +:1092840094F4F595F4F596F430E803BF98F4F59A60 +:10929400F4C6D7C74013EB03DF2040D6EF05DF1237 +:1092A400AF8A2242D4EFDE05F513EBEF0DA2D4EF23 +:1092B400EF08CFD6EF05F6BFD4EF409AF401DF1BD9 +:1092C400AF8C224298F4DE0EF513EBF59AF430E8F5 +:1092D40003BF98F4EF0BA298F4EF0630E803BF98AD +:1092E400F44013EB0561E8EE14014094F401DF252A +:1092F40040D6EF01DF18AF882242D4EFDE0BF5949D +:10930400F4F513EBF5D7EFEF0CA2D4EFEF07E5D6A6 +:10931400EFF6BFD4EF4094F40361E8EEE000A096CA +:10932400F4D514EB61F8EECB008F15EB4F96F46196 +:10933400C8EEBE00E596F4AF90F424070012AF9295 +:10934400F443DE5551200F95F49F88F45600664C83 +:1093540007DE14A292F4DB92F449D7EF72668173AC +:10936400621888F486EFE73488F4C5300800C1AF8A +:109374008422FC7E76001004A095F43495F4895C74 +:109384000F994014EB01DF0CE594F4F6BFD4EFE53C +:10939400D6EFEF6AB014EBEF65AF90F42292F4606D +:1093A4007751200F95F49F88F45601664C08DE0A25 +:1093B400738F7E221888F486EFF1560066614FDEC3 +:1093C40014A292F4DB92F449D7EF726681736218A7 +:1093D40088F486EFE73488F4C5300800C1AF8422EE +:1093E400FC7E76001004F594F4F513EBF5D7EFF555 +:1093F40014EBEF0AE594F4F6BFD4EFE5D6EFC6D745 +:10940400C7D513EBDF045601EF02560017F112C65D +:01941400D780 +:020000020000FC +:10941500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10942500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10943500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10944500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10945500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10946500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10947500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10948500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10949500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1094A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1094B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:1094C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:1094D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:1094E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:1094F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10950500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10951500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10952500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10953500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10954500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10955500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10956500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10957500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10958500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10959500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:1095A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:1095B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:1095C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:1095D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:1095E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:1095F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10960500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10961500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10962500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10963500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10964500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10965500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10966500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10967500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10968500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10969500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:1096A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:1096B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:1096C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:1096D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:1096E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:1096F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10970500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10971500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10972500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10973500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10974500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10975500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10976500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10977500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10978500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10979500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:1097A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:1097B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:1097C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:1097D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:1097E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:1097F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10980500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10981500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10982500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10983500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10984500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10985500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10986500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10987500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10988500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10989500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:1098A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:1098B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:1098C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:1098D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:1098E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:1098F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10990500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10991500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10992500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10993500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10994500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10995500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10996500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10997500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10998500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10999500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:1099A500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:1099B500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:1099C500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:1099D500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:1099E500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:1099F500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:109A0500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:109A1500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:109A2500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:109A3500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:109A4500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:109A5500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:109A6500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:109A7500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:109A8500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:109A9500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:109AA500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:109AB500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:109AC500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:109AD500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:109AE500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:109AF500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:109B0500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:109B1500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:109B2500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:109B3500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:109B4500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:109B5500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:109B6500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:109B7500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:109B8500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:109B9500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:109BA500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:109BB500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:109BC500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:109BD500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:109BE500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:109BF500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:109C0500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:109C1500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:109C2500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:109C3500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:109C4500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:109C5500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:109C6500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:109C7500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:109C8500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:109C9500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:109CA500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:109CB500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:109CC500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:109CD500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:109CE500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:109CF500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:109D0500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:109D1500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:109D2500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:109D3500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:109D4500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:109D5500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:109D6500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:109D7500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:109D8500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:109D9500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:109DA500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:109DB500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:109DC500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:109DD500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:109DE500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:0B9DF500FFFFFFFFFFFFFFFFFFFFFF6E +:020000020000FC +:109E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:109E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:109E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:109E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:109E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:109E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:109E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:109E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:109E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:109E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:109EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:109EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:109EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:109ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:109EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:109EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:109F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:109F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:109F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:109F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:109F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:109F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:109F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:109F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:109F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:109F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:109FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:109FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:109FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:109FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:109FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:109FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:020000020000FC +:10A00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10A01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10A02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10A03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10A04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10A05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10A06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10A07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10A08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10A09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10A0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10A0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10A0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10A0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10A0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10A0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10A10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10A11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10A12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10A13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10A14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10A15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10A16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10A17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10A18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10A19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10A1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10A1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10A1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10A1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10A1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10A1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10A21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10A22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10A23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10A24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10A25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10A26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10A27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10A28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10A29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10A2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10A2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10A2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10A2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10A2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10A2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10A30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10A31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10A32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10A33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10A34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10A35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10A36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10A37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10A38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10A39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10A3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10A3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10A3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10A3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10A3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10A3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10A40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10A41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10A42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10A43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10A44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10A45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10A46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10A47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10A48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10A49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10A4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10A4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10A4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10A4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10A4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10A4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10A50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10A51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10A52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10A53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10A54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10A55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10A56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10A57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10A58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10A59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10A5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10A5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10A5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10A5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10A5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10A5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10A60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10A61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10A62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10A63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10A64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10A65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10A66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10A67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10A68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10A69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10A6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10A6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10A6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10A6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10A6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10A6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10A70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10A71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10A72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10A73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10A74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10A75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10A76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10A77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10A78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10A79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10A7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10A7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10A7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10A7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10A7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10A7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10A80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10A81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10A82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10A83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10A84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10A85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10A86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10A87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10A88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10A89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10A8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10A8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10A8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10A8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10A8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10A8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10A90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10A91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10A92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10A93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10A94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10A95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10A96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10A97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10A98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10A99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10A9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10A9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10A9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10A9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10A9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10A9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10AA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10AA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10AA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10AA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10AA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10AA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10AA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10AA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10AA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10AA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10AAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10AAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10AAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10AAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10AAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10AAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10AB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10AB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10AB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10AB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10AB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10AB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10AB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10AB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10AB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10AB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10ABA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10ABB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10ABC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10ABD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10ABE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10ABF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10AC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10AC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10AC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10AC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10AC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10AC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10AC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10AC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10AC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10ACA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10ACB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10ACC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10ACD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10ACE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10ACF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10AD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10AD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10AD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10AD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10AD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10AD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10AD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10AD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10AD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10AD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10ADA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10ADB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10ADC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10ADD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10ADE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10ADF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10AE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10AE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10AE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10AE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10AE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10AE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10AE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10AE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10AE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10AEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10AEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10AEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10AED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10AEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10AEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10AF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10AF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10AF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10AF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10AF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10AF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10AF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10AF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10AF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10AF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10AFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10AFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10AFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10AFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10AFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10AFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10B01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10B02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10B03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10B04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10B05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10B06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10B07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10B08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10B09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10B0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10B0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10B0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10B0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10B0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10B0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10B10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10B11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10B12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10B13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10B14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10B15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10B16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10B17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10B18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10B19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10B1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10B1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10B1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10B1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10B1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10B1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10B20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10B21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10B22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10B23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10B24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10B25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10B26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10B27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10B28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10B29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10B2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10B2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10B2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10B2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10B2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10B2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10B30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10B31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10B32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10B33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10B34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10B35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10B36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10B37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10B38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10B39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10B3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10B3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10B3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10B3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10B3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10B3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10B41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10B42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10B43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10B44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10B45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10B46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10B47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10B48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10B49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10B4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10B4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10B4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10B4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10B4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10B4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10B50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10B51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10B52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10B53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10B54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10B55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10B56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10B57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10B58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10B59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10B5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10B5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10B5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10B5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10B5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10B5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10B60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10B61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10B62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10B63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10B64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10B65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10B66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10B67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10B68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10B69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10B6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10B6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10B6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10B6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10B6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10B6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10B70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10B71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10B72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10B73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10B74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10B75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10B76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10B77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10B78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10B79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10B7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10B7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10B7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10B7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10B7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10B7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10B80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10B81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10B82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10B83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10B84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10B85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10B86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10B87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10B88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10B89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10B8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10B8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10B8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10B8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10B8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10B8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10B90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10B91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10B92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10B93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10B94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10B95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10B96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10B97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10B98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10B99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10B9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10B9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10B9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10B9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10B9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10B9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10BA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10BA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10BA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10BA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10BA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10BA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10BA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10BA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10BA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10BA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10BAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10BAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10BAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10BAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10BAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10BAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10BB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10BB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10BB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10BB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10BB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10BB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10BB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10BB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10BB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10BB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10BBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10BBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10BBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10BBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10BBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10BBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10BC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10BC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10BC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10BC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10BC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10BC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10BC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10BC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10BC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10BC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10BCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10BCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10BCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10BCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10BCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10BCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10BD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10BD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10BD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10BD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10BD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10BD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10BD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10BD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10BD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10BD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10BDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10BDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10BDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10BDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10BDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10BDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10BE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10BE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10BE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10BE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10BE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10BE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10BE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10BE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10BE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10BE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10BEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10BEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10BEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10BED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10BEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10BEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10BF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10BF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10BF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10BF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10BF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10BF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10BF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10BF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10BF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10BF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10BFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10BFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10BFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10BFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10BFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10BFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10C00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10C01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10C02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10C03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10C04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10C05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10C06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10C07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10C08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10C09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10C0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10C0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10C0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10C0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10C0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10C0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10C10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10C11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10C12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10C13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10C14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10C15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10C16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10C17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10C18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10C19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10C1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10C1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10C1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10C1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10C1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10C1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10C20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10C21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10C22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10C23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10C24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10C25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10C26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10C27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10C28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10C29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10C2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10C2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10C2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10C2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10C2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10C2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10C30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10C31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10C32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10C33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10C34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10C35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10C36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10C37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10C38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10C39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10C3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10C3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10C3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10C3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10C3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10C3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10C40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10C41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10C42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10C43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10C44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10C45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10C46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10C47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10C48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10C49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10C4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10C4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10C4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10C4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10C4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10C4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10C50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10C51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10C52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10C53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10C54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10C55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10C56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10C57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10C58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10C59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10C5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10C5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10C5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10C5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10C5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10C5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10C60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10C61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10C62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10C63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10C64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10C65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10C66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10C67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10C68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10C69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10C6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10C6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10C6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10C6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10C6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10C6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10C70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10C71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10C72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10C73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10C74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10C75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10C76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10C77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10C78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10C79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10C7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10C7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10C7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10C7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10C7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10C7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10C81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10C82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10C83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10C84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10C85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10C86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10C87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10C88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10C89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10C8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10C8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10C8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10C8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10C8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10C8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10C90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10C91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10C92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10C93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10C94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10C95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10C96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10C97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10C98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10C99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10C9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10C9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10C9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10C9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10C9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10C9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10CA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10CA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10CA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10CA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10CA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10CA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10CA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10CA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10CA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10CA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10CAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10CAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10CAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10CAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10CAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10CAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10CB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10CB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10CB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10CB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10CB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10CB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10CB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10CB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10CB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10CBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10CBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10CBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10CBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10CBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10CBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10CC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10CC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10CC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10CC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10CC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10CC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10CC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10CC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10CC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10CC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10CCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10CCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10CCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10CCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10CCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10CCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10CD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10CD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10CD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10CD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10CD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10CD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10CD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10CD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10CD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10CD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10CDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10CDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10CDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10CDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10CDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10CDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10CE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10CE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10CE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10CE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10CE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10CE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10CE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10CE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10CE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10CE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10CEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10CEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10CEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10CED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10CEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10CEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10CF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10CF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10CF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10CF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10CF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10CF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10CF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10CF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10CF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10CF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10CFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10CFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10CFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10CFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10CFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10CFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10D00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10D01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10D02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10D03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10D04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10D05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10D06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10D07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10D08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10D09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10D0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10D0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10D0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10D0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10D0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10D0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10D10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10D11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10D12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10D13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10D14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10D15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10D16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10D17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10D18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10D19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10D1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10D1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10D1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10D1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10D1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10D1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10D20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10D21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10D22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10D23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10D24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10D25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10D26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10D27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10D28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10D29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10D2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10D2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10D2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10D2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10D2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10D2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10D30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10D31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10D32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10D33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10D34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10D35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10D36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10D37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10D38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10D39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10D3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10D3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10D3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10D3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10D3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10D3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10D40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10D41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10D42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10D43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10D44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10D45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10D46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10D47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10D48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10D49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10D4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10D4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10D4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10D4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10D4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10D4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10D50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10D51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10D52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10D53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10D54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10D55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10D56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10D57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10D58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10D59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10D5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10D5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10D5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10D5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10D5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10D5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10D60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10D61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10D62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10D63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10D64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10D65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10D66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10D67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10D68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10D69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10D6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10D6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10D6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10D6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10D6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10D6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10D70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10D71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10D72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10D73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10D74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10D75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10D76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10D77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10D78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10D79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10D7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10D7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10D7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10D7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10D7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10D7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10D80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10D81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10D82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10D83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10D84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10D85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10D86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10D87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10D88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10D89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10D8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10D8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10D8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10D8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10D8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10D8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10D90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10D91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10D92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10D93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10D94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10D95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10D96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10D97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10D98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10D99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10D9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10D9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10D9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10D9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10D9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10D9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10DA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10DA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10DA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10DA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10DA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10DA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10DA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10DA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10DA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10DA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10DAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10DAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10DAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10DAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10DAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10DAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10DB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10DB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10DB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10DB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10DB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10DB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10DB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10DB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10DB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10DB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10DBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10DBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10DBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10DBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10DBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10DBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10DC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10DC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10DC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10DC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10DC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10DC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10DC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10DC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10DC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10DC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10DCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10DCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10DCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10DCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10DCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10DCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10DD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10DD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10DD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10DD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10DD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10DD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10DD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10DD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10DD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10DD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10DDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10DDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10DDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10DDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10DDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10DDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10DE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10DE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10DE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10DE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10DE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10DE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10DE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10DE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10DE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10DE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10DEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10DEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10DEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10DED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10DEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10DEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10DF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10DF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10DF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10DF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10DF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10DF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10DF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10DF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10DF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10DF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10DFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10DFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10DFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10DFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10DFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10DFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10E00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10E01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10E02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10E03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10E04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10E05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10E06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10E07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10E08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10E09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10E0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10E0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10E0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10E0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10E0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10E0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10E10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10E11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10E12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10E13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10E14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10E15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10E16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10E17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10E18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10E19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10E1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10E1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10E1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10E1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10E1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10E1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10E20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10E21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10E22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10E23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10E24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10E25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10E26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10E27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10E28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10E29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10E2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10E2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10E2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10E2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10E2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10E2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10E30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10E31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10E32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10E33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10E34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10E35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10E36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10E37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10E38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10E39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10E3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10E3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10E3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10E3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10E3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10E3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10E40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10E41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10E42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10E43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10E44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10E45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10E46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10E47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10E48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10E49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10E4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10E4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10E4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10E4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10E4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10E4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10E50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10E51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10E52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10E53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10E54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10E55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10E56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10E57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10E58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10E59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10E5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10E5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10E5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10E5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10E5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10E5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10E60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10E61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10E62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10E63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10E64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10E65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10E66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10E67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10E68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10E69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10E6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10E6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10E6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10E6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10E6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10E6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10E70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10E71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10E72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10E73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10E74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10E75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10E76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10E77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10E78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10E79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10E7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10E7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10E7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10E7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10E7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10E7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10E80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10E81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10E82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10E83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10E84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10E85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10E86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10E87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10E88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10E89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10E8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10E8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10E8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10E8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10E8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10E8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10E90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10E91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10E92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10E93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10E94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10E95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10E96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10E97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10E98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10E99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10E9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10E9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10E9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10E9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10E9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10E9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10EA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10EA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10EA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10EA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10EA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10EA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10EA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10EA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10EA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10EA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10EAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10EAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10EAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10EAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10EAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10EAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10EB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10EB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10EB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10EB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10EB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10EB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10EB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10EB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10EB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10EB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10EBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10EBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10EBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10EBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10EBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10EBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10EC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10EC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10EC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10EC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10EC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10EC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10EC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10EC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10EC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10EC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10ECA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10ECB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10ECC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10ECD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10ECE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10ECF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10ED0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10ED1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10ED2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10ED3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10ED4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10ED5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10ED6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10ED7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10ED8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10ED9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10EDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10EDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10EDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10EDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10EDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10EDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10EE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10EE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10EE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10EE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10EE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10EE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10EE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10EE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10EE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10EE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10EEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10EEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10EEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10EED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10EEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10EEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10EF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10EF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10EF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10EF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10EF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10EF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10EF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10EF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10EF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10EF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10EFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10EFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10EFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10EFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10EFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10EFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10F00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10F01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10F02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10F03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10F04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10F05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10F06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10F07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10F08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10F09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10F0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10F0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10F0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10F0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10F0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10F0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10F10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10F11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10F12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10F13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10F14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10F15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10F16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10F17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10F18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10F19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10F1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10F1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10F1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10F1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10F1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10F1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10F20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10F21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10F22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10F23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10F24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10F25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10F26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10F27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10F28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10F29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10F2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10F2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10F2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10F2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10F2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10F2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10F30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10F31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10F32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10F33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10F34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10F35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10F36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10F37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10F38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10F39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10F3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10F3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10F3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10F3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10F3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10F3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10F40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10F41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10F42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10F43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10F44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10F45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10F46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10F47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10F48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10F49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10F4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10F4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10F4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10F4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10F4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10F4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10F50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10F51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10F52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10F53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10F54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10F55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10F56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10F57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10F58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10F59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10F5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10F5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10F5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10F5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10F5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10F5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10F60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10F61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10F62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10F63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10F64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10F65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10F66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10F67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10F68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10F69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10F6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10F6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10F6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10F6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10F6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10F6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10F70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10F71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10F72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10F73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10F74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10F75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10F76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10F77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10F78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10F79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10F7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10F7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10F7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10F7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10F7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10F7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10F80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10F82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10F83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10F84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10F85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10F86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10F87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10F88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10F89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10F8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10F8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10F8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10F8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10F8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10F8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10F90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10F91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10F92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10F93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10F94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10F95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10F96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10F97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10F98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10F99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10F9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10F9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10F9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10F9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10F9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10F9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10FA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10FA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10FA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10FA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10FA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10FA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10FA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10FA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10FA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10FA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10FAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10FAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10FAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10FAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10FAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10FAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10FB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10FB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10FB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10FB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10FB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10FB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10FB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10FB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10FB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10FB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10FBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10FBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10FBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10FBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10FBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10FBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10FC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10FC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10FC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10FC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10FC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10FC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10FC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10FC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10FC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10FC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10FCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10FCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10FCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10FCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10FCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10FCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10FD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10FD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10FD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10FD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10FD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10FD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10FD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10FD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10FD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10FD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10FDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10FDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10FDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10FDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10FDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10FDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10FE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10FE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10FE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10FE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10FE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10FE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10FE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10FE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10FE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10FE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10FEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10FEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10FEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10FED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10FEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10FEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10FF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10FF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10FF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10FF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10FF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10FF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10FF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10FF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10FF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10FFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10FFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10FFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10FFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:020000021000EC +:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10015000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10016000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10017000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10018000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10019000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:1001A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:1001B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:1001C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1001D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1001E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1001F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10020000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10021000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10022000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10023000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10024000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10025000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10026000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10027000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10028000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10029000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:1002A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:1002B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:1002C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1002D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1002E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1002F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10030000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10031000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10032000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10033000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10034000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10035000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10036000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10037000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10038000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10039000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:1003A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:1003B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:1003C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1003D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1003E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1003F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10040000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10041000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10042000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10043000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10044000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10045000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10046000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10047000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10048000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10049000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:1004A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:1004B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:1004C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1004D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1004E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1004F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10050000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10051000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10052000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10053000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10054000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10055000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10056000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10057000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10058000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10059000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:1005A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:1005B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:1005C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1005D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1005E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1005F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10060000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10061000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10062000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10063000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10064000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10065000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10066000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10067000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10068000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10069000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:1006A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:1006B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:1006C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1006D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1006E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1006F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10070000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10071000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10072000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10073000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10074000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10075000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10076000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10077000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10078000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10079000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:1007A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:1007B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:1007C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:1007D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1007E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1007F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10080000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10081000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10082000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10083000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10084000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10085000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10086000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10087000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10088000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10089000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:1008A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:1008B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:1008C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:1008D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:1008E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1008F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10090000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10091000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10092000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10093000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10094000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10095000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10096000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10097000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10098000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10099000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:1009A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:1009B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:1009C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:1009D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1009E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1009F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:100A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:100A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:100A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:100A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:100A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:100A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:100A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:100A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:100A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:100A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:100AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:100AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:100AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:100AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:100AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:100AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:100B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:100B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:100B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:100B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:100B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:100B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:100B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:100B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:100B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:100B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:100BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:100BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:100BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:100BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:100BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:100BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:100C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:100C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:100C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:100C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:100C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:100C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:100C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:100C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:100C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:100C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:100CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:100CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:100CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:100CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:100CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:100CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:100D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:100D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:100D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:100D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:100D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:100D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:100D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:100D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:100D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:100D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:100DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:100DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:100DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:100DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:100DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:100DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:100E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:100E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:100E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:100E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:100E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:100E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:100E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:100E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:100E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:100E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:100EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:100EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:100EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:100ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:100EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:100EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:100F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:100F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:100F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:100F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:100F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:100F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:100F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:100F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:100F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:100F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:100FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:100FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:100FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:100FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:100FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:100FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10100000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10101000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10106000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10107000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10108000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10109000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:1010A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1010B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1010C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1010D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1010F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10111000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10113000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10115000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10117000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10119000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:1011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:1011B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1011D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1011F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10120000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10121000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10123000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10125000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10127000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10129000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:1012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:1012B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1012D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1012F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10131000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10133000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10177000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10179000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:1017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:1017B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:1017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1017D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10181000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10183000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10185000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10187000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10189000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:1018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:1018B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:1018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:1018D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1018F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10191000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10193000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10195000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10197000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10199000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:1019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:1019B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:1019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1019D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1019F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:101A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:101A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:101A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:101A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:101A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:101A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:101A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:101A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:101A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:101A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:101AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:101AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:101AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:101AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:101AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:101AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:101B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:101B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:101B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:101B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:101B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:101B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:101B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:101B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:101B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:101B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:101BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:101BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:101BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:101BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:101BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:101BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:101C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:101C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:101C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:101C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:101C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:101C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:101C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:101C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:101C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:101C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:101CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:101CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:101CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:101CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:101CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:101CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:101D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:101D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:101D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:101D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:101D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:101D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:101D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:101D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:101D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:101D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:101DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:101DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:101DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:101DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:101DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:101DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:101E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:101E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:101E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:101E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:101E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:101E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:101E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:101E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:101E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:101E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:101EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:101EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:101EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:101ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:101EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:101EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:101F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:101F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:101F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:101F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:101F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:101F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:101F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:101F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:101F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:101F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:101FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:101FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:101FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:101FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:101FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:101FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10200000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10201000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10202000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10203000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10204000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10205000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10206000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10207000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10208000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10209000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:1020A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1020B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1020C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1020D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1020E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1020F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10210000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10211000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10212000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10213000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10214000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10215000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10216000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10217000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10218000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10219000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:1021A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1021B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1021C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1021D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1021E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1021F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10220000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10221000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10222000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10223000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10224000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10225000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10226000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10227000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10228000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10229000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:1022A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1022B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1022C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1022D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1022E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1022F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10230000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10231000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10232000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10233000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10234000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10235000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10236000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10237000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10238000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10239000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:1023A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1023B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1023C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1023D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1023E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1023F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10240000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10241000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10242000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10243000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10244000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10245000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10246000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10247000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10248000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10249000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:1024A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1024B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1024C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1024D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1024E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1024F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10250000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10251000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10252000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10253000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10254000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10255000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10256000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10257000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10258000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10259000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:1025A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1025B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1025C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1025D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1025E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1025F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10260000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10261000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10262000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10263000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10264000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10265000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10266000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10267000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10268000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10269000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:1026A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1026B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1026C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1026D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1026E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1026F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10270000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10271000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10272000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10273000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10274000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10275000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10276000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10277000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10278000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10279000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:1027A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:1027B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1027C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1027D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1027E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1027F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10280000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10281000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10282000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10283000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10284000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10285000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10286000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10287000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10288000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10289000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:1028A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:1028B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:1028C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1028D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1028E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1028F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10290000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10291000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10292000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10293000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10294000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10295000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10296000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10297000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10298000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10299000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:1029A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:1029B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1029C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1029D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1029E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1029F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:102A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:102A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:102A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:102A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:102A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:102A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:102A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:102A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:102A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:102A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:102AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:102AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:102AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:102AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:102AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:102AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:102B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:102B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:102B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:102B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:102B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:102B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:102B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:102B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:102B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:102B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:102BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:102BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:102BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:102BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:102BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:102BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:102C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:102C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:102C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:102C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:102C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:102C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:102C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:102C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:102C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:102C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:102CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:102CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:102CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:102CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:102CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:102CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:102D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:102D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:102D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:102D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:102D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:102D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:102D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:102D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:102D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:102D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:102DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:102DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:102DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:102DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:102DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:102DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:102E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:102E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:102E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:102E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:102E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:102E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:102E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:102E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:102E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:102E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:102EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:102EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:102EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:102ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:102EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:102EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:102F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:102F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:102F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:102F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:102F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:102F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:102F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:102F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:102F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:102F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:102FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:102FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:102FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:102FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:102FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:102FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10300000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10301000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10302000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10303000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10304000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10305000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10306000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10307000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10308000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10309000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:1030A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1030B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1030C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1030D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1030E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1030F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10310000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10311000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10312000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10313000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10314000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10315000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10316000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10317000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10318000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10319000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:1031A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1031B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1031C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1031D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1031E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1031F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10320000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10321000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10322000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10323000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10324000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10325000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10326000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10327000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10328000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10329000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:1032A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1032B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1032C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1032D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1032E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1032F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10330000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10331000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10332000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10333000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10334000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10335000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10336000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10337000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10338000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10339000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:1033A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1033B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1033C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1033D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1033E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1033F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10340000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10341000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10342000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10343000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10344000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10345000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10346000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10347000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10348000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10349000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:1034A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1034B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1034C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1034D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1034E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1034F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10350000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10351000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10352000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10353000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10354000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10355000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10356000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10357000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10358000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10359000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:1035A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1035B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1035C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1035D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1035E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1035F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10360000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10361000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10362000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10363000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10364000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10365000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10366000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10367000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10368000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10369000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:1036A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1036B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1036C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1036D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1036E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1036F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10370000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10371000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10372000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10373000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10374000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10375000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10376000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10377000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10378000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10379000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:1037A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1037B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1037C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1037D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1037E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1037F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10380000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10381000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10382000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10383000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10384000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10385000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10386000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10387000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10388000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10389000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:1038A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:1038B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1038C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1038D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1038E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1038F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10390000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10391000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10392000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10393000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10394000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10395000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10396000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10397000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10398000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10399000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:1039A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1039B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1039C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1039D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1039E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1039F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:103A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:103A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:103A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:103A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:103A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:103A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:103A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:103A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:103A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:103A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:103AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:103AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:103AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:103AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:103AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:103AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:103B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:103B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:103B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:103B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:103B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:103B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:103B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:103B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:103B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:103B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:103BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:103BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:103BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:103BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:103BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:103BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:103C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:103C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:103C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:103C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:103C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:103C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:103C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:103C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:103C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:103C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:103CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:103CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:103CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:103CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:103CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:103CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:103D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:103D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:103D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:103D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:103D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:103D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:103D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:103D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:103D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:103D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:103DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:103DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:103DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:103DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:103DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:103DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:103E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:103E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:103E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:103E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:103E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:103E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:103E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:103E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:103E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:103E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:103EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:103EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:103EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:103ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:103EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:103EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:103F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:103F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:103F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:103F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:103F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:103F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:103F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:103F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:103F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:103F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:103FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:103FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:103FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:103FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:103FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:103FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10400000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10401000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10402000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10403000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10404000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10405000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10406000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10407000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10408000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10409000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:1040A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1040B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1040C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1040D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1040E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1040F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10410000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10411000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10412000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10413000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10414000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10415000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10416000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10417000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10418000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10419000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:1041A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1041B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1041C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1041D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1041E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1041F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10420000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10421000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10422000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10423000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10424000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10425000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10426000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10427000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10428000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10429000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:1042A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1042B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1042C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1042D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1042E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1042F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10430000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10431000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10432000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10433000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10434000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10435000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10436000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10437000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10438000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10439000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:1043A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1043B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1043C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1043D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1043E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1043F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10440000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10441000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10442000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10443000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10444000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10445000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10446000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10447000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10448000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10449000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:1044A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1044B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1044C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1044D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1044E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1044F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10450000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10451000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10452000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10453000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10454000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10455000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10456000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10457000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10458000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10459000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:1045A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1045B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1045C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1045D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1045E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1045F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10460000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10461000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10462000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10463000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10464000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10465000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10466000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10467000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10468000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10469000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:1046A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1046B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1046C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1046D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1046E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1046F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10470000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10471000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10472000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10473000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10474000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10475000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10476000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10477000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10478000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10479000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:1047A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1047B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1047C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1047D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1047E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1047F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10480000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10481000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10482000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10483000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10484000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10485000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10486000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10487000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10488000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10489000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:1048A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1048B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1048C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1048D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1048E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1048F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10490000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10491000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10492000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10493000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10494000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10495000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10496000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10497000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10498000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10499000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:1049A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1049B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1049C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1049D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1049E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1049F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:104A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:104A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:104A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:104A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:104A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:104A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:104A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:104A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:104A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:104A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:104AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:104AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:104AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:104AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:104AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:104AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:104B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:104B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:104B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:104B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:104B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:104B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:104B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:104B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:104B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:104B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:104BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:104BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:104BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:104BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:104BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:104BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:104C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:104C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:104C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:104C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:104C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:104C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:104C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:104C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:104C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:104C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:104CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:104CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:104CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:104CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:104CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:104CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:104D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:104D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:104D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:104D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:104D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:104D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:104D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:104D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:104D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:104D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:104DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:104DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:104DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:104DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:104DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:104DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:104E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:104E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:104E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:104E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:104E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:104E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:104E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:104E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:104E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:104E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:104EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:104EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:104EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:104ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:104EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:104EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:104F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:104F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:104F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:104F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:104F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:104F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:104F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:104F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:104F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:104F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:104FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:104FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:104FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:104FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:104FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:104FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10500000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10501000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10502000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10503000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10504000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10505000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10506000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10507000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10508000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10509000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:1050A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1050B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1050C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1050D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1050E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:1050F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10510000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10511000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10512000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10513000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10514000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10515000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10516000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10517000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10518000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10519000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:1051A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1051B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1051C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1051D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1051E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:1051F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10520000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10521000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10522000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10523000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10524000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10525000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10526000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10527000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10528000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10529000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:1052A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1052B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1052C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1052D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1052E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:1052F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10530000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10531000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10532000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10533000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10534000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10535000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10536000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10537000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10538000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10539000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:1053A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1053B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1053C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1053D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1053E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:1053F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10540000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10541000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10542000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10543000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10544000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10545000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10546000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10547000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10548000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10549000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:1054A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1054B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1054C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1054D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1054E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:1054F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10550000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10551000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10552000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10553000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10554000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10555000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10556000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10557000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10558000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10559000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:1055A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1055B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1055C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1055D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1055E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:1055F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10560000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10561000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10562000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10563000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10564000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10565000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10566000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10567000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10568000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10569000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:1056A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1056B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1056C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1056D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1056E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1056F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10570000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10571000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10572000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10573000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10574000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10575000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10576000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10577000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10578000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10579000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:1057A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1057B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1057C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1057D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1057E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:1057F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10580000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10581000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10582000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10583000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10584000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10585000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10586000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10587000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10588000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10589000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:1058A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1058B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1058C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1058D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1058E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:1058F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10590000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10591000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10592000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10593000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10594000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10595000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10596000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10597000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10598000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10599000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:1059A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1059B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1059C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1059D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1059E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1059F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:105A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:105A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:105A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:105A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:105A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:105A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:105A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:105A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:105A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:105A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:105AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:105AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:105AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:105AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:105AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:105AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:105B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:105B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:105B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:105B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:105B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:105B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:105B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:105B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:105B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:105B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:105BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:105BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:105BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:105BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:105BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:105BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:105C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:105C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:105C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:105C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:105C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:105C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:105C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:105C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:105C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:105C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:105CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:105CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:105CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:105CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:105CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:105CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:105D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:105D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:105D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:105D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:105D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:105D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:105D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:105D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:105D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:105D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:105DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:105DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:105DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:105DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:105DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:105DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:105E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:105E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:105E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:105E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:105E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:105E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:105E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:105E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:105E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:105E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:105EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:105EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:105EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:105ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:105EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:105EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:105F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:105F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:105F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:105F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:105F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:105F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:105F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:105F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:105F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:105F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:105FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:105FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:105FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:105FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:105FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:105FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10600000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10601000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10602000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10603000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10604000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10605000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10606000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10607000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10608000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10609000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:1060A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1060B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1060C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1060D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:1060E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:1060F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10610000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10611000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10612000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10613000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10614000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10615000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10616000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10617000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10618000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10619000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:1061A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1061B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1061C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1061D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:1061E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:1061F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10620000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10621000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10622000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10623000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10624000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10625000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10626000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10627000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10628000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10629000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:1062A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1062B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1062C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1062D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:1062E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:1062F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10630000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10631000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10632000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10633000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10634000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10635000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10636000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10637000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10638000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10639000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:1063A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1063B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1063C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1063D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:1063E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:1063F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10640000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10641000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10642000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10643000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10644000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10645000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10646000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10647000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10648000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10649000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:1064A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1064B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1064C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1064D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:1064E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:1064F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10650000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10651000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10652000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10653000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10654000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10655000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10656000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10657000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10658000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10659000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:1065A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1065B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1065C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1065D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:1065E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:1065F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10660000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10661000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10662000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10663000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10664000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10665000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10666000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10667000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10668000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10669000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:1066A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1066B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1066C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1066D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1066E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:1066F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10670000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10671000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10672000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10673000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10674000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10675000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10676000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10677000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10678000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10679000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:1067A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1067B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1067C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1067D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:1067E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:1067F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10680000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10681000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10682000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10683000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10684000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10685000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10686000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10687000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10688000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10689000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:1068A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1068B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1068C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1068D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:1068E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:1068F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10690000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10691000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10692000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10693000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10694000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10695000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10696000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10697000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10698000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10699000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:1069A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1069B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1069C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1069D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1069E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:1069F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:106A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:106A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:106A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:106A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:106A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:106A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:106A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:106A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:106A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:106A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:106AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:106AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:106AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:106AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:106AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:106AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:106B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:106B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:106B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:106B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:106B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:106B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:106B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:106B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:106B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:106B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:106BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:106BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:106BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:106BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:106BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:106BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:106C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:106C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:106C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:106C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:106C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:106C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:106C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:106C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:106C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:106C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:106CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:106CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:106CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:106CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:106CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:106CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:106D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:106D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:106D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:106D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:106D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:106D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:106D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:106D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:106D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:106D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:106DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:106DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:106DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:106DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:106DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:106DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:106E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:106E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:106E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:106E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:106E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:106E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:106E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:106E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:106E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:106E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:106EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:106EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:106EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:106ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:106EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:106EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:106F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:106F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:106F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:106F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:106F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:106F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:106F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:106F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:106F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:106F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:106FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:106FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:106FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:106FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:106FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:106FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10700000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10701000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10702000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10703000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10704000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10705000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10706000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10707000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10708000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10709000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:1070A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1070B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1070C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:1070D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:1070E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:1070F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10710000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10711000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10712000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10713000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10714000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10715000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10716000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10717000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10718000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10719000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:1071A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1071B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1071C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:1071D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:1071E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:1071F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10720000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10721000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10722000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10723000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10724000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10725000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10726000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10727000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10728000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10729000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:1072A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1072B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1072C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:1072D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:1072E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:1072F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10730000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10731000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10732000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10733000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10734000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10735000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10736000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10737000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10738000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10739000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:1073A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1073B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1073C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:1073D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:1073E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:1073F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10740000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10741000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10742000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10743000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10744000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10745000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10746000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10747000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10748000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10749000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:1074A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1074B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1074C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:1074D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:1074E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:1074F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10750000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10751000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10752000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10753000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10754000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10755000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10756000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10757000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10758000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10759000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:1075A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1075B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1075C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:1075D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:1075E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:1075F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10760000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10761000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10762000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10763000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10764000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10765000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10766000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10767000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10768000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10769000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:1076A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1076B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1076C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1076D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:1076E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:1076F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10770000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10771000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10772000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10773000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10774000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10775000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10776000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10777000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10778000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10779000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:1077A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1077B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1077C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:1077D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:1077E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:1077F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10780000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10781000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10782000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10783000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10784000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10785000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10786000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10787000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10788000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10789000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:1078A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1078B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1078C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:1078D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:1078E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:1078F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10790000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10791000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10792000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10793000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10794000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10795000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10796000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10797000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10798000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10799000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:1079A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1079B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1079C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1079D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:1079E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:1079F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:107A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:107A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:107A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:107A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:107A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:107A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:107A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:107A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:107A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:107A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:107AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:107AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:107AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:107AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:107AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:107AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:107B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:107B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:107B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:107B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:107B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:107B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:107B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:107B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:107B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:107B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:107BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:107BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:107BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:107BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:107BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:107BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:107C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:107C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:107C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:107C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:107C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:107C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:107C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:107C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:107C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:107C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:107CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:107CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:107CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:107CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:107CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:107CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:107D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:107D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:107D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:107D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:107D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:107D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:107D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:107D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:107D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:107D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:107DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:107DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:107DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:107DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:107DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:107DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:107E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:107E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:107E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:107E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:107E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:107E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:107E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:107E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:107E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:107E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:107EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:107EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:107EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:107ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:107EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:107EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:107F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:107F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:107F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:107F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:107F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:107F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:107F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:107F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:107F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:107F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:107FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:107FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:107FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:107FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:107FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:107FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10800000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10801000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10802000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10803000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10804000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10805000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10806000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10807000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10808000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10809000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:1080A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1080B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:1080C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:1080D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:1080E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:1080F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10810000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10811000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10812000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10813000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10814000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10815000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10816000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10817000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10818000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10819000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:1081A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1081B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:1081C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:1081D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:1081E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:1081F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10820000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10821000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10822000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10823000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10824000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10825000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10826000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10827000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10828000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10829000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:1082A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1082B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:1082C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:1082D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:1082E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:1082F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10830000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10831000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10832000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10833000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10834000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10835000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10836000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10837000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10838000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10839000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:1083A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1083B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:1083C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:1083D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:1083E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:1083F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10840000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10841000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10842000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10843000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10844000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10845000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10846000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10847000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10848000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10849000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:1084A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1084B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:1084C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:1084D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:1084E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:1084F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10850000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10851000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10852000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10853000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10854000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10855000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10856000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10857000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10858000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10859000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:1085A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1085B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:1085C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:1085D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:1085E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:1085F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10860000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10861000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10862000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10863000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10864000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10865000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10866000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10867000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10868000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10869000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:1086A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1086B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1086C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:1086D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:1086E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:1086F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10870000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10871000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10872000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10873000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10874000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10875000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10876000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10877000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10878000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10879000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:1087A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1087B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:1087C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:1087D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:1087E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:1087F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10880000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10881000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10882000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10883000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10884000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10885000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10886000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10887000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10888000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10889000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:1088A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1088B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:1088C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:1088D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:1088E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:1088F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10890000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10891000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10892000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10893000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10894000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10895000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10896000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10897000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10898000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10899000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:1089A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1089B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1089C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:1089D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:1089E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:1089F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:108A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:108A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:108A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:108A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:108A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:108A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:108A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:108A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:108A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:108A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:108AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:108AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:108AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:108AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:108AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:108AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:108B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:108B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:108B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:108B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:108B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:108B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:108B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:108B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:108B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:108B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:108BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:108BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:108BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:108BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:108BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:108BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:108C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:108C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:108C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:108C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:108C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:108C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:108C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:108C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:108C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:108C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:108CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:108CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:108CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:108CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:108CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:108CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:108D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:108D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:108D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:108D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:108D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:108D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:108D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:108D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:108D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:108D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:108DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:108DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:108DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:108DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:108DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:108DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:108E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:108E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:108E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:108E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:108E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:108E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:108E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:108E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:108E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:108E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:108EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:108EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:108EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:108ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:108EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:108EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:108F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:108F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:108F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:108F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:108F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:108F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:108F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:108F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:108F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:108F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:108FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:108FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:108FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:108FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:108FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:108FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10900000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10901000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10902000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10903000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10904000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10905000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10906000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10907000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10908000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10909000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:1090A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:1090B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:1090C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:1090D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:1090E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:1090F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10910000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10911000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10912000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10913000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10914000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10915000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10916000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10917000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10918000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10919000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:1091A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:1091B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:1091C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:1091D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:1091E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:1091F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10920000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10921000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10922000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10923000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10924000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10925000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10926000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10927000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10928000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10929000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:1092A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:1092B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:1092C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:1092D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:1092E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:1092F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10930000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10931000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10932000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10933000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10934000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10935000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10936000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10937000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10938000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10939000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:1093A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:1093B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:1093C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:1093D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:1093E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:1093F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10940000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10941000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10942000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10943000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10944000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10945000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10946000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10947000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10948000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10949000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:1094A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:1094B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:1094C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:1094D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:1094E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:1094F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10950000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10951000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10952000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10953000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10954000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10955000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10956000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10957000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10958000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10959000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:1095A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:1095B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:1095C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:1095D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:1095E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:1095F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10960000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10961000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10962000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10963000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10964000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10965000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10966000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10967000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10968000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10969000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:1096A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:1096B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:1096C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:1096D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:1096E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:1096F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10970000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10971000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10972000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10973000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10974000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10975000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10976000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10977000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10978000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10979000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:1097A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:1097B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:1097C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:1097D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:1097E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:1097F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10980000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10981000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10982000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10983000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10984000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10985000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10986000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10987000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10988000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10989000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:1098A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:1098B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:1098C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:1098D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:1098E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:1098F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10990000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10991000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10992000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10993000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10994000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10995000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10996000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10997000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10998000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10999000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:1099A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:1099B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:1099C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:1099D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:1099E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:1099F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:109A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:109A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:109A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:109A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:109A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:109A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:109A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:109A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:109A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:109A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:109AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:109AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:109AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:109AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:109AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:109AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:109B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:109B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:109B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:109B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:109B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:109B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:109B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:109B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:109B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:109B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:109BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:109BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:109BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:109BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:109BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:109BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:109C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:109C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:109C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:109C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:109C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:109C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:109C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:109C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:109C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:109C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:109CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:109CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:109CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:109CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:109CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:109CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:109D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:109D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:109D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:109D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:109D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:109D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:109D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:109D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:109D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:109D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:109DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:109DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:109DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:109DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:109DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:109DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:109E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:109E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:109E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:109E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:109E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:109E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:109E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:109E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:109E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:109E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:109EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:109EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:109EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:109ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:109EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:109EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:109F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:109F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:109F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:109F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:109F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:109F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:109F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:109F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:109F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:109F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:109FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:109FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:109FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:109FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:109FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:109FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10A00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10A01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10A02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10A03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10A04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10A05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10A06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10A07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10A08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10A09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10A0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10A0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10A0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10A0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10A0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10A0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10A10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10A11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10A12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10A13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10A14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10A15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10A16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10A17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10A18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10A19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10A1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10A1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10A1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10A1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10A1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10A1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10A20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10A21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10A22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10A23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10A24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10A25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10A26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10A27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10A28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10A29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10A2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10A2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10A2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10A2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10A2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10A2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10A30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10A31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10A32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10A33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10A34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10A35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10A36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10A37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10A38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10A39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10A3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10A3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10A3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10A3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10A3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10A3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10A40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10A41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10A42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10A43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10A44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10A45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10A46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10A47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10A48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10A49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10A4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10A4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10A4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10A4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10A4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10A4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10A50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10A51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10A52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10A53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10A54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10A55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10A56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10A57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10A58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10A59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10A5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10A5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10A5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10A5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10A5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10A5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10A60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10A61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10A62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10A63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10A64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10A65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10A66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10A67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10A68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10A69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10A6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10A6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10A6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10A6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10A6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10A6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10A70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10A71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10A72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10A73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10A74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10A75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10A76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10A77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10A78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10A79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10A7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10A7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10A7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10A7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10A7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10A7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10A80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10A81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10A82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10A83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10A84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10A85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10A86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10A87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10A88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10A89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10A8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10A8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10A8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10A8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10A8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10A8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10A90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10A91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10A92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10A93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10A94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10A95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10A96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10A97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10A98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10A99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10A9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10A9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10A9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10A9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10A9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10A9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10AA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10AA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10AA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10AA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10AA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10AA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10AA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10AA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10AA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10AA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10AAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10AAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10AAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10AAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10AAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10AAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10AB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10AB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10AB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10AB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10AB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10AB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10AB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10AB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10AB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10AB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10ABA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10ABB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10ABC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10ABD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10ABE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10ABF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10AC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10AC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10AC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10AC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10AC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10AC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10AC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10AC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10AC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10AC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10ACA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10ACB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10ACC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10ACD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10ACE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10ACF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10AD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10AD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10AD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10AD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10AD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10AD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10AD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10AD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10AD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10AD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10ADA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10ADB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10ADC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10ADD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10ADE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10ADF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10AE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10AE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10AE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10AE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10AE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10AE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10AE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10AE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10AE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10AE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10AEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10AEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10AEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10AED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10AEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10AEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10AF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10AF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10AF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10AF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10AF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10AF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10AF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10AF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10AF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10AF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10AFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10AFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10AFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10AFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10AFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10AFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10B00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10B01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10B02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10B03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10B04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10B05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10B06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10B07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10B08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10B09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10B0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10B0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10B0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10B0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10B0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10B0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10B10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10B11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10B12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10B13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10B14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10B15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10B16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10B17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10B18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10B19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10B1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10B1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10B1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10B1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10B1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10B1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10B20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10B21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10B22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10B23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10B24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10B25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10B26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10B27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10B28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10B29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10B2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10B2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10B2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10B2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10B2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10B2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10B30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10B31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10B32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10B33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10B34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10B35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10B36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10B37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10B38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10B39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10B3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10B3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10B3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10B3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10B3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10B3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10B40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10B41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10B42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10B43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10B44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10B45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10B46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10B47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10B48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10B49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10B4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10B4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10B4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10B4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10B4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10B4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10B50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10B51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10B52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10B53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10B54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10B55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10B56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10B57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10B58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10B59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10B5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10B5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10B5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10B5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10B5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10B5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10B60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10B61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10B62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10B63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10B64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10B65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10B66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10B67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10B68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10B69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10B6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10B6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10B6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10B6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10B6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10B6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10B70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10B71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10B72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10B73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10B74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10B75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10B76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10B77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10B78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10B79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10B7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10B7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10B7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10B7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10B7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10B7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10B80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10B81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10B82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10B83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10B84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10B85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10B86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10B87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10B88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10B89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10B8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10B8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10B8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10B8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10B8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10B8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10B90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10B91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10B92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10B93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10B94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10B95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10B96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10B97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10B98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10B99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10B9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10B9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10B9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10B9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10B9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10B9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10BA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10BA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10BA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10BA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10BA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10BA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10BA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10BA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10BA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10BA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10BAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10BAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10BAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10BAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10BAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10BAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10BB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10BB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10BB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10BB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10BB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10BB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10BB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10BB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10BB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10BB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10BBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10BBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10BBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10BBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10BBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10BBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10BC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10BC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10BC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10BC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10BC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10BC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10BC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10BC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10BC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10BC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10BCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10BCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10BCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10BCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10BCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10BCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10BD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10BD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10BD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10BD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10BD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10BD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10BD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10BD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10BD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10BD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10BDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10BDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10BDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10BDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10BDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10BDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10BE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10BE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10BE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10BE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10BE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10BE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10BE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10BE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10BE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10BE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10BEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10BEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10BEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10BED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10BEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10BEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10BF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10BF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10BF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10BF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10BF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10BF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10BF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10BF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10BF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10BF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10BFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10BFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10BFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10BFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10BFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10BFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10C00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10C01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10C02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10C03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10C04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10C05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10C06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10C07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10C08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10C09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10C0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10C0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10C0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10C0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10C0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10C0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10C10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10C11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10C12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10C13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10C14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10C15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10C16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10C17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10C18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10C19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10C1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10C1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10C1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10C1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10C1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10C1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10C20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10C21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10C22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10C23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10C24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10C25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10C26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10C27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10C28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10C29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10C2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10C2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10C2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10C2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10C2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10C2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10C30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10C31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10C32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10C33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10C34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10C35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10C36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10C37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10C38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10C39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10C3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10C3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10C3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10C3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10C3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10C3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10C40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10C41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10C42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10C43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10C44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10C45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10C46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10C47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10C48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10C49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10C4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10C4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10C4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10C4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10C4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10C4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10C50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10C51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10C52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10C53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10C54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10C55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10C56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10C57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10C58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10C59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10C5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10C5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10C5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10C5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10C5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10C5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10C60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10C61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10C62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10C63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10C64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10C65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10C66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10C67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10C68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10C69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10C6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10C6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10C6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10C6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10C6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10C6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10C70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10C71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10C72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10C73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10C74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10C75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10C76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10C77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10C78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10C79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10C7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10C7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10C7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10C7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10C7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10C7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10C80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10C81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10C82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10C83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10C84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10C85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10C86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10C87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10C88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10C89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10C8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10C8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10C8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10C8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10C8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10C8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10C90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10C91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10C92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10C93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10C94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10C95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10C96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10C97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10C98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10C99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10C9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10C9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10C9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10C9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10C9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10C9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10CA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10CA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10CA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10CA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10CA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10CA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10CA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10CA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10CA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10CA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10CAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10CAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10CAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10CAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10CAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10CAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10CB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10CB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10CB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10CB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10CB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10CB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10CB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10CB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10CB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10CB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10CBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10CBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10CBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10CBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10CBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10CBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10CC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10CC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10CC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10CC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10CC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10CC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10CC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10CC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10CC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10CC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10CCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10CCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10CCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10CCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10CCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10CCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10CD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10CD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10CD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10CD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10CD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10CD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10CD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10CD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10CD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10CD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10CDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10CDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10CDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10CDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10CDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10CDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10CE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10CE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10CE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10CE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10CE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10CE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10CE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10CE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10CE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10CE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10CEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10CEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10CEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10CED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10CEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10CEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10CF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10CF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10CF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10CF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10CF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10CF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10CF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10CF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10CF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10CF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10CFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10CFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10CFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10CFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10CFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10CFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10D00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10D01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10D02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10D03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10D04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10D05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10D06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10D07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10D08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10D09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10D0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10D0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10D0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10D0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10D0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10D0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10D10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10D11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10D12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10D13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10D14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10D15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10D16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10D17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10D18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10D19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10D1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10D1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10D1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10D1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10D1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10D1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10D20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10D21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10D22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10D23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10D24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10D25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10D26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10D27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10D28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10D29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10D2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10D2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10D2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10D2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10D2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10D2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10D30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10D31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10D32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10D33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10D34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10D35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10D36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10D37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10D38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10D39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10D3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10D3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10D3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10D3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10D3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10D3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10D40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10D41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10D42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10D43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10D44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10D45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10D46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10D47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10D48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10D49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10D4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10D4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10D4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10D4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10D4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10D4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10D50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10D51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10D52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10D53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10D54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10D55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10D56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10D57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10D58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10D59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10D5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10D5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10D5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10D5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10D5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10D5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10D60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10D61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10D62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10D63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10D64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10D65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10D66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10D67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10D68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10D69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10D6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10D6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10D6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10D6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10D6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10D6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10D70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10D71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10D72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10D73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10D74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10D75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10D76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10D77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10D78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10D79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10D7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10D7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10D7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10D7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10D7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10D7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10D80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10D81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10D82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10D83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10D84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10D85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10D86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10D87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10D88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10D89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10D8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10D8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10D8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10D8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10D8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10D8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10D90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10D91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10D92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10D93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10D94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10D95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10D96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10D97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10D98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10D99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10D9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10D9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10D9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10D9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10D9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10D9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10DA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10DA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10DA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10DA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10DA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10DA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10DA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10DA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10DA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10DA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10DAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10DAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10DAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10DAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10DAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10DAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10DB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10DB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10DB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10DB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10DB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10DB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10DB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10DB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10DB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10DB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10DBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10DBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10DBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10DBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10DBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10DBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10DC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10DC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10DC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10DC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10DC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10DC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10DC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10DC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10DC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10DC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10DCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10DCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10DCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10DCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10DCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10DCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10DD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10DD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10DD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10DD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10DD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10DD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10DD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10DD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10DD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10DD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10DDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10DDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10DDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10DDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10DDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10DDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10DE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10DE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10DE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10DE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10DE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10DE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10DE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10DE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10DE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10DE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10DEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10DEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10DEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10DED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10DEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10DEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10DF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10DF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10DF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10DF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10DF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10DF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10DF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10DF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10DF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10DF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10DFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10DFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10DFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10DFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10DFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10DFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10E00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10E01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10E02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10E03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10E04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10E05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10E06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10E07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10E08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10E09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10E0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10E0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10E0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10E0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10E0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10E0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10E10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10E11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10E12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10E13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10E14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10E15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10E16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10E17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10E18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10E19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10E1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10E1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10E1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10E1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10E1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10E1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10E20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10E21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10E22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10E23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10E24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10E25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10E26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10E27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10E28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10E29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10E2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10E2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10E2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10E2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10E2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10E2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10E30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10E31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10E32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10E33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10E34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10E35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10E36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10E37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10E38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10E39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10E3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10E3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10E3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10E3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10E3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10E3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10E40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10E41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10E42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10E43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10E44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10E45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10E46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10E47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10E48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10E49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10E4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10E4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10E4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10E4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10E4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10E4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10E50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10E51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10E52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10E53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10E54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10E55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10E56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10E57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10E58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10E59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10E5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10E5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10E5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10E5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10E5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10E5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10E60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10E61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10E62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10E63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10E64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10E65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10E66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10E67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10E68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10E69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10E6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10E6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10E6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10E6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10E6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10E6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10E70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10E71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10E72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10E73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10E74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10E75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10E76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10E77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10E78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10E79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10E7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10E7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10E7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10E7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10E7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10E7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10E80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10E81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10E82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10E83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10E84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10E85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10E86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10E87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10E88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10E89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10E8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10E8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10E8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10E8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10E8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10E8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10E90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10E91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10E92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10E93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10E94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10E95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10E96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10E97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10E98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10E99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10E9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10E9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10E9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10E9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10E9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10E9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10EA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10EA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10EA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10EA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10EA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10EA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10EA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10EA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10EA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10EA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10EAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10EAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10EAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10EAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10EAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10EAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10EB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10EB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10EB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10EB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10EB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10EB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10EB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10EB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10EB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10EB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10EBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10EBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10EBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10EBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10EBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10EBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10EC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10EC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10EC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10EC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10EC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10EC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10EC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10EC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10EC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10EC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10ECA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10ECB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10ECC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10ECD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10ECE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10ECF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10ED0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10ED1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10ED2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10ED3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10ED4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10ED5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10ED6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10ED7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10ED8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10ED9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10EDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10EDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10EDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10EDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10EDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10EDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10EE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10EE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10EE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10EE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10EE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10EE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10EE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10EE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10EE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10EE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10EEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10EEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10EEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10EED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10EEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10EEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10EF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:10EF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10EF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10EF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10EF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10EF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10EF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10EF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10EF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10EF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10EFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10EFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10EFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10EFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10EFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10EFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10F00000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +:10F01000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +:10F02000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +:10F03000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +:10F04000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +:10F05000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +:10F06000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +:10F07000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +:10F08000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +:10F09000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +:10F0A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +:10F0B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +:10F0C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +:10F0D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +:10F0E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +:10F0F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +:10F10000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +:10F11000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +:10F12000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +:10F13000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +:10F14000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +:10F15000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +:10F16000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +:10F17000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +:10F18000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +:10F19000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +:10F1A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +:10F1B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +:10F1C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +:10F1D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +:10F1E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +:10F1F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +:10F20000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +:10F21000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +:10F22000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +:10F23000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +:10F24000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +:10F25000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +:10F26000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +:10F27000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +:10F28000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +:10F29000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +:10F2A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +:10F2B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +:10F2C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +:10F2D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +:10F2E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +:10F2F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +:10F30000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +:10F31000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +:10F32000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +:10F33000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +:10F34000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +:10F35000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +:10F36000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +:10F37000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +:10F38000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +:10F39000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +:10F3A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +:10F3B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +:10F3C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +:10F3D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +:10F3E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +:10F3F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +:10F40000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +:10F41000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +:10F42000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +:10F43000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +:10F44000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +:10F45000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +:10F46000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +:10F47000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +:10F48000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +:10F49000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +:10F4A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +:10F4B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +:10F4C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +:10F4D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +:10F4E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +:10F4F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +:10F50000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +:10F51000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +:10F52000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +:10F53000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +:10F54000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +:10F55000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +:10F56000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +:10F57000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +:10F58000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +:10F59000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +:10F5A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +:10F5B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +:10F5C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +:10F5D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +:10F5E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +:10F5F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +:10F60000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +:10F61000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +:10F62000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +:10F63000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +:10F64000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +:10F65000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +:10F66000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +:10F67000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +:10F68000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +:10F69000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +:10F6A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +:10F6B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +:10F6C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +:10F6D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +:10F6E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +:10F6F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +:10F70000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +:10F71000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +:10F72000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +:10F73000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +:10F74000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +:10F75000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +:10F76000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +:10F77000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +:10F78000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +:10F79000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +:10F7A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +:10F7B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +:10F7C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +:10F7D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +:10F7E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +:10F7F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +:10F80000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +:10F81000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +:10F82000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +:10F83000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +:10F84000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +:10F85000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +:10F86000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +:10F87000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +:10F88000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +:10F89000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +:10F8A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +:10F8B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +:10F8C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +:10F8D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +:10F8E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +:10F8F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +:10F90000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +:10F91000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +:10F92000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +:10F93000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +:10F94000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +:10F95000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +:10F96000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +:10F97000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +:10F98000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +:10F99000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +:10F9A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +:10F9B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +:10F9C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +:10F9D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +:10F9E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +:10F9F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +:10FA0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +:10FA1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +:10FA2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +:10FA3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +:10FA4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +:10FA5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +:10FA6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +:10FA7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +:10FA8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +:10FA9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +:10FAA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +:10FAB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +:10FAC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +:10FAD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +:10FAE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +:10FAF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +:10FB0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +:10FB1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +:10FB2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +:10FB3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +:10FB4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +:10FB5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +:10FB6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +:10FB7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +:10FB8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +:10FB9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +:10FBA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +:10FBB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +:10FBC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +:10FBD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +:10FBE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +:10FBF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +:10FC0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +:10FC1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +:10FC2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +:10FC3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +:10FC4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +:10FC5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +:10FC6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +:10FC7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +:10FC8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +:10FC9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +:10FCA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +:10FCB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +:10FCC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +:10FCD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +:10FCE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +:10FCF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +:10FD0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +:10FD1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +:10FD2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +:10FD3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +:10FD4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +:10FD5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +:10FD6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +:10FD7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +:10FD8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +:10FD9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +:10FDA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +:10FDB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +:10FDC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +:10FDD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +:10FDE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +:10FDF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +:10FE0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +:10FE1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +:10FE2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +:10FE3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +:10FE4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +:10FE5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +:10FE6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +:10FE7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +:10FE8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +:10FE9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +:10FEA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +:10FEB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +:10FEC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +:10FED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +:10FEE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +:10FEF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +:10FF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +:10FF1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +:10FF2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +:10FF3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +:10FF4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +:10FF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +:10FF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +:10FF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +:10FF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +:10FF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +:10FFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +:10FFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +:10FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +:10FFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +:10FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +:10FFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +:00000001FF + \ No newline at end of file diff --git a/ECU_APP/OutPut/ECU_APP_LEFT.S19 b/ECU_APP/OutPut/ECU_APP_LEFT.S19 new file mode 100644 index 0000000..40a6363 --- /dev/null +++ b/ECU_APP/OutPut/ECU_APP_LEFT.S19 @@ -0,0 +1,4104 @@ +S00E00004543555F41505020533139F7 +S3150000A00014A50000ECA50000ECA50000ECA50000DE +S3150000A010ECA50000ECA50000ECA50000ECA50000F6 +S3150000A020ECA50000ECA50000ECA50000ECA50000E6 +S3150000A030ECA50000ECA50000ECA50000ECA50000D6 +S3150000A040ECA50000ECA50000ECA50000ECA50000C6 +S3150000A050ECA50000ECA50000F0A50000F7A50000A7 +S3150000A060ECA50000ECA50000F8A50000ECA500009A +S3150000A070ECA50000ECA50000ECA50000ECA5000096 +S3150000A080ECA50000ECA50000ECA50000ECA5000086 +S3150000A090ECA50000ECA50000ECA50000E0A5000082 +S3150000A0A0ECA50000E1A50000E2A5000068A50000FF +S3150000A0B067A50000ECA50000ECA50000ECA50000DB +S3150000A0C0ECA50000ECA50000ECA50000ECA5000046 +S3150000A0D0ECA50000ECA50000ECA50000ECA5000036 +S3150000A0E0ECA50000ECA50000ECA50000ECA5000026 +S3150000A0F0ECA50000ECA50000ECA50000ECA5000016 +S3090000A100AA5555AA57 +S3150000A10441070000FFFFFFDF02800180DF07000038 +S3150000A114FFFFFFDF0281028003040000FFFFFFDF71 +S3150000A124028203806D020000FFFFFFDF02830480CA +S3150000A13400040000000080D4028405808080820030 +S3150000A1440707030203109CC100000707030201115D +S3150000A1540FC2000006070102022702C40000050719 +S3150000A164030303287BC4000007070302013E5BC9FF +S3150000A1740000070703020285CDC900000707030391 +S3150000A184002282C2000006030104002EF3C400006C +S3150000A19402070104033117C8000002010105003457 +S3150000A1A4CBBF0000020101030036CCBF0000020150 +S3150000A1B401010037CDBF0000010218B600000202FB +S3150000A1C492B6000003022CB7000001028CB700000F +S3150000A1D403028CB700000103DFE4000002034AE532 +S3150000A1E400000A02F2E50000010203B800000206BC +S3150000A1F433B900000003CEBC00000103CEBC00004E +S3150000A2040303CEBC00000002FFBD0000010236BEFF +S3150000A2140000020273BE00000108B0BE0000030481 +S3150000A224C5BE0000040302000063DBD10000040382 +S3150000A2340200086318D20000040302000B6355D21F +S3150000A2440000040302000C6392D20000040302001F +S3150000A2540E63CFD2000007070D0087F19ECC0000E5 +S3150000A264070705008AF114CD000007070A0097F1D5 +S3150000A27492CB000007070D0088F1EECE0000070719 +S3150000A2840A0091F102CE00000707040001171BD64D +S3150000A294000007070800021756D60000070701004A +S3150000A2A4061791D60000070702000717B3D6000069 +S3150000A2B4070701000817EED6000007070100091773 +S3150000A2C410D70000070701000B1732D70000070755 +S3150000A2D40D0095F1EECE000007070A0093F102CEB9 +S3150000A2E4000007070800000262CA0000070708000A +S3150000A2F4010282CA00000707100080F1CDCB0000DE +S3150000A3040707010086F17ECC0000070703008BF1E6 +S3150000A3144FCD00000707110090F18ACD0000070712 +S3150000A324100089F1D9CC00000707100098F166CF18 +S3150000A33400000707040099F10BD00000070704008A +S3150000A3449DF183D000000603080010F1DDCA000069 +S3150000A3540603110090F1C5CD00000603100098F124 +S3150000A364BECF00000603040099F146D000000603A0 +S3150000A37404009DF1BED000000000000000000000B3 +S3150000A384000000000000000000000000010DC8BA33 +S3150000A394000002051FBB000003051FBC00000104EA +S3150000A3A4C9BA0000020574BB0000030575BC0000B1 +S3150000A3B4010462BA00000204CABA00000304C9BB5D +S3150000A3C400000108CBBC00000205CCBC000003055C +S3150000A3D4CDBC000006040302B4A3202020202020C4 +S3150000A3E42020202020202020202020202020202063 +S3150000A3F420202044414D494E47414320202020201F +S3150000A40420202020202020202020202000010120A0 +S3150000A4140001012020202020202020000102030426 +S3150000A42405060708090A0B0C0D0E0F10111213145A +S3150000A4341518061502010100510708008FE70000F0 +S3150000A44400000000DF07080036E9000000000000F5 +S3150000A4545907080000000103016400000000000021 +S3150000A464000000000300AA005107DF0759070A008D +S3150000A4744B009600881300F0061601F006170291A9 +S3150000A48481140391811204918171059183120691BD +S3150000A49483140791837108918412099184140A9193 +S3150000A4A484710B9186110C9186140DC07300000003 +S3150000A4B40000000000000000000000000000000092 +S3150000A4C400000000000000000000FFFFE803F401A4 +S3150000A4D46400FFFFF8F2FFF203F308F30EF314F33C +S3150000A4E418F31DF323F327F32DF331F335F339F37F +S3150000A4F43FF344F34DF351F355F359F300000000D1 +S3150000A5040000000000000000000000000000000041 +S3150000A514CBF820FEFCB8AD0036BEE53082F1EF0480 +S3150000A524CC0000A747DFF93620FE3020FEEF04CC2E +S3150000A5340000A747DFF9410032AE00EF08B3114926 +S3150000A54484F34810E5F643DFF44100320000EF08D7 +S3150000A554B3114932F44820FEF643DFF4FCBDAD00E6 +S3150000A564F6EFFED730F401BFA4F03228F1E1FC295E +S3150000A574AC00AF28F1445107DD0544DF07DF2C4466 +S3150000A584DF07DF124031F13EDF0C4032F180DF0697 +S3150000A594FC2FBE00EF0F128F2FF1314A703430F1C9 +S3150000A5A4F1FC26DF00E5EBE5E5E3E5AF28F1120C67 +S3150000A5B4FC448000DE0DE5E1E5E15F31F19FEAE56B +S3150000A5C4E5E3E513440304DF12364EE531850C5406 +S3150000A5D4083230F13042F1EC06F100D7D7D73458BF +S3150000A5E403A9085CEF08B9D700D761FCE5CCE5EC14 +S30D0000A5F496AE00D7EC7DF300E2 +S3150000A5FCC116F645DD094900009BA3A7B5EFF3C0CC +S3060000A60CD770 +S3060000A60DFF47 +S3150000A60E7100900016BF04088C019F0108E503082F +S3150000A61EF2FCF8FF0E62CF800804D716E503088C0D +S3150000A62E02088C03BF0408340010CF02080F8C06F4 +S3150000A63E9F81084C03DD2415080E00081E01BF007D +S3150000A64E08148C04088C05BF06081251004E06DD50 +S3150000A65E1BF98108FCF8FF0E62EF20300004BF06DE +S3150000A66E088C003129F005BF0008EFE5FB04080051 +S3150000A67E899BA7A5B3F643DFF75100D7FC04F00E6E +S3130000A68E62D7FC08F00E71089000F58008D720 +S3150000A69C16C80300AEF82761D339315E12F643DDD6 +S3150000A6AC27BBBC02BC04BC06BC08BC0ABC0CBC0E5A +S3150000A6BCBC10BC12BC14BC16BC18BC1ABC1CBC1EF0 +S3150000A6CC3704200037B3EFD6AEF847DD06F6BBA746 +S3150000A6DCA7EFF5D7C1200A13C30400F0121561D8F1 +S3150000A6ECA104F0FF4400001361F844001061C8EEA9 +S3150000A6FCFA008FBEE570D1DF29C80A20C80B00AE60 +S3150000A70CF8040A00FC0EA600C80808A8000CF0B84D +S3150000A71C02A812B806AEF8A1A1FC29A60073E5BEE4 +S3150000A72CE5E090DF49634CFFDF07FC8AA60073EF78 +S3150000A73CF44C1BDF18C80803A8000CF031AEB802A5 +S3150000A74CAEF8A1A1FC29A60073CFBEE502D1DF1E8F +S3150000A75CC80804A8000CF0B802A812B806A80CB8D1 +S3150000A76C04AEF8A1A1FC29A60073CFBEE5038FBEEB +S3150000A77CE54C02DF2F634CFFDF07FC8AA60073EF64 +S3150000A78CF4D1DF6BC80804A8000CF0B802A812B804 +S3150000A79C06A80CB804AEF8A1A1FC29A60073CFBE7E +S3150000A7ACE50351034C03DF2B634CFFDF07FC8AA642 +S3150000A7BC0073EFF4D1DF38C80806A8000CF0B80215 +S3150000A7CCA812B806AEF8A1A1FC29A60073CFBEE567 +S3150000A7DC0451044C04DF1883DF07FC8AA60073EFD0 +S3150000A7ECF6FC90A600F5BEE55111EF04F5BEE5E1C9 +S3150000A7FC100ED7C1200C130400F0B8001561D8A1B7 +S3150000A80C04F0FFF743A80061F844001061C8EE9B02 +S3150000A81C00C80A20C80B00AEF8040A00FC0EA600FD +S3150000A82CC80808A800B802A812B806AEF8A1A1FC80 +S3150000A83C29A6004CFFDF06FC8AA600EFF64C1BDFB0 +S3150000A84C1BC80803A80031AEB802AEF8A1A1FC29BA +S3150000A85CA6004CFFDF06FC8AA600EFF6D1DD0BE165 +S3150000A86C9800FC90A6008800EF43C80804A800B81E +S3150000A87C02A812B806A80CB804AEF8A1A1FC29A629 +S3150000A88C004CFFDF06FC8AA600EFF6D1DFD1C80824 +S3150000A89C06A800B802A812B806AEF8A1A1FC29A613 +S3150000A8AC00980081DFBCFC8AA600EFF5E1100ED7FC +S3150000A8BCC12006C3C48F9000718CA80C12DC2D36F7 +S3150000A8CC9000F67182B804B802A804440000A802ED +S3150000A8DC61F8440F00DE1500A804B800A8020401B4 +S3150000A8EC0016A80061D8A1B80417EFDBF6B800F182 +S3150000A8FC43DE0FA80616899BA5A717B806A800A1C4 +S3150000A90CEFEB1008D72006AF2A036071BC300500A8 +S3150000A91CDC19AF2A0360312515342603A9085CFB24 +S3150000A92C08B9AA0460312506300400EEDB00AF0836 +S3150000A93C036031250F340403A9085CFB08B9AA048B +S3150000A94C603123E4340003300204BA22F6BA24A19F +S3150000A95CB9303A01BA02300500BA30AA8AB804AA4C +S3150000A96C8A085CFE08BA8A30A00314BFC0E5C80288 +S3150000A97C053004A1B800C6C7ABB917A1A116EBC028 +S3150000A98CE5ABBA02A8001204040016EBC0E5ABBA9C +S3150000A99C041304060016EBC0E5ABBA061304080054 +S3150000A9AC16EBC0E5ABBA0813040A00EBC0E516A813 +S3150000A9BC00040C00B800ABBA0A300C0002C0E51457 +S3150000A9CCBFC0E58802919802DFAC340403A804BA30 +S3150000A9DC86300400BA2E300210BA345112BA3650F0 +S3150000A9EC04BA4CE6BA4E500EBA76AA226C035C0335 +S3150000A9FC085C0708BA22A951FF085C0708B9AA0225 +S3150000AA0C04A100BA02FE4103F61006D7AF2A036072 +S3150000AA1C310513342603A9085CFC08B9AA04607135 +S3150000AA2C8C300400DC26F52C03D540A1DD09343826 +S3150000AA3C03A9086C0108B9D541A1DD09343A03A96B +S3150000AA4C086C0108B94042A181DD02F6D7345003E7 +S3150000AA5CA9086C0108B9EFF3AF080360310513348C +S3150000AA6C0403A9085CFC08B9AA0460718C300400C4 +S3150000AA7CDC074042A182DD02F6D7345003A9086CEC +S3150000AA8C0108B9EFF32004318EC3C4B80012046C6C +S3150000AA9C0316CC00008BD1DF56368A03314CABB88B +S3150000AAAC02AB086C0108BB130C0616A9BB130402F7 +S3150000AABC0616AA02BB1304060616AA06BB1304083E +S3150000AACC0616AA08BB13040A0616AA0ABB13040C1C +S3150000AADC0616AA0CBB13040E0616AA0EBB348A0362 +S3150000AAECA802B9A80004640314F6CA0001EF0330E7 +S3150000AAFCFEFF1004D7318E0464031489719A99F6FB +S3150000AB0CD7318E046C0314F7895C06319E4361F8C9 +S3150000AB1CD7CA0000D714AF580360311337368A03EF +S3150000AB2CAB12AB086C0108BBA9BFE005AA02BFE2D9 +S3150000AB3C05AA06BFE605AA08BFE805AA0ABFEA05E4 +S3150000AB4CAA0CBFEC05AA0EBFEE0513BB30FF00BF67 +S3150000AB5C5C03F0D7E6A1D7C3200416AF340314F771 +S3150000AB6C4330030061F8EEB100F19800A313B8026C +S3150000AB7C13615D08615C086168DF10311C13B80253 +S3150000AB8C88008198004C10DCE7EF0388009BF6B137 +S3150000AB9C2334340312A9615B08615A08B9A802125E +S3150000ABACA9615B08615A08F74330FEFFDF6C548AD3 +S3150000ABBCA9B800A9086C0108B98B5010D61204A0CC +S3150000ABCC0314A914A80435B91304A20316ABBA02CC +S3150000ABDC1304A40316ABBA041304A60316ABBA06E5 +S3150000ABEC1304A80316ABBA081304AA0316ABBA0AC5 +S3150000ABFC1304AC0316ABBA0C1304AE0316ABBA0EA5 +S3150000AC0C348A03A800B9A80212AF3403615B086149 +S3150000AC1C5A08F743F661E830FDFF1006D7D1DF037B +S3150000AC2C13EF0891DF0313EF63F6D7C714AF400396 +S3150000AC3C60310353F7312507300800BF4003A336B4 +S3150000AC4C4003AB085CF708BBAC4AB800AC4A086CCE +S3150000AC5C0108BC4AAFA005B9AFA205BA02AFA4055C +S3150000AC6CBA04AFA605BA06AFA805BA08AFAA05BAC4 +S3150000AC7C0AAFAC05BA0CAFAE05BA0EA800BC4A308A +S3150000AC8CFF00BC0813C2D7300300C2D7C714AF42AB +S3150000AC9C0360310353F7312507300800BF4203A385 +S3150000ACAC364203AB085CF708BBAC48B800AC4808A6 +S3150000ACBC6C0108BC48AFB005B9AFB205BA02AFB467 +S3150000ACCC05BA04AFB605BA06AFB805BA08AFBA05E9 +S3150000ACDCBA0AAFBC05BA0CAFBE05BA0EA800BC4882 +S3150000ACEC30FF00BC0813C2D7300300C2D7C714AF5D +S3150000ACFC580360310349F7312507301800BF580354 +S3150000AD0CA336E005AF8A03B800AF8A03086C0108C6 +S3150000AD1CBF8A03ABB9AC02BA02AC04BA04AC06BA2D +S3150000AD2C06AC08BA08AC0ABA0AAC0CBA0CAC0EBA29 +S3150000AD3C0EA800BF8A0330FF00BF5C0313C2D730D6 +S3150000AD4C0300C2D7AF0803F1D736D0FF71F371E316 +S3150000AD5C71D3712BD1711BD1710BD1715BD4712B4A +S3150000AD6CD5711BD5710BD5D736C102718300718293 +S3150000AD7CFE92FBF743DFF9FE92FC440400DDF8FE7D +S3150000AD8CD6FC440400DDF8D7341A00CA0000CA0108 +S3150000AD9C00CA0300FC62B000FC65B000FC3EB000CB +S3150000ADACFCDCB000FC64AF00F57800D7717BFAEFE1 +S3150000ADBCD7FE27004008E5A5DF133406035208A981 +S3150000ADCC5CFCB93400E5305907FCA9DC00FCD4EF77 +S3150000ADDC00FC36AE00FC2BEC00EFF6FCEDED00FCB7 +S3150000ADEC0AC000FC90EA00FE2300FC2AF100FC37A6 +S3150000ADFCB100FCFEAF00712301FC74AD00FC28B160 +S3150000AE0C00FC14B100FC1EB000717AFAD73621FF93 +S3150000AE1C71837102017192D7D736E4FF7182710B7F +S3150000AE2CE0710AEC710AE87183D7CEABACD7148902 +S3150000AE3CD161F8D79199D714F7A94361F8D7B1B96D +S3150000AE4CD7C5C1C4C58977318E43DF14CA0000A8A3 +S3150000AE5C0214880870896148DF07CA00001004D7FD +S3150000AE6C678199EFF8C5C1C4C5A91643DF17F6B9B2 +S3150000AE7CA80214880870896148DF05CA0000EF0231 +S3150000AE8C81991004D717A1B9EFF83050E5FEA7FF4A +S3150000AE9C30CDE5FE98FF30A4F0FE9BFF30DCE5FEDE +S3150000AEAC95FF30E8E5FE8FFFA2D2E5A2D4E5AFD63A +S3150000AEBCE5F743DD04B1BFD6E5AFDEE543DD04B10E +S3150000AECCBFDEE5AFAEF043DD04B1BFAEF0E602CEB9 +S3150000AEDCE512BFCEE513340500CEFB030015616801 +S3150000AEEC61F8E59FF013340A00CEFB030015616888 +S3150000AEFC61F8E5A0F013341400CEFB03001561686D +S3150000AF0C61F8E5A1F013343200CEFB03001561683D +S3150000AF1C61F8E5A2F01334E803CEFB030015616873 +S3150000AF2C61F8E5A3F013448813DC04F6BFCEE5E61E +S3150000AF3C0296F0BF96F0F661D8A10298F0BF98F091 +S3150000AF4CAF54E5F743DD04B1BF54E5D5CCE561F864 +S3150000AF5CD7F5CCE5E59EF0D734F00036F000F67167 +S3150000AF6C82BAC630FF0ABAC4F6BF2A02714AE67123 +S3150000AF7C4BE2715AE6715BE2713AE7713BE3716A37 +S3150000AF8CE6716BE2717AE6717BE2714AE7714BE32B +S3150000AF9C717AE7717BE3710AD4710BD0711AD47193 +S3150000AFAC1BD0712AD4712BD0714AEE714AEA715AB0 +S3150000AFBCEE715AEABAA0C918FF7CAAC8085CFE084A +S3150000AFCCBAC8AACA085CFE08BACAF6BAA2C91AFF57 +S3150000AFDC7CAACE085CFD08BACEAACC085CFD08BAE1 +S3150000AFECCCAAC8085CFD08BAC8AACA085CFD08BA8F +S3150000AFFCCAD734B201714BE2714BE6A9086C010851 +S3150000B00CB9D734B401A9086C0108B9714AE6714B79 +S3150000B01CE2D734B201715BE2715BE6A9086C0208F7 +S3150000B02CB9D734B401A9086C0208B9715AE6715B38 +S3150000B03CE2D7343400F401CA0000CA38DEF5200227 +S3150000B04CCA4202CE21FBCE23FFCE24FFCE26FFCE54 +S3150000B05C28FFCE2CFFD78EA8D736C40220047182C7 +S3150000B06CCEA040CEA307717BA140A2FFFFDFFA71F1 +S3150000B07C4AA48EA43155FBCFC50292F6B802B8008D +S3150000B08CA802F743A80061F8442103DE1300A802C6 +S3150000B09C14A800040100121561D8A1B80213EFDE42 +S3150000B0ACA771828FC6023175FA34C502CA020071C5 +S3150000B0BCA251885FC6024C88DFF7716BA4710BA195 +S3150000B0CCB5B7CA04008A046C429A0471A31004D75B +S3150000B0DC30100004E0001634100071D2CE3000712E +S3150000B0EC0AE7710BE3710AEF710AEB51086F23FF44 +S3150000B0FC9E23CE3000CE32A0CA0000CA01FFCA027F +S3150000B10C00CE3100710A30D7710BE3710BE7717AFF +S3150000B11C30D7717B30710AE7710BE3D7710A30D7E0 +S3150000B12C710B30D714AD1E316EB9D7F5D0E5F6BF1D +S3150000B13CD2E5BFD4E5BFD8E5BFDCE5304006BFD6C7 +S3150000B14CE530F401BFDAE5F5E0E5F5E1E5F5E2E534 +S3150000B15CF5D1E5F5E3E5F5E4E5F5E5E530D007BF32 +S3150000B16CDEE5F5E6E5EC4BB500D5D0E5DF3140E1A3 +S3150000B17CE501DD198D01317514F510E5D511E5DF05 +S3150000B18C1E340603A96C03B9E511E5EF12F511E5BA +S3150000B19CD510E5DF0A340603E510E5A95CFCB940D9 +S3150000B1ACEBE501DF12308813BFE8E5F5EBE540D09F +S3150000B1BCE50861F8E5ECE58FACF032E1E5FEB402AA +S3150000B1CC9FE0E530E3E5FEF602739FE4E58FD0E5FC +S3150000B1DCD1DD3191DD7891DD049161E89161F8EE74 +S3150000B1ECC2009161F8EEDA009161F8EE14019161FA +S3150000B1FCF8EEDC019161F8EE4F01CFD0E507F6BF12 +S3150000B20CD2E5EF488FE0E572914C02DE2A30D0078A +S3150000B21CBFDEE5E5D0E5304006BFD6E5F6BFD2E5A4 +S3150000B22CBFDCE5CFD1E5029261F8EEB901CFE7E5D7 +S3150000B23C0530F401EEB401F5D0E593DF64AFD2E549 +S3150000B24C448913DC5CF5D1E5FC0CF000EF5340E7C8 +S3150000B25CE504DC0630F401BFDAE58FE0E57391DD39 +S3150000B26C0C40E6E501DD06AFD6E5EE920093F7EF6E +S3150000B27C4643DF2DCFD0E505304006BFD6E5F6BFF9 +S3150000B28CD2E530F401BFDAE5EEB700AFD6E543DF21 +S3150000B29C10CFD0E50830F40122DCE5BFD2E5E5D1CC +S3150000B2ACE5EE770140E7E504DC0630F401BFDAE5AC +S3150000B2BCF740E0E501DFD430D007BFDEE5AFD6E5D9 +S3150000B2CCEFAF40EAE501DF28F5EAE5CFD0E503303C +S3150000B2DCD007BFDEE5304006BFD6E5F6BFD2E5BFE8 +S3150000B2ECDCE5CFD1E50230F401BFDAE5CFE7E505C1 +S3150000B2FC40E0E501DD4040E6E501DD3AAFE8E5F783 +S3150000B30CEF8C40EAE501DF28F5EAE5CFD0E503301E +S3150000B31CD007BFDEE5304006BFD6E5F6BFD2E5BFA7 +S3150000B32CDCE5CFD1E50230F401BFDAE5CFE7E50580 +S3150000B33C40E0E501EFC430D007BFDEE5304006BF84 +S3150000B34CD6E5CFD1E502EED2008FE0E54C01DF0D5C +S3150000B35C30D007BFDEE5CFD0E506EE1BFF4C02DF93 +S3150000B36C05E5D1E5EF3A40ECE501DF21F5ECE530FA +S3150000B37CD007BFDEE5CFD0E506304006BFD6E5F6F2 +S3150000B38CBFD2E530F401BFDAE5CFD1E502AFD2E5A5 +S3150000B39C44D107DC0BCFD0E507F6BFD2E5F5D1E5F6 +S3150000B3AC40EAE501DF48F5EAE5CFD0E50430D00701 +S3150000B3BCBFDEE5304006BFD6E5F6BFD2E5BFDCE51D +S3150000B3CCCFD1E50230F401BFDAE5CFE7E505EF4B67 +S3150000B3DC8FE0E572914C02DE1730D007BFDEE5CF69 +S3150000B3ECD0E502EE30FEF5E7E55014BFDAE5EF2BBB +S3150000B3FCAFD2E544D107DC2393DF17340603F6BF3F +S3150000B40CD2E5F5D1E5F510E5F511E5A96C03B9EE34 +S3150000B41C36FE30D007BFD2E5F5D1E5CF00E6365182 +S3150000B42CEE5F01E6708FE0E57391DF046071CA7020 +S3150000B43C609F01E651FB0FD0E54C028F03E6DE045C +S3150000B44C718AEF02718B9F03E6634C02D904E6DF27 +S3150000B45C06CF02E602EF0B93DF05E502E6EF03F5F6 +S3150000B46C02E6605C049F04E654083200E630F8E518 +S3150000B47CEC06F10077C3C4D5E2E5DF0CE5E2E5F6B0 +S3150000B48CBFD2E5F512E5EF1AAFD2E544E903DE04C7 +S3150000B49C8991DF0E8991DFEBCA0000F6BFD2E5E594 +S3150000B4AC12E567D1DF05E5E5E5E1D7F14012E501E7 +S3150000B4BCDF0940E5E50161E85102D7F5E5E5D7146A +S3150000B4CCE60214E5BF14E5441F00DC2589D1DF171D +S3150000B4DC8F16E5819F16E54C04DC06CF16E503E1D5 +S3150000B4ECD7F6BF14E5EF0ACA0000F6BF14E5F51649 +S3150000B4FCE5F1D732360430F0E5FC05F200CF00E674 +S3150000B50C3651EE5F01E69F01E6710803E6F502E6A9 +S3150000B51C51045F04E69F04E654083200E630F8E571 +S3150000B52CEC06F100F508E651EE5F09E69F09E671B7 +S3150000B53C080BE6F50AE651045F0CE69F0CE6D7CF3E +S3150000B54CEEE50CFEADFFEFDCF6BF28E6BF2AE6F50E +S3150000B55C2CE6F173192DE60083634C03DFF5F53009 +S3150000B56CE6F1731931E60083634C04DFF5F535E635 +S3150000B57CF1731936E60083634C0ADFF5F540E6F6FF +S3150000B58CBF42E6F1731944E60083634C14DFF534CD +S3150000B59C5CE6325EE63060E6FC57E70091DF1AD5D2 +S3150000B5AC60E6E161E85102EB5CE69F2BE6AF5EE6F6 +S3150000B5BCBF28E6899F2AE6E1D7F1D7200414F19833 +S3150000B5CC00318E312D03B802A116894DDF11A78AE1 +S3150000B5DC014DDF0BA802040300168A024DDD0C8810 +S3150000B5EC008198004C0EDCD9C800FF88001004D7E7 +S3150000B5FCC79800C3C4F1735006D6051688004DDDF6 +S3150000B60C0883634C04DCEF53FF63C2D72006F56452 +S3150000B61CE64065E60261F8E57DE6E565E6CF66E6B9 +S3150000B62C04E567E6E568E6CF69E6038F2CE670313C +S3150000B63C732951400F2AE69800609801AF18E5125D +S3150000B64C9802629803AF1AE5129804629805AEF850 +S3150000B65C12300600FC86E900E1EF0AAEF812F6FCA1 +S3150000B66C86E9005102407DE601DF180401001461F1 +S3150000B67CD8A3134401001561F8448038DCEDCEAB39 +S3150000B68C00EFFB1006D72006E564E6308813BF6290 +S3150000B69CE64065E601DF29402BE602DF0DAEF81227 +S3150000B6ACF6FC86E90051021006D7D930E58F2AE65A +S3150000B6BCFECC083258E6300300FC86E900F1EFE7D1 +S3150000B6CCCF65E602CF66E604E567E6E568E6F5696A +S3150000B6DCE6CF0AE5A58F2CE670317334CF08E5A5C5 +S3150000B6ECCF09E507CF00E50651400F2AE69F01E595 +S3150000B6FC609F02E5AF18E5129F03E5629F04E5AF74 +S3150000B70C1AE5129F05E5629F06E5CF07E555EF0B97 +S3150000B71CF508E5AEF812F6FC86E900CEAB00EFFBB9 +S3150000B72C2006E564E6308813BF62E64065E604DD74 +S3150000B73C0EE567E6CF65E604E568E6CF69E603CF76 +S3150000B74C66E6048F2CE67031732951400F2AE69871 +S3150000B75C00609801AF18E5129802629803AF1AE5DB +S3150000B76C129804629805AEF812300600FC86E900C1 +S3150000B77CE1EF0AAEF812F6FC86E90051021006D784 +S3150000B78CC74065E601DF28402BE602DF0CAEF81257 +S3150000B79CF6FC86E9005102C2D7D92BE58F2AE6FEC4 +S3150000B7ACDD073258E6300300FC86E900F1C2D78F7C +S3150000B7BC2CE670317331CF08E5A5CF09E503CF0030 +S3150000B7CCE50251400F2AE69F01E5609F02E5CF0393 +S3150000B7DCE555CF04E555CF05E555CF06E555CF071D +S3150000B7ECE555CEAB00EFFBF508E5AEF812F6FC8698 +S3150000B7FCE900CEAB00EFFBC1200C8F6EE64C05DEEC +S3150000B80C4E819F6EE64C0571CA9F0EE5DF10301017 +S3150000B81C27BF70E6300300BF6AE6CF0DE513300490 +S3150000B82C00C1AEF8040A00B802340F00320018FC4E +S3150000B83CBCA800C08F6EE698088F6AE6980930049B +S3150000B84C00C1A802340F00320018FCE0A600C0AFFD +S3150000B85C6CE6F743DF04AF70E64361E8EEB20040F6 +S3150000B86C6EE605DF36F56EE6F50EE5300400C1AE84 +S3150000B87CF8040A00B802340F005318FCBCA800C028 +S3150000B88C8F6EE698088F6AE69809300400C1A80204 +S3150000B89C340F00320018FCE0A600C08F2CE6703185 +S3150000B8AC736051400F2AE698026098034066E604DE +S3150000B8BCDF1DFC76DB00B800BF1CE513BF1EE512CE +S3150000B8CC9804629805A800129806629807EF0CC8AF +S3150000B8DC0400C80500C80600C80700717072E68827 +S3150000B8EC0D74DB1EE5AF1CE5FC6BDC00BF74E613C8 +S3150000B8FCBF76E6AEF8A1A112300600FC86E900E19F +S3150000B90CEF0CAEF8A1A112F6FC86E9005102100E5E +S3150000B91CD7D92AE58F2AE6FE65063258E6300300AB +S3150000B92CFC86E900F1EFE73672E6C1200831F30A2E +S3150000B93CCF72E604D925E5EEFE00F56EE6F50EE5CA +S3150000B94CF173318E025CE6A1A114891831E683638A +S3150000B95C4C04DFEED932E68F34E698008F31E6429E +S3150000B96C76E6C0C18F33E661F84274E6340F0032D6 +S3150000B97C0018DF47F6BF6AE6F50DE55004C1AEF8D0 +S3150000B98C040600B802FCBCA800C08F6EE698048FB3 +S3150000B99C6AE69805300400C1A802340F003200187C +S3150000B9ACFCE0A600C088094C02DF06CF66E606EF6F +S3150000B9BC424C12DF3ECF66E607EF38E6026AE6BF78 +S3150000B9CC6AE66071CA9F0DE5300400C1AEF8040644 +S3150000B9DC00B802FCBCA800C08F6EE698048F6AE61D +S3150000B9EC9805300400C1A802340F00320018FCE0A0 +S3150000B9FCA600C0AF6AE6F743DF328F2CE6703173D0 +S3150000BA0C1C51400F2AE69802609803CF72E604AEEA +S3150000BA1CF8A1A112E6A1FC86E900E1EF0CAEF8A1B3 +S3150000BA2CA112F6FC86E9005102100AD7CF72E60481 +S3150000BA3C440300DE16D928E58F2AE6FE4105325866 +S3150000BA4CE6300300FC86E900F1EFDE301027BF6C10 +S3150000BA5CE6D929E5EFE220064079E601DF448F2C92 +S3150000BA6CE67031732A51400F2AE69800609801AFB0 +S3150000BA7C42E612609803139802C80404E57CE6E5D6 +S3150000BA8C79E6AEF812300500FC86E900E1EF10E528 +S3150000BA9C7CE6E579E6AEF812F6FC86E90051021072 +S3150000BAAC06D7D925E58F2AE6FED4043258E63003AC +S3150000BABC00FC86E900F1EFE78F7CE6D7D7D72006A6 +S3150000BACCD579E6DF388F2CE67031732451400F2A76 +S3150000BADCE69800609801AF42E6126098031398024C +S3150000BAECC80404AEF812300500FC86E900E1EF0A42 +S3150000BAFCAEF812F6FC86E90051021006D7D925E5F8 +S3150000BB0C8F2AE6FE79043258E6300300FC86E900FB +S3150000BB1CF1EFE72006D57AE6DF388F2CE670317325 +S3150000BB2C2451400F2AE69800609801AF42E6126055 +S3150000BB3C9803139802C80404AEF812300500FC866C +S3150000BB4CE900E1EF0AAEF812F6FC86E900510210A4 +S3150000BB5C06D7D925E58F2AE6FE24043258E63003AB +S3150000BB6C00FC86E900F1EFE72006D57BE6DF388F8F +S3150000BB7C2CE67031732451400F2AE6980060980128 +S3150000BB8CAF42E612609803139802C80404AEF8128A +S3150000BB9C300500FC86E900E1EF0AAEF812F6FC86E9 +S3150000BBACE90051021006D7D925E58F2AE6FECF0308 +S3150000BBBC3258E6300300FC86E900F1EFE720064038 +S3150000BBCC79E601DF388F2CE67031732451400F2A49 +S3150000BBDCE69800609801AF42E6126098031398024B +S3150000BBECC80404AEF812300500FC86E900E1EF0A41 +S3150000BBFCAEF812F6FC86E90051021006D7D925E5F7 +S3150000BC0C8F2AE6FE79033258E6300300FC86E900FB +S3150000BC1CF1EFE72006407AE601DF388F2CE670312B +S3150000BC2C732451400F2AE69800609801AF42E61241 +S3150000BC3C609803139802C80404AEF812300500FC91 +S3150000BC4C86E900E1EF0AAEF812F6FC86E90051022D +S3150000BC5C1006D7D925E58F2AE6FE23033258E6309F +S3150000BC6C0300FC86E900F1EFE72006407BE601DFE6 +S3150000BC7C388F2CE67031732451400F2AE6980060F9 +S3150000BC8C9801AF42E612609803139802C80404AEFA +S3150000BC9CF812300500FC86E900E1EF0AAEF812F660 +S3150000BCACFC86E90051021006D7D925E58F2AE6FE57 +S3150000BCBCCD023258E6300300FC86E900F1EFE7D7F7 +S3150000BCCCD7D7C7734065E604DF574C04DE3CD1DD9D +S3150000BCDC398F2CE67031734F51400F2AE69800606D +S3150000BCEC98015103612870634C03DF06609F68E678 +S3150000BCFCEF049160DF059F69E6EF039F68E6AEF8F7 +S3150000BD0C12E6A1FC86E900E1C2D7402BE602DD175C +S3150000BD1CD926E58F2AE6FE66023258E6300300EF96 +S3150000BD2C0A402BE602DF0CAEF812F6FC86E900514F +S3150000BD3C02C2D7D92BE5EFDBC78F2CE67031731C0B +S3150000BD4C51400F2AE69800609801F568E6F569E619 +S3150000BD5CAEF812E6A1FC86E900E1C2D7F568E6F575 +S3150000BD6C69E6AEF812F6FC86E9005102C2D7C78F17 +S3150000BD7C2CE6704C02DF13E568E6CF69E603AEF8F5 +S3150000BD8C12F6FC86E9005102C2D751400F2AE698FA +S3150000BD9C00609801E568E6CF69E603AEF812E6A105 +S3150000BDACFC86E900E1C2D7C78F2CE6704C02DF1384 +S3150000BDBCE568E6CF69E603AEF812F6FC86E90051B3 +S3150000BDCC02C2D751400F2AE69800609801E568E652 +S3150000BDDCCF69E603AEF812E6FC86E900E1C2D78F1E +S3150000BDEC69E6D78F68E6D751032F69E6D751032F3B +S3150000BDFC68E6D7C7308813BF62E68F2CE6703173BE +S3150000BE0C1651400F2AE69800609801AEF812E6A18A +S3150000BE1CFC86E900E1C2D7AEF812F6FC86E90051C1 +S3150000BE2C02C2D7308813BF62E6D7C7402BE602DFC3 +S3150000BE3C064065E604DF24E567E6FCC5E0008F2CCA +S3150000BE4CE67031731651400F2AE69800609801AEE1 +S3150000BE5CF812E6A1FC86E900E1C2D7AEF812F6FCB0 +S3150000BE6C86E9005102C2D7C7402BE602DF064065C1 +S3150000BE7CE604DF20F567E68F2CE670317316514029 +S3150000BE8C0F2AE69800609801AEF812E6A1FC86E946 +S3150000BE9C00E1C2D7AEF812F6FC86E9005102C2D711 +S3150000BEAC8F67E6D7D924E58F2AE6FED2003258E60C +S3150000BEBC300300FC86E900F1D7D924E58F2AE6FE8B +S3150000BECCBD003258E6300300FC86E900F1D7F56474 +S3150000BEDCE6E565E6CF66E604E567E6E568E6CF697E +S3150000BEECE603D7AF62E6F74361F8D7B1BF62E6D790 +S3150000BEFC2006AF6CE6F743DD3E04FFFFBF6CE6DFC2 +S3150000BF0C36F6BF6AE6F50DE55004C1AEF80404003A +S3150000BF1CB802340F005318FCBCA800C08F6EE6980C +S3150000BF2C028F6AE69803300400C1A802340F00326F +S3150000BF3C0018FCE0A600C0AF70E6F743DD3E04FF38 +S3150000BF4CFFBF70E6DF36F56EE6F50EE5300400C190 +S3150000BF5CAEF8040400B802340F005318FCBCA80059 +S3150000BF6CC08F6EE698028F6AE69803300400C1A86B +S3150000BF7C02340F00320018FCE0A600C01006D79F52 +S3150000BF8C59E6609F5AE6CF58E67FD7C3C12004F026 +S3150000BF9C609802880C6140DD238802318E12A80459 +S3150000BFAC168806318E0307B8008807318E030516EE +S3150000BFBC8B73C6C7639B88028170EFD51008D7D7E1 +S3150000BFCCD7C74078E603DF31AF28E6E743DF1551E4 +S3150000BFDC400F2AE69800AEF812E6FC86E900F578E2 +S3150000BFECE6F1C2D7D922E58F2AE6FE92FF3258E651 +S3150000BFFC300300FC86E900EFE8D925E5EFE92022BD +S3150000C00CE565E6CF66E604E567E6E568E6CF69E64C +S3150000C01C03F6BF6CE6BF6AE6CF72E6045004C13481 +S3150000C02C0F00320018AEF8A1A1FCBCA800C0880015 +S3150000C03C729F6EE6880173318E14BF6AE6624C07F6 +S3150000C04C61C8F56EE6634C05DC05F614BF6AE615A9 +S3150000C05C440300DC06301027BF6CE6F578E6E5797C +S3150000C06CE6E57AE6E57BE6F57CE61022D7AF62E6F6 +S3150000C07CD7308813BF62E6D78F64E6D78F65E6D7CD +S3150000C08C8F66E6D772F173500AD60449A116624D33 +S3150000C09CDD0883634C0CDCEE53FF63D7C7500AD61E +S3150000C0AC124944A19800FC88C0007088006158E1D0 +S3150000C0BC61F8F1C2D7C7500AD60445A11489980075 +S3150000C0CCFC8CC0007088006158E161F8F1C2D75051 +S3150000C0DC0AD60446A114895F2BE6E161F8F1D75024 +S3150000C0EC0AD60447A11489318E43E161F3F1D7C115 +S3150000C0FCF388016143DE14635006D60516629EFD75 +S3150000C10C880071FB114DDD0583EFE653FF63C2D743 +S3150000C11CC1C55006D61488029EFDA8000514A511AB +S3150000C12C89318E43E161E8F11004D7C1C3F388036A +S3150000C13C6143DE1963500AD6050404001688029E74 +S3150000C14CFD11AB16A8003747DD0583EFE153FF1051 +S3150000C15C0463D7C1500AD6051488009EFD11899830 +S3150000C16C00FC88C0007088006158E161F8F1C2D704 +S3150000C17CC1500AD61288009EFD150314A511899884 +S3150000C18C00FC8CC0007088006158E161F8F1C2D7E0 +S3150000C19C2008EB5CE6520F8A019F2CE67034BCA19A +S3150000C1AC5103FE4AFF98004CFFDF2B402BE602DFC3 +S3150000C1BC0DAEF8A112F6FC86E9005102EF15D92155 +S3150000C1CCE58F2AE6FC8BBF003258E6300300FC866E +S3150000C1DCE900F11008D7DB28E634BCA1500FFE2F7E +S3150000C1ECFF91DF1A88005006D604BCA11204040085 +S3150000C1FC14A3899EFCA31314A91661FAEFD5D922B0 +S3150000C20CE5EFBE2008EB5CE6520F8A019F2CE67028 +S3150000C21C34CEA15102FED7FE98004CFFDF2B402BEB +S3150000C22CE602DF0DAEF8A112F6FC86E9005102EF2C +S3150000C23C15D921E58F2AE6FC8BBF003258E6300370 +S3150000C24C00FC86E900F11008D7DB28E634CEA150B5 +S3150000C25C0FFEBCFE91DF1A88005006D604CEA11242 +S3150000C26C04040014A3899EFCA31314A91661FAEF07 +S3150000C27CD5D922E5EFBE208EAF28E61204FDFF4489 +S3150000C28C0900DE046275718C61C8EE630113311E00 +S3150000C29C609807D161F8EE57019F40E665718B31C6 +S3150000C2AC8EC1F19808E19803EB5CE6E3F23036E6D2 +S3150000C2BCFC97BF00C0F19803D540E661F8EEE200AA +S3150000C2CC8806738172345AA22936E6700936E6B8A6 +S3150000C2DC0A12300F18FE53FE98004CFF61F8EE9AC6 +S3150000C2EC00345AA2500FFE6AFE9161E8EE8C00886B +S3150000C2FC00345AA2500FFE77FE91DF7A8800500A5E +S3150000C30CD6045AA212040800141304060016899EB9 +S3150000C31CFCAB16AEF8040C0012040700B80861FA60 +S3150000C32CB040E64C01DF65AEF8042700B804880C73 +S3150000C33C9802C2C3A80A14A804161561D9836461AD +S3150000C34CD988010C029801F1980088027088006166 +S3150000C35C488801DD1B318E128800318E0312A80429 +S3150000C36C0314880073A8081661C999880081EFD850 +S3150000C37C61089801EF0DD927E5EF48B040E6880330 +S3150000C38C81980388060C029806EE2CFF730920E5AB +S3150000C39C708F2AE6FC8BBF003258E6300300FC8611 +S3150000C3ACE90088037088076140DF2C402BE602DF2A +S3150000C3BC0FAEF8040D0012F6FC86E9005102EF2DC3 +S3150000C3CCD926E58F2AE6FC8BBF003258E6300300EF +S3150000C3DCFC86E900F1EF1651400F2AE69827AEF8D5 +S3150000C3EC042700128801318EFC86E900E1108ED7F5 +S3150000C3FCD922E5EFCED72008EB5CE6520F8A019FD7 +S3150000C40C2CE67034ECA15102FEE4FC98004CFFDFE4 +S3150000C41C2C402BE602DF0EAEF8A1A112F6FC86E943 +S3150000C42C005102EF15D921E58F2AE6FC8BBF0032AD +S3150000C43C58E6300300FC86E900F11008D7DB28E645 +S3150000C44C34ECA1500FFEC8FC91DF1F88005006D6B5 +S3150000C45C04ECA1B8001204040016C48B9EFC13A1B4 +S3150000C46CA116C5AB168961FAEFD0D922E5EFB92032 +S3150000C47C08EB5CE6520F8A019F2CE67034F8A1514A +S3150000C48C03FE6BFC98004CFFDF2B402BE602DF0D06 +S3150000C49CAEF8A112F6FC86E9005102EF15D921E59A +S3150000C4AC8F2AE6FC8BBF003258E6300300FC86E987 +S3150000C4BC00F11008D7DB28E634F8A1500FFE50FC2B +S3150000C4CC91DF1F88005006D604F8A112040400144C +S3150000C4DCA3899EFCA31316EB5CE6AB168A0261FAE3 +S3150000C4ECEFD0D922E5EFB92010E6A1C1EB5CE6E36B +S3150000C4FCF23036E6FC97BF00C0D937E68F36E61227 +S3150000C50C344AA3300F07FE22FC98014CFF61F8EE6B +S3150000C51CC900318EB80214320A00CEFB02044CA3B9 +S3150000C52C16410F118B318E0403004228E661E8EEAA +S3150000C53CBF0015320A00CEFB02044CA314320003D2 +S3150000C54C899800318EC1EB5CE63044E6FC97BF005F +S3150000C55CC0880098048801344AA3500FFEF4FB915E +S3150000C56CDF798801344AA3500FFE04FC91DF67A8DB +S3150000C57C02320A00CEFB02044AA31204080014136A +S3150000C58C04060016899EFCAB16AEF80404001230A5 +S3150000C59C44E661FA4C01DF3751400F2AE698058FC5 +S3150000C5AC36E698068F37E69807AEF8040500123083 +S3150000C5BC0300FC86E900EF36D926E58F2AE6FC8BCC +S3150000C5CCBF003258E6300300FC86E900F1EF1F731A +S3150000C5DC0920E570EFE5D927E5EFE0402BE602DF11 +S3150000C5ECD7AEF804090012F6FC86E90051021010C9 +S3150000C5FCD7D922E5EFC5D924E58F2AE6FC8BBF00F7 +S3150000C60C3258E6300300FC86E900F1D7D924E58FD1 +S3150000C61C2AE6FC8BBF003258E6300300FC86E900A4 +S3150000C62CF1D7C7AF28E6440400DF67EB5CE68A0265 +S3150000C63C98008A03318E128800708A0114318D039A +S3150000C64C1215318E144480001361F8440000DD0C81 +S3150000C65C1544FF001361F844FFFFDF2EFC63E60070 +S3150000C66C918F2AE6DF100C409801AEF8A112E6FC79 +S3150000C67C86E900E1C2D7D924E5FC8BBF003258E627 +S3150000C68C300300FC86E900F1C2D7D926E58F2AE6ED +S3150000C69CEFE7D922E5EFF62008EB5CE6520F8A01AC +S3150000C6AC9F2CE67034DAA15103FE43FA98004CFF36 +S3150000C6BCDF2B402BE602DF0DAEF8A112F6FC86E965 +S3150000C6CC005102EF15D921E58F2AE6FC8BBF00320B +S3150000C6DC58E6300300FC86E900F11008D7DB28E6A3 +S3150000C6EC34DAA1500FFE28FA91DF1A88005006D6CC +S3150000C6FC04DAA11204040014A3899EFCA31314A942 +S3150000C70C1661FAEFD5D922E5EFBE200CE6A1C1EBF6 +S3150000C71C5CE6E3F23036E6FC97BF00C0D937E68F0D +S3150000C72C36E6123428A2300F05FEFFF998004CFFAE +S3150000C73C61F8EED100318EB802320A00CEFB02044B +S3150000C74C2AA214320003899801318EC1EB5CE630C3 +S3150000C75C44E6FC97BF00C088003428A2500FFEF2B6 +S3150000C76CF99161E8EE8A0088003428A2500FFEFF8A +S3150000C77CF991DF6588019804A802320A00CEFB0203 +S3150000C78C0428A212040800141304060016899EFC41 +S3150000C79CAB16AEF8040400123044E661FA4C01DF25 +S3150000C7AC3151400F2AE698058F36E698068F37E604 +S3150000C7BC98078F44E698088F45E698098F46E698C1 +S3150000C7CC0A8F28E6759804AEF80405001265318EBA +S3150000C7DCEF17730920E570EF03D927E58F2AE6FCDE +S3150000C7EC8BBF003258E6300300FC86E900F1100CD2 +S3150000C7FCD7402BE602DF0FAEF804050012F6FC86D6 +S3150000C80CE9005102EFE8D926E5EFD1EB5CE6200C06 +S3150000C81C8A03708A02B802BF42E68A019F2CE6F1AF +S3150000C82C9800318EB80414320600CEFB0204DAA34B +S3150000C83C16410FA8021211AB438800DD1E81980029 +S3150000C84CDDE0402BE60261E8EEFF00AEF8040600E0 +S3150000C85C12F6FC86E9005102EEEC0081DDE415329D +S3150000C86C0600CEFB0212410F1149D8A39800FC8892 +S3150000C87CC0007088006158DF0B402BE602DDCCD976 +S3150000C88C26E5EF64A804320600CEFB0204D9A314F5 +S3150000C89C410F11899800FC8CC0007088006158DF2C +S3150000C8AC05D927E5EF428F2CE69803F19802318ED5 +S3150000C8BC14320600CEFB0216A804320600CEFB028A +S3150000C8CC04DCA3B800410FA80037116109001688D3 +S3150000C8DC0371FB4D8802DD128198024C03DCCF40BC +S3150000C8EC2BE602DD98D921E5EF4B81DDF2153206F8 +S3150000C8FC00CEFB0212410FC6C7131161090016A721 +S3150000C90C8B318E4228E6DF2A15320600CEFB021446 +S3150000C91CA804320600CEFB0204DCA316156109003E +S3150000C92C1204040014A3899EFCA31314A91661FA1D +S3150000C93CEF15D922E58F2AE6FC8BBF003258E6307C +S3150000C94C0300FC86E900F1100CD7D930E5EFE620A0 +S3150000C95C08EB5CE6520F8A019F2CE670340AA2E1C2 +S3150000C96CFE8CF798004CFFDF2B402BE602DF0DAE5A +S3150000C97CF8A112F6FC86E9005102EF15D921E58FD4 +S3150000C98C2AE6FC8BBF003258E6300300FC86E90031 +S3150000C99CF11008D7DB28E6340AA2500FFE71F79186 +S3150000C9ACDF1A88005006D6040AA21204040014A347 +S3150000C9BC899EFCA31314A91661FAEFD5D922E5EFCB +S3150000C9CCBEEB5CE620088A019F2CE6FC88C0004C76 +S3150000C9DC04DF5DD92CE63410A2520F5102FE0FF77C +S3150000C9EC98004CFFDF1D402BE602DD4AD921E58F6E +S3150000C9FC2AE6FC8BBF003258E6300300FC86E900C1 +S3150000CA0CF1EF3EDB28E63410A2500FFE02F791DF61 +S3150000CA1C1A88005006D60410A21204040014A38926 +S3150000CA2C9EFCA31314A91661FAEF16D922E5EFBFE3 +S3150000CA3C402BE602DF0EAEF8A112F6FC86E9005199 +S3150000CA4C021008D7D92BE58F2AE6FC8BBF0032588B +S3150000CA5CE6300300EFE5C3C1C7AEF8FC54D700912E +S3150000CA6CDF0FA80214880099A80414E1CA0001EF8C +S3150000CA7C0251041006D7C3C1C7AEF8FC62D70091A9 +S3150000CA8CDF0FA80214880099A80414E1CA0001EF6C +S3150000CA9C0251041006D7C1C3200CAEF8040400B82A +S3150000CAAC02FC70D70091DF24F19800318E12A80E8B +S3150000CABC0314880073A8021661C999836398004C05 +S3150000CACC08DFE8A80C14E1CA0008EF0251041010A4 +S3150000CADCD7C1C3200AFC2ADA00D1DD2DF19800A8B3 +S3150000CAEC0A1688004DDE16318E12A80C0314AEF809 +S3150000CAFCA1A1168800738961D98363EFE0AEF8A112 +S3150000CB0CA1FC2CDA0091E161E85104100ED7C1C3E7 +S3150000CB1C200CAEF8040400B802FC87D70091DF2481 +S3150000CB2CF19800318E12A80E0314880073A8021611 +S3150000CB3C61C999836398004C08DFE8A80C14E1CA14 +S3150000CB4C0008EF0251041010D7C1C3200AFC2ADAE0 +S3150000CB5C00D1DD2DF19800A80A1688004DDE16319D +S3150000CB6C8E12A80C0314AEF8A1A116880073896165 +S3150000CB7CD98363EFE0AEF8A1A1FC53DA0091E16131 +S3150000CB8CE85104100ED7C1C3200EAEF8040400B849 +S3150000CB9C02FC9ED70091DF24F19800318E12A8106A +S3150000CBAC0314880073A8021661C999836398004C14 +S3150000CBBC0ADFE8A80E14E1CA000AEF0251041012AB +S3150000CBCCD7C1C32014AEF8040400B802FCBFD700CA +S3150000CBDC91DF24F19800318E12A816031488007385 +S3150000CBECA8021661C999836398004C10DFE8A81453 +S3150000CBFC14E1CA0010EF0251041018D7C1C3201457 +S3150000CC0CAEF8040400B802FC23D80091DF24F19896 +S3150000CC1C00318E12A8160314880073A8021661C977 +S3150000CC2C99836398004C0FDFE8A81414E1CA000F2F +S3150000CC3CEF0251041018D7C1C32010AEF80404003B +S3150000CC4CB802FC25D80091DF24F19800318E12A889 +S3150000CC5C120314880073A8021661C999836398009D +S3150000CC6C4C0CDFE8A81014E1CA000CEF02510410BA +S3150000CC7C14D7C3C1C7AEF8FC27D80091DF0FA802A2 +S3150000CC8C14880099A80414E1CA0001EF025104109B +S3150000CC9C06D7C1C32012AEF8040400B802FC53D860 +S3150000CCAC0091DF24F19800318E12A8140314880029 +S3150000CCBC73A8021661C999836398004C0DDFE8A826 +S3150000CCCC1214E1CA000DEF0251041016D7C1C3208D +S3150000CCDC14AEF8040400B802FC7DD80091DF24F1F0 +S3150000CCEC9800318E12A8160314880073A8021661D8 +S3150000CCFCC999836398004C0FDFE8A81414E1CA00A5 +S3150000CD0C10EF0251041018D7C1C3200AAEF8040460 +S3150000CD1C00B802FCB0D80091DF24F19800318E12D5 +S3150000CD2CA80C0314880073A8021661C9998363982A +S3150000CD3C004C05DFE8A80A14E1CA0005EF0251040D +S3150000CD4C100ED7C1C32008AEF8040400B802FCC20A +S3150000CD5CD80091DF24F19800318E12A80A031488AA +S3150000CD6C0073A8021661C999836398004C04DFE826 +S3150000CD7CA80814E1CA0004EF025104100CD7C1C371 +S3150000CD8C2016AEF8040400B802FCCDD80091DF24BE +S3150000CD9CF19800318E12A8180314880073A8021695 +S3150000CDAC61C999836398004C11DFE8A81614E1CA8F +S3150000CDBC0011EF025104101AD7C1C32016FC2ADA4F +S3150000CDCC00D1DD2DF19800A8161688004DDE16311F +S3150000CDDC8E12A8180314AEF8A1A1168800738961E7 +S3150000CDECD98363EFE0AEF8A1A1FC7ADA0091E16198 +S3150000CDFCE85104101AD7C1C32014AEF8040400B8C5 +S3150000CE0C02FCE3D80091DF24F19800318E12A816AB +S3150000CE1C0314880073A8021661C999836398004CA1 +S3150000CE2C0ADFE8A81414E1CA000AEF02510410182C +S3150000CE3CD7C1C32010AEF8040400B802FC04D90014 +S3150000CE4C91DF24F19800318E12A812031488007316 +S3150000CE5CA8021661C999836398004C0CDFE8A810E8 +S3150000CE6C14E1CA000CEF0251041014D7C1C3200EF2 +S3150000CE7CAEF8040400B802FC06D90091DF24F19840 +S3150000CE8C00318E12A8100314880073A8021661C90B +S3150000CE9C99836398004C0ADFE8A80E14E1CA000ACD +S3150000CEACEF0251041012D7C1C32010AEF8040400CF +S3150000CEBCB802FC46D90091DF24F19800318E12A8F5 +S3150000CECC120314880073A8021661C999836398002B +S3150000CEDC4C0CDFE8A81014E1CA000CEF0251041048 +S3150000CEEC14D7C1C32012AEF8040400B802FC48D90A +S3150000CEFC0091DF24F19800318E12A81403148800D7 +S3150000CF0C73A8021661C999836398004C0DDFE8A8D3 +S3150000CF1C1214E1CA000DEF0251041016D7C1C3203A +S3150000CF2C0AFC2ADA00D1DD2DF19800A80A16880031 +S3150000CF3C4DDE16318E12A80C0314AEF8A1A116887C +S3150000CF4C00738961D98363EFE0AEF8A1A1FCA0DA86 +S3150000CF5C0091E161E85104100ED7C3C12016AEF85A +S3150000CF6C040600B804FC4ED90091DF41F19800315B +S3150000CF7C8EB80212A8160314880073A8041661C989 +S3150000CF8C99A802071631F514F177318E12A81603FB +S3150000CF9C1487CA0000674C10DFF0EF088363980013 +S3150000CFAC4C10DCCBA81814E1CA0010EF0251041087 +S3150000CFBC1AD7C1C32014FC2ADA00D15104DD39F189 +S3150000CFCC9802A8141688024DDE1F318E12A816037D +S3150000CFDCB800AEF804030016C4C58802738961D97B +S3150000CFECC6C731F3168363EFD7AEF8040300FCC74C +S3150000CFFCDA0091E161E851041018D75106EFF9C136 +S3150000D00CC32008AEF8040400B802FC65D90091DF11 +S3150000D01C24F19800318E12A80A0314880073A80212 +S3150000D02C1661C999836398004C04DFE8A80814E1DB +S3150000D03CCA0004EF025104100CD7C1C32006FC2A07 +S3150000D04CDA00D1DD2DF19800A8061688004DDE1603 +S3150000D05C318E12A8080314AEF8A1A11688007389A4 +S3150000D06C61D98363EFE0AEF8A1A1FCEEDA0091E1A1 +S3150000D07C61E85104100AD7C1C32008AEF8040400B5 +S3150000D08CB802FC7CD90091DF24F19800318E12A8ED +S3150000D09C0A0314880073A8021661C9998363980061 +S3150000D0AC4C04DFE8A80814E1CA0004EF025104108E +S3150000D0BC0CD7C1C32006FC2ADA00D1DD2DF198006D +S3150000D0CCA8061688004DDE16318E12A8080314AE7B +S3150000D0DCF8A1A1168800738961D98363EFE0AEF8D5 +S3150000D0ECA1A1FC15DB0091E161E85104100AD7C33C +S3150000D0FCC1C7AEF8FC93D90091DF0FA802148800C3 +S3150000D10C99A80414E1CA0001EF0251041006D7C312 +S3150000D11CC1C7AEF8FCA1D90091DF0FA80214880094 +S3150000D12C99A80414E1CA0001EF0251041006D7C3F2 +S3150000D13CC1C7AEF8FCAFD90091DF0FA80214880066 +S3150000D14C99A80414E1CA0001EF0251041006D7C3D2 +S3150000D15CC1C7AEF8FCBED90091DF0FA80214880037 +S3150000D16C99A80414E1CA0001EF0251041006D7C3B2 +S3150000D17CC1C7AEF8FCCDD90091DF0FA80214880008 +S3150000D18C99A80414E1CA0001EF0251041006D7C392 +S3150000D19CC1C7AEF8FCDCD90091DF0FA802148800D9 +S3150000D1AC99A80414E1CA0001EF0251041006D7C372 +S3150000D1BCC1C7AEF8FCEBD90091DF0FA802148800AA +S3150000D1CC99A80414E1CA0001EF0251041006D7C154 +S3150000D1DCC3200AFC2ADA00D1DD2DF19800A80A1624 +S3150000D1EC88004DDE16318E12A80C0314AEF8A1A1E0 +S3150000D1FC168800738961D98363EFE0AEF8A1A1FCB0 +S3150000D20C3CDB0091E161E85104100ED7C1C3200A42 +S3150000D21CFC2ADA00D1DD2DF19800A80A1688004DFB +S3150000D22CDE16318E12A80C0314AEF8A1A1168800D6 +S3150000D23C738961D98363EFE0AEF8A1A1FC47DB00EB +S3150000D24C91E161E85104100ED7C1C3200AFC2ADA19 +S3150000D25C00D1DD2DF19800A80A1688004DDE163196 +S3150000D26C8E12A80C0314AEF8A1A11688007389615E +S3150000D27CD98363EFE0AEF8A1A1FC52DB0091E1612A +S3150000D28CE85104100ED7C1C3200AFC2ADA00D1DDFE +S3150000D29C2DF19800A80A1688004DDE16318E12A8BC +S3150000D2AC0C0314AEF8A1A1168800738961D98363A7 +S3150000D2BCEFE0AEF8A1A1FC5EDB0091E161E8510460 +S3150000D2CC100ED7C1C3200AFC2ADA00D1DD2DF19845 +S3150000D2DC00A80A1688004DDE16318E12A80C03140F +S3150000D2ECAEF8A1A1168800738961D98363EFE0AE0D +S3150000D2FCF8A1A1FC6ADB0091E161E85104100ED79C +S3150000D30CC1C32008AEF8040400B802FCFAD9009197 +S3150000D31CDF24F19800318E12A80A0314880073A832 +S3150000D32C021661C999836398004C03DFE8A80814B8 +S3150000D33CE1CA0003EF025104100CD7C1C32006FC4E +S3150000D34C2ADA00D1DD2DF19800A8061688004DDEEC +S3150000D35C16318E12A8080314AEF8A1A11688007314 +S3150000D36C8961D98363EFE0AEF8A1A1FCFCD90091E9 +S3150000D37CE161E85104100AD7C1C32010AEF80404C9 +S3150000D38C00B802FCFED90091DF24F19800318E1210 +S3150000D39CA8120314880073A8021661C999836398AE +S3150000D3AC004C0CDFE8A81014E1CA000CEF02510483 +S3150000D3BC1014D7C1C3200CAEF8040400B802FC004C +S3150000D3CCDA0091DF24F19800318E12A80E0314882E +S3150000D3DC0073A8021661C999836398004C07DFE8AD +S3150000D3ECA80C14E1CA0007EF0251041010D7C1C3F0 +S3150000D3FC200AFC2ADA00D1DD2DF19800A80A16883D +S3150000D40C004DDE16318E12A80C0314AEF8A1A1162F +S3150000D41C8800738961D98363EFE0AEF8A1A1FC02A1 +S3150000D42CDA0091E161E85104100ED7C1C32008AEB1 +S3150000D43CF8040400B802FC04DA0091DF24F1980029 +S3150000D44C318E12A80A0314880073A8021661C999B2 +S3150000D45C836398004C03DFE8A80814E1CA0003EFC5 +S3150000D46C025104100CD7C1C32006FC2ADA00D1DD08 +S3150000D47C2DF19800A8061688004DDE16318E12A8DE +S3150000D48C080314AEF8A1A1168800738961D98363C9 +S3150000D49CEFE0AEF8A1A1FC06DA0091E161E85104D7 +S3150000D4AC100AD7C3C1C7AEF8FC08DA0091DF0FA883 +S3150000D4BC0214880099A80414E1CA0001EF02510471 +S3150000D4CC1006D7C1C32006AEF8040400B802FC0A45 +S3150000D4DCDA0091DF24F19800318E12A80803148823 +S3150000D4EC0073A8021661C999836398004C02DFE8A1 +S3150000D4FCA80614E1CA0002EF025104100AD7C1C3F0 +S3150000D50C2006AEF8040400B802FC0CDA0091DF2405 +S3150000D51CF19800318E12A8080314880073A802161D +S3150000D52C61C999836398004C02DFE8A80614E1CA26 +S3150000D53C0002EF025104100AD7C3C1C7AEF8FC0EA5 +S3150000D54CDA0091DF0FA80214880099A80414E1CA26 +S3150000D55C0001EF0251041006D7C1C32006AEF80431 +S3150000D56C0400B802FC10DA0091DF24F19800318E29 +S3150000D57C12A8080314880073A8021661C99983635C +S3150000D58C98004C02DFE8A80614E1CA0002EF02512B +S3150000D59C04100AD7C3C1C7AEF8FC12DA0091DF0F2C +S3150000D5ACA80214880099A80414E1CA0001EF0251DC +S3150000D5BC041006D7C3C1C7AEF8FC14DA0091DF0F0E +S3150000D5CCA80214880099A80414E1CA0001EF0251BC +S3150000D5DC041006D7C1C32006AEF8040400B802FC3A +S3150000D5EC16DA0091DF24F19800318E12A808031484 +S3150000D5FC880073A8021661C999836398004C02DFF0 +S3150000D60CE8A80614E1CA0002EF025104100AD7C1B9 +S3150000D61CC32008AEF8040400B802FC18DA0091DF47 +S3150000D62C24F19800318E12A80A0314880073A802FC +S3150000D63C1661C999836398004C04DFE8A80814E1C5 +S3150000D64CCA0004EF025104100CD7C1C3200CAEF86B +S3150000D65C040400B802FC1ADA0091DF24F1980031B8 +S3150000D66C8E12A80E0314880073A8021661C999833A +S3150000D67C6398004C08DFE8A80C14E1CA0008EF0216 +S3150000D68C51041010D7C32004C1AEF8A1A1FC1CDABA +S3150000D69C0091DF0EC4C5880299A80614E1CA0001E0 +S3150000D6ACEF0251041008D7C1C32008AEF8040400D9 +S3150000D6BCB802FC1EDA0091DF24F19800318E12A814 +S3150000D6CC0A0314880073A8021661C999836398002B +S3150000D6DC4C02DFE8A80814E1CA0002EF025104105C +S3150000D6EC0CD7C32004C1AEF8A1A1FC20DA0091DF4F +S3150000D6FC0EC4C5880299A80614E1CA0001EF0251AE +S3150000D70C041008D7C32004C1AEF8A1A1FC22DA008C +S3150000D71C91DF0EC4C5880299A80614E1CA0001EF70 +S3150000D72C0251041008D7C32004C1AEF8A1A1FC24F1 +S3150000D73CDA0091DF0EC4C5880299A80614E1CA0066 +S3150000D74C01EF0251041008D7144101118F00A09962 +S3150000D75C81E161F8F1D7144101118F08A09981E19B +S3150000D76C61F8F1D7C15105FC56DE0072A8005308CA +S3150000D77CFC1FDE00D1E161E8F1C2D7C15105FC56B0 +S3150000D78CDE0072A8005308FC1FDE00D1E161E8F14F +S3150000D79CC2D714E1CA0054CA014FCA024ECA034783 +S3150000D7ACCA0459CA0555CA062DCA0753CA0843CA1C +S3150000D7BC094DD7144101118F209C99118F219C9AE8 +S3150000D7CC01118F229C9A02118F239C9A03118F248C +S3150000D7DC9C9A04118F259C9A05118F269C9A0611EA +S3150000D7EC8F279C9A07118F289C9A08118F299C9A2F +S3150000D7FC09118F2A9C9A0A118F2B9C9A0B118F2C2C +S3150000D80C9C9A0C118F2D9C9A0D118F2E9C9A0E1191 +S3150000D81C8F2F9C9A0FE1D7E1D7E1D7C1FC88C000C6 +S3150000D82C734C01DF07C4C5CA0001EF144C02DF07B5 +S3150000D83CC4C5CA0002EF094C04DF05C4C5CA0003FF +S3150000D84C83E161F8F1C2D714E1CA0052CA0146CA93 +S3150000D85C0230CA0331CA042DCA0536CA0638CA07AD +S3150000D86C30CA0831CA0933CA0A32CA0B30CA0C305C +S3150000D87CD714CA0043CA0134CA0230CA0320CA04E8 +S3150000D88C20CA0520CA0620CA0720CA0820CA0920B1 +S3150000D89CCA0A20CA0B20CA0C20CA0D20CA0E20CADE +S3150000D8AC0F20E1D714E1CA0043CA014CCA0231CA9F +S3150000D8BC0337CA0437D714A1CA0020FC9ADE00E14C +S3150000D8CCD7C1E1FC56DE0072A8005311FC1FDE0026 +S3150000D8DCD1E161E8F1C2D714E1CA0031CA012ECAFE +S3150000D8EC0231CA032ECA0431CA0520CA0620CA0749 +S3150000D8FC20CA0820CA0920D7E1D7144101118F008C +S3150000D90C9C99118F019C9A01118F029C9A02118F7E +S3150000D91C039C9A03118F049C9A04118F059C9A05FB +S3150000D92C118F069C9A06118F079C9A07118F089CDB +S3150000D93C9A08118F099C9A09E1D7E1D7FC70DE0091 +S3150000D94CE1D7C15102FC56DE0072A8005310FC1F31 +S3150000D95CDE00D1E161E8F1C2D7C15103FC56DE000D +S3150000D96C72A8005304FC1FDE00D1E161E8F1C2D7B6 +S3150000D97CC15104FC56DE0072A8005304FC1FDE00E5 +S3150000D98CD1E161E8F1C2D7C1F1FC87DC0073C4C5F3 +S3150000D99C6399E1C2D7C1E1FC87DC0073C4C5639906 +S3150000D9ACE1C2D7C15102FC87DC0073C4C56399E19F +S3150000D9BCC2D7C15103FC87DC0073C4C56399E1C2AD +S3150000D9CCD7C15104FC87DC0073C4C56399E1C2D787 +S3150000D9DCC15106FC87DC0073C4C56399E1C2D7C18B +S3150000D9EC5107FC87DC0073C4C56399E1C2D7E1D744 +S3150000D9FCE1D7E1D7E1D7E1D7E1D7E1D7E1D7E1D755 +S3150000DA0CE1D7E1D7E1D7E1D7E1D7E1D7E1D7E1D744 +S3150000DA1CE1D7E1D7E1D7E1D7FC00F100E1D7E1D7B7 +S3150000DA2C14F173318E05168B1831E583634C08DFC0 +S3150000DA3CF25105FC56DE007253083031E5FCEFDC82 +S3150000DA4C00D1E161E8F1D714F173318E05168B180C +S3150000DA5C31E583634C08DFF25105FC56DE00725348 +S3150000DA6C083031E5FCEFDC00D1E161E8F1D714F1C7 +S3150000DA7C73318E05168B1831E583634C11DFF2E199 +S3150000DA8CFC56DE007253113031E5FCEFDC00D1E1BF +S3150000DA9C61E8F1D714F173318E05168B1831E583D5 +S3150000DAAC634C08DFF25105FC56DE00725308303128 +S3150000DABCE5FCEFDC00D1E161E8F1D714F173318EAE +S3150000DACC05168B1831E583634C10DFF25102FC56B8 +S3150000DADCDE007253103031E5FCEFDC00D1E161E879 +S3150000DAECF1D714F173318E05168B1831E583634C1F +S3150000DAFC04DFF25103FC56DE007253043031E5FCB0 +S3150000DB0CEFDC00D1E161E8F1D714F173318E051623 +S3150000DB1C8B1831E583634C04DFF25104FC56DE00AE +S3150000DB2C7253043031E5FCEFDC00D1E161E8F1D74A +S3150000DB3C148A0170F1FC96DC00E1D7148A0170E1BD +S3150000DB4CFC96DC00E1D7148A01705102FC96DC00CD +S3150000DB5CE1D7148A01705103FC96DC00E1D7148AD4 +S3150000DB6C01705105FC96DC00E1D7EC4FDE00200479 +S3150000DB7C14627C439802157C5098005C0F77137CDA +S3150000DB8C52768802706612314E605CF0610F980115 +S3150000DB9C314C8800F031CE0360775C0F9800647CC2 +S3150000DBACAA735CF07266F031CE6075675CF07065D6 +S3150000DBBC610031486261636312C0C188025CF06126 +S3150000DBCC08708801100408D720041660313A7CAA24 +S3150000DBDC703159980260313A751331BE607C52F03F +S3150000DBEC313E60610D98011731BE607C50F0755C5A +S3150000DBFC077065719A5CFA980062313A7C43755CE1 +S3150000DC0C5861087088000812880270655C1F6108EC +S3150000DC1C708801100408D7C7C3147C50775C037056 +S3150000DC2C627C40735CFC6108980363316A980264F9 +S3150000DC3C7CAA73312A723168A8007C52F0755C3F5D +S3150000DC4C610B980067F0312E60610A70880008122B +S3150000DC5C880270655CFC6108708803100408D7168E +S3150000DC6C644C01DF0417EE05FF4C03DF0417EE5777 +S3150000DC7CFF4C11DF0317EF9FD7D7D74C08DC02F107 +S3150000DC8CD75002D604A7E61489D7C15002D604A6EB +S3150000DC9CE6148800CA0001A599C0D7F1D7C3BFB650 +S3150000DCACE6C5C2511F5FB9E69FB9E6AFB8E6F05CB0 +S3150000DCBCE0BFB8E651806FBDE65C8F9FBDE6AFBC9A +S3150000DCCCE6F05CF0BFBCE6F6BFBAE6C4C530BEE60D +S3150000DCDCFC06F10030B6E6FC21AB00F743E161F837 +S3150000DCECF1C2D7C1205663980092DD1392DD4D9296 +S3150000DCFC61F8EE87009261F8EEC1001058F1D7304A +S3150000DD0C5000C1AEF8040800B806340F00320014F7 +S3150000DD1CFCBCA800C08800318EB802F6B800A80278 +S3150000DD2C12A80043DD3BA80414A80012F10516A89E +S3150000DD3C5614A3899BA515B85613EFE0305000C1B5 +S3150000DD4CAEF8040800B806340F00320014FCBCA868 +S3150000DD5C00C08800318EB802F6B800A80212A800DE +S3150000DD6C43DD3EA80414A80012F10504400016A8D1 +S3150000DD7C5614A3899BA515B85613EFDD305000C178 +S3150000DD8CAEF8040800B806340F00320014FCBCA828 +S3150000DD9C00C08800318EB802F6B800A80212A8009E +S3150000DDAC43DD59A80414A80012F10504300016A886 +S3150000DDBC5614A3899BA515B85613EFDD305000C138 +S3150000DDCCAEF8040800B806340F00320014FCBCA8E8 +S3150000DDDC00C08800318EB802F6B800A80212A8005E +S3150000DDEC43DD19A80414A80012F10504380016A87E +S3150000DDFC5614A3899BA515B85613EFDD305000C1F8 +S3150000DE0C340F00320014AEF8040800FCE0A600C083 +S3150000DE1CEEE8FE146392DD0B92DD0D92DD0F92DDC2 +S3150000DE2C1DF1D7320014EF08322014EF03323014F0 +S3150000DE3C318EC115340F00FCBCA800C0EFE332389C +S3150000DE4C14EFEDDB98F0AF96F0D773091FA4D71437 +S3150000DE5CF1734101318E05161109009C9B83634CAD +S3150000DE6C10DFEFD714F1734101318E05161109102D +S3150000DE7C9C9B83634C0DDFEFD714F1734101318EFC +S3150000DE8C051611091D9C9B83634C10DFEFD714CA32 +S3150000DE9C0018CA0106CA0215D7D7D7D7F1D7F1D7BA +S3150000DEACF1D7D7D7148F04F199D7F6BFCCE6BFCAF2 +S3150000DEBCE6BFCEE6BFD2E6BFD4E6BFD6E6F5D0E6E1 +S3150000DECCF5D9E6F5D1E6F5D8E6D7F5C8E6D7E5C82F +S3150000DEDCE6D7E5C6E6CFC7E602FECEFFE5C8E6D72F +S3150000DEECF1D76FC9E69FC9E6F1D77CFF5FC9E69FFC +S3150000DEFCC9E6F1D7148FC9E699F1D7F1D7148FC6B5 +S3150000DF0CE699F1D7148FC7E699F1D7C79800FC9517 +S3150000DF1CE00088009FC7E6F1C2D7C5C3C1C78F38DA +S3150000DF2CA49801D1DD76F1980088017088006148CB +S3150000DF3CDE6A318E14320C00CEFB02043CA416A809 +S3150000DF4C04614900DD05880081EFDC15320C00CE3A +S3150000DF5CFB02043EA4168802320C004D15CEFB02C1 +S3150000DF6CDF0F043CA412040600B80013040400EFEF +S3150000DF7C0D043CA412040A00B8001304080016C4CD +S3150000DF8CAB16C58973318E0761F8DE10639EFCA84B +S3150000DF9C0614A80412880270880361FA1008D7C503 +S3150000DFACC3C12004FC7AE000A80814880672A804F1 +S3150000DFBCFCA9DC009807FC7EE00088079161E8EE7E +S3150000DFCCA600F198004F39A461C8EE9B00318E145F +S3150000DFDC321600CEFB020454A416A804614900DDD7 +S3150000DFEC05880081EFDD15321600CEFB020468A40D +S3150000DFFC14320C0089318E16CEFB0204CEE614A820 +S3150000E00C04B9A5A5880699F1980488067088043287 +S3150000E01C0C006148DD23318E14A80805B80217CE12 +S3150000E02CFB0204CEE605040300B800A802148973AB +S3150000E03CC4C56399880481EFCF17CEFB0204D9E6D9 +S3150000E04C1466CA000173E6D3EF020193DFFC1231AA +S3150000E05CFF6FCDE6086FCCE608BFCCE6136FCBE6B8 +S3150000E06C086FCAE608BFCAE68807100AD7D7717BBD +S3150000E07CFAD7717AFAD7D7D7CFDAE602F5DBE6E527 +S3150000E08CDCE6D7148FDAE699D7C798004C01DF0B7C +S3150000E09CFCC3E00088009FDAE6C0D74C02DFFAFC2E +S3150000E0ACC4E000EFEF148FDBE699D7F5DBE6D7D7A4 +S3150000E0BC148FDCE699D7D7D7D720225108FC56DE29 +S3150000E0CC0072AEF8040600B804531CFC1FDE00F107 +S3150000E0DC9802318E01B80012A8040314897381A822 +S3150000E0EC00DF0904DFE614CA0001EF333348DEE62D +S3150000E0FC31330639DFE601EF2613086C010812A846 +S3150000E10C0403168B819B4C28DC0FCA0000CC00FF45 +S3150000E11C8802FEA600C2C3EFDAC2C339DFE6008866 +S3150000E12C028198024C0EDFAA5108FC56DE0072538F +S3150000E13C1CAEF8040600FCEFDC001022D730DC0520 +S3150000E14CBFFAE630F401BFFCE6EE6DFFAFFAE6F778 +S3150000E15C43DD04B1BFFAE6FCA7DC00D1DF0DAFFC52 +S3150000E16CE6F74361F8D7B1BFFCE6D730F401EFF719 +S3150000E17C2008735002D604DEE614B804896C09999B +S3150000E18CA589D1DF031008D7CA0000630C089802D2 +S3150000E19CFC56DE0072AEF8040600B8005302FC1FF3 +S3150000E1ACDE00A80414895C0898068802FC56DE007A +S3150000E1BC72A8005302FCEFDC00EFCA5002D604DE54 +S3150000E1CCE6167183D7AFFAE6F743DF16AFFCE643E4 +S3150000E1DCDF10FCA5DE00D1DD09510DFE92FF7108A2 +S3150000E1ECF8E6FCEBBD00311301D7E1FC86DC00D16F +S3150000E1FC5104DF05FEC4FFEF03FE74FF5102FC86DB +S3150000E20CDC00D15107DF05FEB1FFEF03FE61FF51C4 +S3150000E21C03FC86DC00D1510ADF05FE9EFFEF03FEF0 +S3150000E22C4EFF8F08E74C28DE05819F08E7D7F508D7 +S3150000E23CE7F1FC85DC004CA18FFEE6DC104C32DEEF +S3150000E24C06819FFEE6EF1BE1FE25FFEF15D1DF06EB +S3150000E25CE1FE67FFEF0C919FFEE64C2661C8CFFEF0 +S3150000E26CE625F1FC85DC004C5A8FFFE6DE104C32BD +S3150000E27CDE06819FFFE6EF1BF1FEF4FEEF15D1DF04 +S3150000E28C06F1FE36FFEF0C919FFFE64C2661C8CFD8 +S3150000E29CFFE625E1FC85DC004C318F00E7DC114CF8 +S3150000E2AC32DE06819F00E7EF1D5102FEC2FEEF161D +S3150000E2BCD1DF075102FE03FFEF0C919F00E74C26BE +S3150000E2CC61C8CF00E725E1FC85DC004C028F01E735 +S3150000E2DCDE114C32DE06819F01E7EF1D5103FE8FE6 +S3150000E2ECFEEF16D1DF075103FED0FEEF0C919F0116 +S3150000E2FCE74C2661C8CF01E7255102FC85DC004CB2 +S3150000E30C318F02E7DC114C32DE06819F02E7EF1DEE +S3150000E31C5105FE5BFEEF16D1DF075105FE9CFEEFA5 +S3150000E32C0C919F02E74C2661C8CF02E7255102FCEF +S3150000E33C85DC004C028F03E7DE114C32DE06819F32 +S3150000E34C03E7EF1D5106FE27FEEF16D1DF07510638 +S3150000E35CFE68FEEF0C919F03E74C2661C8CF03E7DE +S3150000E36C255103FC85DC004C318F04E7DC114C3263 +S3150000E37CDE06819F04E7EF1D5108FEF3FDEF16D173 +S3150000E38CDF075108FE34FEEF0C919F04E74C266123 +S3150000E39CC8CF04E7255103FC85DC004C028F05E74A +S3150000E3ACDE114C32DE06819F05E7EF1D5109FEBFDB +S3150000E3BCFDEF16D1DF075109FE00FEEF0C919F050C +S3150000E3CCE74C2661C8CF05E7255104FC85DC004CDB +S3150000E3DC318F06E7DC114C32DE06819F06E7EF1D16 +S3150000E3EC510BFE8BFDEF16D1DF07510BFECCFDEF6B +S3150000E3FC0C919F06E74C2661C8CF06E7255104FC15 +S3150000E40C85DC004C028F07E7DE0E4C32DE05819F61 +S3150000E41C07E7D7510CEE58FDD1DF05510CEE9BFDED +S3150000E42C919F07E74C2661C8CF07E725D75002D640 +S3150000E43C1249DEE6D7C3C520145310C1776772AEF6 +S3150000E44CF8040600B804FC1FDE0088004C07DE3317 +S3150000E45CD1DD30A81814880099CA0101CA020A91A4 +S3150000E46C9A03A804128800318EB101B80003168BEA +S3150000E47C9A04A800A103168B9A05A81614890C06F3 +S3150000E48C99EF4C8151FFDF48C80306F1738198025E +S3150000E49CA81814880299CA0101CA020A639A03A829 +S3150000E4AC04128802318EB101B8000316A8180406AE +S3150000E4BC00B8188B9A04A800A103168B9A05A81607 +S3150000E4CC14890C06998803919803880273DFBEF1B0 +S3150000E4DC101AD7EB5CE620088A029F30E65C09DF4F +S3150000E4EC17D926E58F2AE6FC8BBF003258E6300397 +S3150000E4FC00FC86E900F1EF4351400F2AE698028FA3 +S3150000E50C2CE69803C80409F1980098018800FE1CB3 +S3150000E51CFF5F30E6DD05880181980188008198004F +S3150000E52C4C0EDFE8C80501C8060088019807AEF84E +S3150000E53CA1A112300600FC86E900E11008D7EB5CBD +S3150000E54CE620708A029F30E65C09DF18D926E58F33 +S3150000E55C2AE6FC8BBF003258E6300300FC86E90045 +S3150000E56CF1EE7F0051400F2AE698068F2CE69807AD +S3150000E57CC80809C80203F19803FEB1FE5F30E6DD58 +S3150000E58C4A8803735004D614AEF8040600B8041572 +S3150000E59C047AA4B800A114A804168802728961F939 +S3150000E5AC6281A5728961F9A8000403001488020C23 +S3150000E5BC02728961F963FE74FE7288020C0373A8F9 +S3150000E5CC04166261D988020C0498028803819803A8 +S3150000E5DC4C0EDFA5AEF8040600128802318EFC86BE +S3150000E5ECE900E11070D7206E51400F2AE698048F8F +S3150000E5FC2CE69805C80609F363980263980388030A +S3150000E60C5004D614630C0372AEF8040400161504F9 +S3150000E61C7AA4B800A1148961F9630C04A573896105 +S3150000E62CD9A8000403001488020C05728961F988C4 +S3150000E63C020C06318E071488038198034C0ECA000F +S3150000E64C09639802DFB8AEF804040012303B00FCF4 +S3150000E65C86E900106EE1D7201C341C0032B2A4AE41 +S3150000E66CF8FCFCA500F1755002D6128539DEE600E1 +S3150000E67C654C0EDFF15108FC56DE0072531CAEF8E9 +S3150000E68CFCEFDC00D1E161E8F1101CD72008FC7925 +S3150000E69CC000F74361F8FCDABE00FC54B50091DF0C +S3150000E6AC44FC7DC0008F2AE6FC90C00098004CFF0D +S3150000E6BCDF0B402BE602DD24D920E5EF2DFCA8C0AC +S3150000E6CC0091DF6F8800FCC1C00091DF61880040BB +S3150000E6DC2BE602DF19FCDBC000D1DF10AEF8A1126D +S3150000E6ECF6FC86E900EF2AD922E5EF4A8800DB28FA +S3150000E6FCE6FCEBC00091DFEF8800500AD60444A17B +S3150000E70C12040800141304060016899EFCAB16614D +S3150000E71CFAFC23EC009161F8FCEFBE00FCFCBE0099 +S3150000E72CFC58E100FCACBE00D1DF1A1008D7D92783 +S3150000E73CE5EF03D92BE58F2AE6FC8BBF003258E6B2 +S3150000E74C300300EF9CFCD1E100EFE0C3168F12E71B +S3150000E75C4C01DF15CF12E7058FC8EB9BC6C7AFC6BA +S3150000E76CEBBB300AE7B9E1C2D74C04DF13CF12E793 +S3150000E77C058FC8EB9BC6C7AFC6EBBB3015E7EFE5FD +S3150000E78CF1C2D7C5C1C713445107DF5C8998003164 +S3150000E79C4A708F12E7734C01DD084C04DD044C05FE +S3150000E7ACDF494C05DF42408EF001DF3C604C03DF55 +S3150000E7BC3788005C0FDF1FCF8EF0038A01D161F81A +S3150000E7CC51B09F13E74014E77FF161D88A029F147A +S3150000E7DCE7F590F0EF0391DF06F6BFCEEBEF09F508 +S3150000E7EC8EF0F512E7F5D1EBEE3C0160D1DF368801 +S3150000E7FC005C0F72318EBFC6EB624C0861C8EE2608 +S3150000E80C01D161F8EE2001E512E7F5C8EBF36331AF +S3150000E81C8E1662614361C8EE0401170516A78B18A4 +S3150000E82C0AE783EFE94C0161E8EE81008A01708802 +S3150000E83C005C0FBFC6EB44B104DC1CCF82F030CFBA +S3150000E84C83F0028F72A49F84F03482F05208305900 +S3150000E85C071006ECABDF0044080061D8EEC800F5E3 +S3150000E86CC8EB3415E7E6B800F3A80416630C0231BE +S3150000E87C8E0716838B99A800BFCAEB634C06A800BB +S3150000E88CA1B800A5DFE3E5CCEBCF82F030F583F041 +S3150000E89C8F72A49F84F03482F05208305907FCAB77 +S3150000E8ACDF00CF12E703CFD0EB05EE2CFF4C02DFD7 +S3150000E8BC67634C03DF62F6BFCEEBC0C1E9CCEB63FA +S3150000E8CC6170605C0FDF4E63819FCCEB8802D1DDFB +S3150000E8DC044C08DC33E19802DBC6EB13B804AFCA70 +S3150000E8ECEBB80043DE348802318E0516C2C38B4862 +S3150000E8FC15E7A313BFCAEBA8043343DD1D880281B9 +S3150000E90C98024C08DCD2EF1F318E12AFC6EB2342B5 +S3150000E91CCAEB61D3C0F512E7EF0DCF12E704E5940D +S3150000E92CF030E803BF92F01006D71344DF07C5C6D4 +S3150000E93CDF478F12E74C01DD404C04DD3C4C05DD16 +S3150000E94C388B705CF0DF32605C0F72318EBFC6EBB9 +S3150000E95C624C08DE24E512E7E5C8EBF363318E144E +S3150000E96C626143DE0B150714A589180AE783EFECE1 +S3150000E97CE594F030E803BF92F0D7C1C3C44012E768 +S3150000E98C0561F8D5D1EB61E8EEA100F594F030E81D +S3150000E99C03BF92F0A800F743DF06F512E7F1C2D7E2 +S3150000E9AC440800DE31609F82F051073683F0CC00BC +S3150000E9BC5591A7DFF93683F0A800A104FFFF12DDFD +S3150000E9CC07899BA5A713EFF33482F0520830590739 +S3150000E9DCFCABDF00EFC4E5D1EB36D2EBA104FFFFB5 +S3150000E9EC12DD07899BA5A713EFF3A800BF8AF0A831 +S3150000E9FC00120C109F82F0629F83F03484F0F7367D +S3150000EA0CD2EB8B99A313BF8CF0440600A5A7DCF2BE +S3150000EA1C3482F05208305907FCABDF00E5D0EBF638 +S3150000EA2CBFCEEBE58FF0E58EF0EE71FFE1C2D7C3FA +S3150000EA3CC7144012E705DF48D5D1EBDF4315440870 +S3150000EA4C00DE3D649F82F0F38363734C071982F0FA +S3150000EA5C55DFF5F198008800318E1245DE0FA802BD +S3150000EA6C03168800738B1883F08363EFE73482F008 +S3150000EA7C5208305907FCABDF00F6BF92F0F1EF01FC +S3150000EA8CE11004D7F173190AE7001982F00019D2C4 +S3150000EA9CEB001915E70083634C08DFE9F512E7F57F +S3150000EAAC13E7CF14E70AF6BFC6EBBFCAEBBFCEEB34 +S3150000EABCBF8AF0BF8CF0F5C8EBF5CCEBF5D0EBF5D7 +S3150000EACCD1EBF58EF0F58FF0F590F030E803BF92B0 +S3150000EADCF0F594F0D78F12E7734C03DF2040D0EBA0 +S3150000EAEC05DF12AFCEEB4276A461D306F512E7F33F +S3150000EAFCEF0BA1EF05CFD0EB05F6BFCEEB4094F0B4 +S3150000EB0C01DF18AF92F04278A461D30CF512E7F549 +S3150000EB1C94F030E803F3EF06A1EF0330E803BF925D +S3150000EB2CF0634C05DF2F8F8EF07391DF2540D0EB11 +S3150000EB3C01DF18AFCEEB4274A461D30CF58EF0F561 +S3150000EB4C12E7F5D1EBF3EF0AA1EF04E5D0EBF6BF34 +S3150000EB5CCEEB634C0361E8EEBC008F90F0819F9086 +S3150000EB6CF0D513E7DD574F14E761E3EEA800E59007 +S3150000EB7CF0AF8AF01604F9FF12EB8CF01543512016 +S3150000EB8CDE4B0F8FF09F82F0F315A1161504D2EB16 +S3150000EB9C14891883F017BF8CF083634C07A7A5DF85 +S3150000EBACF03482F05208305907FCABDF008F8FF03F +S3150000EBBC815C0F9F8FF08F13E74C01DF0BE58EF016 +S3150000EBCCF6BFCEEBE5D0EBD7919F13E7D70F8FF0BF +S3150000EBDC9F82F0F3172560728363734C071982F0DA +S3150000EBEC55DFF515A1161504D2EB14F363614ADE55 +S3150000EBFC0D891883F017BF8CF083A7A5EFEE34822E +S3150000EC0CF05208305907FCABDF00F58EF0F512E731 +S3150000EC1CF5D1EBF513E7D7D512E7E161E8F1D7FCAF +S3150000EC2CEBBD009F4EE5FCEFBD009F4FE58D01311E +S3150000EC3C2309D5B0F061F8FC6FF100409EF001DFBE +S3150000EC4C27F59EF0FC98E600FCE1EA00AF54E5F7E8 +S3150000EC5C4361F8FEA002FC85F200AFB2F0F743DD8B +S3150000EC6C04B1BFB2F0FE3000409FF001DF06F59F05 +S3150000EC7CF0FE700340A0F00161F8F5A0F040A1F0A1 +S3150000EC8C01DF06F5A1F0FEEC0240A2F001DF07F56C +S3150000EC9CA2F0EC65F100D7D75105FC5FF300718C3F +S3150000ECAC363AF1510671C1FC5FF300718C363AF1BC +S3150000ECBCE171D1FC5FF300718C363AF15107718129 +S3150000ECCCFC5FF300718C363AF1510271E1FC5FF393 +S3150000ECDC00718C363AF151037191FC5FF300363AB0 +S3150000ECECF1718C71A1510F5F47E57051F05F40F1E6 +S3150000ECFC61089F40F1F17372318E043AF116630D7F +S3150000ED0C7382624C07DFF1639F41F1D7301200C169 +S3150000ED1C340F0032001030D2F0FCBCA800C030D248 +S3150000ED2CF0BFC8F0AFDCF002DAF002DEF002D4F08D +S3150000ED3C02D6F002D8F012AFD2F044AA55DF1DAFBE +S3150000ED4CE2F04455AADF151342E0F0DF0FF1730928 +S3150000ED5CD2F018B6F083634C12DFF3D730AA55BF46 +S3150000ED6CB6F03055AABFC6F0300080BFC2F0BFBCAB +S3150000ED7CF0F1BFBEF0BFC0F0BFB8F0BFBAF0E5B45B +S3150000ED8CF0D7D5B4F0DD0CE54CE530F401BFB2F0AC +S3150000ED9CF5B4F0AFB2F0F743DF42404CE501DF3C8F +S3150000EDACAFC0F002BEF002C2F002B8F002BAF00236 +S3150000EDBCBCF0BFC4F0F17309B6F018D2F083634C03 +S3150000EDCC12DFF3301200C1340F0032001030D2F0D3 +S3150000EDDCFCE0A6004C11C061F8F54CE5D7E5B4F0A3 +S3150000EDECD72024E6C1AEF8040400B802340F003272 +S3150000EDFC0014FCBCA800C0880281DF41F1734C08EA +S3150000EE0CDE07C6C709DEA3EF184C19DE07318E04E0 +S3150000EE1CDEA3EF094C21DE0B318E04DEA314C6C72C +S3150000EE2C8961D983634C21DFD5302100C1340F00B1 +S3150000EE3C320014AEF8040400FCE0A600C0E6C1AE35 +S3150000EE4CF8040400B802340F00320018FCBCA80009 +S3150000EE5CC0880281DF4CF1734C10DE07C6C709FF70 +S3150000EE6CA3EF234C14DE07318E04FFA3EF144C18CA +S3150000EE7CDE07318E04FFA3EF094C20DE0B318E0426 +S3150000EE8CFFA314C6C78961D983634C20DFCA30201F +S3150000EE9C00C1340F00320018AEF8040400FCE0A6E2 +S3150000EEAC00C01024D78F0C03F3313501E38F040314 +S3150000EEBC3115418F0C03313504A24AE5E38F48E541 +S3150000EECC724C0ADE0FAF4AE5446400DC0762819F90 +S3150000EEDC48E5EF11624C0ADC1BAF4AE544E803DC5B +S3150000EEEC13CF48E50A340403F6BF4AE5BA08A90865 +S3150000EEFC5CFC08B963D7AF0C0360313545FC50ADEB +S3150000EF0C006031153DAFAEF0F743DF358FB0F073CF +S3150000EF1CD1DF06306400BFAEF0634C05DE0BD1DDED +S3150000EF2C08FE3100306400EF0A4C05DC09FE2500B2 +S3150000EF3C30E803BFAEF08FB0F04C05DE04819FB015 +S3150000EF4CF0D7D5B0F0DD0AAFAEF0F74361F8F5B007 +S3150000EF5CF0F552E5D7345003F789718B9900897116 +S3150000EF6C8A99AF0C0343DD04F6BF0C035404A908BD +S3150000EF7C5CFC08B9D7F1FC70F30014321D01CEFB12 +S3150000EF8C01316C31AE03BF04F115443201DE128F30 +S3150000EF9C9BF0819F9BF04CFADC2DF59BF0E59AF0EB +S3150000EFACD7445002DC138F9BF0819F9BF04CFADC0C +S3150000EFBC16F59BF0CF9AF002D704BDFE44FC00DE9A +S3150000EFCC06F59BF0F59AF0D730F401BFA4F030D0DB +S3150000EFDC07BF54E5E5ACF0F173193AF10083634CC5 +S3150000EFEC08DFF5D7D944F151075F43F112312C8F65 +S3150000EFFC45F1316A318E03BFCAF0314EBFCCF0D722 +S3150000F00CFC0EB00034B801F6B9BA40BA02BA42B92D +S3150000F01CBA40FC1EB10036F000710B3071C371831F +S3150000F02C719371230671330671030C7133037133BB +S3150000F03C01714301710303712201AF0403086C04CF +S3150000F04C08BF0403AF2603086C0108BF260300AFF4 +S3150000F05C2603086C0408BF26037108C502716BD021 +S3150000F06C716BD48D0131750261FD716BD0716AD4EF +S3150000F07C712301FCB8AD00FCE7AD00ECFEAF00C39C +S3150000F08CC66148880470DF11898173996361486190 +S3150000F09CD8D7CA0000CC0001D7CA0000CC0000D7D4 +S3150000F0AC300500C18D01317A34A9F032A8F0E0FEAA +S3150000F0BCCDFFC0300500C18D01317A34ABF032AAD8 +S3150000F0CCF0F0FEBAFFC040AAF001DF05F5ACF0EF98 +S3150000F0DC0C40A8F001DF06E5ACF07133018FACF003 +S3150000F0EC4F06F1DD0D9F06F1D1DF07340603A95C4F +S3150000F0FCFCB9D7D7148F04F199D7C1C3C664318E26 +S3150000F10CA104FFFF12DD0BC4C58B99A7A5C0C513BF +S3150000F11CEFEFC0D75408323AF13010F1EFDC71231F +S3150000F12C01511F5F0BF19F0BF1300A05BF08F1AFC0 +S3150000F13C0AF1F05CE0BF0AF151806F0FF15C8F9F12 +S3150000F14C0FF1AF0EF1F05CF0BF0EF1F6BF0CF154FF +S3150000F15C08323AF13010F1EFA1D7FCA4EC00F6BF5F +S3150000F16C50E5D78FD1E570914C02DE59604C02DF29 +S3150000F17C23AFDCE5F743DF17364FE5AFDAE5BFDC47 +S3150000F18CE531850B8FE7E54C05DE04819FE7E5F558 +S3150000F19C59E5EF318F59E573D1DD2AAFDCE56168AE +S3150000F1ACDF23364FE563919F59E5AFDAE5BFDCE522 +S3150000F1BC31851230F0E5FC21AB008FE7E54C05DE1E +S3150000F1CC04819FE7E5AF50E5F743DF2C364EE5317A +S3150000F1DC85265408323AF13010F1FE1DFF3008F145 +S3150000F1ECFC21AB00301400BF50E58F47E5819F47EB +S3150000F1FCE54C1061C8F547E5D7C11413B98A035C11 +S3150000F20C1F9A0315A1A114A9F05CE0B9C4C58A071D +S3150000F21C71FA5C8F9A071504060014A9F05CF0B914 +S3150000F22CA80004040014F6B9C0D7F173195AE50006 +S3150000F23C196EE5001982E50083634C14DFEDD79156 +S3150000F24C4C14DE0573196EE501D7914C14DE05736B +S3150000F25C1982E501D7914C14DE0B318E046EE51440 +S3150000F26C89CA0000D7F1D7914C14DE0B318E04827B +S3150000F27CE51489CA0000D7F1D7C7F1EF518198017F +S3150000F28CFE51004C01DF188800735002D60496E537 +S3150000F29C14A9A1B9441400DC2F195AE501EF29D1A0 +S3150000F2ACDF2688005002D6127996E5440600DC0665 +S3150000F2BC3005007896E5440000DF09880073195A7A +S3150000F2CCE500EF04B17896E588014C14DD0498004E +S3150000F2DCEFABC0D79175318E12654C14DE13131239 +S3150000F2EC4900A5311C9EFC79D8A461CBE15B0CEFDF +S3150000F2FC4DF1D78D04EF07E15B06EF428D06311A0F +S3150000F30CEF3A8D06312AEF348D06EF23E15B03EFDE +S3150000F31C2D8D01317AEF278D0CEF028D08315AEFC6 +S3150000F32C1B8D08EFDF8D08EFD58D08EF0D8D08319D +S3150000F33C3AEF09E15B08EF068D03314A5C017C016B +S3150000F34CD78D01EFEA8D01EFF18D01EFD08D0131F3 +S3150000F35C6AEFE94C15DE0BD1DD08318E0459E51444 +S3150000F36C89D7F1D7D1DF085002D612796AF1D7F6D0 +S30D0000F37CD7306AF1EC30B10054 +S3150000F38400000000000000003200C8007856341265 +S3150000F39411121314222431333536377F7271737880 +S3150000F3A47E00112233445566778899AABBCCDDEEDC +S3150000F3B4FF0000000000000000000000000003033E +S3150000F3C414000000D0070001030000000000000044 +S3150000F3D40000000000000000000000000000000023 +S3150000F3E40000000000000000000000000000000013 +S3150000F3F40000000000000000000000000000000003 +S3150000F40400000000000000000000000000000000F2 +S3150000F41400000000000000000000000000000000E2 +S3130000F4240000000000000000000000000000D4 +S3150000F432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S3150000F442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S3150000F452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S3150000F462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S3150000F472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S3150000F482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S3150000F492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S3150000F4A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S3150000F4B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S3150000F4C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S3150000F4D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S3150000F4E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S3150000F4F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S3150000F502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S3150000F512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S3150000F522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S3150000F532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S3150000F542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S3150000F552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S3150000F562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S3150000F572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S3150000F582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S3150000F592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S3150000F5A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S3150000F5B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S3150000F5C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S3150000F5D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S3150000F5E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S3150000F5F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S3150000F602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S3150000F612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S3150000F622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S3150000F632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S3150000F642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S3150000F652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S3150000F662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S3150000F672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S3150000F682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S3150000F692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S3150000F6A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S3150000F6B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S3150000F6C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S3150000F6D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S3150000F6E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S3150000F6F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S3150000F702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S3150000F712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S3150000F722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S3150000F732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S3150000F742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S3150000F752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S3150000F762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S3150000F772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S3150000F782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S3150000F792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S3150000F7A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S3150000F7B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S3150000F7C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S3150000F7D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S3150000F7E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S3150000F7F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S3150000F802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S3150000F812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S3150000F822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S3150000F832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S3150000F842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S3150000F852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S3150000F862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S3150000F872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S3150000F882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S3150000F892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S3150000F8A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S3150000F8B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S3150000F8C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S3150000F8D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S3150000F8E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S3150000F8F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S3150000F902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S3150000F912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S3150000F922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S3150000F932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S3150000F942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S3150000F952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S3150000F962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S3150000F972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S3150000F982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S3150000F992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S3150000F9A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S3150000F9B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S3150000F9C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S3150000F9D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S3150000F9E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S3150000F9F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S3150000FA02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S3150000FA12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S3150000FA22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S3150000FA32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S3150000FA42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S3150000FA52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S3150000FA62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S3150000FA72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S3150000FA82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S3150000FA92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S3150000FAA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S3150000FAB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S3150000FAC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S3150000FAD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S3150000FAE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S3150000FAF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S3150000FB02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S3150000FB12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S3150000FB22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S3150000FB32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S3150000FB42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S3150000FB52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S3150000FB62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S3150000FB72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S3150000FB82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S3150000FB92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S3150000FBA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S3150000FBB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S3150000FBC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S3150000FBD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S3150000FBE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S3150000FBF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S3150000FC02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S3150000FC12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S3150000FC22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S3150000FC32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S3150000FC42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S3150000FC52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S3150000FC62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S3150000FC72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S3150000FC82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S3150000FC92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S3150000FCA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S3150000FCB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S3150000FCC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S3150000FCD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S3150000FCE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S3150000FCF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S3150000FD02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S3150000FD12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S3150000FD22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S3150000FD32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S3150000FD42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S3150000FD52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S3150000FD62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S3150000FD72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S3150000FD82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S3150000FD92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S3150000FDA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S3150000FDB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S3150000FDC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S3150000FDD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S3150000FDE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S3150000FDF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S3150000FE02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S3150000FE12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S3150000FE22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S3150000FE32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S3150000FE42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S3150000FE52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S3150000FE62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S3150000FE72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S3150000FE82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S3150000FE92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S3150000FEA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S3150000FEB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S3150000FEC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S3150000FED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S3150000FEE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S3150000FEF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S3150000FF02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S3150000FF12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S3150000FF22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S3150000FF32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S3150000FF42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S3150000FF52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S3150000FF62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S3150000FF72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S3150000FF82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S3150000FF92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S3150000FFA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S3150000FFB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S3150000FFC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S3150000FFD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S3150000FFE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S3150000FFF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500010002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500010012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500010022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500010032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500010042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500010052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500010062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500010072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500010082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500010092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S315000100A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S315000100B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S315000100C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S315000100D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S315000100E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000100F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500010102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500010112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500010122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500010132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500010142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500010152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500010162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500010172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500010182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500010192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S315000101A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S315000101B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S315000101C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S315000101D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S315000101E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000101F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500010202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500010212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500010222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500010232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500010242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500010252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500010262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500010272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500010282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500010292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S315000102A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S315000102B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000102C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000102D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000102E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000102F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500010302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500010312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500010322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500010332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500010342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500010352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500010362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500010372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500010382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500010392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S315000103A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S315000103B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000103C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000103D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000103E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000103F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500010402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500010412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500010422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500010432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500010442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500010452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500010462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500010472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500010482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500010492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S315000104A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S315000104B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000104C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000104D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000104E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000104F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500010502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500010512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500010522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500010532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500010542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500010552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500010562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500010572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500010582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500010592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S315000105A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S315000105B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000105C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000105D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000105E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000105F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500010602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500010612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500010622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500010632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500010642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500010652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500010662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500010672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500010682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500010692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S315000106A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S315000106B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000106C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000106D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000106E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000106F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500010702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500010712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500010722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500010732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500010742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500010752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500010762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500010772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500010782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500010792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S315000107A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S315000107B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000107C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000107D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000107E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000107F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500010802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500010812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500010822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500010832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500010842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500010852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500010862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500010872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500010882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500010892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S315000108A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S315000108B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000108C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000108D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000108E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000108F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500010902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500010912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500010922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500010932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500010942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500010952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500010962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500010972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500010982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500010992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S315000109A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S315000109B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000109C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000109D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000109E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000109F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500010A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500010A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500010A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500010A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500010A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500010A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500010A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500010A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500010A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500010A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500010AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500010AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500010AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500010AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500010AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500010AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500010B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500010B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500010B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500010B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500010B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500010B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500010B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500010B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500010B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500010B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500010BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500010BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500010BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500010BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500010BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500010BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500010C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500010C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500010C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500010C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500010C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500010C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500010C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500010C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500010C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500010C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500010CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500010CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500010CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500010CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500010CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500010CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500010D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500010D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500010D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500010D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500010D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500010D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500010D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500010D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500010D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500010D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500010DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500010DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500010DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500010DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500010DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500010DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500010E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500010E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500010E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500010E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500010E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500010E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500010E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500010E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500010E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500010E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500010EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500010EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500010EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500010ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500010EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500010EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500010F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500010F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500010F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500010F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500010F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500010F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500010F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500010F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500010F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500010F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500010FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500010FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500010FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500010FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500010FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500010FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500011002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500011012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500011022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500011032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500011042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500011052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500011062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500011072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500011082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500011092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S315000110A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S315000110B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S315000110C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S315000110D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000110E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000110F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500011102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500011112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500011122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500011132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500011142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500011152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500011162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500011172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500011182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500011192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S315000111A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S315000111B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S315000111C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S315000111D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000111E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000111F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500011202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500011212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500011222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500011232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500011242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500011252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500011262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500011272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500011282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500011292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S315000112A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000112B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000112C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000112D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000112E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000112F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500011302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500011312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500011322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500011332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500011342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500011352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500011362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500011372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500011382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500011392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S315000113A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000113B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000113C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000113D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000113E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000113F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500011402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500011412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500011422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500011432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500011442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500011452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500011462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500011472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500011482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500011492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S315000114A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000114B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000114C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000114D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000114E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000114F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500011502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500011512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500011522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500011532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500011542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500011552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500011562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500011572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500011582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500011592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S315000115A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000115B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000115C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000115D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000115E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000115F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500011602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500011612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500011622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500011632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500011642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500011652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500011662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500011672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500011682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500011692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S315000116A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000116B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000116C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000116D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000116E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000116F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500011702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500011712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500011722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500011732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500011742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500011752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500011762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500011772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500011782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500011792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S315000117A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000117B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000117C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000117D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000117E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000117F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500011802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500011812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500011822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500011832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500011842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500011852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500011862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500011872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500011882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500011892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S315000118A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000118B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000118C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000118D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000118E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000118F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500011902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500011912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500011922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500011932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500011942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500011952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500011962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500011972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500011982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500011992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S315000119A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000119B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000119C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000119D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000119E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000119F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500011A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500011A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500011A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500011A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500011A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500011A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500011A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500011A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500011A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500011A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500011AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500011AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500011AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500011AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500011AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500011AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500011B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500011B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500011B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500011B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500011B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500011B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500011B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500011B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500011B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500011B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500011BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500011BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500011BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500011BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500011BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500011BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500011C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500011C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500011C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500011C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500011C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500011C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500011C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500011C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500011C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500011C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500011CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500011CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500011CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500011CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500011CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500011CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500011D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500011D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500011D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500011D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500011D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500011D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500011D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500011D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500011D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500011D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500011DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500011DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500011DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500011DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500011DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500011DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500011E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500011E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500011E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500011E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500011E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500011E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500011E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500011E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500011E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500011E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500011EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500011EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500011EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500011ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500011EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500011EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500011F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500011F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500011F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500011F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500011F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500011F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500011F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500011F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500011F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500011F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500011FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500011FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500011FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500011FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500011FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500011FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500012002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500012012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500012022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500012032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500012042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500012052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500012062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500012072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500012082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500012092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S315000120A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S315000120B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S315000120C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000120D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000120E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000120F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500012102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500012112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500012122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500012132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500012142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500012152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500012162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500012172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500012182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500012192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S315000121A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S315000121B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S315000121C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000121D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000121E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000121F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500012202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500012212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500012222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500012232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500012242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500012252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500012262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500012272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500012282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500012292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000122A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000122B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000122C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000122D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000122E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000122F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500012302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500012312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500012322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500012332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500012342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500012352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500012362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500012372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500012382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500012392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000123A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000123B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000123C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000123D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000123E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000123F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500012402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500012412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500012422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500012432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500012442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500012452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500012462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500012472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500012482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500012492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000124A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000124B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000124C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000124D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000124E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000124F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500012502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500012512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500012522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500012532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500012542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500012552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500012562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500012572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500012582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500012592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000125A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000125B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000125C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000125D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000125E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000125F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500012602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500012612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500012622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500012632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500012642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500012652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500012662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500012672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500012682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500012692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000126A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000126B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000126C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000126D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000126E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000126F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500012702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500012712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500012722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500012732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500012742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500012752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500012762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500012772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500012782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500012792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000127A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000127B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000127C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000127D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000127E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000127F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500012802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500012812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500012822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500012832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500012842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500012852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500012862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500012872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500012882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500012892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000128A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000128B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000128C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000128D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000128E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000128F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500012902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500012912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500012922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500012932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500012942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500012952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500012962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500012972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500012982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500012992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000129A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000129B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000129C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000129D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000129E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000129F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500012A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500012A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500012A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500012A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500012A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500012A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500012A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500012A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500012A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500012A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500012AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500012AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500012AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500012AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500012AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500012AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500012B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500012B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500012B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500012B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500012B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500012B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500012B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500012B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500012B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500012B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500012BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500012BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500012BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500012BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500012BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500012BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500012C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500012C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500012C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500012C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500012C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500012C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500012C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500012C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500012C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500012C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500012CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500012CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500012CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500012CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500012CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500012CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500012D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500012D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500012D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500012D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500012D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500012D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500012D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500012D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500012D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500012D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500012DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500012DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500012DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500012DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500012DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500012DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500012E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500012E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500012E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500012E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500012E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500012E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500012E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500012E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500012E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500012E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500012EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500012EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500012EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500012ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500012EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500012EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500012F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500012F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500012F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500012F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500012F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500012F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500012F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500012F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500012F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500012F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500012FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500012FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500012FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500012FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500012FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500012FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500013002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500013012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500013022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500013032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500013042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500013052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500013062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500013072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500013082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500013092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S315000130A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S315000130B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000130C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000130D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000130E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000130F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500013102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500013112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500013122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500013132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500013142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500013152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500013162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500013172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500013182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500013192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S315000131A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S315000131B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000131C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000131D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000131E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000131F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500013202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500013212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500013222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500013232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500013242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500013252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500013262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500013272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500013282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500013292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000132A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000132B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000132C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000132D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000132E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000132F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500013302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500013312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500013322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500013332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500013342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500013352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500013362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500013372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500013382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500013392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000133A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000133B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000133C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000133D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000133E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000133F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500013402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500013412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500013422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500013432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500013442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500013452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500013462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500013472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500013482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500013492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000134A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000134B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000134C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000134D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000134E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000134F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500013502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500013512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500013522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500013532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500013542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500013552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500013562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500013572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500013582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500013592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000135A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000135B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000135C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000135D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000135E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000135F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500013602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500013612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500013622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500013632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500013642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500013652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500013662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500013672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500013682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500013692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000136A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000136B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000136C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000136D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000136E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000136F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500013702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500013712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500013722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500013732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500013742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500013752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500013762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500013772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500013782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500013792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000137A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000137B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000137C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000137D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000137E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000137F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500013802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500013812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500013822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500013832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500013842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500013852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500013862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500013872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500013882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500013892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000138A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000138B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000138C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000138D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000138E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000138F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500013902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500013912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500013922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500013932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500013942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500013952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500013962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500013972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500013982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500013992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000139A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000139B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000139C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000139D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000139E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000139F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500013A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500013A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500013A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500013A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500013A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500013A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500013A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500013A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500013A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500013A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500013AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500013AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500013AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500013AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500013AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500013AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500013B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500013B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500013B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500013B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500013B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500013B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500013B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500013B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500013B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500013B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500013BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500013BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500013BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500013BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500013BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500013BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500013C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500013C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500013C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500013C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500013C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500013C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500013C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500013C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500013C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500013C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500013CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500013CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500013CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500013CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500013CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500013CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500013D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500013D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500013D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500013D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500013D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500013D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500013D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500013D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500013D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500013D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500013DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500013DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500013DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500013DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500013DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500013DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500013E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500013E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500013E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500013E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500013E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500013E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500013E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500013E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500013E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500013E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500013EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500013EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500013EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500013ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500013EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500013EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500013F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500013F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500013F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500013F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500013F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500013F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500013F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500013F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500013F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500013F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500013FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500013FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500013FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500013FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500013FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500013FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500014002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500014012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500014022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500014032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500014042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500014052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500014062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500014072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500014082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500014092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S315000140A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000140B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000140C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000140D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000140E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000140F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500014102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500014112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500014122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500014132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500014142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500014152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500014162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500014172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500014182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500014192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S315000141A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000141B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000141C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000141D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000141E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000141F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500014202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500014212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500014222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500014232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500014242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500014252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500014262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500014272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500014282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500014292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000142A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000142B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000142C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000142D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000142E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000142F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500014302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500014312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500014322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500014332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500014342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500014352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500014362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500014372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500014382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500014392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000143A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000143B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000143C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000143D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000143E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000143F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500014402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500014412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500014422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500014432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500014442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500014452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500014462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500014472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500014482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500014492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000144A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000144B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000144C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000144D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000144E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000144F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500014502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500014512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500014522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500014532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500014542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500014552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500014562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500014572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500014582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500014592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000145A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000145B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000145C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000145D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000145E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000145F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500014602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500014612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500014622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500014632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500014642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500014652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500014662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500014672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500014682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500014692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000146A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000146B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000146C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000146D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000146E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000146F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500014702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500014712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500014722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500014732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500014742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500014752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500014762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500014772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500014782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500014792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000147A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000147B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000147C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000147D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000147E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000147F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500014802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500014812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500014822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500014832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500014842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500014852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500014862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500014872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500014882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500014892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000148A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000148B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000148C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000148D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000148E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000148F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500014902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500014912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500014922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500014932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500014942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500014952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500014962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500014972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500014982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500014992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000149A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000149B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000149C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000149D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000149E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000149F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500014A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500014A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500014A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500014A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500014A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500014A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500014A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500014A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500014A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500014A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500014AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500014AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500014AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500014AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500014AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500014AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500014B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500014B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500014B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500014B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500014B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500014B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500014B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500014B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500014B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500014B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500014BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500014BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500014BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500014BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500014BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500014BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500014C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500014C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500014C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500014C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500014C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500014C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500014C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500014C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500014C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500014C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500014CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500014CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500014CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500014CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500014CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500014CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500014D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500014D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500014D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500014D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500014D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500014D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500014D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500014D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500014D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500014D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500014DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500014DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500014DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500014DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500014DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500014DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500014E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500014E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500014E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500014E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500014E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500014E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500014E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500014E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500014E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500014E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500014EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500014EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500014EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500014ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500014EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500014EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500014F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500014F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500014F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500014F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500014F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500014F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500014F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500014F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500014F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500014F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500014FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500014FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500014FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500014FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500014FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500014FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500015002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500015012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500015022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500015032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500015042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500015052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500015062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500015072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500015082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500015092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S315000150A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000150B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000150C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000150D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000150E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S315000150F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500015102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500015112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500015122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500015132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500015142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500015152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500015162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500015172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500015182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500015192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S315000151A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000151B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000151C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000151D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000151E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S315000151F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500015202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500015212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500015222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500015232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500015242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500015252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500015262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500015272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500015282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500015292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000152A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000152B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000152C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000152D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000152E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000152F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500015302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500015312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500015322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500015332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500015342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500015352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500015362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500015372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500015382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500015392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000153A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000153B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000153C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000153D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000153E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000153F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500015402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500015412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500015422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500015432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500015442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500015452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500015462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500015472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500015482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500015492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000154A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000154B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000154C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000154D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000154E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000154F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500015502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500015512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500015522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500015532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500015542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500015552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500015562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500015572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500015582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500015592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000155A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000155B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000155C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000155D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000155E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000155F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500015602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500015612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500015622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500015632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500015642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500015652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500015662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500015672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500015682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500015692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000156A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000156B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000156C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000156D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000156E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000156F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500015702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500015712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500015722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500015732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500015742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500015752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500015762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500015772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500015782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500015792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000157A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000157B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000157C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000157D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000157E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000157F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500015802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500015812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500015822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500015832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500015842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500015852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500015862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500015872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500015882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500015892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000158A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000158B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000158C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000158D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000158E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000158F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500015902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500015912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500015922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500015932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500015942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500015952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500015962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500015972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500015982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500015992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000159A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000159B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000159C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000159D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000159E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000159F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500015A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500015A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500015A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500015A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500015A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500015A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500015A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500015A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500015A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500015A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500015AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500015AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500015AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500015AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500015AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500015AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500015B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500015B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500015B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500015B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500015B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500015B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500015B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500015B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500015B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500015B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500015BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500015BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500015BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500015BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500015BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500015BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500015C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500015C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500015C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500015C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500015C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500015C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500015C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500015C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500015C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500015C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500015CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500015CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500015CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500015CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500015CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500015CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500015D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500015D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500015D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500015D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500015D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500015D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500015D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500015D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500015D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500015D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500015DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500015DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500015DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500015DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500015DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500015DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500015E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500015E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500015E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500015E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500015E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500015E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500015E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500015E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500015E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500015E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500015EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500015EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500015EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500015ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500015EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500015EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500015F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500015F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500015F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500015F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500015F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500015F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500015F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500015F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500015F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500015F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500015FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500015FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500015FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500015FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500015FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500015FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500016002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500016012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500016022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500016032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500016042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500016052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500016062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500016072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500016082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500016092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S315000160A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000160B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000160C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000160D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S315000160E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S315000160F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500016102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500016112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500016122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500016132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500016142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500016152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500016162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500016172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500016182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500016192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S315000161A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000161B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000161C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000161D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S315000161E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S315000161F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500016202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500016212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500016222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500016232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500016242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500016252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500016262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500016272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500016282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500016292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000162A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000162B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000162C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000162D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000162E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000162F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500016302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500016312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500016322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500016332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500016342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500016352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500016362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500016372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500016382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500016392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000163A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000163B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000163C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000163D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000163E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000163F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500016402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500016412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500016422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500016432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500016442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500016452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500016462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500016472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500016482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500016492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000164A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000164B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000164C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000164D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000164E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000164F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500016502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500016512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500016522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500016532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500016542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500016552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500016562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500016572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500016582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500016592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000165A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000165B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000165C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000165D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000165E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000165F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500016602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500016612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500016622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500016632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500016642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500016652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500016662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500016672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500016682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500016692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000166A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000166B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000166C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000166D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000166E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000166F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500016702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500016712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500016722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500016732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500016742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500016752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500016762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500016772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500016782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500016792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000167A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000167B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000167C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000167D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000167E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000167F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500016802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500016812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500016822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500016832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500016842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500016852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500016862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500016872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500016882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500016892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000168A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000168B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000168C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000168D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000168E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000168F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500016902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500016912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500016922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500016932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500016942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500016952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500016962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500016972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500016982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500016992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000169A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000169B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000169C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000169D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000169E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000169F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500016A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500016A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500016A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500016A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500016A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500016A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500016A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500016A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500016A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500016A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500016AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500016AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500016AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500016AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500016AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500016AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500016B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500016B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500016B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500016B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500016B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500016B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500016B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500016B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500016B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500016B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500016BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500016BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500016BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500016BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500016BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500016BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500016C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500016C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500016C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500016C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500016C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500016C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500016C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500016C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500016C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500016C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500016CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500016CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500016CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500016CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500016CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500016CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500016D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500016D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500016D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500016D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500016D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500016D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500016D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500016D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500016D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500016D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500016DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500016DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500016DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500016DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500016DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500016DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500016E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500016E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500016E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500016E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500016E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500016E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500016E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500016E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500016E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500016E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500016EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500016EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500016EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500016ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500016EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500016EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500016F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500016F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500016F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500016F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500016F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500016F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500016F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500016F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500016F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500016F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500016FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500016FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500016FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500016FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500016FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500016FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500017002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500017012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500017022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500017032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500017042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500017052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500017062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500017072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500017082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500017092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S315000170A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000170B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000170C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S315000170D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S315000170E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S315000170F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500017102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500017112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500017122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500017132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500017142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500017152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500017162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500017172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500017182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500017192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S315000171A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000171B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000171C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S315000171D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S315000171E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S315000171F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500017202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500017212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500017222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500017232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500017242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500017252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500017262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500017272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500017282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500017292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000172A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000172B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000172C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000172D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000172E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000172F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500017302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500017312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500017322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500017332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500017342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500017352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500017362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500017372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500017382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500017392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000173A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000173B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000173C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000173D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000173E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000173F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500017402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500017412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500017422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500017432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500017442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500017452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500017462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500017472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500017482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500017492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000174A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000174B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000174C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000174D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000174E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000174F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500017502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500017512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500017522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500017532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500017542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500017552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500017562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500017572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500017582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500017592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000175A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000175B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000175C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000175D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000175E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000175F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500017602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500017612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500017622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500017632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500017642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500017652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500017662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500017672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500017682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500017692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000176A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000176B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000176C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000176D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000176E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000176F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500017702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500017712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500017722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500017732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500017742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500017752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500017762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500017772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500017782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500017792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000177A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000177B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000177C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000177D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000177E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000177F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500017802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500017812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500017822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500017832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500017842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500017852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500017862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500017872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500017882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500017892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000178A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000178B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000178C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000178D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000178E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000178F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500017902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500017912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500017922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500017932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500017942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500017952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500017962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500017972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500017982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500017992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000179A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000179B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000179C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000179D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000179E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000179F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500017A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500017A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500017A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500017A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500017A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500017A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500017A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500017A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500017A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500017A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500017AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500017AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500017AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500017AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500017AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500017AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500017B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500017B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500017B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500017B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500017B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500017B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500017B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500017B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500017B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500017B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500017BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500017BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500017BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500017BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500017BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500017BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500017C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500017C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500017C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500017C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500017C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500017C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500017C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500017C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500017C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500017C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500017CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500017CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500017CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500017CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500017CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500017CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500017D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500017D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500017D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500017D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500017D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500017D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500017D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500017D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500017D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500017D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500017DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500017DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500017DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500017DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500017DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500017DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500017E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500017E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500017E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500017E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500017E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500017E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500017E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500017E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500017E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500017E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500017EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500017EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500017EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500017ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500017EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500017EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500017F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500017F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500017F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500017F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500017F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500017F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500017F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500017F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500017F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500017F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500017FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500017FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500017FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500017FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500017FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500017FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500018002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500018012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500018022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500018032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500018042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500018052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500018062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500018072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500018082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500018092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S315000180A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000180B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S315000180C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S315000180D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S315000180E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S315000180F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500018102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500018112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500018122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500018132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500018142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500018152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500018162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500018172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500018182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500018192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S315000181A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000181B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S315000181C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S315000181D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S315000181E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S315000181F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500018202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500018212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500018222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500018232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500018242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500018252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500018262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500018272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500018282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500018292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000182A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000182B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000182C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000182D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000182E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S315000182F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500018302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500018312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500018322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500018332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500018342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500018352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500018362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500018372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500018382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500018392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000183A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000183B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000183C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000183D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000183E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S315000183F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500018402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500018412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500018422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500018432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500018442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500018452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500018462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500018472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500018482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500018492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000184A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000184B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000184C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000184D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000184E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S315000184F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500018502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500018512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500018522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500018532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500018542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500018552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500018562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500018572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500018582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500018592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000185A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000185B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000185C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000185D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000185E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S315000185F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500018602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500018612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500018622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500018632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500018642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500018652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500018662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500018672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500018682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500018692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000186A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000186B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000186C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000186D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000186E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S315000186F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500018702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500018712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500018722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500018732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500018742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500018752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500018762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500018772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500018782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500018792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000187A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000187B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000187C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000187D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000187E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S315000187F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500018802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500018812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500018822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500018832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500018842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500018852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500018862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500018872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500018882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500018892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000188A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000188B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000188C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000188D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000188E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S315000188F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500018902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500018912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500018922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500018932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500018942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500018952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500018962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500018972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500018982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500018992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000189A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000189B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000189C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000189D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000189E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S315000189F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500018A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500018A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500018A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500018A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500018A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500018A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500018A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500018A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500018A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500018A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500018AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500018AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500018AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500018AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500018AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500018AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500018B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500018B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500018B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500018B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500018B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500018B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500018B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500018B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500018B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500018B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500018BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500018BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500018BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500018BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500018BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500018BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500018C02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500018C12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500018C22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500018C32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500018C42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500018C52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500018C62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500018C72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500018C82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500018C92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500018CA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500018CB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500018CC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500018CD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500018CE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500018CF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500018D02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500018D12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500018D22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500018D32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500018D42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500018D52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500018D62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500018D72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500018D82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500018D92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500018DA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500018DB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500018DC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500018DD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500018DE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500018DF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500018E02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500018E12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500018E22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500018E32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500018E42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500018E52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500018E62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500018E72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500018E82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500018E92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500018EA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500018EB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500018EC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500018ED2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500018EE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500018EF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500018F02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500018F12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500018F22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500018F32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500018F42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500018F52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500018F62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500018F72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500018F82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500018F92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500018FA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500018FB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500018FC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500018FD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500018FE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500018FF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500019002FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500019012FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500019022FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500019032FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500019042FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500019052FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500019062FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500019072FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500019082FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500019092FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S315000190A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S315000190B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S315000190C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S315000190D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S315000190E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S315000190F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500019102FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500019112FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500019122FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500019132FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500019142FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500019152FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500019162FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500019172FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500019182FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500019192FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S315000191A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S315000191B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S315000191C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S315000191D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S315000191E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S315000191F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500019202FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500019212FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500019222FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500019232FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500019242FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500019252FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500019262FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500019272FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500019282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500019292FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000192A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000192B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000192C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000192D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S315000192E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S315000192F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500019302FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500019312FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500019322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500019332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500019342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500019352FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500019362FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500019372FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500019382FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500019392FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000193A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000193B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000193C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000193D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S315000193E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S315000193F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500019402FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500019412FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500019422FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500019432FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500019442FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500019452FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500019462FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500019472FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500019482FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500019492FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000194A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000194B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000194C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000194D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S315000194E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S315000194F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500019502FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500019512FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500019522FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500019532FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500019542FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500019552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500019562FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500019572FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500019582FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500019592FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000195A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000195B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000195C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000195D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S315000195E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S315000195F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500019602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500019612FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500019622FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500019632FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500019642FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500019652FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500019662FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500019672FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500019682FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500019692FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000196A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000196B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000196C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000196D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S315000196E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S315000196F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500019702FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500019712FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500019722FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500019732FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500019742FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500019752FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500019762FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500019772FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500019782FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500019792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000197A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000197B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000197C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000197D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S315000197E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S315000197F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500019802FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500019812FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500019822FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500019832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500019842FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500019852FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500019862FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500019872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500019882FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500019892FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000198A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000198B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000198C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000198D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S315000198E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S315000198F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500019902FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500019912FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500019922FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500019932FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500019942FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500019952FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500019962FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500019972FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500019982FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500019992FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000199A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000199B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000199C2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000199D2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S315000199E2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S315000199F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500019A02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500019A12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500019A22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500019A32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500019A42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500019A52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500019A62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500019A72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500019A82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500019A92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500019AA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500019AB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500019AC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500019AD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500019AE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500019AF2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500019B02FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500019B12FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500019B22FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500019B32FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500019B42FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500019B52FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500019B62FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500019B72FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500019B82FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500019B92FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500019BA2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500019BB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500019BC2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500019BD2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500019BE2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31300019BF2FFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500019C0048573031303020202020202020202020AD +S31500019C1030312E30312E303120202020203032308C +S31200019C20312020202020202020202020207F +S31500019C2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500019C3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500019C4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500019C5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500019C6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500019C7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500019C8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500019C9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500019CADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500019CBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500019CCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500019CDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500019CEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500019CFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500019D0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500019D1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500019D2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500019D3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500019D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500019D5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500019D6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500019D7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500019D8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500019D9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500019DADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500019DBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500019DCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500019DDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500019DEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500019DFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500019E0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500019E1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500019E2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500019E3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500019E4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500019E5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500019E6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500019E7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500019E8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500019E9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500019EADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500019EBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500019ECDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500019EDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500019EEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500019EFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500019F0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500019F1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500019F2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500019F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500019F4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500019F5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500019F6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500019F7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500019F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500019F9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500019FADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500019FBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500019FCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500019FDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S30800019FEDFFFFFF6D +S30900019FF0AA5555AA68 +S31100019FF4FFFFFFFFFFFFFFFFFFFFFFFF66 +S9030000FC diff --git a/ECU_APP/OutPut/ECU_APP_RIGHT.S19 b/ECU_APP/OutPut/ECU_APP_RIGHT.S19 new file mode 100644 index 0000000..9d0347a --- /dev/null +++ b/ECU_APP/OutPut/ECU_APP_RIGHT.S19 @@ -0,0 +1,4105 @@ +S00E00004543555F41505020533139F7 +S3150000A00014A50000ECA50000ECA50000ECA50000DE +S3150000A010ECA50000ECA50000ECA50000ECA50000F6 +S3150000A020ECA50000ECA50000ECA50000ECA50000E6 +S3150000A030ECA50000ECA50000ECA50000ECA50000D6 +S3150000A040ECA50000ECA50000ECA50000ECA50000C6 +S3150000A050ECA50000ECA50000F0A50000F7A50000A7 +S3150000A060ECA50000ECA50000F8A50000ECA500009A +S3150000A070ECA50000ECA50000ECA50000ECA5000096 +S3150000A080ECA50000ECA50000ECA50000ECA5000086 +S3150000A090ECA50000ECA50000ECA50000E0A5000082 +S3150000A0A0ECA50000E1A50000E2A5000068A50000FF +S3150000A0B067A50000ECA50000ECA50000ECA50000DB +S3150000A0C0ECA50000ECA50000ECA50000ECA5000046 +S3150000A0D0ECA50000ECA50000ECA50000ECA5000036 +S3150000A0E0ECA50000ECA50000ECA50000ECA5000026 +S3150000A0F0ECA50000ECA50000ECA50000ECA5000016 +S3090000A100AA5555AA57 +S3150000A10441070000FFFFFFDF02800180DF07000038 +S3150000A114FFFFFFDF0281028003040000FFFFFFDF71 +S3150000A124028203806D020000FFFFFFDF02830480CA +S3150000A13400040000000080D4028405808080820030 +S3150000A1440707030203109CC100000707030201115D +S3150000A1540FC2000006070102022702C40000050719 +S3150000A164030303287BC4000007070302013E5BC9FF +S3150000A1740000070703020285CDC900000707030391 +S3150000A184002282C2000006030104002EF3C400006C +S3150000A19402070104033117C8000002010105003457 +S3150000A1A4CBBF0000020101030036CCBF0000020150 +S3150000A1B401010037CDBF0000010218B600000202FB +S3150000A1C492B6000003022CB7000001028CB700000F +S3150000A1D403028CB700000103DFE4000002034AE532 +S3150000A1E400000A02F2E50000010203B800000206BC +S3150000A1F433B900000003CEBC00000103CEBC00004E +S3150000A2040303CEBC00000002FFBD0000010236BEFF +S3150000A2140000020273BE00000108B0BE0000030481 +S3150000A224C5BE0000040302000063DBD10000040382 +S3150000A2340200086318D20000040302000B6355D21F +S3150000A2440000040302000C6392D20000040302001F +S3150000A2540E63CFD2000007070D0087F19ECC0000E5 +S3150000A264070705008AF114CD000007070A0097F1D5 +S3150000A27492CB000007070D0088F1EECE0000070719 +S3150000A2840A0091F102CE00000707040001171BD64D +S3150000A294000007070800021756D60000070701004A +S3150000A2A4061791D60000070702000717B3D6000069 +S3150000A2B4070701000817EED6000007070100091773 +S3150000A2C410D70000070701000B1732D70000070755 +S3150000A2D40D0095F1EECE000007070A0093F102CEB9 +S3150000A2E4000007070800000262CA0000070708000A +S3150000A2F4010282CA00000707100080F1CDCB0000DE +S3150000A3040707010086F17ECC0000070703008BF1E6 +S3150000A3144FCD00000707110090F18ACD0000070712 +S3150000A324100089F1D9CC00000707100098F166CF18 +S3150000A33400000707040099F10BD00000070704008A +S3150000A3449DF183D000000603080010F1DDCA000069 +S3150000A3540603110090F1C5CD00000603100098F124 +S3150000A364BECF00000603040099F146D000000603A0 +S3150000A37404009DF1BED000000000000000000000B3 +S3150000A384000000000000000000000000010DC8BA33 +S3150000A394000002051FBB000003051FBC00000104EA +S3150000A3A4C9BA0000020574BB0000030575BC0000B1 +S3150000A3B4010462BA00000204CABA00000304C9BB5D +S3150000A3C400000108CBBC00000205CCBC000003055C +S3150000A3D4CDBC000006040302B4A3202020202020C4 +S3150000A3E42020202020202020202020202020202063 +S3150000A3F420202044414D494E47414320202020201F +S3150000A40420202020202020202020202000010120A0 +S3150000A4140001012020202020202020000102030426 +S3150000A42405060708090A0B0C0D0E0F10111213145A +S3150000A4341518061502010100510708008FE70000F0 +S3150000A44400000000DF07080036E9000000000000F5 +S3150000A4545907080000000103016400000000000021 +S3150000A464000000000300AA005107DF0759070A008D +S3150000A4744B009600881300F0061601F006170291A9 +S3150000A48481140391811204918171059183120691BD +S3150000A49483140791837108918412099184140A9193 +S3150000A4A484710B9186110C9186140DC07300000003 +S3150000A4B40000000000000000000000000000000092 +S3150000A4C400000000000000000000FFFFE803F401A4 +S3150000A4D46400FFFFF9F200F304F309F30FF315F335 +S3150000A4E419F31EF324F328F32EF332F338F33CF373 +S3150000A4F440F345F34EF352F356F35AF300000000CB +S3150000A5040000000000000000000000000000000041 +S3150000A514CBF820FEFCB8AD0036BEE53082F1EF0480 +S3150000A524CC0000A747DFF93620FE3020FEEF04CC2E +S3150000A5340000A747DFF9410032AE00EF08B3114926 +S3150000A54486F34810E5F643DFF44100320000EF08D5 +S3150000A554B3114934F44820FEF643DFF4FCBDAD00E4 +S3150000A564F6EFFED730F401BFA4F03228F1E1FC295E +S3150000A574AC00AF28F1445107DD0544DF07DF2C4466 +S3150000A584DF07DF124031F13EDF0C4032F180DF0697 +S3150000A594FC2FBE00EF0F128F2FF1314A703430F1C9 +S3150000A5A4F1FC26DF00E5EBE5E5E3E5AF28F1120C67 +S3150000A5B4FC448000DE0DE5E1E5E15F31F19FEAE56B +S3150000A5C4E5E3E513440304DF12364EE531850C5406 +S3150000A5D4083230F13042F1EC07F100D7D7D73458BE +S3150000A5E403A9085CEF08B9D700D761FCE5CCE5EC14 +S30D0000A5F496AE00D7EC7EF300E1 +S3150000A5FCC116F645DD094900009BA3A7B5EFF3C0CC +S3060000A60CD770 +S3060000A60DFF47 +S3150000A60E7100900016BF04088C019F0108E503082F +S3150000A61EF2FCF8FF0E62CF800804D716E503088C0D +S3150000A62E02088C03BF0408340010CF02080F8C06F4 +S3150000A63E9F81084C03DD2415080E00081E01BF007D +S3150000A64E08148C04088C05BF06081251004E06DD50 +S3150000A65E1BF98108FCF8FF0E62EF20300004BF06DE +S3150000A66E088C003129F005BF0008EFE5FB04080051 +S3150000A67E899BA7A5B3F643DFF75100D7FC04F00E6E +S3130000A68E62D7FC08F00E71089000F58008D720 +S3150000A69C16C80300AEF82761D339315E12F643DDD6 +S3150000A6AC27BBBC02BC04BC06BC08BC0ABC0CBC0E5A +S3150000A6BCBC10BC12BC14BC16BC18BC1ABC1CBC1EF0 +S3150000A6CC3704200037B3EFD6AEF847DD06F6BBA746 +S3150000A6DCA7EFF5D7C1200A13C30400F0121561D8F1 +S3150000A6ECA104F0FF4400001361F844001061C8EEA9 +S3150000A6FCFA008FBEE570D1DF29C80A20C80B00AE60 +S3150000A70CF8040A00FC0EA600C80808A8000CF0B84D +S3150000A71C02A812B806AEF8A1A1FC29A60073E5BEE4 +S3150000A72CE5E090DF49634CFFDF07FC8AA60073EF78 +S3150000A73CF44C1BDF18C80803A8000CF031AEB802A5 +S3150000A74CAEF8A1A1FC29A60073CFBEE502D1DF1E8F +S3150000A75CC80804A8000CF0B802A812B806A80CB8D1 +S3150000A76C04AEF8A1A1FC29A60073CFBEE5038FBEEB +S3150000A77CE54C02DF2F634CFFDF07FC8AA60073EF64 +S3150000A78CF4D1DF6BC80804A8000CF0B802A812B804 +S3150000A79C06A80CB804AEF8A1A1FC29A60073CFBE7E +S3150000A7ACE50351034C03DF2B634CFFDF07FC8AA642 +S3150000A7BC0073EFF4D1DF38C80806A8000CF0B80215 +S3150000A7CCA812B806AEF8A1A1FC29A60073CFBEE567 +S3150000A7DC0451044C04DF1883DF07FC8AA60073EFD0 +S3150000A7ECF6FC90A600F5BEE55111EF04F5BEE5E1C9 +S3150000A7FC100ED7C1200C130400F0B8001561D8A1B7 +S3150000A80C04F0FFF743A80061F844001061C8EE9B02 +S3150000A81C00C80A20C80B00AEF8040A00FC0EA600FD +S3150000A82CC80808A800B802A812B806AEF8A1A1FC80 +S3150000A83C29A6004CFFDF06FC8AA600EFF64C1BDFB0 +S3150000A84C1BC80803A80031AEB802AEF8A1A1FC29BA +S3150000A85CA6004CFFDF06FC8AA600EFF6D1DD0BE165 +S3150000A86C9800FC90A6008800EF43C80804A800B81E +S3150000A87C02A812B806A80CB804AEF8A1A1FC29A629 +S3150000A88C004CFFDF06FC8AA600EFF6D1DFD1C80824 +S3150000A89C06A800B802A812B806AEF8A1A1FC29A613 +S3150000A8AC00980081DFBCFC8AA600EFF5E1100ED7FC +S3150000A8BCC12006C3C48F9000718CA80C12DC2D36F7 +S3150000A8CC9000F67182B804B802A804440000A802ED +S3150000A8DC61F8440F00DE1500A804B800A8020401B4 +S3150000A8EC0016A80061D8A1B80417EFDBF6B800F182 +S3150000A8FC43DE0FA80616899BA5A717B806A800A1C4 +S3150000A90CEFEB1008D72006AF2A036071BC300500A8 +S3150000A91CDC19AF2A0360312515342603A9085CFB24 +S3150000A92C08B9AA0460312506300400EEDB00AF0836 +S3150000A93C036031250F340403A9085CFB08B9AA048B +S3150000A94C603123E4340003300204BA22F6BA24A19F +S3150000A95CB9303A01BA02300500BA30AA8AB804AA4C +S3150000A96C8A085CFE08BA8A30A00314BFC0E5C80288 +S3150000A97C053004A1B800C6C7ABB917A1A116EBC028 +S3150000A98CE5ABBA02A8001204040016EBC0E5ABBA9C +S3150000A99C041304060016EBC0E5ABBA061304080054 +S3150000A9AC16EBC0E5ABBA0813040A00EBC0E516A813 +S3150000A9BC00040C00B800ABBA0A300C0002C0E51457 +S3150000A9CCBFC0E58802919802DFAC340403A804BA30 +S3150000A9DC86300400BA2E300210BA345112BA3650F0 +S3150000A9EC04BA4CE6BA4E500EBA76AA226C035C0335 +S3150000A9FC085C0708BA22A951FF085C0708B9AA0225 +S3150000AA0C04A100BA02FE4103F61006D7AF2A036072 +S3150000AA1C310513342603A9085CFC08B9AA04607135 +S3150000AA2C8C300400DC26F52C03D540A1DD09343826 +S3150000AA3C03A9086C0108B9D541A1DD09343A03A96B +S3150000AA4C086C0108B94042A181DD02F6D7345003E7 +S3150000AA5CA9086C0108B9EFF3AF080360310513348C +S3150000AA6C0403A9085CFC08B9AA0460718C300400C4 +S3150000AA7CDC074042A182DD02F6D7345003A9086CEC +S3150000AA8C0108B9EFF32004318EC3C4B80012046C6C +S3150000AA9C0316CC00008BD1DF56368A03314CABB88B +S3150000AAAC02AB086C0108BB130C0616A9BB130402F7 +S3150000AABC0616AA02BB1304060616AA06BB1304083E +S3150000AACC0616AA08BB13040A0616AA0ABB13040C1C +S3150000AADC0616AA0CBB13040E0616AA0EBB348A0362 +S3150000AAECA802B9A80004640314F6CA0001EF0330E7 +S3150000AAFCFEFF1004D7318E0464031489719A99F6FB +S3150000AB0CD7318E046C0314F7895C06319E4361F8C9 +S3150000AB1CD7CA0000D714AF580360311337368A03EF +S3150000AB2CAB12AB086C0108BBA9BFE005AA02BFE2D9 +S3150000AB3C05AA06BFE605AA08BFE805AA0ABFEA05E4 +S3150000AB4CAA0CBFEC05AA0EBFEE0513BB30FF00BF67 +S3150000AB5C5C03F0D7E6A1D7C3200416AF340314F771 +S3150000AB6C4330030061F8EEB100F19800A313B8026C +S3150000AB7C13615D08615C086168DF10311C13B80253 +S3150000AB8C88008198004C10DCE7EF0388009BF6B137 +S3150000AB9C2334340312A9615B08615A08B9A802125E +S3150000ABACA9615B08615A08F74330FEFFDF6C548AD3 +S3150000ABBCA9B800A9086C0108B98B5010D61204A0CC +S3150000ABCC0314A914A80435B91304A20316ABBA02CC +S3150000ABDC1304A40316ABBA041304A60316ABBA06E5 +S3150000ABEC1304A80316ABBA081304AA0316ABBA0AC5 +S3150000ABFC1304AC0316ABBA0C1304AE0316ABBA0EA5 +S3150000AC0C348A03A800B9A80212AF3403615B086149 +S3150000AC1C5A08F743F661E830FDFF1006D7D1DF037B +S3150000AC2C13EF0891DF0313EF63F6D7C714AF400396 +S3150000AC3C60310353F7312507300800BF4003A336B4 +S3150000AC4C4003AB085CF708BBAC4AB800AC4A086CCE +S3150000AC5C0108BC4AAFA005B9AFA205BA02AFA4055C +S3150000AC6CBA04AFA605BA06AFA805BA08AFAA05BAC4 +S3150000AC7C0AAFAC05BA0CAFAE05BA0EA800BC4A308A +S3150000AC8CFF00BC0813C2D7300300C2D7C714AF42AB +S3150000AC9C0360310353F7312507300800BF4203A385 +S3150000ACAC364203AB085CF708BBAC48B800AC4808A6 +S3150000ACBC6C0108BC48AFB005B9AFB205BA02AFB467 +S3150000ACCC05BA04AFB605BA06AFB805BA08AFBA05E9 +S3150000ACDCBA0AAFBC05BA0CAFBE05BA0EA800BC4882 +S3150000ACEC30FF00BC0813C2D7300300C2D7C714AF5D +S3150000ACFC580360310349F7312507301800BF580354 +S3150000AD0CA336E005AF8A03B800AF8A03086C0108C6 +S3150000AD1CBF8A03ABB9AC02BA02AC04BA04AC06BA2D +S3150000AD2C06AC08BA08AC0ABA0AAC0CBA0CAC0EBA29 +S3150000AD3C0EA800BF8A0330FF00BF5C0313C2D730D6 +S3150000AD4C0300C2D7AF0803F1D736D0FF71F371E316 +S3150000AD5C71D3712BD1711BD1710BD1715BD4712B4A +S3150000AD6CD5711BD5710BD5D736C102718300718293 +S3150000AD7CFE92FBF743DFF9FE92FC440400DDF8FE7D +S3150000AD8CD6FC440400DDF8D7341A00CA0000CA0108 +S3150000AD9C00CA0300FC62B000FC65B000FC3EB000CB +S3150000ADACFCDCB000FC64AF00F57800D7717BFAEFE1 +S3150000ADBCD7FE27004008E5A5DF133406035208A981 +S3150000ADCC5CFCB93400E5305907FCA9DC00FCD5EF76 +S3150000ADDC00FC36AE00FC2BEC00EFF6FCEEED00FCB6 +S3150000ADEC0AC000FC90EA00FE2300FC2BF100FC37A5 +S3150000ADFCB100FCFEAF00712301FC74AD00FC28B160 +S3150000AE0C00FC14B100FC1EB000717AFAD73621FF93 +S3150000AE1C71837102017192D7D736E4FF7182710B7F +S3150000AE2CE0710AEC710AE87183D7CEABACD7148902 +S3150000AE3CD161F8D79199D714F7A94361F8D7B1B96D +S3150000AE4CD7C5C1C4C58977318E43DF14CA0000A8A3 +S3150000AE5C0214880870896148DF07CA00001004D7FD +S3150000AE6C678199EFF8C5C1C4C5A91643DF17F6B9B2 +S3150000AE7CA80214880870896148DF05CA0000EF0231 +S3150000AE8C81991004D717A1B9EFF83050E5FEA7FF4A +S3150000AE9C30CDE5FE98FF30A4F0FE9BFF30DCE5FEDE +S3150000AEAC95FF30E8E5FE8FFFA2D2E5A2D4E5AFD63A +S3150000AEBCE5F743DD04B1BFD6E5AFDEE543DD04B10E +S3150000AECCBFDEE5AFAEF043DD04B1BFAEF0E602CEB9 +S3150000AEDCE512BFCEE513340500CEFB030015616801 +S3150000AEEC61F8E59FF013340A00CEFB030015616888 +S3150000AEFC61F8E5A0F013341400CEFB03001561686D +S3150000AF0C61F8E5A1F013343200CEFB03001561683D +S3150000AF1C61F8E5A2F01334E803CEFB030015616873 +S3150000AF2C61F8E5A3F013448813DC04F6BFCEE5E61E +S3150000AF3C0296F0BF96F0F661D8A10298F0BF98F091 +S3150000AF4CAF54E5F743DD04B1BF54E5D5CCE561F864 +S3150000AF5CD7F5CCE5E59EF0D734F00036F000F67167 +S3150000AF6C82BAC630FF0ABAC4F6BF2A02714AE67123 +S3150000AF7C4BE2715AE6715BE2713AE7713BE3716A37 +S3150000AF8CE6716BE2717AE6717BE2714AE7714BE32B +S3150000AF9C717AE7717BE3710AD4710BD0711AD47193 +S3150000AFAC1BD0712AD4712BD0714AEE714AEA715AB0 +S3150000AFBCEE715AEABAA0C918FF7CAAC8085CFE084A +S3150000AFCCBAC8AACA085CFE08BACAF6BAA2C91AFF57 +S3150000AFDC7CAACE085CFD08BACEAACC085CFD08BAE1 +S3150000AFECCCAAC8085CFD08BAC8AACA085CFD08BA8F +S3150000AFFCCAD734B201714BE2714BE6A9086C010851 +S3150000B00CB9D734B401A9086C0108B9714AE6714B79 +S3150000B01CE2D734B201715BE2715BE6A9086C0208F7 +S3150000B02CB9D734B401A9086C0208B9715AE6715B38 +S3150000B03CE2D7343400F401CA0000CA38DEF5200227 +S3150000B04CCA4202CE21FBCE23FFCE24FFCE26FFCE54 +S3150000B05C28FFCE2CFFD78EA8D736C40220047182C7 +S3150000B06CCEA040CEA307717BA140A2FFFFDFFA71F1 +S3150000B07C4AA48EA43155FBCFC50292F6B802B8008D +S3150000B08CA802F743A80061F8442103DE1300A802C6 +S3150000B09C14A800040100121561D8A1B80213EFDE42 +S3150000B0ACA771828FC6023175FA34C502CA020071C5 +S3150000B0BCA251885FC6024C88DFF7716BA4710BA195 +S3150000B0CCB5B7CA04008A046C429A0471A31004D75B +S3150000B0DC30100004E0001634100071D2CE3000712E +S3150000B0EC0AE7710BE3710AEF710AEB51086F23FF44 +S3150000B0FC9E23CE3000CE32A0CA0000CA01FFCA027F +S3150000B10C00CE3100710A30D7710BE3710BE7717AFF +S3150000B11C30D7717B30710AE7710BE3D7710A30D7E0 +S3150000B12C710B30D714AD1E316EB9D7F5D0E5F6BF1D +S3150000B13CD2E5BFD4E5BFD8E5BFDCE5304006BFD6C7 +S3150000B14CE530F401BFDAE5F5E0E5F5E1E5F5E2E534 +S3150000B15CF5D1E5F5E3E5F5E4E5F5E5E530D007BF32 +S3150000B16CDEE5F5E6E5EC4BB500D5D0E5DF3140E1A3 +S3150000B17CE501DD198D01317514F510E5D511E5DF05 +S3150000B18C1E340603A96C03B9E511E5EF12F511E5BA +S3150000B19CD510E5DF0A340603E510E5A95CFCB940D9 +S3150000B1ACEBE501DF12308813BFE8E5F5EBE540D09F +S3150000B1BCE50861F8E5ECE58FACF032E1E5FEB402AA +S3150000B1CC9FE0E530E3E5FEF602739FE4E58FD0E5FC +S3150000B1DCD1DD3191DD7891DD049161E89161F8EE74 +S3150000B1ECC2009161F8EEDA009161F8EE14019161FA +S3150000B1FCF8EEDC019161F8EE4F01CFD0E507F6BF12 +S3150000B20CD2E5EF488FE0E572914C02DE2A30D0078A +S3150000B21CBFDEE5E5D0E5304006BFD6E5F6BFD2E5A4 +S3150000B22CBFDCE5CFD1E5029261F8EEB901CFE7E5D7 +S3150000B23C0530F401EEB401F5D0E593DF64AFD2E549 +S3150000B24C448913DC5CF5D1E5FC0DF000EF5340E7C7 +S3150000B25CE504DC0630F401BFDAE58FE0E57391DD39 +S3150000B26C0C40E6E501DD06AFD6E5EE920093F7EF6E +S3150000B27C4643DF2DCFD0E505304006BFD6E5F6BFF9 +S3150000B28CD2E530F401BFDAE5EEB700AFD6E543DF21 +S3150000B29C10CFD0E50830F40122DCE5BFD2E5E5D1CC +S3150000B2ACE5EE770140E7E504DC0630F401BFDAE5AC +S3150000B2BCF740E0E501DFD430D007BFDEE5AFD6E5D9 +S3150000B2CCEFAF40EAE501DF28F5EAE5CFD0E503303C +S3150000B2DCD007BFDEE5304006BFD6E5F6BFD2E5BFE8 +S3150000B2ECDCE5CFD1E50230F401BFDAE5CFE7E505C1 +S3150000B2FC40E0E501DD4040E6E501DD3AAFE8E5F783 +S3150000B30CEF8C40EAE501DF28F5EAE5CFD0E503301E +S3150000B31CD007BFDEE5304006BFD6E5F6BFD2E5BFA7 +S3150000B32CDCE5CFD1E50230F401BFDAE5CFE7E50580 +S3150000B33C40E0E501EFC430D007BFDEE5304006BF84 +S3150000B34CD6E5CFD1E502EED2008FE0E54C01DF0D5C +S3150000B35C30D007BFDEE5CFD0E506EE1BFF4C02DF93 +S3150000B36C05E5D1E5EF3A40ECE501DF21F5ECE530FA +S3150000B37CD007BFDEE5CFD0E506304006BFD6E5F6F2 +S3150000B38CBFD2E530F401BFDAE5CFD1E502AFD2E5A5 +S3150000B39C44D107DC0BCFD0E507F6BFD2E5F5D1E5F6 +S3150000B3AC40EAE501DF48F5EAE5CFD0E50430D00701 +S3150000B3BCBFDEE5304006BFD6E5F6BFD2E5BFDCE51D +S3150000B3CCCFD1E50230F401BFDAE5CFE7E505EF4B67 +S3150000B3DC8FE0E572914C02DE1730D007BFDEE5CF69 +S3150000B3ECD0E502EE30FEF5E7E55014BFDAE5EF2BBB +S3150000B3FCAFD2E544D107DC2393DF17340603F6BF3F +S3150000B40CD2E5F5D1E5F510E5F511E5A96C03B9EE34 +S3150000B41C36FE30D007BFD2E5F5D1E5CF00E6365182 +S3150000B42CEE5F01E6708FE0E57391DF046071CA7020 +S3150000B43C609F01E651FB0FD0E54C028F03E6DE045C +S3150000B44C718AEF02718B9F03E6634C02D904E6DF27 +S3150000B45C06CF02E602EF0B93DF05E502E6EF03F5F6 +S3150000B46C02E6605C049F04E654083200E630F8E518 +S3150000B47CEC07F10077C3C4D5E2E5DF0CE5E2E5F6AF +S3150000B48CBFD2E5F512E5EF1AAFD2E544E903DE04C7 +S3150000B49C8991DF0E8991DFEBCA0000F6BFD2E5E594 +S3150000B4AC12E567D1DF05E5E5E5E1D7F14012E501E7 +S3150000B4BCDF0940E5E50161E85102D7F5E5E5D7146A +S3150000B4CCE60214E5BF14E5441F00DC2589D1DF171D +S3150000B4DC8F16E5819F16E54C04DC06CF16E503E1D5 +S3150000B4ECD7F6BF14E5EF0ACA0000F6BF14E5F51649 +S3150000B4FCE5F1D732360430F0E5FC06F200CF00E673 +S3150000B50C3651EE5F01E69F01E6710803E6F502E6A9 +S3150000B51C51045F04E69F04E654083200E630F8E571 +S3150000B52CEC07F100F508E651EE5F09E69F09E671B6 +S3150000B53C080BE6F50AE651045F0CE69F0CE6D7CF3E +S3150000B54CEEE50CFEADFFEFDCF6BF28E6BF2AE6F50E +S3150000B55C2CE6F173192DE60083634C03DFF5F53009 +S3150000B56CE6F1731931E60083634C04DFF5F535E635 +S3150000B57CF1731936E60083634C0ADFF5F540E6F6FF +S3150000B58CBF42E6F1731944E60083634C14DFF534CD +S3150000B59C5CE6325EE63060E6FC57E70091DF1AD5D2 +S3150000B5AC60E6E161E85102EB5CE69F2BE6AF5EE6F6 +S3150000B5BCBF28E6899F2AE6E1D7F1D7200414F19833 +S3150000B5CC00318E312D03B802A116894DDF11A78AE1 +S3150000B5DC014DDF0BA802040300168A024DDD0C8810 +S3150000B5EC008198004C0EDCD9C800FF88001004D7E7 +S3150000B5FCC79800C3C4F1735006D6051688004DDDF6 +S3150000B60C0883634C04DCEF53FF63C2D72006F56452 +S3150000B61CE64065E60261F8E57DE6E565E6CF66E6B9 +S3150000B62C04E567E6E568E6CF69E6038F2CE670313C +S3150000B63C732951400F2AE69800609801AF18E5125D +S3150000B64C9802629803AF1AE5129804629805AEF850 +S3150000B65C12300600FC86E900E1EF0AAEF812F6FCA1 +S3150000B66C86E9005102407DE601DF180401001461F1 +S3150000B67CD8A3134401001561F8448038DCEDCEAB39 +S3150000B68C00EFFB1006D72006E564E6308813BF6290 +S3150000B69CE64065E601DF29402BE602DF0DAEF81227 +S3150000B6ACF6FC86E90051021006D7D930E58F2AE65A +S3150000B6BCFECC083258E6300300FC86E900F1EFE7D1 +S3150000B6CCCF65E602CF66E604E567E6E568E6F5696A +S3150000B6DCE6CF0AE5A58F2CE670317334CF08E5A5C5 +S3150000B6ECCF09E507CF00E50651400F2AE69F01E595 +S3150000B6FC609F02E5AF18E5129F03E5629F04E5AF74 +S3150000B70C1AE5129F05E5629F06E5CF07E555EF0B97 +S3150000B71CF508E5AEF812F6FC86E900CEAB00EFFBB9 +S3150000B72C2006E564E6308813BF62E64065E604DD74 +S3150000B73C0EE567E6CF65E604E568E6CF69E603CF76 +S3150000B74C66E6048F2CE67031732951400F2AE69871 +S3150000B75C00609801AF18E5129802629803AF1AE5DB +S3150000B76C129804629805AEF812300600FC86E900C1 +S3150000B77CE1EF0AAEF812F6FC86E90051021006D784 +S3150000B78CC74065E601DF28402BE602DF0CAEF81257 +S3150000B79CF6FC86E9005102C2D7D92BE58F2AE6FEC4 +S3150000B7ACDD073258E6300300FC86E900F1C2D78F7C +S3150000B7BC2CE670317331CF08E5A5CF09E503CF0030 +S3150000B7CCE50251400F2AE69F01E5609F02E5CF0393 +S3150000B7DCE555CF04E555CF05E555CF06E555CF071D +S3150000B7ECE555CEAB00EFFBF508E5AEF812F6FC8698 +S3150000B7FCE900CEAB00EFFBC1200C8F6EE64C05DEEC +S3150000B80C4E819F6EE64C0571CA9F0EE5DF10301017 +S3150000B81C27BF70E6300300BF6AE6CF0DE513300490 +S3150000B82C00C1AEF8040A00B802340F00320018FC4E +S3150000B83CBCA800C08F6EE698088F6AE6980930049B +S3150000B84C00C1A802340F00320018FCE0A600C0AFFD +S3150000B85C6CE6F743DF04AF70E64361E8EEB20040F6 +S3150000B86C6EE605DF36F56EE6F50EE5300400C1AE84 +S3150000B87CF8040A00B802340F005318FCBCA800C028 +S3150000B88C8F6EE698088F6AE69809300400C1A80204 +S3150000B89C340F00320018FCE0A600C08F2CE6703185 +S3150000B8AC736051400F2AE698026098034066E604DE +S3150000B8BCDF1DFC76DB00B800BF1CE513BF1EE512CE +S3150000B8CC9804629805A800129806629807EF0CC8AF +S3150000B8DC0400C80500C80600C80700717072E68827 +S3150000B8EC0D74DB1EE5AF1CE5FC6BDC00BF74E613C8 +S3150000B8FCBF76E6AEF8A1A112300600FC86E900E19F +S3150000B90CEF0CAEF8A1A112F6FC86E9005102100E5E +S3150000B91CD7D92AE58F2AE6FE65063258E6300300AB +S3150000B92CFC86E900F1EFE73672E6C1200831F30A2E +S3150000B93CCF72E604D925E5EEFE00F56EE6F50EE5CA +S3150000B94CF173318E025CE6A1A114891831E683638A +S3150000B95C4C04DFEED932E68F34E698008F31E6429E +S3150000B96C76E6C0C18F33E661F84274E6340F0032D6 +S3150000B97C0018DF47F6BF6AE6F50DE55004C1AEF8D0 +S3150000B98C040600B802FCBCA800C08F6EE698048FB3 +S3150000B99C6AE69805300400C1A802340F003200187C +S3150000B9ACFCE0A600C088094C02DF06CF66E606EF6F +S3150000B9BC424C12DF3ECF66E607EF38E6026AE6BF78 +S3150000B9CC6AE66071CA9F0DE5300400C1AEF8040644 +S3150000B9DC00B802FCBCA800C08F6EE698048F6AE61D +S3150000B9EC9805300400C1A802340F00320018FCE0A0 +S3150000B9FCA600C0AF6AE6F743DF328F2CE6703173D0 +S3150000BA0C1C51400F2AE69802609803CF72E604AEEA +S3150000BA1CF8A1A112E6A1FC86E900E1EF0CAEF8A1B3 +S3150000BA2CA112F6FC86E9005102100AD7CF72E60481 +S3150000BA3C440300DE16D928E58F2AE6FE4105325866 +S3150000BA4CE6300300FC86E900F1EFDE301027BF6C10 +S3150000BA5CE6D929E5EFE220064079E601DF448F2C92 +S3150000BA6CE67031732A51400F2AE69800609801AFB0 +S3150000BA7C42E612609803139802C80404E57CE6E5D6 +S3150000BA8C79E6AEF812300500FC86E900E1EF10E528 +S3150000BA9C7CE6E579E6AEF812F6FC86E90051021072 +S3150000BAAC06D7D925E58F2AE6FED4043258E63003AC +S3150000BABC00FC86E900F1EFE78F7CE6D7D7D72006A6 +S3150000BACCD579E6DF388F2CE67031732451400F2A76 +S3150000BADCE69800609801AF42E6126098031398024C +S3150000BAECC80404AEF812300500FC86E900E1EF0A42 +S3150000BAFCAEF812F6FC86E90051021006D7D925E5F8 +S3150000BB0C8F2AE6FE79043258E6300300FC86E900FB +S3150000BB1CF1EFE72006D57AE6DF388F2CE670317325 +S3150000BB2C2451400F2AE69800609801AF42E6126055 +S3150000BB3C9803139802C80404AEF812300500FC866C +S3150000BB4CE900E1EF0AAEF812F6FC86E900510210A4 +S3150000BB5C06D7D925E58F2AE6FE24043258E63003AB +S3150000BB6C00FC86E900F1EFE72006D57BE6DF388F8F +S3150000BB7C2CE67031732451400F2AE6980060980128 +S3150000BB8CAF42E612609803139802C80404AEF8128A +S3150000BB9C300500FC86E900E1EF0AAEF812F6FC86E9 +S3150000BBACE90051021006D7D925E58F2AE6FECF0308 +S3150000BBBC3258E6300300FC86E900F1EFE720064038 +S3150000BBCC79E601DF388F2CE67031732451400F2A49 +S3150000BBDCE69800609801AF42E6126098031398024B +S3150000BBECC80404AEF812300500FC86E900E1EF0A41 +S3150000BBFCAEF812F6FC86E90051021006D7D925E5F7 +S3150000BC0C8F2AE6FE79033258E6300300FC86E900FB +S3150000BC1CF1EFE72006407AE601DF388F2CE670312B +S3150000BC2C732451400F2AE69800609801AF42E61241 +S3150000BC3C609803139802C80404AEF812300500FC91 +S3150000BC4C86E900E1EF0AAEF812F6FC86E90051022D +S3150000BC5C1006D7D925E58F2AE6FE23033258E6309F +S3150000BC6C0300FC86E900F1EFE72006407BE601DFE6 +S3150000BC7C388F2CE67031732451400F2AE6980060F9 +S3150000BC8C9801AF42E612609803139802C80404AEFA +S3150000BC9CF812300500FC86E900E1EF0AAEF812F660 +S3150000BCACFC86E90051021006D7D925E58F2AE6FE57 +S3150000BCBCCD023258E6300300FC86E900F1EFE7D7F7 +S3150000BCCCD7D7C7734065E604DF574C04DE3CD1DD9D +S3150000BCDC398F2CE67031734F51400F2AE69800606D +S3150000BCEC98015103612870634C03DF06609F68E678 +S3150000BCFCEF049160DF059F69E6EF039F68E6AEF8F7 +S3150000BD0C12E6A1FC86E900E1C2D7402BE602DD175C +S3150000BD1CD926E58F2AE6FE66023258E6300300EF96 +S3150000BD2C0A402BE602DF0CAEF812F6FC86E900514F +S3150000BD3C02C2D7D92BE5EFDBC78F2CE67031731C0B +S3150000BD4C51400F2AE69800609801F568E6F569E619 +S3150000BD5CAEF812E6A1FC86E900E1C2D7F568E6F575 +S3150000BD6C69E6AEF812F6FC86E9005102C2D7C78F17 +S3150000BD7C2CE6704C02DF13E568E6CF69E603AEF8F5 +S3150000BD8C12F6FC86E9005102C2D751400F2AE698FA +S3150000BD9C00609801E568E6CF69E603AEF812E6A105 +S3150000BDACFC86E900E1C2D7C78F2CE6704C02DF1384 +S3150000BDBCE568E6CF69E603AEF812F6FC86E90051B3 +S3150000BDCC02C2D751400F2AE69800609801E568E652 +S3150000BDDCCF69E603AEF812E6FC86E900E1C2D78F1E +S3150000BDEC69E6D78F68E6D751032F69E6D751032F3B +S3150000BDFC68E6D7C7308813BF62E68F2CE6703173BE +S3150000BE0C1651400F2AE69800609801AEF812E6A18A +S3150000BE1CFC86E900E1C2D7AEF812F6FC86E90051C1 +S3150000BE2C02C2D7308813BF62E6D7C7402BE602DFC3 +S3150000BE3C064065E604DF24E567E6FCC5E0008F2CCA +S3150000BE4CE67031731651400F2AE69800609801AEE1 +S3150000BE5CF812E6A1FC86E900E1C2D7AEF812F6FCB0 +S3150000BE6C86E9005102C2D7C7402BE602DF064065C1 +S3150000BE7CE604DF20F567E68F2CE670317316514029 +S3150000BE8C0F2AE69800609801AEF812E6A1FC86E946 +S3150000BE9C00E1C2D7AEF812F6FC86E9005102C2D711 +S3150000BEAC8F67E6D7D924E58F2AE6FED2003258E60C +S3150000BEBC300300FC86E900F1D7D924E58F2AE6FE8B +S3150000BECCBD003258E6300300FC86E900F1D7F56474 +S3150000BEDCE6E565E6CF66E604E567E6E568E6CF697E +S3150000BEECE603D7AF62E6F74361F8D7B1BF62E6D790 +S3150000BEFC2006AF6CE6F743DD3E04FFFFBF6CE6DFC2 +S3150000BF0C36F6BF6AE6F50DE55004C1AEF80404003A +S3150000BF1CB802340F005318FCBCA800C08F6EE6980C +S3150000BF2C028F6AE69803300400C1A802340F00326F +S3150000BF3C0018FCE0A600C0AF70E6F743DD3E04FF38 +S3150000BF4CFFBF70E6DF36F56EE6F50EE5300400C190 +S3150000BF5CAEF8040400B802340F005318FCBCA80059 +S3150000BF6CC08F6EE698028F6AE69803300400C1A86B +S3150000BF7C02340F00320018FCE0A600C01006D79F52 +S3150000BF8C59E6609F5AE6CF58E67FD7C3C12004F026 +S3150000BF9C609802880C6140DD238802318E12A80459 +S3150000BFAC168806318E0307B8008807318E030516EE +S3150000BFBC8B73C6C7639B88028170EFD51008D7D7E1 +S3150000BFCCD7C74078E603DF31AF28E6E743DF1551E4 +S3150000BFDC400F2AE69800AEF812E6FC86E900F578E2 +S3150000BFECE6F1C2D7D922E58F2AE6FE92FF3258E651 +S3150000BFFC300300FC86E900EFE8D925E5EFE92022BD +S3150000C00CE565E6CF66E604E567E6E568E6CF69E64C +S3150000C01C03F6BF6CE6BF6AE6CF72E6045004C13481 +S3150000C02C0F00320018AEF8A1A1FCBCA800C0880015 +S3150000C03C729F6EE6880173318E14BF6AE6624C07F6 +S3150000C04C61C8F56EE6634C05DC05F614BF6AE615A9 +S3150000C05C440300DC06301027BF6CE6F578E6E5797C +S3150000C06CE6E57AE6E57BE6F57CE61022D7AF62E6F6 +S3150000C07CD7308813BF62E6D78F64E6D78F65E6D7CD +S3150000C08C8F66E6D772F173500AD60449A116624D33 +S3150000C09CDD0883634C0CDCEE53FF63D7C7500AD61E +S3150000C0AC124944A19800FC88C0007088006158E1D0 +S3150000C0BC61F8F1C2D7C7500AD60445A11489980075 +S3150000C0CCFC8CC0007088006158E161F8F1C2D75051 +S3150000C0DC0AD60446A114895F2BE6E161F8F1D75024 +S3150000C0EC0AD60447A11489318E43E161F3F1D7C115 +S3150000C0FCF388016143DE14635006D60516629EFD75 +S3150000C10C880071FB114DDD0583EFE653FF63C2D743 +S3150000C11CC1C55006D61488029EFDA8000514A511AB +S3150000C12C89318E43E161E8F11004D7C1C3F388036A +S3150000C13C6143DE1963500AD6050404001688029E74 +S3150000C14CFD11AB16A8003747DD0583EFE153FF1051 +S3150000C15C0463D7C1500AD6051488009EFD11899830 +S3150000C16C00FC88C0007088006158E161F8F1C2D704 +S3150000C17CC1500AD61288009EFD150314A511899884 +S3150000C18C00FC8CC0007088006158E161F8F1C2D7E0 +S3150000C19C2008EB5CE6520F8A019F2CE67034BCA19A +S3150000C1AC5103FE4AFF98004CFFDF2B402BE602DFC3 +S3150000C1BC0DAEF8A112F6FC86E9005102EF15D92155 +S3150000C1CCE58F2AE6FC8BBF003258E6300300FC866E +S3150000C1DCE900F11008D7DB28E634BCA1500FFE2F7E +S3150000C1ECFF91DF1A88005006D604BCA11204040085 +S3150000C1FC14A3899EFCA31314A91661FAEFD5D922B0 +S3150000C20CE5EFBE2008EB5CE6520F8A019F2CE67028 +S3150000C21C34CEA15102FED7FE98004CFFDF2B402BEB +S3150000C22CE602DF0DAEF8A112F6FC86E9005102EF2C +S3150000C23C15D921E58F2AE6FC8BBF003258E6300370 +S3150000C24C00FC86E900F11008D7DB28E634CEA150B5 +S3150000C25C0FFEBCFE91DF1A88005006D604CEA11242 +S3150000C26C04040014A3899EFCA31314A91661FAEF07 +S3150000C27CD5D922E5EFBE208EAF28E61204FDFF4489 +S3150000C28C0900DE046275718C61C8EE630113311E00 +S3150000C29C609807D161F8EE57019F40E665718B31C6 +S3150000C2AC8EC1F19808E19803EB5CE6E3F23036E6D2 +S3150000C2BCFC97BF00C0F19803D540E661F8EEE200AA +S3150000C2CC8806738172345AA22936E6700936E6B8A6 +S3150000C2DC0A12300F18FE53FE98004CFF61F8EE9AC6 +S3150000C2EC00345AA2500FFE6AFE9161E8EE8C00886B +S3150000C2FC00345AA2500FFE77FE91DF7A8800500A5E +S3150000C30CD6045AA212040800141304060016899EB9 +S3150000C31CFCAB16AEF8040C0012040700B80861FA60 +S3150000C32CB040E64C01DF65AEF8042700B804880C73 +S3150000C33C9802C2C3A80A14A804161561D9836461AD +S3150000C34CD988010C029801F1980088027088006166 +S3150000C35C488801DD1B318E128800318E0312A80429 +S3150000C36C0314880073A8081661C999880081EFD850 +S3150000C37C61089801EF0DD927E5EF48B040E6880330 +S3150000C38C81980388060C029806EE2CFF730920E5AB +S3150000C39C708F2AE6FC8BBF003258E6300300FC8611 +S3150000C3ACE90088037088076140DF2C402BE602DF2A +S3150000C3BC0FAEF8040D0012F6FC86E9005102EF2DC3 +S3150000C3CCD926E58F2AE6FC8BBF003258E6300300EF +S3150000C3DCFC86E900F1EF1651400F2AE69827AEF8D5 +S3150000C3EC042700128801318EFC86E900E1108ED7F5 +S3150000C3FCD922E5EFCED72008EB5CE6520F8A019FD7 +S3150000C40C2CE67034ECA15102FEE4FC98004CFFDFE4 +S3150000C41C2C402BE602DF0EAEF8A1A112F6FC86E943 +S3150000C42C005102EF15D921E58F2AE6FC8BBF0032AD +S3150000C43C58E6300300FC86E900F11008D7DB28E645 +S3150000C44C34ECA1500FFEC8FC91DF1F88005006D6B5 +S3150000C45C04ECA1B8001204040016C48B9EFC13A1B4 +S3150000C46CA116C5AB168961FAEFD0D922E5EFB92032 +S3150000C47C08EB5CE6520F8A019F2CE67034F8A1514A +S3150000C48C03FE6BFC98004CFFDF2B402BE602DF0D06 +S3150000C49CAEF8A112F6FC86E9005102EF15D921E59A +S3150000C4AC8F2AE6FC8BBF003258E6300300FC86E987 +S3150000C4BC00F11008D7DB28E634F8A1500FFE50FC2B +S3150000C4CC91DF1F88005006D604F8A112040400144C +S3150000C4DCA3899EFCA31316EB5CE6AB168A0261FAE3 +S3150000C4ECEFD0D922E5EFB92010E6A1C1EB5CE6E36B +S3150000C4FCF23036E6FC97BF00C0D937E68F36E61227 +S3150000C50C344AA3300F07FE22FC98014CFF61F8EE6B +S3150000C51CC900318EB80214320A00CEFB02044CA3B9 +S3150000C52C16410F118B318E0403004228E661E8EEAA +S3150000C53CBF0015320A00CEFB02044CA314320003D2 +S3150000C54C899800318EC1EB5CE63044E6FC97BF005F +S3150000C55CC0880098048801344AA3500FFEF4FB915E +S3150000C56CDF798801344AA3500FFE04FC91DF67A8DB +S3150000C57C02320A00CEFB02044AA31204080014136A +S3150000C58C04060016899EFCAB16AEF80404001230A5 +S3150000C59C44E661FA4C01DF3751400F2AE698058FC5 +S3150000C5AC36E698068F37E69807AEF8040500123083 +S3150000C5BC0300FC86E900EF36D926E58F2AE6FC8BCC +S3150000C5CCBF003258E6300300FC86E900F1EF1F731A +S3150000C5DC0920E570EFE5D927E5EFE0402BE602DF11 +S3150000C5ECD7AEF804090012F6FC86E90051021010C9 +S3150000C5FCD7D922E5EFC5D924E58F2AE6FC8BBF00F7 +S3150000C60C3258E6300300FC86E900F1D7D924E58FD1 +S3150000C61C2AE6FC8BBF003258E6300300FC86E900A4 +S3150000C62CF1D7C7AF28E6440400DF67EB5CE68A0265 +S3150000C63C98008A03318E128800708A0114318D039A +S3150000C64C1215318E144480001361F8440000DD0C81 +S3150000C65C1544FF001361F844FFFFDF2EFC63E60070 +S3150000C66C918F2AE6DF100C409801AEF8A112E6FC79 +S3150000C67C86E900E1C2D7D924E5FC8BBF003258E627 +S3150000C68C300300FC86E900F1C2D7D926E58F2AE6ED +S3150000C69CEFE7D922E5EFF62008EB5CE6520F8A01AC +S3150000C6AC9F2CE67034DAA15103FE43FA98004CFF36 +S3150000C6BCDF2B402BE602DF0DAEF8A112F6FC86E965 +S3150000C6CC005102EF15D921E58F2AE6FC8BBF00320B +S3150000C6DC58E6300300FC86E900F11008D7DB28E6A3 +S3150000C6EC34DAA1500FFE28FA91DF1A88005006D6CC +S3150000C6FC04DAA11204040014A3899EFCA31314A942 +S3150000C70C1661FAEFD5D922E5EFBE200CE6A1C1EBF6 +S3150000C71C5CE6E3F23036E6FC97BF00C0D937E68F0D +S3150000C72C36E6123428A2300F05FEFFF998004CFFAE +S3150000C73C61F8EED100318EB802320A00CEFB02044B +S3150000C74C2AA214320003899801318EC1EB5CE630C3 +S3150000C75C44E6FC97BF00C088003428A2500FFEF2B6 +S3150000C76CF99161E8EE8A0088003428A2500FFEFF8A +S3150000C77CF991DF6588019804A802320A00CEFB0203 +S3150000C78C0428A212040800141304060016899EFC41 +S3150000C79CAB16AEF8040400123044E661FA4C01DF25 +S3150000C7AC3151400F2AE698058F36E698068F37E604 +S3150000C7BC98078F44E698088F45E698098F46E698C1 +S3150000C7CC0A8F28E6759804AEF80405001265318EBA +S3150000C7DCEF17730920E570EF03D927E58F2AE6FCDE +S3150000C7EC8BBF003258E6300300FC86E900F1100CD2 +S3150000C7FCD7402BE602DF0FAEF804050012F6FC86D6 +S3150000C80CE9005102EFE8D926E5EFD1EB5CE6200C06 +S3150000C81C8A03708A02B802BF42E68A019F2CE6F1AF +S3150000C82C9800318EB80414320600CEFB0204DAA34B +S3150000C83C16410FA8021211AB438800DD1E81980029 +S3150000C84CDDE0402BE60261E8EEFF00AEF8040600E0 +S3150000C85C12F6FC86E9005102EEEC0081DDE415329D +S3150000C86C0600CEFB0212410F1149D8A39800FC8892 +S3150000C87CC0007088006158DF0B402BE602DDCCD976 +S3150000C88C26E5EF64A804320600CEFB0204D9A314F5 +S3150000C89C410F11899800FC8CC0007088006158DF2C +S3150000C8AC05D927E5EF428F2CE69803F19802318ED5 +S3150000C8BC14320600CEFB0216A804320600CEFB028A +S3150000C8CC04DCA3B800410FA80037116109001688D3 +S3150000C8DC0371FB4D8802DD128198024C03DCCF40BC +S3150000C8EC2BE602DD98D921E5EF4B81DDF2153206F8 +S3150000C8FC00CEFB0212410FC6C7131161090016A721 +S3150000C90C8B318E4228E6DF2A15320600CEFB021446 +S3150000C91CA804320600CEFB0204DCA316156109003E +S3150000C92C1204040014A3899EFCA31314A91661FA1D +S3150000C93CEF15D922E58F2AE6FC8BBF003258E6307C +S3150000C94C0300FC86E900F1100CD7D930E5EFE620A0 +S3150000C95C08EB5CE6520F8A019F2CE670340AA2E1C2 +S3150000C96CFE8CF798004CFFDF2B402BE602DF0DAE5A +S3150000C97CF8A112F6FC86E9005102EF15D921E58FD4 +S3150000C98C2AE6FC8BBF003258E6300300FC86E90031 +S3150000C99CF11008D7DB28E6340AA2500FFE71F79186 +S3150000C9ACDF1A88005006D6040AA21204040014A347 +S3150000C9BC899EFCA31314A91661FAEFD5D922E5EFCB +S3150000C9CCBEEB5CE620088A019F2CE6FC88C0004C76 +S3150000C9DC04DF5DD92CE63410A2520F5102FE0FF77C +S3150000C9EC98004CFFDF1D402BE602DD4AD921E58F6E +S3150000C9FC2AE6FC8BBF003258E6300300FC86E900C1 +S3150000CA0CF1EF3EDB28E63410A2500FFE02F791DF61 +S3150000CA1C1A88005006D60410A21204040014A38926 +S3150000CA2C9EFCA31314A91661FAEF16D922E5EFBFE3 +S3150000CA3C402BE602DF0EAEF8A112F6FC86E9005199 +S3150000CA4C021008D7D92BE58F2AE6FC8BBF0032588B +S3150000CA5CE6300300EFE5C3C1C7AEF8FC54D700912E +S3150000CA6CDF0FA80214880099A80414E1CA0001EF8C +S3150000CA7C0251041006D7C3C1C7AEF8FC62D70091A9 +S3150000CA8CDF0FA80214880099A80414E1CA0001EF6C +S3150000CA9C0251041006D7C1C3200CAEF8040400B82A +S3150000CAAC02FC70D70091DF24F19800318E12A80E8B +S3150000CABC0314880073A8021661C999836398004C05 +S3150000CACC08DFE8A80C14E1CA0008EF0251041010A4 +S3150000CADCD7C1C3200AFC2ADA00D1DD2DF19800A8B3 +S3150000CAEC0A1688004DDE16318E12A80C0314AEF809 +S3150000CAFCA1A1168800738961D98363EFE0AEF8A112 +S3150000CB0CA1FC2CDA0091E161E85104100ED7C1C3E7 +S3150000CB1C200CAEF8040400B802FC87D70091DF2481 +S3150000CB2CF19800318E12A80E0314880073A8021611 +S3150000CB3C61C999836398004C08DFE8A80C14E1CA14 +S3150000CB4C0008EF0251041010D7C1C3200AFC2ADAE0 +S3150000CB5C00D1DD2DF19800A80A1688004DDE16319D +S3150000CB6C8E12A80C0314AEF8A1A116880073896165 +S3150000CB7CD98363EFE0AEF8A1A1FC53DA0091E16131 +S3150000CB8CE85104100ED7C1C3200EAEF8040400B849 +S3150000CB9C02FC9ED70091DF24F19800318E12A8106A +S3150000CBAC0314880073A8021661C999836398004C14 +S3150000CBBC0ADFE8A80E14E1CA000AEF0251041012AB +S3150000CBCCD7C1C32014AEF8040400B802FCBFD700CA +S3150000CBDC91DF24F19800318E12A816031488007385 +S3150000CBECA8021661C999836398004C10DFE8A81453 +S3150000CBFC14E1CA0010EF0251041018D7C1C3201457 +S3150000CC0CAEF8040400B802FC23D80091DF24F19896 +S3150000CC1C00318E12A8160314880073A8021661C977 +S3150000CC2C99836398004C0FDFE8A81414E1CA000F2F +S3150000CC3CEF0251041018D7C1C32010AEF80404003B +S3150000CC4CB802FC25D80091DF24F19800318E12A889 +S3150000CC5C120314880073A8021661C999836398009D +S3150000CC6C4C0CDFE8A81014E1CA000CEF02510410BA +S3150000CC7C14D7C3C1C7AEF8FC27D80091DF0FA802A2 +S3150000CC8C14880099A80414E1CA0001EF025104109B +S3150000CC9C06D7C1C32012AEF8040400B802FC53D860 +S3150000CCAC0091DF24F19800318E12A8140314880029 +S3150000CCBC73A8021661C999836398004C0DDFE8A826 +S3150000CCCC1214E1CA000DEF0251041016D7C1C3208D +S3150000CCDC14AEF8040400B802FC7DD80091DF24F1F0 +S3150000CCEC9800318E12A8160314880073A8021661D8 +S3150000CCFCC999836398004C0FDFE8A81414E1CA00A5 +S3150000CD0C10EF0251041018D7C1C3200AAEF8040460 +S3150000CD1C00B802FCB0D80091DF24F19800318E12D5 +S3150000CD2CA80C0314880073A8021661C9998363982A +S3150000CD3C004C05DFE8A80A14E1CA0005EF0251040D +S3150000CD4C100ED7C1C32008AEF8040400B802FCC20A +S3150000CD5CD80091DF24F19800318E12A80A031488AA +S3150000CD6C0073A8021661C999836398004C04DFE826 +S3150000CD7CA80814E1CA0004EF025104100CD7C1C371 +S3150000CD8C2016AEF8040400B802FCCDD80091DF24BE +S3150000CD9CF19800318E12A8180314880073A8021695 +S3150000CDAC61C999836398004C11DFE8A81614E1CA8F +S3150000CDBC0011EF025104101AD7C1C32016FC2ADA4F +S3150000CDCC00D1DD2DF19800A8161688004DDE16311F +S3150000CDDC8E12A8180314AEF8A1A1168800738961E7 +S3150000CDECD98363EFE0AEF8A1A1FC7ADA0091E16198 +S3150000CDFCE85104101AD7C1C32014AEF8040400B8C5 +S3150000CE0C02FCE3D80091DF24F19800318E12A816AB +S3150000CE1C0314880073A8021661C999836398004CA1 +S3150000CE2C0ADFE8A81414E1CA000AEF02510410182C +S3150000CE3CD7C1C32010AEF8040400B802FC04D90014 +S3150000CE4C91DF24F19800318E12A812031488007316 +S3150000CE5CA8021661C999836398004C0CDFE8A810E8 +S3150000CE6C14E1CA000CEF0251041014D7C1C3200EF2 +S3150000CE7CAEF8040400B802FC06D90091DF24F19840 +S3150000CE8C00318E12A8100314880073A8021661C90B +S3150000CE9C99836398004C0ADFE8A80E14E1CA000ACD +S3150000CEACEF0251041012D7C1C32010AEF8040400CF +S3150000CEBCB802FC46D90091DF24F19800318E12A8F5 +S3150000CECC120314880073A8021661C999836398002B +S3150000CEDC4C0CDFE8A81014E1CA000CEF0251041048 +S3150000CEEC14D7C1C32012AEF8040400B802FC48D90A +S3150000CEFC0091DF24F19800318E12A81403148800D7 +S3150000CF0C73A8021661C999836398004C0DDFE8A8D3 +S3150000CF1C1214E1CA000DEF0251041016D7C1C3203A +S3150000CF2C0AFC2ADA00D1DD2DF19800A80A16880031 +S3150000CF3C4DDE16318E12A80C0314AEF8A1A116887C +S3150000CF4C00738961D98363EFE0AEF8A1A1FCA0DA86 +S3150000CF5C0091E161E85104100ED7C3C12016AEF85A +S3150000CF6C040600B804FC4ED90091DF41F19800315B +S3150000CF7C8EB80212A8160314880073A8041661C989 +S3150000CF8C99A802071631F514F177318E12A81603FB +S3150000CF9C1487CA0000674C10DFF0EF088363980013 +S3150000CFAC4C10DCCBA81814E1CA0010EF0251041087 +S3150000CFBC1AD7C1C32014FC2ADA00D15104DD39F189 +S3150000CFCC9802A8141688024DDE1F318E12A816037D +S3150000CFDCB800AEF804030016C4C58802738961D97B +S3150000CFECC6C731F3168363EFD7AEF8040300FCC74C +S3150000CFFCDA0091E161E851041018D75106EFF9C136 +S3150000D00CC32008AEF8040400B802FC65D90091DF11 +S3150000D01C24F19800318E12A80A0314880073A80212 +S3150000D02C1661C999836398004C04DFE8A80814E1DB +S3150000D03CCA0004EF025104100CD7C1C32006FC2A07 +S3150000D04CDA00D1DD2DF19800A8061688004DDE1603 +S3150000D05C318E12A8080314AEF8A1A11688007389A4 +S3150000D06C61D98363EFE0AEF8A1A1FCEEDA0091E1A1 +S3150000D07C61E85104100AD7C1C32008AEF8040400B5 +S3150000D08CB802FC7CD90091DF24F19800318E12A8ED +S3150000D09C0A0314880073A8021661C9998363980061 +S3150000D0AC4C04DFE8A80814E1CA0004EF025104108E +S3150000D0BC0CD7C1C32006FC2ADA00D1DD2DF198006D +S3150000D0CCA8061688004DDE16318E12A8080314AE7B +S3150000D0DCF8A1A1168800738961D98363EFE0AEF8D5 +S3150000D0ECA1A1FC15DB0091E161E85104100AD7C33C +S3150000D0FCC1C7AEF8FC93D90091DF0FA802148800C3 +S3150000D10C99A80414E1CA0001EF0251041006D7C312 +S3150000D11CC1C7AEF8FCA1D90091DF0FA80214880094 +S3150000D12C99A80414E1CA0001EF0251041006D7C3F2 +S3150000D13CC1C7AEF8FCAFD90091DF0FA80214880066 +S3150000D14C99A80414E1CA0001EF0251041006D7C3D2 +S3150000D15CC1C7AEF8FCBED90091DF0FA80214880037 +S3150000D16C99A80414E1CA0001EF0251041006D7C3B2 +S3150000D17CC1C7AEF8FCCDD90091DF0FA80214880008 +S3150000D18C99A80414E1CA0001EF0251041006D7C392 +S3150000D19CC1C7AEF8FCDCD90091DF0FA802148800D9 +S3150000D1AC99A80414E1CA0001EF0251041006D7C372 +S3150000D1BCC1C7AEF8FCEBD90091DF0FA802148800AA +S3150000D1CC99A80414E1CA0001EF0251041006D7C154 +S3150000D1DCC3200AFC2ADA00D1DD2DF19800A80A1624 +S3150000D1EC88004DDE16318E12A80C0314AEF8A1A1E0 +S3150000D1FC168800738961D98363EFE0AEF8A1A1FCB0 +S3150000D20C3CDB0091E161E85104100ED7C1C3200A42 +S3150000D21CFC2ADA00D1DD2DF19800A80A1688004DFB +S3150000D22CDE16318E12A80C0314AEF8A1A1168800D6 +S3150000D23C738961D98363EFE0AEF8A1A1FC47DB00EB +S3150000D24C91E161E85104100ED7C1C3200AFC2ADA19 +S3150000D25C00D1DD2DF19800A80A1688004DDE163196 +S3150000D26C8E12A80C0314AEF8A1A11688007389615E +S3150000D27CD98363EFE0AEF8A1A1FC52DB0091E1612A +S3150000D28CE85104100ED7C1C3200AFC2ADA00D1DDFE +S3150000D29C2DF19800A80A1688004DDE16318E12A8BC +S3150000D2AC0C0314AEF8A1A1168800738961D98363A7 +S3150000D2BCEFE0AEF8A1A1FC5EDB0091E161E8510460 +S3150000D2CC100ED7C1C3200AFC2ADA00D1DD2DF19845 +S3150000D2DC00A80A1688004DDE16318E12A80C03140F +S3150000D2ECAEF8A1A1168800738961D98363EFE0AE0D +S3150000D2FCF8A1A1FC6ADB0091E161E85104100ED79C +S3150000D30CC1C32008AEF8040400B802FCFAD9009197 +S3150000D31CDF24F19800318E12A80A0314880073A832 +S3150000D32C021661C999836398004C03DFE8A80814B8 +S3150000D33CE1CA0003EF025104100CD7C1C32006FC4E +S3150000D34C2ADA00D1DD2DF19800A8061688004DDEEC +S3150000D35C16318E12A8080314AEF8A1A11688007314 +S3150000D36C8961D98363EFE0AEF8A1A1FCFCD90091E9 +S3150000D37CE161E85104100AD7C1C32010AEF80404C9 +S3150000D38C00B802FCFED90091DF24F19800318E1210 +S3150000D39CA8120314880073A8021661C999836398AE +S3150000D3AC004C0CDFE8A81014E1CA000CEF02510483 +S3150000D3BC1014D7C1C3200CAEF8040400B802FC004C +S3150000D3CCDA0091DF24F19800318E12A80E0314882E +S3150000D3DC0073A8021661C999836398004C07DFE8AD +S3150000D3ECA80C14E1CA0007EF0251041010D7C1C3F0 +S3150000D3FC200AFC2ADA00D1DD2DF19800A80A16883D +S3150000D40C004DDE16318E12A80C0314AEF8A1A1162F +S3150000D41C8800738961D98363EFE0AEF8A1A1FC02A1 +S3150000D42CDA0091E161E85104100ED7C1C32008AEB1 +S3150000D43CF8040400B802FC04DA0091DF24F1980029 +S3150000D44C318E12A80A0314880073A8021661C999B2 +S3150000D45C836398004C03DFE8A80814E1CA0003EFC5 +S3150000D46C025104100CD7C1C32006FC2ADA00D1DD08 +S3150000D47C2DF19800A8061688004DDE16318E12A8DE +S3150000D48C080314AEF8A1A1168800738961D98363C9 +S3150000D49CEFE0AEF8A1A1FC06DA0091E161E85104D7 +S3150000D4AC100AD7C3C1C7AEF8FC08DA0091DF0FA883 +S3150000D4BC0214880099A80414E1CA0001EF02510471 +S3150000D4CC1006D7C1C32006AEF8040400B802FC0A45 +S3150000D4DCDA0091DF24F19800318E12A80803148823 +S3150000D4EC0073A8021661C999836398004C02DFE8A1 +S3150000D4FCA80614E1CA0002EF025104100AD7C1C3F0 +S3150000D50C2006AEF8040400B802FC0CDA0091DF2405 +S3150000D51CF19800318E12A8080314880073A802161D +S3150000D52C61C999836398004C02DFE8A80614E1CA26 +S3150000D53C0002EF025104100AD7C3C1C7AEF8FC0EA5 +S3150000D54CDA0091DF0FA80214880099A80414E1CA26 +S3150000D55C0001EF0251041006D7C1C32006AEF80431 +S3150000D56C0400B802FC10DA0091DF24F19800318E29 +S3150000D57C12A8080314880073A8021661C99983635C +S3150000D58C98004C02DFE8A80614E1CA0002EF02512B +S3150000D59C04100AD7C3C1C7AEF8FC12DA0091DF0F2C +S3150000D5ACA80214880099A80414E1CA0001EF0251DC +S3150000D5BC041006D7C3C1C7AEF8FC14DA0091DF0F0E +S3150000D5CCA80214880099A80414E1CA0001EF0251BC +S3150000D5DC041006D7C1C32006AEF8040400B802FC3A +S3150000D5EC16DA0091DF24F19800318E12A808031484 +S3150000D5FC880073A8021661C999836398004C02DFF0 +S3150000D60CE8A80614E1CA0002EF025104100AD7C1B9 +S3150000D61CC32008AEF8040400B802FC18DA0091DF47 +S3150000D62C24F19800318E12A80A0314880073A802FC +S3150000D63C1661C999836398004C04DFE8A80814E1C5 +S3150000D64CCA0004EF025104100CD7C1C3200CAEF86B +S3150000D65C040400B802FC1ADA0091DF24F1980031B8 +S3150000D66C8E12A80E0314880073A8021661C999833A +S3150000D67C6398004C08DFE8A80C14E1CA0008EF0216 +S3150000D68C51041010D7C32004C1AEF8A1A1FC1CDABA +S3150000D69C0091DF0EC4C5880299A80614E1CA0001E0 +S3150000D6ACEF0251041008D7C1C32008AEF8040400D9 +S3150000D6BCB802FC1EDA0091DF24F19800318E12A814 +S3150000D6CC0A0314880073A8021661C999836398002B +S3150000D6DC4C02DFE8A80814E1CA0002EF025104105C +S3150000D6EC0CD7C32004C1AEF8A1A1FC20DA0091DF4F +S3150000D6FC0EC4C5880299A80614E1CA0001EF0251AE +S3150000D70C041008D7C32004C1AEF8A1A1FC22DA008C +S3150000D71C91DF0EC4C5880299A80614E1CA0001EF70 +S3150000D72C0251041008D7C32004C1AEF8A1A1FC24F1 +S3150000D73CDA0091DF0EC4C5880299A80614E1CA0066 +S3150000D74C01EF0251041008D7144101118F00A09962 +S3150000D75C81E161F8F1D7144101118F08A09981E19B +S3150000D76C61F8F1D7C15105FC56DE0072A8005308CA +S3150000D77CFC1FDE00D1E161E8F1C2D7C15105FC56B0 +S3150000D78CDE0072A8005308FC1FDE00D1E161E8F14F +S3150000D79CC2D714E1CA0054CA014FCA024ECA034783 +S3150000D7ACCA0459CA0555CA062DCA0753CA0843CA1C +S3150000D7BC094DD7144101118F209C99118F219C9AE8 +S3150000D7CC01118F229C9A02118F239C9A03118F248C +S3150000D7DC9C9A04118F259C9A05118F269C9A0611EA +S3150000D7EC8F279C9A07118F289C9A08118F299C9A2F +S3150000D7FC09118F2A9C9A0A118F2B9C9A0B118F2C2C +S3150000D80C9C9A0C118F2D9C9A0D118F2E9C9A0E1191 +S3150000D81C8F2F9C9A0FE1D7E1D7E1D7C1FC88C000C6 +S3150000D82C734C01DF07C4C5CA0001EF144C02DF07B5 +S3150000D83CC4C5CA0002EF094C04DF05C4C5CA0003FF +S3150000D84C83E161F8F1C2D714E1CA0052CA0146CA93 +S3150000D85C0230CA0331CA042DCA0536CA0638CA07AD +S3150000D86C30CA0831CA0933CA0A32CA0B30CA0C305C +S3150000D87CD714CA0043CA0134CA0230CA0320CA04E8 +S3150000D88C20CA0520CA0620CA0720CA0820CA0920B1 +S3150000D89CCA0A20CA0B20CA0C20CA0D20CA0E20CADE +S3150000D8AC0F20E1D714E1CA0043CA014CCA0231CA9F +S3150000D8BC0337CA0437D714A1CA0020FC9ADE00E14C +S3150000D8CCD7C1E1FC56DE0072A8005311FC1FDE0026 +S3150000D8DCD1E161E8F1C2D714E1CA0031CA012ECAFE +S3150000D8EC0231CA032ECA0431CA0520CA0620CA0749 +S3150000D8FC20CA0820CA0920D7E1D7144101118F008C +S3150000D90C9C99118F019C9A01118F029C9A02118F7E +S3150000D91C039C9A03118F049C9A04118F059C9A05FB +S3150000D92C118F069C9A06118F079C9A07118F089CDB +S3150000D93C9A08118F099C9A09E1D7E1D7FC70DE0091 +S3150000D94CE1D7C15102FC56DE0072A8005310FC1F31 +S3150000D95CDE00D1E161E8F1C2D7C15103FC56DE000D +S3150000D96C72A8005304FC1FDE00D1E161E8F1C2D7B6 +S3150000D97CC15104FC56DE0072A8005304FC1FDE00E5 +S3150000D98CD1E161E8F1C2D7C1F1FC87DC0073C4C5F3 +S3150000D99C6399E1C2D7C1E1FC87DC0073C4C5639906 +S3150000D9ACE1C2D7C15102FC87DC0073C4C56399E19F +S3150000D9BCC2D7C15103FC87DC0073C4C56399E1C2AD +S3150000D9CCD7C15104FC87DC0073C4C56399E1C2D787 +S3150000D9DCC15106FC87DC0073C4C56399E1C2D7C18B +S3150000D9EC5107FC87DC0073C4C56399E1C2D7E1D744 +S3150000D9FCE1D7E1D7E1D7E1D7E1D7E1D7E1D7E1D755 +S3150000DA0CE1D7E1D7E1D7E1D7E1D7E1D7E1D7E1D744 +S3150000DA1CE1D7E1D7E1D7E1D7FC01F100E1D7E1D7B6 +S3150000DA2C14F173318E05168B1831E583634C08DFC0 +S3150000DA3CF25105FC56DE007253083031E5FCEFDC82 +S3150000DA4C00D1E161E8F1D714F173318E05168B180C +S3150000DA5C31E583634C08DFF25105FC56DE00725348 +S3150000DA6C083031E5FCEFDC00D1E161E8F1D714F1C7 +S3150000DA7C73318E05168B1831E583634C11DFF2E199 +S3150000DA8CFC56DE007253113031E5FCEFDC00D1E1BF +S3150000DA9C61E8F1D714F173318E05168B1831E583D5 +S3150000DAAC634C08DFF25105FC56DE00725308303128 +S3150000DABCE5FCEFDC00D1E161E8F1D714F173318EAE +S3150000DACC05168B1831E583634C10DFF25102FC56B8 +S3150000DADCDE007253103031E5FCEFDC00D1E161E879 +S3150000DAECF1D714F173318E05168B1831E583634C1F +S3150000DAFC04DFF25103FC56DE007253043031E5FCB0 +S3150000DB0CEFDC00D1E161E8F1D714F173318E051623 +S3150000DB1C8B1831E583634C04DFF25104FC56DE00AE +S3150000DB2C7253043031E5FCEFDC00D1E161E8F1D74A +S3150000DB3C148A0170F1FC96DC00E1D7148A0170E1BD +S3150000DB4CFC96DC00E1D7148A01705102FC96DC00CD +S3150000DB5CE1D7148A01705103FC96DC00E1D7148AD4 +S3150000DB6C01705105FC96DC00E1D7EC4FDE00200479 +S3150000DB7C14627C439802157C5098005C0F77137CDA +S3150000DB8C52768802706612314E605CF0610F980115 +S3150000DB9C314C8800F031CE0360775C0F9800647CC2 +S3150000DBACAA735CF07266F031CE6075675CF07065D6 +S3150000DBBC610031486261636312C0C188025CF06126 +S3150000DBCC08708801100408D720041660313A7CAA24 +S3150000DBDC703159980260313A751331BE607C52F03F +S3150000DBEC313E60610D98011731BE607C50F0755C5A +S3150000DBFC077065719A5CFA980062313A7C43755CE1 +S3150000DC0C5861087088000812880270655C1F6108EC +S3150000DC1C708801100408D7C7C3147C50775C037056 +S3150000DC2C627C40735CFC6108980363316A980264F9 +S3150000DC3C7CAA73312A723168A8007C52F0755C3F5D +S3150000DC4C610B980067F0312E60610A70880008122B +S3150000DC5C880270655CFC6108708803100408D7168E +S3150000DC6C644C01DF0417EE05FF4C03DF0417EE5777 +S3150000DC7CFF4C11DF0317EF9FD7D7D74C08DC02F107 +S3150000DC8CD75002D604A7E61489D7C15002D604A6EB +S3150000DC9CE6148800CA0001A599C0D7F1D7C3BFB650 +S3150000DCACE6C5C2511F5FB9E69FB9E6AFB8E6F05CB0 +S3150000DCBCE0BFB8E651806FBDE65C8F9FBDE6AFBC9A +S3150000DCCCE6F05CF0BFBCE6F6BFBAE6C4C530BEE60D +S3150000DCDCFC07F10030B6E6FC21AB00F743E161F836 +S3150000DCECF1C2D7C1205663980092DD1392DD4D9296 +S3150000DCFC61F8EE87009261F8EEC1001058F1D7304A +S3150000DD0C5000C1AEF8040800B806340F00320014F7 +S3150000DD1CFCBCA800C08800318EB802F6B800A80278 +S3150000DD2C12A80043DD3BA80414A80012F10516A89E +S3150000DD3C5614A3899BA515B85613EFE0305000C1B5 +S3150000DD4CAEF8040800B806340F00320014FCBCA868 +S3150000DD5C00C08800318EB802F6B800A80212A800DE +S3150000DD6C43DD3EA80414A80012F10504400016A8D1 +S3150000DD7C5614A3899BA515B85613EFDD305000C178 +S3150000DD8CAEF8040800B806340F00320014FCBCA828 +S3150000DD9C00C08800318EB802F6B800A80212A8009E +S3150000DDAC43DD59A80414A80012F10504300016A886 +S3150000DDBC5614A3899BA515B85613EFDD305000C138 +S3150000DDCCAEF8040800B806340F00320014FCBCA8E8 +S3150000DDDC00C08800318EB802F6B800A80212A8005E +S3150000DDEC43DD19A80414A80012F10504380016A87E +S3150000DDFC5614A3899BA515B85613EFDD305000C1F8 +S3150000DE0C340F00320014AEF8040800FCE0A600C083 +S3150000DE1CEEE8FE146392DD0B92DD0D92DD0F92DDC2 +S3150000DE2C1DF1D7320014EF08322014EF03323014F0 +S3150000DE3C318EC115340F00FCBCA800C0EFE332389C +S3150000DE4C14EFEDDB98F0AF96F0D773091FA4D71437 +S3150000DE5CF1734101318E05161109009C9B83634CAD +S3150000DE6C10DFEFD714F1734101318E05161109102D +S3150000DE7C9C9B83634C0DDFEFD714F1734101318EFC +S3150000DE8C051611091D9C9B83634C10DFEFD714CA32 +S3150000DE9C0018CA0106CA0215D7D7D7D7F1D7F1D7BA +S3150000DEACF1D7D7D7148F04F199D7F6BFCCE6BFCAF2 +S3150000DEBCE6BFCEE6BFD2E6BFD4E6BFD6E6F5D0E6E1 +S3150000DECCF5D9E6F5D1E6F5D8E6D7F5C8E6D7E5C82F +S3150000DEDCE6D7E5C6E6CFC7E602FECEFFE5C8E6D72F +S3150000DEECF1D76FC9E69FC9E6F1D77CFF5FC9E69FFC +S3150000DEFCC9E6F1D7148FC9E699F1D7F1D7148FC6B5 +S3150000DF0CE699F1D7148FC7E699F1D7C79800FC9517 +S3150000DF1CE00088009FC7E6F1C2D7C5C3C1C78F38DA +S3150000DF2CA49801D1DD76F1980088017088006148CB +S3150000DF3CDE6A318E14320C00CEFB02043CA416A809 +S3150000DF4C04614900DD05880081EFDC15320C00CE3A +S3150000DF5CFB02043EA4168802320C004D15CEFB02C1 +S3150000DF6CDF0F043CA412040600B80013040400EFEF +S3150000DF7C0D043CA412040A00B8001304080016C4CD +S3150000DF8CAB16C58973318E0761F8DE10639EFCA84B +S3150000DF9C0614A80412880270880361FA1008D7C503 +S3150000DFACC3C12004FC7AE000A80814880672A804F1 +S3150000DFBCFCA9DC009807FC7EE00088079161E8EE7E +S3150000DFCCA600F198004F39A461C8EE9B00318E145F +S3150000DFDC321600CEFB020454A416A804614900DDD7 +S3150000DFEC05880081EFDD15321600CEFB020468A40D +S3150000DFFC14320C0089318E16CEFB0204CEE614A820 +S3150000E00C04B9A5A5880699F1980488067088043287 +S3150000E01C0C006148DD23318E14A80805B80217CE12 +S3150000E02CFB0204CEE605040300B800A802148973AB +S3150000E03CC4C56399880481EFCF17CEFB0204D9E6D9 +S3150000E04C1466CA000173E6D3EF020193DFFC1231AA +S3150000E05CFF6FCDE6086FCCE608BFCCE6136FCBE6B8 +S3150000E06C086FCAE608BFCAE68807100AD7D7717BBD +S3150000E07CFAD7717AFAD7D7D7CFDAE602F5DBE6E527 +S3150000E08CDCE6D7148FDAE699D7C798004C01DF0B7C +S3150000E09CFCC3E00088009FDAE6C0D74C02DFFAFC2E +S3150000E0ACC4E000EFEF148FDBE699D7F5DBE6D7D7A4 +S3150000E0BC148FDCE699D7D7D7D720225108FC56DE29 +S3150000E0CC0072AEF8040600B804531CFC1FDE00F107 +S3150000E0DC9802318E01B80012A8040314897381A822 +S3150000E0EC00DF0904DFE614CA0001EF333348DEE62D +S3150000E0FC31330639DFE601EF2613086C010812A846 +S3150000E10C0403168B819B4C28DC0FCA0000CC00FF45 +S3150000E11C8802FEA600C2C3EFDAC2C339DFE6008866 +S3150000E12C028198024C0EDFAA5108FC56DE0072538F +S3150000E13C1CAEF8040600FCEFDC001022D730DC0520 +S3150000E14CBFFAE630F401BFFCE6EE6DFFAFFAE6F778 +S3150000E15C43DD04B1BFFAE6FCA7DC00D1DF0DAFFC52 +S3150000E16CE6F74361F8D7B1BFFCE6D730F401EFF719 +S3150000E17C2008735002D604DEE614B804896C09999B +S3150000E18CA589D1DF031008D7CA0000630C089802D2 +S3150000E19CFC56DE0072AEF8040600B8005302FC1FF3 +S3150000E1ACDE00A80414895C0898068802FC56DE007A +S3150000E1BC72A8005302FCEFDC00EFCA5002D604DE54 +S3150000E1CCE6167183D7AFFAE6F743DF16AFFCE643E4 +S3150000E1DCDF10FCA5DE00D1DD09510DFE92FF7108A2 +S3150000E1ECF8E6FCEBBD00311301D7E1FC86DC00D16F +S3150000E1FC5104DF05FEC4FFEF03FE74FF5102FC86DB +S3150000E20CDC00D15107DF05FEB1FFEF03FE61FF51C4 +S3150000E21C03FC86DC00D1510ADF05FE9EFFEF03FEF0 +S3150000E22C4EFF8F08E74C28DE05819F08E7D7F508D7 +S3150000E23CE7F1FC85DC004CA18FFEE6DC104C32DEEF +S3150000E24C06819FFEE6EF1BE1FE25FFEF15D1DF06EB +S3150000E25CE1FE67FFEF0C919FFEE64C2661C8CFFEF0 +S3150000E26CE625F1FC85DC004C5A8FFFE6DE104C32BD +S3150000E27CDE06819FFFE6EF1BF1FEF4FEEF15D1DF04 +S3150000E28C06F1FE36FFEF0C919FFFE64C2661C8CFD8 +S3150000E29CFFE625E1FC85DC004C318F00E7DC114CF8 +S3150000E2AC32DE06819F00E7EF1D5102FEC2FEEF161D +S3150000E2BCD1DF075102FE03FFEF0C919F00E74C26BE +S3150000E2CC61C8CF00E725E1FC85DC004C028F01E735 +S3150000E2DCDE114C32DE06819F01E7EF1D5103FE8FE6 +S3150000E2ECFEEF16D1DF075103FED0FEEF0C919F0116 +S3150000E2FCE74C2661C8CF01E7255102FC85DC004CB2 +S3150000E30C318F02E7DC114C32DE06819F02E7EF1DEE +S3150000E31C5105FE5BFEEF16D1DF075105FE9CFEEFA5 +S3150000E32C0C919F02E74C2661C8CF02E7255102FCEF +S3150000E33C85DC004C028F03E7DE114C32DE06819F32 +S3150000E34C03E7EF1D5106FE27FEEF16D1DF07510638 +S3150000E35CFE68FEEF0C919F03E74C2661C8CF03E7DE +S3150000E36C255103FC85DC004C318F04E7DC114C3263 +S3150000E37CDE06819F04E7EF1D5108FEF3FDEF16D173 +S3150000E38CDF075108FE34FEEF0C919F04E74C266123 +S3150000E39CC8CF04E7255103FC85DC004C028F05E74A +S3150000E3ACDE114C32DE06819F05E7EF1D5109FEBFDB +S3150000E3BCFDEF16D1DF075109FE00FEEF0C919F050C +S3150000E3CCE74C2661C8CF05E7255104FC85DC004CDB +S3150000E3DC318F06E7DC114C32DE06819F06E7EF1D16 +S3150000E3EC510BFE8BFDEF16D1DF07510BFECCFDEF6B +S3150000E3FC0C919F06E74C2661C8CF06E7255104FC15 +S3150000E40C85DC004C028F07E7DE0E4C32DE05819F61 +S3150000E41C07E7D7510CEE58FDD1DF05510CEE9BFDED +S3150000E42C919F07E74C2661C8CF07E725D75002D640 +S3150000E43C1249DEE6D7C3C520145310C1776772AEF6 +S3150000E44CF8040600B804FC1FDE0088004C07DE3317 +S3150000E45CD1DD30A81814880099CA0101CA020A91A4 +S3150000E46C9A03A804128800318EB101B80003168BEA +S3150000E47C9A04A800A103168B9A05A81614890C06F3 +S3150000E48C99EF4C8151FFDF48C80306F1738198025E +S3150000E49CA81814880299CA0101CA020A639A03A829 +S3150000E4AC04128802318EB101B8000316A8180406AE +S3150000E4BC00B8188B9A04A800A103168B9A05A81607 +S3150000E4CC14890C06998803919803880273DFBEF1B0 +S3150000E4DC101AD7EB5CE620088A029F30E65C09DF4F +S3150000E4EC17D926E58F2AE6FC8BBF003258E6300397 +S3150000E4FC00FC86E900F1EF4351400F2AE698028FA3 +S3150000E50C2CE69803C80409F1980098018800FE1CB3 +S3150000E51CFF5F30E6DD05880181980188008198004F +S3150000E52C4C0EDFE8C80501C8060088019807AEF84E +S3150000E53CA1A112300600FC86E900E11008D7EB5CBD +S3150000E54CE620708A029F30E65C09DF18D926E58F33 +S3150000E55C2AE6FC8BBF003258E6300300FC86E90045 +S3150000E56CF1EE7F0051400F2AE698068F2CE69807AD +S3150000E57CC80809C80203F19803FEB1FE5F30E6DD58 +S3150000E58C4A8803735004D614AEF8040600B8041572 +S3150000E59C047AA4B800A114A804168802728961F939 +S3150000E5AC6281A5728961F9A8000403001488020C23 +S3150000E5BC02728961F963FE74FE7288020C0373A8F9 +S3150000E5CC04166261D988020C0498028803819803A8 +S3150000E5DC4C0EDFA5AEF8040600128802318EFC86BE +S3150000E5ECE900E11070D7206E51400F2AE698048F8F +S3150000E5FC2CE69805C80609F363980263980388030A +S3150000E60C5004D614630C0372AEF8040400161504F9 +S3150000E61C7AA4B800A1148961F9630C04A573896105 +S3150000E62CD9A8000403001488020C05728961F988C4 +S3150000E63C020C06318E071488038198034C0ECA000F +S3150000E64C09639802DFB8AEF804040012303B00FCF4 +S3150000E65C86E900106EE1D7201C341C0032B2A4AE41 +S3150000E66CF8FCFCA500F1755002D6128539DEE600E1 +S3150000E67C654C0EDFF15108FC56DE0072531CAEF8E9 +S3150000E68CFCEFDC00D1E161E8F1101CD72008FC7925 +S3150000E69CC000F74361F8FCDABE00FC54B50091DF0C +S3150000E6AC44FC7DC0008F2AE6FC90C00098004CFF0D +S3150000E6BCDF0B402BE602DD24D920E5EF2DFCA8C0AC +S3150000E6CC0091DF6F8800FCC1C00091DF61880040BB +S3150000E6DC2BE602DF19FCDBC000D1DF10AEF8A1126D +S3150000E6ECF6FC86E900EF2AD922E5EF4A8800DB28FA +S3150000E6FCE6FCEBC00091DFEF8800500AD60444A17B +S3150000E70C12040800141304060016899EFCAB16614D +S3150000E71CFAFC23EC009161F8FCEFBE00FCFCBE0099 +S3150000E72CFC58E100FCACBE00D1DF1A1008D7D92783 +S3150000E73CE5EF03D92BE58F2AE6FC8BBF003258E6B2 +S3150000E74C300300EF9CFCD1E100EFE0C3168F12E71B +S3150000E75C4C01DF15CF12E7058FC8EB9BC6C7AFC6BA +S3150000E76CEBBB300AE7B9E1C2D74C04DF13CF12E793 +S3150000E77C058FC8EB9BC6C7AFC6EBBB3015E7EFE5FD +S3150000E78CF1C2D7C5C1C713445107DF5C8998003164 +S3150000E79C4A708F12E7734C01DD084C04DD044C05FE +S3150000E7ACDF494C05DF42408EF001DF3C604C03DF55 +S3150000E7BC3788005C0FDF1FCF8EF0038A01D161F81A +S3150000E7CC51B09F13E74014E77FF161D88A029F147A +S3150000E7DCE7F590F0EF0391DF06F6BFCEEBEF09F508 +S3150000E7EC8EF0F512E7F5D1EBEE3C0160D1DF368801 +S3150000E7FC005C0F72318EBFC6EB624C0861C8EE2608 +S3150000E80C01D161F8EE2001E512E7F5C8EBF36331AF +S3150000E81C8E1662614361C8EE0401170516A78B18A4 +S3150000E82C0AE783EFE94C0161E8EE81008A01708802 +S3150000E83C005C0FBFC6EB44B104DC1CCF82F030CFBA +S3150000E84C83F0028F72A49F84F03482F05208305900 +S3150000E85C071006ECABDF0044080061D8EEC800F5E3 +S3150000E86CC8EB3415E7E6B800F3A80416630C0231BE +S3150000E87C8E0716838B99A800BFCAEB634C06A800BB +S3150000E88CA1B800A5DFE3E5CCEBCF82F030F583F041 +S3150000E89C8F72A49F84F03482F05208305907FCAB77 +S3150000E8ACDF00CF12E703CFD0EB05EE2CFF4C02DFD7 +S3150000E8BC67634C03DF62F6BFCEEBC0C1E9CCEB63FA +S3150000E8CC6170605C0FDF4E63819FCCEB8802D1DDFB +S3150000E8DC044C08DC33E19802DBC6EB13B804AFCA70 +S3150000E8ECEBB80043DE348802318E0516C2C38B4862 +S3150000E8FC15E7A313BFCAEBA8043343DD1D880281B9 +S3150000E90C98024C08DCD2EF1F318E12AFC6EB2342B5 +S3150000E91CCAEB61D3C0F512E7EF0DCF12E704E5940D +S3150000E92CF030E803BF92F01006D71344DF07C5C6D4 +S3150000E93CDF478F12E74C01DD404C04DD3C4C05DD16 +S3150000E94C388B705CF0DF32605C0F72318EBFC6EBB9 +S3150000E95C624C08DE24E512E7E5C8EBF363318E144E +S3150000E96C626143DE0B150714A589180AE783EFECE1 +S3150000E97CE594F030E803BF92F0D7C1C3C44012E768 +S3150000E98C0561F8D5D1EB61E8EEA100F594F030E81D +S3150000E99C03BF92F0A800F743DF06F512E7F1C2D7E2 +S3150000E9AC440800DE31609F82F051073683F0CC00BC +S3150000E9BC5591A7DFF93683F0A800A104FFFF12DDFD +S3150000E9CC07899BA5A713EFF33482F0520830590739 +S3150000E9DCFCABDF00EFC4E5D1EB36D2EBA104FFFFB5 +S3150000E9EC12DD07899BA5A713EFF3A800BF8AF0A831 +S3150000E9FC00120C109F82F0629F83F03484F0F7367D +S3150000EA0CD2EB8B99A313BF8CF0440600A5A7DCF2BE +S3150000EA1C3482F05208305907FCABDF00E5D0EBF638 +S3150000EA2CBFCEEBE58FF0E58EF0EE71FFE1C2D7C3FA +S3150000EA3CC7144012E705DF48D5D1EBDF4315440870 +S3150000EA4C00DE3D649F82F0F38363734C071982F0FA +S3150000EA5C55DFF5F198008800318E1245DE0FA802BD +S3150000EA6C03168800738B1883F08363EFE73482F008 +S3150000EA7C5208305907FCABDF00F6BF92F0F1EF01FC +S3150000EA8CE11004D7F173190AE7001982F00019D2C4 +S3150000EA9CEB001915E70083634C08DFE9F512E7F57F +S3150000EAAC13E7CF14E70AF6BFC6EBBFCAEBBFCEEB34 +S3150000EABCBF8AF0BF8CF0F5C8EBF5CCEBF5D0EBF5D7 +S3150000EACCD1EBF58EF0F58FF0F590F030E803BF92B0 +S3150000EADCF0F594F0D78F12E7734C03DF2040D0EBA0 +S3150000EAEC05DF12AFCEEB4276A461D306F512E7F33F +S3150000EAFCEF0BA1EF05CFD0EB05F6BFCEEB4094F0B4 +S3150000EB0C01DF18AF92F04278A461D30CF512E7F549 +S3150000EB1C94F030E803F3EF06A1EF0330E803BF925D +S3150000EB2CF0634C05DF2F8F8EF07391DF2540D0EB11 +S3150000EB3C01DF18AFCEEB4274A461D30CF58EF0F561 +S3150000EB4C12E7F5D1EBF3EF0AA1EF04E5D0EBF6BF34 +S3150000EB5CCEEB634C0361E8EEBC008F90F0819F9086 +S3150000EB6CF0D513E7DD574F14E761E3EEA800E59007 +S3150000EB7CF0AF8AF01604F9FF12EB8CF01543512016 +S3150000EB8CDE4B0F8FF09F82F0F315A1161504D2EB16 +S3150000EB9C14891883F017BF8CF083634C07A7A5DF85 +S3150000EBACF03482F05208305907FCABDF008F8FF03F +S3150000EBBC815C0F9F8FF08F13E74C01DF0BE58EF016 +S3150000EBCCF6BFCEEBE5D0EBD7919F13E7D70F8FF0BF +S3150000EBDC9F82F0F3172560728363734C071982F0DA +S3150000EBEC55DFF515A1161504D2EB14F363614ADE55 +S3150000EBFC0D891883F017BF8CF083A7A5EFEE34822E +S3150000EC0CF05208305907FCABDF00F58EF0F512E731 +S3150000EC1CF5D1EBF513E7D7D512E7E161E8F1D7FCAF +S3150000EC2CEBBD009F4EE5FCEFBD009F4FE58D01311E +S3150000EC3C2309D5B0F061F8FC70F100409EF001DFBD +S3150000EC4C27F59EF0FC98E600FCE1EA00AF54E5F7E8 +S3150000EC5C4361F8FEA102FC86F200AFB2F0F743DD89 +S3150000EC6C04B1BFB2F0FE3000409FF001DF06F59F05 +S3150000EC7CF0FE710340A0F00161F8F5A0F040A1F0A0 +S3150000EC8C01DF06F5A1F0FEED0240A2F001DF07F56B +S3150000EC9CA2F0EC66F100D7D75114FC60F300718C2E +S3150000ECAC363CF1511071B1FC60F300718C363BF1BE +S3150000ECBC510F71F1FC60F300718C363BF151087108 +S3150000ECCCE1FC60F300718C363AF1510D71F1FC6088 +S3150000ECDCF300718C363BF1510E71C1FC60F30036BA +S3150000ECEC3BF1718C71D1510F5F47E57051F05F406C +S3150000ECFCF161089F40F1F17372318E043AF116639B +S3150000ED0C0D7382624C07DFF1639F41F1D73012001D +S3150000ED1CC1340F0032001030D2F0FCBCA800C03059 +S3150000ED2CD2F0BFC8F0AFDCF002DAF002DEF002D4AB +S3150000ED3CF002D6F002D8F012AFD2F044AA55DF1D7D +S3150000ED4CAFE2F04455AADF151342E0F0DF0FF17382 +S3150000ED5C09D2F018B6F083634C12DFF3D730AA55FC +S3150000ED6CBFB6F03055AABFC6F0300080BFC2F0BFA8 +S3150000ED7CBCF0F1BFBEF0BFC0F0BFB8F0BFBAF0E553 +S3150000ED8CB4F0D7D5B4F0DD0CE54CE530F401BFB2E8 +S3150000ED9CF0F5B4F0AFB2F0F743DF42404CE501DFDB +S3150000EDAC3CAFC0F002BEF002C2F002B8F002BAF0FC +S3150000EDBC02BCF0BFC4F0F17309B6F018D2F083634D +S3150000EDCC4C12DFF3301200C1340F0032001030D277 +S3150000EDDCF0FCE0A6004C11C061F8F54CE5D7E5B4A3 +S3150000EDECF0D72024E6C1AEF8040400B802340F00B4 +S3150000EDFC320014FCBCA800C0880281DF41F1734CC0 +S3150000EE0C08DE07C6C709DEA3EF184C19DE07318EDC +S3150000EE1C04DEA3EF094C21DE0B318E04DEA314C6EF +S3150000EE2CC78961D983634C21DFD5302100C1340FEA +S3150000EE3C00320014AEF8040400FCE0A600C0E6C1E3 +S3150000EE4CAEF8040400B802340F00320018FCBCA85B +S3150000EE5C00C0880281DF4CF1734C10DE07C6C7096F +S3150000EE6CFFA3EF234C14DE07318E04FFA3EF144CE3 +S3150000EE7C18DE07318E04FFA3EF094C20DE0B318E12 +S3150000EE8C04FFA314C6C78961D983634C20DFCA303B +S3150000EE9C2000C1340F00320018AEF8040400FCE068 +S3150000EEACA600C01024D78F0C03F3313501E38F0471 +S3150000EEBC033115418F0C03313504A24AE5E38F4823 +S3150000EECCE5724C0ADE0FAF4AE5446400DC0762814A +S3150000EEDC9F48E5EF11624C0ADC1BAF4AE544E80398 +S3150000EEECDC13CF48E50A340403F6BF4AE5BA08A991 +S3150000EEFC085CFC08B963D7AF0C0360313545FC5090 +S3150000EF0CAD006031153DAFAEF0F743DF358FB0F095 +S3150000EF1C73D1DF06306400BFAEF0634C05DE0BD157 +S3150000EF2CDD08FE3100306400EF0A4C05DC09FE25D5 +S3150000EF3C0030E803BFAEF08FB0F04C05DE04819FC5 +S3150000EF4CB0F0D7D5B0F0DD0AAFAEF0F74361F8F507 +S3150000EF5CB0F0F552E5D7345003F789718B990089D7 +S3150000EF6C718A99AF0C0343DD04F6BF0C035404A954 +S3150000EF7C085CFC08B9D7F1FC71F30014321D01CE04 +S3150000EF8CFB01316C31AE03BF04F115443201DE12C4 +S3150000EF9C8F9BF0819F9BF04CFADC2DF59BF0E59A4C +S3150000EFACF0D7445002DC138F9BF0819F9BF04CFAF8 +S3150000EFBCDC16F59BF0CF9AF002D704BDFE44FC009C +S3150000EFCCDE06F59BF0F59AF0D730F401BFA4F030CD +S3150000EFDCD007BF54E5E5ACF0F173193AF100836341 +S3150000EFEC4C08DFF5D7D944F151075F43F112312CA8 +S3150000EFFC8F45F1316A318E03BFCAF0314EBFCCF06A +S3150000F00CD7FC0EB00034B801F6B9BA40BA02BA420F +S3150000F01CB9BA40FC1EB10036F000710B3071C371E9 +S3150000F02C83719371230671330671030C713303716B +S3150000F03C3301714301710303712201AF0403086CA0 +S3150000F04C0408BF0403AF2603086C0108BF2603009F +S3150000F05CAF2603086C0408BF26037108C502716B42 +S3150000F06CD0716BD48D0131750261FD716BD0716AF3 +S3150000F07CD4712301FCB8AD00FCE7AD00ECFEAF008B +S3150000F08CC3C66148880470DF11898173996361482E +S3150000F09C61D8D7CA0000CC0001D7CA0000CC00004A +S3150000F0ACD7300500C18D01317A34A9F032A8F0E0D1 +S3150000F0BCFECDFFC0300500C18D01317A34ABF03284 +S3150000F0CCAAF0F0FEBAFFC040AAF001DF05F5ACF0DD +S3150000F0DCEF0C40A8F001DF06E5ACF07133018FAC04 +S3150000F0ECF04F06F1DD0D9F06F1D1DF07340603A9BB +S3150000F0FC5CFCB9D7D7148F04F199D7C1C3C6643158 +S3150000F10C8EA104FFFF12DD0BC4C58B99A7A5C0C544 +S3150000F11C13EFEFC0D75408323AF13010F1EFDC712F +S3150000F12C2301511F5F0BF19F0BF1300B05BF08F14B +S3150000F13CAF0AF1F05CE0BF0AF151806F0FF15C8F02 +S3150000F14C9F0FF1AF0EF1F05CF0BF0EF1F6BF0CF1B4 +S3150000F15C5408323AF13010F1EFA1D7FCA4EC00F6CA +S3150000F16CBF50E5D78FD1E570914C02DE59604C0249 +S3150000F17CDF23AFDCE5F743DF17364FE5AFDAE5BF44 +S3150000F18CDCE531850B8FE7E54C05DE04819FE7E571 +S3150000F19CF559E5EF318F59E573D1DD2AAFDCE56121 +S3150000F1AC68DF23364FE563919F59E5AFDAE5BFDC9F +S3150000F1BCE531851230F0E5FC21AB008FE7E54C0517 +S3150000F1CCDE04819FE7E5AF50E5F743DF2C364EE5CD +S3150000F1DC3185265408323AF13010F1FE1DFF300805 +S3150000F1ECF1FC21AB00301400BF50E58F47E5819F41 +S3150000F1FC47E54C1061C8F547E5D7C11413B98A0326 +S3150000F20C5C1F9A0315A1A114A9F05CE0B9C4C58AC8 +S3150000F21C0771FA5C8F9A071504060014A9F05CF0C6 +S3150000F22CB9A80004040014F6B9C0D7F173195AE54D +S3150000F23C00196EE5001982E50083634C14DFEDD7E7 +S3150000F24C914C14DE0573196EE501D7914C14DE054D +S3150000F25C731982E501D7914C14DE0B318E046EE5E1 +S3150000F26C1489CA0000D7F1D7914C14DE0B318E04E9 +S3150000F27C82E51489CA0000D7F1D7C7F1EF518198FE +S3150000F28C01FE51004C01DF188800735002D604961B +S3150000F29CE514A9A1B9441400DC2F195AE501EF298C +S3150000F2ACD1DF2688005002D6127996E5440600DC9A +S3150000F2BC063005007896E5440000DF0988007319CE +S3150000F2CC5AE500EF04B17896E588014C14DD0498F4 +S3150000F2DC00EFABC0D79175318E12654C14DE13134B +S3150000F2EC124900A5311C9EFC79D8A461CBE15B0CBC +S3150000F2FCEF4DF1D78D04EF07E15B06EF428D06313A +S3150000F30C1AEF3A8D06312AEF348D06EF1BE15B03BB +S3150000F31CEF2D8D01317AEF278D0CEF028D08315AC6 +S3150000F32CEF1B8D08EF158D08313AEF118D08EFD5CF +S3150000F33C8D08EFCBE15B08EF068D03314A5C017C4F +S3150000F34C01D78D01EFE28D01EFF18D01EFD08D012B +S3150000F35C316AEFE94C15DE0BD1DD08318E0459E527 +S3150000F36C1489D7F1D7D1DF085002D612796AF1D7B2 +S30E0000F37CF6D7306AF1EC30B1005D +S3060000F385FF82 +S3150000F38600000000000000003200C8007856341263 +S3150000F39611121314222431333536377F727173787E +S3150000F3A67E00112233445566778899AABBCCDDEEDA +S3150000F3B6FF0000000000000000000000000003033C +S3150000F3C614000000D0070001030000000000000042 +S3150000F3D60000000000000000000000000000000021 +S3150000F3E60000000000000000000000000000000011 +S3150000F3F60000000000000000000000000000000001 +S3150000F40600000000000000000000000000000000F0 +S3150000F41600000000000000000000000000000000E0 +S3130000F4260000000000000000000000000000D2 +S3150000F434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S3150000F444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S3150000F454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S3150000F464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S3150000F474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S3150000F484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S3150000F494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S3150000F4A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S3150000F4B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S3150000F4C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S3150000F4D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S3150000F4E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S3150000F4F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S3150000F504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S3150000F514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S3150000F524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S3150000F534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S3150000F544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S3150000F554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S3150000F564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S3150000F574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S3150000F584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S3150000F594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S3150000F5A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S3150000F5B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S3150000F5C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S3150000F5D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S3150000F5E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S3150000F5F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S3150000F604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S3150000F614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S3150000F624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S3150000F634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S3150000F644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S3150000F654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S3150000F664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S3150000F674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S3150000F684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S3150000F694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S3150000F6A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S3150000F6B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S3150000F6C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S3150000F6D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S3150000F6E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S3150000F6F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S3150000F704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S3150000F714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S3150000F724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S3150000F734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S3150000F744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S3150000F754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S3150000F764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S3150000F774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S3150000F784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S3150000F794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S3150000F7A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S3150000F7B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S3150000F7C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S3150000F7D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S3150000F7E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S3150000F7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S3150000F804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S3150000F814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S3150000F824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S3150000F834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S3150000F844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S3150000F854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S3150000F864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S3150000F874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S3150000F884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S3150000F894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S3150000F8A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S3150000F8B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S3150000F8C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S3150000F8D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S3150000F8E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S3150000F8F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S3150000F904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S3150000F914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S3150000F924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S3150000F934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S3150000F944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S3150000F954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S3150000F964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S3150000F974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S3150000F984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S3150000F994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S3150000F9A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S3150000F9B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S3150000F9C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S3150000F9D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S3150000F9E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S3150000F9F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S3150000FA04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S3150000FA14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S3150000FA24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S3150000FA34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S3150000FA44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S3150000FA54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S3150000FA64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S3150000FA74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S3150000FA84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S3150000FA94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S3150000FAA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S3150000FAB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S3150000FAC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S3150000FAD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S3150000FAE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S3150000FAF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S3150000FB04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S3150000FB14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S3150000FB24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S3150000FB34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S3150000FB44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S3150000FB54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S3150000FB64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S3150000FB74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S3150000FB84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S3150000FB94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S3150000FBA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S3150000FBB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S3150000FBC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S3150000FBD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S3150000FBE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S3150000FBF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S3150000FC04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S3150000FC14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S3150000FC24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S3150000FC34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S3150000FC44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S3150000FC54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S3150000FC64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S3150000FC74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S3150000FC84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S3150000FC94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S3150000FCA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S3150000FCB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S3150000FCC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S3150000FCD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S3150000FCE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S3150000FCF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S3150000FD04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S3150000FD14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S3150000FD24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S3150000FD34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S3150000FD44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S3150000FD54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S3150000FD64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S3150000FD74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S3150000FD84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S3150000FD94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S3150000FDA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S3150000FDB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S3150000FDC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S3150000FDD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S3150000FDE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S3150000FDF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S3150000FE04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S3150000FE14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S3150000FE24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S3150000FE34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S3150000FE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S3150000FE54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S3150000FE64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S3150000FE74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S3150000FE84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S3150000FE94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S3150000FEA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S3150000FEB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S3150000FEC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S3150000FED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S3150000FEE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S3150000FEF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S3150000FF04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S3150000FF14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S3150000FF24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S3150000FF34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S3150000FF44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S3150000FF54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S3150000FF64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S3150000FF74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S3150000FF84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S3150000FF94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S3150000FFA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S3150000FFB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S3150000FFC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S3150000FFD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S3150000FFE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S3150000FFF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500010004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500010014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500010024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500010034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500010044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500010054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500010064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500010074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500010084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500010094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S315000100A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S315000100B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000100C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000100D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000100E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000100F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500010104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500010114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500010124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500010134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500010144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500010154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500010164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500010174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500010184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500010194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S315000101A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S315000101B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000101C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000101D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000101E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000101F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500010204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500010214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500010224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500010234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500010244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500010254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500010264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500010274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500010284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500010294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S315000102A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S315000102B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000102C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000102D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000102E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000102F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500010304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500010314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500010324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500010334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500010344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500010354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500010364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500010374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500010384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500010394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S315000103A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S315000103B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000103C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000103D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000103E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000103F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500010404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500010414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500010424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500010434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500010444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500010454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500010464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500010474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500010484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500010494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S315000104A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S315000104B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000104C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000104D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000104E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000104F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500010504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500010514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500010524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500010534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500010544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500010554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500010564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500010574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500010584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500010594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S315000105A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S315000105B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000105C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000105D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000105E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000105F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500010604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500010614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500010624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500010634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500010644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500010654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500010664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500010674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500010684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500010694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S315000106A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S315000106B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000106C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000106D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000106E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000106F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500010704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500010714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500010724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500010734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500010744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500010754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500010764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500010774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500010784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500010794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S315000107A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S315000107B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000107C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000107D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000107E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000107F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500010804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500010814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500010824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500010834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500010844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500010854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500010864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500010874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500010884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500010894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S315000108A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S315000108B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S315000108C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S315000108D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S315000108E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000108F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500010904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500010914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500010924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500010934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500010944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500010954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500010964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500010974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500010984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500010994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S315000109A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S315000109B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S315000109C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S315000109D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S315000109E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000109F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500010A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500010A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500010A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500010A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500010A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500010A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500010A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500010A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500010A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500010A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500010AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500010AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500010AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500010AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500010AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500010AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500010B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500010B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500010B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500010B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500010B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500010B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500010B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500010B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500010B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500010B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500010BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500010BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500010BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500010BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500010BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500010BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500010C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500010C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500010C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500010C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500010C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500010C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500010C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500010C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500010C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500010C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500010CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500010CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500010CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500010CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500010CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500010CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500010D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500010D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500010D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500010D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500010D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500010D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500010D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500010D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500010D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500010D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500010DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500010DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500010DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500010DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500010DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500010DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500010E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500010E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500010E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500010E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500010E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500010E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500010E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500010E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500010E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500010E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500010EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500010EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500010EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500010ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500010EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500010EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500010F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500010F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500010F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500010F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500010F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500010F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500010F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500010F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500010F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500010F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500010FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500010FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500010FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500010FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500010FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500010FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500011004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500011014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500011024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500011034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500011044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500011054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500011064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500011074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500011084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500011094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S315000110A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000110B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000110C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000110D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000110E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000110F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500011104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500011114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500011124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500011134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500011144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500011154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500011164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500011174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500011184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500011194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S315000111A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000111B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000111C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000111D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000111E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000111F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500011204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500011214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500011224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500011234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500011244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500011254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500011264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500011274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500011284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500011294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S315000112A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000112B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000112C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000112D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000112E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000112F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500011304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500011314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500011324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500011334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500011344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500011354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500011364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500011374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500011384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500011394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S315000113A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000113B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000113C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000113D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000113E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000113F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500011404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500011414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500011424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500011434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500011444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500011454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500011464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500011474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500011484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500011494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S315000114A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000114B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000114C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000114D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000114E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000114F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500011504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500011514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500011524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500011534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500011544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500011554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500011564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500011574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500011584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500011594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S315000115A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000115B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000115C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000115D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000115E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000115F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500011604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500011614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500011624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500011634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500011644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500011654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500011664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500011674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500011684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500011694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S315000116A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000116B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000116C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000116D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000116E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000116F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500011704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500011714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500011724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500011734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500011744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500011754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500011764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500011774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500011784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500011794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S315000117A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000117B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000117C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000117D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000117E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000117F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500011804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500011814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500011824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500011834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500011844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500011854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500011864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500011874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500011884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500011894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S315000118A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S315000118B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S315000118C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S315000118D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000118E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000118F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500011904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500011914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500011924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500011934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500011944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500011954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500011964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500011974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500011984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500011994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S315000119A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S315000119B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S315000119C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S315000119D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000119E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000119F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500011A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500011A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500011A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500011A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500011A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500011A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500011A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500011A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500011A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500011A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500011AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500011AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500011AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500011AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500011AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500011AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500011B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500011B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500011B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500011B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500011B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500011B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500011B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500011B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500011B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500011B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500011BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500011BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500011BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500011BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500011BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500011BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500011C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500011C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500011C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500011C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500011C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500011C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500011C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500011C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500011C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500011C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500011CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500011CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500011CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500011CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500011CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500011CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500011D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500011D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500011D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500011D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500011D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500011D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500011D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500011D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500011D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500011D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500011DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500011DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500011DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500011DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500011DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500011DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500011E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500011E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500011E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500011E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500011E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500011E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500011E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500011E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500011E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500011E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500011EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500011EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500011EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500011ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500011EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500011EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500011F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500011F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500011F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500011F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500011F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500011F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500011F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500011F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500011F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500011F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500011FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500011FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500011FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500011FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500011FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500011FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500012004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500012014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500012024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500012034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500012044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500012054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500012064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500012074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500012084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500012094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S315000120A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000120B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000120C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000120D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000120E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000120F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500012104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500012114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500012124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500012134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500012144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500012154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500012164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500012174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500012184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500012194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S315000121A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000121B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000121C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000121D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000121E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000121F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500012204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500012214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500012224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500012234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500012244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500012254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500012264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500012274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500012284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500012294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S315000122A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000122B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000122C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000122D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000122E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000122F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500012304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500012314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500012324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500012334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500012344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500012354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500012364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500012374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500012384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500012394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S315000123A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000123B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000123C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000123D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000123E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000123F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500012404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500012414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500012424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500012434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500012444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500012454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500012464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500012474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500012484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500012494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S315000124A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000124B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000124C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000124D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000124E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000124F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500012504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500012514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500012524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500012534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500012544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500012554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500012564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500012574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500012584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500012594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S315000125A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000125B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000125C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000125D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000125E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000125F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500012604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500012614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500012624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500012634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500012644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500012654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500012664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500012674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500012684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500012694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S315000126A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000126B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000126C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000126D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000126E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000126F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500012704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500012714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500012724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500012734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500012744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500012754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500012764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500012774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500012784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500012794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S315000127A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000127B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000127C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000127D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000127E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000127F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500012804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500012814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500012824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500012834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500012844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500012854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500012864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500012874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500012884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500012894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S315000128A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S315000128B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S315000128C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000128D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000128E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000128F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500012904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500012914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500012924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500012934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500012944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500012954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500012964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500012974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500012984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500012994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S315000129A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S315000129B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S315000129C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000129D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000129E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000129F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500012A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500012A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500012A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500012A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500012A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500012A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500012A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500012A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500012A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500012A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500012AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500012AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500012AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500012AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500012AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500012AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500012B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500012B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500012B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500012B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500012B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500012B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500012B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500012B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500012B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500012B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500012BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500012BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500012BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500012BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500012BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500012BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500012C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500012C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500012C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500012C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500012C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500012C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500012C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500012C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500012C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500012C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500012CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500012CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500012CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500012CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500012CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500012CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500012D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500012D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500012D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500012D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500012D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500012D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500012D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500012D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500012D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500012D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500012DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500012DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500012DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500012DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500012DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500012DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500012E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500012E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500012E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500012E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500012E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500012E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500012E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500012E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500012E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500012E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500012EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500012EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500012EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500012ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500012EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500012EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500012F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500012F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500012F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500012F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500012F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500012F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500012F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500012F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500012F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500012F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500012FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500012FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500012FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500012FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500012FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500012FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500013004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500013014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500013024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500013034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500013044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500013054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500013064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500013074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500013084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500013094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S315000130A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000130B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000130C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000130D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000130E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000130F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S31500013104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500013114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500013124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500013134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500013144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500013154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500013164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500013174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500013184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500013194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S315000131A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000131B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000131C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000131D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000131E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000131F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S31500013204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500013214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500013224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500013234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500013244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500013254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500013264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500013274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500013284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500013294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S315000132A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000132B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000132C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000132D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000132E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000132F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S31500013304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500013314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500013324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500013334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500013344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500013354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500013364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500013374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500013384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500013394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S315000133A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000133B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000133C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000133D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000133E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000133F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S31500013404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500013414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500013424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500013434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500013444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500013454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500013464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500013474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500013484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500013494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S315000134A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000134B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000134C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000134D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000134E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000134F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S31500013504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500013514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500013524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500013534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500013544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500013554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500013564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500013574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500013584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500013594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S315000135A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000135B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000135C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000135D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000135E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000135F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500013604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500013614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500013624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500013634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500013644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500013654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500013664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500013674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500013684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500013694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S315000136A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000136B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000136C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000136D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000136E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000136F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500013704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500013714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500013724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500013734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500013744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500013754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500013764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500013774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500013784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500013794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S315000137A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000137B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000137C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000137D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000137E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000137F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500013804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500013814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500013824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500013834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500013844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500013854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500013864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500013874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500013884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500013894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S315000138A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S315000138B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000138C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000138D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000138E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000138F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500013904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500013914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500013924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500013934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500013944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500013954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500013964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500013974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500013984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500013994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S315000139A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S315000139B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000139C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000139D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000139E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000139F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S31500013A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500013A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500013A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500013A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500013A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500013A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500013A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500013A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500013A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500013A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500013AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500013AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500013AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500013AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500013AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500013AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500013B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500013B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500013B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500013B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500013B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500013B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500013B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500013B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500013B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500013B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500013BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500013BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500013BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500013BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500013BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500013BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500013C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500013C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500013C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500013C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500013C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500013C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500013C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500013C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500013C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500013C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500013CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500013CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500013CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500013CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500013CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500013CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500013D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500013D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500013D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500013D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500013D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500013D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500013D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500013D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500013D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500013D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500013DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500013DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500013DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500013DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500013DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500013DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500013E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500013E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500013E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500013E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500013E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500013E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500013E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500013E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500013E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500013E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500013EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500013EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500013EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500013ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500013EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500013EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500013F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500013F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500013F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500013F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500013F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500013F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500013F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500013F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500013F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500013F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500013FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500013FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500013FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500013FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500013FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500013FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500014004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500014014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500014024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500014034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500014044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500014054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500014064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500014074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500014084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500014094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S315000140A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000140B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000140C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000140D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000140E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000140F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S31500014104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500014114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500014124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500014134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500014144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500014154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500014164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500014174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500014184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500014194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S315000141A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000141B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000141C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000141D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000141E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000141F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S31500014204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500014214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500014224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500014234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500014244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500014254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500014264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500014274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500014284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500014294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S315000142A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000142B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000142C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000142D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000142E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000142F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S31500014304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500014314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500014324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500014334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500014344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500014354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500014364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500014374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500014384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500014394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S315000143A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000143B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000143C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000143D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000143E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000143F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S31500014404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500014414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500014424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500014434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500014444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500014454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500014464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500014474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500014484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500014494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S315000144A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000144B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000144C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000144D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000144E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000144F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S31500014504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500014514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500014524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500014534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500014544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500014554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500014564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500014574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500014584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500014594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S315000145A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000145B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000145C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000145D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000145E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000145F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500014604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500014614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500014624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500014634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500014644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500014654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500014664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500014674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500014684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500014694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S315000146A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000146B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000146C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000146D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000146E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000146F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500014704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500014714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500014724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500014734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500014744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500014754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500014764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500014774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500014784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500014794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S315000147A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000147B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000147C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000147D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000147E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000147F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500014804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500014814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500014824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500014834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500014844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500014854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500014864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500014874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500014884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500014894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S315000148A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000148B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000148C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000148D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000148E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000148F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500014904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500014914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500014924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500014934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500014944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500014954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500014964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500014974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500014984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500014994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S315000149A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000149B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000149C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000149D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000149E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000149F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S31500014A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500014A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500014A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500014A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500014A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500014A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500014A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500014A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500014A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500014A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500014AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500014AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500014AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500014AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500014AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500014AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500014B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500014B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500014B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500014B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500014B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500014B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500014B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500014B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500014B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500014B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500014BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500014BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500014BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500014BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500014BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500014BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500014C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500014C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500014C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500014C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500014C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500014C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500014C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500014C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500014C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500014C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500014CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500014CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500014CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500014CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500014CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500014CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500014D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500014D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500014D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500014D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500014D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500014D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500014D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500014D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500014D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500014D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500014DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500014DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500014DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500014DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500014DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500014DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500014E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500014E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500014E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500014E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500014E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500014E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500014E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500014E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500014E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500014E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500014EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500014EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500014EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500014ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500014EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500014EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500014F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500014F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500014F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500014F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500014F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500014F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500014F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500014F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500014F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500014F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500014FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500014FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500014FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500014FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500014FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500014FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500015004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500015014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500015024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500015034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500015044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500015054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500015064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500015074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500015084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500015094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S315000150A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000150B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000150C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000150D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000150E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000150F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S31500015104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500015114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500015124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500015134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500015144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500015154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500015164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500015174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500015184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500015194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S315000151A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000151B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000151C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000151D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000151E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000151F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S31500015204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500015214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500015224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500015234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500015244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500015254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500015264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500015274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500015284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500015294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S315000152A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000152B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000152C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000152D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000152E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000152F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S31500015304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500015314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500015324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500015334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500015344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500015354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500015364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500015374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500015384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500015394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S315000153A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000153B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000153C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000153D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000153E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000153F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S31500015404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500015414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500015424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500015434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500015444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500015454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500015464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500015474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500015484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500015494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S315000154A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000154B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000154C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000154D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000154E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000154F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S31500015504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500015514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500015524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500015534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500015544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500015554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500015564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500015574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500015584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500015594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S315000155A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000155B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000155C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000155D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000155E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000155F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500015604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500015614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500015624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500015634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500015644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500015654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500015664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500015674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500015684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500015694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S315000156A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000156B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000156C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000156D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000156E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000156F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500015704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500015714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500015724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500015734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500015744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500015754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500015764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500015774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500015784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500015794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S315000157A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000157B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000157C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000157D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000157E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000157F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500015804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500015814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500015824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500015834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500015844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500015854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500015864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500015874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500015884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500015894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S315000158A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000158B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000158C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000158D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000158E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S315000158F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500015904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500015914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500015924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500015934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500015944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500015954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500015964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500015974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500015984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500015994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S315000159A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000159B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000159C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000159D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000159E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S315000159F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S31500015A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500015A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500015A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500015A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500015A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500015A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500015A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500015A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500015A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500015A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500015AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500015AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500015AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500015AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500015AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500015AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500015B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500015B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500015B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500015B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500015B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500015B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500015B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500015B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500015B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500015B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500015BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500015BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500015BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500015BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500015BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500015BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500015C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500015C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500015C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500015C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500015C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500015C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500015C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500015C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500015C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500015C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500015CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500015CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500015CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500015CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500015CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500015CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500015D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500015D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500015D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500015D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500015D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500015D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500015D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500015D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500015D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500015D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500015DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500015DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500015DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500015DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500015DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500015DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500015E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500015E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500015E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500015E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500015E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500015E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500015E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500015E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500015E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500015E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500015EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500015EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500015EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500015ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500015EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500015EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500015F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500015F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500015F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500015F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500015F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500015F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500015F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500015F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500015F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500015F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500015FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500015FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500015FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500015FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500015FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500015FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500016004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500016014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500016024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500016034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500016044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500016054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500016064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500016074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500016084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500016094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S315000160A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000160B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000160C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000160D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000160E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000160F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S31500016104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500016114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500016124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500016134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500016144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500016154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500016164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500016174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500016184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500016194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S315000161A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000161B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000161C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000161D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000161E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000161F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S31500016204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500016214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500016224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500016234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500016244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500016254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500016264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500016274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500016284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500016294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S315000162A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000162B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000162C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000162D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000162E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000162F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S31500016304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500016314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500016324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500016334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500016344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500016354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500016364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500016374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500016384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500016394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S315000163A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000163B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000163C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000163D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000163E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000163F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S31500016404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500016414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500016424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500016434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500016444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500016454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500016464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500016474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500016484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500016494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S315000164A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000164B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000164C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000164D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000164E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000164F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S31500016504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500016514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500016524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500016534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500016544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500016554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500016564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500016574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500016584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500016594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S315000165A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000165B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000165C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000165D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000165E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000165F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500016604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500016614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500016624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500016634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500016644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500016654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500016664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500016674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500016684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500016694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S315000166A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000166B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000166C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000166D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000166E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000166F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500016704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500016714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500016724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500016734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500016744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500016754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500016764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500016774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500016784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500016794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S315000167A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000167B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000167C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000167D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000167E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000167F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500016804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500016814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500016824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500016834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500016844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500016854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500016864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500016874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500016884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500016894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S315000168A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000168B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000168C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000168D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S315000168E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S315000168F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500016904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500016914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500016924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500016934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500016944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500016954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500016964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500016974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500016984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500016994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S315000169A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000169B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000169C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000169D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S315000169E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S315000169F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S31500016A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500016A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500016A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500016A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500016A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500016A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500016A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500016A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500016A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500016A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500016AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500016AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500016AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500016AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500016AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500016AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500016B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500016B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500016B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500016B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500016B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500016B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500016B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500016B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500016B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500016B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500016BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500016BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500016BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500016BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500016BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500016BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500016C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500016C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500016C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500016C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500016C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500016C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500016C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500016C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500016C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500016C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500016CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500016CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500016CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500016CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500016CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500016CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500016D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500016D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500016D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500016D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500016D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500016D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500016D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500016D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500016D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500016D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500016DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500016DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500016DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500016DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500016DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500016DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500016E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500016E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500016E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500016E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500016E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500016E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500016E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500016E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500016E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500016E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500016EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500016EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500016EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500016ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500016EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500016EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500016F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500016F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500016F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500016F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500016F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500016F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500016F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500016F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500016F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500016F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500016FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500016FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500016FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500016FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500016FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500016FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500017004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500017014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500017024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500017034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500017044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500017054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500017064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500017074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500017084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500017094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S315000170A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000170B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000170C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000170D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000170E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000170F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S31500017104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500017114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500017124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500017134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500017144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500017154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500017164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500017174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500017184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500017194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S315000171A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000171B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000171C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000171D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000171E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000171F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S31500017204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500017214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500017224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500017234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500017244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500017254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500017264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500017274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500017284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500017294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S315000172A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000172B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000172C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000172D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000172E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000172F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S31500017304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500017314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500017324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500017334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500017344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500017354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500017364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500017374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500017384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500017394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S315000173A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000173B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000173C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000173D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000173E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000173F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S31500017404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500017414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500017424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500017434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500017444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500017454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500017464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500017474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500017484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500017494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S315000174A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000174B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000174C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000174D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000174E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000174F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S31500017504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500017514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500017524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500017534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500017544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500017554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500017564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500017574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500017584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500017594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S315000175A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000175B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000175C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000175D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000175E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000175F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500017604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500017614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500017624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500017634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500017644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500017654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500017664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500017674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500017684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500017694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S315000176A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000176B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000176C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000176D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000176E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000176F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500017704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500017714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500017724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500017734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500017744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500017754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500017764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500017774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500017784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500017794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S315000177A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000177B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000177C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000177D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000177E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000177F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500017804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500017814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500017824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500017834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500017844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500017854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500017864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500017874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500017884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500017894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S315000178A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000178B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000178C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S315000178D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S315000178E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S315000178F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500017904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500017914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500017924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500017934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500017944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500017954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500017964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500017974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500017984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500017994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S315000179A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000179B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000179C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S315000179D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S315000179E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S315000179F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S31500017A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500017A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500017A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500017A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500017A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500017A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500017A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500017A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500017A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500017A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500017AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500017AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500017AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500017AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500017AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500017AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500017B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500017B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500017B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500017B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500017B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500017B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500017B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500017B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500017B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500017B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500017BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500017BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500017BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500017BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500017BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500017BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500017C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500017C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500017C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500017C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500017C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500017C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500017C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500017C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500017C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500017C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500017CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500017CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500017CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500017CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500017CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500017CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500017D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500017D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500017D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500017D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500017D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500017D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500017D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500017D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500017D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500017D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500017DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500017DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500017DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500017DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500017DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500017DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500017E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500017E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500017E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500017E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500017E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500017E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500017E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500017E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500017E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500017E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500017EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500017EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500017EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500017ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500017EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500017EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500017F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500017F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500017F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500017F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500017F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500017F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500017F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500017F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500017F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500017F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500017FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500017FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500017FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500017FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500017FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500017FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500018004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500018014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500018024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500018034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500018044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500018054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500018064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500018074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500018084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500018094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S315000180A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000180B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000180C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000180D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000180E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S315000180F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S31500018104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500018114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500018124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500018134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500018144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500018154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500018164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500018174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500018184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500018194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S315000181A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000181B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000181C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000181D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000181E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S315000181F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S31500018204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500018214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500018224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500018234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500018244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500018254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500018264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500018274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500018284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500018294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S315000182A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000182B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000182C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000182D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000182E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S315000182F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S31500018304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500018314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500018324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500018334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500018344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500018354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500018364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500018374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500018384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500018394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S315000183A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000183B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000183C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000183D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000183E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S315000183F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S31500018404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500018414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500018424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500018434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500018444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500018454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500018464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500018474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500018484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500018494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S315000184A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000184B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000184C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000184D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000184E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S315000184F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S31500018504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500018514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500018524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500018534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500018544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500018554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500018564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500018574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500018584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500018594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S315000185A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000185B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000185C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000185D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000185E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S315000185F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500018604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500018614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500018624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500018634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500018644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500018654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500018664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500018674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500018684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500018694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S315000186A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000186B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000186C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000186D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000186E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S315000186F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500018704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500018714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500018724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500018734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500018744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500018754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500018764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500018774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500018784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500018794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S315000187A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000187B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000187C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000187D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000187E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S315000187F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500018804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500018814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500018824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500018834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500018844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500018854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500018864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500018874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500018884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500018894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S315000188A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000188B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S315000188C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S315000188D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S315000188E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S315000188F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S31500018904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500018914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500018924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500018934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500018944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500018954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500018964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500018974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500018984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500018994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S315000189A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000189B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S315000189C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S315000189D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S315000189E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S315000189F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S31500018A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500018A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500018A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500018A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500018A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500018A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500018A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500018A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500018A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500018A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500018AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500018AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500018AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500018AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500018AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500018AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500018B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S31500018B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500018B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500018B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500018B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500018B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500018B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500018B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500018B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500018B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500018BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500018BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500018BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500018BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500018BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500018BF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31500018C04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69 +S31500018C14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59 +S31500018C24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49 +S31500018C34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39 +S31500018C44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29 +S31500018C54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19 +S31500018C64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09 +S31500018C74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9 +S31500018C84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9 +S31500018C94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 +S31500018CA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 +S31500018CB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9 +S31500018CC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9 +S31500018CD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 +S31500018CE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89 +S31500018CF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79 +S31500018D04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 +S31500018D14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 +S31500018D24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 +S31500018D34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 +S31500018D44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 +S31500018D54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 +S31500018D64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 +S31500018D74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 +S31500018D84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 +S31500018D94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 +S31500018DA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 +S31500018DB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 +S31500018DC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 +S31500018DD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 +S31500018DE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 +S31500018DF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 +S31500018E04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 +S31500018E14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 +S31500018E24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 +S31500018E34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 +S31500018E44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 +S31500018E54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 +S31500018E64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 +S31500018E74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 +S31500018E84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 +S31500018E94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 +S31500018EA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 +S31500018EB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 +S31500018EC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 +S31500018ED4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 +S31500018EE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 +S31500018EF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 +S31500018F04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 +S31500018F14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 +S31500018F24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 +S31500018F34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 +S31500018F44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 +S31500018F54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 +S31500018F64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 +S31500018F74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 +S31500018F84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 +S31500018F94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 +S31500018FA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 +S31500018FB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 +S31500018FC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 +S31500018FD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 +S31500018FE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 +S31500018FF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 +S31500019004FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 +S31500019014FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 +S31500019024FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 +S31500019034FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 +S31500019044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 +S31500019054FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 +S31500019064FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 +S31500019074FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 +S31500019084FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 +S31500019094FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 +S315000190A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 +S315000190B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 +S315000190C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 +S315000190D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 +S315000190E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 +S315000190F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 +S31500019104FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 +S31500019114FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 +S31500019124FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 +S31500019134FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 +S31500019144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 +S31500019154FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 +S31500019164FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 +S31500019174FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 +S31500019184FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 +S31500019194FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 +S315000191A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 +S315000191B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 +S315000191C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 +S315000191D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 +S315000191E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 +S315000191F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 +S31500019204FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 +S31500019214FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 +S31500019224FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 +S31500019234FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 +S31500019244FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 +S31500019254FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 +S31500019264FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 +S31500019274FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 +S31500019284FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 +S31500019294FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 +S315000192A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 +S315000192B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 +S315000192C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 +S315000192D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 +S315000192E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 +S315000192F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 +S31500019304FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 +S31500019314FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 +S31500019324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 +S31500019334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 +S31500019344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 +S31500019354FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 +S31500019364FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 +S31500019374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 +S31500019384FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 +S31500019394FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 +S315000193A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 +S315000193B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 +S315000193C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 +S315000193D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 +S315000193E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 +S315000193F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 +S31500019404FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 +S31500019414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 +S31500019424FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 +S31500019434FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 +S31500019444FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 +S31500019454FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 +S31500019464FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 +S31500019474FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 +S31500019484FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 +S31500019494FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 +S315000194A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 +S315000194B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 +S315000194C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 +S315000194D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 +S315000194E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 +S315000194F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 +S31500019504FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500019514FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50 +S31500019524FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40 +S31500019534FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500019544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500019554FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500019564FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500019574FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500019584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500019594FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S315000195A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S315000195B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S315000195C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S315000195D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S315000195E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S315000195F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500019604FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500019614FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500019624FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500019634FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500019644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500019654FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500019664FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500019674FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500019684FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500019694FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S315000196A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S315000196B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S315000196C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S315000196D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S315000196E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S315000196F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500019704FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500019714FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500019724FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500019734FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500019744FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500019754FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500019764FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500019774FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500019784FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500019794FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S315000197A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S315000197B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S315000197C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S315000197D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S315000197E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S315000197F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500019804FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D +S31500019814FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500019824FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500019834FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500019844FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500019854FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500019864FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500019874FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500019884FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500019894FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S315000198A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S315000198B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S315000198C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S315000198D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S315000198E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S315000198F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D +S31500019904FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C +S31500019914FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C +S31500019924FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C +S31500019934FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C +S31500019944FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C +S31500019954FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C +S31500019964FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC +S31500019974FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC +S31500019984FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC +S31500019994FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC +S315000199A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC +S315000199B4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC +S315000199C4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C +S315000199D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C +S315000199E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C +S315000199F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C +S31500019A04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B +S31500019A14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B +S31500019A24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S31500019A34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B +S31500019A44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B +S31500019A54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B +S31500019A64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB +S31500019A74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB +S31500019A84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB +S31500019A94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB +S31500019AA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB +S31500019AB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB +S31500019AC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B +S31500019AD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B +S31500019AE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B +S31500019AF4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B +S31500019B04FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A +S31500019B14FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A +S31500019B24FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A +S31500019B34FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A +S31500019B44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A +S31500019B54FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A +S31500019B64FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA +S31500019B74FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA +S31500019B84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA +S31500019B94FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA +S31500019BA4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA +S31500019BB4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA +S31500019BC4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A +S31500019BD4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A +S31500019BE4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A +S31100019BF4FFFFFFFFFFFFFFFFFFFFFFFF6A +S31500019C0048573031303020202020202020202020AD +S31500019C1030312E30312E303120202020203032308C +S31200019C20312020202020202020202020207F +S31500019C2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30 +S31500019C3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20 +S31500019C4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 +S31500019C5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00 +S31500019C6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 +S31500019C7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 +S31500019C8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0 +S31500019C9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 +S31500019CADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 +S31500019CBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0 +S31500019CCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90 +S31500019CDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 +S31500019CEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70 +S31500019CFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60 +S31500019D0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F +S31500019D1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F +S31500019D2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F +S31500019D3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F +S31500019D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F +S31500019D5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +S31500019D6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF +S31500019D7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF +S31500019D8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF +S31500019D9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF +S31500019DADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF +S31500019DBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F +S31500019DCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F +S31500019DDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F +S31500019DEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F +S31500019DFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F +S31500019E0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E +S31500019E1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E +S31500019E2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E +S31500019E3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E +S31500019E4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E +S31500019E5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE +S31500019E6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEE +S31500019E7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE +S31500019E8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE +S31500019E9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE +S31500019EADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE +S31500019EBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E +S31500019ECDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E +S31500019EDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E +S31500019EEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E +S31500019EFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E +S31500019F0DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D +S31500019F1DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D +S31500019F2DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D +S31500019F3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D +S31500019F4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D +S31500019F5DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD +S31500019F6DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED +S31500019F7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD +S31500019F8DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD +S31500019F9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD +S31500019FADFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD +S31500019FBDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D +S31500019FCDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D +S31500019FDDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D +S30800019FEDFFFFFF6D +S30900019FF0AA5555AA68 +S31100019FF4FFFFFFFFFFFFFFFFFFFFFFFF66 +S9030000FC diff --git a/ECU_APP/OutPut/VF12_RCP3_574222_FlsDrv_6600084844_0200.s19 b/ECU_APP/OutPut/VF12_RCP3_574222_FlsDrv_6600084844_0200.s19 new file mode 100644 index 0000000..89be07c --- /dev/null +++ b/ECU_APP/OutPut/VF12_RCP3_574222_FlsDrv_6600084844_0200.s19 @@ -0,0 +1,38 @@ +S01100000000486578766965772056312E3009 +S32500005A010102214E34FC0F009BFC0F00ADFC0F002CFD0F0071109008D70071189008D70050 +S32500005A21C7C5C3C1712090088EFDC1410F36B4FA32B4FB34800A11ABB9A7A7A5A51743DFC1 +S32500005A41F5C09EFDC0C2C4C6D700C7C5C3C1713090088EFDC1410F36B4FB3234FC34800B21 +S32500005A61EED3FF00C7C5C3C1721516348008F6B9A5A53544C00835DFF68EFDC1629EFD3138 +S32500005A8182A13DF1114E0261E8710091089F0308114E0061E8E19F010830800814BF040888 +S32500005AA1118C0199410E114FE8FFDC1411F9E9FF6142DC0C5200FCF8FF0E71009008EF0258 +S32500005AC15205C09EFDC062C2C4C6D7FFC35204EF0DC35200EF08C35202EF03C35206FE275F +S32500005AE10061F8EC800A0F511FC2D700C151FF500FEF1AC151475007EF13C151475007EFEE +S32500005B010CC151475047EF05C151F750075F90086148C0D7C7C5C18EFC758EFD74CEFC0FD3 +S32500005B2169740B61CBFCC4080F624CFFDD4771489008717890088F9008315539510F9EFCF0 +S32500005B41AF920861CB5203EF065206EF025208A80016410E11AFE6FF47DC1817312D9F02D9 +S32500005B6108609F0108F50008F50308300004BF0608EF655205659EFC649EFDC062C4C6C2F9 +S32500005B81D7A800168C00708C01BF04088C025C03DFE18C05D1DFDC8C06D1DDD74C41DED3F6 +S32500005BA170F1312DBF0608B1B1C5148C02708C03BF000805358C049F02081C003516157064 +S32500005BC1C4DCB0410E66113FDFFF67113FE0FF60113FE1FFDE9D520413FCF8FF0E624CFFD3 +S32500005BE1DF938F910831031071409008604C0361F871709008EE7DFFFCC4080FEFDF0000E7 +S32500005C010000000000000000B10AB50AB90AED0A910A0000C7C5C18EFC758EFD74CEFC0F8A +S32500005C2169F80B61CB308008BF04085210FCF8FF0ED2DF14635F80089F8008635C0161E8A0 +S32500005C41710080085211EF1271589008659EFC649EFDC062C4C6C2D75213FCF8FF0E624C28 +S32500005C61FFDF0C8F910831031571409008EFDD8F90083155D7510F9EFCAF920861CBFCC4FA +S32500005C81080FEFDA0000000000000000910BC40B00000000C1201414C80A0F8A2198008AFB +S32500005CA12298018A2398023024FAB808CEFC0FAEF8143624FA510F61FA9803D1DF3030D4AC +S32500005CC1F9B804C8060FCEFC0F36D4F961FACEFC0F30E0F9B810C8120F36E0F961FACEFC2D +S32500005CE10F300AFAB80CC80E0F360AFA61FAA814148803705110BA041016D7C1CEFC0F3665 +S32500005D01DAF961FAC4C5300020BA04C6D7C1200814AA0E12316CAA0C1631AE0360980117F8 +S32500005D215C036168DD058801819801AA0A12316CAA0831AE03609803F198008801708800B3 +S32500005D416148DD45150414001615041200148B9EFCA91661FA3091FAB804C8060FCEFC0F83 +S32500005D61C0C188036108318E3691FA61FA9802D1DF0DA80814300030BA04880081EFBAA839 +S32500005D8108148802705130BA04100AD7C12012148A085C0361E8EEB000AA10B804B806AAF9 +S32500005DA10AB800AA08B802B808A800B80AAA0E16440000AA0C1261F8440001DC250400FF08 +S32500005DC1BA0C1761C8B1BA0EC80C40A804040001BA10A802040001BA08A80061D8A1BA0AF7 +S32500005DE1EF191731ED1613312E0716625C03DD0317A11666980CF6BA0EBA0C15041400167A +S32500005E0115041200148B9EFCA91661FA309BFAB80EC8100FCEFC0F369BFAAEF804060061D6 +S32500005E21FA9800D1DF1AA81214300040BA04AA0E6168AA0C61F8616861E8EE5CFF1014D71D +S32500005E41A81214C0C15140EF03300540BA04EFEDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A +S32500005E61FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B +S705FFFFFFFFFE diff --git a/ECU_APP/QualityReport(ECU_APP,DefaultBuild).txt b/ECU_APP/QualityReport(ECU_APP,DefaultBuild).txt new file mode 100644 index 0000000..b41350d --- /dev/null +++ b/ECU_APP/QualityReport(ECU_APP,DefaultBuild).txt @@ -0,0 +1,314 @@ +QualityReport +2023骞7鏈8鏃 11:05:15 + +------ Start build(ECU_APP, DefaultBuild) ------ +E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\ccrl.exe user\appTask.c -cpu=S3 -obj_path=DefaultBuild "-dev=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10BBG.DVF" -g -g_line -I diagnose\DTC -I diagnose\CanTrcv -I sys -I . -I rscan_driver -I diagnose -I DataFlash -I CanNw -I diagnose\CanTp -I diagnose\CanIf -I user -D DEBUG1 -c -msg_lang=english +user\appTask.c(40):W0520172:External/internal linkage conflict with previous declaration +user\appTask.c(178):W0523082:Pointer to the object of even alignment holds the odd address +user\appTask.c(182):W0520513:A value of type "MotorStateEE_Type __near *" cannot be assigned to an entity of type "uint8_t *" +user\appTask.c(220):W0520513:A value of type "MotorStateEE_Type __near *" cannot be assigned to an entity of type "uint8_t *" +user\appTask.c(463):W0523077:Called function should have prototype +user\appTask.c(517):W0523077:Called function should have prototype +E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\Bin\rlink.exe -subcommand=DefaultBuild\ECU_APP.clnk +W0561017:The evaluation period of CC-RL V1 has expired. Please consider purchasing the product. +RAMDATA SECTION: 00000c81 Byte(s) +ROMDATA SECTION: 00000681 Byte(s) +PROGRAM SECTION: 00004e70 Byte(s) +W0561017:The evaluation period of CC-RL V1 has expired. Please consider purchasing the product. +W0561017:The evaluation period of CC-RL V1 has expired. Please consider purchasing the product. +Renesas Optimizing Linker Completed +------ Build ended(Error:0, Warning:9)(ECU_APP, DefaultBuild) ------ + +--- CommandFile 1 --- +DefaultBuild\ECU_APP.clnk : +-Input=DefaultBuild\cstart.obj +-Input=DefaultBuild\stkinit.obj +-Input=DefaultBuild\r_pfdl.obj +-Input=DefaultBuild\RL78_RCAN.obj +-Input=DefaultBuild\r_rl78_can_drv.obj +-Input=DefaultBuild\r_rl78_can_irq.obj +-Input=DefaultBuild\r_systeminit.obj +-Input=DefaultBuild\r_main.obj +-Input=DefaultBuild\r_cg_wdt_user.obj +-Input=DefaultBuild\r_cg_wdt.obj +-Input=DefaultBuild\r_cg_timer_user.obj +-Input=DefaultBuild\r_cg_timer.obj +-Input=DefaultBuild\r_cg_port_user.obj +-Input=DefaultBuild\r_cg_port.obj +-Input=DefaultBuild\r_cg_cgc_user.obj +-Input=DefaultBuild\r_cg_cgc.obj +-Input=DefaultBuild\r_cg_adc_user.obj +-Input=DefaultBuild\r_cg_adc.obj +-Input=DefaultBuild\VectorTable.obj +-Input=DefaultBuild\CanNw.obj +-Input=DefaultBuild\CanNwConfig.obj +-Input=DefaultBuild\Dcm_App.obj +-Input=DefaultBuild\Dcm_App_Cfg.obj +-Input=DefaultBuild\Dcm_Cfg.obj +-Input=DefaultBuild\Dcm_DID.obj +-Input=DefaultBuild\Dcm_DID_Cfg.obj +-Input=DefaultBuild\Dcm_Key.obj +-Input=DefaultBuild\extern.obj +-Input=DefaultBuild\CanIf.obj +-Input=DefaultBuild\CanIf_Cfg.obj +-Input=DefaultBuild\CanTp_Cfg.obj +-Input=DefaultBuild\CanTrcv.obj +-Input=DefaultBuild\CanTrcv_Cfg.obj +-Input=DefaultBuild\DCM_DTC.obj +-Input=DefaultBuild\Dcm.obj +-Input=DefaultBuild\CanTp.obj +-Input=DefaultBuild\appTask.obj +-Input=DefaultBuild\can_user.obj +-Input=DefaultBuild\hwCtrl.obj +-LIBrary=DataFlash\pfdl.lib +-SECURITY_ID=00000000000000000000 +-DEVICE=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10BBG.DVF +-DEBug +-NOCOmpress +-NOOPtimize +-OUtput=DefaultBuild\ECU_APP.abs +-LIBrary=E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\lib\rl78em4s.lib +-LIBrary=E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\lib\malloc_n.lib +-LIBrary=E:\Program Files (x86)\renesas\CS+\CC\CC-RL\V1.11.00\lib\rl78em4r.lib +-OCDBG=04 +-USER_OPT_BYTE=E933E8 +-LISt=DefaultBuild\ECU_APP.map +-SHow=Reference,Xreference,Total_size,STRUCT +-STARt=VectorRemapingAddr_n,.const,.text,.RLIB,.SLIB,PFDL_COD,.textf,.constf,.data,.sdata/0A000,DID_TBL_f/19C00,KAM_SEG_n/FE500,.dataR,.bss/FE510,.sdataR,.sbss/FFE20 +-ROm=.data=.dataR +-ROm=.sdata=.sdataR +-Message +-Total_size +-NOLOgo +-end +-Input=DefaultBuild\ECU_APP.abs +-DEVICE=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10BBG.DVF +-OUtput=DefaultBuild\ECU_APP.mot +-FOrm=Stype +-REcord=S3 +-BYte_count=10 +-Message +-end +-Input=DefaultBuild\ECU_APP.abs +-DEVICE=E:\Program Files (x86)\renesas\CS+\CC\Device\RL78\Devicefile\DR5F10BBG.DVF +-OUtput=output\ECU_APP.S19= A000-19FFF +-FOrm=Stype +-REcord=S3 +-SPace=FF +-BYte_count=10 +-Message +-exit + + +--- SHA1 hash value of output files --- +F:\FCB_project\temp\QJTYKG\CODE\ECU_APP\DefaultBuild\ECU_APP.abs: 3393fdfcf53e024b805b9329f40fd209069e05f2 +F:\FCB_project\temp\QJTYKG\CODE\ECU_APP\DefaultBuild\ECU_APP.mot: b8037c39ccdf9b91f8854348bb4d3f04e62a4226 +F:\FCB_project\temp\QJTYKG\CODE\ECU_APP\output\ECU_APP.S19: eec21cf453c16081b6888d759df9b8609d969337 + + +--- System Information --- +*OS Version + Microsoft Windows 10 涓撲笟鐗 (-, 10.0.19044, WOW64) +*Language + 涓枃(涓浗) +*.NET Framework Version + Microsoft .NET Framework 4 [.NET 4.6 or later] (4.0.30319.42000) + +--- Application Information --- +*Product Name + CS+ for CC +*Package Version + V8.07.00 [01 Dec 2021] +*Version + V9.07.00.06 [15 Nov 2021] +*Assembly Version + 3.12.10.1 +*Sales Area + Japan +*Product License + +*Execution Place + E:\Program Files (x86)\renesas\CS+\CC +*Memory Usage + *Private Working Set + 232 MB + *Number of GDI Objects + 2059 + *Number of USER Objects + 926 + *Opened Files + 1 editors, 1 files, 14 KB + +--- Build Tool Plug-in Information --- +RH850 Build tool CC-RH Plug-in + *Version + V8.02.00.00 [25 Mar 2019] + *Assembly Version + 1.1.10.12 + *DLL File Name + BuildToolCCRH.dll +RL78 Build tool CC-RL Plug-in + *Version + V8.05.00.00 [08 Oct 2020] + *Assembly Version + 1.0.0.0 + *DLL File Name + BuildToolCCRL.dll +RX Build tool CC-RX Plug-in + *Version + V8.02.00.00 [25 Mar 2019] + *Assembly Version + 3.12.10.1 + *DLL File Name + BuildToolCCRX.dll +RH850 Build tool GHS CCRH850 Plug-in + *Version + V1.05.00.00 [08 Oct 2020] + *Assembly Version + 1.0.0.0 + *DLL File Name + BuildToolGHSCCRH850.dll + +--- Debug Tool Plug-in Information --- +Debugger Collection Plug-in + *Version + V8.07.00.05 [01 Dec 2021] + *Assembly Version + 2.12.10.1 + *DLL File Name + DebugToolCollection.dll + +--- Other Plug-in Information --- +Code Generator Plug-in + *Version + V4.08.05.01 [14 Aug 2020] + *Assembly Version + 3.0.0.0 + *DLL File Name + CodePart.dll +Code Generator/PinView Plug-in + *Version + V2.10.07.02 [08 Nov 2021] + *Assembly Version + 1.0.0.0 + *DLL File Name + CodePart2.dll +Debug Console Plug-in + *Version + V7.00.00.01 [06 Apr 2018] + *Assembly Version + 7.0.0.0 + *DLL File Name + DebugConsole.dll +Quick and Effective tool solution - QE + *Version + V9.06.00.04 [25 May 2021] + *Assembly Version + 1.15.10.16 + *DLL File Name + InCarTools.dll +Pin Configurator Plug-in + *Version + V1.54.01.01 [31 Jul 2014] + *Assembly Version + 1.6.10.23 + *DLL File Name + PinConfig.dll +Program Analyzer Plug-in + *Version + V4.12.00.01 [14 Apr 2021] + *Assembly Version + 3.12.11.9 + *DLL File Name + ProgramAnalyzer.dll +IronPython Console Plug-in + *Version + V1.43.00.02 [29 Oct 2021] + *Assembly Version + 1.6.10.23 + *DLL File Name + PythonConsole.dll +Editor plug-in DLL + *Version + V1.17.00.01 [15 Oct 2020] + *Assembly Version + 1.1.0.0 + *DLL File Name + SEditor.dll +Stack Usage Tracer + *Version + V1.05.00.02 [30 Jul 2014] + *Assembly Version + 1.30.11.15 + *DLL File Name + Stk.dll +Update Manager Plug-in + *Version + V2.03.00.02 [29 Oct 2018] + *Assembly Version + 1.13.6.20 + *DLL File Name + Update.dll + +Debug Tool Common Interface + *Version + V8.07.00.05 [01 Dec 2021] + *Assembly Version + 3.12.10.1 + *DLL File Name + CommonDebuggerInterface.dll +Device Information Common Interface + *Version + V9.07.00.01 [14 Oct 2021] + *Assembly Version + 3.0.0.0 + *DLL File Name + DeviceInformation.dll + +--- Main Project Information --- +F:\FCB_project\temp\QJTYKG\CODE\ECU_APP\ECU_APP.mtpj +Microcontroller Information + *R5F10BBG + *File Name: Version + RL78_Productlist.xml: V8.070000 + R5F10BBG_common.xml: V1.13.00.XX.02 + DR5F10BBG.DVF: V1.11 + f13_bbx.ti: V1.01 + -: - + + +Build Tool Information + *CC-RL + * Version of plug-in(*.dll) + V8.07.00.03 [11 Nov 2021] + * The Version of the Compiler Package + V1.11.00 + + * The version of SMS Assembler + V1.00.00.01 [29 May 2020] + + +Debug Tool Information + *RL78 E1(Serial) + Debugger Library V8.07.00.05 [01 Dec 2021] + + +Other Tool Information + *None + + *None + + *Pin Configurator + *Program Analyzer + *Version + V4.12.00.01 [14 Apr 2021] + + *Code Generator +Other Information + *RL78/F13 Code Library + *Version + V2.03.07.02 [08 Nov 2021] + *Description + Code library for RL78/F13 code generation plugin. + + diff --git a/ECU_APP/cstart.asm b/ECU_APP/cstart.asm new file mode 100644 index 0000000..5b85b7b --- /dev/null +++ b/ECU_APP/cstart.asm @@ -0,0 +1,228 @@ +; Copyright (C) 2014 Renesas Electronics Corporation +; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY. +; This program must be used solely for the purpose for which +; it was furnished by Renesas Electronics Corporation. No part of this +; program may be reproduced or disclosed to others, in any +; form, without the prior written permission of Renesas Electronics +; Corporation. + +; NOTE : THIS IS A TYPICAL EXAMPLE. + +$IFNDEF __RENESAS_VERSION__ +__RENESAS_VERSION__ .EQU 0x01000000 +$ENDIF + + .public _start + .public _exit + +;----------------------------------------------------------------------------- +; RAM section +;----------------------------------------------------------------------------- +.SECTION .dataR, DATA +.SECTION .sdataR, DATA +; .SECTION .datafR, DATAF +; .SECTION .textfR, TEXTF + +$IF (__RENESAS_VERSION__ < 0x01010000) ; for CC-RL V1.00 +;----------------------------------------------------------------------------- +; stack area +;----------------------------------------------------------------------------- +; !!! [CAUTION] !!! +; Set up stack size suitable for a project. +.SECTION .stack_bss, BSS +_stackend: + .DS 0x200 +_stacktop: +$ENDIF + + +;----------------------------------------------------------------------------- +; RESET vector +;----------------------------------------------------------------------------- +_start .VECTOR 0 + +;----------------------------------------------------------------------------- +; startup +;----------------------------------------------------------------------------- +.SECTION .text, TEXT +_start: + ;-------------------------------------------------- + ; setting register bank + ;-------------------------------------------------- +; SEL RB0 + + ;-------------------------------------------------- + ; setting mirror area + ;-------------------------------------------------- +; ONEB !PMC ; mirror area = 10000-1FFFFH + + ;-------------------------------------------------- + ; setting the stack pointer + ;-------------------------------------------------- +$IF (__RENESAS_VERSION__ >= 0x01010000) + MOVW SP,#LOWW(__STACK_ADDR_START) +$ELSE ; for CC-RL V1.00 + MOVW SP,#LOWW(_stacktop) +$ENDIF + + ;-------------------------------------------------- + ; initializing stack area + ;-------------------------------------------------- +;$IF (__RENESAS_VERSION__ >= 0x01010000) +; MOVW AX,#LOWW(__STACK_ADDR_END) +;$ELSE ; for CC-RL V1.00 +; MOVW AX,#LOWW(_stackend) +;$ENDIF +; CALL !!_stkinit + + ;-------------------------------------------------- + ; hardware initialization + ;-------------------------------------------------- + CALL !!_hdwinit + + ;-------------------------------------------------- + ; initializing BSS + ;-------------------------------------------------- + ; clear external variables which doesn't have initial value (near) + MOVW HL,#LOWW(STARTOF(.bss)) + MOVW AX,#LOWW(STARTOF(.bss) + SIZEOF(.bss)) + BR $.L2_BSS +.L1_BSS: + MOV [HL+0],#0 + INCW HL +.L2_BSS: + CMPW AX,HL + BNZ $.L1_BSS + + ; clear saddr variables which doesn't have initial value + MOVW HL,#LOWW(STARTOF(.sbss)) + MOVW AX,#LOWW(STARTOF(.sbss) + SIZEOF(.sbss)) + BR $.L2_SBSS +.L1_SBSS: + MOV [HL+0],#0 + INCW HL +.L2_SBSS: + CMPW AX,HL + BNZ $.L1_SBSS + + ; clear external variables which doesn't have initial value (far) +; MOV ES,#HIGHW(STARTOF(.bssf)) +; MOVW HL,#LOWW(STARTOF(.bssf)) +; MOVW AX,#LOWW(STARTOF(.bssf) + SIZEOF(.bssf)) +; BR $.L2_BSSF +;.L1_BSSF: +; MOV ES:[HL+0],#0 +; INCW HL +;.L2_BSSF: +; CMPW AX,HL +; BNZ $.L1_BSSF + + ;-------------------------------------------------- + ; ROM data copy + ;-------------------------------------------------- + ; copy external variables having initial value (near) + MOV ES,#HIGHW(STARTOF(.data)) + MOVW BC,#LOWW(SIZEOF(.data)) + BR $.L2_DATA +.L1_DATA: + DECW BC + MOV A,ES:LOWW(STARTOF(.data))[BC] + MOV LOWW(STARTOF(.dataR))[BC],A +.L2_DATA: + CLRW AX + CMPW AX,BC + BNZ $.L1_DATA + + ; copy saddr variables having initial value + MOV ES,#HIGHW(STARTOF(.sdata)) + MOVW BC,#LOWW(SIZEOF(.sdata)) + BR $.L2_SDATA +.L1_SDATA: + DECW BC + MOV A,ES:LOWW(STARTOF(.sdata))[BC] + MOV LOWW(STARTOF(.sdataR))[BC],A +.L2_SDATA: + CLRW AX + CMPW AX,BC + BNZ $.L1_SDATA + + ; copy external variables having initial value (far) +; MOVW BC,#LOWW(SIZEOF(.dataf)) +; BR $.L2_DATAF +;.L1_DATAF: +; DECW BC +; MOV ES,#HIGHW(STARTOF(.dataf)) +; MOV A,ES:LOWW(STARTOF(.dataf))[BC] +; MOV ES,#HIGHW(STARTOF(.datafR)) +; MOV ES:LOWW(STARTOF(.datafR))[BC],A +;.L2_DATAF: +; CLRW AX +; CMPW AX,BC +; BNZ $.L1_DATAF + + ; copy .text to RAM +; MOV C,#HIGHW(STARTOF(.textf)) +; MOVW HL,#LOWW(STARTOF(.textf)) +; MOVW DE,#LOWW(STARTOF(.textfR)) +; BR $.L2_TEXT +;.L1_TEXT: +; MOV A,C +; MOV ES,A +; MOV A,ES:[HL] +; MOV [DE],A +; INCW DE +; INCW HL +; CLRW AX +; CMPW AX,HL +; SKNZ +; INC C +;.L2_TEXT: +; MOVW AX,HL +; CMPW AX,#LOWW(STARTOF(.text) + SIZEOF(.text)) +; BNZ $.L1_TEXT + + ;-------------------------------------------------- + ; call main function + ;-------------------------------------------------- + CALL !!_main ; main(); + + ;-------------------------------------------------- + ; call exit function + ;-------------------------------------------------- + CLRW AX ; exit(0) +_exit: + BR $_exit + +;----------------------------------------------------------------------------- +; section +;----------------------------------------------------------------------------- +$IF (__RENESAS_VERSION__ >= 0x01010000) +.SECTION .RLIB, TEXTF +.L_section_RLIB: +.SECTION .SLIB, TEXTF +.L_section_SLIB: +$ENDIF +.SECTION .textf, TEXTF +.L_section_textf: +.SECTION .const, CONST +.L_section_const: +.SECTION .constf, CONSTF +.L_section_constf: +.SECTION .data, DATA +.L_section_data: +;.SECTION .dataf, DATAF +;.L_section_dataf: +.SECTION .sdata, SDATA +.L_section_sdata: +.SECTION .bss, BSS +.L_section_bss: +;.SECTION .bssf, BSSF +;.L_section_bssf: +.SECTION .sbss, SBSS +.L_section_sbss: + +.SECTION User_Data, CONSTF +.ORG 0x19ff0 + +.DB4 0xAA5555AA + diff --git a/ECU_APP/diagnose/CanIf.h b/ECU_APP/diagnose/CanIf.h new file mode 100644 index 0000000..66cac02 --- /dev/null +++ b/ECU_APP/diagnose/CanIf.h @@ -0,0 +1,30 @@ +#if !defined(CANIF_H) +#define CANIF_H + +/***包含头文件***/ +#include "ComTypes.h" +#include "CanTrcv.h" +#include "CanIf_Cfg.h" +//#include "canhl.h" + + +/***API接口***/ +extern void ReInitCanIf_Parameter(void); +extern void CanIf_MainFunction(void); +extern void InitCanIf_Parameter(void); +extern void DeInitCanIf_Parameter(void); +extern ComStd_ReturnType SetCanIf_BusoffEvent(CanIf_ControllerErrorType LeCanIf_u_BusoffEvent); +extern ComStd_ReturnType SetCanIf_WakeUpEvent(CanIf_WakeUpSourceType LeCanIf_e_WakeUpSource); +extern ComStd_ReturnType ClrCanIf_WakeUpEvent(CanIf_WakeUpSourceType LeCanIf_e_WakeUpSource); +extern ComStd_ReturnType GetCanIf_WakeUpEvent(CanIf_WakeUpSourceType *LeCanIf_e_WakeUpSource); +extern ComStd_ReturnType SetCanIf_ControllerMode(CanIf_ControllerModeType LeCanIf_e_ControllerMode); +extern ComStd_ReturnType GetCanIf_ControllerMode(CanIf_ControllerModeType *LeCanIf_e_ControllerModePtr); +extern ComStd_ReturnType GetCanIf_TransceiverMode(CanTrcv_WorkModeType *LeCanIf_e_WorkModePtr); +extern ComStd_ReturnType SetCanIf_TransceiverMode(CanTrcv_WorkModeType LeCanIf_e_WorkMode); +extern void RxIndicationCanIf_Messages(CanIf_HwHandleType Hrh, CanIf_CanIdType LeCanIf_e_CanId, CanIf_CanDlcType LeCanIf_e_CanDlc, CanIf_CanDataType* LeCanIf_e_CanSduPtr); +extern ComStd_ReturnType TransmitCanIf_Buffer(CanIf_CanIdType LeCanIf_t_TxCanID,CanIf_CanDlcType LeCanIf_t_TxCanDlc,CanIf_CanDataType *LeCanIf_t_TxCanDataPtr); +extern void ConfirmCanIf_TxOK(ComUint8 LeCanIf_e_Hrh,CanIf_CanIdType LeCanIf_t_TxCanID); +extern ComStd_ReturnType ResetCanIf_Controller(ComUint8 LeCanIf_u_Channel); + + +#endif diff --git a/ECU_APP/diagnose/CanIf/CanIf.c b/ECU_APP/diagnose/CanIf/CanIf.c new file mode 100644 index 0000000..98bf5dd --- /dev/null +++ b/ECU_APP/diagnose/CanIf/CanIf.c @@ -0,0 +1,592 @@ +/**------------------历史版本信息------------------------------------------------------- + +** 修 改 人: + +** 版 本: V1.0 + +** 日 期: + +** 描 述: 初始版本 + +**-------------------------------------------------------------------------------------*/ +#include "CanIf.h" +//#include "CanNM.h" +/***************************************************************************************/ +static CanIf_ControllerModeType TeCanIf_e_ControllerMode; +static CanTrcv_WorkModeType TeCanTrcv_e_WorkMode; +static ComUint8 SeCanIf_u_IsInit; +static ComUint8 SeCanIf_u_WakeEvent; +static ComUint32 SeCanIf_u_TxQueueCounter; +static CanIf_TxQueueType TsCanIf_h_TxQueue[CANIF_CFG_MAX_TX_HANDLE]; + +extern unsigned char TransmitCAN_Message(unsigned int ID,unsigned char Dlc,unsigned char *Data); +/**************************************************************************************** +@函数名称 : void ClearCanIf_Queue(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/04/08 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void ClearCanIf_Queue(void) +{ + ComUint8 LeCanIf_u_Index; + + SeCanIf_u_TxQueueCounter = 0; + for(LeCanIf_u_Index = 0; LeCanIf_u_Index < CANIF_CFG_MAX_TX_HANDLE; LeCanIf_u_Index++) + { + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_CanId = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_CanDlc = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eQueued = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[0] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[1] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[2] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[3] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[4] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[5] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[6] = 0x00; + TsCanIf_h_TxQueue[LeCanIf_u_Index].eCanIf_Txdata[7] = 0x00; + } +} +/**************************************************************************************** +@函数名称 : void DeInitCanIf_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void DeInitCanIf_Parameter(void) +{ + SeCanIf_u_IsInit = COM_FALSE; +} +/**************************************************************************************** +@函数名称 : void ReInitCanIf_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/05/7 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void ReInitCanIf_Parameter(void) +{ + SeCanIf_u_IsInit = COM_TRUE; +} +/**************************************************************************************** +@函数名称 : void InitCanIf_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : called by main +*****************************************************************************************/ +void InitCanIf_Parameter(void) +{ + TeCanIf_e_ControllerMode = CANIF_CS_STOP; + TeCanTrcv_e_WorkMode = CANTRCV_STANDBY; + + ClearCanIf_Queue(); + + SeCanIf_u_IsInit = COM_TRUE; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType SetCanIf_BusoffEvent(void) + +@参数 : void + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : called by can module to indicator busoff event has happened +*****************************************************************************************/ +#if 0 +ComStd_ReturnType SetCanIf_BusoffEvent(CanIf_ControllerErrorType LeCanIf_u_BusoffEvent) +{ + (void)LeCanIf_u_BusoffEvent; + SetCanSM_BusoffEvent(LeCanIf_u_BusoffEvent); + return COM_E_OK; +} +#endif +/**************************************************************************************** +@函数名称 : ComStd_ReturnType ResetCanIf_Controller(ComUint8 LeCanIf_u_Channel) + +@参数 : LeCanIf_u_Channel + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/04/13 + +@版本 : V1.0 + +@备注 : called by can module to indicator busoff event has happened +*****************************************************************************************/ +ComStd_ReturnType ResetCanIf_Controller(ComUint8 LeCanIf_u_Channel) +{ + (void)LeCanIf_u_Channel; +#if 0 + ResetCan_Controller(); +#endif + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType SetCanIf_WakeUpEvent(CanIf_WakeUpSourceType LeCanIf_u_WakeUpSource) + +@参数 : CanIf_WakeUpSourceType LeCanIf_e_WakeUpSource + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : called by can/cantrcv/ICU module to indicator wakeup event has happened +*****************************************************************************************/ +ComStd_ReturnType SetCanIf_WakeUpEvent(CanIf_WakeUpSourceType LeCanIf_e_WakeUpSource) +{ + SeCanIf_u_WakeEvent |= LeCanIf_e_WakeUpSource; + //SetCanNM_NmMode(NMStatus_WAITCHECK,NoActiveLoad); + return COM_E_OK; +} +ComStd_ReturnType ClrCanIf_WakeUpEvent(CanIf_WakeUpSourceType LeCanIf_e_WakeUpSource) +{ + SeCanIf_u_WakeEvent &= ~LeCanIf_e_WakeUpSource; + return COM_E_OK; +} +ComStd_ReturnType GetCanIf_WakeUpEvent(CanIf_WakeUpSourceType *LeCanIf_e_WakeUpSource) +{ + *LeCanIf_e_WakeUpSource = SeCanIf_u_WakeEvent; + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType SetCanIf_ControllerMode(CanIf_ControllerModeType LeCanIf_e_RequestedMode) + +@参数 : CanIf_ControllerModeType LeCanIf_e_RequestedMode + +@返回值 : ComStd_ReturnType + +@描述 : Call by CanSM + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : CanIf Layer Set Controller RequestMode +*****************************************************************************************/ +ComStd_ReturnType SetCanIf_ControllerMode(CanIf_ControllerModeType LeCanIf_e_RequestedMode) +{ +#if 0 + SetCan_ControllerMode(LeCanIf_e_RequestedMode); + TeCanIf_e_ControllerMode = LeCanIf_e_RequestedMode; +#endif + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType GetCanIf_ControllerMode(CanIf_ControllerModeType *LeCanIf_e_ControllerModePtr) + +@参数 : CanIf_ControllerModeType *LeCanIf_e_ControllerModePtr + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : Upper Layer Get Controller Mode +*****************************************************************************************/ +ComStd_ReturnType GetCanIf_ControllerMode(CanIf_ControllerModeType *LeCanIf_e_ControllerModePtr) +{ + *LeCanIf_e_ControllerModePtr = TeCanIf_e_ControllerMode; + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType GetCanIf_TransceiverMode(CanTrcv_WorkModeType *LeCanIf_e_WorkModePtr) + +@参数 : CanTrcv_WorkModeType *LeCanIf_e_WorkModePtr + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : Upper Layer Get Transceive Mode +*****************************************************************************************/ +ComStd_ReturnType GetCanIf_TransceiverMode(CanTrcv_WorkModeType *LeCanIf_e_WorkModePtr) +{ + *LeCanIf_e_WorkModePtr = TeCanTrcv_e_WorkMode; + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : ComStd_ReturnType SetCanIf_TransceiverMode(CanTrcv_WorkModeType LeCanIf_e_WorkMode) + +@参数 : CanTrcv_WorkModeType LeCanIf_e_WorkMode + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +ComStd_ReturnType SetCanIf_TransceiverMode(CanTrcv_WorkModeType LeCanIf_e_WorkMode) +{ + SetCanTrcv_WorkMode(LeCanIf_e_WorkMode); + TeCanTrcv_e_WorkMode = LeCanIf_e_WorkMode; + return COM_E_OK; +} +/**************************************************************************************** +@函数名称 : void RxIndicationCanIf_Messages(CanIf_HwHandleType LeCanIf_e_Hrh, CanIf_CanIdType LeCanIf_e_CanId, CanIf_CanDlcType LeCanIf_e_CanDlc, const CanIf_CanDataType* LeCanIf_e_CanSduPtr) + +@参数 : CanIf_HwHandleType LeCanIf_e_Hrh, CanIf_CanIdType LeCanIf_e_CanId, CanIf_CanDlcType LeCanIf_e_CanDlc, const CanIf_CanDataType* LeCanIf_e_CanSduPtr + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/03/16 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void RxIndicationCanIf_Messages(CanIf_HwHandleType LeCanIf_e_Hrh, CanIf_CanIdType LeCanIf_e_CanId, CanIf_CanDlcType LeCanIf_e_CanDlc, CanIf_CanDataType* LeCanIf_e_CanSduPtr) +{ + CanIf_PduIdType LeCanIf_e_RxPduId = 0; + uint16_t temp; + (void)LeCanIf_e_Hrh; + /* No Rx-Pdus or Ranges configured. Nothing to search. */ + if (0 != CANIF_CFG_GENERIC(eMaxRxPDUHandle)) + { + /* Checked for invalid RxPduId earlier */ + for(LeCanIf_e_RxPduId = 0;LeCanIf_e_RxPduId < CANIF_CFG_GENERIC(eMaxRxPDUHandle);LeCanIf_e_RxPduId++) + { + temp = CANIF_CFG_GENERIC(eMaxRxPDUHandle); + temp = CANIF_CFG_CANRX_TABLE(LeCanIf_e_RxPduId,eRxCanId); + if( CANIF_CFG_CANRX_TABLE(LeCanIf_e_RxPduId,eRxCanId) == LeCanIf_e_CanId ) + { + /* ID matches - Pdu identified */ + /* DLC check - if configured DLC == 0 the following condition is always false and DLC check is deactivated */ + CanIf_RxIndicationType rxIndicationFct; + if (LeCanIf_e_CanDlc != CANIF_CFG_CANRX_TABLE(LeCanIf_e_RxPduId, eRxCanDlc) ) + { + /*DLC Error*/ + rxIndicationFct = CANIF_CFG_CANRX_TABLE(LeCanIf_e_RxPduId,eCanIf_RxErrorFct); + if(COM_NULL_PTR != rxIndicationFct) + { + rxIndicationFct(LeCanIf_e_Hrh,LeCanIf_e_CanId,LeCanIf_e_CanDlc,LeCanIf_e_CanSduPtr); + } + else + { + /*Avoid Warning*/ + } + } + else + { + rxIndicationFct = CANIF_CFG_CANRX_TABLE(LeCanIf_e_RxPduId,eCanIf_RxIndicationFct); + if(COM_NULL_PTR != rxIndicationFct) + { + rxIndicationFct(LeCanIf_e_Hrh,LeCanIf_e_CanId,LeCanIf_e_CanDlc,LeCanIf_e_CanSduPtr); + } + else + { + /*Avoid Warning*/ + } + } + break; + } + else + { + /*Avoid Warning*/ + } + } + } + else + { + /*Avoid Warning*/ + } +} + +/**************************************************************************************** +@函数名称 : ComStd_ReturnType TransmitCanIf_Buffer(CanIf_CanIdType LeCanIf_t_TxCanID,CanIf_CanDlcType LeCanIf_t_TxCanDlc,CanIf_CanDataType *LeCanIf_t_TxCanDataPtr) + +@参数 : CanIf_CanIdType LeCanIf_t_TxCanID,CanIf_CanDlcType LeCanIf_t_TxCanDlc,CanIf_CanDataType *LeCanIf_t_TxCanDataPtr + +@返回值 : ComStd_ReturnType + +@描述 : + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +ComStd_ReturnType TransmitCanIf_Buffer(CanIf_CanIdType LeCanIf_t_TxCanID,CanIf_CanDlcType LeCanIf_t_TxCanDlc,CanIf_CanDataType *LeCanIf_t_TxCanDataPtr) +{ + Can_ReturnType txResult = CAN_OK; /*or CAN_OK*/ + +#if 0 + AC_DiagResp.RcvId = LeCanIf_t_TxCanID; + AC_DiagResp.RcvDLC = LeCanIf_t_TxCanDlc; + AC_DiagResp.Data[0] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[1] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[2] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[3] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[4] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[5] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[6] = *LeCanIf_t_TxCanDataPtr++; + AC_DiagResp.Data[7] = *LeCanIf_t_TxCanDataPtr; +#endif + + CanIf_EnterCritical(); +#if 0 + txResult = CanSnd(CanBufDsc[9]);//TransmitCAN_Message(LeCanIf_t_TxCanID,LeCanIf_t_TxCanDlc,LeCanIf_t_TxCanDataPtr); +#endif + txResult = TransmitCAN_Message(LeCanIf_t_TxCanID,LeCanIf_t_TxCanDlc,LeCanIf_t_TxCanDataPtr); + CanIf_LeaveCritical(); + + /*发送失败*/ + if(CAN_NOT_OK == txResult) + { + CanIf_uint8Type LeCanIf_e_TxPduId; + for(LeCanIf_e_TxPduId = 0;LeCanIf_e_TxPduId < CANIF_CFG_GENERIC(eMaxTxPDUHandle);LeCanIf_e_TxPduId++) + { + if( CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eTxCanId) == LeCanIf_t_TxCanID ) + { + CanIf_uint8Type LeCanIf_e_TxDataCycle; + + TsCanIf_h_TxQueue[CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eQueuedIndex)].eCanIf_CanId = LeCanIf_t_TxCanID; + TsCanIf_h_TxQueue[CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eQueuedIndex)].eCanIf_CanDlc = LeCanIf_t_TxCanDlc; + for(LeCanIf_e_TxDataCycle = 0;LeCanIf_e_TxDataCycle < LeCanIf_t_TxCanDlc;LeCanIf_e_TxDataCycle++) + { + TsCanIf_h_TxQueue[CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eQueuedIndex)].eCanIf_Txdata[LeCanIf_e_TxDataCycle] = LeCanIf_t_TxCanDataPtr[LeCanIf_e_TxDataCycle]; + } + TsCanIf_h_TxQueue[CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eQueuedIndex)].eQueued = 1; + SeCanIf_u_TxQueueCounter |= ( 1 << (CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eQueuedIndex)) ); + + break; + } + else + { + + } + } + } + else + { + /*Tx OK == do nothing */ + } + return (ComStd_ReturnType)txResult; +} +/**************************************************************************************** +@函数名称 : void TreatCanIf_TxQueue(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/04/08 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +#if 0 +void TreatCanIf_TxQueue(void) +{ + if(0 != SeCanIf_u_TxQueueCounter) + { + Can_ReturnType txResult = CAN_NOT_OK; + CanIf_uint8Type LeCanIf_e_Index = 0; + + for(LeCanIf_e_Index = 0;LeCanIf_e_Index < CANIF_CFG_MAX_TX_HANDLE;LeCanIf_e_Index++) + { + if(0 != TsCanIf_h_TxQueue[LeCanIf_e_Index].eQueued) + { + txResult = TransmitCAN_Message(TsCanIf_h_TxQueue[LeCanIf_e_Index].eCanIf_CanId,TsCanIf_h_TxQueue[LeCanIf_e_Index].eCanIf_CanDlc,TsCanIf_h_TxQueue[LeCanIf_e_Index].eCanIf_Txdata); + if(CAN_OK == txResult) + { + TsCanIf_h_TxQueue[LeCanIf_e_Index].eQueued = 0; + SeCanIf_u_TxQueueCounter &= ~( 1 << LeCanIf_e_Index ); + } + else + { + + } + break; + } + else + { + + } + } + } + else + { + + } +} +#endif +/**************************************************************************************** +@函数名称 : void ConfirmCanIf_TxOK(CanIf_CanIdType LeCanIf_t_TxCanID) + +@参数 : LeCanIf_t_TxCanID + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/04/08 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +#if 0 +void ConfirmCanIf_TxOK(ComUint8 LeCanIf_e_Hrh,CanIf_CanIdType LeCanIf_t_TxCanID) +{ + CanIf_PduIdType LeCanIf_e_TxPduId = 0; + + if(0 != CANIF_CFG_MAX_TX_HANDLE) + { + /* Checked for invalid RxPduId earlier */ + for(LeCanIf_e_TxPduId = 0;LeCanIf_e_TxPduId < CANIF_CFG_GENERIC(eMaxTxPDUHandle);LeCanIf_e_TxPduId++) + { + if( CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eTxCanId) == LeCanIf_t_TxCanID ) + { + CanIf_TxConfirmationType TxConfirmationFct; + TxConfirmationFct = CANIF_CFG_CANTX_TABLE(LeCanIf_e_TxPduId,eCanIf_TxConfirmationFct); + if(COM_NULL_PTR != TxConfirmationFct) + { + TxConfirmationFct(LeCanIf_e_Hrh,LeCanIf_t_TxCanID); + } + else + { + /*Avoid Warning*/ + } + break; + } + else + { + /*Avoid Warning*/ + } + } + } + else + { + + } + CanIf_EnterCritical(); + TreatCanIf_TxQueue(); + CanIf_LeaveCritical(); +} +#endif +/**************************************************************************************** +@函数名称 : void CanIf_MainFunction(void) + +@参数 : void + +@返回值 : void + +@描述 : 10ms周期调用 + +@最后编辑时间 : 2015/03/14 + +@版本 : V1.0 + +@备注 : CanIf层TASK +*****************************************************************************************/ +void CanIf_MainFunction(void) +{ + if( COM_FALSE != SeCanIf_u_IsInit ) + { + if( (CANIF_CS_STOP == TeCanIf_e_ControllerMode) && (CANTRCV_STANDBY == TeCanTrcv_e_WorkMode) ) + { + /*有总线唤醒事件,在此增加代码*/ + } + else + { + + } + } + else + { + /*Avoid Warning*/ + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ECU_APP/diagnose/CanIf/CanIf.h b/ECU_APP/diagnose/CanIf/CanIf.h new file mode 100644 index 0000000..120e078 --- /dev/null +++ b/ECU_APP/diagnose/CanIf/CanIf.h @@ -0,0 +1,57 @@ +#if !defined(CANIF_H) +#define CANIF_H + +/***包含头文件***/ +//#include "global.h" +#include "ComTypes.h" +#include "CanTrcv.h" +#include "CanIf_Cfg.h" +//#include "canhl.h" +typedef struct +{ + uint32_t Arb; //!> 4; + + if((SeCanTp_e_TpSts == CeCanTp_e_SF_Get)/*已接收到单帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_MF_Get)/*已接收到多帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_Answer))/*当前正在响应*/ + { + if((SeCanTp_e_TpSts == CeCanTp_e_Answer) && (SeCanTp_e_MFTxSts == CeCanTp_e_TX_FCWaiting))/*反馈阶段 发送多帧数据*/ + { + if(LeCanTp_u_FrameInfo == 3)/*FC*/ + { + if((LeCanTp_e_CanSduPtr[0]&0x0F) == 0x00)/*FS判断 正常*/ + { + SeCanTp_e_MFTxSts = CeCanTp_e_TX_CFGaving; + + if(LeCanTp_e_CanSduPtr[1] == 0) + { + SeCanTp_u_BS = CANTP_MFLEN_MAX; + } + else + { + SeCanTp_u_BS = LeCanTp_e_CanSduPtr[1]; + } + + if(SeCanTp_u_STmin < 0x7FU) + { + SeCanTp_u_STmin = ((LeCanTp_e_CanSduPtr[2]-1)/CANTP_TASK)+1; + } + else + { + SeCanTp_u_STmin = 0; + } + + SeCanTp_u_MFTxSpacing = 0;/*开始最小间隔计时*/ + SeCanTp_u_Timer = 0; + } + else if((LeCanTp_e_CanSduPtr[0]&0x0F) == 0x01)/*FS判断 等待*/ + { + /*等待 清空计时器 再等一个 bs*/ + SeCanTp_u_Timer = 0; + } + else + { + /*过载丢帧*/ + SeCanTp_e_MFTxSts = CeCanTp_e_TX_Idel; + SeCanTp_e_TpSts = CeCanTp_e_Idel; + SeCanTp_e_TxSts = CeCanTp_e_Tx_Idle; + } + } + } + else{/*丢帧*/} + } + else + { + if(LeCanTp_u_FrameInfo == 0)/*SF*/ + { + SeCanTp_u_RxLen = LeCanTp_e_CanSduPtr[0]&0x0f; + if((SeCanTp_u_RxLen < 8) && (SeCanTp_u_RxLen > 0)) + { + SeCanTp_e_TpSts = CeCanTp_e_SF_Get;/*单帧接收*/ + + SeCanTp_e_AddrMethod = CeCanTp_e_Physical; + for(LeCanTp_u_DataIndex = 0;LeCanTp_u_DataIndex < SeCanTp_u_RxLen;LeCanTp_u_DataIndex++) + { + SaCanTp_u_RxSFBuffer[LeCanTp_u_DataIndex] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex+1]; + } + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + } + else + {/*丢帧*/} + } + else if(LeCanTp_u_FrameInfo == 1)/*FF*/ + { + SeCanTp_u_RxLen =(uint16)(((uint16)(LeCanTp_e_CanSduPtr[0] & 0x0f) << 8) + (uint16)LeCanTp_e_CanSduPtr[1]); + if(SeCanTp_u_RxLen > CANTP_MFLEN_MAX) // add for 15765-2-6.5.2.2 + { + /*丢帧*/ + /*直接回复过载流控帧*/ + SaCanTp_u_TxBuffer[0] = 0x30; + SaCanTp_u_TxBuffer[1] = 2; + SaCanTp_u_TxBuffer[2] = CANTP_RX_STMIN; + + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + } + else if(SeCanTp_u_RxLen > 7) + { + SeCanTp_e_AddrMethod = CeCanTp_e_Physical; + + /*获得多帧长度*/ + SeCanTp_u_RxMFDataCnt = 0; + + /*获得前6个数据*/ + for(LeCanTp_u_DataIndex = 2;LeCanTp_u_DataIndex < 8;LeCanTp_u_DataIndex++) + { + SaCanTp_u_RxMFBuffer[SeCanTp_u_RxMFDataCnt] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex]; + SeCanTp_u_RxMFDataCnt++; + } + SeCanTp_u_LastSN = 1; + + /*直接回复流控帧*/ + SaCanTp_u_TxBuffer[0] = 0x30; + SaCanTp_u_TxBuffer[1] = 0; + SaCanTp_u_TxBuffer[2] = CANTP_RX_STMIN; + + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_e_TpSts = CeCanTp_e_MF_CFTakein;/*等待接收后续帧*/ + + SeCanTp_e_TimerSwitch = CeCanTp_e_Cr; + SeCanTp_u_Timer = 0; + } + else + {/*丢帧*/} + } + else if(LeCanTp_u_FrameInfo == 2)/*CF*/ + { + if(SeCanTp_e_TpSts == CeCanTp_e_MF_CFTakein) + { + /*检验SN*/ + SeCanTp_u_Timer = 0; + + if((LeCanTp_e_CanSduPtr[0]&0x0F) == (SeCanTp_u_LastSN & 0x0F)) + { + /*获得数据*/ + SeCanTp_u_LastSN++; + if((LeCanTp_e_CanDlc < 8)&&(LeCanTp_e_CanDlc >0)&&(SeCanTp_u_RxMFDataCnt < (SeCanTp_u_RxLen - LeCanTp_e_CanDlc))) + { + SeCanTp_e_TpSts = CeCanTp_e_Idel; // 错误的DLC + } + else + { + for(LeCanTp_u_DataIndex = 1;LeCanTp_u_DataIndex < 8;LeCanTp_u_DataIndex++) + { + if(SeCanTp_u_RxMFDataCnt < SeCanTp_u_RxLen) + { + SaCanTp_u_RxMFBuffer[SeCanTp_u_RxMFDataCnt] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex]; + SeCanTp_u_RxMFDataCnt++; + } + else + { + /*数据接收完毕*/ + SeCanTp_e_TpSts = CeCanTp_e_MF_Get; + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + break; + } + + if(SeCanTp_u_RxMFDataCnt == SeCanTp_u_RxLen) + { + /*数据接收完毕*/ + SeCanTp_e_TpSts = CeCanTp_e_MF_Get; + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + break; + } + } + } + + } + else + { + /*SN错误 丢帧*/ + SeCanTp_e_TpSts = CeCanTp_e_Idel; + } + } + else + { + /*当前不是 多帧接受后续帧阶段 丢帧*/ + } + } + else + { + /*不接受 流控帧 与 其他状态帧*/ + } + } + } + else + { + + } +} + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : CanIf调用 给TP数据函数 功能寻址 + + *编辑时间 : + + *备注 : + *****************************************************************************/ +#if (CANTP_ADDRFUNC_MF_FORBID == DAMING_TRUE) +void RxIndicationCanTP_AddrFunc_Message(CanIf_HwHandleType LeCanTp_e_Hrh, + CanIf_CanIdType LeCanTp_e_CanId, + CanIf_CanDlcType LeCanTp_e_CanDlc, + const CanIf_CanDataType LeCanTp_e_CanSduPtr[]) +{ + uint8 LeCanTp_u_FrameInfo = 0; + uint8 LeCanTp_u_DataIndex; + + (void)LeCanTp_e_Hrh; + (void)LeCanTp_e_CanDlc; + + if(LeCanTp_e_CanId == CANTP_ADDR_FUNC_REQ) + { + LeCanTp_u_FrameInfo = LeCanTp_e_CanSduPtr[0] >> 4; + + if((SeCanTp_e_TpSts == CeCanTp_e_SF_Get)/*已接收到单帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_MF_Get)/*已接收到多帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_Answer))/*当前正在响应*/ + { + if((SeCanTp_e_TpSts == CeCanTp_e_Answer) && (SeCanTp_e_MFTxSts == CeCanTp_e_TX_FCWaiting))/*反馈阶段 发送多帧数据*/ + { + if(LeCanTp_u_FrameInfo == 3)/*FC*/ + { + if((LeCanTp_e_CanSduPtr[0]&0x0F) == 0x00)/*FS判断 正常*/ + { + SeCanTp_e_MFTxSts = CeCanTp_e_TX_CFGaving; + + if(LeCanTp_e_CanSduPtr[1] == 0) + { + SeCanTp_u_BS = CANTP_MFLEN_MAX; + } + else + { + SeCanTp_u_BS = LeCanTp_e_CanSduPtr[1]; + } + + if(SeCanTp_u_STmin < 0x7FU) + { + SeCanTp_u_STmin = ((LeCanTp_e_CanSduPtr[2]-1)/CANTP_TASK)+1; + } + else + { + SeCanTp_u_STmin = 0; + } + + SeCanTp_u_MFTxSpacing = 0;/*开始最小间隔计时*/ + } + else if((LeCanTp_e_CanSduPtr[0]&0x0F) == 0x01)/*FS判断 等待*/ + { + /*等待 清空计时器 再等一个 bs*/ + SeCanTp_u_Timer = 0; + } + else + { + /*过载丢帧*/ + SeCanTp_e_MFTxSts = CeCanTp_e_TX_Idel; + SeCanTp_e_TpSts = CeCanTp_e_Idel; + SeCanTp_e_TxSts = CeCanTp_e_Tx_Idle; + } + } + } + } + else + { + if(LeCanTp_u_FrameInfo == 0)/*SF*/ + { + SeCanTp_u_RxLen = LeCanTp_e_CanSduPtr[0]&0x0f; + if((SeCanTp_u_RxLen < 8) && (SeCanTp_u_RxLen > 0)) + { + SeCanTp_e_TpSts = CeCanTp_e_SF_Get;/*单帧接收*/ + + SeCanTp_e_AddrMethod = CeCanTp_e_Functional; + for(LeCanTp_u_DataIndex = 0;LeCanTp_u_DataIndex < SeCanTp_u_RxLen;LeCanTp_u_DataIndex++) + { + SaCanTp_u_RxSFBuffer[LeCanTp_u_DataIndex] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex+1]; + } + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + } + else + {/*丢帧*/} + } + + else if(LeCanTp_u_FrameInfo == 1)/*FF*/ + { + SeCanTp_u_RxLen =(uint16)(((uint16)(LeCanTp_e_CanSduPtr[0] & 0x0f) << 8) + (uint16)LeCanTp_e_CanSduPtr[1]); + + if(SeCanTp_u_RxLen > 7) + { + SeCanTp_e_AddrMethod = CeCanTp_e_Functional; + + /*获得多帧长度*/ + //SeCanTp_u_RxLen =(uint16)(((uint16)(LeCanTp_e_CanSduPtr[0] & 0x0f) << 8) + (uint16)LeCanTp_e_CanSduPtr[1]); + SeCanTp_u_RxMFDataCnt = 0; + + /*获得前6个数据*/ + for(LeCanTp_u_DataIndex = 2;LeCanTp_u_DataIndex < 8;LeCanTp_u_DataIndex++) + { + SaCanTp_u_RxMFBuffer[SeCanTp_u_RxMFDataCnt] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex]; + SeCanTp_u_RxMFDataCnt++; + } + SeCanTp_u_LastSN = 1; + + /*直接回复流控帧*/ + SaCanTp_u_TxBuffer[0] = 0x30; + SaCanTp_u_TxBuffer[1] = 0; + SaCanTp_u_TxBuffer[2] = CANTP_RX_STMIN; + + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_e_TpSts = CeCanTp_e_MF_CFTakein;/*等待接收后续帧*/ + + SeCanTp_e_TimerSwitch = CeCanTp_e_Cr; + SeCanTp_u_Timer = 0; + } + else + {/*丢帧*/} + } + else if(LeCanTp_u_FrameInfo == 2)/*CF*/ + { + if(SeCanTp_e_TpSts == CeCanTp_e_MF_CFTakein) + { + /*检验SN*/ + if((LeCanTp_e_CanSduPtr[0]&0x0F) == ((SeCanTp_u_LastSN+1)&0x0F)) + { + /*获得数据*/ + SeCanTp_u_LastSN++; + + for(LeCanTp_u_DataIndex = 1;LeCanTp_u_DataIndex < 8;LeCanTp_u_DataIndex++) + { + if(SeCanTp_u_RxMFDataCnt < SeCanTp_u_RxLen) + { + SaCanTp_u_RxMFBuffer[SeCanTp_u_RxMFDataCnt] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex]; + SeCanTp_u_RxMFDataCnt++; + } + else + { + /*数据接收完毕*/ + SeCanTp_e_TpSts = CeCanTp_e_MF_Get; + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + break; + } + + if(SeCanTp_u_RxMFDataCnt == SeCanTp_u_RxLen) + { + /*数据接收完毕*/ + SeCanTp_e_TpSts = CeCanTp_e_MF_Get; + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + break; + } + } + } + else + { + /*SN错误 丢帧*/ + SeCanTp_e_TpSts = CeCanTp_e_Idel; + } + } + else + { + /*当前不是 多帧接受后续帧阶段 丢帧*/ + } + } + else + { + /*不接受 流控帧 与 其他状态帧*/ + } + } + } + else + {} +} +#else +void RxIndicationCanTP_AddrFunc_Message(CanIf_HwHandleType LeCanTp_e_Hrh, + CanIf_CanIdType LeCanTp_e_CanId, + CanIf_CanDlcType LeCanTp_e_CanDlc, + const CanIf_CanDataType LeCanTp_e_CanSduPtr[]) +{ + uint8 LeCanTp_u_FrameInfo = 0; + uint8 LeCanTp_u_DataIndex; + + (void)LeCanTp_e_Hrh; + (void)LeCanTp_e_CanDlc; + + if(LeCanTp_e_CanId == CANTP_ADDR_FUNC_REQ) + { + LeCanTp_u_FrameInfo = LeCanTp_e_CanSduPtr[0] >> 4; + + if((SeCanTp_e_TpSts == CeCanTp_e_SF_Get)/*已接收到单帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_MF_Get)/*已接收到多帧*/ + ||(SeCanTp_e_TpSts == CeCanTp_e_Answer))/*当前正在响应*/ + { + /*丢帧*/ + } + else + { + if(LeCanTp_u_FrameInfo == 0)/*SF*/ + { + SeCanTp_u_RxLen = LeCanTp_e_CanSduPtr[0]&0x0f; + if(SeCanTp_u_RxLen < 8) + { + SeCanTp_e_TpSts = CeCanTp_e_SF_Get;/*单帧接收*/ + + SeCanTp_e_AddrMethod = CeCanTp_e_Functional; + for(LeCanTp_u_DataIndex = 0;LeCanTp_u_DataIndex < SeCanTp_u_RxLen;LeCanTp_u_DataIndex++) + { + SaCanTp_u_RxSFBuffer[LeCanTp_u_DataIndex] = LeCanTp_e_CanSduPtr[LeCanTp_u_DataIndex+1]; + } + + SeCanTp_u_RespFlag = DAMING_TRUE; + SeCanTp_w_RespTimer = 1000U; + } + else + {/*丢帧*/} + } + } + } + else + {} +} +#endif + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : 发送 + + *编辑时间 : + + *备注 : + *****************************************************************************/ +TeCanTp_e_TxResult SetCanTp_TxBuffer(uint16 LeCanTp_p_DL , const uint8 LeCanTp_p_DataAddr[]) +{ + TeCanTp_e_TxResult LeCanTp_e_TxResult; + uint16 LeCanTp_s_Index; + + /*只有在反馈阶段 可以发送数据*/ + if ((SeCanTp_e_TpSts == CeCanTp_e_Answer) && (SeCanTp_e_TxSts == CeCanTp_e_Tx_Idle)) + { + SeCanTp_u_RespFlag = DAMING_FALSE; + SeCanTp_w_RespTimer = 1000U; + + if(LeCanTp_p_DL == 0) + { + /*该报文无反馈*/ + SeCanTp_e_TpSts = CeCanTp_e_Idel; + } + else if(LeCanTp_p_DL < 8) + { + /*单帧 直接发送*/ + SaCanTp_u_TxBuffer[0] = (uint8)LeCanTp_p_DL; + + for(LeCanTp_s_Index = 1; LeCanTp_s_Index < 8; LeCanTp_s_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_s_Index] = 0x55; + } + + for(LeCanTp_s_Index = 0; LeCanTp_s_Index < LeCanTp_p_DL; LeCanTp_s_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_s_Index + 1] = LeCanTp_p_DataAddr[LeCanTp_s_Index]; + } + + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_e_TpSts = CeCanTp_e_Idel; + } + else + { + /*多帧报文*/ + SeCanTp_e_TxSts = CeCanTp_e_Tx_Busy; + + /*数据提取*/ + for(LeCanTp_s_Index = 0; LeCanTp_s_Index < LeCanTp_p_DL; LeCanTp_s_Index++) + { + SaCanTp_u_TxDataBuffer[LeCanTp_s_Index] = LeCanTp_p_DataAddr[LeCanTp_s_Index]; + } + + SeCanTp_u_TxLen = LeCanTp_p_DL; + + + /*发送首帧*/ + SaCanTp_u_TxBuffer[0] = 0x10 + (uint8)(LeCanTp_p_DL >> 8); + SaCanTp_u_TxBuffer[1] = (uint8)(LeCanTp_p_DL & 0x00ff); + + + for(SeCanTp_u_TxMFIndex = 0; SeCanTp_u_TxMFIndex < 6; SeCanTp_u_TxMFIndex++) + { + SaCanTp_u_TxBuffer[SeCanTp_u_TxMFIndex+2] = SaCanTp_u_TxDataBuffer[SeCanTp_u_TxMFIndex]; + } + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_e_TimerSwitch = CeCanTp_e_Bs; + SeCanTp_u_Timer = 0; + + SeCanTp_u_MFTxSN = 1; + SeCanTp_e_MFTxSts = CeCanTp_e_TX_FCWaiting; + } + + LeCanTp_e_TxResult = CeCanTp_e_Tx_Succeed; + } + else + { + LeCanTp_e_TxResult = CeCanTp_e_Tx_Wrong; + } + + return LeCanTp_e_TxResult; +} + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : 78负响应 发送响应后 不中断当前 反馈流程 + + *编辑时间 : + + *备注 : + *****************************************************************************/ +TeCanTp_e_TxResult SetCanTp_Tx_78Neg(uint16 LeCanTp_p_DL , const uint8 LeCanTp_p_DataAddr[]) +{ + TeCanTp_e_TxResult LeCanTp_e_TxResult; + uint8 LeCanTp_u_Index; + + /*只有在反馈阶段 可以发送数据*/ + if ((SeCanTp_e_TpSts == CeCanTp_e_Answer) && (SeCanTp_e_TxSts == CeCanTp_e_Tx_Idle)) + { + if(LeCanTp_p_DL < 8) + { + /*单帧 直接发送*/ + SaCanTp_u_TxBuffer[0] = (uint8)LeCanTp_p_DL; + + for(LeCanTp_u_Index = 1; LeCanTp_u_Index < 8; LeCanTp_u_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_u_Index] = 0x55; + } + + for(LeCanTp_u_Index = 0; LeCanTp_u_Index < LeCanTp_p_DL; LeCanTp_u_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_u_Index + 1] = LeCanTp_p_DataAddr[LeCanTp_u_Index]; + } + + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + LeCanTp_e_TxResult = CeCanTp_e_Tx_Succeed; + + SeCanTp_w_RespTimer = 0u; + } + else + { + LeCanTp_e_TxResult = CeCanTp_e_Tx_Wrong; + } + } + else + { + LeCanTp_e_TxResult = CeCanTp_e_Tx_Wrong; + } + + return LeCanTp_e_TxResult; +} + + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : + + *编辑时间 : + + *备注 : + *****************************************************************************/ +void InitCanTp_Parameter(void) +{ + uint8 LeCanTp_u_InitIndex; + + for(LeCanTp_u_InitIndex = 0; LeCanTp_u_InitIndex<8 ; LeCanTp_u_InitIndex++) + { + SaCanTp_u_RxSFBuffer[LeCanTp_u_InitIndex] = 0;/*单帧buffer*/ + SaCanTp_u_TxBuffer[LeCanTp_u_InitIndex] = 0; + SaCanTp_u_TxDataBuffer[LeCanTp_u_InitIndex] = 0; + SaCanTp_u_RxMFBuffer[LeCanTp_u_InitIndex] = 0;/*多帧接收buffer*/ + } + + SeCanTp_e_TpSts = CeCanTp_e_Idel;/*TP层工作状态*/ + + SeCanTp_u_BS = 0; + SeCanTp_u_STmin = 10; + + + SeCanTp_u_RxLen = 0; + SeCanTp_e_AddrMethod = CeCanTp_e_Physical;/*寻址方式*/ + + SeCanTp_u_RxMFDataCnt = 0; + SeCanTp_u_LastSN = 0; + + SeCanTp_u_Timer = 0; + SeCanTp_e_TimerSwitch = 0; + + SeCanTp_e_TxSts = CeCanTp_e_Tx_Idle;/*发送状态*/ + + SeCanTp_u_TxLen = 0; + + SeCanTp_u_TxMFIndex = 0; + SeCanTp_e_MFTxSts = CeCanTp_e_TX_Idel; + + SeCanTp_u_MFTxSN = 0; + SeCanTp_u_MFTxSpacing = 0; + + SeCanTp_w_RespTimer = 1000U; /*反馈计时器*/ + SeCanTp_u_RespFlag = DAMING_FALSE; +} + + + + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : 主函数 用于发送 多帧 与 监控超时时间 + + *编辑时间 : + + *备注 : + *****************************************************************************/ +void MngCanTp_MainFunction(void) +{ + uint8 LeCanTp_u_Index; + + if(SeCanTp_e_TpSts == CeCanTp_e_MF_CFTakein)/*超时*/ + { + if(SeCanTp_e_TimerSwitch == CeCanTp_e_Cr) + { + if(SeCanTp_u_Timer > CANTP_CR_TIMEOUT) + { + /*超时*/ + SeCanTp_e_TpSts = CeCanTp_e_Idel; + } + else + { + SeCanTp_u_Timer++; + } + } + else + { + SeCanTp_e_TimerSwitch = CeCanTp_e_Cr; + SeCanTp_u_Timer = 0; + } + } + else + { + + } + + if(SeCanTp_u_RespFlag == DAMING_TRUE)/*APP反馈超时*/ + { + if(SeCanTp_w_RespTimer > CANTP_APP_RESP_78NEG) + { + /*超时*/ + SeCanTp_e_TpSts = CeCanTp_e_Idel; + + SeCanTp_u_RespFlag = DAMING_FALSE; + + SeCanTp_w_RespTimer = 1000U; + } + else + { + SeCanTp_w_RespTimer++; + } + } + else + { + SeCanTp_w_RespTimer = 1000U; + } + + if(SeCanTp_e_TpSts == CeCanTp_e_Answer) + { + if(SeCanTp_e_MFTxSts == CeCanTp_e_TX_FCWaiting)/*FC等待超时*/ + { + if(SeCanTp_e_TimerSwitch == CeCanTp_e_Bs) + { + if(SeCanTp_u_Timer > CANTP_BS_TIMEOUT) + { + /*超时*/ + SeCanTp_e_MFTxSts = CeCanTp_e_TX_Idel; + SeCanTp_e_TpSts = CeCanTp_e_Idel; + SeCanTp_e_TxSts = CeCanTp_e_Tx_Idle; + } + else + { + SeCanTp_u_Timer++; + } + } + else + { + SeCanTp_e_TimerSwitch = CeCanTp_e_Bs; + SeCanTp_u_Timer = 0; + } + } + else + {} + + if(SeCanTp_e_MFTxSts == CeCanTp_e_TX_CFGaving)/*发送*/ + { + /*CF*/ + SeCanTp_u_MFTxSpacing++; + + if(SeCanTp_u_BS > 0) + { + if(SeCanTp_u_MFTxSpacing > SeCanTp_u_STmin) + { + SeCanTp_u_MFTxSpacing = 1; + if(SeCanTp_u_TxMFIndex < (SeCanTp_u_TxLen-7)) + { + SaCanTp_u_TxBuffer[0] = 0x20 + SeCanTp_u_MFTxSN; + + for(LeCanTp_u_Index = 0; LeCanTp_u_Index < 7; LeCanTp_u_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_u_Index + 1] = SaCanTp_u_TxDataBuffer[SeCanTp_u_TxMFIndex++]; + } + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_u_MFTxSN += 1; + SeCanTp_u_MFTxSN &= 0x0f; + + if(SeCanTp_u_BS == 1u) + { + SeCanTp_e_MFTxSts = CeCanTp_e_TX_FCWaiting;/*等流控帧*/ + SeCanTp_u_Timer = 0; + SeCanTp_e_TimerSwitch = CeCanTp_e_Bs; + } + else + { + SeCanTp_u_BS--; + } + } + else + { + /*最后一帧*/ + uint8 LeCanTp_u_Cnt = SeCanTp_u_TxLen - SeCanTp_u_TxMFIndex; + + SaCanTp_u_TxBuffer[0] = 0x20 + SeCanTp_u_MFTxSN; + + for(LeCanTp_u_Index = 1; LeCanTp_u_Index < 8; LeCanTp_u_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_u_Index] = 0x55; + } + + for(LeCanTp_u_Index = 0; LeCanTp_u_Index < LeCanTp_u_Cnt; LeCanTp_u_Index++) + { + SaCanTp_u_TxBuffer[LeCanTp_u_Index + 1] = SaCanTp_u_TxDataBuffer[SeCanTp_u_TxMFIndex++]; + } + TransmitCanIf_Buffer(CANTP_RESP_CANID,8,SaCanTp_u_TxBuffer); + + SeCanTp_e_MFTxSts = CeCanTp_e_TX_Idel; + SeCanTp_e_TpSts = CeCanTp_e_Idel; + SeCanTp_e_TxSts = CeCanTp_e_Tx_Idle; + + SeCanTp_u_BS = 0; + } + } + else + {} + } + else + { + SeCanTp_e_MFTxSts = CeCanTp_e_TX_FCWaiting;/*等流控帧*/ + SeCanTp_u_Timer = 0; + SeCanTp_e_TimerSwitch = CeCanTp_e_Bs; + } + } + else + { + + } + } + else + { + + } +} + + /****************************************************************************** + *函数名称 : + + *参数 : + + *返回值 : + + *描述 : S3 状态函数 + S3 : 接收到报文 至 反馈完毕(以调用发送函数为标志) 读接口为 DAMING_ACTIVE 否则为 DAMING_INACTIVE + + *编辑时间 : + + *备注 : + *****************************************************************************/ +uint8 GetCanTp_u_S3Sts(void) +{ + uint8 LeCanTp_u_Ret; + + if(SeCanTp_e_TpSts == CeCanTp_e_Idel) + { + LeCanTp_u_Ret = DAMING_ACTIVE; + } + else + { + LeCanTp_u_Ret = DAMING_INACTIVE; + } + + return LeCanTp_u_Ret; +} diff --git a/ECU_APP/diagnose/CanTp/CanTp.h b/ECU_APP/diagnose/CanTp/CanTp.h new file mode 100644 index 0000000..89a82cc --- /dev/null +++ b/ECU_APP/diagnose/CanTp/CanTp.h @@ -0,0 +1,108 @@ +/*@处根据实际情况填写相关信息,将@字符以及这条提示语句去掉*/ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 +******************************************************************************/ +#ifndef CANTP_H +#define CANTP_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "CanSm.h" +#include "CanTp_Cfg.h" + +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ + +typedef enum +{ + CeCanTp_e_Empty = 0, + CeCanTp_e_Full = 1, +}TeCanTp_e_RxBufferSts; + +typedef enum +{ + CeCanTp_e_Physical=0, + CeCanTp_e_Functional, +}TeCanTp_e_AddrMethod; + +typedef enum +{ + CeCanTp_e_Idel = 0, + CeCanTp_e_SF_Get, + CeCanTp_e_MF_FFGet, + CeCanTp_e_MF_CFTakein, + CeCanTp_e_MF_Get, + CeCanTp_e_Answer, +}TeCanTp_e_TpSts; + +typedef enum +{ + CeCanTp_e_CntnsIdel = 0, + CeCanTp_e_CntnsSF_Get, +}TeCanTp_e_CntnsTpSts; + +typedef enum +{ + CeCanTp_e_TX_Idel = 0, + CeCanTp_e_TX_FCWaiting, + CeCanTp_e_TX_FCGet, + CeCanTp_e_TX_CFGaving, +}TeCanTp_e_MFTxSts; + +typedef enum +{ + CeCanTp_e_As = 0, + CeCanTp_e_Bs, + CeCanTp_e_Cs, + CeCanTp_e_Ar, + CeCanTp_e_Br, + CeCanTp_e_Cr, +}TeCanTp_e_MFTimerSwitch; + +typedef enum +{ + CeCanTp_e_Tx_Idle = 0, + CeCanTp_e_Tx_Busy, +}TeCanTp_e_TxSts; + +typedef enum +{ + CeCanTp_e_Tx_Succeed = 0, + CeCanTp_e_Tx_Wrong, +}TeCanTp_e_TxResult; + +typedef enum +{ + CeCanTp_e_S3_Start = 0, + CeCanTp_e_S3_Stop, +}TeCanTp_e_S3TimerSts; + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ +extern uint8 GetCanTp_u_S3Sts(void);/*读取S3*/ +extern void MngCanTp_MainFunction(void);/*主调度函数*/ +extern void InitCanTp_Parameter(void);/*初始化*/ + +extern TeCanTp_e_TxResult SetCanTp_TxBuffer(uint16 LeCanTp_p_DL, const uint8 LeCanTp_p_DataAddr[]);/*发送函数*/ +extern TeCanTp_e_TxResult SetCanTp_Tx_78Neg(uint16 LeCanTp_p_DL , const uint8 LeCanTp_p_DataAddr[]); + +extern void RxIndicationCanTP_AddrFunc_Message(CanIf_HwHandleType LeCanTp_e_Hrh, CanIf_CanIdType LeCanTp_e_CanId,CanIf_CanDlcType LeCanTp_e_CanDlc, const CanIf_CanDataType LeCanTp_e_CanSduPtr[]);/*接收函数*/ + +extern void RxIndicationCanTP_AddrPhy_Message(CanIf_HwHandleType LeCanTp_e_Hrh, CanIf_CanIdType LeCanTp_e_CanId,CanIf_CanDlcType LeCanTp_e_CanDlc,const CanIf_CanDataType LeCanTp_e_CanSduPtr[]);/*接收函数*/ + +extern TeCanTp_e_RxBufferSts GetCanTp_e_RxBufferSts(uint8* LeCanTp_p_AddrMethod , uint16* LeCanTp_p_DL , uint8** LeCanTp_p_DataAddr);/*上层读取接收到得报文*/ +#endif diff --git a/ECU_APP/diagnose/CanTp/CanTp_Cfg.c b/ECU_APP/diagnose/CanTp/CanTp_Cfg.c new file mode 100644 index 0000000..38594a5 --- /dev/null +++ b/ECU_APP/diagnose/CanTp/CanTp_Cfg.c @@ -0,0 +1,38 @@ +/****************************************************************************** + + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "CanTp_Cfg.h" + +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ +const unsigned char TP_DUMMY = 0xAA; +const CanIf_CanIdType CANTP_ADDR_PHY_REQ_const = CANTP_ADDR_PHY_REQ; +const CanIf_CanIdType CANTP_ADDR_FUNC_REQ_const = CANTP_ADDR_FUNC_REQ; +const CanIf_CanIdType CANTP_RESP_CANID_const = CANTP_RESP_CANID; + +const uint8 CANTP_RX_STMIN = CANTP_RX_STMIN_DEFINE; + +const uint16 CANTP_BS_TIMEOUT = CANTP_BS_TIMEOUT_DEFINE; +const uint16 CANTP_CR_TIMEOUT = CANTP_CR_TIMEOUT_DEFINE ; +const uint16 CANTP_APP_RESP_78NEG = CANTP_APP_RESP_78NEG_DEFINE; +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ + +/****************************************************************************** + * Description: : Static Function Prototype Declaration + *****************************************************************************/ + +/****************************************************************************** + * Description: : Write User Function Code + *****************************************************************************/ + + + + + diff --git a/ECU_APP/diagnose/CanTp/CanTp_Cfg.h b/ECU_APP/diagnose/CanTp/CanTp_Cfg.h new file mode 100644 index 0000000..1f33919 --- /dev/null +++ b/ECU_APP/diagnose/CanTp/CanTp_Cfg.h @@ -0,0 +1,81 @@ +/*@澶勬牴鎹疄闄呮儏鍐靛~鍐欑浉鍏充俊鎭紝灏咢瀛楃浠ュ強杩欐潯鎻愮ず璇彞鍘绘帀*/ +/****************************************************************************** +| File Name : @鏂囦欢鍚 +| Description: @鏂囦欢鎻忚堪 +******************************************************************************/ +#ifndef CANTP_CFG_H +#define CANTP_CFG_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "DCM_Types.h" +//#include "CanIf.h" +#include "CanIf_cfg.h" + +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ +/*@define绫诲瀷瀹氫箟*/ +#define CANTP_TASK 1 +#define CANTP_MFLEN_MAX 1200 /* 澶氬抚鏈澶ч暱搴 */ + + + +#define CANTP_ADDR_FUNC_REQ 0x7DF /* 璇婃柇鍔熻兘瀵诲潃 */ +#define CANTP_ADDR_PHY_REQ 0x751//0x7C6 /* 璇婃柇鐗╃悊瀵诲潃 */ + +#define CANTP_RESP_CANID 0x759//0x7CE /* 璇婃柇鍙嶉 */ + + + +#define CANTP_ADDRFUNC_MF_FORBID DCM_FALSE + +#define CANTP_RX_STMIN_DEFINE 0x0A /* STmin */ + + +#define CANTP_AS_TIMEOUT_DEFINE 25u /* 25ms?*/ +#define CANTP_BS_TIMEOUT_DEFINE 75u /* 75ms? */ + + + +#define CANTP_CS_TIMEOUT_DEFINE /*(N_Cs + N_As) < 0.9*N_Bs */ +#define CANTP_AR_TIMEOUT_DEFINE 25u /* 25ms? */ + +#define CANTP_BR_TIMEOUT_DEFINE /* (N_Br + N_Ar) < 0.9*N_Cr */ +#define CANTP_CR_TIMEOUT_DEFINE 150u /* 150ms */ + + + +#define CANTP_RESP_TIMEOUT_DEFINE 500u + +#define CANTP_APP_RESP_TIMEOUT_DEFINE 500u /* APP鍝嶅簲鏃堕棿 */ +#define CANTP_APP_RESP_78NEG_DEFINE 5000u /* 78璐熺浉搴 */ + + +extern const CanIf_CanIdType CANTP_ADDR_PHY_REQ_const ; +extern const CanIf_CanIdType CANTP_ADDR_FUNC_REQ_const ; +extern const CanIf_CanIdType CANTP_RESP_CANID_const ; +extern const uint8 CANTP_RX_STMIN; +extern const uint16 CANTP_BS_TIMEOUT; +extern const uint16 CANTP_CR_TIMEOUT; +extern const uint16 CANTP_APP_RESP_78NEG; +extern const unsigned char TP_DUMMY;// 0xAA + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ +/*@缁撴瀯绫诲瀷typedef瀹氫箟*/ + + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ +/*@鍏ㄥ眬鍙橀噺澹版槑extern*/ + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ +/*@鎺ュ彛鍑芥暟澹版槑extern*/ + +#endif diff --git a/ECU_APP/diagnose/CanTrcv/CanTrcv.c b/ECU_APP/diagnose/CanTrcv/CanTrcv.c new file mode 100644 index 0000000..0927550 --- /dev/null +++ b/ECU_APP/diagnose/CanTrcv/CanTrcv.c @@ -0,0 +1,270 @@ +/**------------------历史版本信息------------------------------------------------------- + +** 修 改 人: + +** 版 本: + +** 日 期: + +** 描 述: 初始版本,TJA1042T CAN收发器 + +**-------------------------------------------------------------------------------------*/ +#include "CanTrcv.h" +/***************************************************************************************/ +static CanTrcv_WorkModeType SeCanTrcv_e_WorkMode; +static CanTrcv_WakeReasonType SeCanTrcv_e_WakeReason; +static CanTrcv_WakeModeType SeCanTrcv_e_WakeMode; +static ComUint8 SeCanTrcv_u_IsInit; +/**************************************************************************************** +@函数名称 : void DeInitCanTrcv_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : 上电初始化CAN收发器模块所有参数 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void DeInitCanTrcv_Parameter(void) +{ + SeCanTrcv_u_IsInit = COM_FALSE; +} +/**************************************************************************************** +@函数名称 : void ReInitCanTrcv_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : 上电初始化CAN收发器模块所有参数 + +@最后编辑时间 : 2015/05/7 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void ReInitCanTrcv_Parameter(void) +{ + SeCanTrcv_u_IsInit = COM_TRUE; +} +/**************************************************************************************** +@函数名称 : void InitCanTrcv_Parameter(void) + +@参数 : void + +@返回值 : void + +@描述 : 上电初始化CAN收发器模块所有参数 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void InitCanTrcv_Parameter(void) +{ + SeCanTrcv_e_WorkMode = CANTRCV_STANDBY; + SeCanTrcv_e_WakeReason = CANTRCV_WAKE_BY_NONE; + SeCanTrcv_e_WakeMode = CANTRCV_WAKE_VIA_BUS; + SeCanTrcv_u_IsInit = COM_TRUE; +} +/**************************************************************************************** +@函数名称 : void GetCanTrcv_WorkMode(CanTrcv_WorkModeType *LeCanTrcv_e_WorkModePtr) + +@参数 : CanTrcv_WorkModeType *LeCanTrcv_e_WorkModePtr + +@返回值 : void + +@描述 : 获取CAN发收器工作模式 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void GetCanTrcv_WorkMode(CanTrcv_WorkModeType *LeCanTrcv_e_WorkModePtr) +{ + *LeCanTrcv_e_WorkModePtr = SeCanTrcv_e_WorkMode; +} +/**************************************************************************************** +@函数名称 : void SetCanTrcv_WorkMode(CanTrcv_WorkModeType LeCanTrcv_e_WorkMode) + +@参数 : CanTrcv_WorkModeType LeCanTrcv_e_WorkMode + +@返回值 : void + +@描述 : 设置CAN发收器工作模式 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void SetCanTrcv_WorkMode(CanTrcv_WorkModeType LeCanTrcv_e_WorkMode) +{ + if( CANTRCV_NORMAL == LeCanTrcv_e_WorkMode) + { + SET_CANTRCV_NORMAL(); + SeCanTrcv_e_WorkMode = LeCanTrcv_e_WorkMode; + } + else if( CANTRCV_STANDBY == LeCanTrcv_e_WorkMode) + { + SET_CANTRCV_STANDBY(); + SeCanTrcv_e_WorkMode = LeCanTrcv_e_WorkMode; + } + else + { + /*Avoid Warning*/ + } +} +/**************************************************************************************** +@函数名称 : void GetCanTrcv_WakeReason(CanTrcv_WakeReasonType *LeCanTrcv_e_WakeReasonPtr) + +@参数 : CanTrcv_WakeReasonType *LeCanTrcv_e_WakeReasonPtr + +@返回值 : void + +@描述 : 获取CAN发收器唤醒源 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void GetCanTrcv_WakeReason(CanTrcv_WakeReasonType *LeCanTrcv_e_WakeReasonPtr) +{ + *LeCanTrcv_e_WakeReasonPtr = SeCanTrcv_e_WakeReason; +} +/**************************************************************************************** +@函数名称 : void ClearCanTrcv_WakeReason(void) + +@参数 : void + +@返回值 : void + +@描述 : 清除CAN发收器唤醒源 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void ClearCanTrcv_WakeReason(void) +{ + SeCanTrcv_e_WakeReason = CANTRCV_WAKE_BY_NONE; +} +/**************************************************************************************** +@函数名称 : void SetCanTrcv_WakeMode(CanTrcv_WakeModeType LeCanTrcv_e_WakeMode) + +@参数 : CanTrcv_WakeModeType LeCanTrcv_e_WakeMode + +@返回值 : void + +@描述 : 设置CAN发收器唤醒模式 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void SetCanTrcv_WakeMode(CanTrcv_WakeModeType LeCanTrcv_e_WakeMode) +{ + (void)LeCanTrcv_e_WakeMode; +} +/**************************************************************************************** +@函数名称 : void GetCanTrcv_WakeMode(CanTrcv_WakeModeType *LeCanTrcv_e_WakeModePtr) + +@参数 : CanTrcv_WakeModeType *LeCanTrcv_e_WakeModePtr + +@返回值 : void + +@描述 : 获取CAN发收器唤醒模式 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void GetCanTrcv_WakeMode(CanTrcv_WakeModeType *LeCanTrcv_e_WakeModePtr) +{ + *LeCanTrcv_e_WakeModePtr = SeCanTrcv_e_WakeMode; +} +/**************************************************************************************** +@函数名称 : void CanTrcv_MainFunction(void) + +@参数 : void + +@返回值 : void + +@描述 : CAN_TRCV_MAINFUCTION_CALL_CYCLE ms调用 + +@最后编辑时间 : 2015/03/13 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void CanTrcv_MainFunction(void) +{ + if( COM_FALSE != SeCanTrcv_u_IsInit ) + { + + } + else + { + /*Avoid Warning*/ + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ECU_APP/diagnose/CanTrcv/CanTrcv.h b/ECU_APP/diagnose/CanTrcv/CanTrcv.h new file mode 100644 index 0000000..5738ca0 --- /dev/null +++ b/ECU_APP/diagnose/CanTrcv/CanTrcv.h @@ -0,0 +1,49 @@ +#if !defined(CANTRCV_H) +#define CANTRCV_H + +/***包含头文件***/ +#include "CanTrcv_Cfg.h" + +/***收发器模块类据类型***/ +typedef enum +{ + CANTRCV_UNINIT = 0u, + CANTRCV_NORMAL, + CANTRCV_STANDBY + +}CanTrcv_WorkModeType; + +typedef enum +{ + CANTRCV_WAKE_BY_NONE = 0u, + CANTRCV_WAKE_BY_BUS, + CANTRCV_WAKE_BY_PIN, + CANTRCV_WAKE_BY_PIN_BUS + +}CanTrcv_WakeReasonType; + +typedef enum +{ + CANTRCV_WAKE_VIA_NONE = 0u, + CANTRCV_WAKE_VIA_BUS, + CANTRCV_WAKE_VIA_PIN, + CANTRCV_WAKE_VIA_ALL + +}CanTrcv_WakeModeType; +/***API接口***/ +extern void ReInitCanTrcv_Parameter(void); +extern void CanTrcv_MainFunction(void); +extern void InitCanTrcv_Parameter(void); +extern void DeInitCanTrcv_Parameter(void); +extern void GetCanTrcv_WorkMode(CanTrcv_WorkModeType *LeCanTrcv_e_WorkModePtr); +extern void SetCanTrcv_WorkMode(CanTrcv_WorkModeType LeCanTrcv_e_WorkMode); +extern void GetCanTrcv_WakeReason(CanTrcv_WakeReasonType *LeCanTrcv_e_WakeReasonPtr); +extern void ClearCanTrcv_WakeReason(void); +extern void SetCanTrcv_WakeMode(CanTrcv_WakeModeType LeCanTrcv_e_WakeMode); +extern void GetCanTrcv_WakeMode(CanTrcv_WakeModeType *LeCanTrcv_e_WakeModePtr); + + + + + +#endif \ No newline at end of file diff --git a/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.c b/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.c new file mode 100644 index 0000000..61e325d --- /dev/null +++ b/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.c @@ -0,0 +1,58 @@ +/**------------------历史版本信息------------------------------------------------------- + +** 修 改 人: + +** 版 本: + +** 日 期: + +** 描 述: 初始版本 + +**-------------------------------------------------------------------------------------*/ +//#include "IO_cfg.h" +#include "CanTrcv_Cfg.h" +/**************************************************************************************** +@函数名称 : void SetCanTrcvCfg_NormalMode(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/04/11 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void SetCanTrcvCfg_NormalMode(void) +{ +// SetGpio_Channel_Level(O_CAN_STB/*CAN STB IO */,STD_LOW); +} +/**************************************************************************************** +@函数名称 : void SetCanTrcvCfg_StandbyMode(void) + +@参数 : void + +@返回值 : void + +@描述 : + +@最后编辑时间 : 2015/04/11 + +@版本 : V1.0 + +@备注 : +*****************************************************************************************/ +void SetCanTrcvCfg_StandbyMode(void) +{ +// SetGpio_Channel_Level(O_CAN_STB/*CAN STB IO */,STD_HIGH); +} + + + + + + + diff --git a/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.h b/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.h new file mode 100644 index 0000000..6f11347 --- /dev/null +++ b/ECU_APP/diagnose/CanTrcv/CanTrcv_Cfg.h @@ -0,0 +1,29 @@ +#if !defined(CANTRCV_CFG_H) +#define CANTRCV_CFG_H + +/**包含头文件**/ +#include "ComTypes.h" +/*---------------------------------------------------------------------------------- + + 模块配置项开始 + +-----------------------------------------------------------------------------------*/ +/***CanTrcv_MainFunction调度周期***/ +#define CAN_TRCV_MAINFUCTION_CALL_CYCLE 5u /*ms*/ + +/***CAN 控制器模式控制宏函数***/ +extern void SetCanTrcvCfg_StandbyMode(void); +extern void SetCanTrcvCfg_NormalMode(void); + +#define SET_CANTRCV_STANDBY() SetCanTrcvCfg_StandbyMode() +#define SET_CANTRCV_NORMAL() SetCanTrcvCfg_NormalMode() +/*---------------------------------------------------------------------------------- + + 模块配置项结束 + +-----------------------------------------------------------------------------------*/ + + + + +#endif \ No newline at end of file diff --git a/ECU_APP/diagnose/ComTypes.h b/ECU_APP/diagnose/ComTypes.h new file mode 100644 index 0000000..4c46edb --- /dev/null +++ b/ECU_APP/diagnose/ComTypes.h @@ -0,0 +1,41 @@ + +#if !defined(COM_TYPE_H) +#define COM_TYPE_H + +typedef unsigned char ComUint8; +typedef unsigned short ComUint16; +typedef unsigned long ComUint32; +typedef unsigned char ComStd_ReturnType; + +#define COM_E_OK 0U +#define COM_E_NOT_OK 1U +#define COM_E_PENDING 2U + +#define COM_TRUE 1U +#define COM_FALSE 0U + +#ifndef COM_NULL_PTR +#define COM_NULL_PTR 0L +#endif + +#ifndef COM_STD_ON +#define COM_STD_ON 1U +#endif + +#ifndef COM_STD_OFF +#define COM_STD_OFF 0U +#endif + +#ifndef __TYPEDEF__ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed long int32_t; +typedef unsigned long uint32_t; +typedef unsigned short MD_STATUS; +#define __TYPEDEF__ +#endif + +#endif + diff --git a/ECU_APP/diagnose/DCM_Types.h b/ECU_APP/diagnose/DCM_Types.h new file mode 100644 index 0000000..49226d7 --- /dev/null +++ b/ECU_APP/diagnose/DCM_Types.h @@ -0,0 +1,89 @@ +/****************************************************************************** +| File Name : DCM_Types.h +| Description: Company standard definition +******************************************************************************/ +#ifndef DCM_TYPES_H +#define DCM_TYPES_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ + +typedef signed char int8; +typedef signed int int16; +typedef signed long int32; +typedef unsigned char uint8; +typedef unsigned int uint16; +typedef unsigned long uint32; +typedef unsigned char bool1; +typedef union{ + uint32 word; + uint8 byte[4]; +}long2char_t; + +#ifndef DCM_ON +# define DCM_ON 1U +#endif + +#ifndef DCM_OFF +#define DCM_OFF 0U +#endif + + +#ifndef DCM_TRUE +# define DCM_TRUE 1U +#endif + +#ifndef DCM_FALSE +# define DCM_FALSE 0U +#endif + + +#ifndef DCM_HIGH +# define DCM_HIGH 1U +#endif + +#ifndef DCM_LOW +# define DCM_LOW 0U +#endif + + +#ifndef DCM_ACTIVE +# define DCM_ACTIVE 1U +#endif + +#ifndef DCM_INACTIVE +# define DCM_INACTIVE 0U +#endif + + +#ifndef DCM_NULL +# define DCM_NULL 0U +#endif + +/* NULL_PTR define with a void pointer to zero definition*/ +#ifndef DCM_NULL_PTR +# define DCM_NULL_PTR ((void *)0) +#endif + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ + + +#endif diff --git a/ECU_APP/diagnose/DTC/DCM_DTC.c b/ECU_APP/diagnose/DTC/DCM_DTC.c new file mode 100644 index 0000000..92e87f8 --- /dev/null +++ b/ECU_APP/diagnose/DTC/DCM_DTC.c @@ -0,0 +1,790 @@ +/************************************************************ + | 文件名: DCM_DTC.c + | 描述:DTC相关服务函数 + | 作者:孙开瑞 + | + | 版权声明 +***********************************************************/ +//DCM_DTC.c +#include "Dcm_App_Cfg.h" +#include "Dcm_App.h" +#include "can_drv.h" +//#include "can_task.h" +//#include "eel.h" +//#include "r_fdl_types.h" +#include "Dcm_extern.h" + +const TsDcm_h_DtcGroupType CaDcm_u_DtcTable[DCM_SUPDTC_COUNT]={ + { 0,0xF0,0x06,0x16}, + { 1,0xF0,0x06,0x17}, + { 2,0x91,0x81,0x14}, + { 3,0x91,0x81,0x12}, + { 4,0x91,0x81,0x71}, + { 5,0x91,0x83,0x12}, + { 6,0x91,0x83,0x14}, + { 7,0x91,0x83,0x71}, + { 8,0x91,0x84,0x12}, + { 9,0x91,0x84,0x14}, + {10,0x91,0x84,0x71}, + {11,0x91,0x86,0x11}, + {12,0x91,0x86,0x14}, + {13,0xC0,0x73,0x00}, +}; + +DtcStutas_T DtcStutas[DCM_SUPDTC_COUNT]; // DTC 状态数组 +static uint16 tDiagStart; //上电复位后网络诊断延迟时间 +uint16 tDiagStartVolt; // 电源电压异常恢复后诊断延迟时间 + +/********************************************************/ + +void DtcStutasInit(void) +{ + uint8 DtcIndex; + uint8 LastConfirmedDTC[28]; + + DF_Read(LastConfirmedDTC,GetIndexNumber(8),28); + + for(DtcIndex=0;DtcIndex 0) + tDiagStart --; + if(GetIgnVoltStatus() == 0) + { + if(tDiagStartVolt > 0) + tDiagStartVolt--; + } + else + tDiagStartVolt = 500; +} + +static bool1 ChkDiagVolt(void) +{ + return (tDiagStartVolt == 0); +} + +static bool1 ChkNetDiagCondition(void) +{ + return ((tDiagStart == 0)&&(tDiagStartVolt == 0)); +} + +static uint8 GetLastSnapshotRecordNum(uint8 DtcIndex) +{ + uint8 temp,SnapshotRecordNum = 0; + uint32 DtcSnapshotRecord[32]; + DF_Read(DtcSnapshotRecord,DtcIndex<<1,128); + for(temp=0;temp<=7;temp++) + { + if(DtcSnapshotRecord[(temp<<2)+3] != 0xFFFFFFFF) + SnapshotRecordNum |= 1<>8); + *Data++ = (uint8)Temp16&0xFF; + Temp16 = GetRecFeedbackVoltage(); + *Data++ = (uint8)(Temp16>>8); + *Data++ = (uint8)Temp16&0xFF; + Temp16 = EvaSensorFeedbackVoltage(); + *Data++ = (uint8)(Temp16>>8); + *Data++ = (uint8)Temp16&0xFF; + Temp16 = GetPtcTmpSnsVolt(); + *Data++ = (uint8)(Temp16>>8); + *Data++ = (uint8)Temp16&0xFF; + Temp16 = GetFanFeedBackVolt(); + *Data++ = (uint8)(Temp16>>8); + *Data++ = (uint8)Temp16&0xFF; + Temp16 = GetCompSnsVolt(); + *Data++ = (uint8)(Temp16>>8); + *Data++ = (uint8)Temp16&0xFF; +} +#endif + +static void WriteDtcSnapshot(uint8 DtcIndex) +{ + uint8 temp[2]; +#if (defined (DTC_ONE_SNAPSHOT) && (DTC_ONE_SNAPSHOT == NO)) + uint32 DtcSnapshotRecord[32]; +#else + uint32 DtcSnapshotRecord[4]; +#endif + DtcStutas[DtcIndex].DtcStutas |= (TestFailed | ConfirmedDTC); + + if(DtcStutas[DtcIndex].EepWrtEnable) + { + DtcStutas[DtcIndex].EepWrtEnable = 0; + DF_Read(temp,GetIndexNumber(DtcIndex+8),2); + temp[0] = DtcStutas[DtcIndex].DtcStutas & ConfirmedDTC; + DF_Write(&temp,GetIndexNumber(DtcIndex+8),2); + } +} + +void ClearDtcStutas(uint8 DtcIndex) +{ +// DtcStutas[DtcIndex].EepWrtEnable = 1; //2017/7/4 15:19:34 spark del +// DtcStutas[DtcIndex].DtcStutas &= ~(TestNotCompletedThisOperationCycle | TestFailed); //2017/7/2 11:52:29 del + DtcStutas[DtcIndex].DtcStutas &= ~TestFailed; //2017/7/2 11:52:56 spark add +} + +static void CanDTC_AcBusOffDetected(void) +{ +// uint8 temp; +// uint32 DtcSnapshotRecord[32]; + if(ChkNetDiagCondition() == 0) return; + + if(0!=GetCanBusOffErr()) { + WriteDtcSnapshot(AC_BusOff); + DtcStutas[AC_BusOff].DtcStutas &= ~TestFailed; + } + +#if 0 + if((BusOffCnt < 10) && (BusOffCnt > 0)) + DtcStutas[AC_BusOff].DtcStutas |= TestNotCompletedThisOperationCycle; + else if(BusOffCnt >= 10) + { + if(DtcStutas[AC_BusOff].EepWrtEnable) + { + WriteDtcSnapshot(AC_BusOff); + } + } + else if(BusOffCnt == 0) + { + ClearDtcStutas(AC_BusOff); + } +#endif +} +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void PowerVoltageChk(void) +{ + static uint8 PowerOverVoltCnt,PowerUderVoltCnt; + if(GetVoltage(KL30_VOLTAGE) > 160) + { + if(PowerOverVoltCnt < 50) /* 50*40ms = 2s */ + PowerOverVoltCnt++; + else + WriteDtcSnapshot(AC_OVER_VOLTAGE); + } + else + { + if(PowerOverVoltCnt > 0){ + PowerOverVoltCnt--; + if(PowerOverVoltCnt>37){ /* 37*40ms = 1.48s */ + PowerOverVoltCnt = 37; + } + } + else{ + ClearDtcStutas(AC_OVER_VOLTAGE); + } + } + + if(GetVoltage(KL30_VOLTAGE) < 90) + { + if(PowerUderVoltCnt < 50) /* 50*40ms = 2s */ + PowerUderVoltCnt++; + else + WriteDtcSnapshot(AC_LOW_VOLTAGE); + } + else + { + if(PowerUderVoltCnt > 0){ + PowerUderVoltCnt--; + if(PowerUderVoltCnt>37){ /* 37*40ms = 1.48s */ + PowerUderVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_LOW_VOLTAGE); + } +} + +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void TempMotorFeedbackChk(void) +{ + static uint8 TempOverVoltCnt,TempUderVoltCnt; + if(GetVoltage(TEMP_MOTOR) >= 49) + { + if(TempOverVoltCnt < 50) /* 50*40ms = 2s */ + TempOverVoltCnt++; + else + WriteDtcSnapshot(AC_TEMP_MOTOR_SHORT_CUT_TO_VCC); + } + else + { + if(TempOverVoltCnt > 0){ + TempOverVoltCnt--; + if(TempOverVoltCnt>37){ /* 37*40ms = 1.48s */ + TempOverVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_TEMP_MOTOR_SHORT_CUT_TO_VCC); + } + + if(GetVoltage(TEMP_MOTOR) <= 1) + { + if(TempUderVoltCnt < 50) /* 50*40ms = 2s */ + TempUderVoltCnt++; + else + WriteDtcSnapshot(AC_TEMP_MOTOR_SHORT_CUT_TO_GND); + } + else + { + if(TempUderVoltCnt > 0){ + TempUderVoltCnt--; + if(TempUderVoltCnt>37){ /* 37*40ms = 1.48s */ + TempUderVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_TEMP_MOTOR_SHORT_CUT_TO_GND); + } +} + +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void ModeMotorFeedbackChk(void) +{ + static uint8 ModeOverVoltCnt,ModeUderVoltCnt; + if(GetVoltage(MODE_MOTOR) >= 49) + { + if(ModeOverVoltCnt < 50) /* 50*40ms = 2s */ + ModeOverVoltCnt++; + else + WriteDtcSnapshot(AC_MODE_MOTOR_SHORT_CUT_TO_VCC); + } + else + { + if(ModeOverVoltCnt > 0){ + ModeOverVoltCnt--; + if(ModeOverVoltCnt>37){ /* 37*40ms = 1.48s */ + ModeOverVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_MODE_MOTOR_SHORT_CUT_TO_VCC); + } + + if(GetVoltage(MODE_MOTOR) <= 1) + { + if(ModeUderVoltCnt < 50) /* 50*40ms = 2s */ + ModeUderVoltCnt++; + else + WriteDtcSnapshot(AC_MODE_MOTOR_SHORT_CUT_TO_GND); + } + else + { + if(ModeUderVoltCnt > 0){ + ModeUderVoltCnt--; + if(ModeUderVoltCnt>37){ /* 37*40ms = 1.48s */ + ModeUderVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_MODE_MOTOR_SHORT_CUT_TO_GND); + } +} + +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void RecMotorFeedbackChk(void) +{ + static uint8 RecOverVoltCnt,RecUderVoltCnt; + if(GetVoltage(REC_MOTOR) >= 49) + { + if(RecOverVoltCnt < 50) /* 50*40ms = 2s */ + RecOverVoltCnt++; + else + WriteDtcSnapshot(AC_REC_MOTOR_SHORT_CUT_TO_VCC); + } + else + { + if(RecOverVoltCnt > 0){ + RecOverVoltCnt--; + if(RecOverVoltCnt>37){ /* 37*40ms = 1.48s */ + RecOverVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_REC_MOTOR_SHORT_CUT_TO_VCC); + } + + if(GetVoltage(REC_MOTOR) <= 1) + { + if(RecUderVoltCnt < 50) /* 50*40ms = 2s */ + RecUderVoltCnt++; + else + WriteDtcSnapshot(AC_REC_MOTOR_SHORT_CUT_TO_GND); + } + else + { + if(RecUderVoltCnt > 0){ + RecUderVoltCnt--; + if(RecUderVoltCnt>37){ /* 37*40ms = 1.48s */ + RecUderVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_REC_MOTOR_SHORT_CUT_TO_GND); + } +} + +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void EvaSensorChk(void) +{ + static uint8 EvaOverVoltCnt,EvaUderVoltCnt; + if(GetVoltage(EVA_SENSOR) >= 49) + { + if(EvaOverVoltCnt < 50) /* 50*40ms = 2s */ + EvaOverVoltCnt++; + else + WriteDtcSnapshot(AC_EVA_SENSOR_SHORT_CUT_TO_VCC); + } + else + { + if(EvaOverVoltCnt > 0){ + EvaOverVoltCnt--; + if(EvaOverVoltCnt>37){ /* 37*40ms = 1.48s */ + EvaOverVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_EVA_SENSOR_SHORT_CUT_TO_VCC); + } + + if(GetVoltage(EVA_SENSOR) <= 1) + { + if(EvaUderVoltCnt < 50) /* 50*40ms = 2s */ + EvaUderVoltCnt++; + else + WriteDtcSnapshot(AC_EVA_SENSOR_SHORT_CUT_TO_GND); + } + else + { + if(EvaUderVoltCnt > 0){ + EvaUderVoltCnt--; + if(EvaUderVoltCnt>37){ /* 37*40ms = 1.48s */ + EvaUderVoltCnt = 37; + } + } + else + ClearDtcStutas(AC_EVA_SENSOR_SHORT_CUT_TO_GND); + } +} + +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +/**************************************************************************************/ +static void MotorLockChk(void) +{ + if(GetMotorLockStatus(TEMP_MOTOR) != 0) + { + WriteDtcSnapshot(AC_TEMP_MOTOR_LOCK); + } + else + { + ClearDtcStutas(AC_TEMP_MOTOR_LOCK); + } + + if(GetMotorLockStatus(MODE_MOTOR) != 0) + { + WriteDtcSnapshot(AC_MODE_MOTOR_LOCK); + } + else + { + ClearDtcStutas(AC_MODE_MOTOR_LOCK); + } + + if(GetMotorLockStatus(REC_MOTOR) != 0) + { + WriteDtcSnapshot(AC_REC_MOTOR_LOCK); + } + else + { + ClearDtcStutas(AC_REC_MOTOR_LOCK); + } +} + +static void CanDTC_CycChk(void) +{ + PowerVoltageChk(); + TempMotorFeedbackChk(); + ModeMotorFeedbackChk(); + RecMotorFeedbackChk(); + EvaSensorChk(); +} + +extern uint8 GetNormalMsgSts(void); +void CanDTC_Task(void) +{ + static uint8 DtcTestCycleTim; + //if(ChkDiagVolt()==0) return; + + CanDTC_AcBusOffDetected(); + if(GetNormalMsgSts() & 0x02) + { + //CanDTC_CanCommunicationLostDetected(HMI_ControlCommand_ID); + //CanDTC_CanCommunicationLostDetected(VCU_DisplayInfo_ID); + //CanDTC_CanCommunicationLostDetected(COMP_Information_ID); + //CanDTC_CompErrChk(); + //CanDTC_MotorRunTimeChk(); + + MotorLockChk(); + + if(DtcTestCycleTim < DTC_TEST_CYCLE_TIM) + { + DtcTestCycleTim++; + } + else{ + DtcTestCycleTim = 0; + CanDTC_CycChk(); + } + } +} + +uint8 GetDtcStutas(uint8 DtcIndex) +{ +return DtcStutas[DtcIndex].DtcStutas; +} + +uint8 GetDtcSnapshotRecord(uint8 Index,uint8 * Buf,uint8 * Length ,uint8 DtcSnapshotRecordNum) +{ + uint8 SnapshotRecordBuf[16]; + DF_Read(SnapshotRecordBuf,Index,16); + if((DtcSnapshotRecordNum >= 1)&&(DtcSnapshotRecordNum <=6)) + { + *Buf++ = DtcSnapshotRecordNum; + *Buf++ = 1; + *Buf++ = 0x0A; + *Buf++ = DtcSnapshotRecordNum - 1; + *Buf++ = SnapshotRecordBuf[(DtcSnapshotRecordNum - 1)<<1]; + *Buf++ = SnapshotRecordBuf[((DtcSnapshotRecordNum - 1)<<1)+1]; + *Length += 6; + } + else if(DtcSnapshotRecordNum == 0xFF) + { + for(DtcSnapshotRecordNum = 1;DtcSnapshotRecordNum<=6;DtcSnapshotRecordNum++) + { + *Buf++ = DtcSnapshotRecordNum; + *Buf++ = 1; + *Buf++ = 0x0A; + *Buf++ = DtcSnapshotRecordNum - 1; + *Buf++ = SnapshotRecordBuf[(DtcSnapshotRecordNum - 1)<<1]; + *Buf++ = SnapshotRecordBuf[((DtcSnapshotRecordNum - 1)<<1)+1]; + *Length += 6; + } + } + else + return DCM_NORESULT; + + return 0; +} + +// 19 01 +uint8 MngDcm_ReportNumberOfDTCByStatusMask(void) +{ + uint8 LaDcm_u_TempBuffer[6]; + TeDcm_h_ResultType LeDcm_u_Result; + uint8 DtcCnt,Index; + + VeDcm_h_RqustInfo.StateMask = VeDcm_P_DataAddress[2]; + if(VeDcm_h_RqustInfo.StateMask & DTC_STATUS_AVAILABILITY_MASK) + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + LaDcm_u_TempBuffer[2] = DTC_STATUS_AVAILABILITY_MASK; + for(Index=0;Index>8); + LaDcm_u_TempBuffer[3] = (uint8)(CeDcm_u_P2serverTime&0xFF); + LaDcm_u_TempBuffer[4] = (uint8)(CeDcm_u_P2ExtserverTime>>8); + LaDcm_u_TempBuffer[5] = (uint8)(CeDcm_u_P2ExtserverTime&0xFF); + + SetCanTp_TxBuffer(6U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; /*设置为不响应*/ + } + + if( DCM_RESET_READY == DcmResetReady) + { + while(++DcmResetDelay < 80000); + SetMcu_SoftReset(); + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_ProgramSessionDeal(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 进入 编程会话模式 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_ProgramSessionDeal(void) + { + uint8 LaDcm_u_TempBuffer[6]; + uint32 ResetDelayCnt = 0; + TeDcm_h_ResultType LeDcm_u_Result; + + SeDcm_u_S3ServerTimeSts = DCM_S3SEVERTIMER_CONTINUE; /*S3server 计时继续*/ + SeDcm_w_S3ServerTime = DCM_S3SEVERTIMEOUT; /*S3server 计时计数值重新装载*/ + if( DCM_DEFAULT_SESSION != SeDcm_u_DiagnosticSession ) + { + // 78 + //MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); + //SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); + + SeDcm_u_DiagnosticSession = DCM_PROGRAMME_SESSION; /*会话模式编程模式*/ + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_DEFAULT; /*安全模式 锁定*/ + SeDcm_u_DtcSetSts = DCM_DTCSET_ENABLE; /*DTC设置使能*/ + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发使能*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_DISENABLE; /*应用报文收发使能*/ + //ReprogmaValid = 0xAA5555AA; + //if( 0 == DF_Write((uint8*)(&ReprogmaValid),GetIndexNumber(INDEX_REPROGMA),sizeof(ReprogmaValid))) //R_FDL_OK => 0 + if(1) + { + KamData.boot_enable = RPRGRM_REQ_VALID; + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + KamData.AckReq = ACK_REQ; + KamData.AckLenth = 7; + KamData.RspData[0] = 0x06; + KamData.RspData[1] = VeDcm_h_RqustInfo.Sid + 0x40; + KamData.RspData[2] = VeDcm_h_RqustInfo.Sub; + KamData.RspData[3] = (uint8)(CeDcm_u_P2serverTime>>8); + KamData.RspData[4] = (uint8)(CeDcm_u_P2serverTime&0xFF); + KamData.RspData[5] = (uint8)(CeDcm_u_P2ExtserverTime>>8); + KamData.RspData[6] = (uint8)(CeDcm_u_P2ExtserverTime&0xFF); + KamData.RspData[7] = 0x55; +#if 0 + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + LaDcm_u_TempBuffer[2] = (uint8)(CeDcm_u_P2serverTime>>8); + LaDcm_u_TempBuffer[3] = (uint8)(CeDcm_u_P2serverTime&0xFF); + LaDcm_u_TempBuffer[4] = (uint8)(CeDcm_u_P2ExtserverTime>>8); + LaDcm_u_TempBuffer[5] = (uint8)(CeDcm_u_P2ExtserverTime&0xFF); + while(++ResetDelayCnt < 100000); + SetCanTp_TxBuffer(6U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ +#endif + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + KamData.AckReq = 0; + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; /*设置为不响应*/ + } + //ResetDelayCnt = 0; + //while(++ResetDelayCnt < 10000); + SetMcu_SoftReset(); + } + else + { + /*设置NRC 22*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + } + else + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC7E]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + } + return LeDcm_u_Result; + } + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_ExtendedSessionDeal(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 进入 扩展会话模式 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_ExtendedSessionDeal(void) + { + uint8 LaDcm_u_TempBuffer[6]; + TeDcm_h_ResultType LeDcm_u_Result; + + SeDcm_u_S3ServerTimeSts = DCM_S3SEVERTIMER_CONTINUE; /*S3server 计时继续*/ + SeDcm_w_S3ServerTime = DCM_S3SEVERTIMEOUT; /*S3server 计时计数值重新装载*/ + if(SeDcm_u_DiagnosticSession != DCM_EXTEND_SESSION) + { + SeDcm_u_DtcSetSts = DCM_DTCSET_ENABLE; /*DTC设置使能*/ + SeDcm_u_DiagnosticSession = DCM_EXTEND_SESSION; /*会话模式 扩展模式*/ + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发使能*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发使能*/ + } + + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_DEFAULT; /*安全模式 锁定*/ + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + LaDcm_u_TempBuffer[2] = (uint8)(CeDcm_u_P2serverTime>>8); + LaDcm_u_TempBuffer[3] = (uint8)(CeDcm_u_P2serverTime&0xFF); + LaDcm_u_TempBuffer[4] = (uint8)(CeDcm_u_P2ExtserverTime>>8); + LaDcm_u_TempBuffer[5] = (uint8)(CeDcm_u_P2ExtserverTime&0xFF); + + //SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_L2_UNLOCK; /*置安全权限为 解锁状态 */ + + SetCanTp_TxBuffer(6U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; /*设置为不响应*/ + } + + return LeDcm_u_Result; +} + +/****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_SoftResetDeal(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 11 03 请求软件复位 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +TeDcm_h_ResultType MngDcm_SoftResetDeal(void) +{ + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + static uint32 ResetDelayCnt; + + //重启ECU接口 + if(SeDcm_u_DiagnosticSession != DCM_DEFAULT_SESSION) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + KamData.AckReq = ACK_REQ; + KamData.AckLenth = 3; + KamData.RspData[0] = 0x02; + KamData.RspData[1] = VeDcm_h_RqustInfo.Sid + 0x40; + KamData.RspData[2] = VeDcm_h_RqustInfo.Sub; + KamData.RspData[3] = 0x55; + KamData.RspData[4] = 0x55; + KamData.RspData[5] = 0x55; + KamData.RspData[6] = 0x55; + KamData.RspData[7] = 0x55; +#if 0 + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ +#endif + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + KamData.AckReq = 0; + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; /*设置为不响应*/ + } + if(LeDcm_u_Result == CeDcm_e_ResultPosRsp) + { +#if 0 + while(ResetDelayCnt < 0x80000) + { + ResetDelayCnt++; + } +#endif + SetMcu_SoftReset(); + } + else + SetMcu_SoftReset(); + } + else + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC7F]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + } + return LeDcm_u_Result; +} + + + + + + + + + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RequestSeekDeal( uint8 SecurityLevel) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 27 请求种子 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RequestSeekDeal( uint8 SecurityLevel) + { + uint8 LaDcm_u_TempBuffer[6],savebuf[4]; + TeDcm_h_ResultType LeDcm_u_Result; + //SeDcm_u_KeyErrorDelayCount = 0; + + if(SaDcm_u_RequestCounter < 5) + { + SaDcm_u_RequestCounter++; + KamData.SeedReqTimes = SaDcm_u_RequestCounter | 0x10; + if(SaDcm_u_RequestCounter == 5) + { + SaDcm_u_RequestDelayCount = DCM_SASERVERSTS_ERRORDELAY_COUNT; + SeDcm_u_KeyErrorCount = 3; + KamData.KeyErrTimes = SeDcm_u_KeyErrorCount | 0x10; + } + + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + + }//fcb + + if(0==SeDcm_u_KeyErrorDelayCount && 0==SaDcm_u_RequestDelayCount) + { + if(SaDcm_u_RequestCounter == 5) + { + SaDcm_u_RequestCounter=0; + KamData.SeedReqTimes = 0; + + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + + } + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + if(MngDcm_GetSecurityAccessSts() != DCM_SECURITYACCESS_DEFAULT) + { + LaDcm_u_TempBuffer[2] = 0; + LaDcm_u_TempBuffer[3] = 0; + LaDcm_u_TempBuffer[4] = 0; + LaDcm_u_TempBuffer[5] = 0; + } + else + { + SeDcm_w_SecurityAccessSeed = GetSeed(); + LaDcm_u_TempBuffer[2] = (uint8)(SeDcm_w_SecurityAccessSeed>>24)&0xFF; + LaDcm_u_TempBuffer[3] = (uint8)(SeDcm_w_SecurityAccessSeed>>16)&0xFF; + LaDcm_u_TempBuffer[4] = (uint8)(SeDcm_w_SecurityAccessSeed>>8)&0xFF; + LaDcm_u_TempBuffer[5] = (uint8)SeDcm_w_SecurityAccessSeed&0xFF; + } + SeDcm_u_SecurityAccessServerSts |= DCM_SASERVERSTS_REQUESTKEY; /*置27 服务为 已请求种子*/ + + SeDcm_u_SecurityAccessKey = GENERIC_ALGORITHM(SeDcm_w_SecurityAccessSeed,SecurityLevel); + + SetCanTp_TxBuffer(6U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; /*设置为不响应*/ + } + + } + else + { + /*设置NRC 37*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC37]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_KeyCkeckDeal(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 27 密钥校验 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_KeyCkeckDeal(uint8 dummy) + { + uint8 i; + uint8 LaDcm_u_TempBuffer[2],savebuf[4]; + TeDcm_h_ResultType LeDcm_u_Result; + uint32 LeDcm_w_Key; + + + if(DCM_SASERVERSTS_REQUESTKEY & SeDcm_u_SecurityAccessServerSts) + { + SaDcm_u_RequestCounter = 0; + KamData.SeedReqTimes = SaDcm_u_RequestCounter; + for(i = 0;i < DCM_SASERVER_KEYLENGTH;i++) /*获取客户端发送过来的密钥*/ + { + VeDcm_h_RqustInfo.Key[i] = VeDcm_P_DataAddress[i+2]; + } + + LeDcm_w_Key = ((uint32)VeDcm_h_RqustInfo.Key[0]<<24) + ((uint32)VeDcm_h_RqustInfo.Key[1]<<16) + ((uint32)VeDcm_h_RqustInfo.Key[2]<<8) + VeDcm_h_RqustInfo.Key[3]; + + if(LeDcm_w_Key != SeDcm_u_SecurityAccessKey) /*密钥校验*/ + //if(LeDcm_w_Key != SeDcm_w_SecurityAccessSeed) /*密钥校验*/ + { + SeDcm_u_KeyErrorCount++; /*密钥不符合 密钥错误数加1*/ + KamData.KeyErrTimes = SeDcm_u_KeyErrorCount | 0x10; + + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + + } + else /*密钥验证通过*/ + { + SeDcm_u_KeyErrorCount = 0U; /*密钥错误次数清零*/ + KamData.KeyErrTimes = SeDcm_u_KeyErrorCount; + + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + + if(dummy == 0x02) + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_L1_UNLOCK; /*置安全权限为 解锁状态 */ + else if(dummy == 0x12) + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_L2_UNLOCK; /*置安全权限为 解锁状态 */ + } + + if(0 == SeDcm_u_KeyErrorCount) /*密钥没有错误*/ + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SeDcm_u_SecurityAccessServerSts = DCM_SECURITYACCESS_DEFAULT; /*置27 服务为 默认状态 */ + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + + + } + else if(SeDcm_u_KeyErrorCount>0&&SeDcm_u_KeyErrorCount>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SeDcm_u_RidFF02Sts = CeDcm_e_RidStart; /*置例程当前状态*/ + + //必要的化 插 78 + //处理函数 + RidFF02RunSts = Rid_Finish; + + SeDcm_u_RidFF02Sts = CeDcm_e_RidStop; /*置例程当前状态*/ + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SeDcm_u_RidFF02Sts = CeDcm_e_RidStart; /*置例程当前状态*/ + + //必要的化 插 78 + //处理函数 + RidFF02RunSts = Rid_Finish; + + SeDcm_u_RidFF02Sts = CeDcm_e_RidStop; /*置例程当前状态*/ + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + +RidRunSts_T GetRidFF02RunSts(void) +{ + return RidFF02RunSts; +} + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF00Start(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF00 开始 处理函数 + + *编辑时间 : 2015-11-03 + + *备注 : + *****************************************************************************/ +TeDcm_h_ResultType MngDcm_RoutineFF00Start(void) +{ + TeDcm_h_ResultType LeDcm_u_Result; +#if 0 + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStop == SeDcm_u_RidFF00Sts) + { + // 78 + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); + SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); + + if(CeFCC_Programing_e_Succeed == SetFCC_Programing_EraseFlash(FCC_PROGRAMING_APPCODE_SECTORONE)) + { + SetWd_FeedWdg(); + // 78 + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); + SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); + //处理函数 + SetFCC_Programing_EraseFlash(FCC_PROGRAMING_APPCODE_SECTORTWO); + SetWd_FeedWdg(); + // 78 + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); + SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); + //处理函数 + SetFCC_Programing_EraseFlash(FCC_PROGRAMING_APPCODE_SECTORTHR); + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SeDcm_u_RidFF00Sts = CeDcm_e_RidStart; /*置例程当前状态*/ + + + SeDcm_u_RidFF00Sts = CeDcm_e_RidStop; /*置例程当前状态*/ + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC72]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + } + else + { + /*设置NRC 24*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } +#endif + return LeDcm_u_Result; + } + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF01Start(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF01 开始 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : +*****************************************************************************/ +TeDcm_h_ResultType MngDcm_RoutineFF01Start(void) +{ + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; +#if 0 + if(CeDcm_e_RidStop == SeDcm_u_RidFF01Sts) + { + //处理函数 + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); + SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + + if(CeFCC_Programing_e_Succeed == SetFCC_Programing_Check()) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SeDcm_u_RidFF01Sts = CeDcm_e_RidStart; /*置例程当前状态*/ + + SeDcm_u_RidFF01Sts = CeDcm_e_RidStop; /*置例程当前状态*/ + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC72]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + } + else + { + /*设置NRC 24*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } +#endif + return LeDcm_u_Result; +} + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF02Stop(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF02 停止 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF02Stop(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + + if(CeDcm_e_RidStart == SeDcm_u_RidFF02Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF02Stop(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF00 停止 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF00Stop(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStart == SeDcm_u_RidFF00Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + +/****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF02Result(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF01 停止 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF01Stop(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStart == SeDcm_u_RidFF01Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + + +/****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF02Result(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF02 请求结果 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF02Result(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStop == SeDcm_u_RidFF02Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF00Result(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF00 请求结果 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF00Result(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStop == SeDcm_u_RidFF00Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_RoutineFF01Result(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 31 服务 FF01 请求结果 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineFF01Result(void) + { + uint8 LaDcm_u_TempBuffer[5]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(CeDcm_e_RidStop == SeDcm_u_RidFF01Sts) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.Rid&0xFF; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Rid>>8; + LaDcm_u_TempBuffer[4] = DCM_RIDRESULT_SUCCESS; + + SetCanTp_TxBuffer(5U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 24*/ + + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_Result; + } + + + +TeDcm_h_ResultType MngDcm_RoutineF001Start(void) +{ + +} +TeDcm_h_ResultType MngDcm_RoutineF001Stop(void) +{ + +} +TeDcm_h_ResultType MngDcm_RoutineF001Result(void) +{ + +} + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_EnableCommunication(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 28 允许通讯 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_CtrlCommunication(uint8 CommunicationType) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + + if(SeDcm_u_DiagnosticSession != DCM_EXTEND_SESSION) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + return CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC7F]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + return CeDcm_e_ResultNoRsp; + + } + } + + if( (CommunicationType >= 1) && ( CommunicationType <= 3)) + { + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + if( CommunicationType == 3) + { + SeDcm_u_NetworkMsgSts = 3 - VeDcm_h_RqustInfo.Sub; /*网络管理报文收发使能*/ + SeDcm_u_NormalMsgSts = 3 - VeDcm_h_RqustInfo.Sub; /*应用报文收发使能*/ + } + else if(CommunicationType == 1) + SeDcm_u_NormalMsgSts = 3 - VeDcm_h_RqustInfo.Sub; /*应用报文收发使能*/ + else + SeDcm_u_NetworkMsgSts = 3 - VeDcm_h_RqustInfo.Sub; /*网络管理报文收发使能*/ + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + } + else + { + /*设置NRC 31*/ + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + + } + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_DisenableCommunication(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 28 禁止通讯 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_DisenableCommunication(void) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_DISENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_DISENABLE; /*应用报文收发关闭*/ + + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_DISENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_DISENABLE; /*应用报文收发关闭*/ + + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + + return LeDcm_u_Result; + } + + TeDcm_h_ResultType MngDcm_EnableCommunication(void) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(0x02 != VeDcm_h_RqustInfo.Sub) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发关闭*/ + + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发关闭*/ + + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + + } + + return LeDcm_u_Result; + } + + TeDcm_h_ResultType MngDcm_EnableCommunication_SID_0x29(void) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(0x02 != VeDcm_h_RqustInfo.Sub) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发关闭*/ + + + SetCanTp_TxBuffer(1U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发关闭*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发关闭*/ + + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + + } + + return LeDcm_u_Result; + } + + uint8 GetNormalMsgSts(void) + { + return (SeDcm_u_NormalMsgSts); + + } + + uint8 GetNetworkMsgSts(void) + { + return(SeDcm_u_NetworkMsgSts); + } + + unsigned char SX11GetNormalMsgSts(void) + { + return (3 - SeDcm_u_NormalMsgSts); + } + + unsigned char SX11GetNetworkMsgSts(void) + { + return(3 - SeDcm_u_NetworkMsgSts); + } + + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_TesterPresentDeal(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 3E 诊断在线 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_TesterPresentDeal(void) + { + + + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + SeDcm_w_S3ServerTime = DCM_S3SEVERTIMEOUT; /*重置S3server计时*/ + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + + return LeDcm_u_Result; + } + void resetS3Server(void) + { + SeDcm_w_S3ServerTime = DCM_S3SEVERTIMEOUT; /*重置S3server计时*/ + } + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_DTCSettingEnable(void) + + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 85 DTC 设置使能 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_DTCSettingEnable(void) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + uint8 temp; + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty && (SeDcm_u_DiagnosticSession != DCM_EXTEND_SESSION)) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + return CeDcm_e_ResultNoRsp; + } + + SeDcm_u_DtcSetSts = DCM_DTCSET_ENABLE; + DtcStutasInit(); + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + + return LeDcm_u_Result; + } + + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_DTCSettingDisenable(void) + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 85 DTC 设置禁止 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_DTCSettingDisenable(void) + { + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_Result; + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty && (SeDcm_u_DiagnosticSession != DCM_EXTEND_SESSION)) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + return CeDcm_e_ResultNoRsp; + } + + SeDcm_u_DtcSetSts = DCM_DTCSET_DISENABLE; + + if(DCM_FALSE == (VeDcm_h_RqustInfo.Sub&0x80)) /*判断正响应抑制位*/ + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Sub; + + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultPosRsp; + } + else + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*调用接口发送响应数据 0数据为不响应*/ + LeDcm_u_Result = CeDcm_e_ResultNoRsp; + } + + return LeDcm_u_Result; + } + + + uint8 GetDtcEnable(void) + { + return SeDcm_u_DtcSetSts; + } + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_DynamicaDefineNewDid(void) + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 2C 创建新动态DID 处理函数 + + *编辑时间 : 2016-12-25 + + *备注 : + *****************************************************************************/ + + TeDcm_h_ResultType MngDcm_DynamicaDefineNewDid(void) + { + TeDcm_h_ResultType LeDcm_u_Result; + /*设置NRC22*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; /*负响应*/ + return LeDcm_u_Result; + } + + /****************************************************************************** + *函数名称 : TeDcm_h_ResultType MngDcm_ClearDynamicaDid(void) + *参数 : void + + *返回值 : LeDcm_u_Result 处理结果 + + *描述 : 2C 创建新动态DID 处理函数 + + *编辑时间 : 2016-12-25 + + *备注 : + *****************************************************************************/ + + TeDcm_h_ResultType MngDcm_ClearDynamicaDid(void) + { + TeDcm_h_ResultType LeDcm_u_Result; + /*设置NRC22*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_Result = CeDcm_e_ResultNegRsp; /*负响应*/ + return LeDcm_u_Result; + } + + /****************************************************************************** + *函数名称 : void MngDcm_ChangeToDefaltSession(void) + + *参数 : void + + *返回值 : void + + *描述 : 跳转到 默认会话模式 处理函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +void MngDcm_ChangeToDefaltSession(void) +{ + SeDcm_u_S3ServerTimeSts = DCM_S3SEVERTIMER_STOP; /*S3server 计时停止*/ + SeDcm_u_DiagnosticSession = DCM_DEFAULT_SESSION; /*会话模式 默认模式*/ + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_DEFAULT; /*安全模式锁定*/ + SeDcm_u_DtcSetSts = DCM_DTCSET_ENABLE; /*DTC设置使能*/ + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发使能*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE | (DCM_MSGTXRX_ENABLE<<1); /*应用报文收发使能*/ + //CleanIoDid(); +} + + /****************************************************************************** + *函数名称 : void MngDcmS3ServerAndKeyErrorCountCutDown(void) + + *参数 : void + + *返回值 : void + + *描述 : S3ServerTime 计数自减 + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +void MngDcmS3ServerCountCutDown(void) +{ + if(SeDcm_w_S3ServerTime > 0) + { + SeDcm_w_S3ServerTime--; + } + +} + + +/****************************************************************************** + *函数名称 : void MngDcmKeyErrorDelayCountCutDown(void) + + *参数 : void + + *返回值 : void + + *描述 : 密钥错误超出允许次数 延时 计数自减 + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +void MngDcmKeyErrorDelayCountCutDown(void) +{ + unsigned char savebuf[4]; + if(SeDcm_u_KeyErrorDelayCount > 0) + { + SeDcm_u_KeyErrorDelayCount--; + if(SeDcm_u_KeyErrorDelayCount == 0) + { + SeDcm_u_KeyErrorCount = 0U; + KamData.KeyErrTimes = SeDcm_u_KeyErrorCount; + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + } + } + if(SaDcm_u_RequestDelayCount > 0) + { + SaDcm_u_RequestDelayCount--; + if(SaDcm_u_RequestDelayCount == 0) + { + SaDcm_u_RequestCounter = 0U; + KamData.SeedReqTimes = SaDcm_u_RequestCounter; + ReadFlashData(savebuf,0x000F1800,4); + savebuf[0] = SaDcm_u_RequestCounter; + savebuf[1] = SeDcm_u_KeyErrorCount; + WriteDataflash(savebuf,0x000F1800,4); + } + } +} + + + + + +/****************************************************************************** + *函数名称 : void MngDcm_PrepareNegRsp(uint8 LeDcm_u_Sid,uint8 LeDcm_u_Nrc) + + *参数 : LeDcm_u_Sid 请求的sid 要回应的NRC的索引 + + *返回值 : void + + *描述 : 整理负响应数据 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +void MngDcm_PrepareNegRsp(uint8 LeDcm_u_Sid,uint8 LeDcm_u_Nrc) +{ + VaDcm_u_NegRspTxBuffer[0] = 0x7F; /*负响应*/ + VaDcm_u_NegRspTxBuffer[1] = LeDcm_u_Sid; /*sid*/ + VaDcm_u_NegRspTxBuffer[2] = LeDcm_u_Nrc; /*NRC*/ +} + + + +/****************************************************************************** + *函数名称 : void MngDcm_PrepareNegRsp(uint8 LeDcm_u_Sid,uint8 LeDcm_u_Nrc) + + *参数 : TargetAddress 目标数组,TargetPost 目标数组的起始位置,SourceAddress 源数组,SourcePost 源数组位置, + DataLength 需移动的数据长度 + + *返回值 : void + + *描述 : 移动数据 处理 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +void MngDcm_DataMoveDeal(uint8* TargetAddress,uint8 TargetPost,uint8* SourceAddress,uint8 SourcePost,uint8 DataLength) +{ + + uint8 i; + + for(i = 0;i < DataLength; i ++) + { + TargetAddress[TargetPost + i] = SourceAddress[SourcePost + i]; + + } + +} + + + /****************************************************************************** + *函数名称 :TeDcm_h_ResultType MngDcm_RequestDownloadService(void) + + *参数 : void + + *返回值 : LeDcm_u_FinallyResult 处理结果 + + *描述 : 34 服务函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +TeDcm_h_ResultType MngDcm_RequestDownloadService(void) +{ + uint8 LeDcm_u_dataFomatldentifier; /*数据格式*/ + uint8 LeDcm_u_addressAndLengthFomatldentifier; /*地址和数据长度格式*/ + uint32 LeDcm_w_Address; /*地址*/ + uint32 LeDcm_w_DataLength; /*数据长度*/ + uint8 LeDcm_u_SidIndex; + uint8 LeDcm_u_SecurityAccessCheckResult; + uint8 LaDcm_u_TempBuffer[6]; + TeDcm_h_ResultType LeDcm_u_FinallyResult; +#if 0 + + LeDcm_u_dataFomatldentifier = VeDcm_P_DataAddress[1]; + LeDcm_u_addressAndLengthFomatldentifier = VeDcm_P_DataAddress[2]; + + /*提取地址参数*/ + LeDcm_w_Address = (((uint32)VeDcm_P_DataAddress[3])<<24U) + (((uint32)VeDcm_P_DataAddress[4])<<16U) + (((uint32)VeDcm_P_DataAddress[5])<<8U) + VeDcm_P_DataAddress[6]; + /*提取数据长度数*/ + LeDcm_w_DataLength = (((uint32)VeDcm_P_DataAddress[7])<<24U) + (((uint32)VeDcm_P_DataAddress[8])<<16U) + (((uint32)VeDcm_P_DataAddress[9])<<8U) + VeDcm_P_DataAddress[10]; + + if((DCM_DATAFOMATLDENTIFER == LeDcm_u_dataFomatldentifier)&&(LeDcm_u_addressAndLengthFomatldentifier == DCM_ADDRESSANDLENGTHFOMATLDENTIFER)) + { + if(VeDcm_h_RqustInfo.DL == 11U) + { + if(CeFCC_Programing_e_Succeed == SetFCC_Programing_AddrSize(LeDcm_w_Address,LeDcm_w_DataLength)) + { + LeDcm_u_SidIndex = MngDcm_SIDCheckAvailable(VeDcm_h_RqustInfo.Sid); + LeDcm_u_SecurityAccessCheckResult = MngDcm_SIDCheckSecurityAccess(LeDcm_u_SidIndex); + if(DCM_CHECK_OK == LeDcm_u_SecurityAccessCheckResult) + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = DCM_LENGTHFOMATLDENTIFER; + LaDcm_u_TempBuffer[3] = CaDcm_w_SingleAllowDateLength&0xFF; /*单次允许的最大数据 低字节*/ + LaDcm_u_TempBuffer[2] = CaDcm_w_SingleAllowDateLength>>8; /*单次允许的最大数据 高字节*/ + SetCanTp_TxBuffer(4U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + SeDcm_u_DownLoadDataSts = CeDcm_e_DownLoadRequested; /*置数据下载状态为 已请求下载*/ + SeDcm_w_DownLoadDataLength = LeDcm_w_DataLength; /*记录 34 请求下载的数据长度*/ + SeDcm_w_TransmitDataCount = 0U; + LeDcm_u_FinallyResult = CeDcm_e_ResultPosRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC33]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } +#endif + return LeDcm_u_FinallyResult; +} + + + /****************************************************************************** + *函数名称 : + + *参数 : void + + *返回值 : LeDcm_u_FinallyResult 处理结果 + + *描述 : 36 服务函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + +TeDcm_h_ResultType MngDcm_TransmitDataService(void) +{ + uint16 LeDcm_w_SingleTransmitDataCount; + uint8 LeDcm_u_BlockSequenceCount; + uint8 LeDcm_u_BlockExpect; + uint8 LaDcm_u_TempBuffer[6]; /*响应数据缓存数组*/ + TeDcm_h_ResultType LeDcm_u_FinallyResult; +#if 0 + TeFCC_Programing_e_Result LeDcm_FCC_Ret; + + if(CeDcm_e_DownLoadRequested==SeDcm_u_DownLoadDataSts||CeDcm_e_DownLoadDuringTransmit == SeDcm_u_DownLoadDataSts) + { + LeDcm_w_SingleTransmitDataCount = VeDcm_h_RqustInfo.DL - 2U; /*提取传输的数据量 剔除服务参数字节*/ + SeDcm_w_TransmitDataCount = SeDcm_w_TransmitDataCount + LeDcm_w_SingleTransmitDataCount; /*记录传输数据量*/ + /*判断传输数据累计是否超过 请求下载的数据量 单次传输长度是否超出 34服务回应的允许的数据量*/ + if(SeDcm_w_TransmitDataCount <= SeDcm_w_DownLoadDataLength) + { + LeDcm_u_BlockSequenceCount = VeDcm_P_DataAddress[1]; /*提取 36 请求参数 BlockSequenceCount*/ + LeDcm_u_BlockExpect = (uint8)(((uint16)SeDcm_u_BlockSequenceCountSts + 1)&0x00ff); + + if(((0x01 == LeDcm_u_BlockSequenceCount)&&(SeDcm_u_DownLoadDataSts == CeDcm_e_DownLoadRequested)) + || ((LeDcm_u_BlockSequenceCount== LeDcm_u_BlockExpect)&&(SeDcm_u_DownLoadDataSts == CeDcm_e_DownLoadDuringTransmit))) + { + if(VeDcm_h_RqustInfo.DL <= CaDcm_w_SingleAllowDateLength)/*MaxNumberofBlockLength*/ + { + SeDcm_u_BlockSequenceCountSts = LeDcm_u_BlockSequenceCount; + SeDcm_u_DownLoadDataSts = CeDcm_e_DownLoadDuringTransmit; /*置数据下载状态为 正在传输*/ + + if(SeDcm_w_TransmitDataCount == SeDcm_w_DownLoadDataLength) + { + SeDcm_u_DownLoadDataSts = CeDcm_e_DownLoadTransmited; /*置数据下载状态为 传输完毕*/ + SeDcm_w_TransmitDataCount = 0U; + } + + //78响应 + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC78]); /*整理负响应数据*/ + SetCanTp_Tx_78Neg(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + + //调用接口 编程 + LeDcm_FCC_Ret = SetFCC_Programing_Code(VeDcm_h_RqustInfo.DL-2,&VeDcm_P_DataAddress[2]); + + if(LeDcm_FCC_Ret == CeFCC_Programing_e_Succeed) + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = LeDcm_u_BlockSequenceCount; + SetCanTp_TxBuffer(2U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultPosRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC73]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + + } + + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC71]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } +#endif + return LeDcm_u_FinallyResult; +} + + /****************************************************************************** + *函数名称 : + + *参数 : void + + *返回值 : LeDcm_u_FinallyResult 处理结果 + + *描述 : 37 服务函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + +TeDcm_h_ResultType MngDcm_TransmitExitService(void) +{ + uint8 LaDcm_u_TempBuffer[2]; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + if(SeDcm_u_DownLoadDataSts == CeDcm_e_DownLoadTransmited) + { + if(VeDcm_h_RqustInfo.DL == 1U) + { + LaDcm_u_TempBuffer[0] = LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + SetCanTp_TxBuffer(1U,LaDcm_u_TempBuffer); /*调用接口发送响应数据*/ + SeDcm_u_DownLoadDataSts = CeDcm_e_DownLoadRelax; /*置数据下载状态为 退出传输 空闲状态*/ +#if 0 + SetFCC_Programing_Finish(); +#endif + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC24]); /*整理负响应数据*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*调用接口发送响应数据*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*负响应*/ + } + + return LeDcm_u_FinallyResult; +} + + +/****************************************************************************** + *函数名称 : void InitDcm_Parameter (void) + + *参数 : void + + *返回值 : void + + *描述 : DCM 初始化函数 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ + void InitDcm_Parameter (void) + { + unsigned char readbuf[33]; + SeDcm_u_DiagnosticSession = DCM_DIAGNOSTIC_SESSION_DEFAULT; /*会话模式 默认会话*/ + SeDcm_u_SecurityAccessState = DCM_SECURITYACCESS_DEFAULT; /*安全模式 锁定状态*/ + SeDcm_u_DtcSetSts = DCM_DTCSET_ENABLE; /*DTC设置使能*/ + SeDcm_u_NetworkMsgSts = DCM_MSGTXRX_ENABLE; /*网络管理报文收发使能*/ + SeDcm_u_NormalMsgSts = DCM_MSGTXRX_ENABLE |(DCM_MSGTXRX_ENABLE<<1); /*应用报文收发使能*/ + SeDcm_u_KeyErrorDelayCount = 0;//DCM_SASERVERSTS_ERRORDELAY_COUNT_DEFAULT; /*默认27服务上电延时*/ + SeDcm_u_SecurityAccessServerSts = DCM_SECURITYACCESS_DEFAULT; /*置27 服务为 默认状态 */ + SeDcm_u_KeyErrorCount = 0U; /*置27 密钥错误次数初始为0 */ + + //SaDcm_u_RequestCounter = KamData.SeedReqTimes; + //SeDcm_u_KeyErrorCount = KamData.KeyErrTimes; /*读取储存的次数*/ + ReadFlashData(readbuf,0x000F1800,4); + + SaDcm_u_RequestCounter = readbuf[0]; + SeDcm_u_KeyErrorCount = readbuf[1]; /*读取储存的次数*/ + + if(SaDcm_u_RequestCounter > 6)SaDcm_u_RequestCounter=0; + if(SeDcm_u_KeyErrorCount > 4)SeDcm_u_KeyErrorCount=0; + /* + if((SaDcm_u_RequestCounter>>4)==0x01)SaDcm_u_RequestCounter &= 0x0F; + else SaDcm_u_RequestCounter = 0; + + if((SeDcm_u_KeyErrorCount>>4)==0x01)SeDcm_u_KeyErrorCount &= 0x0F; + else SeDcm_u_KeyErrorCount = 0; + */ + if(SeDcm_u_KeyErrorCount >= 3 ) + { + SeDcm_u_KeyErrorDelayCount = DCM_SASERVERSTS_ERRORDELAY_COUNT; + //SaDcm_u_RequestCounter=5; + } + + SeDcm_u_DownLoadDataSts = CeDcm_e_DownLoadRelax; /*置下载处理状态为 空闲*/ + + SeDcm_u_RidFF02Sts = CeDcm_e_RidStop; /*置例程初始状态*/ + SeDcm_u_RidFF00Sts = CeDcm_e_RidStop; + SeDcm_u_RidFF01Sts = CeDcm_e_RidStop; + + RidFF02RunSts = Rid_Idle; + //DtcInit(); + } + +/****************************************************************************** + *函数名称 : uint16 MngDcm_GetS3serverTime() + + *参数 : void + + *返回值 : SeDcm_w_S3ServerTime S3ServerTime当前计数值 + + *描述 : 获取S3ServerTime当前计数值 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +uint16 MngDcm_GetS3serverTime(void) +{ + return SeDcm_w_S3ServerTime; +} + +void MngDcm_ResetS3serverTime(void) +{ + SeDcm_w_S3ServerTime = DCM_S3SEVERTIMEOUT; +} +/****************************************************************************** + *函数名称 : uint8 MngDcm_GetS3serverTimeSts(void) + + *参数 : void + + *返回值 : SeDcm_u_S3ServerTimeSts S3ServerTime当前计数 计数状态 + + *描述 : 获取S3ServerTime当前计数 计数状态 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +uint8 MngDcm_GetS3serverTimeSts(void) +{ + return SeDcm_u_S3ServerTimeSts; +} + + +/****************************************************************************** + *函数名称 :uint8 MngDcm_GetDiagnosticSession(void) + + *参数 : void + + *返回值 : SeDcm_u_DiagnosticSession 当前会话模式 + + *描述 : 获取当前会话模式 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +uint8 MngDcm_GetDiagnosticSession(void) +{ + return SeDcm_u_DiagnosticSession; +} + +/****************************************************************************** + *函数名称 :uint8 MngDcm_GetSecurityAccessSts(void) + + *参数 : void + + *返回值 : SeDcm_u_SecurityAccessState 当前安全权限 + + *描述 : 获取当前安全权限 + + *编辑时间 : 2015-10-10 + + *备注 : + *****************************************************************************/ +uint8 MngDcm_GetSecurityAccessSts(void) +{ + return SeDcm_u_SecurityAccessState; +} + diff --git a/ECU_APP/diagnose/Dcm_App.h b/ECU_APP/diagnose/Dcm_App.h new file mode 100644 index 0000000..f0cb234 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_App.h @@ -0,0 +1,233 @@ + +/****************************************************************************** +| File Name : Dcm_App.h +| Description: +******************************************************************************/ +#ifndef DCM_APP_H +#define DCM_APP_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ + +#include "Dcm_App_Cfg.h" +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ +#define SetMcu_SoftReset() do{WDTE = 0;}while(1) + + +#define DCM_PHYSICAL_ADDRESS 0x01 /*瀹忓畾瀵诲潃鏂瑰紡*/ +#define DCM_FUNCTIONAL_ADDRESS 0x02 + +#define DCM_DEFAULT_SESSION 0x01 /*榛樿妯″紡*/ +#define DCM_PROGRAMME_SESSION 0x02 /*缂栫▼妯″紡*/ +#define DCM_EXTEND_SESSION 0x04 /*鎵╁睍妯″紡*/ +#define DCM_DIAGNOSTIC_SESSION_DEFAULT DCM_DEFAULT_SESSION /*涓婄數榛樿璇婃柇浼氳瘽妯″紡*/ + +#define DCM_SECURITYACCESS_L2_UNLOCK 0x07 /*瑙i攣鐘舵*/ +#define DCM_SECURITYACCESS_L1_UNLOCK 0x06 /*L1瑙i攣鐘舵*/ +#define DCM_SECURITYACCESS_DEFAULT 0x04 /*榛樿瀹夊叏鐘舵佺姸鎬*/ + +#define DCM_SECURITY_LEVEL_DEFAULT 0x07 +#define DCM_SECURITYACCESS_LEVEL_L1 0x03 +#define DCM_SECURITYACCESS_LEVEL_L2 0x01 + +#define DCM_19SUPMASK 0x09 /*19鏈嶅姟鐨勬湁鏁堟帺鐮*/ +#define DCM_15031_6_DTCFORMAT 0x00 /*DTC鏍煎紡*/ + +#define DCM_DTCSET_ENABLE 1U /*DTC璁剧疆浣胯兘*/ +#define DCM_DTCSET_DISENABLE 0U /*DTC璁剧疆鍏抽棴*/ + +#define DCM_MSGTXRX_ENABLE 1U /*鎶ユ枃鏀跺彂鐘舵 浣胯兘*/ +#define DCM_MSGTXRX_DISENABLE 0U /*鎶ユ枃鏀跺彂鐘舵 鍏抽棴*/ + +#define DCM_SASERVERSTS_DEFAULT 0U /*27鏈嶅姟鐘舵佹満 榛樿鐘舵 鍒濆鐘舵*/ +#define DCM_SASERVERSTS_REQUESTKEY (0x80)//1U /*27鏈嶅姟鐘舵佹満 宸茶姹傜瀛*/ +#define DCM_SASERVERSTS_UNLOCK 2U /*27鏈嶅姟鐘舵佹満 宸茶В閿*/ +#define DCM_SASERVERSTS_ERROR 4U /*27鏈嶅姟鐘舵佹満 瀵嗛挜閿欒寤舵椂*/ + + +#define DCM_S3SEVERTIMER_STOP 0U /*S3ServerTime 璁℃椂鍋滄*/ +#define DCM_S3SEVERTIMER_CONTINUE 1U /*S3ServerTime 璁℃椂缁х画*/ + +#define DCM_DTCDATA_MAXLENGTH 36 /*DTC鍒楄〃鏈澶ф暟鎹噺*/ + +#define DCM_TXBUFFER_LENGTH 105U /*鍙戦乥uffer鐨勯暱搴*/ + +#define DCM_SASERVER_KEYLENGTH 4U /*瀵嗛挜闀垮害*/ +#define DCM_SASERVER_KEYERRORCOUNT 3U /*鍏佽瀵嗛挜閿欒娆℃暟*/ + +#define DCM_RIDRESULT_SUCCESS 0x04 /*鍘嗙▼澶勭悊鎴愬姛*/ +#define DCM_RIDRESULT_FAILURE 0x05 /*鍘嗙▼澶勭悊澶辫触*/ + +#define DCM_RIDRUNSTS_FINISH 0x01 +#define DCM_RIDRUNSTS_IDLE 0x00 + +#define DCM_READDID_MAXNUMBER 5U /*22 涓娆℃ц鍙栫殑DID 鏈澶т釜鏁*/ +#define DCM_WRITEDATA_MAXLENGTH 20U /*2E鏈嶅姟鍐欏叆鏁版嵁鏈澶ч暱搴*/ + + + +#define DCM_SASERVERSTS_ERRORDELAY_COUNT 10000U /*瀵嗛挜閿欒寤舵椂*/ +#define DCM_SASERVERSTS_ERRORDELAY_COUNT_DEFAULT 10000U /*瀵嗛挜閿欒寤舵椂 涓婄數榛樿鍊*/ + +#define DCM_S3SEVERTIMEOUT 5000U /*S3ServerTime璁℃椂瓒呮椂璁℃暟閲忔爣瀹*/ + + +#define DCM_DATAFOMATLDENTIFER 0x00 /*34 鏈嶅姟鍙傛暟 鏁版嵁鏍煎紡*/ +#define DCM_ADDRESSANDLENGTHFOMATLDENTIFER 0x44 /*34 鏈嶅姟鍙傛暟 鍦板潃鍜屾暟鎹暱搴︽牸寮*/ +#define DCM_DOWNLOAD_MINADDRESS 0x00000000 /*34 鏈嶅姟鍙傛暟 鏈灏忓湴鍧*/ +#define DCM_DOWNLOAD_MAXADDRESS 0xFFFFFFFF /*34 鏈嶅姟鍙傛暟 鏈澶у湴鍧*/ +#define DCM_DOWNLOAD_MAXDATALENGTH 0xFFF /*34 鏈嶅姟鍙傛暟 鏈闀挎暟鎹暱搴*/ +#define DCM_LENGTHFOMATLDENTIFER 0x20 /*34 鏈嶅姟鍙傛暟 姝e搷搴旈噷鐨 鏁版嵁闀垮害鏍煎紡*/ +#define DCM_DOWNLOAD_RECEIVEDATALENGTH 0x0400 /*36 鏈嶅姟 鎺ユ敹鏁版嵁缂撳瓨鏁扮粍闀垮害*/ + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ +/*@缁撴瀯绫诲瀷typedef瀹氫箟*/ +/*34 36 37 鏁版嵁涓嬭浇鐩稿叧鏈嶅姟澶勭悊鐘舵*/ +typedef enum +{ + CeDcm_e_DownLoadRelax =0, + CeDcm_e_DownLoadRequested, + CeDcm_e_DownLoadDuringTransmit, + CeDcm_e_DownLoadTransmited +}TeDcm_e_DownLoadStsType; + +/*渚嬬▼鎺у埗鐘舵*/ +typedef enum +{ + CeDcm_e_RidStart =0, + CeDcm_e_RidStop, + CeDcm_e_RidGetResult +}TeDcm_e_RidStsType; + +typedef enum +{ + Rid_Idle, + Rid_Finish +}RidRunSts_T; + +/*TP鏁版嵁鍒嗘嫞鍑虹殑淇℃伅 瀹屾暣淇℃伅*/ +typedef struct +{ + uint16 DL; /*鏈夋晥瀛楄妭闀垮害*/ + uint8 Sid; /*SID*/ + uint8 RequstSty; /*璇锋眰鏂瑰紡*/ + uint8 Sub; /*瀛愭湇鍔*/ + uint8 DtcGroup[3]; /*DTC缁*/ + uint8 StateMask; /*璇锋眰鐨 鐘舵佹帺鐮*/ + uint8 Key[DCM_SASERVER_KEYLENGTH]; /*瀵嗛挜淇℃伅*/ + uint8 CommType; /*閫氳绫诲瀷*/ + uint8 Did[DCM_READDID_MAXNUMBER*2]; /*鍏蜂綋DID*/ + uint8 DidCount; /*DID涓暟*/ + uint16 Rid; /*RID*/ + uint8 WriteData[DCM_WRITEDATA_MAXLENGTH]; /*鍐欏叆鐨勬暟鎹*/ +}TsDcm_h_RquestInfo; + +typedef enum{ + DCM_RESET_NOTREADY, + DCM_RESET_READY +}DcmReset_T; + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + +/*璋冭瘯鏆傜敤*/ +extern uint8 TempTP[]; + +/*@鍏ㄥ眬鍙橀噺澹版槑extern*/ +extern uint8* VeDcm_P_DataAddress; /*TP灞傛暟鎹湴鍧*/ +extern uint8 VeDcm_u_DL; /*TP灞傛暟鎹暱搴*/ +extern uint8 VeDcm_u_RequstSty; /*TP灞傛暟鎹姹傛柟寮*/ +extern uint8 VaDcm_u_NegRspTxBuffer[3]; + +extern TsDcm_h_RquestInfo VeDcm_h_RqustInfo; + + + +extern uint16 VeDcm_w_S3ServerTime; /*S3ServerTime璁℃暟*/ +extern uint8 VeDcm_u_S3ServerTimeSts; +extern uint8 VeDcm_u_DiagnosticSession; /*璇婃柇浼氳瘽妯″紡*/ +extern uint8 VeDcm_u_SecurityAccessState; /*瀹夊叏鏉冮檺鐘舵*/ + + + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ + + +/*@鎺ュ彛鍑芥暟澹版槑extern*/ +extern uint8 MngDcm_CollectRequstInfo(void); + +extern TeDcm_h_ResultType MngDcm_DefaultSessionDeal(void); +extern TeDcm_h_ResultType MngDcm_ProgramSessionDeal(void); +extern TeDcm_h_ResultType MngDcm_ExtendedSessionDeal(void); + +extern TeDcm_h_ResultType MngDcm_SoftResetDeal(void); + +extern TeDcm_h_ResultType MngDcm_CleanDTC(uint32 Group); + +extern TeDcm_h_ResultType MngDcm_DynamicaDefineNewDid(void); +extern TeDcm_h_ResultType MngDcm_ClearDynamicaDid(void); + +extern TeDcm_h_ResultType MngDcm_RequestSeekDeal(uint8 SecurityLevel); +extern TeDcm_h_ResultType MngDcm_KeyCkeckDeal(uint8 dummy); + +extern TeDcm_h_ResultType MngDcm_CtrlCommunication(uint8 CommunicationType); +extern TeDcm_h_ResultType MngDcm_DisenableCommunication(void); + +extern TeDcm_h_ResultType MngDcm_RoutineFF02Start(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF02Stop(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF02Result(void); + +extern TeDcm_h_ResultType MngDcm_RoutineF001Start(void) ; +extern TeDcm_h_ResultType MngDcm_RoutineF001Stop(void) ; +extern TeDcm_h_ResultType MngDcm_RoutineF001Result(void); + + +extern TeDcm_h_ResultType MngDcm_TesterPresentDeal(void); + +extern TeDcm_h_ResultType MngDcm_DTCSettingEnable(void); +extern TeDcm_h_ResultType MngDcm_DTCSettingDisenable(void); + +extern void MngDcm_ChangeToDefaltSession(void); + +extern void MngDcmS3ServerCountCutDown(void); + +extern void MngDcmKeyErrorDelayCountCutDown(void); + +extern void MngDcm_PrepareNegRsp(uint8 Sid,uint8 Nrc); + +extern void MngDcm_DataMoveDeal(uint8* TargetAddress,uint8 TargetPost,uint8* SourceAddress,uint8 SourcePost,uint8 DataLength); + +extern TeDcm_h_ResultType MngDcm_RequestDownloadService(void); +extern TeDcm_h_ResultType MngDcm_TransmitDataService(void); +extern TeDcm_h_ResultType MngDcm_TransmitExitService(void); + +extern void InitDcm_Parameter (void); + +extern uint16 MngDcm_GetS3serverTime(void); +extern uint8 MngDcm_GetS3serverTimeSts(void); +extern uint8 MngDcm_GetDiagnosticSession(void); +extern uint8 MngDcm_GetSecurityAccessSts(void); + +extern TeDcm_h_ResultType MngDcm_RoutineFF00Start(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF01Start(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF00Stop(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF01Stop(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF00Result(void); +extern TeDcm_h_ResultType MngDcm_RoutineFF01Result(void); + +extern uint8 GetDtcEnable(void); +extern void CleanIoDid(void); + +extern void MngDcm_ResetS3serverTime(void); + +extern void resetS3Server(void); + +#endif diff --git a/ECU_APP/diagnose/Dcm_App_Cfg.c b/ECU_APP/diagnose/Dcm_App_Cfg.c new file mode 100644 index 0000000..f866993 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_App_Cfg.c @@ -0,0 +1,24 @@ +/****************************************************************************** +| File Name : Dcm_App.c +| Description: 诊断服务具体处理 + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "Dcm_App_Cfg.h" + +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ + + + +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ + + + + + diff --git a/ECU_APP/diagnose/Dcm_App_Cfg.h b/ECU_APP/diagnose/Dcm_App_Cfg.h new file mode 100644 index 0000000..465ba8f --- /dev/null +++ b/ECU_APP/diagnose/Dcm_App_Cfg.h @@ -0,0 +1,38 @@ +/****************************************************************************** +| File Name : Dcm_App.h +| Description: +******************************************************************************/ +#ifndef DCM_APP_CFG_H +#define DCM_APP_CFG_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ + +#include "DCM_Types.h" +#include "Dcm_DID.h" +#include "CanTp.h" +#include "Dcm_Key.h" +#include "DCM_DTC.h" +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ +/*结构类型typedef定义*/ + +/*响应类型*/ +typedef enum +{ + CeDcm_e_ResultNegRsp =0, + CeDcm_e_ResultPosRsp, + CeDcm_e_ResultNoRsp +}TeDcm_h_ResultType; + + + + +#endif diff --git a/ECU_APP/diagnose/Dcm_Cfg.c b/ECU_APP/diagnose/Dcm_Cfg.c new file mode 100644 index 0000000..9e9e496 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_Cfg.c @@ -0,0 +1,1938 @@ + +/****************************************************************************** +| File Name : Dcm_Cfg.c +| Description: 璇婃柇鏈嶅姟鏌ヨ〃銆佹湇鍔¢厤缃 + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ + +#include"Dcm_Cfg.h" + +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ + + + + +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ + + + + /*SID 鏉′欢妫鏌ラ」鍒楄〃*/ +#if 0 +/*SID 鏉′欢妫鏌ラ」*/ +typedef struct +{ + uint8 SupportSession; /*鏀寔鐨勪細璇濇ā寮*/ + uint8 SupportSecurityAccess; /*鏀寔鐨勫畨鍏ㄦ潈闄*/ + uint8 SupportRequestAddress; /*鏀寔鐨勮姹傛柟寮*/ + uint8 MinDL; /*SID 瀵瑰簲鐨勬渶灏廌L*/ + uint8 SubCount; /*瀛愭湇鍔′釜鏁 */ + uint8 Sid; /*SID */ + ServerDealfunc SidFunction; +}TsDcm_h_SidCheckInfoType; +#endif +const TsDcm_h_SidCheckInfoType CaDcm_h_SidCheckInfoTable[DCM_SUPPORTSID_COUNT]={ +// 浼氳瘽妯″紡 锛 瀹夊叏鏉冮檺 锛 璇锋眰鏂瑰紡 锛涘瓙鏈嶅姟鏈灏廌L锛涘瓙鏈嶅姟涓暟锛汼ID锛涘鐞嗗嚱鏁板湴鍧 +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 2 , 3 , 0x10 , &MngDcm_SessionControlService}, +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 2 , 1 , 0x11 , &MngDcm_ECUResetService}, +{ DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 2 , 2 , 0x27 , &MngDcm_SecurityAccessService}, +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 3 , 3 , 0x28 , &MngDcm_CommunicationControlService}, +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 2 , 1 , 0x3E , &MngDcm_TesterPresentService}, +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 2 , 2 , 0x85 , &MngDcm_DTCSettingControlService}, +{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 3 , 0 , 0x22 , &MngDcm_ReadDidDataService}, +//{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 8 , 0 , 0x23 , &MngDcm_ReadMemoryDataService},// 23鏈嶅姟缂哄け +{ DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION , DCM_SECURITYACCESS_LEVEL_L1 , DCM_PHYSICAL_ADDRESS , 4 , 0 , 0x2E , &MngDcm_WriteDidDataService}, +//{ DCM_EXTEND_SESSION , DCM_SECURITYACCESS_LEVEL_L1 , DCM_PHYSICAL_ADDRESS , 4 , 0 , 0x3D , &MngDcm_WriteMemoryDataService},// 3D鏈嶅姟缂哄け +//{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 3 , 0 , 0x2A , &MngDcm_ReadDataByIdentifier},// 2A鏈嶅姟缂哄け +//{ DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 3 , 0 , 0x2A , &MngDcm_ReadDataByIdentifier},// 2A鏈嶅姟缂哄け +//{ DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 4 , 2 , 0x2C , &MngDcm_DynamicaDefineIdentifier}, // 2C鏈嶅姟缂哄け +//{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 4 , 0 , 0x14 , &MngDcm_CleanDTCService},// 14鏈嶅姟缂哄け +//{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS | DCM_FUNCTIONAL_ADDRESS , 2 , 3 , 0x19 , &MngDcm_ReadDTCInfoService},// 19鏈嶅姟缂哄け +//{ DCM_EXTEND_SESSION , DCM_SECURITYACCESS_LEVEL_L1 , DCM_PHYSICAL_ADDRESS , 4 , 0 , 0x2F , &MngDcm_IOCtrlDIDService},// 2F鏈嶅姟缂哄け +//{DCM_DEFAULT_SESSION | DCM_EXTEND_SESSION , DCM_SECURITY_LEVEL_DEFAULT | DCM_SECURITYACCESS_LEVEL_L1 , DCM_PHYSICAL_ADDRESS , 4 , 0 , 0x2F , &MngDcm_IOCtrlDIDService},// 2F鏈嶅姟缂哄け +{ DCM_PROGRAMME_SESSION , DCM_SECURITY_LEVEL_DEFAULT , DCM_PHYSICAL_ADDRESS , 4 , 3 , 0x31 , &MngDcm_RoutineControlService}, +{ DCM_PROGRAMME_SESSION , DCM_SECURITYACCESS_LEVEL_L2 , DCM_PHYSICAL_ADDRESS , 5 , 0 , 0x34 , &MngDcm_RequestDownloadService}, +{ DCM_PROGRAMME_SESSION , DCM_SECURITYACCESS_LEVEL_L2 , DCM_PHYSICAL_ADDRESS , 3 , 0 , 0x36 , &MngDcm_TransmitDataService}, +{ DCM_PROGRAMME_SESSION , DCM_SECURITYACCESS_LEVEL_L2 , DCM_PHYSICAL_ADDRESS , 1 , 0 , 0x37 , &MngDcm_TransmitExitService} +}; + + +/*10鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_10SubCheckTable[DCM_10SUB_COUNT]={ +{0x01,2,&MngDcm_DefaultSessionDeal}, +{0x02,2,&MngDcm_ProgramSessionDeal}, +{0x03,2,&MngDcm_ExtendedSessionDeal} +}; + + +/*11鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_11SubCheckTable[DCM_11SUB_COUNT]={ + {0x01,2,&MngDcm_SoftResetDeal}, + //{0x02,2,&MngDcm_SoftResetDeal}, + {0x03,2,&MngDcm_SoftResetDeal} +}; + +/*19鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_19SubCheckTable[DCM_19SUB_COUNT]={ + {0x01,3,&MngDcm_ReportNumberOfDTCByStatusMask}, + {0x02,3,&MngDcm_ReportDTCByStatusMask}, +// {0x04,6,&MngDcm_ReportDTCSnapshotRecordByDTCNumber}, +// {0x06,6,&MngDcm_ReportDTCExtendedDataRecordByDTCNumber}, + {0x0A,2,&MngDcm_ReportSupportedDTC} +}; + +/*27鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_WithParaSubCheckType CaDcm_h_27SubCheckTable[DCM_27SUB_COUNT]={ +{0x01,2,&MngDcm_RequestSeekDeal}, +{0x02,6,&MngDcm_KeyCkeckDeal}, +//{0x11,2,&MngDcm_RequestSeekDeal}, +//{0x12,6,&MngDcm_KeyCkeckDeal}, +}; + + +/*28鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_WithParaSubCheckType CaDcm_h_28SubCheckTable[DCM_28SUB_COUNT]={ +{0x00,3,&MngDcm_CtrlCommunication}, +{0x01,3,&MngDcm_CtrlCommunication}, +{0x03,3,&MngDcm_CtrlCommunication}, +}; + + + + +/*3E鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_3ESubCheckTable[DCM_3ESUB_COUNT]={ +{0x00,2,&MngDcm_TesterPresentDeal} + +}; + +/*85鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_85SubCheckTable[DCM_85SUB_COUNT]={ +{0x01,2,&MngDcm_DTCSettingEnable}, +{0x02,2,&MngDcm_DTCSettingDisenable} +}; + +/*2C鏈嶅姟 瀛愭湇鍔′俊鎭垪琛*/ +const TsDcm_h_SubCheckType CaDcm_h_2CSubCheckTable[DCM_2CSUB_COUNT]={ +{0x01,8,&MngDcm_DynamicaDefineNewDid}, +{0x03,4,&MngDcm_ClearDynamicaDid} +}; + +/*2F 鏈嶅姟 DID 鏉′欢妫鏌ラ」鍒楄〃*/ +const TsDcm_h_DidCheckType CaDcm_h_IODidCheckInfoTable[DCM_IO_DIDSUP_COUNT]={ + {DCM_EXTEND_SESSION,DCM_SECURITYACCESS_LEVEL_L1,2,0x6300,&Dcm_DidServices_0x6300_WriteData}, + {DCM_EXTEND_SESSION,DCM_SECURITYACCESS_LEVEL_L1,2,0x6308,&Dcm_DidServices_0x6308_WriteData}, + {DCM_EXTEND_SESSION,DCM_SECURITYACCESS_LEVEL_L1,2,0x630B,&Dcm_DidServices_0x630B_WriteData}, + {DCM_EXTEND_SESSION,DCM_SECURITYACCESS_LEVEL_L1,2,0x630C,&Dcm_DidServices_0x630C_WriteData}, + {DCM_EXTEND_SESSION,DCM_SECURITYACCESS_LEVEL_L1,2,0x630E,&Dcm_DidServices_0x630E_WriteData}, +}; + /*22 鏈嶅姟 DID 鏉′欢妫鏌ラ」鍒楄〃*/ +const TsDcm_h_DidCheckType CaDcm_h_ReadDidCheckInfoTable[DCM_READ_DIDSUP_COUNT + DCM_PERIODIC_DATA_COUNT]={ +{0x07,0x07,13,0xF187,&Dcm_DidServices_0xF187_ReadData}, +{0x07,0x07,5,0xF18A,&Dcm_DidServices_0xF18A_ReadData}, +{0x07,0x07,10,0xF197,&Dcm_DidServices_0xF197_ReadData}, +{0x07,0x07,13,0xF188,&Dcm_DidServices_0xF195_ReadData}, +{0x07,0x07,10,0xF191,&Dcm_DidServices_0xF191_ReadData}, +{0x07,0x07,4,0x1701,&Dcm_DidServices_0x1701_ReadData}, +{0x07,0x07,8,0x1702,&Dcm_DidServices_0x1702_ReadData}, +{0x07,0x07,1,0x1706,&Dcm_DidServices_0x1706_ReadData}, +{0x07,0x07,2,0x1707,&Dcm_DidServices_0x1707_ReadData}, +{0x07,0x07,1,0x1708,&Dcm_DidServices_0x1708_ReadData}, +{0x07,0x07,1,0x1709,&Dcm_DidServices_0x1709_ReadData}, +{0x07,0x07,1,0x170B,&Dcm_DidServices_0x170B_ReadData}, +//REVERSE +{0x07,0x07,13,0xF195,&Dcm_DidServices_0xF195_ReadData}, +{0x07,0x07,10,0xF193,&Dcm_DidServices_0xF191_ReadData}, +{0x07,0x07, 8,0x0200,&Dcm_DidServices_0x0200_ReadData}, +{0x07,0x07, 8,0x0201,&Dcm_DidServices_0x0201_ReadData}, +{0x07,0x07,16,0xF180,&Dcm_DidServices_0xF180_ReadData}, +{0x07,0x07, 1,0xF186,&Dcm_DidServices_0xF186_ReadData}, +{0x07,0x07, 3,0xF18B,&Dcm_DidServices_0xF18B_ReadData}, +{0x07,0x07,17,0xF190,&Dcm_DidServices_0xF190_ReadData}, +{0x07,0x07,16,0xF189,&Dcm_DidServices_0xF189_ReadData}, +{0x07,0x07,16,0xF198,&Dcm_DidServices_0xF198_ReadData}, +{0x07,0x07, 4,0xF199,&Dcm_DidServices_0xF199_ReadData}, +{0x07,0x07, 4,0xF19D,&Dcm_DidServices_0xF19D_ReadData}, + +#if (defined (DAMING_CAN_BOOT) && (DAMING_CAN_BOOT == YES)) +{0x07,0x07,1,0xF188,&Dcm_DidServices_0xF193_ReadData}, +{0x07,0x07,1,0xF191,&Dcm_DidServices_0xF195_ReadData}, +#endif +/*********************End of SID $22******************************/ +}; + + /*2E 鏈嶅姟 DID 鏉′欢妫鏌ラ」鍒楄〃*/ +const TsDcm_h_DidCheckType CaDcm_h_WriteDidCheckInfoTable[DCM_WRITE_DIDSUP_COUNT]={ + {0x06,DCM_SECURITYACCESS_LEVEL_L1, 8,0xF110,&Dcm_DidServices_0xF110_WriteData}, + //{0x06,DCM_SECURITYACCESS_LEVEL_L1, 8,0xF112,&Dcm_DidServices_0xF112_WriteData}, + {0x06,DCM_SECURITYACCESS_LEVEL_L1,17,0xF190,&Dcm_DidServices_0xF190_WriteData}, + //{0x06,DCM_SECURITYACCESS_LEVEL_L1, 8,0xF197,&Dcm_DidServices_0xF197_WriteData}, + {0x06,DCM_SECURITYACCESS_LEVEL_L1,16,0xF198,&Dcm_DidServices_0xF198_WriteData}, + {0x06,DCM_SECURITYACCESS_LEVEL_L1, 4,0xF199,&Dcm_DidServices_0xF199_WriteData}, + {0x06,DCM_SECURITYACCESS_LEVEL_L1, 4,0xF19D,&Dcm_DidServices_0xF19D_WriteData}, +}; + +/*Rid FF00 妫鏌ュ垪琛*/ +const TsDcm_h_RidSubCheckType CaDcm_h_RidFF00SubCheckTable[DCM_RIDFF00_SUB_COUNT]= +{ + {0x01,13,&MngDcm_RoutineFF00Start}, + {0x02,5,&MngDcm_RoutineFF00Stop}, + {0x03,5,&MngDcm_RoutineFF00Result} +}; + +/*Rid FF01 妫鏌ュ垪琛*/ +const TsDcm_h_RidSubCheckType CaDcm_h_RidFF01SubCheckTable[DCM_RIDFF01_SUB_COUNT]= +{ + {0x01,4,&MngDcm_RoutineFF01Start}, + {0x02,5,&MngDcm_RoutineFF01Stop}, + {0x03,5,&MngDcm_RoutineFF01Result} +}; + +/*Rid FF02 妫鏌ュ垪琛*/ +const TsDcm_h_RidSubCheckType CaDcm_h_RidFF02SubCheckTable[DCM_RIDFF02_SUB_COUNT]= +{ + {0x01,4,&MngDcm_RoutineFF02Start}, + {0x02,4,&MngDcm_RoutineFF02Stop}, + {0x03,4,&MngDcm_RoutineFF02Result} +}; + +/*Rid F001 妫鏌ュ垪琛*/ +const TsDcm_h_RidSubCheckType CaDcm_h_RidF001SubCheckTable[DCM_RIDF001_SUB_COUNT]= +{ + {0x01,8,&MngDcm_RoutineF001Start }, + {0x02,5,&MngDcm_RoutineF001Stop }, + {0x03,5,&MngDcm_RoutineF001Result} +}; + +/*Rid 鎬绘鏌ュ垪琛*/ +const TsDcm_h_RidCheckType CaDcm_h_RidCheckInfoTable[DCM_31RID_COUNT]={ +{DCM_EXTEND_SESSION | DCM_PROGRAMME_SESSION,DCM_SECURITYACCESS_DEFAULT, ROUTINECTRL_DID_CheckProgrammingPreconditions,CaDcm_h_RidFF02SubCheckTable}, +}; + + + +/****************************************************************************** + * Description: : Static Function Prototype Declaration + *****************************************************************************/ +/*@闈欐佸嚱鏁板0鏄*/ +static uint8 MngDcm_SubCheckAvailable(uint8 LeDcm_u_ListLenth,uint8 LeDcm_u_Sub,__far const TsDcm_h_SubCheckType LeDcm_h_SubTable[]); +static uint8 MngDcm_SubCheckDL(uint8 LeDcm_u_SubIndex,uint16 LeDcm_u_DL,__far const TsDcm_h_SubCheckType LeDcm_h_SubTable[]); +static uint8 MngDcm_ReadDidCheckDL(uint16 LeDcm_u_DL); +static uint8 MngDcm_2AReadDidCheckDL(uint16 LeDcm_u_DL); +static uint8 MngDcm_WriteDidCheckDL(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]); +static uint8 MngDcm_IoDidCheckDL(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]); +static uint8 MngDcm_DidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Did,__far const TsDcm_h_DidCheckType LeDcm_h_DidTable[]); +static uint8 MngDcm_DidCheckSession(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]); +static uint8 MngDcm_DidCheckSecurityAccess(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]); +static uint8 MngDcm_RidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Rid,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]); +static uint8 MngDcm_RidCheckSession(uint8 LeDcm_u_RidIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]); +static uint8 MngDcm_RidCheckSecurityAccess(uint8 LeDcm_u_RidIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]); +static uint8 MngDcm_RidCheckDL(uint8 LeDcm_u_RidIndex,uint8 LeDcm_u_RidSubIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]); +static uint8 MngDcm_RidSubAvailable(uint8 LeDcm_u_RidIndex,uint8 LeDcm_u_RidSub,uint8 LeDcm_u_ListLength,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]); + +static void MngDcm_ReadDidDataPack(uint8* LeDcm_u_Buffer,uint8* LeDcm_u_Post,uint16 LeDcm_u_Did,uint8* LeDcm_u_Data,uint8 LeDcm_u_Length); + + + + +/****************************************************************************** + * Description: : Write User Function Code + *****************************************************************************/ +/*@鍑芥暟澶存敞閲婃牸寮忥紝鎵鏈夊嚱鏁板ご鎸夌収姝ゆ牸寮忔敞閲*/ + + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SIDCheckAvailable(uint8 LeDcm_u_Sid) + + *鍙傛暟 : LeDcm_u_Sid 璇锋眰鐨凷ID + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ID鐨勬湁鏁堟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SIDCheckAvailable(uint8 LeDcm_u_Sid) +{ + uint8 i; + uint8 LeDcm_u_TempResult = DCM_NORESULT; + for(i=0 ; i < DCM_SUPPORTSID_COUNT; i++) + { + if(LeDcm_u_Sid == CaDcm_h_SidCheckInfoTable[i].Sid) + { + LeDcm_u_TempResult = i; + break; + } + } + + return LeDcm_u_TempResult; +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SIDCheckSession(uint8 LeDcm_u_SidIndex) + + *鍙傛暟 : LeDcm_u_SidIndex 璇锋眰鐨凷ID鍦ㄦ潯浠跺垪琛ㄤ腑鐨勭储寮曞 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SIDCheckSession(uint8 LeDcm_u_SidIndex) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (CaDcm_h_SidCheckInfoTable[LeDcm_u_SidIndex].SupportSession&(MngDcm_GetDiagnosticSession()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; + +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SIDCheckSecurityAccess(uint8 LeDcm_u_SidIndex) + + *鍙傛暟 : LeDcm_u_SidIndex 璇锋眰鐨凷ID鍦ㄦ潯浠跺垪琛ㄤ腑鐨勭储寮曞 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶅畨鍏ㄦ潈闄愭槸鍚︽弧瓒 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SIDCheckSecurityAccess(uint8 LeDcm_u_SidIndex) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (CaDcm_h_SidCheckInfoTable[LeDcm_u_SidIndex].SupportSecurityAccess&(MngDcm_GetSecurityAccessSts()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SIDFuncAddressAvailable(uint8 LeDcm_u_SidIndex) + + *鍙傛暟 : LeDcm_u_SidIndex 璇锋眰鐨凷ID鍦ㄦ潯浠跺垪琛ㄤ腑鐨勭储寮曞 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傛柟寮忔槸鍚︽敮鎸 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SIDFuncAddressAvailable(uint8 LeDcm_u_SidIndex) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (CaDcm_h_SidCheckInfoTable[LeDcm_u_SidIndex].SupportRequestAddress&VeDcm_h_RqustInfo.RequstSty)) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SIDCheckMinDL(uint8 LeDcm_u_SidIndex,uint8 LeDcm_u_DL) + + *鍙傛暟 : LeDcm_u_SidIndex 璇锋眰鐨凷ID鍦ㄦ潯浠跺垪琛ㄤ腑鐨勭储寮曞硷紝LeDcm_u_DL 瀹㈡埛绔姹傜殑 DL + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑DL 鏄惁婊¤冻绱㈠紩鐨凷ID鐨勬渶灏廌L + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SIDCheckMinDL(uint8 LeDcm_u_SidIndex,uint16 LeDcm_u_DL) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(CaDcm_h_SidCheckInfoTable[LeDcm_u_SidIndex].MinDL <= LeDcm_u_DL) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + + + + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SubCheckAvailable(uint8 LeDcm_u_ListLenth,uint8 LeDcm_u_Sub,const TsDcm_h_SubCheckType LeDcm_h_SubTable[]) + + *鍙傛暟 : LeDcm_u_ListLenth 璇锋眰鐨凷ID鐨勫瓙鏈嶅姟淇℃伅鍒楄〃闀垮害 + LeDcm_u_Sub 璇锋眰鐨勫瓙鏈嶅姟 + LeDcm_h_SubTable[] 璇锋眰鐨凷ID鐨勫瓙鏈嶅姟淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傚瓙鏈嶅姟鏄惁鏀寔 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SubCheckAvailable(uint8 LeDcm_u_ListLenth,uint8 LeDcm_u_Sub,__far const TsDcm_h_SubCheckType LeDcm_h_SubTable[]) +{ + uint8 i; + uint8 LeDcm_u_TempResult = DCM_NORESULT; + for(i=0 ; i < LeDcm_u_ListLenth; i++) + { + if((LeDcm_u_Sub&0x7F)== LeDcm_h_SubTable[i].Sub) + { + LeDcm_u_TempResult = i; + break; + } + } + + return LeDcm_u_TempResult; +} + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_SubCheckDL(uint8 LeDcm_u_SubIndex,uint8 LeDcm_u_DL,const TsDcm_h_SubCheckType LeDcm_h_SubTable[]) + + *鍙傛暟 : LeDcm_u_SubIndex 璇锋眰鐨凷ID鐨勫瓙鏈嶅姟鍦ㄥ瓙鏈嶅姟淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_u_DL 璇锋眰鐨凞L + LeDcm_h_SubTable[] 璇锋眰鐨凷ID鐨勫瓙鏈嶅姟淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傚瓙鏈嶅姟鏄惁鏀寔 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_SubCheckDL(uint8 LeDcm_u_SubIndex,uint16 LeDcm_u_DL,__far const TsDcm_h_SubCheckType LeDcm_h_SubTable[]) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(LeDcm_h_SubTable[LeDcm_u_SubIndex].DL == LeDcm_u_DL) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + return LeDcm_u_TempResult; + +} + + + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_ReadDidCheckDL(uint8 LeDcm_u_DL) + + *鍙傛暟 : LeDcm_u_DL 璇锋眰鐨凞L + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑DL鏄惁婊¤冻瑕佹眰 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 妫鏌22 鏈嶅姟璇锋眰DL鏈夋晥鎬у嚱鏁 + *****************************************************************************/ +uint8 MngDcm_ReadDidCheckDL(uint16 LeDcm_u_DL) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(LeDcm_u_DL>2&&LeDcm_u_DL<(DCM_READDID_MAXNUMBER*2+2)&&(LeDcm_u_DL%2==1)) + { + LeDcm_u_TempResult = LeDcm_u_DL/2; + } + + return LeDcm_u_TempResult; + +} + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_ReadDidCheckDL(uint8 LeDcm_u_DL) + + *鍙傛暟 : LeDcm_u_DL 璇锋眰鐨凞L + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑DL鏄惁婊¤冻瑕佹眰 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 妫鏌22 鏈嶅姟璇锋眰DL鏈夋晥鎬у嚱鏁 + *****************************************************************************/ +uint8 MngDcm_2AReadDidCheckDL(uint16 LeDcm_u_DL) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if((LeDcm_u_DL>2)&&((LeDcm_u_DL<=DCM_PERIODIC_DATA_COUNT))) + { + LeDcm_u_TempResult = LeDcm_u_DL-2; + } + + return LeDcm_u_TempResult; + +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_WriteDidCheckDL(uint8 LeDcm_u_DidIndex,const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) + + *鍙傛暟 : LeDcm_u_DidIndex 璇锋眰鐨凞ID 鍦2E鏀寔鐨凞ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LaDcm_h_DidTable[] 2E鏀寔鐨凞ID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑DL鏄惁婊¤冻瑕佹眰 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 2E 鏈嶅姟妫鏌ヨ姹侱L鏈夋晥鎬у嚱鏁 + *****************************************************************************/ +uint8 MngDcm_WriteDidCheckDL(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) +{ + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(((LaDcm_h_DidTable[LeDcm_u_DidIndex].DataLength +3U) == VeDcm_h_RqustInfo.DL)) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + +uint8 MngDcm_IoDidCheckDL(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) +{ + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if((((LaDcm_h_DidTable[LeDcm_u_DidIndex].DataLength +3U) == VeDcm_h_RqustInfo.DL))||(((LaDcm_h_DidTable[LeDcm_u_DidIndex].DataLength +2U) == VeDcm_h_RqustInfo.DL))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_DidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Did,const TsDcm_h_DidCheckType LeDcm_h_DidTable[]) + + *鍙傛暟 : LeDcm_u_ListLenth 璇锋眰鐨凞ID淇℃伅鍒楄〃闀垮害 + LeDcm_u_Did 璇锋眰鐨凞ID + LaDcm_h_DidTable[] DID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑DID鏄敮鎸 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 妫娴婦ID鏄惁鍦ㄥ垪琛ㄤ腑 濡傛灉瀛樺湪 杩斿洖绱㈠紩 涓嶅瓨鍦 杩斿洖 DCM_NORESULT 娌℃壘鍒 + *****************************************************************************/ +uint8 MngDcm_DidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Did,__far const TsDcm_h_DidCheckType LeDcm_h_DidTable[]) +{ + uint8 i; + uint8 LeDcm_u_TempResult = DCM_NORESULT; + for(i=0 ; i < LeDcm_u_ListLenth; i++) + { + if(LeDcm_u_Did == LeDcm_h_DidTable[i].Did) + { + LeDcm_u_TempResult = i; + break; + } + } + + return LeDcm_u_TempResult; + + +} + + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_DidCheckSession(uint8 LeDcm_u_DidIndex,const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) + + *鍙傛暟 : LeDcm_u_DidIndex 璇锋眰鐨凞ID鍦―ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LaDcm_h_DidTable[] DID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶄細璇濇ā寮忔槸鍚︽敮鎸 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_DidCheckSession(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (LaDcm_h_DidTable[LeDcm_u_DidIndex].SupportSession&(MngDcm_GetDiagnosticSession()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; + +} + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_DidCheckSession(uint8 LeDcm_u_DidIndex,const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) + + *鍙傛暟 : LeDcm_u_DidIndex 璇锋眰鐨凞ID鍦―ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LaDcm_h_DidTable[] DID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶅畨鍏ㄦ潈闄愭槸鍚︽弧瓒宠姹 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +uint8 MngDcm_DidCheckSecurityAccess(uint8 LeDcm_u_DidIndex,__far const TsDcm_h_DidCheckType LaDcm_h_DidTable[]) +{ + + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (LaDcm_h_DidTable[LeDcm_u_DidIndex].SupportSecurityAccess&(MngDcm_GetSecurityAccessSts()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + + /****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_RidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Rid,const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) + + *鍙傛暟 : LeDcm_u_ListLenth 璇锋眰鐨凴ID淇℃伅鍒楄〃闀垮害 + LeDcm_u_Rid 璇锋眰鐨凴ID + LeDcm_h_RidTable[] RID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶈姹傜殑RID鏄惁鏀寔 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 31鏈嶅姟 妫娴婻ID鏄惁鍦ㄥ垪琛ㄤ腑 濡傛灉瀛樺湪 杩斿洖绱㈠紩 涓嶅瓨鍦 杩斿洖 DCM_NORESULT 娌℃壘鍒 + *****************************************************************************/ +uint8 MngDcm_RidCheckAvailable(uint8 LeDcm_u_ListLenth,uint16 LeDcm_u_Rid,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) +{ + uint8 i; + uint8 LeDcm_u_TempResult = DCM_NORESULT; + for(i=0 ; i < LeDcm_u_ListLenth; i++) + { + if(LeDcm_u_Rid == LeDcm_h_RidTable[i].Rid) + { + LeDcm_u_TempResult = i; + break; + } + } + + return LeDcm_u_TempResult; +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_RidCheckSession(uint8 LeDcm_u_RidIndex,const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) + + *鍙傛暟 : LeDcm_u_RidIndex 璇锋眰鐨凴ID鍦≧ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_h_RidTable[] RID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶄細璇濇ā寮忔槸鍚︽敮鎸 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 31鏈嶅姟 妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸佽RID + *****************************************************************************/ +uint8 MngDcm_RidCheckSession(uint8 LeDcm_u_RidIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) +{ + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (LeDcm_h_RidTable[LeDcm_u_RidIndex].SupportSession&(MngDcm_GetDiagnosticSession()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; + +} + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_RidCheckSecurityAccess(uint8 LeDcm_u_RidIndex,const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) + + *鍙傛暟 : LeDcm_u_RidIndex 璇锋眰鐨凴ID鍦≧ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_h_RidTable[] RID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ュ綋鍓嶅畨鍏ㄦ潈闄愭槸鍚︽弧瓒宠姹 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 31鏈嶅姟 妫鏌ユ潈闄愭槸鍚︽弧瓒宠姹 + *****************************************************************************/ +uint8 MngDcm_RidCheckSecurityAccess(uint8 LeDcm_u_RidIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) +{ + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(DCM_FALSE != (LeDcm_h_RidTable[LeDcm_u_RidIndex].SupportSecurityAccess&(MngDcm_GetSecurityAccessSts()))) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_RidSubAvailable(uint8 LeDcm_u_RidIndex,uint8 LeDcm_u_RidSub,uint8 LeDcm_u_ListLength,const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) + + *鍙傛暟 : LeDcm_u_RidIndex 璇锋眰鐨凴ID鍦≧ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_u_RidSub 璇锋眰鐨凷ub + LeDcm_u_ListLength RID鏀寔鐨勫瓙鏈嶅姟淇℃伅鍒楄〃闀垮害 + LeDcm_h_RidTable[] RID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ヨ姹傜殑RID鏄惁鏀寔褰撳墠璇锋眰鐨凷ub + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 31鏈嶅姟 妫鏌ヨ姹傜殑RID鏄惁鏀寔褰撳墠璇锋眰鐨凷ub + *****************************************************************************/ +uint8 MngDcm_RidSubAvailable(uint8 LeDcm_u_RidIndex,uint8 LeDcm_u_RidSub,uint8 LeDcm_u_ListLength,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) +{ + uint8 i; + uint8 LeDcm_u_TempResult = DCM_NORESULT; + for(i=0 ; i < LeDcm_u_ListLength; i++) + { + if((LeDcm_u_RidSub&0x7F) == LeDcm_h_RidTable[LeDcm_u_RidIndex].RidSubTable[i].Sub) + { + LeDcm_u_TempResult = i; + break; + } + } + + return LeDcm_u_TempResult; +} + +/****************************************************************************** + *鍑芥暟鍚嶇О : uint8 MngDcm_RidCheckSecurityAccess(uint8 LeDcm_u_RidIndex,const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) + + *鍙傛暟 : LeDcm_u_RidIndex 璇锋眰鐨凴ID鍦≧ID淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_u_RidSubIndex 璇锋眰鐨凷UB鍦≧ID鏀寔鐨勫瓙鏈嶅姟淇℃伅鍒楄〃涓殑绱㈠紩鍊 + LeDcm_h_RidTable[] RID淇℃伅鍒楄〃 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 妫鏌ヨ姹傜殑DL鏄惁婊¤冻瑕佹眰 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 31鏈嶅姟 妫鏌ヨ姹傜殑DL鏄惁婊¤冻瑕佹眰 + *****************************************************************************/ +uint8 MngDcm_RidCheckDL(uint8 LeDcm_u_RidIndex,uint8 LeDcm_u_RidSubIndex,__far const TsDcm_h_RidCheckType LeDcm_h_RidTable[]) +{ + uint8 LeDcm_u_TempResult = DCM_CHECK_NOK; + + if(((LeDcm_h_RidTable[LeDcm_u_RidIndex].RidSubTable[LeDcm_u_RidSubIndex].DL) == VeDcm_h_RqustInfo.DL)) + { + LeDcm_u_TempResult = DCM_CHECK_OK; + } + + + return LeDcm_u_TempResult; +} + + + + + + + + +/****************************************************************************** + *鍑芥暟鍚嶇О : void MngDcm_ReadDidDataPack(uint8* LeDcm_u_Buffer,uint8* LeDcm_u_Post,uint16 LeDcm_u_Did,uint8* LeDcm_u_Data,uint8 LeDcm_u_Length) + + *鍙傛暟 : LeDcm_u_Buffer 鏁版嵁鐩爣缂撳瓨鏁扮粍 + LeDcm_u_Post 鐩爣缂撳瓨鏁扮粍鏁版嵁濉厖浣嶇疆 + LeDcm_u_Did 褰撳墠澶勭悊鐨凞ID + LeDcm_u_Data 鏁版嵁鐨勬簮鍦板潃 + LeDcm_u_Length 鏁版嵁闀垮害 + + *杩斿洖鍊 : LeDcm_u_TempResult 澶勭悊缁撴灉 + + *鎻忚堪 : 22 DID 璇诲彇鏈嶅姟鐨勬暟鎹暣鐞嗗嚱鏁 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : 瀵瑰崟涓狣ID鐨勫鐞嗭紝22鏈嶅姟璇锋眰鏈夊涓狣ID鏃朵細澶氭璋冪敤 + *****************************************************************************/ +void MngDcm_ReadDidDataPack(uint8* LeDcm_u_Buffer,uint8* LeDcm_u_Post,uint16 LeDcm_u_Did,uint8* LeDcm_u_Data,uint8 LeDcm_u_Length) +{ + uint8 i; + uint8 LeDcm_u_DidHigh; + uint8 LeDcm_u_DidLow; + + LeDcm_u_DidLow = LeDcm_u_Did&0xFF; + LeDcm_u_DidHigh = LeDcm_u_Did>>8; + + LeDcm_u_Buffer[(*LeDcm_u_Post)] = LeDcm_u_DidHigh; + (*LeDcm_u_Post)++; + LeDcm_u_Buffer[(*LeDcm_u_Post)] = LeDcm_u_DidLow; + (*LeDcm_u_Post)++; + + for(i = 0;i < LeDcm_u_Length;i++) + { + LeDcm_u_Buffer[(*LeDcm_u_Post) + i] = LeDcm_u_Data[i]; + + } + + (*LeDcm_u_Post) = (*LeDcm_u_Post) + LeDcm_u_Length; + +} + + + +/**********************************************璇婃柇鏈嶅姟鍏ュ彛鍑芥暟**************/ + + +/****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_SessionControlService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 10 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ +TeDcm_h_ResultType MngDcm_SessionControlService(void) + { + uint8 LeDcm_u_SubInex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + uint8 LaDcm_u_TempBuffer[6]; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; /*璋冭瘯鏆傜敤*/ //浠嶵P鏁版嵁鎻愬彇 + + LeDcm_u_SubInex = MngDcm_SubCheckAvailable(DCM_10SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_10SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubInex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; /*璁剧疆涓轰笉鍝嶅簲*/ + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubInex,VeDcm_h_RqustInfo.DL,CaDcm_h_10SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_10SubCheckTable[LeDcm_u_SubInex].SubFunction(); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + } + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_ECUResetService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 11 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_ECUResetService(void) + { + uint8 LeDcm_u_SubInex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; //浠嶵P鏁版嵁鎻愬彇 + + LeDcm_u_SubInex = MngDcm_SubCheckAvailable(DCM_11SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_11SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubInex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; /*璁剧疆涓轰笉鍝嶅簲*/ + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubInex,VeDcm_h_RqustInfo.DL,CaDcm_h_11SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_11SubCheckTable[LeDcm_u_SubInex].SubFunction(); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + } + + + + + + + + + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_ReadDidDataService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 22 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_ReadDidDataService(void) + { + + uint8 i = 0U; + uint8 LeDcm_u_DidNumber; + uint8 LeDcm_u_NotSupDidNumber =0U; + uint8 LeDcm_u_DidIndex; + uint8 LeDcm_u_SessionCheckResult; + uint8 LeDcm_u_SecurityAccessCheckResult; + uint8 LeDcm_u_FuncDealResult; + uint16 LeDcm_u_CurrentDid; + uint8 LaDcm_u_TempBuffer[6]; + uint8 LeDcm_u_SingleDidBuffer[DCM_ONEDID_MAXDATALENGTH]; + uint8 LeDcm_u_SingleDidDataLength; + + uint8 LeDcm_u_CollectDataBuffer[DCM_TXBUFFER_LENGTH - 2U]; + uint8 LeDcm_u_CollectDataPost = 1U; + + uint8 LeDcm_u_BreakFlag = 0U; + + + TeDcm_h_ResultType LeDcm_u_FinallyResult; + + + + LeDcm_u_DidNumber = MngDcm_ReadDidCheckDL(VeDcm_h_RqustInfo.DL); /*鍑芥暟杩斿洖鍊间负涓嶅悎鏍 鎴 DID 鏁扮洰 */ + if(DCM_CHECK_NOK != LeDcm_u_DidNumber) + { + VeDcm_h_RqustInfo.DidCount = LeDcm_u_DidNumber; /*灏嗗緱鍒扮殑DID 涓暟淇濆瓨鍒 缁撴瀯浣撲腑 */ + + + MngDcm_DataMoveDeal(VeDcm_h_RqustInfo.Did,0,VeDcm_P_DataAddress,1,LeDcm_u_DidNumber*2); /*灏嗗叿浣揇ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + + while(VeDcm_h_RqustInfo.DidCount > DCM_NULL) + { + /*灏嗕袱涓猟id 鏁扮粍鍏冪礌杞崲鎴 uint16 绫诲瀷鐨 did 渚夸簬姣旇緝 */ + LeDcm_u_CurrentDid = (((uint16)VeDcm_h_RqustInfo.Did[i])<<8) + ((uint16)VeDcm_h_RqustInfo.Did[i+1U]); + i = i + 2U; /*鎸囧悜涓嬩竴涓猟id */ + + LeDcm_u_DidIndex = MngDcm_DidCheckAvailable(DCM_READ_DIDSUP_COUNT + DCM_PERIODIC_DATA_COUNT,LeDcm_u_CurrentDid,CaDcm_h_ReadDidCheckInfoTable); /*妫鏌ユ槸鍚︽槸鍚︽敮鎸佽DID*/ /*杩斿洖涓哄綋鍓岲ID绱㈠紩鎴栦笉鏀寔*/ + + if(DCM_NORESULT != LeDcm_u_DidIndex) + { + + LeDcm_u_SessionCheckResult = MngDcm_DidCheckSession(LeDcm_u_DidIndex,CaDcm_h_ReadDidCheckInfoTable); /*妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸佽DID*/ + if(DCM_CHECK_OK == LeDcm_u_SessionCheckResult) + { + LeDcm_u_SecurityAccessCheckResult = MngDcm_DidCheckSecurityAccess(LeDcm_u_DidIndex,CaDcm_h_ReadDidCheckInfoTable); /*妫鏌ュ綋鍓嶆潈闄愭槸鍚︽弧瓒*/ + if(DCM_CHECK_OK == LeDcm_u_SecurityAccessCheckResult) + { + LeDcm_u_FuncDealResult = CaDcm_h_ReadDidCheckInfoTable[LeDcm_u_DidIndex].Function(LeDcm_u_SingleDidBuffer,&LeDcm_u_SingleDidDataLength); /*鏌ヨ〃璋冪敤鍏蜂綋DID澶勭悊鍑芥暟*/ + + VeDcm_h_RqustInfo.DidCount = VeDcm_h_RqustInfo.DidCount - 1U; /*鍑忓幓宸插鐞嗙殑DID*/ + + if(DCM_CHECK_OK !=LeDcm_u_FuncDealResult) /*濡傛灉鍏蜂綋澶勭悊鍑芥暟浜х敓NRC*/ + { + /*鎺ユ敹杩斿洖鍊间綔涓篘RC*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[LeDcm_u_FuncDealResult]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + break; + } + else + { + MngDcm_ReadDidDataPack(LeDcm_u_CollectDataBuffer,&LeDcm_u_CollectDataPost,LeDcm_u_CurrentDid,LeDcm_u_SingleDidBuffer,LeDcm_u_SingleDidDataLength); /*灏嗚鍙栫殑DID鏁版嵁鏁村悎鍒颁竴涓暟缁*/ + } + + + } + else + { + /*璁剧疆NRC 33*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC33]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + LeDcm_u_BreakFlag = 1U; + break; + } + + } + else + { + LeDcm_u_NotSupDidNumber++; /*褰撳墠涓嶆敮鎸佸姞1*/ + VeDcm_h_RqustInfo.DidCount--; /*鍑忓幓宸插鐞嗙殑DID*/ + } + + } + else + { + LeDcm_u_NotSupDidNumber++; /*褰撳墠涓嶆敮鎸佸姞1 涓嶆敮鎸佺殑DID 鏆傛椂鍋氭垚褰撳墠涓嶆敮鎸*/ + VeDcm_h_RqustInfo.DidCount--; /*鍑忓幓宸插鐞嗙殑DID*/ + } + } + + + + /*鎵鏈塂ID澶勭悊瀹屾垚*/ + if(0U==LeDcm_u_BreakFlag) + { + if(LeDcm_u_NotSupDidNumber == LeDcm_u_DidNumber) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC 31*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + else + { + LeDcm_u_CollectDataBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + SetCanTp_TxBuffer(LeDcm_u_CollectDataPost,LeDcm_u_CollectDataBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultPosRsp; + } + } + else + {} + + + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + + return LeDcm_u_FinallyResult; + } + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_ReadMemoryDataService + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 23 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + + TeDcm_h_ResultType MngDcm_ReadMemoryDataService(void) + { + + } + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_SecurityAccessService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 27 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_SecurityAccessService(void) + { + uint8 LeDcm_u_SubIndex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; ; /*浠嶵P鏁版嵁鎻愬彇*/ + + LeDcm_u_SubIndex = MngDcm_SubCheckAvailable(DCM_27SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_27SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubIndex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubIndex,VeDcm_h_RqustInfo.DL,CaDcm_h_27SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_27SubCheckTable[LeDcm_u_SubIndex].SubFunction( CaDcm_h_27SubCheckTable[LeDcm_u_SubIndex].Sub); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + } + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_CommunicationControlService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 28 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_CommunicationControlService(void) + { + uint8 LeDcm_u_SubIndex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; //浠嶵P鏁版嵁鎻愬彇 + + LeDcm_u_SubIndex = MngDcm_SubCheckAvailable(DCM_28SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_28SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubIndex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubIndex,VeDcm_h_RqustInfo.DL,CaDcm_h_28SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_28SubCheckTable[LeDcm_u_SubIndex].SubFunction(VeDcm_P_DataAddress[2]); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + } + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_WriteDidDataService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 2E 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_WriteDidDataService(void) + { + uint8 i = 0U; + uint8 LeDcm_u_DidIndex; + uint8 LeDcm_u_DLCheckResult; + uint8 LeDcm_u_SessionCheckResult; + uint8 LeDcm_u_SecurityAccessCheckResult; + uint8 LeDcm_u_FuncDealResult; + uint8 LaDcm_u_TempBuffer[6]; + uint16 LeDcm_u_CurrentDid; + uint8 LeDcm_u_DidDataLength; + uint8 LeDcm_u_CollectDataBuffer[4U]; + uint8 LeDcm_u_CollectDataPost = 3U; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + + + MngDcm_DataMoveDeal(VeDcm_h_RqustInfo.Did,0,VeDcm_P_DataAddress,1,2); /*灏嗗叿浣揇ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + + LeDcm_u_CurrentDid = (((uint16)VeDcm_h_RqustInfo.Did[0])<<8) + ((uint16)VeDcm_h_RqustInfo.Did[1]); /*灏嗕袱涓猟id 鏁扮粍鍏冪礌杞崲鎴 uint16 绫诲瀷鐨 did 渚夸簬姣旇緝 */ + + LeDcm_u_DidIndex = MngDcm_DidCheckAvailable(DCM_WRITE_DIDSUP_COUNT,LeDcm_u_CurrentDid,CaDcm_h_WriteDidCheckInfoTable); /*妫鏌ユ槸鍚︽槸鍚︽敮鎸佽DID*/ /*杩斿洖涓哄綋鍓岲ID绱㈠紩鎴栦笉鏀寔*/ + + if(DCM_NORESULT != LeDcm_u_DidIndex) + { + LeDcm_u_DLCheckResult = MngDcm_WriteDidCheckDL(LeDcm_u_DidIndex,CaDcm_h_WriteDidCheckInfoTable); /*妫鏌L鏄惁婊¤冻瑕佹眰 */ + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + MngDcm_DataMoveDeal(VeDcm_h_RqustInfo.WriteData,0,VeDcm_P_DataAddress,3,CaDcm_h_WriteDidCheckInfoTable[LeDcm_u_DidIndex].DataLength); /*灏嗗叿浣揇ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + LeDcm_u_DidDataLength = CaDcm_h_WriteDidCheckInfoTable[LeDcm_u_DidIndex].DataLength; + + LeDcm_u_SessionCheckResult = MngDcm_DidCheckSession(LeDcm_u_DidIndex,CaDcm_h_WriteDidCheckInfoTable); /*妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸佽DID*/ + if(DCM_CHECK_OK == LeDcm_u_SessionCheckResult) + { + LeDcm_u_SecurityAccessCheckResult = MngDcm_DidCheckSecurityAccess(LeDcm_u_DidIndex,CaDcm_h_WriteDidCheckInfoTable); /*妫鏌ュ綋鍓嶆潈闄愭槸鍚︽弧瓒*/ + if(DCM_CHECK_OK == LeDcm_u_SecurityAccessCheckResult) + { + + LeDcm_u_FuncDealResult = CaDcm_h_WriteDidCheckInfoTable[LeDcm_u_DidIndex].Function(VeDcm_h_RqustInfo.WriteData,&LeDcm_u_DidDataLength); /*鏌ヨ〃璋冪敤鍏蜂綋DID澶勭悊鍑芥暟*/ + + if(DCM_CHECK_OK !=LeDcm_u_FuncDealResult) /*濡傛灉鍏蜂綋澶勭悊鍑芥暟浜х敓NRC*/ + { + /*鎺ユ敹杩斿洖鍊间綔涓篘RC*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[LeDcm_u_FuncDealResult]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + + } + else + { + LeDcm_u_CollectDataBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LeDcm_u_CollectDataBuffer[1] = VeDcm_h_RqustInfo.Did[0]; + LeDcm_u_CollectDataBuffer[2] = VeDcm_h_RqustInfo.Did[1]; + + SetCanTp_TxBuffer(3U,LeDcm_u_CollectDataBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + } + + } + else + { + + /*璁剧疆NRC 33*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC33]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + + } + else + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC 31*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + + + } + + } + else + { + /*璁剧疆NRC 13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + + } + + } + else + { + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC31*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + + return LeDcm_u_FinallyResult; +} + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_WriteMemoryDataService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 3D 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_WriteMemoryDataService(void) + { + TeDcm_h_ResultType LeDcm_u_FinallyResult; + /*璁剧疆NRC22*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + + return LeDcm_u_FinallyResult; + } + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_DynamicaDefineIdentifier(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 2C 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_DynamicaDefineIdentifier(void) + { + TeDcm_h_ResultType LeDcm_u_FinallyResult; + /*璁剧疆NRC22*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + + return LeDcm_u_FinallyResult; + } + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_CleanDTCService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 14 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_CleanDTCService(void) + { + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer; + uint32 DTC; + if(VeDcm_h_RqustInfo.DL == 4) + { + DTC = VeDcm_P_DataAddress[1]; + DTC <<= 8; + DTC |= VeDcm_P_DataAddress[2]; + DTC <<= 8; + DTC |= VeDcm_P_DataAddress[3]; + //DTC = (uint32)((uint32)VeDcm_P_DataAddress[1])<<16 + (uint32)((uint32)VeDcm_P_DataAddress[2])<<8 + (uint32)VeDcm_P_DataAddress[3]; + if((DTC == 0x800000)||(DTC == 0xFFFFFF)) + { + if(DCM_ACTIVE == MngDcm_CleanDtc()) + { + LaDcm_u_TempBuffer = VeDcm_h_RqustInfo.Sid + 0x40; + SetCanTp_TxBuffer(1U,&LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultPosRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC22]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + return LeDcm_u_FinallyResult; + } + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_ReadDTCInfoService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 19 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_ReadDTCInfoService(void) + { + uint8 LeDcm_u_SubInex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + + uint8 LaDcm_u_TempBuffer[6]; + + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; //浠嶵P鏁版嵁鎻愬彇 + LeDcm_u_SubInex = MngDcm_SubCheckAvailable(DCM_19SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_19SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubInex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; /*璁剧疆涓轰笉鍝嶅簲*/ + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubInex,VeDcm_h_RqustInfo.DL,CaDcm_h_19SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_19SubCheckTable[LeDcm_u_SubInex].SubFunction(); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + return LeDcm_u_FinallyResult; + } + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_IOCtrlDIDService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 2F 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2016-12-25 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_IOCtrlDIDService(void) + { + uint8 LeDcm_u_DidIndex; + uint8 LeDcm_u_SessionCheckResult; + uint8 LeDcm_u_DLCheckResult; + uint8 LeDcm_u_SecurityAccessCheckResult; + uint8 LeDcm_u_FuncDealResult; + uint8 LaDcm_u_TempBuffer[6]; + uint16 LeDcm_u_CurrentDid; + uint8 LeDcm_u_DidDataLength; + uint8 LeDcm_u_CollectDataPost = 3U; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + + MngDcm_DataMoveDeal(VeDcm_h_RqustInfo.Did,0,VeDcm_P_DataAddress,1,2); /*灏嗗叿浣揇ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + + LeDcm_u_CurrentDid = (((uint16)VeDcm_h_RqustInfo.Did[0])<<8) + ((uint16)VeDcm_h_RqustInfo.Did[1]); /*灏嗕袱涓猟id 鏁扮粍鍏冪礌杞崲鎴 uint16 绫诲瀷鐨 did 渚夸簬姣旇緝 */ + + LeDcm_u_DidIndex = MngDcm_DidCheckAvailable(DCM_IO_DIDSUP_COUNT,LeDcm_u_CurrentDid,CaDcm_h_IODidCheckInfoTable); /*妫鏌ユ槸鍚︽槸鍚︽敮鎸佽DID*/ /*杩斿洖涓哄綋鍓岲ID绱㈠紩鎴栦笉鏀寔*/ + + if(DCM_NORESULT != LeDcm_u_DidIndex) + { + MngDcm_DataMoveDeal(VeDcm_h_RqustInfo.WriteData,0,VeDcm_P_DataAddress,3,CaDcm_h_IODidCheckInfoTable[LeDcm_u_DidIndex].DataLength); /*灏嗗叿浣揇ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + + LeDcm_u_SessionCheckResult = MngDcm_DidCheckSession(LeDcm_u_DidIndex,CaDcm_h_IODidCheckInfoTable); /*妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸佽DID*/ + if(DCM_CHECK_OK == LeDcm_u_SessionCheckResult) + { + LeDcm_u_SecurityAccessCheckResult = MngDcm_DidCheckSecurityAccess(LeDcm_u_DidIndex,CaDcm_h_IODidCheckInfoTable); /*妫鏌ュ綋鍓嶆潈闄愭槸鍚︽弧瓒*/ + if(DCM_CHECK_OK == LeDcm_u_SecurityAccessCheckResult) + { + LeDcm_u_DidDataLength = CaDcm_h_IODidCheckInfoTable[LeDcm_u_DidIndex].DataLength; //VeDcm_h_RqustInfo.DL ; + LeDcm_u_FuncDealResult = CaDcm_h_IODidCheckInfoTable[LeDcm_u_DidIndex].Function(VeDcm_h_RqustInfo.WriteData,&LeDcm_u_DidDataLength); /*鏌ヨ〃璋冪敤鍏蜂綋DID澶勭悊鍑芥暟*/ + + if(DCM_CHECK_OK !=LeDcm_u_FuncDealResult) /*濡傛灉鍏蜂綋澶勭悊鍑芥暟浜х敓NRC*/ + { + /*鎺ユ敹杩斿洖鍊间綔涓篘RC*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[LeDcm_u_FuncDealResult]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + else + { + LaDcm_u_TempBuffer[0] = VeDcm_h_RqustInfo.Sid + 0x40; + LaDcm_u_TempBuffer[1] = VeDcm_h_RqustInfo.Did[0]; + LaDcm_u_TempBuffer[2] = VeDcm_h_RqustInfo.Did[1]; + LaDcm_u_TempBuffer[3] = VeDcm_h_RqustInfo.WriteData[0]; + LaDcm_u_TempBuffer[4] = VeDcm_h_RqustInfo.WriteData[1]; + LaDcm_u_TempBuffer[5] = VeDcm_h_RqustInfo.WriteData[2]; + LeDcm_u_DidDataLength = VeDcm_h_RqustInfo.DL; + SetCanTp_TxBuffer(LeDcm_u_DidDataLength,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + } + } + else + { + /*璁剧疆NRC 33*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC33]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + + } + else + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC 31*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + } + else + { + /*璁剧疆NRC31*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + return LeDcm_u_FinallyResult; + } + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_RoutineControlService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 31 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_RoutineControlService(void) + { + + uint8 LeDcm_u_RidIndex; + uint8 LeDcm_u_DLCheckResult; + uint8 LeDcm_u_RidSubIndex; + uint8 LeDcm_u_SessionCheckResult; + uint8 LeDcm_u_SecurityAccessCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + + + VeDcm_h_RqustInfo.Rid = (((uint16)VeDcm_P_DataAddress[2])<<8) + ((uint16)VeDcm_P_DataAddress[3]); /*灏嗗叿浣揜ID 鎻愬彇鍒扮粨鏋勪綋涓*/ + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; /*sub*/ //浠嶵P鏁版嵁鎻愬彇 + LeDcm_u_RidIndex = MngDcm_RidCheckAvailable(DCM_31RID_COUNT,VeDcm_h_RqustInfo.Rid,CaDcm_h_RidCheckInfoTable); /*妫鏌ユ槸鍚︽槸鍚︽敮鎸佽RID*/ /*杩斿洖涓哄綋鍓峈ID绱㈠紩鎴栦笉鏀寔*/ + if(DCM_NORESULT != LeDcm_u_RidIndex) + { + LeDcm_u_SessionCheckResult = MngDcm_RidCheckSession(LeDcm_u_RidIndex,CaDcm_h_RidCheckInfoTable); /*妫鏌ュ綋鍓嶆ā寮忔槸鍚︽敮鎸佽RID*/ + if(DCM_CHECK_OK == LeDcm_u_SessionCheckResult) + { + LeDcm_u_SecurityAccessCheckResult = MngDcm_RidCheckSecurityAccess(LeDcm_u_RidIndex,CaDcm_h_RidCheckInfoTable); + if(DCM_CHECK_OK == LeDcm_u_SecurityAccessCheckResult) + { + LeDcm_u_RidSubIndex = MngDcm_RidSubAvailable(LeDcm_u_RidIndex,VeDcm_h_RqustInfo.Sub,DCM_RIDFF02_SUB_COUNT,CaDcm_h_RidCheckInfoTable); + if(DCM_NORESULT != LeDcm_u_RidSubIndex) + { + LeDcm_u_DLCheckResult = MngDcm_RidCheckDL(LeDcm_u_RidIndex,LeDcm_u_RidSubIndex,CaDcm_h_RidCheckInfoTable); /*妫鏌L鏄惁婊¤冻瑕佹眰 */ + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_RidCheckInfoTable[LeDcm_u_RidIndex].RidSubTable[LeDcm_u_RidSubIndex].Function(); /*璋冪敤瀵瑰簲瀛愬嚱鏁板鐞 */ + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + + } + + } + else + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC33]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + + } + } + else + { + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC31]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + } + else + { + + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC7E]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + + } + + return LeDcm_u_FinallyResult; + } + + + + /****************************************************************************** + *鍑芥暟鍚嶇О : TeDcm_h_ResultType MngDcm_TesterPresentService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 3E 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_TesterPresentService(void) + { + uint8 LeDcm_u_SubInex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; /*璋冭瘯鏆傜敤*/ //浠嶵P鏁版嵁鎻愬彇 + + LeDcm_u_SubInex = MngDcm_SubCheckAvailable(DCM_3ESUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_3ESubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubInex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubInex,VeDcm_h_RqustInfo.DL,CaDcm_h_3ESubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_3ESubCheckTable[LeDcm_u_SubInex].SubFunction(); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + +} + + + + /****************************************************************************** + *鍑芥暟鍚嶇О :TeDcm_h_ResultType MngDcm_DTCSettingControlService(void) + + *鍙傛暟 : void + + *杩斿洖鍊 : LeDcm_u_FinallyResult 澶勭悊缁撴灉 + + *鎻忚堪 : 85 鏈嶅姟鍏ュ彛鍑芥暟 + + *缂栬緫鏃堕棿 : 2015-10-10 + + *澶囨敞 : + *****************************************************************************/ + TeDcm_h_ResultType MngDcm_DTCSettingControlService(void) + { + uint8 LeDcm_u_SubIndex = 0xFF; + uint8 LeDcm_u_DLCheckResult; + TeDcm_h_ResultType LeDcm_u_FinallyResult; + uint8 LaDcm_u_TempBuffer[6]; + VeDcm_h_RqustInfo.Sub = VeDcm_P_DataAddress[1]; /*浠嶵P鏁版嵁鎻愬彇*/ + + if(MngDcm_GetDiagnosticSession() != DCM_EXTEND_SESSION) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + return CeDcm_e_ResultNoRsp; + } + else + { + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC7F]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + return CeDcm_e_ResultNoRsp; + + } + } + + + LeDcm_u_SubIndex = MngDcm_SubCheckAvailable(DCM_85SUB_COUNT,VeDcm_h_RqustInfo.Sub,CaDcm_h_85SubCheckTable); /*妫鏌ュ瓙鏈嶅姟鏄惁鏀寔*/ + if(DCM_NORESULT == LeDcm_u_SubIndex) + { + if(DCM_FUNCTIONAL_ADDRESS == VeDcm_h_RqustInfo.RequstSty) + { + SetCanTp_TxBuffer(0U,LaDcm_u_TempBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹 0鏁版嵁涓轰笉鍝嶅簲*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNoRsp; + } + else + { + /*璁剧疆NRC12*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC12]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; /*璐熷搷搴*/ + } + + } + else + { + LeDcm_u_DLCheckResult = MngDcm_SubCheckDL(LeDcm_u_SubIndex,VeDcm_h_RqustInfo.DL,CaDcm_h_85SubCheckTable); + if(DCM_CHECK_OK == LeDcm_u_DLCheckResult) + { + LeDcm_u_FinallyResult = CaDcm_h_85SubCheckTable[LeDcm_u_SubIndex].SubFunction(); + } + else + { + /*璁剧疆NRC13*/ + MngDcm_PrepareNegRsp(VeDcm_h_RqustInfo.Sid,CaDcm_u_NRCData[DCM_NRC13]); /*鏁寸悊璐熷搷搴旀暟鎹*/ + SetCanTp_TxBuffer(3U,VaDcm_u_NegRspTxBuffer); /*璋冪敤鎺ュ彛鍙戦佸搷搴旀暟鎹*/ + LeDcm_u_FinallyResult = CeDcm_e_ResultNegRsp; + } + } + + + return LeDcm_u_FinallyResult; + } + + + + + + + diff --git a/ECU_APP/diagnose/Dcm_Cfg.h b/ECU_APP/diagnose/Dcm_Cfg.h new file mode 100644 index 0000000..c0fba3f --- /dev/null +++ b/ECU_APP/diagnose/Dcm_Cfg.h @@ -0,0 +1,212 @@ +/*@澶勬牴鎹疄闄呮儏鍐靛~鍐欑浉鍏充俊鎭紝灏咢瀛楃浠ュ強杩欐潯鎻愮ず璇彞鍘绘帀*/ +/****************************************************************************** +| File Name : Dcm_Cfg.h +| Description: +******************************************************************************/ +#ifndef DCM_CFG_H +#define DCM_CFG_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ + +#include "Dcm_App.h" + +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ +#define YES 1 +#define NO 0 + +#define DID_RECORD ( NO ) +#define SID_RECORD ( YES ) + +#define DAMING_CAN_BOOT ( NO ) +#define DCM_SUPPORTSID_COUNT 12U /*鏀寔鐨凷ID鏁扮洰*/ + + +#define DCM_10SUB_COUNT 3U /*10鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_11SUB_COUNT 2U /*11鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_19SUB_COUNT 3U /*19鏈嶅姟瀛愭湇鍔′釜鏁*/ + + +#define DCM_27SUB_COUNT 2U /*27鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_28SUB_COUNT 3U /*28鏈嶅姟瀛愭湇鍔′釜鏁*/ + +#define DCM_31RID_COUNT 1U /*31鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_RIDFF02_SUB_COUNT 3U /*31 FF02 鏀寔鐨勫瓙鏈嶅姟涓暟*/ +#define DCM_RIDFF00_SUB_COUNT 3U /*31 FF00 鏀寔鐨勫瓙鏈嶅姟涓暟*/ +#define DCM_RIDFF01_SUB_COUNT 3U /*31 FF01 鏀寔鐨勫瓙鏈嶅姟涓暟*/ +#define DCM_RIDF001_SUB_COUNT 3U /* 31 F001 鏀寔鐨勫瓙鏈嶅姟涓暟 */ + +#define DCM_3ESUB_COUNT 1U /*3E鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_85SUB_COUNT 2U /*85鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_2CSUB_COUNT 2U /*2C鏈嶅姟瀛愭湇鍔′釜鏁*/ +#define DCM_14DTCGROUP_COUNT 3U /*14鏈嶅姟鏀寔鐨凞TC缁勪釜鏁*/ + +#if (defined (DAMING_CAN_BOOT) && (DAMING_CAN_BOOT == YES)) +#define DCM_READ_DIDSUP_COUNT 15U /*22 鏈嶅姟鏀寔鐨凞ID 涓暟 */ +#else +#define DCM_READ_DIDSUP_COUNT 24U /* 22 鏈嶅姟鏀寔鐨凞ID 涓暟 */ +#endif +#define DCM_IO_DIDSUP_COUNT 5U /*2F 鏈嶅姟鏀寔鐨凞ID 涓暟*/ +#define DCM_PERIODIC_DATA_COUNT 0U /*2A 鏈嶅姟鏀寔DID涓暟 */ + +#define DCM_WRITE_DIDSUP_COUNT 7U /*2E 鏈嶅姟鏀寔鐨凞ID 涓暟*/ +#define DCM_ONEDID_MAXDATALENGTH 20U /*22 鍗曚釜DID 鏁版嵁鏈澶ч暱搴*/ + + + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ + + +#define ROUTINECTRL_DID_CheckProgrammingIntegrity 0x0202 +#define ROUTINECTRL_DID_CheckProgrammingPreconditions 0x0203 +#define ROUTINECTRL_DID_CheckProgrammingDependencies 0xFF01 +#define ROUTINECTRL_DID_EraseMemory 0xFF00 + + +typedef TeDcm_h_ResultType (*ServerDealfunc)(void); +/*SID 鏉′欢妫鏌ラ」*/ +typedef struct +{ + uint8 SupportSession; /*鏀寔鐨勪細璇濇ā寮*/ + uint8 SupportSecurityAccess; /*鏀寔鐨勫畨鍏ㄦ潈闄*/ + uint8 SupportRequestAddress; /*鏀寔鐨勮姹傛柟寮*/ + uint8 MinDL; /*SID 瀵瑰簲鐨勬渶灏廌L*/ + uint8 SubCount; /*瀛愭湇鍔′釜鏁 */ + uint8 Sid; /*SID */ + ServerDealfunc SidFunction; +}TsDcm_h_SidCheckInfoType; + + + +typedef TeDcm_h_ResultType (*SubDealfunc)(void ); +typedef TeDcm_h_ResultType (*SubDealfuncWithPara)(uint8 ); +/*瀛愭湇鍔′俊鎭垪琛ㄧ粨鏋勪綋*/ +typedef struct +{ + uint8 Sub; /*瀛愭湇鍔*/ + uint8 DL; /*瀛愭湇鍔 瀵瑰簲鐨勬纭瓺L*/ + SubDealfunc SubFunction; /*瀛愭湇鍔 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁*/ +}TsDcm_h_SubCheckType; + +typedef struct +{ + uint8 Sub; /*瀛愭湇鍔*/ + uint8 DL; /*瀛愭湇鍔 瀵瑰簲鐨勬纭瓺L*/ + SubDealfuncWithPara SubFunction; /*瀛愭湇鍔 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁*/ +}TsDcm_h_WithParaSubCheckType; + + + +/*瀛愭湇鍔′俊鎭垪琛ㄧ粨鏋勪綋*/ +typedef struct +{ + uint8 Sub; /*瀛愭湇鍔*/ + uint8 DL; /*瀛愭湇鍔 瀵瑰簲鐨勬纭瓺L*/ + SubDealfunc SubFunction; /*瀛愭湇鍔 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁*/ +}TsDcm_h_DtcCheckType; + + +typedef uint8 (*DidDealfunc)(uint8* LeDcm_u_DataAddress,uint8* LeDcm_u_DataLength); +/* 22 2E 2A鏈嶅姟 DID 淇℃伅鍒楄〃缁撴瀯浣*/ +typedef struct +{ + uint8 SupportSession; /*鏀寔鐨勪細璇濇ā寮*/ + uint8 SupportSecurityAccess; /*鏀寔鐨勫畨鍏ㄦ潈闄*/ + uint8 DataLength; /*鏁版嵁闀垮害*/ + uint16 Did; /*鍏蜂綋DID*/ + DidDealfunc Function; /*DID 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁*/ +}TsDcm_h_DidCheckType; + +typedef struct +{ + uint8 Did; + uint8 TransmissionMode; + uint16 TmCount; +}TsDcm_h_2APeriodicDidServe; + +typedef TeDcm_h_ResultType (*DtcDealfunc)(uint32 LeDcm_DtcGroup); +/*14 鏈嶅姟淇℃伅鍒楄〃缁撴瀯浣*/ +#if 0 +typedef struct +{ + uint32 Dtc; /* DTC缁 */ + DtcDealfunc CleanFunction; /* 瀛愭湇鍔 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁 */ +}TsDcm_h_DtcCheckType; + +#endif + + + +typedef TeDcm_h_ResultType (*RidDealfunc)(void); +/*Rid 鏀寔鐨勫瓙鏈嶅姟鍙婂鐞嗗嚱鏁颁俊鎭殑鍒楄〃缁撴瀯浣*/ +typedef struct +{ + + uint8 Sub; /*瀛愭湇鍔*/ + uint8 DL; /*鏈嶅姟 瀵瑰簲鐨勬纭瓺L*/ + RidDealfunc Function; /*鏈嶅姟 瀵瑰簲鍑芥暟鐨勫鐞嗗嚱鏁*/ +}TsDcm_h_RidSubCheckType; + + + +/* 31鏈嶅姟 RID 淇℃伅鍒楄〃缁撴瀯浣*/ +typedef struct +{ + uint8 SupportSession; /*鏀寔鐨勪細璇濇ā寮*/ + uint8 SupportSecurityAccess; /*鏀寔鐨勫畨鍏ㄦ潈闄*/ + uint16 Rid; /*Rid*/ + const TsDcm_h_RidSubCheckType* RidSubTable; /*Rid 鏀寔鐨勫瓙鏈嶅姟鍒楄〃*/ + +}TsDcm_h_RidCheckType; + +typedef struct +{ + uint8 write; + uint8 data; +}TsDcm_h_IO_parameter_t; + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + + +extern const TsDcm_h_SidCheckInfoType CaDcm_h_SidCheckInfoTable[DCM_SUPPORTSID_COUNT]; + + + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ + +extern uint8 MngDcm_SIDCheckAvailable(uint8 LeDcm_u_Sid); +extern uint8 MngDcm_SIDCheckSession(uint8 LeDcm_u_SidIndex); +extern uint8 MngDcm_SIDCheckSecurityAccess(uint8 LeDcm_u_SidIndex); +extern uint8 MngDcm_SIDFuncAddressAvailable(uint8 LeDcm_u_SidIndex); +extern uint8 MngDcm_SIDCheckMinDL(uint8 LeDcm_u_SidIndex,uint16 LeDcm_u_DL); + +extern TeDcm_h_ResultType MngDcm_SessionControlService(void); +extern TeDcm_h_ResultType MngDcm_ECUResetService(void); +extern TeDcm_h_ResultType MngDcm_CleanDTCService(void); +extern TeDcm_h_ResultType MngDcm_ReportDTCService(void); +extern TeDcm_h_ResultType MngDcm_ReadDidDataService(void); +extern TeDcm_h_ResultType MngDcm_SecurityAccessService(void); +extern TeDcm_h_ResultType MngDcm_CommunicationControlService(void); +extern TeDcm_h_ResultType MngDcm_WriteDidDataService(void); +extern TeDcm_h_ResultType MngDcm_RoutineControlService(void); +extern TeDcm_h_ResultType MngDcm_TesterPresentService(void); +extern TeDcm_h_ResultType MngDcm_DTCSettingControlService(void); + +extern TeDcm_h_ResultType MngDcm_ReadMemoryDataService(void); +extern TeDcm_h_ResultType MngDcm_SecurityAccessService(void); +extern TeDcm_h_ResultType MngDcm_WriteMemoryDataService(void); +extern TeDcm_h_ResultType MngDcm_ReadDataByIdentifier(void); +extern TeDcm_h_ResultType MngDcm_ReadDTCInfoService(void); +extern TeDcm_h_ResultType MngDcm_DynamicaDefineIdentifier(void); +extern TeDcm_h_ResultType MngDcm_IOCtrlDIDService(void); +extern TeDcm_h_ResultType MngDcm_DynamicaDefineIdentifier(void); +#endif diff --git a/ECU_APP/diagnose/Dcm_DID.c b/ECU_APP/diagnose/Dcm_DID.c new file mode 100644 index 0000000..10c6e3e --- /dev/null +++ b/ECU_APP/diagnose/Dcm_DID.c @@ -0,0 +1,1736 @@ +/*@处根据实际情况填写相关信息,将@字符以及这条提示语句去掉*/ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +/*@包含其他文件*/ +#include "Dcm_DID.h" +#include "app_to_dcm.h" +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ +/*@定义全局变量*/ + + +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ +/*@定义静态变量*/ +/****************************************************************************** + * Description: : Static Function Prototype Declaration + *****************************************************************************/ +/*@静态函数声明*/ +/****************************************************************************** + * Description: : Write User Function Code + *****************************************************************************/ +/*@函数头注释格式,所有函数头按照此格式注释*/ +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ + + +/******************* Read 0x0200 ***************************/ + +uint8 Dcm_DidServices_0x0200_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 i; + uint8 LaDCM_u_Buf[1]; + + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x0200_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0x0201 ***************************/ +uint8 Dcm_DidServices_0x0201_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 i; + uint8 LaDCM_u_Buf[1]; + + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x0201_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + + +/******************* Read 0xF110 ***************************/ +uint8 Dcm_DidServices_0xF110_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[8]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF110_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 8;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 8U; + + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF110 **************************************/ +uint8 Dcm_DidServices_0xF110_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF110_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } +} + +/******************* Read 0xF112 ***************************/ +uint8 Dcm_DidServices_0xF112_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[8]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF112_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 8;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 8U; + + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0xF112 **************************************/ +uint8 Dcm_DidServices_0xF112_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF112_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } +} + + +/******************* Read 0xF197 ***************************/ +uint8 Dcm_DidServices_0xF197_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[10]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF197_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 10;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 10U; + + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF180 ***************************/ + +uint8 Dcm_DidServices_0xF180_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[16]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF180_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 16;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 16U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF181 ***************************/ + +uint8 Dcm_DidServices_0xF181_ReadData(uint8* LeDcm_0xF181_data,uint8* LeDcm_0xF181_dataLength) + + { + uint8 LaDCM_u_Buf[15]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF181_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 15;i++) + { + LeDcm_0xF181_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_0xF181_dataLength) = 15U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF183 ***************************/ + +uint8 Dcm_DidServices_0xF183_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[12]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF183_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 12;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 12U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF186 ***************************/ + +uint8 Dcm_DidServices_0xF186_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF186_ReadData(&LaDCM_u_Buf)) + { + + *LeDcm_u_data = LaDCM_u_Buf; + + (*LeDcm_u_dataLength) = 1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF187 ***************************/ + +uint8 Dcm_DidServices_0xF187_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[13]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF187_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 13;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 13U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF189 ***************************/ + +uint8 Dcm_DidServices_0xF189_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[16]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF189_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 15;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 16U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF18A ***************************/ + +uint8 Dcm_DidServices_0xF18A_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[5]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF18A_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 5;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 5U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF18B ***************************/ + +uint8 Dcm_DidServices_0xF18B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF18B_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 4;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 4U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF190 ***************************/ + +uint8 Dcm_DidServices_0xF190_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 i; + uint8 LaDCM_u_Buf[17]; + + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF190_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 17;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 17U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0xF190 **************************************/ + +uint8 Dcm_DidServices_0xF190_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[20]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF190_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF191 ***************************/ + +uint8 Dcm_DidServices_0xF191_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[15]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF191_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 10;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 10U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF192 ***************************/ + +uint8 Dcm_DidServices_0xF192_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[12]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF192_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 12;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 12U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF193 ***************************/ + +uint8 Dcm_DidServices_0xF193_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[10]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF193_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 10;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 10U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF194 ***************************/ + +uint8 Dcm_DidServices_0xF194_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[12]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF194_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 12;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 12U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + + +/******************* Read 0xF195 ***************************/ + +uint8 Dcm_DidServices_0xF195_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[13]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF195_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 13;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 13U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + + +/******************* Write 0xF197 **************************************/ + +uint8 Dcm_DidServices_0xF197_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF197_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF198 ***************************/ + +uint8 Dcm_DidServices_0xF198_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[16]; + + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF198_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 16;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + if(LaDCM_u_Buf[i] > 127) + { + for(i = 0;i < 16;i++) + LeDcm_u_data[i] = 0; + break; + } + } + + (*LeDcm_u_dataLength) = 16U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0xF198 **************************************/ +uint8 Dcm_DidServices_0xF198_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[16]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + if(LeDcm_u_data[i] > 127) + return DCM_NRC31; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF198_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } + +} + + + +/******************* Read 0xF199 ***************************/ +uint8 Dcm_DidServices_0xF199_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF199_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 4;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =4U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF199 **************************************/ +uint8 Dcm_DidServices_0xF199_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[4]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF199_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF19D ***************************/ +uint8 Dcm_DidServices_0xF19D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF19D_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 4;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =4U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF19D **************************************/ +uint8 Dcm_DidServices_0xF19D_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[4]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF19D_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0x6300 ***************************/ +uint8 Dcm_DidServices_0x6300_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x6300_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x6308 ***************************/ +uint8 Dcm_DidServices_0x6308_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x6308_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x630B ***************************/ +uint8 Dcm_DidServices_0x630B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630B_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x630C ***************************/ +uint8 Dcm_DidServices_0x630C_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630C_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x630D ***************************/ +uint8 Dcm_DidServices_0x630D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630D_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x630F ***************************/ +uint8 Dcm_DidServices_0x630F_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630F_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xFD00 ***************************/ +uint8 Dcm_DidServices_0xFD00_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xFD00_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) =1U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0x6300 **************************************/ +uint8 Dcm_DidServices_0x6300_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x6300_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0x6308 **************************************/ +uint8 Dcm_DidServices_0x6308_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x6308_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0x630B **************************************/ +uint8 Dcm_DidServices_0x630B_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630B_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0x630C **************************************/ +uint8 Dcm_DidServices_0x630C_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630C_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Write 0x630E **************************************/ +uint8 Dcm_DidServices_0x630E_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[8]; + + if(0 != GetVehicel_u_SpeedVal()) + { + + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x630E_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0xF1A2 ***************************/ + uint8 Dcm_DidServices_0xF1A2_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[3]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A2_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 3;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 3U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF1A2 **************************************/ + +uint8 Dcm_DidServices_0xF1A2_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[3]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A2_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0xF1A4 ***************************/ +uint8 Dcm_DidServices_0xF1A4_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[12]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A4_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 12;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 12U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + + +/******************* Read 0xF1A5 ***************************/ +uint8 Dcm_DidServices_0xF1A5_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[7]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A5_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 7;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 7U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF1A5 **************************************/ +uint8 Dcm_DidServices_0xF1A5_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[7]; + + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A5_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + + } + else + { + return DCM_NRC22; + } +} +/******************* Read 0xF1A6 ***************************/ + +uint8 Dcm_DidServices_0xF1A6_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[3]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A6_ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 3;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 3U; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Write 0xF1A6 **************************************/ + +uint8 Dcm_DidServices_0xF1A6_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength) +{ + uint8 i; + uint8 LaDCM_u_Buf[3]; + + if(0 != GetVehicel_u_SpeedVal()) + { + for(i = 0;i < (*LeDcm_u_dataLength);i++) + { + LaDCM_u_Buf[i] = LeDcm_u_data[i]; + } + + if(DCM_CHECK_OK == GetRTE_Dcm_DidServices_0xF1A6_WriteData(LaDCM_u_Buf)) + { + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x016B ***************************/ + +uint8 Dcm_DidServices_0x016B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x061BReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x016C ***************************/ + +uint8 Dcm_DidServices_0x016C_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[2]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x061CReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 2;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 2; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x016D ***************************/ + +uint8 Dcm_DidServices_0x016D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[2]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x061DReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 2;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 2; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x016E ***************************/ + +uint8 Dcm_DidServices_0x016E_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x061EReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x016F ***************************/ + +uint8 Dcm_DidServices_0x016F_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) + +{ + uint8 LaDCM_u_Buf[2]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x061FReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 2;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 2; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x0620 ***************************/ + +uint8 Dcm_DidServices_0x0620_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x0620ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0x0621 ***************************/ + +uint8 Dcm_DidServices_0x0621_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[1]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x0621ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x0622 ***************************/ + +uint8 Dcm_DidServices_0x0622_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[2]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x0622ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 2;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 2; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + + + +/////////////////////////////////S51EV + +/******************* Read 0x1701 ***************************/ +uint8 Dcm_DidServices_0x1701_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1701ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 4;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 4; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x1702 ***************************/ +uint8 Dcm_DidServices_0x1702_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[8]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1702ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 8;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 8; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x1706 ***************************/ +uint8 Dcm_DidServices_0x1706_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1706ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x1707 ***************************/ +uint8 Dcm_DidServices_0x1707_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1707ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 2;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 2; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x1708 ***************************/ +uint8 Dcm_DidServices_0x1708_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1708ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + +/******************* Read 0x1709 ***************************/ +uint8 Dcm_DidServices_0x1709_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x1709ReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} + + +/******************* Read 0x170B ***************************/ +uint8 Dcm_DidServices_0x170B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) +{ + uint8 LaDCM_u_Buf[4]; + uint8 i; + + if( DCM_CHECK_OK == GetRTE_Dcm_DidServices_0x170BReadData(LaDCM_u_Buf)) + { + + for(i = 0;i < 1;i++) + { + LeDcm_u_data[i] = LaDCM_u_Buf[i]; + } + + (*LeDcm_u_dataLength) = 1; + return DCM_CHECK_OK; + } + else + { + return DCM_NRC22; + } + +} diff --git a/ECU_APP/diagnose/Dcm_DID.h b/ECU_APP/diagnose/Dcm_DID.h new file mode 100644 index 0000000..e156c84 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_DID.h @@ -0,0 +1,111 @@ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 +******************************************************************************/ +#ifndef _DCM_DID_H +#define _DCM_DID_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "Dcm_DID_Cfg.h" +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ + + + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + + +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ +extern uint8 Dcm_DidServices_0x0200_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x0201_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF110_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF110_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF112_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF112_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF197_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF180_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF181_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF183_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +//extern uint8 Dcm_DidServices_0xF184_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF186_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF187_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF189_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength) ; +extern uint8 Dcm_DidServices_0xF18A_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF18B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF18C_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF190_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF190_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF191_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF192_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF193_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF194_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF195_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF197_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF197_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF198_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF198_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF199_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF199_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF19D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF19D_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A2_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A2_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A4_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A5_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A5_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A6_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF1A6_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x016B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x016C_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x016D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x016E_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x016F_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x0620_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x0621_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x0622_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x3A00(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x3A01(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); + +extern uint8 Dcm_DidServices_0xF200_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF201_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF202_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF203_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF204_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF205_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xF206_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); + +extern uint8 Dcm_DidServices_0x6300_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x6308_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630C_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630D_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630F_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0xFD00_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x6300_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x6308_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630B_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630C_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x630E_WriteData(uint8* LeDcm_u_data, uint8* LeDcm_u_dataLength); + +//S51EV +extern uint8 Dcm_DidServices_0x1701_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x1702_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x1706_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x1707_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x1708_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x1709_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); +extern uint8 Dcm_DidServices_0x170B_ReadData(uint8* LeDcm_u_data,uint8* LeDcm_u_dataLength); + +#endif diff --git a/ECU_APP/diagnose/Dcm_DID_Cfg.c b/ECU_APP/diagnose/Dcm_DID_Cfg.c new file mode 100644 index 0000000..55f0411 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_DID_Cfg.c @@ -0,0 +1,740 @@ +/* @处根据实际情况填写相关信息,将@字符以及这条提示语句去掉 */ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +/* @包含其他文件 */ +#include "r_cg_macrodriver.h" +#include "Dcm_DID_Cfg.h" +//#include "R_TypeDefs.h" +//#include "r_fdl_types.h" +//#include "eel.h" +#include "r_cg_userdefine.h" +#include "Dcm_extern.h" +#include "hwCtrl.h" +#include "appTask.h" + +unsigned char DF_Read(unsigned char* read_buf,unsigned char data_num,unsigned char len); + +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ +/*@ 定义全局变量 */ +extern uint16 adResult[7]; +uint8 TempTxBuffer[40]; + +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ + +uint8 CaDcm_u_NRCData[DCM_NRCCOUNT] = {0x11,0x12,0x13,0x14,0x22,0x24,0x31,0x33,0x35,0x36,0x37,0x7F,0x72,0x71,0x73,0x78,0x7E}; /*27 负响应码数组*/ + +uint8 wBuf[20] = {0,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,0}; + +/****************************************************************************** + * Description: : Static Function Prototype Declaration + *****************************************************************************/ +/*@静态函数声明*/ +/****************************************************************************** + * Description: : Write User Function Code + *****************************************************************************/ +/*@函数头注释格式,所有函数头按照此格式注释*/ +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x0200_ReadData(uint8* data) +{ + data[0] = *(__far uint8 *)DID_0200_ADDR; + if(data[0] != 0xFF) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x0201_ReadData(uint8* data) +{ + data[0] = *(__far uint8 *)DID_0201_ADDR; + if(data[0] != 0xFF) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF110_ReadData(uint8* data) +{ + if( 0 == DF_Read(data,GetIndexNumber(INDEX_0xF110),8)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF112_ReadData(uint8* data) +{ + if( 0 == DF_Read(data,GetIndexNumber(INDEX_0xF112),8)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF197_ReadData(uint8* data) +{ + (void)data; + data[0] = 'T'; + data[1] = 'O'; + data[2] = 'N'; + data[3] = 'G'; + data[4] = 'Y'; + data[5] = 'U'; + data[6] = '-'; + data[7] = 'S'; + data[8] = 'C'; + data[9] = 'M'; + return DCM_CHECK_OK; +} + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF180_ReadData(uint8* data) +{ + __far uint8 *p = DID_F180_ADDR; + (void)data; + data[0] = *p++; + data[1] = *p++; + data[2] = *p++; + data[3] = *p++; + data[4] = *p++; + data[5] = *p++; + data[6] = *p++; + data[7] = *p++; + data[8] = *p++; + data[9] = *p++; + data[10] = *p++; + data[11] = *p++; + data[12] = *p++; + data[13] = *p++; + data[14] = *p++; + data[15] = *p++; + return DCM_CHECK_OK; +} + +/****************************************************************************** + *函数名称 : @ + + *参数 : @ + + *返回值 : @ + + *描述 : @ + + *编辑时间 : @ + + *备注 : @ + *****************************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF181_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + + +uint8 GetRTE_Dcm_DidServices_0xF183_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +#define DCM_DEFAULT_SESSION 0x01 /*默认模式*/ +#define DCM_PROGRAMME_SESSION 0x02 /*编程模式*/ +#define DCM_EXTEND_SESSION 0x04 /*扩展模式*/ +extern uint8 MngDcm_GetDiagnosticSession(void); +uint8 GetRTE_Dcm_DidServices_0xF186_ReadData(uint8* data) +{ + uint8 temp = 0xFF; + + temp = MngDcm_GetDiagnosticSession(); /* 当前会话模式 */ + + if(temp == DCM_DEFAULT_SESSION){ + *data = 0x01; + } + else if(temp == DCM_PROGRAMME_SESSION){ + *data = 0x02; + } + else if(temp == DCM_EXTEND_SESSION){ + *data = 0x03; + } + + if( 0xFF != temp) + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF187_ReadData(uint8* data) +{ + (void)data;//RF01-68013200 + data[0] = 'R'; + data[1] = 'F'; + data[2] = '0'; + data[3] = '1'; + data[4] = '-'; + data[5] = '6'; + data[6] = '8'; + data[7] = '0'; + data[8] = '1'; + data[9] = '3'; + data[10] = '2'; + data[11] = '0'; + data[12] = '0'; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF189_ReadData(uint8* data) +{ + (void)data; + data[0 ] = 'C'; + data[1 ] = '4'; + data[2 ] = '0'; + data[3 ] = ' '; + data[4 ] = ' '; + data[5 ] = ' '; + data[6 ] = ' '; + data[7 ] = ' '; + data[8 ] = ' '; + data[9 ] = ' '; + data[10] = ' '; + data[11] = ' '; + data[12] = ' '; + data[13] = ' '; + data[14] = ' '; + data[15] = ' '; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF18A_ReadData(uint8* data) +{ + (void)data; + data[0] = 'C'; + data[1] = 'L'; + data[2] = '1'; + data[3] = '7'; + data[4] = '7'; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF18B_ReadData(uint8* data) +{ + (void)data; + data[0] = 0x20; + GetManufacturingDate(&data[1]); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF190_ReadData(uint8* data) +{ + (void *)data; + + if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF190),17)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF191_ReadData(uint8* data) +{ + (void)data; + data[0] = '1'; + data[1] = '.'; + data[2] = '1'; + data[3] = '.'; + data[4] = '1'; + data[5] = ' '; + data[6] = ' '; + data[7] = ' '; + data[8] = ' '; + data[9] = ' '; + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0xF192_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF193_ReadData(uint8* data) +{ + __far uint8 *p = DID_F193_ADDR; + (void)data; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + *data++ = *p++; + +// GetHardwareVersion(data); + + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF194_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0xF195_ReadData(uint8* data) +{ + GetSoftwareVersion(data); + return DCM_CHECK_OK; +} + + +uint8 GetRTE_Dcm_DidServices_0xF198_ReadData(uint8* data) +{ + (void *)data; + if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF198),16)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + + +uint8 GetRTE_Dcm_DidServices_0xF199_ReadData(uint8* data) +{ + (void)data; + if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF199),4)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF19D_ReadData(uint8* data) +{ + (void)data; + if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF19D),4)) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0x6300_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_TEMP); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x6308_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_REC); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x630B_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_FAN); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x630C_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_MODE); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x630D_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_DEFROST); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x630F_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_AC); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xFD00_ReadData(uint8* data) +{ + (void)data; + *data = GetIoParameter(IO_K30); + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A2_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A2_WriteData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A4_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + + +uint8 GetRTE_Dcm_DidServices_0xF1A5_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A5_WriteData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A6_ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0xF1A6_WriteData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x061BReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x061CReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x061DReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x061EReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x061FReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x0620ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x0621ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x0622ReadData(uint8* data) +{ + (void)data; + return DCM_CHECK_OK; +} + +uint8 GetRTE_Dcm_DidServices_0x1701ReadData(uint8* data) +{ + //getHallNum(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x1702ReadData(uint8* data) +{ + //getHallSoftStop(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x1706ReadData(uint8* data) +{ + //getMotorLearnState(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x1707ReadData(uint8* data) +{ + //getMotorCurrent(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x1708ReadData(uint8* data) +{ + //getInputStatus(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x1709ReadData(uint8* data) +{ + //getOutputStatus(data); + return DCM_CHECK_OK; +} +uint8 GetRTE_Dcm_DidServices_0x170BReadData(uint8* data) +{ + getIGNVoltage(data); + return DCM_CHECK_OK; +} + +uint8 GetVehicel_u_SpeedVal(void) +{ + uint8 LeVehicle_U_Speed = 1; + return LeVehicle_U_Speed; +} + + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF110_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 8;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF110),8); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0xF112_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 8;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF112),8); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + + +uint8 GetRTE_Dcm_DidServices_0xF190_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 17;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF190),17); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF197_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 8;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF197),8); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF198_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 16;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF198),16); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF199_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 4;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF199),4); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + +uint8 GetRTE_Dcm_DidServices_0xF19D_WriteData(uint8* data) +{ + uint8 temp; + for(temp = 0;temp < 4;temp++) + { + wBuf[temp] = data[temp]; + } + temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF19D),4); + if(temp == 0) //R_FDL_OK + return DCM_CHECK_OK; + else + return DCM_CHECK_NOK; +} + + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x6300_WriteData(uint8* data) +{ + uint8 temp; + + temp = *(data+1); + WriteIoParameter(IO_TEMP,temp); + + return DCM_CHECK_OK; +} + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x6308_WriteData(uint8* data) +{ + uint8 temp; + + temp = *(data+1); + WriteIoParameter(IO_REC,temp); + + return DCM_CHECK_OK; +} + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x630B_WriteData(uint8* data) +{ + uint8 temp; + + temp = *(data+1); + WriteIoParameter(IO_FAN,temp); + + return DCM_CHECK_OK; +} + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x630C_WriteData(uint8* data) +{ + uint8 temp; + + temp = *(data+1); + WriteIoParameter(IO_MODE,temp); + + return DCM_CHECK_OK; +} + +/****************************************************************/ +uint8 GetRTE_Dcm_DidServices_0x630E_WriteData(uint8* data) +{ + uint8 temp; + + temp = *(data+1); + WriteIoParameter(IO_REARDEF,temp); + + return DCM_CHECK_OK; +} + diff --git a/ECU_APP/diagnose/Dcm_DID_Cfg.h b/ECU_APP/diagnose/Dcm_DID_Cfg.h new file mode 100644 index 0000000..8c45fda --- /dev/null +++ b/ECU_APP/diagnose/Dcm_DID_Cfg.h @@ -0,0 +1,147 @@ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 +******************************************************************************/ +#ifndef _DCM_DID_CFG_H +#define _DCM_DID_CFG_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "DCM_Types.h" +//#include "eel.h" +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ +#define DCM_CHECK_NOK 0U /*宏定义条件检查返回结果*/ +#define DCM_CHECK_OK 1U + +#define DCM_NORESULT 0xFF /*未找到目标返回宏定义值*/ + +#define DCM_NRCCOUNT 17U +#define DCM_NRC11 0U +#define DCM_NRC12 1U +#define DCM_NRC13 2U +#define DCM_NRC14 3U +#define DCM_NRC22 4U +#define DCM_NRC24 5U +#define DCM_NRC31 6U +#define DCM_NRC33 7U +#define DCM_NRC35 8U +#define DCM_NRC36 9U +#define DCM_NRC37 10U +#define DCM_NRC7F 11U +#define DCM_NRC72 12U +#define DCM_NRC71 13U +#define DCM_NRC73 14U +#define DCM_NRC78 15U +#define DCM_NRC7E 16U + + +/****************************************************************************** + * Description: : Structure Type Declaration Section +******************************************************************************/ + + + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ +extern uint8 TempTxBuffer[40]; +extern uint8 CaDcm_u_NRCData[DCM_NRCCOUNT]; +/****************************************************************************** + * Description: : Global Function Prototype Declaration +******************************************************************************/ +extern uint8 GetRTE_Dcm_DidServices_0x0200_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x0201_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF110_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF110_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF112_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF112_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF197_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF180_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF181_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF183_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF186_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF187_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF189_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF18A_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF18B_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF18C_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF190_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF190_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF191_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF192_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF193_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF194_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF195_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF197_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF198_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF198_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF199_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF199_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF19D_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF19D_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A2_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A2_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A4_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A5_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A5_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A6_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xF1A6_WriteData(uint8* data); + +extern uint8 GetRTE_Dcm_DidServices_0x061BReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x061CReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x061DReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x061EReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x061FReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x0620ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x0621ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x0622ReadData(uint8* data); + + +extern uint8 GetRTE_Dcm_DidServices_0x6300_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x6300_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x6308_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x6308_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630B_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630B_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630C_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630C_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630D_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630D_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630E_WriteData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x630F_ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0xFD00_ReadData(uint8* data); + + +extern uint8 GetVehicel_u_SpeedVal(void); + +//S51EV +extern uint8 GetRTE_Dcm_DidServices_0x1701ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x1702ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x1706ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x1707ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x1708ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x1709ReadData(uint8* data); +extern uint8 GetRTE_Dcm_DidServices_0x170BReadData(uint8* data); + +#if 0 +extern uint16 EvaSensorFeedbackVoltage(void); +extern uint16 GetModeFeedbackVoltage(void); +extern uint16 GetRecFeedbackVoltage(void); +extern uint16 GetPtcTmpSnsVolt(void); +extern uint16 GetCompSnsVolt(void); +extern uint16 GetFanFeedBackVolt(void); +extern uint8 GetAC_OutputSignal(void) ; +extern uint8 GetBlowerOn_Signal(void); +extern uint8 GetRec_Moto_Status(void); +extern uint8 GetFan_Degree(void); +extern uint8 GetMode_Moto_Status(void); +extern uint8 GetRec_Moto_Drive_Status(void) ; +extern uint8 GetMode_Moto_Drive_Status(void); +extern uint16 GetBattyVoltage(void) ; +extern uint16 GetEvaTemperature(void); +#endif + +#endif diff --git a/ECU_APP/diagnose/Dcm_Key.c b/ECU_APP/diagnose/Dcm_Key.c new file mode 100644 index 0000000..68faf84 --- /dev/null +++ b/ECU_APP/diagnose/Dcm_Key.c @@ -0,0 +1,112 @@ +/****************************************************************************** +| File Name : Dcm_App.c +| Description: 诊断服务具体处理 + *****************************************************************************/ + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "Dcm_Key.h" + +/****************************************************************************** + * Description: : Global Variable Definition Section + ******************************************************************************/ + + + +/****************************************************************************** + * Description: : Static Variable Definition Section + ******************************************************************************/ + + + /****************************************************************************** + * Description: : Write User Function Code + *****************************************************************************/ +static const uint8 xorArray[4] = {0xAA,0x50,0x43,0x52}; + +uint32 GetSeed(void) +{ + return (GetTimerCnt()); + //return(0x0016CDB0); test +} + +uint32 SecurityLevel_1(uint32 Seed) +{ + SeedSec_t cal,key,seed; + seed.word = Seed; + cal.byte[0] = seed.byte[0]^xorArray[0]; + cal.byte[1] = seed.byte[1]^xorArray[1]; + cal.byte[2] = seed.byte[2]^xorArray[2]; + cal.byte[3] = seed.byte[3]^xorArray[3]; + +#if 0 + key.byte[0] = ((cal.byte[3]&0x0F)<<4)|( cal.byte[3]&0xF0); + key.byte[1] = ((cal.byte[1]&0x0F)<<4)|((cal.byte[0]&0xF0)>>4); + key.byte[2] = (cal.byte[1]&0xF0)|((cal.byte[2]&0xF0)>>4); + key.byte[3] = ((cal.byte[0]&0x0F)<<4)|( cal.byte[2]&0x0F); +#else + key.byte[3] = ((cal.byte[0]&0x0F)<<4)|( cal.byte[0]&0xF0); + key.byte[2] = ((cal.byte[2]&0x0F)<<4)|((cal.byte[3]&0xF0)>>4); + key.byte[1] = (cal.byte[2]&0xF0)|((cal.byte[1]&0xF0)>>4); + key.byte[0] = ((cal.byte[3]&0x0F)<<4)|( cal.byte[1]&0x0F); +#endif + + return( key.word ); +} + +uint32 SecurityLevel_3(uint32 Seed) +{ + SeedSec_t cal,key,seed; + seed.word = Seed; + cal.byte[0] = ((seed.byte[0]&0xF8)>>3)^xorArray[0]; + cal.byte[1] = ((seed.byte[1]&0xF8)>>3)^xorArray[1]; + cal.byte[2] = ((seed.byte[2]&0xF8)>>3)^xorArray[2]; + cal.byte[3] = ((seed.byte[3]&0xF8)>>3)^xorArray[3]; + + key.byte[0] = ((cal.byte[3]&0x07)<<5)|(( cal.byte[0]&0xF8)>>3); + key.byte[1] = ((cal.byte[0]&0x07)<<5)|(cal.byte[2]&0x1F); + key.byte[2] = (cal.byte[1]&0xF8)|((cal.byte[3]&0xE0)>>5); + key.byte[3] = (cal.byte[2]&0xF8)|( cal.byte[1]&0x07); + + return( key.word ); +} + +uint32 SecurityLevel_11(uint32 Seed) +{ + SeedSec_t cal,key,seed,key_test; + seed.word = Seed; + cal.byte[0] = seed.byte[0]^xorArray[0]; + cal.byte[1] = seed.byte[1]^xorArray[1]; + cal.byte[2] = seed.byte[2]^xorArray[2]; + cal.byte[3] = seed.byte[3]^xorArray[3]; +#if 0 + key.byte[0] = ((cal.byte[2]&0x03)<<6)|(( cal.byte[3]&0xFC)>>2); + key.byte[1] = ((cal.byte[3]&0x03)<<6)|(cal.byte[0]&0x3F); + key.byte[2] = (cal.byte[0]&0xFC)|((cal.byte[1]&0xC0)>>6); + key.byte[3] = (cal.byte[1]&0xFC)|( cal.byte[2]&0x03); +#else + key.byte[3] = ((cal.byte[1]&0x03)<<6)|(( cal.byte[0]&0xFC)>>2); + key.byte[2] = ((cal.byte[0]&0x03)<<6)|(cal.byte[3]&0x3F); + key.byte[1] = (cal.byte[3]&0xFC)|((cal.byte[2]&0xC0)>>6); + key.byte[0] = (cal.byte[2]&0xFC)|( cal.byte[1]&0x03); +#endif + return( key.word ); +} + + + uint32 GENERIC_ALGORITHM(uint32 wSeed, uint8 SecurityLevel) +{ + if(0x01==SecurityLevel){ + return(SecurityLevel_1(wSeed)); + } + else if(0x03==SecurityLevel){ + return(SecurityLevel_3(wSeed)); + } + else if(0x11==SecurityLevel){ + return(SecurityLevel_11(wSeed)); + } +} + + + + diff --git a/ECU_APP/diagnose/Dcm_Key.h b/ECU_APP/diagnose/Dcm_Key.h new file mode 100644 index 0000000..b2e6def --- /dev/null +++ b/ECU_APP/diagnose/Dcm_Key.h @@ -0,0 +1,36 @@ +/****************************************************************************** +| File Name : @文件名 +| Description: @文件描述 +******************************************************************************/ +#ifndef _DCM_KEY_H +#define _DCM_KEY_H + +/****************************************************************************** + * Description: : Include File Section +******************************************************************************/ +#include "DCM_Types.h" + + +/****************************************************************************** + * Description: : Macro Description Section +******************************************************************************/ + +typedef uint32 UWord32; + +typedef union{ + uint32 word; + uint8 byte[4]; +}SeedSec_t; + +/****************************************************************************** + * Description: : Global Variable Declaration Section +******************************************************************************/ + +extern UWord32 seedToKey(UWord32 seed,UWord32 MASK); + +extern uint32 GENERIC_ALGORITHM(uint32 wSeed, uint8 SecurityLevel); + +extern uint32 GetSeed(void); + +extern uint32 GetTimerCnt(void); +#endif diff --git a/ECU_APP/diagnose/Dcm_extern.h b/ECU_APP/diagnose/Dcm_extern.h new file mode 100644 index 0000000..a8e363e --- /dev/null +++ b/ECU_APP/diagnose/Dcm_extern.h @@ -0,0 +1,247 @@ + +typedef struct +{ + unsigned char write; + unsigned char data; +}IO_parameter_t; + +#define IO_TEMP 0 +#define IO_REC 1 +#define IO_FAN 2 +#define IO_MODE 3 +#define IO_DEFROST 4 +#define IO_REARDEF 5 +#define IO_AC 6 +#define IO_K30 7 + +#define KL30_VOLTAGE 0 +#define TEMP_MOTOR 1 +#define MODE_MOTOR 2 +#define REC_MOTOR 3 +#define EVA_SENSOR 4 + +#define INDEX_REPROGMA 0 +#define INDEX_0xF190 1 +#define INDEX_0xF198 2 +#define INDEX_0xF199 3 +#define INDEX_0xF19D 4 + + + +#define INDEX_0xF110 5 +#define INDEX_0xF197 5 +#define INDEX_0xF112 5 + + +/************************************************************************************ +// 输入参数 ch : / +// 0: KL30电压 / +// 1: 驾驶员侧温度调节电机反馈电压 / +// 2: 出风模式电机电机反馈电压 / +// 3: 循环风门调节电机反馈电压 / +// 4:蒸发器温度传感器电压 / +// / +// 返回值: / +// 对应的电压*10(即返回的电压值精度是0.1V的) / +// / +************************************************************************************/ +unsigned char GetVoltage(unsigned char ch); + +/************************************************************************************ +// 输入参数 motor : / +// 1: 驾驶员侧温度调节电机 / +// 2: 出风模式电机电机 / +// 3: 循环风门调节电机 / +// / +// 返回值: / +// 0: 电机正常 1:电机堵转 / +// / +************************************************************************************/ +unsigned char GetMotorLockStatus(unsigned char motor); + +/************************************************************************************ +// 输入参数 p : / +// 0: TEMP 驾驶员侧温度风门位置 / +// 1: REC 内外循环模式 / +// 2: FAN 鼓风机档位 / +// 3: MODE 模式风门位置 / +// 4: DEFROST 除霜开关 / +// 5: REARDEF 后除霜控制 / +// 6: AC A/C制冷按键按键 / +// 7: K30 ECU Supplier voltage / +// / +// 返回值: / +// 0: 对应的data,具体见22,2F服务 / +************************************************************************************/ +unsigned char GetIoParameter(unsigned char p); + +/************************************************************************************ +// 输入参数 p : / +// 0: TEMP 驾驶员侧温度风门位置 / +// 1: REC 内外循环模式 / +// 2: FAN 鼓风机档位 / +// 3: MODE 模式风门位置 / +// 4: DEFROST 无效 / +// 5: REARDEF 后除霜控制 / +// 6: AC 无效 / +// 7: K30 无效 / +// 返回值: / +// / +************************************************************************************/ +void WriteIoParameter(unsigned char p,unsigned char data); + +/************************************************************************************ +// 输入参数 p : / +// / +// / +// 返回值: / +// 0: IGN电源正常 1:IGN > 16V 或 IGN < 9V / +// / +************************************************************************************/ +unsigned char GetIgnVoltStatus(void); + +/************************************************************************************ +// 输入参数 ID : CAN ID // +// 输入参数 Dlc : CAN 发送数据长度 // +// 输入参数 *Data : 指向 CAN 发送数据缓冲区的指针 // +// // +// 返回值: // +// 0: 发送成功 非0 :发送失败 // +************************************************************************************/ +unsigned char TransmitCAN_Message(unsigned int ID,unsigned char Dlc,unsigned char *Data); + +/************************************************************************************ +// 输入参数 write_buf : 指向 需要写入数据缓冲区的地址 // +// 输入参数 data_num : 数据代号 // +// 输入参数 len : 写入数据长度 // +// // +// 返回值: // +// 0: 写入成功 非0 :写入失败 // +************************************************************************************/ +unsigned char DF_Write(unsigned char* write_buf,unsigned char data_num,unsigned char len); + +/************************************************************************************ +// 输入参数 read_buf : 指向读取数据存入的缓冲区的地址 // +// 输入参数 data_num : 数据代号 // +// 输入参数 len : 读取数据长度 // +// // +// 返回值: // +// 0: 读取成功 非0 :读取失败 // +************************************************************************************/ +unsigned char DF_Read(unsigned char* read_buf,unsigned char data_num,unsigned char len); + +/************************************************************************************ +// // +// 返回值: // +// 当前32bit 的 1ms计数的值 // +***********************************************************************************/ +unsigned long GetTimerCnt(void); + +/************************************************************************************ +// 获取data Flash数据存取索引号 // +// 输入参数 code : // +// 0 : 获取APP重编程请求标志索引号 // +// 1 : 获取2E服务0xF110的索引号 // +// 2 : 获取2E服务0xF190的索引号 // +// 3 : 获取2E服务0xF197的索引号 // +// 4 : 获取2E服务0xF198的索引号 // +// 5 : 获取2E服务0xF199的索引号 // +// 6 : 获取2E服务0xF19D的索引号 // +// 7 : 获取2E服务0xF112的索引号 // +// 8 : 获取19服务0xF00616的索引号 // +// 9 : 获取19服务0xF00617的索引号 // +// 10 : 获取19服务0x918112的索引号 // +// 11 : 获取19服务0x918114的索引号 // +// 12 : 获取19服务0x918171的索引号 // +// 13 : 获取19服务0x918312的索引号 // +// 14 : 获取19服务0x918314的索引号 // +// 15 : 获取19服务0x918371的索引号 // +// 16 : 获取19服务0x918412的索引号 // +// 17 : 获取19服务0x918414的索引号 // +// 18 : 获取19服务0x918471的索引号 // +// 19 : 获取19服务0x918611的索引号 // +// 20 : 获取19服务0x918614的索引号 // +// 21 : 获取19服务0xC07300的索引号 +// // +// 返回值: // +// 数据索引号 // +// // +************************************************************************************/ +unsigned char GetIndexNumber(unsigned char code); + +/************************************************************************************ +// 获取AC硬件版本 // +// 输入参数 hdv : // +// 指向读取数据存入的缓冲区的地址 // +// // +// 返回值: // +// // +// // +************************************************************************************/ +void GetHardwareVersion(unsigned char* hdv); + +/************************************************************************************ +// 获取AC软件版本 // +// 输入参数 swv : // +// 指向读取数据存入的缓冲区的地址 // +// // +// 返回值: // +// // +// // +************************************************************************************/ +void GetSoftwareVersion(unsigned char* swv); + + +/************************************************************************************ +// 获取AC生产日期 // +// 输入参数 *date : // +// data[0] = YEAR // +// data[1] = MONTH // +// data[0] = DAY // +// // +// 返回值: // +// // +// // +************************************************************************************/ +void GetManufacturingDate(unsigned char* date); + +/************************************************************************************ +// 获取Can总线出错状态 // +// 输入参数 : // +// // +// 返回值: Can总线出错状态 // +// // +// // +************************************************************************************/ +unsigned char GetCanBusOffErr(void); + +/************************************************************************************ +// 获取历史成功编程次数 // +// 输入参数 // +// // +// 返回值: 历史成功编程次数 // +// // +// // +************************************************************************************/ +unsigned char GetProgrammingCounter(void); + +/************************************************************************************ +// 获取历史编程次数 // +// 输入参数 // +// // +// 返回值: 历史编程次数 // +// // +// // +************************************************************************************/ +unsigned char GetProgrammingAttempCounter(void); + +/************************************************************************************ +// 清除DTC数据 // +// 输入参数 // +// // +// 返回值: 状态 // +// // +// // +************************************************************************************/ +unsigned char Clear_DTC_Data(void); + diff --git a/ECU_APP/diagnose/app_to_dcm.h b/ECU_APP/diagnose/app_to_dcm.h new file mode 100644 index 0000000..bf0221e --- /dev/null +++ b/ECU_APP/diagnose/app_to_dcm.h @@ -0,0 +1,15 @@ +/*********************************************************************************************************************** +* File Name : app_to_dcm.h +* Version : +* Device(s) : R5F10BLG +* Tool-Chain : CA78K0R +* Description : +* Creation Date: +***********************************************************************************************************************/ + +#ifndef APP_TO_DCM_H +#define APP_TO_DCM_H + +#define DMK_A01_03_VERSION (5) + +#endif \ No newline at end of file diff --git a/ECU_APP/diagnose/can_drv.h b/ECU_APP/diagnose/can_drv.h new file mode 100644 index 0000000..60d74cd --- /dev/null +++ b/ECU_APP/diagnose/can_drv.h @@ -0,0 +1,232 @@ +#ifndef CAN_DRV_H +#define CAN_DRV_H + +/****************************************************************************** +Macro definitions +******************************************************************************/ +#define R_CAN_GRAMINIT_ON (0x8UL) +#define R_CAN_GSLPSTS_ON (0x4UL) +#define R_CAN_GRSTSTS_ON (0x1UL) +#define R_CAN_CSLPSTS_ON (0x4UL) +#define R_CAN_CHLTSTS_ON (0x2UL) +#define R_CAN_CRSTSTS_ON (0x1UL) +#define R_CAN_TMTRM_ON (0x8U) +#define R_CAN_TMTR_ON (0x1U) +#define R_CAN_AFLDAE_ON (0x100UL) +#define R_CAN_GSLPR_MASK (0x4UL) +#define R_CAN_GMDC_MASK (0x3UL) +#define R_CAN_CSLPR_MASK (0x4UL) +#define R_CAN_CHMDC_MASK (0x3UL) + +/****************************************************************************** +Exported global variables and functions (to be accessed by other files) +******************************************************************************/ +//void R_CAN_Init( void ); +//bool R_CAN_Send_TxBuf0(uint32_t can_id, uint8_t dlc, uint8_t msg[8]); +//bool R_CAN_Receive_RxBuf0(uint32_t * p_can_id, uint8_t * p_dlc, uint8_t msg[8]); + +/***************************************************/ +/*** Compressor CAN0 signals ****/ +/***** RX *****/ + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int COMP_CompressorVoltage:16; + + unsigned int COMP_CompressorCurrent:8; + + unsigned int COMP_CompressorSpeed:16; + + unsigned int COMP_CompressorState:2; + + unsigned int COMP_InternalVoltageFault:1; + unsigned int COMP_UnderVoltageFault:1; + unsigned int COMP_OverVoltageFault:1; + unsigned int COMP_OverCurrentFault:1; + unsigned int COMP_TemperatureFault:1; + unsigned int COMP_BusOff:1; + unsigned int COMP_LossCommunicationWithAC:1; +}COMP_Information_t; + +/***** TX *****/ + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + unsigned int AC_CompressorControlCommand:1; + unsigned int AC_CompressorTargetSpeed:16; +}AC_COMP_Control_t; + +/***************************************************/ +/*** MAIN CAN signals ****/ +/***** TX *****/ +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int AC_AcState:1; + unsigned int AC_PtcRelayDriveState:1; + unsigned int AC_DefrostState:2; + unsigned int AC_DemistState:2; + unsigned int AC_IntakeAirState:2; + unsigned int AC_BlowerLevelState:3; + unsigned int AC_PTCHighTemperatureSelfProtectionState:1; +}AC_CurrentStatus_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int AC_COMP_CompressorVoltage:16; + + unsigned int AC_COMP_CompressorCurrent:8; + + unsigned int AC_COMP_CompressorSpeed:16; + + unsigned int AC_COMP_CompressorState:2; +}AC_COMP_Information_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int AC_SleepConditionsReady_Reserved:1; + unsigned int AC_Stayawake_reasons1_Reserved:1; + unsigned int AC_Stayawake_reasons2_Reserved:1; + unsigned int AC_Stayawake_reasons3_Reserved:1; + unsigned int AC_Stayawake_reasons4_Reserved:1; + unsigned int AC_Stayawake_reasons5_Reserved:1; +}AC_NM_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int AC_DiagEvaporatorTemperatureSensorShortCircuit:1; + unsigned int AC_DiagEvaporatorTemperatureSensorOpenCircuit :1; + unsigned int AC_DiagServoMotorShortCircuit :1; + unsigned int AC_DiagServoMotorPositionFault :1; + unsigned int AC_DiagLoopMotorShortCircuit :1; + unsigned int AC_DiagLoopMotorPositionFault :1; + unsigned int AC_DiagBlowermotorShortCircuit :1; + unsigned int AC_DiagBlowermotorOpenCircuit :1; + unsigned int AC_DiagPTC_PressureSensorShortCircuit :1; + unsigned int AC_DiagPTC_PressureSensorOpenCircuit :1; + unsigned int AC_DiagPressureSensorShortCircuit :1; + unsigned int AC_DiagPressureSensorOpenCircuit :1; + unsigned int AC_DiagCoolingPressureTooHight :1; + unsigned int AC_DiagCoolingPressureTooLow :1; + unsigned int AC_DiagCompressorFault :1; + unsigned int AC_DiagCommunicationLostWithVCU :1; + unsigned int AC_DiagCommunicationLostWithHMI :1; + unsigned int AC_DiagCommunicationLostWithComp :1; + unsigned int AC_DiagBusOff :1; + unsigned int AC_DiagCOMP_InternalVoltageFault :1; + unsigned int AC_DiagCOMP_UnderVoltageFault :1; + unsigned int AC_DiagCOMP_OverVoltageFault :1; + unsigned int AC_DiagCOMP_OverCurrentFault :1; + unsigned int AC_DiagCOMP_TemperatureFault :1; + unsigned int AC_DiagCOMP_BusOff :1; + unsigned int AC_DiagCOMP_LossCommunicationWithAC :1; + + unsigned char AC_SoftwareVersion; + unsigned char AC_HardwareVersion; +}AC_Diagnosis_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned char Data[8]; +}AC_DiagResp_t; + +/***** RX *****/ +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int VCU_AC_EnableCommand:1; +}VCU_DisplayInfo_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned int HMI_AcKeyState:3; + unsigned int HMI_BlowerLevelKey:2; + unsigned int HMI_IntakeAirKey:1; +}HMI_ControlCommand_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned char Data[8]; +}TEST_AC_DiagReq_t; + +typedef struct +{ + unsigned int RcvId:11; + unsigned int RcvDLC:4; + + unsigned char Data[8]; +}TEST_Func_DiagReq_t; + + +typedef struct { + unsigned int lword[4]; +}can_cre_type; + +//#define CAN_RX_RULE_NUM 5 +#define CAN_PAGE_RX_RULE_IDX_MASK 0xfU +#define CAN_RX_RULE_PAGE_IDX_BIT_POS 4U +/***************************************************/ +/**********************CAN FRAME********************/ +typedef struct +{ + unsigned int ID; + unsigned int * addr; +}Can_Frame_Format; + + + +#define COMP_Information_ID 0x300 +#define AC_COMP_Control_ID 0x200 +#define AC_CurrentStatus_ID 0x32B +#define AC_COMP_Information_ID 0x35B +#define AC_NM_ID 0x409 +#define AC_Diagnosis_ID 0x609 +#define AC_DiagResp_ID 0x75B//0x7CE +#define AC_DiagResp_PeriodicDid_ID 0x7AA +#define VCU_DisplayInfo_ID 0x310 +#define HMI_ControlCommand_ID 0x348 +#define TEST_AC_DiagReq_ID 0x74B//0x7C6 +#define TEST_Func_DiagReq_ID 0x7DF + +extern volatile COMP_Information_t COMP_Information ; +extern volatile AC_COMP_Control_t AC_COMP_Control ; +extern volatile AC_CurrentStatus_t AC_CurrentStatus ; +extern volatile AC_COMP_Information_t AC_COMP_Information ; +extern volatile AC_NM_t AC_NM ; +extern volatile AC_Diagnosis_t AC_Diagnosis ; +extern volatile AC_DiagResp_t AC_DiagResp ; +extern volatile AC_DiagResp_t AC_DiagResp_PeriodicDid; +extern volatile VCU_DisplayInfo_t VCU_DisplayInfo ; +extern volatile HMI_ControlCommand_t HMI_ControlCommand ; +extern volatile TEST_AC_DiagReq_t TEST_AC_DiagReq ; +extern volatile TEST_Func_DiagReq_t TEST_Func_DiagReq ; +extern const Can_Frame_Format CanBufDsc[]; + +#endif diff --git a/ECU_APP/diagnose/extern.c b/ECU_APP/diagnose/extern.c new file mode 100644 index 0000000..b322560 --- /dev/null +++ b/ECU_APP/diagnose/extern.c @@ -0,0 +1,593 @@ +#include "extern.h" +#include "hwCtrl.h" +#include "PINdef.h" + +#pragma section const DID_TBL + +__far const unsigned char HD_VERSION[]={ + 'H' , //AC_HD_VERSION_00 + 'W' , //AC_HD_VERSION_01 + '0' , //AC_HD_VERSION_02 + '1' , //AC_HD_VERSION_03 + '0' , //AC_HD_VERSION_04 + '0' , //AC_HD_VERSION_05 + ' ' , //AC_HD_VERSION_06 + ' ' , //AC_HD_VERSION_07 + ' ' , //AC_HD_VERSION_08 + ' ' , //AC_HD_VERSION_09 + ' ' , //AC_HD_VERSION_10 + ' ' , //AC_HD_VERSION_11 + ' ' , //AC_HD_VERSION_12 + ' ' , //AC_HD_VERSION_13 + ' ' , //AC_HD_VERSION_14 + ' ' , //AC_HD_VERSION_15 +}; + +__far const unsigned char SW_VERSION[]={ + '0' , //AC_SW_VERSION_00 + '1' , //AC_SW_VERSION_01 + '.' , //AC_SW_VERSION_02 + '0' , //AC_SW_VERSION_03 + '1' , //AC_SW_VERSION_04 + '.' , //AC_SW_VERSION_05 + '0' , //AC_SW_VERSION_06 + '1' , //AC_SW_VERSION_07 + ' ' , //AC_SW_VERSION_08 + ' ' , //AC_SW_VERSION_09 + ' ' , //AC_SW_VERSION_10 + ' ' , //AC_SW_VERSION_11 + ' ' , //AC_SW_VERSION_12 +}; + +__far const unsigned char SUP_ECU_SW_VERSION[]={ + '0' , // + '2' , // + '0' , // + '1' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // + ' ' , // +}; + + +#pragma section + + +IO_parameter_t io_parameter[8]; + +const unsigned char DID_0xF110_VehicleNetworkConfiguration[8]={0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; +const unsigned char DID_0xF190_vehicleIdentificationNumber[17]={0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; +const unsigned char DID_0xF197_SystemNameOrEngineType[8]={0x44,0x41,0x4D,0x49,0x4e,0x47,0x41,0x43}; +const unsigned char DID_0xF198_RepairShopCodeOrTesterSerialNumber[16]={0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; +const unsigned char DID_0xF199_ProgrammingOrConfigurationDate[4]={0x20,0x00,0x01,0x01}; +const unsigned char DID_0xF19D_ECUInstallationDateDataIdentifier[4]={0x20,0x00,0x01,0x01}; +const unsigned char DID_0xF112_VehicleName[8]={0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; + can_frame_t TxCanMessageT; +//const unsigned char DID_0xF15A[]={}; +/****************************************************************************************/ +/* 输入参数 ch : */ +/* 0: 压缩机温度 */ +/* 1: 室外温度 */ +/* 2: 室内温度 */ +/* 返回值: */ +/* 对应的电压*10(即返回的电压值精度是0.1V的) */ +/* */ + +unsigned char GetVoltage(unsigned char ch) +{ + + /* 这里可以做数组的方式返回,但尽量不要在这里计算,例如下 return Voltage[ch]; */ +// switch(ch) +// { +// case EVA_SENSOR: +// return uiDuctAdVal; +// break; +// case OUTSIDE_SENSOR: +// return uiAmbAdVal; +// break; +// case INSIDE_SENSOR: +// return uiIncarAdVal; +// break; +// default: +// return 0; +// break; +// } +} + +/************************************************************************************/ +/* 输入参数 motor : */ +/* 1: 驾驶员侧温度调节电机 */ +/* 2: 出风模式电机电机 */ +/* 3: 循环风门调节电机 */ +/* */ +/* 返回值: */ +/* 0: 电机正常 1:电机堵转 */ +/* */ +unsigned char GetMotorLockStatus(unsigned char motor) +{ +// switch(motor) +// { +// case 1: +// return temprunErr; +// break; +// case 2: +// return moderunErr; +// break; +// case 3: +// return 0; +// break; +// default: +// return 0; +// break; +// } +} + +/************************************************************************************/ +/* 输入参数 p : */ +/* 0: TEMP 驾驶员侧温度风门位置 */ +/* 1: REC 内外循环模式 */ +/* 2: FAN 鼓风机档位 */ +/* 3: MODE 模式风门位置 */ +/* 4: DEFROST 除霜开关 */ +/* 5: REARDEF 后除霜控制 */ +/* 6: AC A/C制冷按键按键 */ +/* 7: K30 ECU Supplier voltage */ +/* */ +/* 返回值: */ +/* 0: 对应的data,具体见22,2F服务 */ +/************************************************************************************/ +unsigned char GetIoParameter(unsigned char p) +{ + switch(p) + { + case 0: + + break; + case 1: + + break; + case 2: + + break; + case 3: + + break; + case 4: + + break; + case 5: + + break; + case 6: + + break; + case 7: + + break; + default: + return 0; + break; + } + return (io_parameter[p].data); +} + +/************************************************************************************/ +/* 主函数查询 */ +/*输入参数 p : */ +/* 0: TEMP 驾驶员侧温度风门位置 */ +/* 1: REC 内外循环模式 */ +/* 2: FAN 鼓风机档位 */ +/* 3: MODE 模式风门位置 */ +/* 4: DEFROST 无效 */ +/* 5: REARDEF 后除霜控制 */ +/* 6: AC 无效 */ +/* 7: K30 无效 */ +/* 返回值: */ +/* */ +/************************************************************************************/ +void WriteIoParameter(unsigned char p,unsigned char data) +{ + io_parameter[p].write = 1; //此值为1,代表着需要对对应用的参数写入data。APP完成写入操作后面把这个清零。 + io_parameter[p].data = data; +} + +/************************************************************************************/ +/* 输入参数 p : */ +/* */ +/* */ +/* 返回值: */ +/* 0: IGN电源正常 1:IGN > 16V 或 IGN < 9V */ +/* */ +/************************************************************************************/ +unsigned char GetIgnVoltStatus(void) +{ +// if(*Power_Protect.mark == 1) +// { +// return 0; +// } +// else +// { +// return 1; +// } + return 0; +} + + +unsigned char TransmitCAN_Message(unsigned int ID,unsigned char Dlc,unsigned char *Data) +{ + + Can_RtnType re_flag; + TxCanMessageT.IDL=ID; + TxCanMessageT.DLC=Dlc; + TxCanMessageT.IDE = 0; /* IDE 0:Standard 1:Extend */ + TxCanMessageT.RTR = 0; /* RTR 0:Data 1:Remote */ + TxCanMessageT.THDSE = 0; /* Transmit History Data Store Enable */ + TxCanMessageT.IDH = 0; /* ID Data (high) */ + TxCanMessageT.DLC = 8; /* DLC Data */ + TxCanMessageT.LBL = 0; /* Label Data */ + TxCanMessageT.TS = 0; /* Timestamp Data */ + Copy_Array_to_Array(TxCanMessageT.DB,Data,Dlc); + re_flag=R_CAN_TrmByTRFIFO0_CH0(&TxCanMessageT); + if(re_flag == CAN_RTN_OK) + { + return 0; + } + else + { + return 1; + } +} + +unsigned char DF_Write(unsigned char* write_buf,unsigned char data_num,unsigned char len) +{ + unsigned char DID_Buf[0x50],i; + i=0; + switch(data_num) + { + case 1: + ReadFlashData(DID_Buf,0x000F1000+0x400,0x50); + for(i=0;i 16V 锟斤拷 IGN < 9V / +// / +************************************************************************************/ +extern unsigned char GetIgnVoltStatus(void); + +/************************************************************************************ +// 锟斤拷锟斤拷锟斤拷锟? ID : CAN ID // +// 锟斤拷锟斤拷锟斤拷锟? Dlc : CAN 锟斤拷锟斤拷锟斤拷锟捷筹拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? *Data : 指锟斤拷 CAN 锟斤拷锟斤拷锟斤拷锟捷伙拷锟斤拷锟斤拷锟斤拷指锟斤拷 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// 0锟斤拷 锟斤拷锟酵成癸拷 锟斤拷0 锟斤拷锟斤拷锟斤拷失锟斤拷 // +************************************************************************************/ +extern unsigned char TransmitCAN_Message(unsigned int ID,unsigned char Dlc,unsigned char *Data); + +/************************************************************************************ +// 锟斤拷锟斤拷锟斤拷锟? write_buf : 指锟斤拷 锟斤拷要写锟斤拷锟斤拷锟捷伙拷锟斤拷锟斤拷锟侥碉拷址 // +// 锟斤拷锟斤拷锟斤拷锟? data_num : 锟斤拷锟捷达拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? len : 写锟斤拷锟斤拷锟捷筹拷锟斤拷 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// 0锟斤拷 写锟斤拷晒锟? 锟斤拷0 锟斤拷写锟斤拷失锟斤拷 // +************************************************************************************/ +extern unsigned char DF_Write(unsigned char* write_buf,unsigned char data_num,unsigned char len); + +/************************************************************************************ +// 锟斤拷锟斤拷锟斤拷锟? read_buf : 指锟斤拷锟饺★拷锟斤拷荽锟斤拷锟侥伙拷锟斤拷锟斤拷锟侥碉拷址 // +// 锟斤拷锟斤拷锟斤拷锟? data_num : 锟斤拷锟捷达拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? len : 锟斤拷取锟斤拷锟捷筹拷锟斤拷 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// 0锟斤拷 锟斤拷取锟缴癸拷 锟斤拷0 锟斤拷锟斤拷取失锟斤拷 // +************************************************************************************/ +extern unsigned char DF_Read(unsigned char* read_buf,unsigned char data_num,unsigned char len); + +/************************************************************************************ +// // +// 锟斤拷锟斤拷值锟斤拷 // +// 锟斤拷前32bit 锟斤拷 1ms锟斤拷锟斤拷锟斤拷值 // +***********************************************************************************/ +extern uint32 GetTimerCnt(void); + +/************************************************************************************ +// 锟斤拷取data Flash锟斤拷锟捷达拷取锟斤拷锟斤拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? code : // +// 0 : 锟斤拷取APP锟截憋拷锟斤拷锟斤拷锟斤拷志锟斤拷锟斤拷锟斤拷 // +// 1 : 锟斤拷取2E锟斤拷锟斤拷0xF110锟斤拷锟斤拷锟斤拷锟斤拷 // +// 2 : 锟斤拷取2E锟斤拷锟斤拷0xF190锟斤拷锟斤拷锟斤拷锟斤拷 // +// 3 : 锟斤拷取2E锟斤拷锟斤拷0xF197锟斤拷锟斤拷锟斤拷锟斤拷 // +// 4 : 锟斤拷取2E锟斤拷锟斤拷0xF198锟斤拷锟斤拷锟斤拷锟斤拷 // +// 5 : 锟斤拷取2E锟斤拷锟斤拷0xF199锟斤拷锟斤拷锟斤拷锟斤拷 // +// 6 : 锟斤拷取2E锟斤拷锟斤拷0xF19D锟斤拷锟斤拷锟斤拷锟斤拷 // +// 7 : 锟斤拷取2E锟斤拷锟斤拷0xF112锟斤拷锟斤拷锟斤拷锟斤拷 // +// 8 : 锟斤拷取19锟斤拷锟斤拷0xF00616锟斤拷锟斤拷锟斤拷锟斤拷 // +// 9 : 锟斤拷取19锟斤拷锟斤拷0xF00617锟斤拷锟斤拷锟斤拷锟斤拷 // +// 10 : 锟斤拷取19锟斤拷锟斤拷0x918112锟斤拷锟斤拷锟斤拷锟斤拷 // +// 11 : 锟斤拷取19锟斤拷锟斤拷0x918114锟斤拷锟斤拷锟斤拷锟斤拷 // +// 12 : 锟斤拷取19锟斤拷锟斤拷0x918171锟斤拷锟斤拷锟斤拷锟斤拷 // +// 13 : 锟斤拷取19锟斤拷锟斤拷0x918312锟斤拷锟斤拷锟斤拷锟斤拷 // +// 14 : 锟斤拷取19锟斤拷锟斤拷0x918314锟斤拷锟斤拷锟斤拷锟斤拷 // +// 15 : 锟斤拷取19锟斤拷锟斤拷0x918371锟斤拷锟斤拷锟斤拷锟斤拷 // +// 16 : 锟斤拷取19锟斤拷锟斤拷0x918412锟斤拷锟斤拷锟斤拷锟斤拷 // +// 17 : 锟斤拷取19锟斤拷锟斤拷0x918414锟斤拷锟斤拷锟斤拷锟斤拷 // +// 18 : 锟斤拷取19锟斤拷锟斤拷0x918471锟斤拷锟斤拷锟斤拷锟斤拷 // +// 19 : 锟斤拷取19锟斤拷锟斤拷0x918611锟斤拷锟斤拷锟斤拷锟斤拷 // +// 20 : 锟斤拷取19锟斤拷锟斤拷0x918614锟斤拷锟斤拷锟斤拷锟斤拷 // +// 21 : 锟斤拷取19锟斤拷锟斤拷0xC07300锟斤拷锟斤拷锟斤拷锟斤拷 +// // +// 锟斤拷锟斤拷值锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 // +// // +************************************************************************************/ +extern unsigned char GetIndexNumber(unsigned char code); + +/************************************************************************************ +// 锟斤拷取AC硬锟斤拷锟芥本 // +// 锟斤拷锟斤拷锟斤拷锟? hdv : // +// 指锟斤拷锟饺★拷锟斤拷荽锟斤拷锟侥伙拷锟斤拷锟斤拷锟侥碉拷址 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// // +// // +************************************************************************************/ +extern void GetHardwareVersion(unsigned char* hdv); + +/************************************************************************************ +// 锟斤拷取AC锟斤拷锟斤拷锟芥本 // +// 锟斤拷锟斤拷锟斤拷锟? swv : // +// 指锟斤拷锟饺★拷锟斤拷荽锟斤拷锟侥伙拷锟斤拷锟斤拷锟侥碉拷址 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// // +// // +************************************************************************************/ +extern void GetSoftwareVersion(unsigned char* swv); + + +/************************************************************************************ +// 锟斤拷取AC锟斤拷应锟斤拷锟斤拷锟斤拷锟芥本 // +// 锟斤拷锟斤拷锟斤拷锟? swv : // +// 指锟斤拷锟饺★拷锟斤拷荽锟斤拷锟侥伙拷锟斤拷锟斤拷锟侥碉拷址 // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// // +// // +************************************************************************************/ + +extern void GetSupplierSoftwareVersion(unsigned char* supswv); + + + +/************************************************************************************ +// 锟斤拷取AC锟斤拷锟斤拷锟斤拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? *date : // +// data[0] = YEAR // +// data[1] = MONTH // +// data[0] = DAY // +// // +// 锟斤拷锟斤拷值锟斤拷 // +// // +// // +************************************************************************************/ +extern void GetManufacturingDate(unsigned char* date); + +/************************************************************************************ +// 锟斤拷取Can锟斤拷锟竭筹拷锟斤拷状态 // +// 锟斤拷锟斤拷锟斤拷锟? 锟斤拷 // +// // +// 锟斤拷锟斤拷值锟斤拷 Can锟斤拷锟竭筹拷锟斤拷状态 // +// // +// // +************************************************************************************/ +extern unsigned char GetCanBusOffErr(void); + +/************************************************************************************ +// 锟斤拷取锟斤拷史锟缴癸拷锟斤拷檀锟斤拷锟? // +// 锟斤拷锟斤拷锟斤拷锟? // +// // +// 锟斤拷锟斤拷值锟斤拷 锟斤拷史锟缴癸拷锟斤拷檀锟斤拷锟? // +// // +// // +************************************************************************************/ +extern unsigned char GetProgrammingCounter(void); + +/************************************************************************************ +// 锟斤拷取锟斤拷史锟斤拷檀锟斤拷锟? // +// 锟斤拷锟斤拷锟斤拷锟? // +// // +// 锟斤拷锟斤拷值锟斤拷 锟斤拷史锟斤拷檀锟斤拷锟? // +// // +// // +************************************************************************************/ +extern unsigned char GetProgrammingAttempCounter(void); + +/************************************************************************************ +// 锟斤拷锟紻TC锟斤拷锟斤拷 // +// 锟斤拷锟斤拷锟斤拷锟? // +// // +// 锟斤拷锟斤拷值锟斤拷 状态 // +// // +// // +************************************************************************************/ +extern unsigned char Clear_DTC_Data(void); + + + +/************************************************************************************ +// 锟斤拷取BCM锟节点丢失状态 // +// 锟斤拷锟斤拷锟斤拷锟? 锟斤拷 // +// // +// 锟斤拷锟斤拷值锟斤拷 BCM锟节点丢失状态 // +// // +// // +************************************************************************************/ + + +extern unsigned char GetBcmCommFault(void); +extern unsigned char GetAcpCommFault(void); + + +//S51EV + + + + +#endif + diff --git a/ECU_APP/diagnose/lib/rl78_uds_lib_cc_v2.2.1.lib b/ECU_APP/diagnose/lib/rl78_uds_lib_cc_v2.2.1.lib new file mode 100644 index 0000000..d037aa5 Binary files /dev/null and b/ECU_APP/diagnose/lib/rl78_uds_lib_cc_v2.2.1.lib differ diff --git a/ECU_APP/function.html b/ECU_APP/function.html new file mode 100644 index 0000000..ea3bf9e --- /dev/null +++ b/ECU_APP/function.html @@ -0,0 +1,431 @@ + + + + Function list + + + MCU name: RL78/F13(ROM:128KB)
Chip name: R5F10BBG
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module File Macro Function Default Status
Common
r_main.c r_main.c Used
void main(void) main Used
void R_MAIN_UserInit(void) R_MAIN_UserInit Used
r_systeminit.c r_systeminit.c Used
void R_Systeminit(void) R_Systeminit Used
void hdwinit(void) hdwinit Used
r_cg_macrodriver.h r_cg_macrodriver.h Used
r_cg_userdefine.h r_cg_userdefine.h Used
Clock Generator
r_cg_cgc.c r_cg_cgc.c Used
void R_CGC_Create(void) R_CGC_Create Used
MD_STATUS R_CGC_Set_ClockMode(enum ClockMode mode) R_CGC_Set_ClockMode Unused
void R_CGC_ClockMonitor_Start(void) R_CGC_ClockMonitor_Start Unused
void R_CGC_ClockMonitor_Stop(void) R_CGC_ClockMonitor_Stop Unused
void R_CGC_StackPointer_Start(void) R_CGC_StackPointer_Start Unused
void R_CGC_StackPointer_Stop(void) R_CGC_StackPointer_Stop Unused
void R_CGC_RAMECC_Start(void) R_CGC_RAMECC_Start Unused
void R_CGC_RAMECC_Stop(void) R_CGC_RAMECC_Stop Unused
r_cg_cgc_user.c r_cg_cgc_user.c Used
void R_CGC_Create_UserInit(void) R_CGC_Create_UserInit Unused
void R_CGC_Get_ResetSource(void) R_CGC_Get_ResetSource Used
__interrupt static void r_cgc_clockmonitor_interrupt(void) r_cgc_clockmonitor_interrupt Unused
__interrupt static void r_cgc_stackpointer_interrupt(void) r_cgc_stackpointer_interrupt Unused
__interrupt static void r_cgc_ram_ecc_interrupt(void) r_cgc_ram_ecc_interrupt Unused
r_cg_cgc.h r_cg_cgc.h Used
r_cg_pfdl.c r_cg_pfdl.c Used
void R_FDL_Create(void) R_FDL_Create Unused
pfdl_status_t R_FDL_Write(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount) R_FDL_Write Unused
pfdl_status_t R_FDL_Read(pfdl_u16 index, __near pfdl_u08* buffer, pfdl_u16 bytecount) R_FDL_Read Unused
pfdl_status_t R_FDL_Erase(pfdl_u16 blockno) R_FDL_Erase Unused
void R_FDL_Open(void) R_FDL_Open Unused
void PFDL_Close(void) R_FDL_Close Unused
pfdl_status_t R_FDL_BlankCheck(pfdl_u16 index, pfdl_u16 bytecount) R_FDL_BlankCheck Unused
pfdl_status_t R_FDL_IVerify(pfdl_u16 index, pfdl_u16 bytecount) R_FDL_IVerify Unused
r_cg_pfdl.h r_cg_pfdl.h Unused
Port
r_cg_port.c r_cg_port.c Used
void R_PORT_Create(void) R_PORT_Create Used
r_cg_port_user.c r_cg_port_user.c Used
void R_PORT_Create_UserInit(void) R_PORT_Create_UserInit Unused
r_cg_port.h r_cg_port.h Used
Interrupt
r_cg_intc.c r_cg_intc.c Unused
INTP
void R_INTC_Create(void) R_INTC_Create Unused
INTP0
void R_INTC0_Start(void) R_INTC0_Start Unused
void R_INTC0_Stop(void) R_INTC0_Stop Unused
INTP1
void R_INTC1_Start(void) R_INTC1_Start Unused
void R_INTC1_Stop(void) R_INTC1_Stop Unused
INTP2
void R_INTC2_Start(void) R_INTC2_Start Unused
void R_INTC2_Stop(void) R_INTC2_Stop Unused
INTP3
void R_INTC3_Start(void) R_INTC3_Start Unused
void R_INTC3_Stop(void) R_INTC3_Stop Unused
INTP4
void R_INTC4_Start(void) R_INTC4_Start Unused
void R_INTC4_Stop(void) R_INTC4_Stop Unused
INTP5
void R_INTC5_Start(void) R_INTC5_Start Unused
void R_INTC5_Stop(void) R_INTC5_Stop Unused
r_cg_intc_user.c r_cg_intc_user.c Unused
INTP
void R_INTC_Create_UserInit(void) R_INTC_Create_UserInit Unused
__interrupt static void r_intc0_interrupt(void) r_intc0_interrupt Unused
__interrupt static void r_intc1_interrupt(void) r_intc1_interrupt Unused
__interrupt static void r_intc2_interrupt(void) r_intc2_interrupt Unused
__interrupt static void r_intc3_interrupt(void) r_intc3_interrupt Unused
__interrupt static void r_intc4_interrupt(void) r_intc4_interrupt Unused
__interrupt static void r_intc5_interrupt(void) r_intc5_interrupt Unused
r_cg_intc.h r_cg_intc.h Unused
Serial
r_cg_serial.c r_cg_serial.c Unused
SAU0
void R_SAU0_Create(void) R_SAU0_Create Unused
void R_SAU0_Set_PowerOff(void) R_SAU0_Set_PowerOff Unused
void R_SAU0_Set_SnoozeOn(void) R_SAU0_Set_SnoozeOn Unused
void R_SAU0_Set_SnoozeOff(void) R_SAU0_Set_SnoozeOff Unused
UART0
void R_UART0_Create(void) R_UART0_Create Unused
void R_UART0_Start(void) R_UART0_Start Unused
void R_UART0_Stop(void) R_UART0_Stop Unused
MD_STATUS R_UART0_Send(uint8_t const * tx_buf, uint16_t tx_num) R_UART0_Send Unused
MD_STATUS R_UART0_Receive(uint8_t const * rx_buf, uint16_t rx_num) R_UART0_Receive Unused
CSI00
void R_CSI00_Create(void) R_CSI00_Create Unused
void R_CSI00_Start(void) R_CSI00_Start Unused
void R_CSI00_Stop(void) R_CSI00_Stop Unused
MD_STATUS R_CSI00_Send(uint8_t const * tx_buf, uint16_t tx_num) R_CSI00_Send Unused
MD_STATUS R_CSI00_Receive(uint8_t const * rx_buf, uint16_t rx_num) R_CSI00_Receive Unused
MD_STATUS R_CSI00_Send_Receive(uint8_t const * tx_buf, uint16_t tx_num, uint8_t const * rx_buf) R_CSI00_Send_Receive Unused
CSI01
void R_CSI01_Create(void) R_CSI01_Create Unused
void R_CSI01_Start(void) R_CSI01_Start Unused
void R_CSI01_Stop(void) R_CSI01_Stop Unused
MD_STATUS R_CSI01_Send(uint8_t const * tx_buf, uint16_t tx_num) R_CSI01_Send Unused
MD_STATUS R_CSI01_Receive(uint8_t const * rx_buf, uint16_t rx_num) R_CSI01_Receive Unused
MD_STATUS R_CSI01_Send_Receive(uint8_t const * tx_buf, uint16_t tx_num, uint8_t const * rx_buf) R_CSI01_Send_Receive Unused
IIC00
void R_IIC00_Create(void) R_IIC00_Create Unused
void R_IIC00_Master_Send(uint8_t adr, uint8_t const * tx_buf, uint16_t txnum) R_IIC00_Master_Send Unused
void R_IIC00_Master_Receive(uint8_t adr, uint8_t const * rx_buf, uint16_t rx_num) R_IIC00_Master_Receive Unused
void R_IIC00_Stop(void) R_IIC00_Stop Unused
void R_IIC00_StartCondition(void) R_IIC00_StartCondition Unused
void R_IIC00_StopCondition(void) R_IIC00_StopCondition Unused
IIC01
void R_IIC01_Create(void) R_IIC01_Create Unused
void R_IIC01_Master_Send(uint8_t adr, uint8_t const * tx_buf, uint16_t txnum) R_IIC01_Master_Send Unused
void R_IIC01_Master_Receive(uint8_t adr, uint8_t const * rx_buf, uint16_t rx_num) R_IIC01_Master_Receive Unused
void R_IIC01_Stop(void) R_IIC01_Stop Unused
void R_IIC01_StartCondition(void) R_IIC01_StartCondition Unused
void R_IIC01_StopCondition(void) R_IIC01_StopCondition Unused
SAU1
void R_SAU1_Create(void) R_SAU1_Create Unused
void R_SAU1_Set_PowerOff(void) R_SAU1_Set_PowerOff Unused
UART1
void R_UART1_Create(void) R_UART1_Create Unused
void R_UART1_Start(void) R_UART1_Start Unused
void R_UART1_Stop(void) R_UART1_Stop Unused
MD_STATUS R_UART1_Send(uint8_t const * tx_buf, uint16_t tx_num) R_UART1_Send Unused
MD_STATUS R_UART1_Receive(uint8_t const * rx_buf, uint16_t rx_num) R_UART1_Receive Unused
CSI10
void R_CSI10_Create(void) R_CSI10_Create Unused
void R_CSI10_Start(void) R_CSI10_Start Unused
void R_CSI10_Stop(void) R_CSI10_Stop Unused
MD_STATUS R_CSI10_Send(uint8_t const * tx_buf, uint16_t tx_num) R_CSI10_Send Unused
MD_STATUS R_CSI10_Receive(uint8_t const * rx_buf, uint16_t rx_num) R_CSI10_Receive Unused
MD_STATUS R_CSI10_Send_Receive(uint8_t const * tx_buf, uint16_t tx_num, uint8_t const * rx_buf) R_CSI10_Send_Receive Unused
IIC10
void R_IIC10_Create(void) R_IIC10_Create Unused
void R_IIC10_Master_Send(uint8_t adr, uint8_t const * tx_buf, uint16_t txnum) R_IIC10_Master_Send Unused
void R_IIC10_Master_Receive(uint8_t adr, uint8_t const * rx_buf, uint16_t rx_num) R_IIC10_Master_Receive Unused
void R_IIC10_Stop(void) R_IIC10_Stop Unused
void R_IIC10_StartCondition(void) R_IIC10_StartCondition Unused
void R_IIC10_StopCondition(void) R_IIC10_StopCondition Unused
IICA0
void R_IICA0_Create(void) R_IICA0_Create Unused
MD_STATUS R_IICA0_Master_Send(uint8_t adr, uint8_t * const tx_buf, uint16_t tx_num, uint8_t wait) R_IICA0_Master_Send Unused
MD_STATUS R_IICA0_Master_Receive(uint8_t adr, uint8_t * const rx_buf, uint16_t rx_num, uint8_t wait) R_IICA0_Master_Receive Unused
void R_IICA0_Slave_Send(uint8_t * const tx_buf, uint16_t tx_num) R_IICA0_Slave_Send Unused
void R_IICA0_Slave_Receive(uint8_t * const rx_buf, uint16_t rx_num) R_IICA0_Slave_Receive Unused
void R_IICA0_Stop(void) R_IICA0_Stop Unused
void R_IICA0_StopCondition(void) R_IICA0_StopCondition Unused
void R_IICA0_Set_SnoozeOn(void) R_IICA0_Set_SnoozeOn Unused
void R_IICA0_Set_SnoozeOff(void) R_IICA0_Set_SnoozeOff Unused
void R_IICA0_Set_PowerOff(void) R_IICA0_Set_PowerOff Unused
r_cg_serial_user.c r_cg_serial_user.c Unused
SAU0
void R_SAU0_Create_UserInit(void) R_SAU0_Create_UserInit Unused
UART0
__interrupt void r_uart0_interrupt_receive(void) r_uart0_interrupt_receive Unused
__interrupt void r_uart0_interrupt_send(void) r_uart0_interrupt_send Unused
void r_uart0_callback_receiveend(void) r_uart0_callback_receiveend Unused
void r_uart0_callback_sendend(void) r_uart0_callback_sendend Unused
void r_uart0_callback_error(uint16_t err_type) r_uart0_callback_error Unused
void r_uart0_callback_softwareoverrun(uint16_t err_type) r_uart0_callback_softwareoverrun Unused
CSI00
__interrupt void r_csi00_interrupt(void) r_csi00_interrupt Unused
void r_csi00_callback_receiveend(void) r_csi00_callback_receiveend Unused
void r_csi00_callback_error(uint16_t err_type) r_csi00_callback_error Unused
void r_csi00_callback_sendend(void) r_csi00_callback_sendend Unused
CSI01
__interrupt void r_csi01_interrupt(void) r_csi01_interrupt Unused
void r_csi01_callback_receiveend(void) r_csi01_callback_receiveend Unused
void r_csi01_callback_error(uint16_t err_type) r_csi01_callback_error Unused
void r_csi01_callback_sendend(void) r_csi01_callback_sendend Unused
IIC00
__interrupt void r_iic00_interrupt(void) r_iic00_interrupt Unused
void r_iic00_callback_master_receiveend(void) r_iic00_callback_master_receiveend Unused
void r_iic00_callback_master_sendend(void) r_iic00_callback_master_sendend Unused
void r_iic00_callback_master_error(MD_STATUS flag) r_iic00_callback_master_error Unused
IIC01
__interrupt void r_iic01_interrupt(void) r_iic01_interrupt Unused
void r_iic01_callback_master_receiveend(void) r_iic01_callback_master_receiveend Unused
void r_iic01_callback_master_sendend(void) r_iic01_callback_master_sendend Unused
void r_iic01_callback_master_error(MD_STATUS flag) r_iic01_callback_master_error Unused
SAU1
void R_SAU1_Create_UserInit(void) R_SAU1_Create_UserInit Unused
UART1
__interrupt void r_uart1_interrupt_receive(void) r_uart1_interrupt_receive Unused
__interrupt void r_uart1_interrupt_send(void) r_uart1_interrupt_send Unused
void r_uart1_callback_receiveend(void) r_uart1_callback_receiveend Unused
void r_uart1_callback_sendend(void) r_uart1_callback_sendend Unused
void r_uart1_callback_error(uint16_t err_type) r_uart1_callback_error Unused
void r_uart1_callback_softwareoverrun(uint16_t err_type) r_uart1_callback_softwareoverrun Unused
CSI10
__interrupt void r_csi10_interrupt(void) r_csi10_interrupt Unused
void r_csi10_callback_receiveend(void) r_csi10_callback_receiveend Unused
void r_csi10_callback_error(uint16_t err_type) r_csi10_callback_error Unused
void r_csi10_callback_sendend(void) r_csi10_callback_sendend Unused
IIC10
__interrupt void r_iic10_interrupt(void) r_iic10_interrupt Unused
void r_iic10_callback_master_receiveend(void) r_iic10_callback_master_receiveend Unused
void r_iic10_callback_master_sendend(void) r_iic10_callback_master_sendend Unused
void r_iic10_callback_master_error(MD_STATUS flag) r_iic10_callback_master_error Unused
IICA0
void R_IICA0_Create_UserInit(void) R_IICA0_Create_UserInit Unused
__interrupt static r_iica0_interrupt(void) r_iica0_interrupt Unused
static void r_iica0_callback_master_sendend(void) r_iica0_callback_master_sendend Unused
static void r_iica0_callback_master_receiveend(void) r_iica0_callback_master_receiveend Unused
static void r_iica0_callback_slave_sendend(void) r_iica0_callback_slave_sendend Unused
static void r_iica0_callback_slave_receiveend(void) r_iica0_callback_slave_receiveend Unused
static void r_iica0_callback_master_error(MD_STATUS flag) r_iica0_callback_master_error Unused
static void r_iica0_callback_slave_error(MD_STATUS flag) r_iica0_callback_slave_error Unused
static void r_iica0_callback_getstopcondition(void) r_iica0_callback_getstopcondition Unused
r_cg_serial.h r_cg_serial.h Unused
A/D Converter
r_cg_adc.c r_cg_adc.c Used
void R_ADC_Create(void) R_ADC_Create Used
void R_ADC_Start(void) R_ADC_Start Used
void R_ADC_Stop(void) R_ADC_Stop Used
void R_ADC_Set_OperationOn(void) R_ADC_Set_OperationOn Used
void R_ADC_Set_OperationOff(void) R_ADC_Set_OperationOff Used
void R_ADC_Get_Result(uint16_t * const buffer) R_ADC_Get_Result Used
void R_ADC_Get_Result_8bit(uint8_t * const buffer) R_ADC_Get_Result_8bit Unused
MD_STATUS R_ADC_Set_ADChannel(ad_channel_t channel) R_ADC_Set_ADChannel Unused
void R_ADC_Set_SnoozeOn(void) R_ADC_Set_SnoozeOn Unused
void R_ADC_Set_SnoozeOff(void) R_ADC_Set_SnoozeOff Unused
MD_STATUS R_ADC_Set_TestChannel(test_channel_t channel) R_ADC_Set_TestChannel Unused
void R_ADC_Set_PowerOff(void) R_ADC_Set_PowerOff Unused
r_cg_adc_user.c r_cg_adc_user.c Used
void R_ADC_Create_UserInit(void) R_ADC_Create_UserInit Unused
__interrupt static void r_adc_interrupt(void) r_adc_interrupt Used
r_cg_adc.h r_cg_adc.h Used
Timer
r_cg_timer.c r_cg_timer.c Used
TAU0
void R_TAU0_Create(void) R_TAU0_Create Used
void R_TAU0_Set_PowerOff(void) R_TAU0_Set_PowerOff Unused
Channel0
void R_TAU0_Channel0_Start(void) R_TAU0_Channel0_Start Used
void R_TAU0_Channel0_Stop(void) R_TAU0_Channel0_Stop Used
void R_TAU0_Channel0_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel0_Get_PulseWidth Unused
void R_TAU0_Channel0_Set_SoftwareTriggerOn(void) R_TAU0_Channel0_Set_SoftwareTriggerOn Unused
Channel1
void R_TAU0_Channel1_Start(void) R_TAU0_Channel1_Start Used
void R_TAU0_Channel1_Higher8bits_Start(void) R_TAU0_Channel1_Higher8bits_Start Unused
void R_TAU0_Channel1_Lower8bits_Start(void) R_TAU0_Channel1_Lower8bits_Start Unused
void R_TAU0_Channel1_Stop(void) R_TAU0_Channel1_Stop Used
void R_TAU0_Channel1_Higher8bits_Stop(void) R_TAU0_Channel1_Higher8bits_Stop Unused
void R_TAU0_Channel1_Lower8bits_Stop(void) R_TAU0_Channel1_Lower8bits_Stop Unused
void R_TAU0_Channel1_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel1_Get_PulseWidth Unused
Channel2
void R_TAU0_Channel2_Start(void) R_TAU0_Channel2_Start Unused
void R_TAU0_Channel2_Stop(void) R_TAU0_Channel2_Stop Unused
void R_TAU0_Channel2_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel2_Get_PulseWidth Unused
void R_TAU0_Channel2_Set_SoftwareTriggerOn(void) R_TAU0_Channel2_Set_SoftwareTriggerOn Unused
Channel3
void R_TAU0_Channel3_Start(void) R_TAU0_Channel3_Start Unused
void R_TAU0_Channel3_Higher8bits_Start(void) R_TAU0_Channel3_Higher8bits_Start Unused
void R_TAU0_Channel3_Lower8bits_Start(void) R_TAU0_Channel3_Lower8bits_Start Unused
void R_TAU0_Channel3_Stop(void) R_TAU0_Channel3_Stop Unused
void R_TAU0_Channel3_Higher8bits_Stop(void) R_TAU0_Channel3_Higher8bits_Stop Unused
void R_TAU0_Channel3_Lower8bits_Stop(void) R_TAU0_Channel3_Lower8bits_Stop Unused
void R_TAU0_Channel3_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel3_Get_PulseWidth Unused
Channel4
void R_TAU0_Channel4_Start(void) R_TAU0_Channel4_Start Unused
void R_TAU0_Channel4_Stop(void) R_TAU0_Channel4_Stop Unused
void R_TAU0_Channel4_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel4_Get_PulseWidth Unused
void R_TAU0_Channel4_Set_SoftwareTriggerOn(void) R_TAU0_Channel4_Set_SoftwareTriggerOn Unused
Channel5
void R_TAU0_Channel5_Start(void) R_TAU0_Channel5_Start Unused
void R_TAU0_Channel5_Stop(void) R_TAU0_Channel5_Stop Unused
void R_TAU0_Channel5_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel5_Get_PulseWidth Unused
Channel6
void R_TAU0_Channel6_Start(void) R_TAU0_Channel6_Start Unused
void R_TAU0_Channel6_Stop(void) R_TAU0_Channel6_Stop Unused
void R_TAU0_Channel6_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel6_Get_PulseWidth Unused
void R_TAU0_Channel6_Set_SoftwareTriggerOn(void) R_TAU0_Channel6_Set_SoftwareTriggerOn Unused
Channel7
void R_TAU0_Channel7_Start(void) R_TAU0_Channel7_Start Unused
void R_TAU0_Channel7_Stop(void) R_TAU0_Channel7_Stop Unused
void R_TAU0_Channel7_Get_PulseWidth(uint32_t * const width) R_TAU0_Channel7_Get_PulseWidth Unused
TAU1
void R_TAU1_Create(void) R_TAU1_Create Unused
void R_TAU1_Set_PowerOff(void) R_TAU1_Set_PowerOff Unused
Channel0
void R_TAU1_Channel0_Start(void) R_TAU1_Channel0_Start Unused
void R_TAU1_Channel0_Stop(void) R_TAU1_Channel0_Stop Unused
void R_TAU1_Channel0_Get_PulseWidth(uint32_t * const width) R_TAU1_Channel0_Get_PulseWidth Unused
void R_TAU1_Channel0_Set_SoftwareTriggerOn(void) R_TAU1_Channel0_Set_SoftwareTriggerOn Unused
Channel1
void R_TAU1_Channel1_Start(void) R_TAU1_Channel1_Start Unused
void R_TAU1_Channel1_Higher8bits_Start(void) R_TAU1_Channel1_Higher8bits_Start Unused
void R_TAU1_Channel1_Lower8bits_Start(void) R_TAU1_Channel1_Lower8bits_Start Unused
void R_TAU1_Channel1_Stop(void) R_TAU1_Channel1_Stop Unused
void R_TAU1_Channel1_Higher8bits_Stop(void) R_TAU1_Channel1_Higher8bits_Stop Unused
void R_TAU1_Channel1_Lower8bits_Stop(void) R_TAU1_Channel1_Lower8bits_Stop Unused
void R_TAU1_Channel1_Get_PulseWidth(uint32_t * const width) R_TAU1_Channel1_Get_PulseWidth Unused
Channel2
void R_TAU1_Channel2_Start(void) R_TAU1_Channel2_Start Unused
void R_TAU1_Channel2_Stop(void) R_TAU1_Channel2_Stop Unused
void R_TAU1_Channel2_Get_PulseWidth(uint32_t * const width) R_TAU1_Channel2_Get_PulseWidth Unused
void R_TAU1_Channel2_Set_SoftwareTriggerOn(void) R_TAU1_Channel2_Set_SoftwareTriggerOn Unused
Channel3
void R_TAU1_Channel3_Start(void) R_TAU1_Channel3_Start Unused
void R_TAU1_Channel3_Higher8bits_Start(void) R_TAU1_Channel3_Higher8bits_Start Unused
void R_TAU1_Channel3_Lower8bits_Start(void) R_TAU1_Channel3_Lower8bits_Start Unused
void R_TAU1_Channel3_Stop(void) R_TAU1_Channel3_Stop Unused
void R_TAU1_Channel3_Higher8bits_Stop(void) R_TAU1_Channel3_Higher8bits_Stop Unused
void R_TAU1_Channel3_Lower8bits_Stop(void) R_TAU1_Channel3_Lower8bits_Stop Unused
void R_TAU1_Channel3_Get_PulseWidth(uint32_t * const width) R_TAU1_Channel3_Get_PulseWidth Unused
TMRJ0
R_TMR_RJ0_Create R_TMR_RJ0_Create Unused
R_TMR_RJ0_Start R_TMR_RJ0_Start Unused
R_TMR_RJ0_Stop R_TMR_RJ0_Stop Unused
R_TMR_RJ0_Get_PulseWidth R_TMR_RJ0_Get_PulseWidth Unused
R_TMR_RJ0_Set_PowerOff R_TMR_RJ0_Set_PowerOff Unused
TMRD0
R_TMR_RD0_Create R_TMR_RD0_Create Unused
R_TMR_RD0_Start R_TMR_RD0_Start Unused
R_TMR_RD0_Stop R_TMR_RD0_Stop Unused
R_TMR_RD0_Get_PulseWidth R_TMR_RD0_Get_PulseWidth Unused
R_TMR_RD0_Set_PowerOff R_TMR_RD0_Set_PowerOff Unused
R_TMR_RD0_ForcedOutput_Start R_TMR_RD0_ForcedOutput_Start Unused
R_TMR_RD0_ForcedOutput_Stop R_TMR_RD0_ForcedOutput_Stop Unused
TMRD1
R_TMR_RD1_Create R_TMR_RD1_Create Unused
R_TMR_RD1_Start R_TMR_RD1_Start Unused
R_TMR_RD1_Stop R_TMR_RD1_Stop Unused
R_TMR_RD1_Get_PulseWidth R_TMR_RD1_Get_PulseWidth Unused
R_TMR_RD1_Set_PowerOff R_TMR_RD1_Set_PowerOff Unused
R_TMR_RD1_ForcedOutput_Start R_TMR_RD1_ForcedOutput_Start Unused
R_TMR_RD1_ForcedOutput_Stop R_TMR_RD1_ForcedOutput_Stop Unused
r_cg_timer_user.c r_cg_timer_user.c Used
TAU0
void R_TAUn_Create_UserInit(void) R_TAU0_Create_UserInit Unused
Channel0
__interrupt static void r_tau0_channel0_interrupt(void) r_tau0_channel0_interrupt Used
Channel1
__interrupt static void r_tau0_channel1_interrupt(void) r_tau0_channel1_interrupt Used
__interrupt static void r_tau0_channel1_higher8bits_interrupt(void) r_tau0_channel1_higher8bits_interrupt Unused
Channel2
__interrupt static void r_tau0_channel2_interrupt(void) r_tau0_channel2_interrupt Unused
Channel3
__interrupt static void r_tau0_channel3_interrupt(void) r_tau0_channel3_interrupt Unused
__interrupt static void r_tau0_channel3_higher8bits_interrupt(void) r_tau0_channel3_higher8bits_interrupt Unused
Channel4
__interrupt static void r_tau0_channel4_interrupt(void) r_tau0_channel4_interrupt Unused
Channel5
__interrupt static void r_tau0_channel5_interrupt(void) r_tau0_channel5_interrupt Unused
Channel6
__interrupt static void r_tau0_channel6_interrupt(void) r_tau0_channel6_interrupt Unused
Channel7
__interrupt static void r_tau0_channel7_interrupt(void) r_tau0_channel7_interrupt Unused
TAU1
void R_TAUn_Create_UserInit(void) R_TAU1_Create_UserInit Unused
Channel0
__interrupt static void r_tau1_channel0_interrupt(void) r_tau1_channel0_interrupt Unused
Channel1
__interrupt static void r_tau1_channel1_interrupt(void) r_tau1_channel1_interrupt Unused
__interrupt static void r_tau1_channel1_higher8bits_interrupt(void) r_tau1_channel1_higher8bits_interrupt Unused
Channel2
__interrupt static void r_tau1_channel2_interrupt(void) r_tau1_channel2_interrupt Unused
Channel3
__interrupt static void r_tau1_channel3_interrupt(void) r_tau1_channel3_interrupt Unused
__interrupt static void r_tau1_channel3_higher8bits_interrupt(void) r_tau1_channel3_higher8bits_interrupt Unused
TMRJ0
R_TMR_RJ0_Create_UserInit R_TMR_RJ0_Create_UserInit Unused
r_tmr_rj0_interrupt r_tmr_rj0_interrupt Unused
TMRD0
R_TMR_RD0_Create_UserInit R_TMR_RD0_Create_UserInit Unused
r_tmr_rd0_interrupt r_tmr_rd0_interrupt Unused
TMRD1
R_TMR_RD1_Create_UserInit R_TMR_RD1_Create_UserInit Unused
r_tmr_rd1_interrupt r_tmr_rd1_interrupt Unused
r_cg_timer.h r_cg_timer.h Used
Watchdog Timer
r_cg_wdt.c r_cg_wdt.c Unused
void R_WDT_Create(void) R_WDT_Create Unused
void R_WDT_Restart(void) R_WDT_Restart Unused
r_cg_wdt_user.c r_cg_wdt_user.c Unused
void R_WDT_Create_UserInit(void) R_WDT_Create_UserInit Unused
__interrupt static void r_wdt_interrupt(void) r_wdt_interrupt Unused
r_cg_wdt.h r_cg_wdt.h Unused
Real-time Clock
r_cg_rtc.c r_cg_rtc.c Unused
void R_RTC_Create(void) R_RTC_Create Unused
void R_RTC_Start(void) R_RTC_Start Unused
void R_RTC_Stop(void) R_RTC_Stop Unused
MD_STATUS R_RTC_SetHourSystem(rtc_hour_system_t hour_system) R_RTC_Set_HourSystem Unused
MD_STATUS R_RTC_Get_CounterValue(rtc_counter_value_t * const counter_read_val) R_RTC_Get_CounterValue Unused
MD_STATUS R_RTC_Set_CounterValue(rtc_counter_value_t counter_write_val) R_RTC_Set_CounterValue Unused
void R_RTC_Set_AlarmOn(void) R_RTC_Set_AlarmOn Unused
void R_RTC_Set_AlarmOff(void) R_RTC_Set_AlarmOff Unused
void R_RTC_Set_AlarmValue(rtc_alarm_value_t alarm_val) R_RTC_Set_AlarmValue Unused
void R_RTC_Get_AlarmValue(rtc_alarm_value_t * const alarm_val) R_RTC_Get_AlarmValue Unused
MD_STATUS R_RTC_Set_ConstPeriodInterruptOn(rtc_int_period_t period) R_RTC_Set_ConstPeriodInterruptOn Unused
void R_RTC_Set_ConstPeriodInterruptOff(void) R_RTC_Set_ConstPeriodInterruptOff Unused
void R_RTC_Set_RTC1HZOn(void) R_RTC_Set_RTC1HZOn Unused
void R_RTC_Set_RTC1HZOff(void) R_RTC_Set_RTC1HZOff Unused
void R_RTC_Set_PowerOff(void) R_RTC_Set_PowerOff Unused
r_cg_rtc_user.c r_cg_rtc_user.c Unused
void R_RTC_Create_UserInit(void) R_RTC_Create_UserInit Unused
__interrupt static void r_rtc_interrupt(void) r_rtc_interrupt Unused
static void r_rtc_callback_constperiod(void) r_rtc_callback_constperiod Unused
static void r_rtc_callback_alarm(void) r_rtc_callback_alarm Unused
r_cg_rtc.h r_cg_rtc.h Unused
Data Transfer Controller
r_cg_dtc.c r_cg_dtc.c Unused
void R_DTC_Create(void) R_DTC_Create Unused
void R_DTC_Set_PowerOff(void) R_DTC_Set_PowerOff Unused
r_cg_dtc_user.c r_cg_dtc_user.c Unused
void R_DTC_Create_UserInit(void) R_DTC_Create_UserInit Unused
r_cg_dtc.h r_cg_dtc.h Unused
Voltage Detector
r_cg_lvd.c r_cg_lvd.c Unused
void R_LVD_Create(void) R_LVD_Create Unused
void R_LVD_InterruptMode_Start(void) R_LVD_InterruptMode_Start Unused
r_cg_lvd_user.c r_cg_lvd_user.c Unused
void R_LVD_Create_UserInit(void) R_LVD_Create_UserInit Unused
__interrupt static void r_lvd_interrupt(void) r_lvd_interrupt Unused
r_cg_lvd.h r_cg_lvd.h Unused
+ + \ No newline at end of file diff --git a/ECU_APP/hdwinit.asm b/ECU_APP/hdwinit.asm new file mode 100644 index 0000000..fa5e315 --- /dev/null +++ b/ECU_APP/hdwinit.asm @@ -0,0 +1,25 @@ +; Copyright (C) 2014 Renesas Electronics Corporation +; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY. +; This program must be used solely for the purpose for which +; it was furnished by Renesas Electronics Corporation. No part of this +; program may be reproduced or disclosed to others, in any +; form, without the prior written permission of Renesas Electronics +; Corporation. +;--------------------------------------------------------------------- +; _hdwinit +; +; void _hdwinit(void); +; +; input: +; NONE +; output: +; NONE +;--------------------------------------------------------------------- + +; NOTE : THIS IS A TYPICAL EXAMPLE. + + .PUBLIC _hdwinit + +.textf .CSEG TEXTF +_hdwinit: + RET diff --git a/ECU_APP/iodefine.h b/ECU_APP/iodefine.h new file mode 100644 index 0000000..e365dbe --- /dev/null +++ b/ECU_APP/iodefine.h @@ -0,0 +1,2505 @@ +/******************************************************************************/ +/* DISCLAIMER */ +/* This software is supplied by Renesas Electronics Corporation and is only */ +/* intended for use with Renesas products. No other uses are authorized.This */ +/* software is owned by Renesas Electronics Corporation and is protected */ +/* under all applicable laws, including copyright laws. */ +/* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES */ +/* REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING */ +/* BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR */ +/* PURPOSE AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY */ +/* DISCLAIMED. */ +/* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS */ +/* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE */ +/* LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL */ +/* DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS */ +/* AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. */ +/* Renesas reserves the right, without notice, to make changes to this */ +/* software and to discontinue the availability of this software. */ +/* By using this software, you agree to the additional terms and conditions */ +/* found by accessing the following link: */ +/* http://www.renesas.com/disclaimer */ +/* */ +/* Device : RL78/R5F10BLG */ +/* File Name : iodefine.h */ +/* Abstract : Definition of Special Function Register (SFR) */ +/* History : V1.11 [Device File version] */ +/* Options : -df=C:\Program Files (x86)\Renesas Electronics\CS+\CC\Device\ */ +/* RL78\Devicefile\DR5F10BLG.DVF -o=D:\DaMing\DMK-SX11-03\APP\DM */ +/* K-SX11-03-BLG-SW1101-20170905-1\DMK-SX11-03-BLG\iodefine.h -f */ +/* Date : 2017/9/7 */ +/* Version : V1.08.00.01 [df2iodef.exe version] */ +/* This is a typical example. */ +/* */ +/******************************************************************************/ +#ifndef __R5F10BLGIODEFINE_HEADER__ +#define __R5F10BLGIODEFINE_HEADER__ + +typedef struct +{ + unsigned char no0:1; + unsigned char no1:1; + unsigned char no2:1; + unsigned char no3:1; + unsigned char no4:1; + unsigned char no5:1; + unsigned char no6:1; + unsigned char no7:1; +} __bitf_T; + +typedef struct +{ + unsigned char no0:1; + unsigned char no1:1; + unsigned char no2:1; + unsigned char no3:1; + unsigned char no4:1; + unsigned char no5:1; + unsigned char no6:1; + unsigned char no7:1; + unsigned char no8:1; + unsigned char no9:1; + unsigned char no10:1; + unsigned char no11:1; + unsigned char no12:1; + unsigned char no13:1; + unsigned char no14:1; + unsigned char no15:1; +} __bitf_T2; + + + +#define ADM2 (*(volatile __near unsigned char *)0x10) +#define ADM2_bit (*(volatile __near __bitf_T *)0x10) +#define ADTYP (((volatile __near __bitf_T *)0x10)->no0) +#define AWC (((volatile __near __bitf_T *)0x10)->no2) +#define ADRCK (((volatile __near __bitf_T *)0x10)->no3) +#define ADUL (*(volatile __near unsigned char *)0x11) +#define ADLL (*(volatile __near unsigned char *)0x12) +#define ADTES (*(volatile __near unsigned char *)0x13) +#define PIOR0 (*(volatile __near unsigned char *)0x16) +#define PIOR1 (*(volatile __near unsigned char *)0x17) +#define PIOR4 (*(volatile __near unsigned char *)0x1A) +#define PIOR5 (*(volatile __near unsigned char *)0x1B) +#define PIOR7 (*(volatile __near unsigned char *)0x1D) +#define PITHL1 (*(volatile __near unsigned char *)0x21) +#define PITHL1_bit (*(volatile __near __bitf_T *)0x21) +#define PITHL3 (*(volatile __near unsigned char *)0x23) +#define PITHL3_bit (*(volatile __near __bitf_T *)0x23) +#define PITHL4 (*(volatile __near unsigned char *)0x24) +#define PITHL4_bit (*(volatile __near __bitf_T *)0x24) +#define PITHL5 (*(volatile __near unsigned char *)0x25) +#define PITHL5_bit (*(volatile __near __bitf_T *)0x25) +#define PITHL6 (*(volatile __near unsigned char *)0x26) +#define PITHL6_bit (*(volatile __near __bitf_T *)0x26) +#define PITHL7 (*(volatile __near unsigned char *)0x27) +#define PITHL7_bit (*(volatile __near __bitf_T *)0x27) +#define PITHL12 (*(volatile __near unsigned char *)0x2C) +#define PITHL12_bit (*(volatile __near __bitf_T *)0x2C) +#define PU0 (*(volatile __near unsigned char *)0x30) +#define PU0_bit (*(volatile __near __bitf_T *)0x30) +#define PU1 (*(volatile __near unsigned char *)0x31) +#define PU1_bit (*(volatile __near __bitf_T *)0x31) +#define PU3 (*(volatile __near unsigned char *)0x33) +#define PU3_bit (*(volatile __near __bitf_T *)0x33) +#define PU4 (*(volatile __near unsigned char *)0x34) +#define PU4_bit (*(volatile __near __bitf_T *)0x34) +#define PU5 (*(volatile __near unsigned char *)0x35) +#define PU5_bit (*(volatile __near __bitf_T *)0x35) +#define PU6 (*(volatile __near unsigned char *)0x36) +#define PU6_bit (*(volatile __near __bitf_T *)0x36) +#define PU7 (*(volatile __near unsigned char *)0x37) +#define PU7_bit (*(volatile __near __bitf_T *)0x37) +#define PU9 (*(volatile __near unsigned char *)0x39) +#define PU9_bit (*(volatile __near __bitf_T *)0x39) +#define PU12 (*(volatile __near unsigned char *)0x3C) +#define PU12_bit (*(volatile __near __bitf_T *)0x3C) +#define PU14 (*(volatile __near unsigned char *)0x3E) +#define PU14_bit (*(volatile __near __bitf_T *)0x3E) +#define PIM1 (*(volatile __near unsigned char *)0x41) +#define PIM1_bit (*(volatile __near __bitf_T *)0x41) +#define PIM3 (*(volatile __near unsigned char *)0x43) +#define PIM3_bit (*(volatile __near __bitf_T *)0x43) +#define PIM6 (*(volatile __near unsigned char *)0x46) +#define PIM6_bit (*(volatile __near __bitf_T *)0x46) +#define PIM7 (*(volatile __near unsigned char *)0x47) +#define PIM7_bit (*(volatile __near __bitf_T *)0x47) +#define PIM12 (*(volatile __near unsigned char *)0x4C) +#define PIM12_bit (*(volatile __near __bitf_T *)0x4C) +#define POM1 (*(volatile __near unsigned char *)0x51) +#define POM1_bit (*(volatile __near __bitf_T *)0x51) +#define POM6 (*(volatile __near unsigned char *)0x56) +#define POM6_bit (*(volatile __near __bitf_T *)0x56) +#define POM7 (*(volatile __near unsigned char *)0x57) +#define POM7_bit (*(volatile __near __bitf_T *)0x57) +#define POM12 (*(volatile __near unsigned char *)0x5C) +#define POM12_bit (*(volatile __near __bitf_T *)0x5C) +#define PMC9 (*(volatile __near unsigned char *)0x69) +#define PMC9_bit (*(volatile __near __bitf_T *)0x69) +#define PMC12 (*(volatile __near unsigned char *)0x6C) +#define PMC12_bit (*(volatile __near __bitf_T *)0x6C) +#define NFEN0 (*(volatile __near unsigned char *)0x70) +#define NFEN0_bit (*(volatile __near __bitf_T *)0x70) +#define NFEN1 (*(volatile __near unsigned char *)0x71) +#define NFEN1_bit (*(volatile __near __bitf_T *)0x71) +#define NFEN2 (*(volatile __near unsigned char *)0x72) +#define NFEN2_bit (*(volatile __near __bitf_T *)0x72) +#define ISC (*(volatile __near unsigned char *)0x73) +#define ISC_bit (*(volatile __near __bitf_T *)0x73) +#define TIS0 (*(volatile __near unsigned char *)0x74) +#define TIS1 (*(volatile __near unsigned char *)0x75) +#define ADPC (*(volatile __near unsigned char *)0x76) +#define PMS (*(volatile __near unsigned char *)0x77) +#define PMS_bit (*(volatile __near __bitf_T *)0x77) +#define IAWCTL (*(volatile __near unsigned char *)0x78) +#define INTFLG0 (*(volatile __near unsigned char *)0x79) +#define LCHSEL (*(volatile __near unsigned char *)0x7B) +#define INTMSK (*(volatile __near unsigned char *)0x7C) +#define DFLCTL (*(volatile __near unsigned char *)0x90) +#define DFLCTL_bit (*(volatile __near __bitf_T *)0x90) +#define DFLEN (((volatile __near __bitf_T *)0x90)->no0) +#define HIOTRM (*(volatile __near unsigned char *)0xA0) +#define HOCODIV (*(volatile __near unsigned char *)0xA8) +#define SPMCTRL (*(volatile __near unsigned char *)0xD8) +#define SPOFR (*(volatile __near unsigned short *)0xDA) +#define SPUFR (*(volatile __near unsigned short *)0xDC) +#define PER0 (*(volatile __near unsigned char *)0xF0) +#define PER0_bit (*(volatile __near __bitf_T *)0xF0) +#define TAU0EN (((volatile __near __bitf_T *)0xF0)->no0) +#define TAU1EN (((volatile __near __bitf_T *)0xF0)->no1) +#define SAU0EN (((volatile __near __bitf_T *)0xF0)->no2) +#define SAU1EN (((volatile __near __bitf_T *)0xF0)->no3) +#define IICA0EN (((volatile __near __bitf_T *)0xF0)->no4) +#define ADCEN (((volatile __near __bitf_T *)0xF0)->no5) +#define RTCEN (((volatile __near __bitf_T *)0xF0)->no7) +#define OSMC (*(volatile __near unsigned char *)0xF3) +#define BCDADJ (*(volatile __near unsigned char *)0xFE) +#define SSR00 (*(volatile __near unsigned short *)0x100) +#define SSR00L (*(volatile __near unsigned char *)0x100) +#define SSR01 (*(volatile __near unsigned short *)0x102) +#define SSR01L (*(volatile __near unsigned char *)0x102) +#define SIR00 (*(volatile __near unsigned short *)0x104) +#define SIR00L (*(volatile __near unsigned char *)0x104) +#define SIR01 (*(volatile __near unsigned short *)0x106) +#define SIR01L (*(volatile __near unsigned char *)0x106) +#define SMR00 (*(volatile __near unsigned short *)0x108) +#define SMR01 (*(volatile __near unsigned short *)0x10A) +#define SCR00 (*(volatile __near unsigned short *)0x10C) +#define SCR01 (*(volatile __near unsigned short *)0x10E) +#define SE0 (*(volatile __near unsigned short *)0x110) +#define SE0L (*(volatile __near unsigned char *)0x110) +#define SE0L_bit (*(volatile __near __bitf_T *)0x110) +#define SS0 (*(volatile __near unsigned short *)0x112) +#define SS0L (*(volatile __near unsigned char *)0x112) +#define SS0L_bit (*(volatile __near __bitf_T *)0x112) +#define ST0 (*(volatile __near unsigned short *)0x114) +#define ST0L (*(volatile __near unsigned char *)0x114) +#define ST0L_bit (*(volatile __near __bitf_T *)0x114) +#define SPS0 (*(volatile __near unsigned short *)0x116) +#define SPS0L (*(volatile __near unsigned char *)0x116) +#define SO0 (*(volatile __near unsigned short *)0x118) +#define SOE0 (*(volatile __near unsigned short *)0x11A) +#define SOE0L (*(volatile __near unsigned char *)0x11A) +#define SOE0L_bit (*(volatile __near __bitf_T *)0x11A) +#define SOL0 (*(volatile __near unsigned short *)0x120) +#define SOL0L (*(volatile __near unsigned char *)0x120) +#define SSE0 (*(volatile __near unsigned short *)0x122) +#define SSE0L (*(volatile __near unsigned char *)0x122) +#define SSR10 (*(volatile __near unsigned short *)0x140) +#define SSR10L (*(volatile __near unsigned char *)0x140) +#define SSR11 (*(volatile __near unsigned short *)0x142) +#define SSR11L (*(volatile __near unsigned char *)0x142) +#define SIR10 (*(volatile __near unsigned short *)0x144) +#define SIR10L (*(volatile __near unsigned char *)0x144) +#define SIR11 (*(volatile __near unsigned short *)0x146) +#define SIR11L (*(volatile __near unsigned char *)0x146) +#define SMR10 (*(volatile __near unsigned short *)0x148) +#define SMR11 (*(volatile __near unsigned short *)0x14A) +#define SCR10 (*(volatile __near unsigned short *)0x14C) +#define SCR11 (*(volatile __near unsigned short *)0x14E) +#define SE1 (*(volatile __near unsigned short *)0x150) +#define SE1L (*(volatile __near unsigned char *)0x150) +#define SE1L_bit (*(volatile __near __bitf_T *)0x150) +#define SS1 (*(volatile __near unsigned short *)0x152) +#define SS1L (*(volatile __near unsigned char *)0x152) +#define SS1L_bit (*(volatile __near __bitf_T *)0x152) +#define ST1 (*(volatile __near unsigned short *)0x154) +#define ST1L (*(volatile __near unsigned char *)0x154) +#define ST1L_bit (*(volatile __near __bitf_T *)0x154) +#define SPS1 (*(volatile __near unsigned short *)0x156) +#define SPS1L (*(volatile __near unsigned char *)0x156) +#define SO1 (*(volatile __near unsigned short *)0x158) +#define SOE1 (*(volatile __near unsigned short *)0x15A) +#define SOE1L (*(volatile __near unsigned char *)0x15A) +#define SOE1L_bit (*(volatile __near __bitf_T *)0x15A) +#define SOL1 (*(volatile __near unsigned short *)0x160) +#define SOL1L (*(volatile __near unsigned char *)0x160) +#define SSE1 (*(volatile __near unsigned short *)0x162) +#define SSE1L (*(volatile __near unsigned char *)0x162) +#define TCR00 (*(volatile __near unsigned short *)0x180) +#define TCR01 (*(volatile __near unsigned short *)0x182) +#define TCR02 (*(volatile __near unsigned short *)0x184) +#define TCR03 (*(volatile __near unsigned short *)0x186) +#define TCR04 (*(volatile __near unsigned short *)0x188) +#define TCR05 (*(volatile __near unsigned short *)0x18A) +#define TCR06 (*(volatile __near unsigned short *)0x18C) +#define TCR07 (*(volatile __near unsigned short *)0x18E) +#define TMR00 (*(volatile __near unsigned short *)0x190) +#define TMR01 (*(volatile __near unsigned short *)0x192) +#define TMR02 (*(volatile __near unsigned short *)0x194) +#define TMR03 (*(volatile __near unsigned short *)0x196) +#define TMR04 (*(volatile __near unsigned short *)0x198) +#define TMR05 (*(volatile __near unsigned short *)0x19A) +#define TMR06 (*(volatile __near unsigned short *)0x19C) +#define TMR07 (*(volatile __near unsigned short *)0x19E) +#define TSR00 (*(volatile __near unsigned short *)0x1A0) +#define TSR00L (*(volatile __near unsigned char *)0x1A0) +#define TSR01 (*(volatile __near unsigned short *)0x1A2) +#define TSR01L (*(volatile __near unsigned char *)0x1A2) +#define TSR02 (*(volatile __near unsigned short *)0x1A4) +#define TSR02L (*(volatile __near unsigned char *)0x1A4) +#define TSR03 (*(volatile __near unsigned short *)0x1A6) +#define TSR03L (*(volatile __near unsigned char *)0x1A6) +#define TSR04 (*(volatile __near unsigned short *)0x1A8) +#define TSR04L (*(volatile __near unsigned char *)0x1A8) +#define TSR05 (*(volatile __near unsigned short *)0x1AA) +#define TSR05L (*(volatile __near unsigned char *)0x1AA) +#define TSR06 (*(volatile __near unsigned short *)0x1AC) +#define TSR06L (*(volatile __near unsigned char *)0x1AC) +#define TSR07 (*(volatile __near unsigned short *)0x1AE) +#define TSR07L (*(volatile __near unsigned char *)0x1AE) +#define TE0 (*(volatile __near unsigned short *)0x1B0) +#define TE0L (*(volatile __near unsigned char *)0x1B0) +#define TE0L_bit (*(volatile __near __bitf_T *)0x1B0) +#define TS0 (*(volatile __near unsigned short *)0x1B2) +#define TS0L (*(volatile __near unsigned char *)0x1B2) +#define TS0L_bit (*(volatile __near __bitf_T *)0x1B2) +#define TT0 (*(volatile __near unsigned short *)0x1B4) +#define TT0L (*(volatile __near unsigned char *)0x1B4) +#define TT0L_bit (*(volatile __near __bitf_T *)0x1B4) +#define TPS0 (*(volatile __near unsigned short *)0x1B6) +#define TO0 (*(volatile __near unsigned short *)0x1B8) +#define TO0L (*(volatile __near unsigned char *)0x1B8) +#define TOE0 (*(volatile __near unsigned short *)0x1BA) +#define TOE0L (*(volatile __near unsigned char *)0x1BA) +#define TOE0L_bit (*(volatile __near __bitf_T *)0x1BA) +#define TOL0 (*(volatile __near unsigned short *)0x1BC) +#define TOL0L (*(volatile __near unsigned char *)0x1BC) +#define TOM0 (*(volatile __near unsigned short *)0x1BE) +#define TOM0L (*(volatile __near unsigned char *)0x1BE) +#define TCR10 (*(volatile __near unsigned short *)0x1C0) +#define TCR11 (*(volatile __near unsigned short *)0x1C2) +#define TCR12 (*(volatile __near unsigned short *)0x1C4) +#define TCR13 (*(volatile __near unsigned short *)0x1C6) +#define TMR10 (*(volatile __near unsigned short *)0x1D0) +#define TMR11 (*(volatile __near unsigned short *)0x1D2) +#define TMR12 (*(volatile __near unsigned short *)0x1D4) +#define TMR13 (*(volatile __near unsigned short *)0x1D6) +#define TSR10 (*(volatile __near unsigned short *)0x1E0) +#define TSR10L (*(volatile __near unsigned char *)0x1E0) +#define TSR11 (*(volatile __near unsigned short *)0x1E2) +#define TSR11L (*(volatile __near unsigned char *)0x1E2) +#define TSR12 (*(volatile __near unsigned short *)0x1E4) +#define TSR12L (*(volatile __near unsigned char *)0x1E4) +#define TSR13 (*(volatile __near unsigned short *)0x1E6) +#define TSR13L (*(volatile __near unsigned char *)0x1E6) +#define TE1 (*(volatile __near unsigned short *)0x1F0) +#define TE1L (*(volatile __near unsigned char *)0x1F0) +#define TE1L_bit (*(volatile __near __bitf_T *)0x1F0) +#define TS1 (*(volatile __near unsigned short *)0x1F2) +#define TS1L (*(volatile __near unsigned char *)0x1F2) +#define TS1L_bit (*(volatile __near __bitf_T *)0x1F2) +#define TT1 (*(volatile __near unsigned short *)0x1F4) +#define TT1L (*(volatile __near unsigned char *)0x1F4) +#define TT1L_bit (*(volatile __near __bitf_T *)0x1F4) +#define TPS1 (*(volatile __near unsigned short *)0x1F6) +#define TO1 (*(volatile __near unsigned short *)0x1F8) +#define TO1L (*(volatile __near unsigned char *)0x1F8) +#define TOE1 (*(volatile __near unsigned short *)0x1FA) +#define TOE1L (*(volatile __near unsigned char *)0x1FA) +#define TOE1L_bit (*(volatile __near __bitf_T *)0x1FA) +#define TOL1 (*(volatile __near unsigned short *)0x1FC) +#define TOL1L (*(volatile __near unsigned char *)0x1FC) +#define TOM1 (*(volatile __near unsigned short *)0x1FE) +#define TOM1L (*(volatile __near unsigned char *)0x1FE) +#define ERADR (*(volatile __near unsigned short *)0x200) +#define ECCIER (*(volatile __near unsigned char *)0x202) +#define ECCER (*(volatile __near unsigned char *)0x203) +#define ECCTPR (*(volatile __near unsigned char *)0x204) +#define ECCTMDR (*(volatile __near unsigned char *)0x205) +#define ECCDWRVR (*(volatile __near unsigned short *)0x206) +#define PSRSEL (*(volatile __near unsigned char *)0x220) +#define PSRSEL_bit (*(volatile __near __bitf_T *)0x220) +#define PSNZCNT0 (*(volatile __near unsigned char *)0x222) +#define PSNZCNT0_bit (*(volatile __near __bitf_T *)0x222) +#define PSNZCNT1 (*(volatile __near unsigned char *)0x223) +#define PSNZCNT1_bit (*(volatile __near __bitf_T *)0x223) +#define PSNZCNT2 (*(volatile __near unsigned char *)0x224) +#define PSNZCNT2_bit (*(volatile __near __bitf_T *)0x224) +#define PSNZCNT3 (*(volatile __near unsigned char *)0x225) +#define PSNZCNT3_bit (*(volatile __near __bitf_T *)0x225) +#define PWMDLY0 (*(volatile __near unsigned short *)0x228) +#define PWMDLY1 (*(volatile __near unsigned short *)0x22A) +#define PWMDLY2 (*(volatile __near unsigned short *)0x22C) +#define IICCTL00 (*(volatile __near unsigned char *)0x230) +#define IICCTL00_bit (*(volatile __near __bitf_T *)0x230) +#define SPT0 (((volatile __near __bitf_T *)0x230)->no0) +#define STT0 (((volatile __near __bitf_T *)0x230)->no1) +#define ACKE0 (((volatile __near __bitf_T *)0x230)->no2) +#define WTIM0 (((volatile __near __bitf_T *)0x230)->no3) +#define SPIE0 (((volatile __near __bitf_T *)0x230)->no4) +#define WREL0 (((volatile __near __bitf_T *)0x230)->no5) +#define LREL0 (((volatile __near __bitf_T *)0x230)->no6) +#define IICE0 (((volatile __near __bitf_T *)0x230)->no7) +#define IICCTL01 (*(volatile __near unsigned char *)0x231) +#define IICCTL01_bit (*(volatile __near __bitf_T *)0x231) +#define PRS0 (((volatile __near __bitf_T *)0x231)->no0) +#define DFC0 (((volatile __near __bitf_T *)0x231)->no2) +#define SMC0 (((volatile __near __bitf_T *)0x231)->no3) +#define DAD0 (((volatile __near __bitf_T *)0x231)->no4) +#define CLD0 (((volatile __near __bitf_T *)0x231)->no5) +#define WUP0 (((volatile __near __bitf_T *)0x231)->no7) +#define IICWL0 (*(volatile __near unsigned char *)0x232) +#define IICWH0 (*(volatile __near unsigned char *)0x233) +#define SVA0 (*(volatile __near unsigned char *)0x234) +#define TRJCR0 (*(volatile __near unsigned char *)0x240) +#define TRJIOC0 (*(volatile __near unsigned char *)0x241) +#define TRJIOC0_bit (*(volatile __near __bitf_T *)0x241) +#define TRJMR0 (*(volatile __near unsigned char *)0x242) +#define TRJMR0_bit (*(volatile __near __bitf_T *)0x242) +#define TRJISR0 (*(volatile __near unsigned char *)0x243) +#define TRJISR0_bit (*(volatile __near __bitf_T *)0x243) +#define TRDSTR (*(volatile __near unsigned char *)0x263) +#define TRDMR (*(volatile __near unsigned char *)0x264) +#define TRDMR_bit (*(volatile __near __bitf_T *)0x264) +#define TRDSYNC (((volatile __near __bitf_T *)0x264)->no0) +#define TRDBFC0 (((volatile __near __bitf_T *)0x264)->no4) +#define TRDBFD0 (((volatile __near __bitf_T *)0x264)->no5) +#define TRDBFC1 (((volatile __near __bitf_T *)0x264)->no6) +#define TRDBFD1 (((volatile __near __bitf_T *)0x264)->no7) +#define TRDPMR (*(volatile __near unsigned char *)0x265) +#define TRDPMR_bit (*(volatile __near __bitf_T *)0x265) +#define TRDPWMB0 (((volatile __near __bitf_T *)0x265)->no0) +#define TRDPWMC0 (((volatile __near __bitf_T *)0x265)->no1) +#define TRDPWMD0 (((volatile __near __bitf_T *)0x265)->no2) +#define TRDPWMB1 (((volatile __near __bitf_T *)0x265)->no4) +#define TRDPWMC1 (((volatile __near __bitf_T *)0x265)->no5) +#define TRDPWMD1 (((volatile __near __bitf_T *)0x265)->no6) +#define TRDFCR (*(volatile __near unsigned char *)0x266) +#define TRDFCR_bit (*(volatile __near __bitf_T *)0x266) +#define TRDOER1 (*(volatile __near unsigned char *)0x267) +#define TRDOER1_bit (*(volatile __near __bitf_T *)0x267) +#define TRDOER2 (*(volatile __near unsigned char *)0x268) +#define TRDOER2_bit (*(volatile __near __bitf_T *)0x268) +#define TRDSHUTS (((volatile __near __bitf_T *)0x268)->no0) +#define TRDPTO (((volatile __near __bitf_T *)0x268)->no7) +#define TRDOCR (*(volatile __near unsigned char *)0x269) +#define TRDOCR_bit (*(volatile __near __bitf_T *)0x269) +#define TRDDF0 (*(volatile __near unsigned char *)0x26A) +#define TRDDF0_bit (*(volatile __near __bitf_T *)0x26A) +#define TRDDF1 (*(volatile __near unsigned char *)0x26B) +#define TRDDF1_bit (*(volatile __near __bitf_T *)0x26B) +#define TRDCR0 (*(volatile __near unsigned char *)0x270) +#define TRDCR0_bit (*(volatile __near __bitf_T *)0x270) +#define TRDIORA0 (*(volatile __near unsigned char *)0x271) +#define TRDIORA0_bit (*(volatile __near __bitf_T *)0x271) +#define TRDIORC0 (*(volatile __near unsigned char *)0x272) +#define TRDIORC0_bit (*(volatile __near __bitf_T *)0x272) +#define TRDSR0 (*(volatile __near unsigned char *)0x273) +#define TRDSR0_bit (*(volatile __near __bitf_T *)0x273) +#define TRDIER0 (*(volatile __near unsigned char *)0x274) +#define TRDIER0_bit (*(volatile __near __bitf_T *)0x274) +#define TRDPOCR0 (*(volatile __near unsigned char *)0x275) +#define TRDPOCR0_bit (*(volatile __near __bitf_T *)0x275) +#define TRD0 (*(volatile __near unsigned short *)0x276) +#define TRDGRA0 (*(volatile __near unsigned short *)0x278) +#define TRDGRB0 (*(volatile __near unsigned short *)0x27A) +#define TRDCR1 (*(volatile __near unsigned char *)0x280) +#define TRDCR1_bit (*(volatile __near __bitf_T *)0x280) +#define TRDIORA1 (*(volatile __near unsigned char *)0x281) +#define TRDIORA1_bit (*(volatile __near __bitf_T *)0x281) +#define TRDIORC1 (*(volatile __near unsigned char *)0x282) +#define TRDIORC1_bit (*(volatile __near __bitf_T *)0x282) +#define TRDSR1 (*(volatile __near unsigned char *)0x283) +#define TRDSR1_bit (*(volatile __near __bitf_T *)0x283) +#define TRDIER1 (*(volatile __near unsigned char *)0x284) +#define TRDIER1_bit (*(volatile __near __bitf_T *)0x284) +#define TRDPOCR1 (*(volatile __near unsigned char *)0x285) +#define TRDPOCR1_bit (*(volatile __near __bitf_T *)0x285) +#define TRD1 (*(volatile __near unsigned short *)0x286) +#define TRDGRA1 (*(volatile __near unsigned short *)0x288) +#define TRDGRB1 (*(volatile __near unsigned short *)0x28A) +#define PER1 (*(volatile __near unsigned char *)0x2C0) +#define PER1_bit (*(volatile __near __bitf_T *)0x2C0) +#define TRJ0EN (((volatile __near __bitf_T *)0x2C0)->no0) +#define DTCEN (((volatile __near __bitf_T *)0x2C0)->no3) +#define TRD0EN (((volatile __near __bitf_T *)0x2C0)->no4) +#define PER2 (*(volatile __near unsigned char *)0x2C1) +#define PER2_bit (*(volatile __near __bitf_T *)0x2C1) +#define CAN0EN (((volatile __near __bitf_T *)0x2C1)->no0) +#define LIN0EN (((volatile __near __bitf_T *)0x2C1)->no2) +#define CANCKSEL (*(volatile __near unsigned char *)0x2C2) +#define CANCKSEL_bit (*(volatile __near __bitf_T *)0x2C2) +#define CAN0MCKE (((volatile __near __bitf_T *)0x2C2)->no0) +#define LINCKSEL (*(volatile __near unsigned char *)0x2C3) +#define LINCKSEL_bit (*(volatile __near __bitf_T *)0x2C3) +#define LIN0MCK (((volatile __near __bitf_T *)0x2C3)->no0) +#define LIN0MCKE (((volatile __near __bitf_T *)0x2C3)->no4) +#define CKSEL (*(volatile __near unsigned char *)0x2C4) +#define CKSEL_bit (*(volatile __near __bitf_T *)0x2C4) +#define SELLOSC (((volatile __near __bitf_T *)0x2C4)->no0) +#define TRD_CKSEL (((volatile __near __bitf_T *)0x2C4)->no2) +#define PLLCTL (*(volatile __near unsigned char *)0x2C5) +#define PLLCTL_bit (*(volatile __near __bitf_T *)0x2C5) +#define PLLON (((volatile __near __bitf_T *)0x2C5)->no0) +#define PLLMUL (((volatile __near __bitf_T *)0x2C5)->no1) +#define SELPLL (((volatile __near __bitf_T *)0x2C5)->no2) +#define PLLDIV0 (((volatile __near __bitf_T *)0x2C5)->no4) +#define PLLDIV1 (((volatile __near __bitf_T *)0x2C5)->no5) +#define LCKSEL0 (((volatile __near __bitf_T *)0x2C5)->no6) +#define LCKSEL1 (((volatile __near __bitf_T *)0x2C5)->no7) +#define PLLSTS (*(volatile __near unsigned char *)0x2C6) +#define PLLSTS_bit (*(volatile __near __bitf_T *)0x2C6) +#define SELPLLS (((volatile __near __bitf_T *)0x2C6)->no3) +#define LOCK (((volatile __near __bitf_T *)0x2C6)->no7) +#define MDIV (*(volatile __near unsigned char *)0x2C7) +#define RTCCL (*(volatile __near unsigned char *)0x2C8) +#define RTCCL_bit (*(volatile __near __bitf_T *)0x2C8) +#define POCRES (*(volatile __near unsigned char *)0x2C9) +#define POCRES_bit (*(volatile __near __bitf_T *)0x2C9) +#define POCRES0 (((volatile __near __bitf_T *)0x2C9)->no0) +#define CLKRF (((volatile __near __bitf_T *)0x2C9)->no4) +#define STPSTC (*(volatile __near unsigned char *)0x2CA) +#define STPSTC_bit (*(volatile __near __bitf_T *)0x2CA) +#define STPSEL (((volatile __near __bitf_T *)0x2CA)->no0) +#define STPLV (((volatile __near __bitf_T *)0x2CA)->no4) +#define STPOEN (((volatile __near __bitf_T *)0x2CA)->no7) +#define HDTCCR0 (*(volatile __near unsigned char *)0x2D0) +#define HDTCCR0_bit (*(volatile __near __bitf_T *)0x2D0) +#define HMODE0 (((volatile __near __bitf_T *)0x2D0)->no0) +#define HRPTSEL0 (((volatile __near __bitf_T *)0x2D0)->no1) +#define HSAMOD0 (((volatile __near __bitf_T *)0x2D0)->no2) +#define HDAMOD0 (((volatile __near __bitf_T *)0x2D0)->no3) +#define HCHNE0 (((volatile __near __bitf_T *)0x2D0)->no4) +#define HRPTINT0 (((volatile __near __bitf_T *)0x2D0)->no5) +#define HSZ0 (((volatile __near __bitf_T *)0x2D0)->no6) +#define HDTCCT0 (*(volatile __near unsigned char *)0x2D2) +#define HDTCCT0_bit (*(volatile __near __bitf_T *)0x2D2) +#define HDTRLD0 (*(volatile __near unsigned char *)0x2D3) +#define HDTRLD0_bit (*(volatile __near __bitf_T *)0x2D3) +#define HDTSAR0 (*(volatile __near unsigned short *)0x2D4) +#define HDTDAR0 (*(volatile __near unsigned short *)0x2D6) +#define HDTCCR1 (*(volatile __near unsigned char *)0x2D8) +#define HDTCCR1_bit (*(volatile __near __bitf_T *)0x2D8) +#define HMODE1 (((volatile __near __bitf_T *)0x2D8)->no0) +#define HRPTSEL1 (((volatile __near __bitf_T *)0x2D8)->no1) +#define HSAMOD1 (((volatile __near __bitf_T *)0x2D8)->no2) +#define HDAMOD1 (((volatile __near __bitf_T *)0x2D8)->no3) +#define HCHNE1 (((volatile __near __bitf_T *)0x2D8)->no4) +#define HRPTINT1 (((volatile __near __bitf_T *)0x2D8)->no5) +#define HSZ1 (((volatile __near __bitf_T *)0x2D8)->no6) +#define HDTCCT1 (*(volatile __near unsigned char *)0x2DA) +#define HDTCCT1_bit (*(volatile __near __bitf_T *)0x2DA) +#define HDTRLD1 (*(volatile __near unsigned char *)0x2DB) +#define HDTRLD1_bit (*(volatile __near __bitf_T *)0x2DB) +#define HDTSAR1 (*(volatile __near unsigned short *)0x2DC) +#define HDTDAR1 (*(volatile __near unsigned short *)0x2DE) +#define DTCBAR (*(volatile __near unsigned char *)0x2E0) +#define SELHS0 (*(volatile __near unsigned char *)0x2E1) +#define SELHS0_bit (*(volatile __near __bitf_T *)0x2E1) +#define SELHS1 (*(volatile __near unsigned char *)0x2E2) +#define SELHS1_bit (*(volatile __near __bitf_T *)0x2E2) +#define DTCEN0 (*(volatile __near unsigned char *)0x2E8) +#define DTCEN0_bit (*(volatile __near __bitf_T *)0x2E8) +#define DTCEN00 (((volatile __near __bitf_T *)0x2E8)->no0) +#define DTCEN01 (((volatile __near __bitf_T *)0x2E8)->no1) +#define DTCEN02 (((volatile __near __bitf_T *)0x2E8)->no2) +#define DTCEN03 (((volatile __near __bitf_T *)0x2E8)->no3) +#define DTCEN04 (((volatile __near __bitf_T *)0x2E8)->no4) +#define DTCEN05 (((volatile __near __bitf_T *)0x2E8)->no5) +#define DTCEN06 (((volatile __near __bitf_T *)0x2E8)->no6) +#define DTCEN1 (*(volatile __near unsigned char *)0x2E9) +#define DTCEN1_bit (*(volatile __near __bitf_T *)0x2E9) +#define DTCEN10 (((volatile __near __bitf_T *)0x2E9)->no0) +#define DTCEN11 (((volatile __near __bitf_T *)0x2E9)->no1) +#define DTCEN12 (((volatile __near __bitf_T *)0x2E9)->no2) +#define DTCEN13 (((volatile __near __bitf_T *)0x2E9)->no3) +#define DTCEN14 (((volatile __near __bitf_T *)0x2E9)->no4) +#define DTCEN15 (((volatile __near __bitf_T *)0x2E9)->no5) +#define DTCEN16 (((volatile __near __bitf_T *)0x2E9)->no6) +#define DTCEN17 (((volatile __near __bitf_T *)0x2E9)->no7) +#define DTCEN2 (*(volatile __near unsigned char *)0x2EA) +#define DTCEN2_bit (*(volatile __near __bitf_T *)0x2EA) +#define DTCEN20 (((volatile __near __bitf_T *)0x2EA)->no0) +#define DTCEN21 (((volatile __near __bitf_T *)0x2EA)->no1) +#define DTCEN22 (((volatile __near __bitf_T *)0x2EA)->no2) +#define DTCEN23 (((volatile __near __bitf_T *)0x2EA)->no3) +#define DTCEN24 (((volatile __near __bitf_T *)0x2EA)->no4) +#define DTCEN25 (((volatile __near __bitf_T *)0x2EA)->no5) +#define DTCEN27 (((volatile __near __bitf_T *)0x2EA)->no7) +#define DTCEN3 (*(volatile __near unsigned char *)0x2EB) +#define DTCEN3_bit (*(volatile __near __bitf_T *)0x2EB) +#define DTCEN30 (((volatile __near __bitf_T *)0x2EB)->no0) +#define DTCEN31 (((volatile __near __bitf_T *)0x2EB)->no1) +#define DTCEN32 (((volatile __near __bitf_T *)0x2EB)->no2) +#define DTCEN33 (((volatile __near __bitf_T *)0x2EB)->no3) +#define DTCEN34 (((volatile __near __bitf_T *)0x2EB)->no4) +#define DTCEN35 (((volatile __near __bitf_T *)0x2EB)->no5) +#define DTCEN36 (((volatile __near __bitf_T *)0x2EB)->no6) +#define DTCEN37 (((volatile __near __bitf_T *)0x2EB)->no7) +#define DTCEN4 (*(volatile __near unsigned char *)0x2EC) +#define DTCEN4_bit (*(volatile __near __bitf_T *)0x2EC) +#define DTCEN40 (((volatile __near __bitf_T *)0x2EC)->no0) +#define DTCEN41 (((volatile __near __bitf_T *)0x2EC)->no1) +#define DTCEN42 (((volatile __near __bitf_T *)0x2EC)->no2) +#define DTCEN43 (((volatile __near __bitf_T *)0x2EC)->no3) +#define DTCEN45 (((volatile __near __bitf_T *)0x2EC)->no5) +#define DTCEN46 (((volatile __near __bitf_T *)0x2EC)->no6) +#define DTCEN47 (((volatile __near __bitf_T *)0x2EC)->no7) +#define CRC0CTL (*(volatile __near unsigned char *)0x2F0) +#define CRC0CTL_bit (*(volatile __near __bitf_T *)0x2F0) +#define CRC0EN (((volatile __near __bitf_T *)0x2F0)->no7) +#define PGCRCL (*(volatile __near unsigned short *)0x2F2) +#define CRCMD (*(volatile __near unsigned char *)0x2F9) +#define CRCD (*(volatile __near unsigned short *)0x2FA) +#define C0CFGL (*(volatile __near unsigned short *)0x300) +#define C0CFGLL (*(volatile __near unsigned char *)0x300) +#define C0CFGLH (*(volatile __near unsigned char *)0x301) +#define C0CFGH (*(volatile __near unsigned short *)0x302) +#define C0CFGHL (*(volatile __near unsigned char *)0x302) +#define C0CFGHH (*(volatile __near unsigned char *)0x303) +#define C0CTRL (*(volatile __near unsigned short *)0x304) +#define C0CTRLL (*(volatile __near unsigned char *)0x304) +#define C0CTRLH (*(volatile __near unsigned char *)0x305) +#define C0CTRH (*(volatile __near unsigned short *)0x306) +#define C0CTRHL (*(volatile __near unsigned char *)0x306) +#define C0CTRHH (*(volatile __near unsigned char *)0x307) +#define C0STSL (*(volatile __near unsigned short *)0x308) +#define C0STSLL (*(volatile __near unsigned char *)0x308) +#define C0STSLH (*(volatile __near unsigned char *)0x309) +#define C0STSH (*(volatile __near unsigned short *)0x30A) +#define C0STSHL (*(volatile __near unsigned char *)0x30A) +#define C0STSHH (*(volatile __near unsigned char *)0x30B) +#define C0ERFLL (*(volatile __near unsigned short *)0x30C) +#define C0ERFLLL (*(volatile __near unsigned char *)0x30C) +#define C0ERFLLH (*(volatile __near unsigned char *)0x30D) +#define C0ERFLH (*(volatile __near unsigned short *)0x30E) +#define C0ERFLHL (*(volatile __near unsigned char *)0x30E) +#define C0ERFLHH (*(volatile __near unsigned char *)0x30F) +#define GCFGL (*(volatile __near unsigned short *)0x322) +#define GCFGLL (*(volatile __near unsigned char *)0x322) +#define GCFGLH (*(volatile __near unsigned char *)0x323) +#define GCFGH (*(volatile __near unsigned short *)0x324) +#define GCFGHL (*(volatile __near unsigned char *)0x324) +#define GCFGHH (*(volatile __near unsigned char *)0x325) +#define GCTRL (*(volatile __near unsigned short *)0x326) +#define GCTRLL (*(volatile __near unsigned char *)0x326) +#define GCTRLH (*(volatile __near unsigned char *)0x327) +#define GCTRH (*(volatile __near unsigned short *)0x328) +#define GCTRHL (*(volatile __near unsigned char *)0x328) +#define GCTRHH (*(volatile __near unsigned char *)0x329) +#define GSTS (*(volatile __near unsigned short *)0x32A) +#define GSTSL (*(volatile __near unsigned char *)0x32A) +#define GSTSH (*(volatile __near unsigned char *)0x32B) +#define GERFLL (*(volatile __near unsigned char *)0x32C) +#define GTSC (*(volatile __near unsigned short *)0x32E) +#define GAFLCFG (*(volatile __near unsigned short *)0x330) +#define GAFLCFGL (*(volatile __near unsigned char *)0x330) +#define GAFLCFGH (*(volatile __near unsigned char *)0x331) +#define RMNB (*(volatile __near unsigned short *)0x332) +#define RMNBL (*(volatile __near unsigned char *)0x332) +#define RMND0 (*(volatile __near unsigned short *)0x334) +#define RMND0L (*(volatile __near unsigned char *)0x334) +#define RMND0H (*(volatile __near unsigned char *)0x335) +#define RFCC0 (*(volatile __near unsigned short *)0x338) +#define RFCC0L (*(volatile __near unsigned char *)0x338) +#define RFCC0H (*(volatile __near unsigned char *)0x339) +#define RFCC1 (*(volatile __near unsigned short *)0x33A) +#define RFCC1L (*(volatile __near unsigned char *)0x33A) +#define RFCC1H (*(volatile __near unsigned char *)0x33B) +#define RFSTS0 (*(volatile __near unsigned short *)0x340) +#define RFSTS0L (*(volatile __near unsigned char *)0x340) +#define RFSTS0H (*(volatile __near unsigned char *)0x341) +#define RFSTS1 (*(volatile __near unsigned short *)0x342) +#define RFSTS1L (*(volatile __near unsigned char *)0x342) +#define RFSTS1H (*(volatile __near unsigned char *)0x343) +#define RFPCTR0 (*(volatile __near unsigned short *)0x348) +#define RFPCTR0L (*(volatile __near unsigned char *)0x348) +#define RFPCTR0H (*(volatile __near unsigned char *)0x349) +#define RFPCTR1 (*(volatile __near unsigned short *)0x34A) +#define RFPCTR1L (*(volatile __near unsigned char *)0x34A) +#define RFPCTR1H (*(volatile __near unsigned char *)0x34B) +#define CFCCL0 (*(volatile __near unsigned short *)0x350) +#define CFCCL0L (*(volatile __near unsigned char *)0x350) +#define CFCCL0H (*(volatile __near unsigned char *)0x351) +#define CFCCH0 (*(volatile __near unsigned short *)0x352) +#define CFCCH0L (*(volatile __near unsigned char *)0x352) +#define CFCCH0H (*(volatile __near unsigned char *)0x353) +#define CFSTS0 (*(volatile __near unsigned short *)0x358) +#define CFSTS0L (*(volatile __near unsigned char *)0x358) +#define CFSTS0H (*(volatile __near unsigned char *)0x359) +#define CFPCTR0 (*(volatile __near unsigned short *)0x35C) +#define CFPCTR0L (*(volatile __near unsigned char *)0x35C) +#define RFMSTS (*(volatile __near unsigned char *)0x360) +#define CFMSTS (*(volatile __near unsigned char *)0x361) +#define RFISTS (*(volatile __near unsigned char *)0x362) +#define CFISTS (*(volatile __near unsigned char *)0x363) +#define TMC0 (*(volatile __near unsigned char *)0x364) +#define TMC1 (*(volatile __near unsigned char *)0x365) +#define TMC2 (*(volatile __near unsigned char *)0x366) +#define TMC3 (*(volatile __near unsigned char *)0x367) +#define TMSTS0 (*(volatile __near unsigned char *)0x36C) +#define TMSTS1 (*(volatile __near unsigned char *)0x36D) +#define TMSTS2 (*(volatile __near unsigned char *)0x36E) +#define TMSTS3 (*(volatile __near unsigned char *)0x36F) +#define TMTRSTS (*(volatile __near unsigned short *)0x374) +#define TMTRSTSL (*(volatile __near unsigned char *)0x374) +#define TMTRSTSH (*(volatile __near unsigned char *)0x375) +#define TMTCSTS (*(volatile __near unsigned short *)0x376) +#define TMTCSTSL (*(volatile __near unsigned char *)0x376) +#define TMTCSTSH (*(volatile __near unsigned char *)0x377) +#define TMTASTS (*(volatile __near unsigned short *)0x378) +#define TMTASTSL (*(volatile __near unsigned char *)0x378) +#define TMTASTSH (*(volatile __near unsigned char *)0x379) +#define TMIEC (*(volatile __near unsigned short *)0x37A) +#define TMIECL (*(volatile __near unsigned char *)0x37A) +#define TMIECH (*(volatile __near unsigned char *)0x37B) +#define THLCC0 (*(volatile __near unsigned short *)0x37C) +#define THLCC0L (*(volatile __near unsigned char *)0x37C) +#define THLCC0H (*(volatile __near unsigned char *)0x37D) +#define THLSTS0 (*(volatile __near unsigned short *)0x380) +#define THLSTS0L (*(volatile __near unsigned char *)0x380) +#define THLSTS0H (*(volatile __near unsigned char *)0x381) +#define THLPCTR0 (*(volatile __near unsigned short *)0x384) +#define THLPCTR0L (*(volatile __near unsigned char *)0x384) +#define THLPCTR0H (*(volatile __near unsigned char *)0x385) +#define GTINTSTS (*(volatile __near unsigned short *)0x388) +#define GTINTSTSL (*(volatile __near unsigned char *)0x388) +#define GTINTSTSH (*(volatile __near unsigned char *)0x389) +#define GRWCR (*(volatile __near unsigned short *)0x38A) +#define GRWCRL (*(volatile __near unsigned char *)0x38A) +#define GRWCRH (*(volatile __near unsigned char *)0x38B) +#define GTSTCFG (*(volatile __near unsigned short *)0x38C) +#define GTSTCFGL (*(volatile __near unsigned char *)0x38C) +#define GTSTCFGH (*(volatile __near unsigned char *)0x38D) +#define GTSTCTRL (*(volatile __near unsigned char *)0x38E) +#define GLOCKK (*(volatile __near unsigned short *)0x394) +#define GAFLIDL0 (*(volatile __near unsigned short *)0x3A0) +#define RMIDL0 (*(volatile __near unsigned short *)0x3A0) +#define GAFLIDL0L (*(volatile __near unsigned char *)0x3A0) +#define RMIDL0L (*(volatile __near unsigned char *)0x3A0) +#define GAFLIDL0H (*(volatile __near unsigned char *)0x3A1) +#define RMIDL0H (*(volatile __near unsigned char *)0x3A1) +#define GAFLIDH0 (*(volatile __near unsigned short *)0x3A2) +#define RMIDH0 (*(volatile __near unsigned short *)0x3A2) +#define GAFLIDH0L (*(volatile __near unsigned char *)0x3A2) +#define RMIDH0L (*(volatile __near unsigned char *)0x3A2) +#define GAFLIDH0H (*(volatile __near unsigned char *)0x3A3) +#define RMIDH0H (*(volatile __near unsigned char *)0x3A3) +#define GAFLML0 (*(volatile __near unsigned short *)0x3A4) +#define RMTS0 (*(volatile __near unsigned short *)0x3A4) +#define GAFLML0L (*(volatile __near unsigned char *)0x3A4) +#define RMTS0L (*(volatile __near unsigned char *)0x3A4) +#define GAFLML0H (*(volatile __near unsigned char *)0x3A5) +#define RMTS0H (*(volatile __near unsigned char *)0x3A5) +#define GAFLMH0 (*(volatile __near unsigned short *)0x3A6) +#define RMPTR0 (*(volatile __near unsigned short *)0x3A6) +#define GAFLMH0L (*(volatile __near unsigned char *)0x3A6) +#define RMPTR0L (*(volatile __near unsigned char *)0x3A6) +#define GAFLMH0H (*(volatile __near unsigned char *)0x3A7) +#define RMPTR0H (*(volatile __near unsigned char *)0x3A7) +#define GAFLPL0 (*(volatile __near unsigned short *)0x3A8) +#define RMDF00 (*(volatile __near unsigned short *)0x3A8) +#define GAFLPL0L (*(volatile __near unsigned char *)0x3A8) +#define RMDF00L (*(volatile __near unsigned char *)0x3A8) +#define GAFLPL0H (*(volatile __near unsigned char *)0x3A9) +#define RMDF00H (*(volatile __near unsigned char *)0x3A9) +#define GAFLPH0 (*(volatile __near unsigned short *)0x3AA) +#define RMDF10 (*(volatile __near unsigned short *)0x3AA) +#define GAFLPH0L (*(volatile __near unsigned char *)0x3AA) +#define RMDF10L (*(volatile __near unsigned char *)0x3AA) +#define GAFLPH0H (*(volatile __near unsigned char *)0x3AB) +#define RMDF10H (*(volatile __near unsigned char *)0x3AB) +#define GAFLIDL1 (*(volatile __near unsigned short *)0x3AC) +#define RMDF20 (*(volatile __near unsigned short *)0x3AC) +#define GAFLIDL1L (*(volatile __near unsigned char *)0x3AC) +#define RMDF20L (*(volatile __near unsigned char *)0x3AC) +#define GAFLIDL1H (*(volatile __near unsigned char *)0x3AD) +#define RMDF20H (*(volatile __near unsigned char *)0x3AD) +#define GAFLIDH1 (*(volatile __near unsigned short *)0x3AE) +#define RMDF30 (*(volatile __near unsigned short *)0x3AE) +#define GAFLIDH1L (*(volatile __near unsigned char *)0x3AE) +#define RMDF30L (*(volatile __near unsigned char *)0x3AE) +#define GAFLIDH1H (*(volatile __near unsigned char *)0x3AF) +#define RMDF30H (*(volatile __near unsigned char *)0x3AF) +#define GAFLML1 (*(volatile __near unsigned short *)0x3B0) +#define RMIDL1 (*(volatile __near unsigned short *)0x3B0) +#define GAFLML1L (*(volatile __near unsigned char *)0x3B0) +#define RMIDL1L (*(volatile __near unsigned char *)0x3B0) +#define GAFLML1H (*(volatile __near unsigned char *)0x3B1) +#define RMIDL1H (*(volatile __near unsigned char *)0x3B1) +#define GAFLMH1 (*(volatile __near unsigned short *)0x3B2) +#define RMIDH1 (*(volatile __near unsigned short *)0x3B2) +#define GAFLMH1L (*(volatile __near unsigned char *)0x3B2) +#define RMIDH1L (*(volatile __near unsigned char *)0x3B2) +#define GAFLMH1H (*(volatile __near unsigned char *)0x3B3) +#define RMIDH1H (*(volatile __near unsigned char *)0x3B3) +#define GAFLPL1 (*(volatile __near unsigned short *)0x3B4) +#define RMTS1 (*(volatile __near unsigned short *)0x3B4) +#define GAFLPL1L (*(volatile __near unsigned char *)0x3B4) +#define RMTS1L (*(volatile __near unsigned char *)0x3B4) +#define GAFLPL1H (*(volatile __near unsigned char *)0x3B5) +#define RMTS1H (*(volatile __near unsigned char *)0x3B5) +#define GAFLPH1 (*(volatile __near unsigned short *)0x3B6) +#define RMPTR1 (*(volatile __near unsigned short *)0x3B6) +#define GAFLPH1L (*(volatile __near unsigned char *)0x3B6) +#define RMPTR1L (*(volatile __near unsigned char *)0x3B6) +#define GAFLPH1H (*(volatile __near unsigned char *)0x3B7) +#define RMPTR1H (*(volatile __near unsigned char *)0x3B7) +#define GAFLIDL2 (*(volatile __near unsigned short *)0x3B8) +#define RMDF01 (*(volatile __near unsigned short *)0x3B8) +#define GAFLIDL2L (*(volatile __near unsigned char *)0x3B8) +#define RMDF01L (*(volatile __near unsigned char *)0x3B8) +#define GAFLIDL2H (*(volatile __near unsigned char *)0x3B9) +#define RMDF01H (*(volatile __near unsigned char *)0x3B9) +#define GAFLIDH2 (*(volatile __near unsigned short *)0x3BA) +#define RMDF11 (*(volatile __near unsigned short *)0x3BA) +#define GAFLIDH2L (*(volatile __near unsigned char *)0x3BA) +#define RMDF11L (*(volatile __near unsigned char *)0x3BA) +#define GAFLIDH2H (*(volatile __near unsigned char *)0x3BB) +#define RMDF11H (*(volatile __near unsigned char *)0x3BB) +#define GAFLML2 (*(volatile __near unsigned short *)0x3BC) +#define RMDF21 (*(volatile __near unsigned short *)0x3BC) +#define GAFLML2L (*(volatile __near unsigned char *)0x3BC) +#define RMDF21L (*(volatile __near unsigned char *)0x3BC) +#define GAFLML2H (*(volatile __near unsigned char *)0x3BD) +#define RMDF21H (*(volatile __near unsigned char *)0x3BD) +#define GAFLMH2 (*(volatile __near unsigned short *)0x3BE) +#define RMDF31 (*(volatile __near unsigned short *)0x3BE) +#define GAFLMH2L (*(volatile __near unsigned char *)0x3BE) +#define RMDF31L (*(volatile __near unsigned char *)0x3BE) +#define GAFLMH2H (*(volatile __near unsigned char *)0x3BF) +#define RMDF31H (*(volatile __near unsigned char *)0x3BF) +#define GAFLPL2 (*(volatile __near unsigned short *)0x3C0) +#define RMIDL2 (*(volatile __near unsigned short *)0x3C0) +#define GAFLPL2L (*(volatile __near unsigned char *)0x3C0) +#define RMIDL2L (*(volatile __near unsigned char *)0x3C0) +#define GAFLPL2H (*(volatile __near unsigned char *)0x3C1) +#define RMIDL2H (*(volatile __near unsigned char *)0x3C1) +#define GAFLPH2 (*(volatile __near unsigned short *)0x3C2) +#define RMIDH2 (*(volatile __near unsigned short *)0x3C2) +#define GAFLPH2L (*(volatile __near unsigned char *)0x3C2) +#define RMIDH2L (*(volatile __near unsigned char *)0x3C2) +#define GAFLPH2H (*(volatile __near unsigned char *)0x3C3) +#define RMIDH2H (*(volatile __near unsigned char *)0x3C3) +#define GAFLIDL3 (*(volatile __near unsigned short *)0x3C4) +#define RMTS2 (*(volatile __near unsigned short *)0x3C4) +#define GAFLIDL3L (*(volatile __near unsigned char *)0x3C4) +#define RMTS2L (*(volatile __near unsigned char *)0x3C4) +#define GAFLIDL3H (*(volatile __near unsigned char *)0x3C5) +#define RMTS2H (*(volatile __near unsigned char *)0x3C5) +#define GAFLIDH3 (*(volatile __near unsigned short *)0x3C6) +#define RMPTR2 (*(volatile __near unsigned short *)0x3C6) +#define GAFLIDH3L (*(volatile __near unsigned char *)0x3C6) +#define RMPTR2L (*(volatile __near unsigned char *)0x3C6) +#define GAFLIDH3H (*(volatile __near unsigned char *)0x3C7) +#define RMPTR2H (*(volatile __near unsigned char *)0x3C7) +#define GAFLML3 (*(volatile __near unsigned short *)0x3C8) +#define RMDF02 (*(volatile __near unsigned short *)0x3C8) +#define GAFLML3L (*(volatile __near unsigned char *)0x3C8) +#define RMDF02L (*(volatile __near unsigned char *)0x3C8) +#define GAFLML3H (*(volatile __near unsigned char *)0x3C9) +#define RMDF02H (*(volatile __near unsigned char *)0x3C9) +#define GAFLMH3 (*(volatile __near unsigned short *)0x3CA) +#define RMDF12 (*(volatile __near unsigned short *)0x3CA) +#define GAFLMH3L (*(volatile __near unsigned char *)0x3CA) +#define RMDF12L (*(volatile __near unsigned char *)0x3CA) +#define GAFLMH3H (*(volatile __near unsigned char *)0x3CB) +#define RMDF12H (*(volatile __near unsigned char *)0x3CB) +#define GAFLPL3 (*(volatile __near unsigned short *)0x3CC) +#define RMDF22 (*(volatile __near unsigned short *)0x3CC) +#define GAFLPL3L (*(volatile __near unsigned char *)0x3CC) +#define RMDF22L (*(volatile __near unsigned char *)0x3CC) +#define GAFLPL3H (*(volatile __near unsigned char *)0x3CD) +#define RMDF22H (*(volatile __near unsigned char *)0x3CD) +#define GAFLPH3 (*(volatile __near unsigned short *)0x3CE) +#define RMDF32 (*(volatile __near unsigned short *)0x3CE) +#define GAFLPH3L (*(volatile __near unsigned char *)0x3CE) +#define RMDF32L (*(volatile __near unsigned char *)0x3CE) +#define GAFLPH3H (*(volatile __near unsigned char *)0x3CF) +#define RMDF32H (*(volatile __near unsigned char *)0x3CF) +#define GAFLIDL4 (*(volatile __near unsigned short *)0x3D0) +#define RMIDL3 (*(volatile __near unsigned short *)0x3D0) +#define GAFLIDL4L (*(volatile __near unsigned char *)0x3D0) +#define RMIDL3L (*(volatile __near unsigned char *)0x3D0) +#define GAFLIDL4H (*(volatile __near unsigned char *)0x3D1) +#define RMIDL3H (*(volatile __near unsigned char *)0x3D1) +#define GAFLIDH4 (*(volatile __near unsigned short *)0x3D2) +#define RMIDH3 (*(volatile __near unsigned short *)0x3D2) +#define GAFLIDH4L (*(volatile __near unsigned char *)0x3D2) +#define RMIDH3L (*(volatile __near unsigned char *)0x3D2) +#define GAFLIDH4H (*(volatile __near unsigned char *)0x3D3) +#define RMIDH3H (*(volatile __near unsigned char *)0x3D3) +#define GAFLML4 (*(volatile __near unsigned short *)0x3D4) +#define RMTS3 (*(volatile __near unsigned short *)0x3D4) +#define GAFLML4L (*(volatile __near unsigned char *)0x3D4) +#define RMTS3L (*(volatile __near unsigned char *)0x3D4) +#define GAFLML4H (*(volatile __near unsigned char *)0x3D5) +#define RMTS3H (*(volatile __near unsigned char *)0x3D5) +#define GAFLMH4 (*(volatile __near unsigned short *)0x3D6) +#define RMPTR3 (*(volatile __near unsigned short *)0x3D6) +#define GAFLMH4L (*(volatile __near unsigned char *)0x3D6) +#define RMPTR3L (*(volatile __near unsigned char *)0x3D6) +#define GAFLMH4H (*(volatile __near unsigned char *)0x3D7) +#define RMPTR3H (*(volatile __near unsigned char *)0x3D7) +#define GAFLPL4 (*(volatile __near unsigned short *)0x3D8) +#define RMDF03 (*(volatile __near unsigned short *)0x3D8) +#define GAFLPL4L (*(volatile __near unsigned char *)0x3D8) +#define RMDF03L (*(volatile __near unsigned char *)0x3D8) +#define GAFLPL4H (*(volatile __near unsigned char *)0x3D9) +#define RMDF03H (*(volatile __near unsigned char *)0x3D9) +#define GAFLPH4 (*(volatile __near unsigned short *)0x3DA) +#define RMDF13 (*(volatile __near unsigned short *)0x3DA) +#define GAFLPH4L (*(volatile __near unsigned char *)0x3DA) +#define RMDF13L (*(volatile __near unsigned char *)0x3DA) +#define GAFLPH4H (*(volatile __near unsigned char *)0x3DB) +#define RMDF13H (*(volatile __near unsigned char *)0x3DB) +#define GAFLIDL5 (*(volatile __near unsigned short *)0x3DC) +#define RMDF23 (*(volatile __near unsigned short *)0x3DC) +#define GAFLIDL5L (*(volatile __near unsigned char *)0x3DC) +#define RMDF23L (*(volatile __near unsigned char *)0x3DC) +#define GAFLIDL5H (*(volatile __near unsigned char *)0x3DD) +#define RMDF23H (*(volatile __near unsigned char *)0x3DD) +#define GAFLIDH5 (*(volatile __near unsigned short *)0x3DE) +#define RMDF33 (*(volatile __near unsigned short *)0x3DE) +#define GAFLIDH5L (*(volatile __near unsigned char *)0x3DE) +#define RMDF33L (*(volatile __near unsigned char *)0x3DE) +#define GAFLIDH5H (*(volatile __near unsigned char *)0x3DF) +#define RMDF33H (*(volatile __near unsigned char *)0x3DF) +#define GAFLML5 (*(volatile __near unsigned short *)0x3E0) +#define RMIDL4 (*(volatile __near unsigned short *)0x3E0) +#define GAFLML5L (*(volatile __near unsigned char *)0x3E0) +#define RMIDL4L (*(volatile __near unsigned char *)0x3E0) +#define GAFLML5H (*(volatile __near unsigned char *)0x3E1) +#define RMIDL4H (*(volatile __near unsigned char *)0x3E1) +#define GAFLMH5 (*(volatile __near unsigned short *)0x3E2) +#define RMIDH4 (*(volatile __near unsigned short *)0x3E2) +#define GAFLMH5L (*(volatile __near unsigned char *)0x3E2) +#define RMIDH4L (*(volatile __near unsigned char *)0x3E2) +#define GAFLMH5H (*(volatile __near unsigned char *)0x3E3) +#define RMIDH4H (*(volatile __near unsigned char *)0x3E3) +#define GAFLPL5 (*(volatile __near unsigned short *)0x3E4) +#define RMTS4 (*(volatile __near unsigned short *)0x3E4) +#define GAFLPL5L (*(volatile __near unsigned char *)0x3E4) +#define RMTS4L (*(volatile __near unsigned char *)0x3E4) +#define GAFLPL5H (*(volatile __near unsigned char *)0x3E5) +#define RMTS4H (*(volatile __near unsigned char *)0x3E5) +#define GAFLPH5 (*(volatile __near unsigned short *)0x3E6) +#define RMPTR4 (*(volatile __near unsigned short *)0x3E6) +#define GAFLPH5L (*(volatile __near unsigned char *)0x3E6) +#define RMPTR4L (*(volatile __near unsigned char *)0x3E6) +#define GAFLPH5H (*(volatile __near unsigned char *)0x3E7) +#define RMPTR4H (*(volatile __near unsigned char *)0x3E7) +#define GAFLIDL6 (*(volatile __near unsigned short *)0x3E8) +#define RMDF04 (*(volatile __near unsigned short *)0x3E8) +#define GAFLIDL6L (*(volatile __near unsigned char *)0x3E8) +#define RMDF04L (*(volatile __near unsigned char *)0x3E8) +#define GAFLIDL6H (*(volatile __near unsigned char *)0x3E9) +#define RMDF04H (*(volatile __near unsigned char *)0x3E9) +#define GAFLIDH6 (*(volatile __near unsigned short *)0x3EA) +#define RMDF14 (*(volatile __near unsigned short *)0x3EA) +#define GAFLIDH6L (*(volatile __near unsigned char *)0x3EA) +#define RMDF14L (*(volatile __near unsigned char *)0x3EA) +#define GAFLIDH6H (*(volatile __near unsigned char *)0x3EB) +#define RMDF14H (*(volatile __near unsigned char *)0x3EB) +#define GAFLML6 (*(volatile __near unsigned short *)0x3EC) +#define RMDF24 (*(volatile __near unsigned short *)0x3EC) +#define GAFLML6L (*(volatile __near unsigned char *)0x3EC) +#define RMDF24L (*(volatile __near unsigned char *)0x3EC) +#define GAFLML6H (*(volatile __near unsigned char *)0x3ED) +#define RMDF24H (*(volatile __near unsigned char *)0x3ED) +#define GAFLMH6 (*(volatile __near unsigned short *)0x3EE) +#define RMDF34 (*(volatile __near unsigned short *)0x3EE) +#define GAFLMH6L (*(volatile __near unsigned char *)0x3EE) +#define RMDF34L (*(volatile __near unsigned char *)0x3EE) +#define GAFLMH6H (*(volatile __near unsigned char *)0x3EF) +#define RMDF34H (*(volatile __near unsigned char *)0x3EF) +#define GAFLPL6 (*(volatile __near unsigned short *)0x3F0) +#define RMIDL5 (*(volatile __near unsigned short *)0x3F0) +#define GAFLPL6L (*(volatile __near unsigned char *)0x3F0) +#define RMIDL5L (*(volatile __near unsigned char *)0x3F0) +#define GAFLPL6H (*(volatile __near unsigned char *)0x3F1) +#define RMIDL5H (*(volatile __near unsigned char *)0x3F1) +#define GAFLPH6 (*(volatile __near unsigned short *)0x3F2) +#define RMIDH5 (*(volatile __near unsigned short *)0x3F2) +#define GAFLPH6L (*(volatile __near unsigned char *)0x3F2) +#define RMIDH5L (*(volatile __near unsigned char *)0x3F2) +#define GAFLPH6H (*(volatile __near unsigned char *)0x3F3) +#define RMIDH5H (*(volatile __near unsigned char *)0x3F3) +#define GAFLIDL7 (*(volatile __near unsigned short *)0x3F4) +#define RMTS5 (*(volatile __near unsigned short *)0x3F4) +#define GAFLIDL7L (*(volatile __near unsigned char *)0x3F4) +#define RMTS5L (*(volatile __near unsigned char *)0x3F4) +#define GAFLIDL7H (*(volatile __near unsigned char *)0x3F5) +#define RMTS5H (*(volatile __near unsigned char *)0x3F5) +#define GAFLIDH7 (*(volatile __near unsigned short *)0x3F6) +#define RMPTR5 (*(volatile __near unsigned short *)0x3F6) +#define GAFLIDH7L (*(volatile __near unsigned char *)0x3F6) +#define RMPTR5L (*(volatile __near unsigned char *)0x3F6) +#define GAFLIDH7H (*(volatile __near unsigned char *)0x3F7) +#define RMPTR5H (*(volatile __near unsigned char *)0x3F7) +#define GAFLML7 (*(volatile __near unsigned short *)0x3F8) +#define RMDF05 (*(volatile __near unsigned short *)0x3F8) +#define GAFLML7L (*(volatile __near unsigned char *)0x3F8) +#define RMDF05L (*(volatile __near unsigned char *)0x3F8) +#define GAFLML7H (*(volatile __near unsigned char *)0x3F9) +#define RMDF05H (*(volatile __near unsigned char *)0x3F9) +#define GAFLMH7 (*(volatile __near unsigned short *)0x3FA) +#define RMDF15 (*(volatile __near unsigned short *)0x3FA) +#define GAFLMH7L (*(volatile __near unsigned char *)0x3FA) +#define RMDF15L (*(volatile __near unsigned char *)0x3FA) +#define GAFLMH7H (*(volatile __near unsigned char *)0x3FB) +#define RMDF15H (*(volatile __near unsigned char *)0x3FB) +#define GAFLPL7 (*(volatile __near unsigned short *)0x3FC) +#define RMDF25 (*(volatile __near unsigned short *)0x3FC) +#define GAFLPL7L (*(volatile __near unsigned char *)0x3FC) +#define RMDF25L (*(volatile __near unsigned char *)0x3FC) +#define GAFLPL7H (*(volatile __near unsigned char *)0x3FD) +#define RMDF25H (*(volatile __near unsigned char *)0x3FD) +#define GAFLPH7 (*(volatile __near unsigned short *)0x3FE) +#define RMDF35 (*(volatile __near unsigned short *)0x3FE) +#define GAFLPH7L (*(volatile __near unsigned char *)0x3FE) +#define RMDF35L (*(volatile __near unsigned char *)0x3FE) +#define GAFLPH7H (*(volatile __near unsigned char *)0x3FF) +#define RMDF35H (*(volatile __near unsigned char *)0x3FF) +#define GAFLIDL8 (*(volatile __near unsigned short *)0x400) +#define RMIDL6 (*(volatile __near unsigned short *)0x400) +#define GAFLIDL8L (*(volatile __near unsigned char *)0x400) +#define RMIDL6L (*(volatile __near unsigned char *)0x400) +#define GAFLIDL8H (*(volatile __near unsigned char *)0x401) +#define RMIDL6H (*(volatile __near unsigned char *)0x401) +#define GAFLIDH8 (*(volatile __near unsigned short *)0x402) +#define RMIDH6 (*(volatile __near unsigned short *)0x402) +#define GAFLIDH8L (*(volatile __near unsigned char *)0x402) +#define RMIDH6L (*(volatile __near unsigned char *)0x402) +#define GAFLIDH8H (*(volatile __near unsigned char *)0x403) +#define RMIDH6H (*(volatile __near unsigned char *)0x403) +#define GAFLML8 (*(volatile __near unsigned short *)0x404) +#define RMTS6 (*(volatile __near unsigned short *)0x404) +#define GAFLML8L (*(volatile __near unsigned char *)0x404) +#define RMTS6L (*(volatile __near unsigned char *)0x404) +#define GAFLML8H (*(volatile __near unsigned char *)0x405) +#define RMTS6H (*(volatile __near unsigned char *)0x405) +#define GAFLMH8 (*(volatile __near unsigned short *)0x406) +#define RMPTR6 (*(volatile __near unsigned short *)0x406) +#define GAFLMH8L (*(volatile __near unsigned char *)0x406) +#define RMPTR6L (*(volatile __near unsigned char *)0x406) +#define GAFLMH8H (*(volatile __near unsigned char *)0x407) +#define RMPTR6H (*(volatile __near unsigned char *)0x407) +#define GAFLPL8 (*(volatile __near unsigned short *)0x408) +#define RMDF06 (*(volatile __near unsigned short *)0x408) +#define GAFLPL8L (*(volatile __near unsigned char *)0x408) +#define RMDF06L (*(volatile __near unsigned char *)0x408) +#define GAFLPL8H (*(volatile __near unsigned char *)0x409) +#define RMDF06H (*(volatile __near unsigned char *)0x409) +#define GAFLPH8 (*(volatile __near unsigned short *)0x40A) +#define RMDF16 (*(volatile __near unsigned short *)0x40A) +#define GAFLPH8L (*(volatile __near unsigned char *)0x40A) +#define RMDF16L (*(volatile __near unsigned char *)0x40A) +#define GAFLPH8H (*(volatile __near unsigned char *)0x40B) +#define RMDF16H (*(volatile __near unsigned char *)0x40B) +#define GAFLIDL9 (*(volatile __near unsigned short *)0x40C) +#define RMDF26 (*(volatile __near unsigned short *)0x40C) +#define GAFLIDL9L (*(volatile __near unsigned char *)0x40C) +#define RMDF26L (*(volatile __near unsigned char *)0x40C) +#define GAFLIDL9H (*(volatile __near unsigned char *)0x40D) +#define RMDF26H (*(volatile __near unsigned char *)0x40D) +#define GAFLIDH9 (*(volatile __near unsigned short *)0x40E) +#define RMDF36 (*(volatile __near unsigned short *)0x40E) +#define GAFLIDH9L (*(volatile __near unsigned char *)0x40E) +#define RMDF36L (*(volatile __near unsigned char *)0x40E) +#define GAFLIDH9H (*(volatile __near unsigned char *)0x40F) +#define RMDF36H (*(volatile __near unsigned char *)0x40F) +#define GAFLML9 (*(volatile __near unsigned short *)0x410) +#define RMIDL7 (*(volatile __near unsigned short *)0x410) +#define GAFLML9L (*(volatile __near unsigned char *)0x410) +#define RMIDL7L (*(volatile __near unsigned char *)0x410) +#define GAFLML9H (*(volatile __near unsigned char *)0x411) +#define RMIDL7H (*(volatile __near unsigned char *)0x411) +#define GAFLMH9 (*(volatile __near unsigned short *)0x412) +#define RMIDH7 (*(volatile __near unsigned short *)0x412) +#define GAFLMH9L (*(volatile __near unsigned char *)0x412) +#define RMIDH7L (*(volatile __near unsigned char *)0x412) +#define GAFLMH9H (*(volatile __near unsigned char *)0x413) +#define RMIDH7H (*(volatile __near unsigned char *)0x413) +#define GAFLPL9 (*(volatile __near unsigned short *)0x414) +#define RMTS7 (*(volatile __near unsigned short *)0x414) +#define GAFLPL9L (*(volatile __near unsigned char *)0x414) +#define RMTS7L (*(volatile __near unsigned char *)0x414) +#define GAFLPL9H (*(volatile __near unsigned char *)0x415) +#define RMTS7H (*(volatile __near unsigned char *)0x415) +#define GAFLPH9 (*(volatile __near unsigned short *)0x416) +#define RMPTR7 (*(volatile __near unsigned short *)0x416) +#define GAFLPH9L (*(volatile __near unsigned char *)0x416) +#define RMPTR7L (*(volatile __near unsigned char *)0x416) +#define GAFLPH9H (*(volatile __near unsigned char *)0x417) +#define RMPTR7H (*(volatile __near unsigned char *)0x417) +#define GAFLIDL10 (*(volatile __near unsigned short *)0x418) +#define RMDF07 (*(volatile __near unsigned short *)0x418) +#define GAFLIDL10L (*(volatile __near unsigned char *)0x418) +#define RMDF07L (*(volatile __near unsigned char *)0x418) +#define GAFLIDL10H (*(volatile __near unsigned char *)0x419) +#define RMDF07H (*(volatile __near unsigned char *)0x419) +#define GAFLIDH10 (*(volatile __near unsigned short *)0x41A) +#define RMDF17 (*(volatile __near unsigned short *)0x41A) +#define GAFLIDH10L (*(volatile __near unsigned char *)0x41A) +#define RMDF17L (*(volatile __near unsigned char *)0x41A) +#define GAFLIDH10H (*(volatile __near unsigned char *)0x41B) +#define RMDF17H (*(volatile __near unsigned char *)0x41B) +#define GAFLML10 (*(volatile __near unsigned short *)0x41C) +#define RMDF27 (*(volatile __near unsigned short *)0x41C) +#define GAFLML10L (*(volatile __near unsigned char *)0x41C) +#define RMDF27L (*(volatile __near unsigned char *)0x41C) +#define GAFLML10H (*(volatile __near unsigned char *)0x41D) +#define RMDF27H (*(volatile __near unsigned char *)0x41D) +#define GAFLMH10 (*(volatile __near unsigned short *)0x41E) +#define RMDF37 (*(volatile __near unsigned short *)0x41E) +#define GAFLMH10L (*(volatile __near unsigned char *)0x41E) +#define RMDF37L (*(volatile __near unsigned char *)0x41E) +#define GAFLMH10H (*(volatile __near unsigned char *)0x41F) +#define RMDF37H (*(volatile __near unsigned char *)0x41F) +#define GAFLPL10 (*(volatile __near unsigned short *)0x420) +#define RMIDL8 (*(volatile __near unsigned short *)0x420) +#define GAFLPL10L (*(volatile __near unsigned char *)0x420) +#define RMIDL8L (*(volatile __near unsigned char *)0x420) +#define GAFLPL10H (*(volatile __near unsigned char *)0x421) +#define RMIDL8H (*(volatile __near unsigned char *)0x421) +#define GAFLPH10 (*(volatile __near unsigned short *)0x422) +#define RMIDH8 (*(volatile __near unsigned short *)0x422) +#define GAFLPH10L (*(volatile __near unsigned char *)0x422) +#define RMIDH8L (*(volatile __near unsigned char *)0x422) +#define GAFLPH10H (*(volatile __near unsigned char *)0x423) +#define RMIDH8H (*(volatile __near unsigned char *)0x423) +#define GAFLIDL11 (*(volatile __near unsigned short *)0x424) +#define RMTS8 (*(volatile __near unsigned short *)0x424) +#define GAFLIDL11L (*(volatile __near unsigned char *)0x424) +#define RMTS8L (*(volatile __near unsigned char *)0x424) +#define GAFLIDL11H (*(volatile __near unsigned char *)0x425) +#define RMTS8H (*(volatile __near unsigned char *)0x425) +#define GAFLIDH11 (*(volatile __near unsigned short *)0x426) +#define RMPTR8 (*(volatile __near unsigned short *)0x426) +#define GAFLIDH11L (*(volatile __near unsigned char *)0x426) +#define RMPTR8L (*(volatile __near unsigned char *)0x426) +#define GAFLIDH11H (*(volatile __near unsigned char *)0x427) +#define RMPTR8H (*(volatile __near unsigned char *)0x427) +#define GAFLML11 (*(volatile __near unsigned short *)0x428) +#define RMDF08 (*(volatile __near unsigned short *)0x428) +#define GAFLML11L (*(volatile __near unsigned char *)0x428) +#define RMDF08L (*(volatile __near unsigned char *)0x428) +#define GAFLML11H (*(volatile __near unsigned char *)0x429) +#define RMDF08H (*(volatile __near unsigned char *)0x429) +#define GAFLMH11 (*(volatile __near unsigned short *)0x42A) +#define RMDF18 (*(volatile __near unsigned short *)0x42A) +#define GAFLMH11L (*(volatile __near unsigned char *)0x42A) +#define RMDF18L (*(volatile __near unsigned char *)0x42A) +#define GAFLMH11H (*(volatile __near unsigned char *)0x42B) +#define RMDF18H (*(volatile __near unsigned char *)0x42B) +#define GAFLPL11 (*(volatile __near unsigned short *)0x42C) +#define RMDF28 (*(volatile __near unsigned short *)0x42C) +#define GAFLPL11L (*(volatile __near unsigned char *)0x42C) +#define RMDF28L (*(volatile __near unsigned char *)0x42C) +#define GAFLPL11H (*(volatile __near unsigned char *)0x42D) +#define RMDF28H (*(volatile __near unsigned char *)0x42D) +#define GAFLPH11 (*(volatile __near unsigned short *)0x42E) +#define RMDF38 (*(volatile __near unsigned short *)0x42E) +#define GAFLPH11L (*(volatile __near unsigned char *)0x42E) +#define RMDF38L (*(volatile __near unsigned char *)0x42E) +#define GAFLPH11H (*(volatile __near unsigned char *)0x42F) +#define RMDF38H (*(volatile __near unsigned char *)0x42F) +#define GAFLIDL12 (*(volatile __near unsigned short *)0x430) +#define RMIDL9 (*(volatile __near unsigned short *)0x430) +#define GAFLIDL12L (*(volatile __near unsigned char *)0x430) +#define RMIDL9L (*(volatile __near unsigned char *)0x430) +#define GAFLIDL12H (*(volatile __near unsigned char *)0x431) +#define RMIDL9H (*(volatile __near unsigned char *)0x431) +#define GAFLIDH12 (*(volatile __near unsigned short *)0x432) +#define RMIDH9 (*(volatile __near unsigned short *)0x432) +#define GAFLIDH12L (*(volatile __near unsigned char *)0x432) +#define RMIDH9L (*(volatile __near unsigned char *)0x432) +#define GAFLIDH12H (*(volatile __near unsigned char *)0x433) +#define RMIDH9H (*(volatile __near unsigned char *)0x433) +#define GAFLML12 (*(volatile __near unsigned short *)0x434) +#define RMTS9 (*(volatile __near unsigned short *)0x434) +#define GAFLML12L (*(volatile __near unsigned char *)0x434) +#define RMTS9L (*(volatile __near unsigned char *)0x434) +#define GAFLML12H (*(volatile __near unsigned char *)0x435) +#define RMTS9H (*(volatile __near unsigned char *)0x435) +#define GAFLMH12 (*(volatile __near unsigned short *)0x436) +#define RMPTR9 (*(volatile __near unsigned short *)0x436) +#define GAFLMH12L (*(volatile __near unsigned char *)0x436) +#define RMPTR9L (*(volatile __near unsigned char *)0x436) +#define GAFLMH12H (*(volatile __near unsigned char *)0x437) +#define RMPTR9H (*(volatile __near unsigned char *)0x437) +#define GAFLPL12 (*(volatile __near unsigned short *)0x438) +#define RMDF09 (*(volatile __near unsigned short *)0x438) +#define GAFLPL12L (*(volatile __near unsigned char *)0x438) +#define RMDF09L (*(volatile __near unsigned char *)0x438) +#define GAFLPL12H (*(volatile __near unsigned char *)0x439) +#define RMDF09H (*(volatile __near unsigned char *)0x439) +#define GAFLPH12 (*(volatile __near unsigned short *)0x43A) +#define RMDF19 (*(volatile __near unsigned short *)0x43A) +#define GAFLPH12L (*(volatile __near unsigned char *)0x43A) +#define RMDF19L (*(volatile __near unsigned char *)0x43A) +#define GAFLPH12H (*(volatile __near unsigned char *)0x43B) +#define RMDF19H (*(volatile __near unsigned char *)0x43B) +#define GAFLIDL13 (*(volatile __near unsigned short *)0x43C) +#define RMDF29 (*(volatile __near unsigned short *)0x43C) +#define GAFLIDL13L (*(volatile __near unsigned char *)0x43C) +#define RMDF29L (*(volatile __near unsigned char *)0x43C) +#define GAFLIDL13H (*(volatile __near unsigned char *)0x43D) +#define RMDF29H (*(volatile __near unsigned char *)0x43D) +#define GAFLIDH13 (*(volatile __near unsigned short *)0x43E) +#define RMDF39 (*(volatile __near unsigned short *)0x43E) +#define GAFLIDH13L (*(volatile __near unsigned char *)0x43E) +#define RMDF39L (*(volatile __near unsigned char *)0x43E) +#define GAFLIDH13H (*(volatile __near unsigned char *)0x43F) +#define RMDF39H (*(volatile __near unsigned char *)0x43F) +#define GAFLML13 (*(volatile __near unsigned short *)0x440) +#define RMIDL10 (*(volatile __near unsigned short *)0x440) +#define GAFLML13L (*(volatile __near unsigned char *)0x440) +#define RMIDL10L (*(volatile __near unsigned char *)0x440) +#define GAFLML13H (*(volatile __near unsigned char *)0x441) +#define RMIDL10H (*(volatile __near unsigned char *)0x441) +#define GAFLMH13 (*(volatile __near unsigned short *)0x442) +#define RMIDH10 (*(volatile __near unsigned short *)0x442) +#define GAFLMH13L (*(volatile __near unsigned char *)0x442) +#define RMIDH10L (*(volatile __near unsigned char *)0x442) +#define GAFLMH13H (*(volatile __near unsigned char *)0x443) +#define RMIDH10H (*(volatile __near unsigned char *)0x443) +#define GAFLPL13 (*(volatile __near unsigned short *)0x444) +#define RMTS10 (*(volatile __near unsigned short *)0x444) +#define GAFLPL13L (*(volatile __near unsigned char *)0x444) +#define RMTS10L (*(volatile __near unsigned char *)0x444) +#define GAFLPL13H (*(volatile __near unsigned char *)0x445) +#define RMTS10H (*(volatile __near unsigned char *)0x445) +#define GAFLPH13 (*(volatile __near unsigned short *)0x446) +#define RMPTR10 (*(volatile __near unsigned short *)0x446) +#define GAFLPH13L (*(volatile __near unsigned char *)0x446) +#define RMPTR10L (*(volatile __near unsigned char *)0x446) +#define GAFLPH13H (*(volatile __near unsigned char *)0x447) +#define RMPTR10H (*(volatile __near unsigned char *)0x447) +#define GAFLIDL14 (*(volatile __near unsigned short *)0x448) +#define RMDF010 (*(volatile __near unsigned short *)0x448) +#define GAFLIDL14L (*(volatile __near unsigned char *)0x448) +#define RMDF010L (*(volatile __near unsigned char *)0x448) +#define GAFLIDL14H (*(volatile __near unsigned char *)0x449) +#define RMDF010H (*(volatile __near unsigned char *)0x449) +#define GAFLIDH14 (*(volatile __near unsigned short *)0x44A) +#define RMDF110 (*(volatile __near unsigned short *)0x44A) +#define GAFLIDH14L (*(volatile __near unsigned char *)0x44A) +#define RMDF110L (*(volatile __near unsigned char *)0x44A) +#define GAFLIDH14H (*(volatile __near unsigned char *)0x44B) +#define RMDF110H (*(volatile __near unsigned char *)0x44B) +#define GAFLML14 (*(volatile __near unsigned short *)0x44C) +#define RMDF210 (*(volatile __near unsigned short *)0x44C) +#define GAFLML14L (*(volatile __near unsigned char *)0x44C) +#define RMDF210L (*(volatile __near unsigned char *)0x44C) +#define GAFLML14H (*(volatile __near unsigned char *)0x44D) +#define RMDF210H (*(volatile __near unsigned char *)0x44D) +#define GAFLMH14 (*(volatile __near unsigned short *)0x44E) +#define RMDF310 (*(volatile __near unsigned short *)0x44E) +#define GAFLMH14L (*(volatile __near unsigned char *)0x44E) +#define RMDF310L (*(volatile __near unsigned char *)0x44E) +#define GAFLMH14H (*(volatile __near unsigned char *)0x44F) +#define RMDF310H (*(volatile __near unsigned char *)0x44F) +#define GAFLPL14 (*(volatile __near unsigned short *)0x450) +#define RMIDL11 (*(volatile __near unsigned short *)0x450) +#define GAFLPL14L (*(volatile __near unsigned char *)0x450) +#define RMIDL11L (*(volatile __near unsigned char *)0x450) +#define GAFLPL14H (*(volatile __near unsigned char *)0x451) +#define RMIDL11H (*(volatile __near unsigned char *)0x451) +#define GAFLPH14 (*(volatile __near unsigned short *)0x452) +#define RMIDH11 (*(volatile __near unsigned short *)0x452) +#define GAFLPH14L (*(volatile __near unsigned char *)0x452) +#define RMIDH11L (*(volatile __near unsigned char *)0x452) +#define GAFLPH14H (*(volatile __near unsigned char *)0x453) +#define RMIDH11H (*(volatile __near unsigned char *)0x453) +#define GAFLIDL15 (*(volatile __near unsigned short *)0x454) +#define RMTS11 (*(volatile __near unsigned short *)0x454) +#define GAFLIDL15L (*(volatile __near unsigned char *)0x454) +#define RMTS11L (*(volatile __near unsigned char *)0x454) +#define GAFLIDL15H (*(volatile __near unsigned char *)0x455) +#define RMTS11H (*(volatile __near unsigned char *)0x455) +#define GAFLIDH15 (*(volatile __near unsigned short *)0x456) +#define RMPTR11 (*(volatile __near unsigned short *)0x456) +#define GAFLIDH15L (*(volatile __near unsigned char *)0x456) +#define RMPTR11L (*(volatile __near unsigned char *)0x456) +#define GAFLIDH15H (*(volatile __near unsigned char *)0x457) +#define RMPTR11H (*(volatile __near unsigned char *)0x457) +#define GAFLML15 (*(volatile __near unsigned short *)0x458) +#define RMDF011 (*(volatile __near unsigned short *)0x458) +#define GAFLML15L (*(volatile __near unsigned char *)0x458) +#define RMDF011L (*(volatile __near unsigned char *)0x458) +#define GAFLML15H (*(volatile __near unsigned char *)0x459) +#define RMDF011H (*(volatile __near unsigned char *)0x459) +#define GAFLMH15 (*(volatile __near unsigned short *)0x45A) +#define RMDF111 (*(volatile __near unsigned short *)0x45A) +#define GAFLMH15L (*(volatile __near unsigned char *)0x45A) +#define RMDF111L (*(volatile __near unsigned char *)0x45A) +#define GAFLMH15H (*(volatile __near unsigned char *)0x45B) +#define RMDF111H (*(volatile __near unsigned char *)0x45B) +#define GAFLPL15 (*(volatile __near unsigned short *)0x45C) +#define RMDF211 (*(volatile __near unsigned short *)0x45C) +#define GAFLPL15L (*(volatile __near unsigned char *)0x45C) +#define RMDF211L (*(volatile __near unsigned char *)0x45C) +#define GAFLPL15H (*(volatile __near unsigned char *)0x45D) +#define RMDF211H (*(volatile __near unsigned char *)0x45D) +#define GAFLPH15 (*(volatile __near unsigned short *)0x45E) +#define RMDF311 (*(volatile __near unsigned short *)0x45E) +#define GAFLPH15L (*(volatile __near unsigned char *)0x45E) +#define RMDF311L (*(volatile __near unsigned char *)0x45E) +#define GAFLPH15H (*(volatile __near unsigned char *)0x45F) +#define RMDF311H (*(volatile __near unsigned char *)0x45F) +#define RMIDL12 (*(volatile __near unsigned short *)0x460) +#define RMIDL12L (*(volatile __near unsigned char *)0x460) +#define RMIDL12H (*(volatile __near unsigned char *)0x461) +#define RMIDH12 (*(volatile __near unsigned short *)0x462) +#define RMIDH12L (*(volatile __near unsigned char *)0x462) +#define RMIDH12H (*(volatile __near unsigned char *)0x463) +#define RMTS12 (*(volatile __near unsigned short *)0x464) +#define RMTS12L (*(volatile __near unsigned char *)0x464) +#define RMTS12H (*(volatile __near unsigned char *)0x465) +#define RMPTR12 (*(volatile __near unsigned short *)0x466) +#define RMPTR12L (*(volatile __near unsigned char *)0x466) +#define RMPTR12H (*(volatile __near unsigned char *)0x467) +#define RMDF012 (*(volatile __near unsigned short *)0x468) +#define RMDF012L (*(volatile __near unsigned char *)0x468) +#define RMDF012H (*(volatile __near unsigned char *)0x469) +#define RMDF112 (*(volatile __near unsigned short *)0x46A) +#define RMDF112L (*(volatile __near unsigned char *)0x46A) +#define RMDF112H (*(volatile __near unsigned char *)0x46B) +#define RMDF212 (*(volatile __near unsigned short *)0x46C) +#define RMDF212L (*(volatile __near unsigned char *)0x46C) +#define RMDF212H (*(volatile __near unsigned char *)0x46D) +#define RMDF312 (*(volatile __near unsigned short *)0x46E) +#define RMDF312L (*(volatile __near unsigned char *)0x46E) +#define RMDF312H (*(volatile __near unsigned char *)0x46F) +#define RMIDL13 (*(volatile __near unsigned short *)0x470) +#define RMIDL13L (*(volatile __near unsigned char *)0x470) +#define RMIDL13H (*(volatile __near unsigned char *)0x471) +#define RMIDH13 (*(volatile __near unsigned short *)0x472) +#define RMIDH13L (*(volatile __near unsigned char *)0x472) +#define RMIDH13H (*(volatile __near unsigned char *)0x473) +#define RMTS13 (*(volatile __near unsigned short *)0x474) +#define RMTS13L (*(volatile __near unsigned char *)0x474) +#define RMTS13H (*(volatile __near unsigned char *)0x475) +#define RMPTR13 (*(volatile __near unsigned short *)0x476) +#define RMPTR13L (*(volatile __near unsigned char *)0x476) +#define RMPTR13H (*(volatile __near unsigned char *)0x477) +#define RMDF013 (*(volatile __near unsigned short *)0x478) +#define RMDF013L (*(volatile __near unsigned char *)0x478) +#define RMDF013H (*(volatile __near unsigned char *)0x479) +#define RMDF113 (*(volatile __near unsigned short *)0x47A) +#define RMDF113L (*(volatile __near unsigned char *)0x47A) +#define RMDF113H (*(volatile __near unsigned char *)0x47B) +#define RMDF213 (*(volatile __near unsigned short *)0x47C) +#define RMDF213L (*(volatile __near unsigned char *)0x47C) +#define RMDF213H (*(volatile __near unsigned char *)0x47D) +#define RMDF313 (*(volatile __near unsigned short *)0x47E) +#define RMDF313L (*(volatile __near unsigned char *)0x47E) +#define RMDF313H (*(volatile __near unsigned char *)0x47F) +#define RMIDL14 (*(volatile __near unsigned short *)0x480) +#define RMIDL14L (*(volatile __near unsigned char *)0x480) +#define RMIDL14H (*(volatile __near unsigned char *)0x481) +#define RMIDH14 (*(volatile __near unsigned short *)0x482) +#define RMIDH14L (*(volatile __near unsigned char *)0x482) +#define RMIDH14H (*(volatile __near unsigned char *)0x483) +#define RMTS14 (*(volatile __near unsigned short *)0x484) +#define RMTS14L (*(volatile __near unsigned char *)0x484) +#define RMTS14H (*(volatile __near unsigned char *)0x485) +#define RMPTR14 (*(volatile __near unsigned short *)0x486) +#define RMPTR14L (*(volatile __near unsigned char *)0x486) +#define RMPTR14H (*(volatile __near unsigned char *)0x487) +#define RMDF014 (*(volatile __near unsigned short *)0x488) +#define RMDF014L (*(volatile __near unsigned char *)0x488) +#define RMDF014H (*(volatile __near unsigned char *)0x489) +#define RMDF114 (*(volatile __near unsigned short *)0x48A) +#define RMDF114L (*(volatile __near unsigned char *)0x48A) +#define RMDF114H (*(volatile __near unsigned char *)0x48B) +#define RMDF214 (*(volatile __near unsigned short *)0x48C) +#define RMDF214L (*(volatile __near unsigned char *)0x48C) +#define RMDF214H (*(volatile __near unsigned char *)0x48D) +#define RMDF314 (*(volatile __near unsigned short *)0x48E) +#define RMDF314L (*(volatile __near unsigned char *)0x48E) +#define RMDF314H (*(volatile __near unsigned char *)0x48F) +#define RMIDL15 (*(volatile __near unsigned short *)0x490) +#define RMIDL15L (*(volatile __near unsigned char *)0x490) +#define RMIDL15H (*(volatile __near unsigned char *)0x491) +#define RMIDH15 (*(volatile __near unsigned short *)0x492) +#define RMIDH15L (*(volatile __near unsigned char *)0x492) +#define RMIDH15H (*(volatile __near unsigned char *)0x493) +#define RMTS15 (*(volatile __near unsigned short *)0x494) +#define RMTS15L (*(volatile __near unsigned char *)0x494) +#define RMTS15H (*(volatile __near unsigned char *)0x495) +#define RMPTR15 (*(volatile __near unsigned short *)0x496) +#define RMPTR15L (*(volatile __near unsigned char *)0x496) +#define RMPTR15H (*(volatile __near unsigned char *)0x497) +#define RMDF015 (*(volatile __near unsigned short *)0x498) +#define RMDF015L (*(volatile __near unsigned char *)0x498) +#define RMDF015H (*(volatile __near unsigned char *)0x499) +#define RMDF115 (*(volatile __near unsigned short *)0x49A) +#define RMDF115L (*(volatile __near unsigned char *)0x49A) +#define RMDF115H (*(volatile __near unsigned char *)0x49B) +#define RMDF215 (*(volatile __near unsigned short *)0x49C) +#define RMDF215L (*(volatile __near unsigned char *)0x49C) +#define RMDF215H (*(volatile __near unsigned char *)0x49D) +#define RMDF315 (*(volatile __near unsigned short *)0x49E) +#define RMDF315L (*(volatile __near unsigned char *)0x49E) +#define RMDF315H (*(volatile __near unsigned char *)0x49F) +#define RPGACC0 (*(volatile __near unsigned short *)0x580) +#define RPGACC0L (*(volatile __near unsigned char *)0x580) +#define RPGACC0H (*(volatile __near unsigned char *)0x581) +#define RPGACC1 (*(volatile __near unsigned short *)0x582) +#define RPGACC1L (*(volatile __near unsigned char *)0x582) +#define RPGACC1H (*(volatile __near unsigned char *)0x583) +#define RPGACC2 (*(volatile __near unsigned short *)0x584) +#define RPGACC2L (*(volatile __near unsigned char *)0x584) +#define RPGACC2H (*(volatile __near unsigned char *)0x585) +#define RPGACC3 (*(volatile __near unsigned short *)0x586) +#define RPGACC3L (*(volatile __near unsigned char *)0x586) +#define RPGACC3H (*(volatile __near unsigned char *)0x587) +#define RPGACC4 (*(volatile __near unsigned short *)0x588) +#define RPGACC4L (*(volatile __near unsigned char *)0x588) +#define RPGACC4H (*(volatile __near unsigned char *)0x589) +#define RPGACC5 (*(volatile __near unsigned short *)0x58A) +#define RPGACC5L (*(volatile __near unsigned char *)0x58A) +#define RPGACC5H (*(volatile __near unsigned char *)0x58B) +#define RPGACC6 (*(volatile __near unsigned short *)0x58C) +#define RPGACC6L (*(volatile __near unsigned char *)0x58C) +#define RPGACC6H (*(volatile __near unsigned char *)0x58D) +#define RPGACC7 (*(volatile __near unsigned short *)0x58E) +#define RPGACC7L (*(volatile __near unsigned char *)0x58E) +#define RPGACC7H (*(volatile __near unsigned char *)0x58F) +#define RPGACC8 (*(volatile __near unsigned short *)0x590) +#define RPGACC8L (*(volatile __near unsigned char *)0x590) +#define RPGACC8H (*(volatile __near unsigned char *)0x591) +#define RPGACC9 (*(volatile __near unsigned short *)0x592) +#define RPGACC9L (*(volatile __near unsigned char *)0x592) +#define RPGACC9H (*(volatile __near unsigned char *)0x593) +#define RPGACC10 (*(volatile __near unsigned short *)0x594) +#define RPGACC10L (*(volatile __near unsigned char *)0x594) +#define RPGACC10H (*(volatile __near unsigned char *)0x595) +#define RPGACC11 (*(volatile __near unsigned short *)0x596) +#define RPGACC11L (*(volatile __near unsigned char *)0x596) +#define RPGACC11H (*(volatile __near unsigned char *)0x597) +#define RPGACC12 (*(volatile __near unsigned short *)0x598) +#define RPGACC12L (*(volatile __near unsigned char *)0x598) +#define RPGACC12H (*(volatile __near unsigned char *)0x599) +#define RPGACC13 (*(volatile __near unsigned short *)0x59A) +#define RPGACC13L (*(volatile __near unsigned char *)0x59A) +#define RPGACC13H (*(volatile __near unsigned char *)0x59B) +#define RPGACC14 (*(volatile __near unsigned short *)0x59C) +#define RPGACC14L (*(volatile __near unsigned char *)0x59C) +#define RPGACC14H (*(volatile __near unsigned char *)0x59D) +#define RPGACC15 (*(volatile __near unsigned short *)0x59E) +#define RPGACC15L (*(volatile __near unsigned char *)0x59E) +#define RPGACC15H (*(volatile __near unsigned char *)0x59F) +#define RFIDL0 (*(volatile __near unsigned short *)0x5A0) +#define RPGACC16 (*(volatile __near unsigned short *)0x5A0) +#define RFIDL0L (*(volatile __near unsigned char *)0x5A0) +#define RPGACC16L (*(volatile __near unsigned char *)0x5A0) +#define RFIDL0H (*(volatile __near unsigned char *)0x5A1) +#define RPGACC16H (*(volatile __near unsigned char *)0x5A1) +#define RFIDH0 (*(volatile __near unsigned short *)0x5A2) +#define RPGACC17 (*(volatile __near unsigned short *)0x5A2) +#define RFIDH0L (*(volatile __near unsigned char *)0x5A2) +#define RPGACC17L (*(volatile __near unsigned char *)0x5A2) +#define RFIDH0H (*(volatile __near unsigned char *)0x5A3) +#define RPGACC17H (*(volatile __near unsigned char *)0x5A3) +#define RFTS0 (*(volatile __near unsigned short *)0x5A4) +#define RPGACC18 (*(volatile __near unsigned short *)0x5A4) +#define RFTS0L (*(volatile __near unsigned char *)0x5A4) +#define RPGACC18L (*(volatile __near unsigned char *)0x5A4) +#define RFTS0H (*(volatile __near unsigned char *)0x5A5) +#define RPGACC18H (*(volatile __near unsigned char *)0x5A5) +#define RFPTR0 (*(volatile __near unsigned short *)0x5A6) +#define RPGACC19 (*(volatile __near unsigned short *)0x5A6) +#define RFPTR0L (*(volatile __near unsigned char *)0x5A6) +#define RPGACC19L (*(volatile __near unsigned char *)0x5A6) +#define RFPTR0H (*(volatile __near unsigned char *)0x5A7) +#define RPGACC19H (*(volatile __near unsigned char *)0x5A7) +#define RFDF00 (*(volatile __near unsigned short *)0x5A8) +#define RPGACC20 (*(volatile __near unsigned short *)0x5A8) +#define RFDF00L (*(volatile __near unsigned char *)0x5A8) +#define RPGACC20L (*(volatile __near unsigned char *)0x5A8) +#define RFDF00H (*(volatile __near unsigned char *)0x5A9) +#define RPGACC20H (*(volatile __near unsigned char *)0x5A9) +#define RFDF10 (*(volatile __near unsigned short *)0x5AA) +#define RPGACC21 (*(volatile __near unsigned short *)0x5AA) +#define RFDF10L (*(volatile __near unsigned char *)0x5AA) +#define RPGACC21L (*(volatile __near unsigned char *)0x5AA) +#define RFDF10H (*(volatile __near unsigned char *)0x5AB) +#define RPGACC21H (*(volatile __near unsigned char *)0x5AB) +#define RFDF20 (*(volatile __near unsigned short *)0x5AC) +#define RPGACC22 (*(volatile __near unsigned short *)0x5AC) +#define RFDF20L (*(volatile __near unsigned char *)0x5AC) +#define RPGACC22L (*(volatile __near unsigned char *)0x5AC) +#define RFDF20H (*(volatile __near unsigned char *)0x5AD) +#define RPGACC22H (*(volatile __near unsigned char *)0x5AD) +#define RFDF30 (*(volatile __near unsigned short *)0x5AE) +#define RPGACC23 (*(volatile __near unsigned short *)0x5AE) +#define RFDF30L (*(volatile __near unsigned char *)0x5AE) +#define RPGACC23L (*(volatile __near unsigned char *)0x5AE) +#define RFDF30H (*(volatile __near unsigned char *)0x5AF) +#define RPGACC23H (*(volatile __near unsigned char *)0x5AF) +#define RFIDL1 (*(volatile __near unsigned short *)0x5B0) +#define RPGACC24 (*(volatile __near unsigned short *)0x5B0) +#define RFIDL1L (*(volatile __near unsigned char *)0x5B0) +#define RPGACC24L (*(volatile __near unsigned char *)0x5B0) +#define RFIDL1H (*(volatile __near unsigned char *)0x5B1) +#define RPGACC24H (*(volatile __near unsigned char *)0x5B1) +#define RFIDH1 (*(volatile __near unsigned short *)0x5B2) +#define RPGACC25 (*(volatile __near unsigned short *)0x5B2) +#define RFIDH1L (*(volatile __near unsigned char *)0x5B2) +#define RPGACC25L (*(volatile __near unsigned char *)0x5B2) +#define RFIDH1H (*(volatile __near unsigned char *)0x5B3) +#define RPGACC25H (*(volatile __near unsigned char *)0x5B3) +#define RFTS1 (*(volatile __near unsigned short *)0x5B4) +#define RPGACC26 (*(volatile __near unsigned short *)0x5B4) +#define RFTS1L (*(volatile __near unsigned char *)0x5B4) +#define RPGACC26L (*(volatile __near unsigned char *)0x5B4) +#define RFTS1H (*(volatile __near unsigned char *)0x5B5) +#define RPGACC26H (*(volatile __near unsigned char *)0x5B5) +#define RFPTR1 (*(volatile __near unsigned short *)0x5B6) +#define RPGACC27 (*(volatile __near unsigned short *)0x5B6) +#define RFPTR1L (*(volatile __near unsigned char *)0x5B6) +#define RPGACC27L (*(volatile __near unsigned char *)0x5B6) +#define RFPTR1H (*(volatile __near unsigned char *)0x5B7) +#define RPGACC27H (*(volatile __near unsigned char *)0x5B7) +#define RFDF01 (*(volatile __near unsigned short *)0x5B8) +#define RPGACC28 (*(volatile __near unsigned short *)0x5B8) +#define RFDF01L (*(volatile __near unsigned char *)0x5B8) +#define RPGACC28L (*(volatile __near unsigned char *)0x5B8) +#define RFDF01H (*(volatile __near unsigned char *)0x5B9) +#define RPGACC28H (*(volatile __near unsigned char *)0x5B9) +#define RFDF11 (*(volatile __near unsigned short *)0x5BA) +#define RPGACC29 (*(volatile __near unsigned short *)0x5BA) +#define RFDF11L (*(volatile __near unsigned char *)0x5BA) +#define RPGACC29L (*(volatile __near unsigned char *)0x5BA) +#define RFDF11H (*(volatile __near unsigned char *)0x5BB) +#define RPGACC29H (*(volatile __near unsigned char *)0x5BB) +#define RFDF21 (*(volatile __near unsigned short *)0x5BC) +#define RPGACC30 (*(volatile __near unsigned short *)0x5BC) +#define RFDF21L (*(volatile __near unsigned char *)0x5BC) +#define RPGACC30L (*(volatile __near unsigned char *)0x5BC) +#define RFDF21H (*(volatile __near unsigned char *)0x5BD) +#define RPGACC30H (*(volatile __near unsigned char *)0x5BD) +#define RFDF31 (*(volatile __near unsigned short *)0x5BE) +#define RPGACC31 (*(volatile __near unsigned short *)0x5BE) +#define RFDF31L (*(volatile __near unsigned char *)0x5BE) +#define RPGACC31L (*(volatile __near unsigned char *)0x5BE) +#define RFDF31H (*(volatile __near unsigned char *)0x5BF) +#define RPGACC31H (*(volatile __near unsigned char *)0x5BF) +#define RPGACC32 (*(volatile __near unsigned short *)0x5C0) +#define RPGACC32L (*(volatile __near unsigned char *)0x5C0) +#define RPGACC32H (*(volatile __near unsigned char *)0x5C1) +#define RPGACC33 (*(volatile __near unsigned short *)0x5C2) +#define RPGACC33L (*(volatile __near unsigned char *)0x5C2) +#define RPGACC33H (*(volatile __near unsigned char *)0x5C3) +#define RPGACC34 (*(volatile __near unsigned short *)0x5C4) +#define RPGACC34L (*(volatile __near unsigned char *)0x5C4) +#define RPGACC34H (*(volatile __near unsigned char *)0x5C5) +#define RPGACC35 (*(volatile __near unsigned short *)0x5C6) +#define RPGACC35L (*(volatile __near unsigned char *)0x5C6) +#define RPGACC35H (*(volatile __near unsigned char *)0x5C7) +#define RPGACC36 (*(volatile __near unsigned short *)0x5C8) +#define RPGACC36L (*(volatile __near unsigned char *)0x5C8) +#define RPGACC36H (*(volatile __near unsigned char *)0x5C9) +#define RPGACC37 (*(volatile __near unsigned short *)0x5CA) +#define RPGACC37L (*(volatile __near unsigned char *)0x5CA) +#define RPGACC37H (*(volatile __near unsigned char *)0x5CB) +#define RPGACC38 (*(volatile __near unsigned short *)0x5CC) +#define RPGACC38L (*(volatile __near unsigned char *)0x5CC) +#define RPGACC38H (*(volatile __near unsigned char *)0x5CD) +#define RPGACC39 (*(volatile __near unsigned short *)0x5CE) +#define RPGACC39L (*(volatile __near unsigned char *)0x5CE) +#define RPGACC39H (*(volatile __near unsigned char *)0x5CF) +#define RPGACC40 (*(volatile __near unsigned short *)0x5D0) +#define RPGACC40L (*(volatile __near unsigned char *)0x5D0) +#define RPGACC40H (*(volatile __near unsigned char *)0x5D1) +#define RPGACC41 (*(volatile __near unsigned short *)0x5D2) +#define RPGACC41L (*(volatile __near unsigned char *)0x5D2) +#define RPGACC41H (*(volatile __near unsigned char *)0x5D3) +#define RPGACC42 (*(volatile __near unsigned short *)0x5D4) +#define RPGACC42L (*(volatile __near unsigned char *)0x5D4) +#define RPGACC42H (*(volatile __near unsigned char *)0x5D5) +#define RPGACC43 (*(volatile __near unsigned short *)0x5D6) +#define RPGACC43L (*(volatile __near unsigned char *)0x5D6) +#define RPGACC43H (*(volatile __near unsigned char *)0x5D7) +#define RPGACC44 (*(volatile __near unsigned short *)0x5D8) +#define RPGACC44L (*(volatile __near unsigned char *)0x5D8) +#define RPGACC44H (*(volatile __near unsigned char *)0x5D9) +#define RPGACC45 (*(volatile __near unsigned short *)0x5DA) +#define RPGACC45L (*(volatile __near unsigned char *)0x5DA) +#define RPGACC45H (*(volatile __near unsigned char *)0x5DB) +#define RPGACC46 (*(volatile __near unsigned short *)0x5DC) +#define RPGACC46L (*(volatile __near unsigned char *)0x5DC) +#define RPGACC46H (*(volatile __near unsigned char *)0x5DD) +#define RPGACC47 (*(volatile __near unsigned short *)0x5DE) +#define RPGACC47L (*(volatile __near unsigned char *)0x5DE) +#define RPGACC47H (*(volatile __near unsigned char *)0x5DF) +#define CFIDL0 (*(volatile __near unsigned short *)0x5E0) +#define RPGACC48 (*(volatile __near unsigned short *)0x5E0) +#define CFIDL0L (*(volatile __near unsigned char *)0x5E0) +#define RPGACC48L (*(volatile __near unsigned char *)0x5E0) +#define CFIDL0H (*(volatile __near unsigned char *)0x5E1) +#define RPGACC48H (*(volatile __near unsigned char *)0x5E1) +#define CFIDH0 (*(volatile __near unsigned short *)0x5E2) +#define RPGACC49 (*(volatile __near unsigned short *)0x5E2) +#define CFIDH0L (*(volatile __near unsigned char *)0x5E2) +#define RPGACC49L (*(volatile __near unsigned char *)0x5E2) +#define CFIDH0H (*(volatile __near unsigned char *)0x5E3) +#define RPGACC49H (*(volatile __near unsigned char *)0x5E3) +#define CFTS0 (*(volatile __near unsigned short *)0x5E4) +#define RPGACC50 (*(volatile __near unsigned short *)0x5E4) +#define CFTS0L (*(volatile __near unsigned char *)0x5E4) +#define RPGACC50L (*(volatile __near unsigned char *)0x5E4) +#define CFTS0H (*(volatile __near unsigned char *)0x5E5) +#define RPGACC50H (*(volatile __near unsigned char *)0x5E5) +#define CFPTR0 (*(volatile __near unsigned short *)0x5E6) +#define RPGACC51 (*(volatile __near unsigned short *)0x5E6) +#define CFPTR0L (*(volatile __near unsigned char *)0x5E6) +#define RPGACC51L (*(volatile __near unsigned char *)0x5E6) +#define CFPTR0H (*(volatile __near unsigned char *)0x5E7) +#define RPGACC51H (*(volatile __near unsigned char *)0x5E7) +#define CFDF00 (*(volatile __near unsigned short *)0x5E8) +#define RPGACC52 (*(volatile __near unsigned short *)0x5E8) +#define CFDF00L (*(volatile __near unsigned char *)0x5E8) +#define RPGACC52L (*(volatile __near unsigned char *)0x5E8) +#define CFDF00H (*(volatile __near unsigned char *)0x5E9) +#define RPGACC52H (*(volatile __near unsigned char *)0x5E9) +#define CFDF10 (*(volatile __near unsigned short *)0x5EA) +#define RPGACC53 (*(volatile __near unsigned short *)0x5EA) +#define CFDF10L (*(volatile __near unsigned char *)0x5EA) +#define RPGACC53L (*(volatile __near unsigned char *)0x5EA) +#define CFDF10H (*(volatile __near unsigned char *)0x5EB) +#define RPGACC53H (*(volatile __near unsigned char *)0x5EB) +#define CFDF20 (*(volatile __near unsigned short *)0x5EC) +#define RPGACC54 (*(volatile __near unsigned short *)0x5EC) +#define CFDF20L (*(volatile __near unsigned char *)0x5EC) +#define RPGACC54L (*(volatile __near unsigned char *)0x5EC) +#define CFDF20H (*(volatile __near unsigned char *)0x5ED) +#define RPGACC54H (*(volatile __near unsigned char *)0x5ED) +#define CFDF30 (*(volatile __near unsigned short *)0x5EE) +#define RPGACC55 (*(volatile __near unsigned short *)0x5EE) +#define CFDF30L (*(volatile __near unsigned char *)0x5EE) +#define RPGACC55L (*(volatile __near unsigned char *)0x5EE) +#define CFDF30H (*(volatile __near unsigned char *)0x5EF) +#define RPGACC55H (*(volatile __near unsigned char *)0x5EF) +#define RPGACC56 (*(volatile __near unsigned short *)0x5F0) +#define RPGACC56L (*(volatile __near unsigned char *)0x5F0) +#define RPGACC56H (*(volatile __near unsigned char *)0x5F1) +#define RPGACC57 (*(volatile __near unsigned short *)0x5F2) +#define RPGACC57L (*(volatile __near unsigned char *)0x5F2) +#define RPGACC57H (*(volatile __near unsigned char *)0x5F3) +#define RPGACC58 (*(volatile __near unsigned short *)0x5F4) +#define RPGACC58L (*(volatile __near unsigned char *)0x5F4) +#define RPGACC58H (*(volatile __near unsigned char *)0x5F5) +#define RPGACC59 (*(volatile __near unsigned short *)0x5F6) +#define RPGACC59L (*(volatile __near unsigned char *)0x5F6) +#define RPGACC59H (*(volatile __near unsigned char *)0x5F7) +#define RPGACC60 (*(volatile __near unsigned short *)0x5F8) +#define RPGACC60L (*(volatile __near unsigned char *)0x5F8) +#define RPGACC60H (*(volatile __near unsigned char *)0x5F9) +#define RPGACC61 (*(volatile __near unsigned short *)0x5FA) +#define RPGACC61L (*(volatile __near unsigned char *)0x5FA) +#define RPGACC61H (*(volatile __near unsigned char *)0x5FB) +#define RPGACC62 (*(volatile __near unsigned short *)0x5FC) +#define RPGACC62L (*(volatile __near unsigned char *)0x5FC) +#define RPGACC62H (*(volatile __near unsigned char *)0x5FD) +#define RPGACC63 (*(volatile __near unsigned short *)0x5FE) +#define RPGACC63L (*(volatile __near unsigned char *)0x5FE) +#define RPGACC63H (*(volatile __near unsigned char *)0x5FF) +#define RPGACC64 (*(volatile __near unsigned short *)0x600) +#define TMIDL0 (*(volatile __near unsigned short *)0x600) +#define RPGACC64L (*(volatile __near unsigned char *)0x600) +#define TMIDL0L (*(volatile __near unsigned char *)0x600) +#define RPGACC64H (*(volatile __near unsigned char *)0x601) +#define TMIDL0H (*(volatile __near unsigned char *)0x601) +#define RPGACC65 (*(volatile __near unsigned short *)0x602) +#define TMIDH0 (*(volatile __near unsigned short *)0x602) +#define RPGACC65L (*(volatile __near unsigned char *)0x602) +#define TMIDH0L (*(volatile __near unsigned char *)0x602) +#define RPGACC65H (*(volatile __near unsigned char *)0x603) +#define TMIDH0H (*(volatile __near unsigned char *)0x603) +#define RPGACC66 (*(volatile __near unsigned short *)0x604) +#define RPGACC66L (*(volatile __near unsigned char *)0x604) +#define RPGACC66H (*(volatile __near unsigned char *)0x605) +#define RPGACC67 (*(volatile __near unsigned short *)0x606) +#define TMPTR0 (*(volatile __near unsigned short *)0x606) +#define RPGACC67L (*(volatile __near unsigned char *)0x606) +#define TMPTR0L (*(volatile __near unsigned char *)0x606) +#define RPGACC67H (*(volatile __near unsigned char *)0x607) +#define TMPTR0H (*(volatile __near unsigned char *)0x607) +#define RPGACC68 (*(volatile __near unsigned short *)0x608) +#define TMDF00 (*(volatile __near unsigned short *)0x608) +#define RPGACC68L (*(volatile __near unsigned char *)0x608) +#define TMDF00L (*(volatile __near unsigned char *)0x608) +#define RPGACC68H (*(volatile __near unsigned char *)0x609) +#define TMDF00H (*(volatile __near unsigned char *)0x609) +#define RPGACC69 (*(volatile __near unsigned short *)0x60A) +#define TMDF10 (*(volatile __near unsigned short *)0x60A) +#define RPGACC69L (*(volatile __near unsigned char *)0x60A) +#define TMDF10L (*(volatile __near unsigned char *)0x60A) +#define RPGACC69H (*(volatile __near unsigned char *)0x60B) +#define TMDF10H (*(volatile __near unsigned char *)0x60B) +#define RPGACC70 (*(volatile __near unsigned short *)0x60C) +#define TMDF20 (*(volatile __near unsigned short *)0x60C) +#define RPGACC70L (*(volatile __near unsigned char *)0x60C) +#define TMDF20L (*(volatile __near unsigned char *)0x60C) +#define RPGACC70H (*(volatile __near unsigned char *)0x60D) +#define TMDF20H (*(volatile __near unsigned char *)0x60D) +#define RPGACC71 (*(volatile __near unsigned short *)0x60E) +#define TMDF30 (*(volatile __near unsigned short *)0x60E) +#define RPGACC71L (*(volatile __near unsigned char *)0x60E) +#define TMDF30L (*(volatile __near unsigned char *)0x60E) +#define RPGACC71H (*(volatile __near unsigned char *)0x60F) +#define TMDF30H (*(volatile __near unsigned char *)0x60F) +#define RPGACC72 (*(volatile __near unsigned short *)0x610) +#define TMIDL1 (*(volatile __near unsigned short *)0x610) +#define RPGACC72L (*(volatile __near unsigned char *)0x610) +#define TMIDL1L (*(volatile __near unsigned char *)0x610) +#define RPGACC72H (*(volatile __near unsigned char *)0x611) +#define TMIDL1H (*(volatile __near unsigned char *)0x611) +#define RPGACC73 (*(volatile __near unsigned short *)0x612) +#define TMIDH1 (*(volatile __near unsigned short *)0x612) +#define RPGACC73L (*(volatile __near unsigned char *)0x612) +#define TMIDH1L (*(volatile __near unsigned char *)0x612) +#define RPGACC73H (*(volatile __near unsigned char *)0x613) +#define TMIDH1H (*(volatile __near unsigned char *)0x613) +#define RPGACC74 (*(volatile __near unsigned short *)0x614) +#define RPGACC74L (*(volatile __near unsigned char *)0x614) +#define RPGACC74H (*(volatile __near unsigned char *)0x615) +#define RPGACC75 (*(volatile __near unsigned short *)0x616) +#define TMPTR1 (*(volatile __near unsigned short *)0x616) +#define RPGACC75L (*(volatile __near unsigned char *)0x616) +#define TMPTR1L (*(volatile __near unsigned char *)0x616) +#define RPGACC75H (*(volatile __near unsigned char *)0x617) +#define TMPTR1H (*(volatile __near unsigned char *)0x617) +#define RPGACC76 (*(volatile __near unsigned short *)0x618) +#define TMDF01 (*(volatile __near unsigned short *)0x618) +#define RPGACC76L (*(volatile __near unsigned char *)0x618) +#define TMDF01L (*(volatile __near unsigned char *)0x618) +#define RPGACC76H (*(volatile __near unsigned char *)0x619) +#define TMDF01H (*(volatile __near unsigned char *)0x619) +#define RPGACC77 (*(volatile __near unsigned short *)0x61A) +#define TMDF11 (*(volatile __near unsigned short *)0x61A) +#define RPGACC77L (*(volatile __near unsigned char *)0x61A) +#define TMDF11L (*(volatile __near unsigned char *)0x61A) +#define RPGACC77H (*(volatile __near unsigned char *)0x61B) +#define TMDF11H (*(volatile __near unsigned char *)0x61B) +#define RPGACC78 (*(volatile __near unsigned short *)0x61C) +#define TMDF21 (*(volatile __near unsigned short *)0x61C) +#define RPGACC78L (*(volatile __near unsigned char *)0x61C) +#define TMDF21L (*(volatile __near unsigned char *)0x61C) +#define RPGACC78H (*(volatile __near unsigned char *)0x61D) +#define TMDF21H (*(volatile __near unsigned char *)0x61D) +#define RPGACC79 (*(volatile __near unsigned short *)0x61E) +#define TMDF31 (*(volatile __near unsigned short *)0x61E) +#define RPGACC79L (*(volatile __near unsigned char *)0x61E) +#define TMDF31L (*(volatile __near unsigned char *)0x61E) +#define RPGACC79H (*(volatile __near unsigned char *)0x61F) +#define TMDF31H (*(volatile __near unsigned char *)0x61F) +#define RPGACC80 (*(volatile __near unsigned short *)0x620) +#define TMIDL2 (*(volatile __near unsigned short *)0x620) +#define RPGACC80L (*(volatile __near unsigned char *)0x620) +#define TMIDL2L (*(volatile __near unsigned char *)0x620) +#define RPGACC80H (*(volatile __near unsigned char *)0x621) +#define TMIDL2H (*(volatile __near unsigned char *)0x621) +#define RPGACC81 (*(volatile __near unsigned short *)0x622) +#define TMIDH2 (*(volatile __near unsigned short *)0x622) +#define RPGACC81L (*(volatile __near unsigned char *)0x622) +#define TMIDH2L (*(volatile __near unsigned char *)0x622) +#define RPGACC81H (*(volatile __near unsigned char *)0x623) +#define TMIDH2H (*(volatile __near unsigned char *)0x623) +#define RPGACC82 (*(volatile __near unsigned short *)0x624) +#define RPGACC82L (*(volatile __near unsigned char *)0x624) +#define RPGACC82H (*(volatile __near unsigned char *)0x625) +#define RPGACC83 (*(volatile __near unsigned short *)0x626) +#define TMPTR2 (*(volatile __near unsigned short *)0x626) +#define RPGACC83L (*(volatile __near unsigned char *)0x626) +#define TMPTR2L (*(volatile __near unsigned char *)0x626) +#define RPGACC83H (*(volatile __near unsigned char *)0x627) +#define TMPTR2H (*(volatile __near unsigned char *)0x627) +#define RPGACC84 (*(volatile __near unsigned short *)0x628) +#define TMDF02 (*(volatile __near unsigned short *)0x628) +#define RPGACC84L (*(volatile __near unsigned char *)0x628) +#define TMDF02L (*(volatile __near unsigned char *)0x628) +#define RPGACC84H (*(volatile __near unsigned char *)0x629) +#define TMDF02H (*(volatile __near unsigned char *)0x629) +#define RPGACC85 (*(volatile __near unsigned short *)0x62A) +#define TMDF12 (*(volatile __near unsigned short *)0x62A) +#define RPGACC85L (*(volatile __near unsigned char *)0x62A) +#define TMDF12L (*(volatile __near unsigned char *)0x62A) +#define RPGACC85H (*(volatile __near unsigned char *)0x62B) +#define TMDF12H (*(volatile __near unsigned char *)0x62B) +#define RPGACC86 (*(volatile __near unsigned short *)0x62C) +#define TMDF22 (*(volatile __near unsigned short *)0x62C) +#define RPGACC86L (*(volatile __near unsigned char *)0x62C) +#define TMDF22L (*(volatile __near unsigned char *)0x62C) +#define RPGACC86H (*(volatile __near unsigned char *)0x62D) +#define TMDF22H (*(volatile __near unsigned char *)0x62D) +#define RPGACC87 (*(volatile __near unsigned short *)0x62E) +#define TMDF32 (*(volatile __near unsigned short *)0x62E) +#define RPGACC87L (*(volatile __near unsigned char *)0x62E) +#define TMDF32L (*(volatile __near unsigned char *)0x62E) +#define RPGACC87H (*(volatile __near unsigned char *)0x62F) +#define TMDF32H (*(volatile __near unsigned char *)0x62F) +#define RPGACC88 (*(volatile __near unsigned short *)0x630) +#define TMIDL3 (*(volatile __near unsigned short *)0x630) +#define RPGACC88L (*(volatile __near unsigned char *)0x630) +#define TMIDL3L (*(volatile __near unsigned char *)0x630) +#define RPGACC88H (*(volatile __near unsigned char *)0x631) +#define TMIDL3H (*(volatile __near unsigned char *)0x631) +#define RPGACC89 (*(volatile __near unsigned short *)0x632) +#define TMIDH3 (*(volatile __near unsigned short *)0x632) +#define RPGACC89L (*(volatile __near unsigned char *)0x632) +#define TMIDH3L (*(volatile __near unsigned char *)0x632) +#define RPGACC89H (*(volatile __near unsigned char *)0x633) +#define TMIDH3H (*(volatile __near unsigned char *)0x633) +#define RPGACC90 (*(volatile __near unsigned short *)0x634) +#define RPGACC90L (*(volatile __near unsigned char *)0x634) +#define RPGACC90H (*(volatile __near unsigned char *)0x635) +#define RPGACC91 (*(volatile __near unsigned short *)0x636) +#define TMPTR3 (*(volatile __near unsigned short *)0x636) +#define RPGACC91L (*(volatile __near unsigned char *)0x636) +#define TMPTR3L (*(volatile __near unsigned char *)0x636) +#define RPGACC91H (*(volatile __near unsigned char *)0x637) +#define TMPTR3H (*(volatile __near unsigned char *)0x637) +#define RPGACC92 (*(volatile __near unsigned short *)0x638) +#define TMDF03 (*(volatile __near unsigned short *)0x638) +#define RPGACC92L (*(volatile __near unsigned char *)0x638) +#define TMDF03L (*(volatile __near unsigned char *)0x638) +#define RPGACC92H (*(volatile __near unsigned char *)0x639) +#define TMDF03H (*(volatile __near unsigned char *)0x639) +#define RPGACC93 (*(volatile __near unsigned short *)0x63A) +#define TMDF13 (*(volatile __near unsigned short *)0x63A) +#define RPGACC93L (*(volatile __near unsigned char *)0x63A) +#define TMDF13L (*(volatile __near unsigned char *)0x63A) +#define RPGACC93H (*(volatile __near unsigned char *)0x63B) +#define TMDF13H (*(volatile __near unsigned char *)0x63B) +#define RPGACC94 (*(volatile __near unsigned short *)0x63C) +#define TMDF23 (*(volatile __near unsigned short *)0x63C) +#define RPGACC94L (*(volatile __near unsigned char *)0x63C) +#define TMDF23L (*(volatile __near unsigned char *)0x63C) +#define RPGACC94H (*(volatile __near unsigned char *)0x63D) +#define TMDF23H (*(volatile __near unsigned char *)0x63D) +#define RPGACC95 (*(volatile __near unsigned short *)0x63E) +#define TMDF33 (*(volatile __near unsigned short *)0x63E) +#define RPGACC95L (*(volatile __near unsigned char *)0x63E) +#define TMDF33L (*(volatile __near unsigned char *)0x63E) +#define RPGACC95H (*(volatile __near unsigned char *)0x63F) +#define TMDF33H (*(volatile __near unsigned char *)0x63F) +#define RPGACC96 (*(volatile __near unsigned short *)0x640) +#define RPGACC96L (*(volatile __near unsigned char *)0x640) +#define RPGACC96H (*(volatile __near unsigned char *)0x641) +#define RPGACC97 (*(volatile __near unsigned short *)0x642) +#define RPGACC97L (*(volatile __near unsigned char *)0x642) +#define RPGACC97H (*(volatile __near unsigned char *)0x643) +#define RPGACC98 (*(volatile __near unsigned short *)0x644) +#define RPGACC98L (*(volatile __near unsigned char *)0x644) +#define RPGACC98H (*(volatile __near unsigned char *)0x645) +#define RPGACC99 (*(volatile __near unsigned short *)0x646) +#define RPGACC99L (*(volatile __near unsigned char *)0x646) +#define RPGACC99H (*(volatile __near unsigned char *)0x647) +#define RPGACC100 (*(volatile __near unsigned short *)0x648) +#define RPGACC100L (*(volatile __near unsigned char *)0x648) +#define RPGACC100H (*(volatile __near unsigned char *)0x649) +#define RPGACC101 (*(volatile __near unsigned short *)0x64A) +#define RPGACC101L (*(volatile __near unsigned char *)0x64A) +#define RPGACC101H (*(volatile __near unsigned char *)0x64B) +#define RPGACC102 (*(volatile __near unsigned short *)0x64C) +#define RPGACC102L (*(volatile __near unsigned char *)0x64C) +#define RPGACC102H (*(volatile __near unsigned char *)0x64D) +#define RPGACC103 (*(volatile __near unsigned short *)0x64E) +#define RPGACC103L (*(volatile __near unsigned char *)0x64E) +#define RPGACC103H (*(volatile __near unsigned char *)0x64F) +#define RPGACC104 (*(volatile __near unsigned short *)0x650) +#define RPGACC104L (*(volatile __near unsigned char *)0x650) +#define RPGACC104H (*(volatile __near unsigned char *)0x651) +#define RPGACC105 (*(volatile __near unsigned short *)0x652) +#define RPGACC105L (*(volatile __near unsigned char *)0x652) +#define RPGACC105H (*(volatile __near unsigned char *)0x653) +#define RPGACC106 (*(volatile __near unsigned short *)0x654) +#define RPGACC106L (*(volatile __near unsigned char *)0x654) +#define RPGACC106H (*(volatile __near unsigned char *)0x655) +#define RPGACC107 (*(volatile __near unsigned short *)0x656) +#define RPGACC107L (*(volatile __near unsigned char *)0x656) +#define RPGACC107H (*(volatile __near unsigned char *)0x657) +#define RPGACC108 (*(volatile __near unsigned short *)0x658) +#define RPGACC108L (*(volatile __near unsigned char *)0x658) +#define RPGACC108H (*(volatile __near unsigned char *)0x659) +#define RPGACC109 (*(volatile __near unsigned short *)0x65A) +#define RPGACC109L (*(volatile __near unsigned char *)0x65A) +#define RPGACC109H (*(volatile __near unsigned char *)0x65B) +#define RPGACC110 (*(volatile __near unsigned short *)0x65C) +#define RPGACC110L (*(volatile __near unsigned char *)0x65C) +#define RPGACC110H (*(volatile __near unsigned char *)0x65D) +#define RPGACC111 (*(volatile __near unsigned short *)0x65E) +#define RPGACC111L (*(volatile __near unsigned char *)0x65E) +#define RPGACC111H (*(volatile __near unsigned char *)0x65F) +#define RPGACC112 (*(volatile __near unsigned short *)0x660) +#define RPGACC112L (*(volatile __near unsigned char *)0x660) +#define RPGACC112H (*(volatile __near unsigned char *)0x661) +#define RPGACC113 (*(volatile __near unsigned short *)0x662) +#define RPGACC113L (*(volatile __near unsigned char *)0x662) +#define RPGACC113H (*(volatile __near unsigned char *)0x663) +#define RPGACC114 (*(volatile __near unsigned short *)0x664) +#define RPGACC114L (*(volatile __near unsigned char *)0x664) +#define RPGACC114H (*(volatile __near unsigned char *)0x665) +#define RPGACC115 (*(volatile __near unsigned short *)0x666) +#define RPGACC115L (*(volatile __near unsigned char *)0x666) +#define RPGACC115H (*(volatile __near unsigned char *)0x667) +#define RPGACC116 (*(volatile __near unsigned short *)0x668) +#define RPGACC116L (*(volatile __near unsigned char *)0x668) +#define RPGACC116H (*(volatile __near unsigned char *)0x669) +#define RPGACC117 (*(volatile __near unsigned short *)0x66A) +#define RPGACC117L (*(volatile __near unsigned char *)0x66A) +#define RPGACC117H (*(volatile __near unsigned char *)0x66B) +#define RPGACC118 (*(volatile __near unsigned short *)0x66C) +#define RPGACC118L (*(volatile __near unsigned char *)0x66C) +#define RPGACC118H (*(volatile __near unsigned char *)0x66D) +#define RPGACC119 (*(volatile __near unsigned short *)0x66E) +#define RPGACC119L (*(volatile __near unsigned char *)0x66E) +#define RPGACC119H (*(volatile __near unsigned char *)0x66F) +#define RPGACC120 (*(volatile __near unsigned short *)0x670) +#define RPGACC120L (*(volatile __near unsigned char *)0x670) +#define RPGACC120H (*(volatile __near unsigned char *)0x671) +#define RPGACC121 (*(volatile __near unsigned short *)0x672) +#define RPGACC121L (*(volatile __near unsigned char *)0x672) +#define RPGACC121H (*(volatile __near unsigned char *)0x673) +#define RPGACC122 (*(volatile __near unsigned short *)0x674) +#define RPGACC122L (*(volatile __near unsigned char *)0x674) +#define RPGACC122H (*(volatile __near unsigned char *)0x675) +#define RPGACC123 (*(volatile __near unsigned short *)0x676) +#define RPGACC123L (*(volatile __near unsigned char *)0x676) +#define RPGACC123H (*(volatile __near unsigned char *)0x677) +#define RPGACC124 (*(volatile __near unsigned short *)0x678) +#define RPGACC124L (*(volatile __near unsigned char *)0x678) +#define RPGACC124H (*(volatile __near unsigned char *)0x679) +#define RPGACC125 (*(volatile __near unsigned short *)0x67A) +#define RPGACC125L (*(volatile __near unsigned char *)0x67A) +#define RPGACC125H (*(volatile __near unsigned char *)0x67B) +#define RPGACC126 (*(volatile __near unsigned short *)0x67C) +#define RPGACC126L (*(volatile __near unsigned char *)0x67C) +#define RPGACC126H (*(volatile __near unsigned char *)0x67D) +#define RPGACC127 (*(volatile __near unsigned short *)0x67E) +#define RPGACC127L (*(volatile __near unsigned char *)0x67E) +#define RPGACC127H (*(volatile __near unsigned char *)0x67F) +#define THLACC0 (*(volatile __near unsigned short *)0x680) +#define THLACC0L (*(volatile __near unsigned char *)0x680) +#define THLACC0H (*(volatile __near unsigned char *)0x681) +#define LWBR0 (*(volatile __near unsigned char *)0x6C1) +#define LBRP0 (*(volatile __near unsigned short *)0x6C2) +#define LBRP00 (*(volatile __near unsigned char *)0x6C2) +#define LBRP01 (*(volatile __near unsigned char *)0x6C3) +#define LSTC0 (*(volatile __near unsigned char *)0x6C4) +#define LUSC0 (*(volatile __near unsigned char *)0x6C5) +#define LMD0 (*(volatile __near unsigned char *)0x6C8) +#define LBFC0 (*(volatile __near unsigned char *)0x6C9) +#define LSC0 (*(volatile __near unsigned char *)0x6CA) +#define LWUP0 (*(volatile __near unsigned char *)0x6CB) +#define LIE0 (*(volatile __near unsigned char *)0x6CC) +#define LEDE0 (*(volatile __near unsigned char *)0x6CD) +#define LCUC0 (*(volatile __near unsigned char *)0x6CE) +#define LTRC0 (*(volatile __near unsigned char *)0x6D0) +#define LMST0 (*(volatile __near unsigned char *)0x6D1) +#define LST0 (*(volatile __near unsigned char *)0x6D2) +#define LEST0 (*(volatile __near unsigned char *)0x6D3) +#define LDFC0 (*(volatile __near unsigned char *)0x6D4) +#define LIDB0 (*(volatile __near unsigned char *)0x6D5) +#define LCBR0 (*(volatile __near unsigned char *)0x6D6) +#define LUDB00 (*(volatile __near unsigned char *)0x6D7) +#define LDB01 (*(volatile __near unsigned char *)0x6D8) +#define LDB02 (*(volatile __near unsigned char *)0x6D9) +#define LDB03 (*(volatile __near unsigned char *)0x6DA) +#define LDB04 (*(volatile __near unsigned char *)0x6DB) +#define LDB05 (*(volatile __near unsigned char *)0x6DC) +#define LDB06 (*(volatile __near unsigned char *)0x6DD) +#define LDB07 (*(volatile __near unsigned char *)0x6DE) +#define LDB08 (*(volatile __near unsigned char *)0x6DF) +#define LUOER0 (*(volatile __near unsigned char *)0x6E0) +#define LUOR01 (*(volatile __near unsigned char *)0x6E1) +#define LUTDR0 (*(volatile __near unsigned short *)0x6E4) +#define LUTDR0L (*(volatile __near unsigned char *)0x6E4) +#define LUTDR0H (*(volatile __near unsigned char *)0x6E5) +#define LURDR0 (*(volatile __near unsigned short *)0x6E6) +#define LURDR0L (*(volatile __near unsigned char *)0x6E6) +#define LURDR0H (*(volatile __near unsigned char *)0x6E7) +#define LUWTDR0 (*(volatile __near unsigned short *)0x6E8) +#define LUWTDR0L (*(volatile __near unsigned char *)0x6E8) +#define LUWTDR0H (*(volatile __near unsigned char *)0x6E9) +#define TRJ0 (*(volatile __near unsigned short *)0x6F0) +#define ADTRGS0 (*(volatile __near unsigned char *)0x789) +#define ADTRGS0_bit (*(volatile __near __bitf_T *)0x789) +#define ADTRGS1 (*(volatile __near unsigned char *)0x78D) +#define ADTRGS1_bit (*(volatile __near __bitf_T *)0x78D) +#define P0 (*(volatile __near unsigned char *)0xFF00) +#define P0_bit (*(volatile __near __bitf_T *)0xFF00) +#define P1 (*(volatile __near unsigned char *)0xFF01) +#define P1_bit (*(volatile __near __bitf_T *)0xFF01) +#define P3 (*(volatile __near unsigned char *)0xFF03) +#define P3_bit (*(volatile __near __bitf_T *)0xFF03) +#define P4 (*(volatile __near unsigned char *)0xFF04) +#define P4_bit (*(volatile __near __bitf_T *)0xFF04) +#define P5 (*(volatile __near unsigned char *)0xFF05) +#define P5_bit (*(volatile __near __bitf_T *)0xFF05) +#define P6 (*(volatile __near unsigned char *)0xFF06) +#define P6_bit (*(volatile __near __bitf_T *)0xFF06) +#define P7 (*(volatile __near unsigned char *)0xFF07) +#define P7_bit (*(volatile __near __bitf_T *)0xFF07) +#define P8 (*(volatile __near unsigned char *)0xFF08) +#define P8_bit (*(volatile __near __bitf_T *)0xFF08) +#define P9 (*(volatile __near unsigned char *)0xFF09) +#define P9_bit (*(volatile __near __bitf_T *)0xFF09) +#define P12 (*(volatile __near unsigned char *)0xFF0C) +#define P12_bit (*(volatile __near __bitf_T *)0xFF0C) +#define P13 (*(volatile __near unsigned char *)0xFF0D) +#define P13_bit (*(volatile __near __bitf_T *)0xFF0D) +#define P14 (*(volatile __near unsigned char *)0xFF0E) +#define P14_bit (*(volatile __near __bitf_T *)0xFF0E) +#define SDR00 (*(volatile __near unsigned short *)0xFF10) +#define SDR00L (*(volatile __near unsigned char *)0xFF10) +#define SDR01 (*(volatile __near unsigned short *)0xFF12) +#define SDR01L (*(volatile __near unsigned char *)0xFF12) +#define TDR00 (*(volatile __near unsigned short *)0xFF18) +#define TDR01 (*(volatile __near unsigned short *)0xFF1A) +#define TDR01L (*(volatile __near unsigned char *)0xFF1A) +#define TDR01H (*(volatile __near unsigned char *)0xFF1B) +#define ADCR (*(volatile __near unsigned short *)0xFF1E) +#define ADCRH (*(volatile __near unsigned char *)0xFF1F) +#define PM0 (*(volatile __near unsigned char *)0xFF20) +#define PM0_bit (*(volatile __near __bitf_T *)0xFF20) +#define PM1 (*(volatile __near unsigned char *)0xFF21) +#define PM1_bit (*(volatile __near __bitf_T *)0xFF21) +#define PM3 (*(volatile __near unsigned char *)0xFF23) +#define PM3_bit (*(volatile __near __bitf_T *)0xFF23) +#define PM4 (*(volatile __near unsigned char *)0xFF24) +#define PM4_bit (*(volatile __near __bitf_T *)0xFF24) +#define PM5 (*(volatile __near unsigned char *)0xFF25) +#define PM5_bit (*(volatile __near __bitf_T *)0xFF25) +#define PM6 (*(volatile __near unsigned char *)0xFF26) +#define PM6_bit (*(volatile __near __bitf_T *)0xFF26) +#define PM7 (*(volatile __near unsigned char *)0xFF27) +#define PM7_bit (*(volatile __near __bitf_T *)0xFF27) +#define PM8 (*(volatile __near unsigned char *)0xFF28) +#define PM8_bit (*(volatile __near __bitf_T *)0xFF28) +#define PM9 (*(volatile __near unsigned char *)0xFF29) +#define PM9_bit (*(volatile __near __bitf_T *)0xFF29) +#define PM12 (*(volatile __near unsigned char *)0xFF2C) +#define PM12_bit (*(volatile __near __bitf_T *)0xFF2C) +#define PM14 (*(volatile __near unsigned char *)0xFF2E) +#define PM14_bit (*(volatile __near __bitf_T *)0xFF2E) +#define ADM0 (*(volatile __near unsigned char *)0xFF30) +#define ADM0_bit (*(volatile __near __bitf_T *)0xFF30) +#define ADCE (((volatile __near __bitf_T *)0xFF30)->no0) +#define ADCS (((volatile __near __bitf_T *)0xFF30)->no7) +#define ADS (*(volatile __near unsigned char *)0xFF31) +#define ADS_bit (*(volatile __near __bitf_T *)0xFF31) +#define ADM1 (*(volatile __near unsigned char *)0xFF32) +#define ADM1_bit (*(volatile __near __bitf_T *)0xFF32) +#define KRM (*(volatile __near unsigned char *)0xFF37) +#define KRM_bit (*(volatile __near __bitf_T *)0xFF37) +#define EGP0 (*(volatile __near unsigned char *)0xFF38) +#define EGP0_bit (*(volatile __near __bitf_T *)0xFF38) +#define EGN0 (*(volatile __near unsigned char *)0xFF39) +#define EGN0_bit (*(volatile __near __bitf_T *)0xFF39) +#define EGP1 (*(volatile __near unsigned char *)0xFF3A) +#define EGP1_bit (*(volatile __near __bitf_T *)0xFF3A) +#define EGN1 (*(volatile __near unsigned char *)0xFF3B) +#define EGN1_bit (*(volatile __near __bitf_T *)0xFF3B) +#define SDR10 (*(volatile __near unsigned short *)0xFF48) +#define SDR10L (*(volatile __near unsigned char *)0xFF48) +#define SDR11 (*(volatile __near unsigned short *)0xFF4A) +#define SDR11L (*(volatile __near unsigned char *)0xFF4A) +#define IICA0 (*(volatile __near unsigned char *)0xFF50) +#define IICS0 (*(volatile __near unsigned char *)0xFF51) +#define IICS0_bit (*(volatile __near __bitf_T *)0xFF51) +#define SPD0 (((volatile __near __bitf_T *)0xFF51)->no0) +#define STD0 (((volatile __near __bitf_T *)0xFF51)->no1) +#define ACKD0 (((volatile __near __bitf_T *)0xFF51)->no2) +#define TRC0 (((volatile __near __bitf_T *)0xFF51)->no3) +#define COI0 (((volatile __near __bitf_T *)0xFF51)->no4) +#define EXC0 (((volatile __near __bitf_T *)0xFF51)->no5) +#define ALD0 (((volatile __near __bitf_T *)0xFF51)->no6) +#define MSTS0 (((volatile __near __bitf_T *)0xFF51)->no7) +#define IICF0 (*(volatile __near unsigned char *)0xFF52) +#define IICF0_bit (*(volatile __near __bitf_T *)0xFF52) +#define IICRSV0 (((volatile __near __bitf_T *)0xFF52)->no0) +#define STCEN0 (((volatile __near __bitf_T *)0xFF52)->no1) +#define IICBSY0 (((volatile __near __bitf_T *)0xFF52)->no6) +#define STCF0 (((volatile __near __bitf_T *)0xFF52)->no7) +#define SUBCUDW (*(volatile __near unsigned short *)0xFF54) +#define TRDGRC0 (*(volatile __near unsigned short *)0xFF58) +#define TRDGRD0 (*(volatile __near unsigned short *)0xFF5A) +#define TRDGRC1 (*(volatile __near unsigned short *)0xFF5C) +#define TRDGRD1 (*(volatile __near unsigned short *)0xFF5E) +#define TDR02 (*(volatile __near unsigned short *)0xFF64) +#define TDR03 (*(volatile __near unsigned short *)0xFF66) +#define TDR03L (*(volatile __near unsigned char *)0xFF66) +#define TDR03H (*(volatile __near unsigned char *)0xFF67) +#define TDR04 (*(volatile __near unsigned short *)0xFF68) +#define TDR05 (*(volatile __near unsigned short *)0xFF6A) +#define TDR06 (*(volatile __near unsigned short *)0xFF6C) +#define TDR07 (*(volatile __near unsigned short *)0xFF6E) +#define TDR10 (*(volatile __near unsigned short *)0xFF70) +#define TDR11 (*(volatile __near unsigned short *)0xFF72) +#define TDR11L (*(volatile __near unsigned char *)0xFF72) +#define TDR11H (*(volatile __near unsigned char *)0xFF73) +#define TDR12 (*(volatile __near unsigned short *)0xFF74) +#define TDR13 (*(volatile __near unsigned short *)0xFF76) +#define TDR13L (*(volatile __near unsigned char *)0xFF76) +#define TDR13H (*(volatile __near unsigned char *)0xFF77) +#define SEC (*(volatile __near unsigned char *)0xFF92) +#define MIN (*(volatile __near unsigned char *)0xFF93) +#define HOUR (*(volatile __near unsigned char *)0xFF94) +#define WEEK (*(volatile __near unsigned char *)0xFF95) +#define DAY (*(volatile __near unsigned char *)0xFF96) +#define MONTH (*(volatile __near unsigned char *)0xFF97) +#define YEAR (*(volatile __near unsigned char *)0xFF98) +#define SUBCUD (*(volatile __near unsigned char *)0xFF99) +#define ALARMWM (*(volatile __near unsigned char *)0xFF9A) +#define ALARMWH (*(volatile __near unsigned char *)0xFF9B) +#define ALARMWW (*(volatile __near unsigned char *)0xFF9C) +#define RTCC0 (*(volatile __near unsigned char *)0xFF9D) +#define RTCC0_bit (*(volatile __near __bitf_T *)0xFF9D) +#define RCLOE1 (((volatile __near __bitf_T *)0xFF9D)->no5) +#define RTCE (((volatile __near __bitf_T *)0xFF9D)->no7) +#define RTCC1 (*(volatile __near unsigned char *)0xFF9E) +#define RTCC1_bit (*(volatile __near __bitf_T *)0xFF9E) +#define RWAIT (((volatile __near __bitf_T *)0xFF9E)->no0) +#define RWST (((volatile __near __bitf_T *)0xFF9E)->no1) +#define RIFG (((volatile __near __bitf_T *)0xFF9E)->no3) +#define WAFG (((volatile __near __bitf_T *)0xFF9E)->no4) +#define WALIE (((volatile __near __bitf_T *)0xFF9E)->no6) +#define WALE (((volatile __near __bitf_T *)0xFF9E)->no7) +#define CMC (*(volatile __near unsigned char *)0xFFA0) +#define CSC (*(volatile __near unsigned char *)0xFFA1) +#define CSC_bit (*(volatile __near __bitf_T *)0xFFA1) +#define HIOSTOP (((volatile __near __bitf_T *)0xFFA1)->no0) +#define XTSTOP (((volatile __near __bitf_T *)0xFFA1)->no6) +#define MSTOP (((volatile __near __bitf_T *)0xFFA1)->no7) +#define OSTC (*(volatile __near unsigned char *)0xFFA2) +#define OSTC_bit (*(volatile __near __bitf_T *)0xFFA2) +#define OSTS (*(volatile __near unsigned char *)0xFFA3) +#define CKC (*(volatile __near unsigned char *)0xFFA4) +#define CKC_bit (*(volatile __near __bitf_T *)0xFFA4) +#define MCM0 (((volatile __near __bitf_T *)0xFFA4)->no4) +#define MCS (((volatile __near __bitf_T *)0xFFA4)->no5) +#define CSS (((volatile __near __bitf_T *)0xFFA4)->no6) +#define CLS (((volatile __near __bitf_T *)0xFFA4)->no7) +#define CKS0 (*(volatile __near unsigned char *)0xFFA5) +#define CKS0_bit (*(volatile __near __bitf_T *)0xFFA5) +#define PCLOE0 (((volatile __near __bitf_T *)0xFFA5)->no7) +#define RESF (*(volatile __near unsigned char *)0xFFA8) +#define LVIM (*(volatile __near unsigned char *)0xFFA9) +#define LVIM_bit (*(volatile __near __bitf_T *)0xFFA9) +#define LVIF (((volatile __near __bitf_T *)0xFFA9)->no0) +#define LVIOMSK (((volatile __near __bitf_T *)0xFFA9)->no1) +#define LVISEN (((volatile __near __bitf_T *)0xFFA9)->no7) +#define LVIS (*(volatile __near unsigned char *)0xFFAA) +#define LVIS_bit (*(volatile __near __bitf_T *)0xFFAA) +#define LVILV (((volatile __near __bitf_T *)0xFFAA)->no0) +#define LVIMD (((volatile __near __bitf_T *)0xFFAA)->no7) +#define WDTE (*(volatile __near unsigned char *)0xFFAB) +#define CRCIN (*(volatile __near unsigned char *)0xFFAC) +#define IF2 (*(volatile __near unsigned short *)0xFFD0) +#define IF2L (*(volatile __near unsigned char *)0xFFD0) +#define IF2L_bit (*(volatile __near __bitf_T *)0xFFD0) +#define IF2H (*(volatile __near unsigned char *)0xFFD1) +#define IF2H_bit (*(volatile __near __bitf_T *)0xFFD1) +#define TMIF05 (((volatile __near __bitf_T *)0xFFD0)->no0) +#define TMIF06 (((volatile __near __bitf_T *)0xFFD0)->no1) +#define TMIF07 (((volatile __near __bitf_T *)0xFFD0)->no2) +#define LIN0WUPIF (((volatile __near __bitf_T *)0xFFD0)->no3) +#define PIF11 (((volatile __near __bitf_T *)0xFFD0)->no3) +#define KRIF (((volatile __near __bitf_T *)0xFFD0)->no4) +#define CAN0ERRIF (((volatile __near __bitf_T *)0xFFD0)->no5) +#define CAN0WUPIF (((volatile __near __bitf_T *)0xFFD0)->no6) +#define CAN0CFRIF (((volatile __near __bitf_T *)0xFFD0)->no7) +#define CAN0TRMIF (((volatile __near __bitf_T *)0xFFD1)->no0) +#define CANGRFRIF (((volatile __near __bitf_T *)0xFFD1)->no1) +#define CANGERRIF (((volatile __near __bitf_T *)0xFFD1)->no2) +#define TMIF10 (((volatile __near __bitf_T *)0xFFD1)->no3) +#define TMIF11 (((volatile __near __bitf_T *)0xFFD1)->no4) +#define TMIF12 (((volatile __near __bitf_T *)0xFFD1)->no5) +#define TMIF13 (((volatile __near __bitf_T *)0xFFD1)->no6) +#define FLIF (((volatile __near __bitf_T *)0xFFD1)->no7) +#define MK2 (*(volatile __near unsigned short *)0xFFD4) +#define MK2L (*(volatile __near unsigned char *)0xFFD4) +#define MK2L_bit (*(volatile __near __bitf_T *)0xFFD4) +#define MK2H (*(volatile __near unsigned char *)0xFFD5) +#define MK2H_bit (*(volatile __near __bitf_T *)0xFFD5) +#define TMMK05 (((volatile __near __bitf_T *)0xFFD4)->no0) +#define TMMK06 (((volatile __near __bitf_T *)0xFFD4)->no1) +#define TMMK07 (((volatile __near __bitf_T *)0xFFD4)->no2) +#define LIN0WUPMK (((volatile __near __bitf_T *)0xFFD4)->no3) +#define PMK11 (((volatile __near __bitf_T *)0xFFD4)->no3) +#define KRMK (((volatile __near __bitf_T *)0xFFD4)->no4) +#define CAN0ERRMK (((volatile __near __bitf_T *)0xFFD4)->no5) +#define CAN0WUPMK (((volatile __near __bitf_T *)0xFFD4)->no6) +#define CAN0CFRMK (((volatile __near __bitf_T *)0xFFD4)->no7) +#define CAN0TRMMK (((volatile __near __bitf_T *)0xFFD5)->no0) +#define CANGRFRMK (((volatile __near __bitf_T *)0xFFD5)->no1) +#define CANGERRMK (((volatile __near __bitf_T *)0xFFD5)->no2) +#define TMMK10 (((volatile __near __bitf_T *)0xFFD5)->no3) +#define TMMK11 (((volatile __near __bitf_T *)0xFFD5)->no4) +#define TMMK12 (((volatile __near __bitf_T *)0xFFD5)->no5) +#define TMMK13 (((volatile __near __bitf_T *)0xFFD5)->no6) +#define FLMK (((volatile __near __bitf_T *)0xFFD5)->no7) +#define PR02 (*(volatile __near unsigned short *)0xFFD8) +#define PR02L (*(volatile __near unsigned char *)0xFFD8) +#define PR02L_bit (*(volatile __near __bitf_T *)0xFFD8) +#define PR02H (*(volatile __near unsigned char *)0xFFD9) +#define PR02H_bit (*(volatile __near __bitf_T *)0xFFD9) +#define TMPR005 (((volatile __near __bitf_T *)0xFFD8)->no0) +#define TMPR006 (((volatile __near __bitf_T *)0xFFD8)->no1) +#define TMPR007 (((volatile __near __bitf_T *)0xFFD8)->no2) +#define LIN0WUPPR0 (((volatile __near __bitf_T *)0xFFD8)->no3) +#define PPR011 (((volatile __near __bitf_T *)0xFFD8)->no3) +#define KRPR0 (((volatile __near __bitf_T *)0xFFD8)->no4) +#define CAN0ERRPR0 (((volatile __near __bitf_T *)0xFFD8)->no5) +#define CAN0WUPPR0 (((volatile __near __bitf_T *)0xFFD8)->no6) +#define CAN0CFRPR0 (((volatile __near __bitf_T *)0xFFD8)->no7) +#define CAN0TRMPR0 (((volatile __near __bitf_T *)0xFFD9)->no0) +#define CANGRFRPR0 (((volatile __near __bitf_T *)0xFFD9)->no1) +#define CANGERRPR0 (((volatile __near __bitf_T *)0xFFD9)->no2) +#define TMPR010 (((volatile __near __bitf_T *)0xFFD9)->no3) +#define TMPR011 (((volatile __near __bitf_T *)0xFFD9)->no4) +#define TMPR012 (((volatile __near __bitf_T *)0xFFD9)->no5) +#define TMPR013 (((volatile __near __bitf_T *)0xFFD9)->no6) +#define FLPR0 (((volatile __near __bitf_T *)0xFFD9)->no7) +#define PR12 (*(volatile __near unsigned short *)0xFFDC) +#define PR12L (*(volatile __near unsigned char *)0xFFDC) +#define PR12L_bit (*(volatile __near __bitf_T *)0xFFDC) +#define PR12H (*(volatile __near unsigned char *)0xFFDD) +#define PR12H_bit (*(volatile __near __bitf_T *)0xFFDD) +#define TMPR105 (((volatile __near __bitf_T *)0xFFDC)->no0) +#define TMPR106 (((volatile __near __bitf_T *)0xFFDC)->no1) +#define TMPR107 (((volatile __near __bitf_T *)0xFFDC)->no2) +#define LIN0WUPPR1 (((volatile __near __bitf_T *)0xFFDC)->no3) +#define PPR111 (((volatile __near __bitf_T *)0xFFDC)->no3) +#define KRPR1 (((volatile __near __bitf_T *)0xFFDC)->no4) +#define CAN0ERRPR1 (((volatile __near __bitf_T *)0xFFDC)->no5) +#define CAN0WUPPR1 (((volatile __near __bitf_T *)0xFFDC)->no6) +#define CAN0CFRPR1 (((volatile __near __bitf_T *)0xFFDC)->no7) +#define CAN0TRMPR1 (((volatile __near __bitf_T *)0xFFDD)->no0) +#define CANGRFRPR1 (((volatile __near __bitf_T *)0xFFDD)->no1) +#define CANGERRPR1 (((volatile __near __bitf_T *)0xFFDD)->no2) +#define TMPR110 (((volatile __near __bitf_T *)0xFFDD)->no3) +#define TMPR111 (((volatile __near __bitf_T *)0xFFDD)->no4) +#define TMPR112 (((volatile __near __bitf_T *)0xFFDD)->no5) +#define TMPR113 (((volatile __near __bitf_T *)0xFFDD)->no6) +#define FLPR1 (((volatile __near __bitf_T *)0xFFDD)->no7) +#define IF0 (*(volatile __near unsigned short *)0xFFE0) +#define IF0L (*(volatile __near unsigned char *)0xFFE0) +#define IF0L_bit (*(volatile __near __bitf_T *)0xFFE0) +#define IF0H (*(volatile __near unsigned char *)0xFFE1) +#define IF0H_bit (*(volatile __near __bitf_T *)0xFFE1) +#define WDTIIF (((volatile __near __bitf_T *)0xFFE0)->no0) +#define LVIIF (((volatile __near __bitf_T *)0xFFE0)->no1) +#define PIF0 (((volatile __near __bitf_T *)0xFFE0)->no2) +#define PIF1 (((volatile __near __bitf_T *)0xFFE0)->no3) +#define PIF2 (((volatile __near __bitf_T *)0xFFE0)->no4) +#define PIF3 (((volatile __near __bitf_T *)0xFFE0)->no5) +#define PIF4 (((volatile __near __bitf_T *)0xFFE0)->no6) +#define SPMIF (((volatile __near __bitf_T *)0xFFE0)->no6) +#define PIF5 (((volatile __near __bitf_T *)0xFFE0)->no7) +#define CLMIF (((volatile __near __bitf_T *)0xFFE1)->no0) +#define CSIIF00 (((volatile __near __bitf_T *)0xFFE1)->no1) +#define IICIF00 (((volatile __near __bitf_T *)0xFFE1)->no1) +#define STIF0 (((volatile __near __bitf_T *)0xFFE1)->no1) +#define CSIIF01 (((volatile __near __bitf_T *)0xFFE1)->no2) +#define IICIF01 (((volatile __near __bitf_T *)0xFFE1)->no2) +#define SRIF0 (((volatile __near __bitf_T *)0xFFE1)->no2) +#define TRDIF0 (((volatile __near __bitf_T *)0xFFE1)->no3) +#define TRDIF1 (((volatile __near __bitf_T *)0xFFE1)->no4) +#define TRJIF0 (((volatile __near __bitf_T *)0xFFE1)->no5) +#define RAMIF (((volatile __near __bitf_T *)0xFFE1)->no6) +#define LIN0TRMIF (((volatile __near __bitf_T *)0xFFE1)->no7) +#define IF1 (*(volatile __near unsigned short *)0xFFE2) +#define IF1L (*(volatile __near unsigned char *)0xFFE2) +#define IF1L_bit (*(volatile __near __bitf_T *)0xFFE2) +#define IF1H (*(volatile __near unsigned char *)0xFFE3) +#define IF1H_bit (*(volatile __near __bitf_T *)0xFFE3) +#define LIN0RVCIF (((volatile __near __bitf_T *)0xFFE2)->no0) +#define LIN0IF (((volatile __near __bitf_T *)0xFFE2)->no1) +#define LIN0STAIF (((volatile __near __bitf_T *)0xFFE2)->no1) +#define IICAIF0 (((volatile __near __bitf_T *)0xFFE2)->no2) +#define PIF8 (((volatile __near __bitf_T *)0xFFE2)->no3) +#define RTCIF (((volatile __near __bitf_T *)0xFFE2)->no3) +#define TMIF00 (((volatile __near __bitf_T *)0xFFE2)->no4) +#define TMIF01 (((volatile __near __bitf_T *)0xFFE2)->no5) +#define TMIF02 (((volatile __near __bitf_T *)0xFFE2)->no6) +#define TMIF03 (((volatile __near __bitf_T *)0xFFE2)->no7) +#define ADIF (((volatile __near __bitf_T *)0xFFE3)->no0) +#define PIF6 (((volatile __near __bitf_T *)0xFFE3)->no1) +#define TMIF11H (((volatile __near __bitf_T *)0xFFE3)->no1) +#define PIF7 (((volatile __near __bitf_T *)0xFFE3)->no2) +#define TMIF13H (((volatile __near __bitf_T *)0xFFE3)->no2) +#define PIF9 (((volatile __near __bitf_T *)0xFFE3)->no3) +#define TMIF01H (((volatile __near __bitf_T *)0xFFE3)->no3) +#define PIF10 (((volatile __near __bitf_T *)0xFFE3)->no4) +#define TMIF03H (((volatile __near __bitf_T *)0xFFE3)->no4) +#define CSIIF10 (((volatile __near __bitf_T *)0xFFE3)->no5) +#define IICIF10 (((volatile __near __bitf_T *)0xFFE3)->no5) +#define STIF1 (((volatile __near __bitf_T *)0xFFE3)->no5) +#define CSIIF11 (((volatile __near __bitf_T *)0xFFE3)->no6) +#define IICIF11 (((volatile __near __bitf_T *)0xFFE3)->no6) +#define SRIF1 (((volatile __near __bitf_T *)0xFFE3)->no6) +#define TMIF04 (((volatile __near __bitf_T *)0xFFE3)->no7) +#define MK0 (*(volatile __near unsigned short *)0xFFE4) +#define MK0L (*(volatile __near unsigned char *)0xFFE4) +#define MK0L_bit (*(volatile __near __bitf_T *)0xFFE4) +#define MK0H (*(volatile __near unsigned char *)0xFFE5) +#define MK0H_bit (*(volatile __near __bitf_T *)0xFFE5) +#define WDTIMK (((volatile __near __bitf_T *)0xFFE4)->no0) +#define LVIMK (((volatile __near __bitf_T *)0xFFE4)->no1) +#define PMK0 (((volatile __near __bitf_T *)0xFFE4)->no2) +#define PMK1 (((volatile __near __bitf_T *)0xFFE4)->no3) +#define PMK2 (((volatile __near __bitf_T *)0xFFE4)->no4) +#define PMK3 (((volatile __near __bitf_T *)0xFFE4)->no5) +#define PMK4 (((volatile __near __bitf_T *)0xFFE4)->no6) +#define SPMMK (((volatile __near __bitf_T *)0xFFE4)->no6) +#define PMK5 (((volatile __near __bitf_T *)0xFFE4)->no7) +#define CLMMK (((volatile __near __bitf_T *)0xFFE5)->no0) +#define CSIMK00 (((volatile __near __bitf_T *)0xFFE5)->no1) +#define IICMK00 (((volatile __near __bitf_T *)0xFFE5)->no1) +#define STMK0 (((volatile __near __bitf_T *)0xFFE5)->no1) +#define CSIMK01 (((volatile __near __bitf_T *)0xFFE5)->no2) +#define IICMK01 (((volatile __near __bitf_T *)0xFFE5)->no2) +#define SRMK0 (((volatile __near __bitf_T *)0xFFE5)->no2) +#define TRDMK0 (((volatile __near __bitf_T *)0xFFE5)->no3) +#define TRDMK1 (((volatile __near __bitf_T *)0xFFE5)->no4) +#define TRJMK0 (((volatile __near __bitf_T *)0xFFE5)->no5) +#define RAMMK (((volatile __near __bitf_T *)0xFFE5)->no6) +#define LIN0TRMMK (((volatile __near __bitf_T *)0xFFE5)->no7) +#define MK1 (*(volatile __near unsigned short *)0xFFE6) +#define MK1L (*(volatile __near unsigned char *)0xFFE6) +#define MK1L_bit (*(volatile __near __bitf_T *)0xFFE6) +#define MK1H (*(volatile __near unsigned char *)0xFFE7) +#define MK1H_bit (*(volatile __near __bitf_T *)0xFFE7) +#define LIN0RVCMK (((volatile __near __bitf_T *)0xFFE6)->no0) +#define LIN0MK (((volatile __near __bitf_T *)0xFFE6)->no1) +#define LIN0STAMK (((volatile __near __bitf_T *)0xFFE6)->no1) +#define IICAMK0 (((volatile __near __bitf_T *)0xFFE6)->no2) +#define PMK8 (((volatile __near __bitf_T *)0xFFE6)->no3) +#define RTCMK (((volatile __near __bitf_T *)0xFFE6)->no3) +#define TMMK00 (((volatile __near __bitf_T *)0xFFE6)->no4) +#define TMMK01 (((volatile __near __bitf_T *)0xFFE6)->no5) +#define TMMK02 (((volatile __near __bitf_T *)0xFFE6)->no6) +#define TMMK03 (((volatile __near __bitf_T *)0xFFE6)->no7) +#define ADMK (((volatile __near __bitf_T *)0xFFE7)->no0) +#define PMK6 (((volatile __near __bitf_T *)0xFFE7)->no1) +#define TMMK11H (((volatile __near __bitf_T *)0xFFE7)->no1) +#define PMK7 (((volatile __near __bitf_T *)0xFFE7)->no2) +#define TMMK13H (((volatile __near __bitf_T *)0xFFE7)->no2) +#define PMK9 (((volatile __near __bitf_T *)0xFFE7)->no3) +#define TMMK01H (((volatile __near __bitf_T *)0xFFE7)->no3) +#define PMK10 (((volatile __near __bitf_T *)0xFFE7)->no4) +#define TMMK03H (((volatile __near __bitf_T *)0xFFE7)->no4) +#define CSIMK10 (((volatile __near __bitf_T *)0xFFE7)->no5) +#define IICMK10 (((volatile __near __bitf_T *)0xFFE7)->no5) +#define STMK1 (((volatile __near __bitf_T *)0xFFE7)->no5) +#define CSIMK11 (((volatile __near __bitf_T *)0xFFE7)->no6) +#define IICMK11 (((volatile __near __bitf_T *)0xFFE7)->no6) +#define SRMK1 (((volatile __near __bitf_T *)0xFFE7)->no6) +#define TMMK04 (((volatile __near __bitf_T *)0xFFE7)->no7) +#define PR00 (*(volatile __near unsigned short *)0xFFE8) +#define PR00L (*(volatile __near unsigned char *)0xFFE8) +#define PR00L_bit (*(volatile __near __bitf_T *)0xFFE8) +#define PR00H (*(volatile __near unsigned char *)0xFFE9) +#define PR00H_bit (*(volatile __near __bitf_T *)0xFFE9) +#define WDTIPR0 (((volatile __near __bitf_T *)0xFFE8)->no0) +#define LVIPR0 (((volatile __near __bitf_T *)0xFFE8)->no1) +#define PPR00 (((volatile __near __bitf_T *)0xFFE8)->no2) +#define PPR01 (((volatile __near __bitf_T *)0xFFE8)->no3) +#define PPR02 (((volatile __near __bitf_T *)0xFFE8)->no4) +#define PPR03 (((volatile __near __bitf_T *)0xFFE8)->no5) +#define PPR04 (((volatile __near __bitf_T *)0xFFE8)->no6) +#define SPMPR0 (((volatile __near __bitf_T *)0xFFE8)->no6) +#define PPR05 (((volatile __near __bitf_T *)0xFFE8)->no7) +#define CLMPR0 (((volatile __near __bitf_T *)0xFFE9)->no0) +#define CSIPR000 (((volatile __near __bitf_T *)0xFFE9)->no1) +#define IICPR000 (((volatile __near __bitf_T *)0xFFE9)->no1) +#define STPR00 (((volatile __near __bitf_T *)0xFFE9)->no1) +#define CSIPR001 (((volatile __near __bitf_T *)0xFFE9)->no2) +#define IICPR001 (((volatile __near __bitf_T *)0xFFE9)->no2) +#define SRPR00 (((volatile __near __bitf_T *)0xFFE9)->no2) +#define TRDPR00 (((volatile __near __bitf_T *)0xFFE9)->no3) +#define TRDPR01 (((volatile __near __bitf_T *)0xFFE9)->no4) +#define TRJPR00 (((volatile __near __bitf_T *)0xFFE9)->no5) +#define RAMPR0 (((volatile __near __bitf_T *)0xFFE9)->no6) +#define LIN0TRMPR0 (((volatile __near __bitf_T *)0xFFE9)->no7) +#define PR01 (*(volatile __near unsigned short *)0xFFEA) +#define PR01L (*(volatile __near unsigned char *)0xFFEA) +#define PR01L_bit (*(volatile __near __bitf_T *)0xFFEA) +#define PR01H (*(volatile __near unsigned char *)0xFFEB) +#define PR01H_bit (*(volatile __near __bitf_T *)0xFFEB) +#define LIN0RVCPR0 (((volatile __near __bitf_T *)0xFFEA)->no0) +#define LIN0PR0 (((volatile __near __bitf_T *)0xFFEA)->no1) +#define LIN0STAPR0 (((volatile __near __bitf_T *)0xFFEA)->no1) +#define IICAPR00 (((volatile __near __bitf_T *)0xFFEA)->no2) +#define PPR08 (((volatile __near __bitf_T *)0xFFEA)->no3) +#define RTCPR0 (((volatile __near __bitf_T *)0xFFEA)->no3) +#define TMPR000 (((volatile __near __bitf_T *)0xFFEA)->no4) +#define TMPR001 (((volatile __near __bitf_T *)0xFFEA)->no5) +#define TMPR002 (((volatile __near __bitf_T *)0xFFEA)->no6) +#define TMPR003 (((volatile __near __bitf_T *)0xFFEA)->no7) +#define ADPR0 (((volatile __near __bitf_T *)0xFFEB)->no0) +#define PPR06 (((volatile __near __bitf_T *)0xFFEB)->no1) +#define TMPR011H (((volatile __near __bitf_T *)0xFFEB)->no1) +#define PPR07 (((volatile __near __bitf_T *)0xFFEB)->no2) +#define TMPR013H (((volatile __near __bitf_T *)0xFFEB)->no2) +#define PPR09 (((volatile __near __bitf_T *)0xFFEB)->no3) +#define TMPR001H (((volatile __near __bitf_T *)0xFFEB)->no3) +#define PPR010 (((volatile __near __bitf_T *)0xFFEB)->no4) +#define TMPR003H (((volatile __near __bitf_T *)0xFFEB)->no4) +#define CSIPR010 (((volatile __near __bitf_T *)0xFFEB)->no5) +#define IICPR010 (((volatile __near __bitf_T *)0xFFEB)->no5) +#define STPR01 (((volatile __near __bitf_T *)0xFFEB)->no5) +#define CSIPR011 (((volatile __near __bitf_T *)0xFFEB)->no6) +#define IICPR011 (((volatile __near __bitf_T *)0xFFEB)->no6) +#define SRPR01 (((volatile __near __bitf_T *)0xFFEB)->no6) +#define TMPR004 (((volatile __near __bitf_T *)0xFFEB)->no7) +#define PR10 (*(volatile __near unsigned short *)0xFFEC) +#define PR10L (*(volatile __near unsigned char *)0xFFEC) +#define PR10L_bit (*(volatile __near __bitf_T *)0xFFEC) +#define PR10H (*(volatile __near unsigned char *)0xFFED) +#define PR10H_bit (*(volatile __near __bitf_T *)0xFFED) +#define WDTIPR1 (((volatile __near __bitf_T *)0xFFEC)->no0) +#define LVIPR1 (((volatile __near __bitf_T *)0xFFEC)->no1) +#define PPR10 (((volatile __near __bitf_T *)0xFFEC)->no2) +#define PPR11 (((volatile __near __bitf_T *)0xFFEC)->no3) +#define PPR12 (((volatile __near __bitf_T *)0xFFEC)->no4) +#define PPR13 (((volatile __near __bitf_T *)0xFFEC)->no5) +#define PPR14 (((volatile __near __bitf_T *)0xFFEC)->no6) +#define SPMPR1 (((volatile __near __bitf_T *)0xFFEC)->no6) +#define PPR15 (((volatile __near __bitf_T *)0xFFEC)->no7) +#define CLMPR1 (((volatile __near __bitf_T *)0xFFED)->no0) +#define CSIPR100 (((volatile __near __bitf_T *)0xFFED)->no1) +#define IICPR100 (((volatile __near __bitf_T *)0xFFED)->no1) +#define STPR10 (((volatile __near __bitf_T *)0xFFED)->no1) +#define CSIPR101 (((volatile __near __bitf_T *)0xFFED)->no2) +#define IICPR101 (((volatile __near __bitf_T *)0xFFED)->no2) +#define SRPR10 (((volatile __near __bitf_T *)0xFFED)->no2) +#define TRDPR10 (((volatile __near __bitf_T *)0xFFED)->no3) +#define TRDPR11 (((volatile __near __bitf_T *)0xFFED)->no4) +#define TRJPR10 (((volatile __near __bitf_T *)0xFFED)->no5) +#define RAMPR1 (((volatile __near __bitf_T *)0xFFED)->no6) +#define LIN0TRMPR1 (((volatile __near __bitf_T *)0xFFED)->no7) +#define PR11 (*(volatile __near unsigned short *)0xFFEE) +#define PR11L (*(volatile __near unsigned char *)0xFFEE) +#define PR11L_bit (*(volatile __near __bitf_T *)0xFFEE) +#define PR11H (*(volatile __near unsigned char *)0xFFEF) +#define PR11H_bit (*(volatile __near __bitf_T *)0xFFEF) +#define LIN0RVCPR1 (((volatile __near __bitf_T *)0xFFEE)->no0) +#define LIN0PR1 (((volatile __near __bitf_T *)0xFFEE)->no1) +#define LIN0STAPR1 (((volatile __near __bitf_T *)0xFFEE)->no1) +#define IICAPR10 (((volatile __near __bitf_T *)0xFFEE)->no2) +#define PPR18 (((volatile __near __bitf_T *)0xFFEE)->no3) +#define RTCPR1 (((volatile __near __bitf_T *)0xFFEE)->no3) +#define TMPR100 (((volatile __near __bitf_T *)0xFFEE)->no4) +#define TMPR101 (((volatile __near __bitf_T *)0xFFEE)->no5) +#define TMPR102 (((volatile __near __bitf_T *)0xFFEE)->no6) +#define TMPR103 (((volatile __near __bitf_T *)0xFFEE)->no7) +#define ADPR1 (((volatile __near __bitf_T *)0xFFEF)->no0) +#define PPR16 (((volatile __near __bitf_T *)0xFFEF)->no1) +#define TMPR111H (((volatile __near __bitf_T *)0xFFEF)->no1) +#define PPR17 (((volatile __near __bitf_T *)0xFFEF)->no2) +#define TMPR113H (((volatile __near __bitf_T *)0xFFEF)->no2) +#define PPR19 (((volatile __near __bitf_T *)0xFFEF)->no3) +#define TMPR101H (((volatile __near __bitf_T *)0xFFEF)->no3) +#define PPR110 (((volatile __near __bitf_T *)0xFFEF)->no4) +#define TMPR103H (((volatile __near __bitf_T *)0xFFEF)->no4) +#define CSIPR110 (((volatile __near __bitf_T *)0xFFEF)->no5) +#define IICPR110 (((volatile __near __bitf_T *)0xFFEF)->no5) +#define STPR11 (((volatile __near __bitf_T *)0xFFEF)->no5) +#define CSIPR111 (((volatile __near __bitf_T *)0xFFEF)->no6) +#define IICPR111 (((volatile __near __bitf_T *)0xFFEF)->no6) +#define SRPR11 (((volatile __near __bitf_T *)0xFFEF)->no6) +#define TMPR104 (((volatile __near __bitf_T *)0xFFEF)->no7) +#define MACRL (*(volatile __near unsigned short *)0xFFF0) +#define MACRH (*(volatile __near unsigned short *)0xFFF2) +#define PMC (*(volatile __near unsigned char *)0xFFFE) +#define PMC_bit (*(volatile __near __bitf_T *)0xFFFE) +#define MAA (((volatile __near __bitf_T *)0xFFFE)->no0) + + +#define INTSRO 0x0004 +#define INTWDTI 0x0004 +#define INTLVI 0x0006 +#define INTP0 0x0008 +#define INTP1 0x000A +#define INTP2 0x000C +#define INTP3 0x000E +#define INTP4 0x0010 +#define INTSPM 0x0010 +#define INTP5 0x0012 +#define INTCLM 0x0014 +#define INTCSI00 0x0016 +#define INTIIC00 0x0016 +#define INTST0 0x0016 +#define INTCSI01 0x0018 +#define INTIIC01 0x0018 +#define INTSR0 0x0018 +#define INTTRD0 0x001A +#define INTTRD1 0x001C +#define INTTRJ0 0x001E +#define INTRAM 0x0020 +#define INTLIN0TRM 0x0022 +#define INTLIN0RVC 0x0024 +#define INTLIN0 0x0026 +#define INTLIN0STA 0x0026 +#define INTIICA0 0x0028 +#define INTP8 0x002A +#define INTRTC 0x002A +#define INTTM00 0x002C +#define INTTM01 0x002E +#define INTTM02 0x0030 +#define INTTM03 0x0032 +#define INTAD 0x0034 +#define INTP6 0x0036 +#define INTTM11H 0x0036 +#define INTP7 0x0038 +#define INTTM13H 0x0038 +#define INTP9 0x003A +#define INTTM01H 0x003A +#define INTP10 0x003C +#define INTTM03H 0x003C +#define INTCSI10 0x003E +#define INTIIC10 0x003E +#define INTST1 0x003E +#define INTCSI11 0x0040 +#define INTIIC11 0x0040 +#define INTSR1 0x0040 +#define INTTM04 0x0042 +#define INTTM05 0x0044 +#define INTTM06 0x0046 +#define INTTM07 0x0048 +#define INTLIN0WUP 0x004A +#define INTP11 0x004A +#define INTKR 0x004C +#define INTCAN0ERR 0x004E +#define INTCAN0WUP 0x0050 +#define INTCAN0CFR 0x0052 +#define INTCAN0TRM 0x0054 +#define INTCANGRFR 0x0056 +#define INTCANGERR 0x0058 +#define INTTM10 0x005A +#define INTTM11 0x005C +#define INTTM12 0x005E +#define INTTM13 0x0060 +#define INTFL 0x0062 + +#endif diff --git a/ECU_APP/macro.html b/ECU_APP/macro.html new file mode 100644 index 0000000..4534d41 --- /dev/null +++ b/ECU_APP/macro.html @@ -0,0 +1,203 @@ + + + + Macro list + + + MCU name: RL78/F13(ROM:128KB)
Chip name: R5F10BBG
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Module Macro Sub Setting Status
Clock Generator Used
CGC Used
PIOR40 / RXD0/SI00/SDA00 P16
PIOR40 / TXD0/SO00 P15
PIOR40 / _SCK00/SCL00 P17
PIOR40 / _SSI00 P30
PIOR41 / SO01 P120
PIOR41 / SI01 P13
PIOR41 / _SCK01 P14
PIOR41 / _SSI01 P125
PIOR41 / SCL01 P14
PIOR41 / SDA01 P13
PIOR42 / RXD1 P11
PIOR42 / TXD1 P12
PIOR42 / SO10 P12
PIOR42 / SI10 P11
PIOR42 / _SCK10 P10
PIOR42 / SCL10 P10
PIOR42 / SDA10 P11
PIOR44 / LTxD0 P13
PIOR44 / LRxD0 P14
PIOR46 / CTxD0 P10
PIOR46 / CRxD0 P11
PIOR50 / KR0 -
PIOR50 / KR1 -
PIOR50 / KR2 -
PIOR50 / KR3 -
PIOR50 / KR4 -
PIOR50 / KR5 -
PIOR52 / INTP2 P30
PIOR53 / INTP3 P17
PIOR70 / TRDCLK0/TRDIOA0 P13
PIOR71 / TRDIOB0 P125
PIOR73 / TRDIOD0 P120
Operation mode setting High speed main mode 4.0 (V) ≤ VDD ≤ 5.5 (V)
Main system clock (fMAIN) setting High-speed system clock (fMX)
fIH operation Used
fIH frequency 32(MHz)
fMX operation Used
High-speed system clock setting X1 oscillation (fX)
fMX frequency 8(MHz)
Stable time 32768 (2^18/fX)(μs)
fPLL operation Used
fPLL frequency 32(MHz)
Lockup wait counter 64 (2^9/fMAIN)(μs)
PLL output for main system clock (fMP) setting 32 (fPLL)(MHz)
Internal low-speed oscillation clock (fIL) setting 15(kHz)
Low speed on-chip oscillator clock (fSL) setting 15 (fIL)(kHz)
WDT operation clock (fWDT) setting 15(kHz)
RTC operation clock 65.57 (fMX/122)(kHz)
Timer RD operation clock 32000 (fCLK)(kHz)
CPU and peripheral clock (fCLK) 32000 (fMP)(kHz)
On-chip debug operation setting Unused
Security ID setting Used
Security ID 0x00000000000000000000
Output the function for confirming reset source Used
RESOUT pin setting P130 used as port pin
Illegal memory access detection function setting Unused
RAM guard function setting Unused
Port register guard function setting Unused
Interrupt register guard function setting Unused
Chip state control register guard function setting Unused
Detection of 1 bit error detection interrupt (INTRAM) Unused
CPU stack pointer monitor function setting Unused
Clock monitor function setting Unused
Data flash access control setting Disables data flash access
Setting of data flash library Unused
Port Used
PORT Used
P12
Mode Out
N-ch Unused
output value 0
P13
Mode In
Pull-up Unused
Schmitt1 buffer Used
P14
Mode In
Pull-up Unused
Schmitt1 buffer Used
P15
Mode In
Pull-up Unused
P16
Mode In
Pull-up Unused
Schmitt1 buffer Used
P17
Mode In
Pull-up Unused
Schmitt1 buffer Used
P30
Mode In
Pull-up Unused
Schmitt1 buffer Used
P34
Mode In
P40
Mode Assistant function
Pull-up Unused
P41
Mode In
Pull-up Unused
P60
Mode In
Pull-up Unused
Schmitt1 buffer Used
P61
Mode In
Pull-up Unused
Schmitt1 buffer Used
P62
Mode In
Pull-up Unused
Schmitt1 buffer Used
P63
Mode In
Pull-up Unused
Schmitt1 buffer Used
P80
Mode In
P81
Mode In
P82
Mode In
P83
Mode In
P84
Mode In
P85
Mode In
P120
Mode In
Pull-up Unused
P125
Mode In
Pull-up Unused
Schmitt1 buffer Used
Interrupt Unused
Serial Unused
A/D Converter Used
ADC Used
A/D convertor operation setting Used
Comparator operation setting Operation
Resolution setting 10 bits
VREF(+) setting VDD
VREF(-) setting VSS
Trigger mode setting Hardware trigger no wait mode
Hardware trigger no wait mode INTTM01
Operation mode setting One-shot select mode
ANI0 - ANI7 analog input selection ANI0
ANI24 - ANI25 analog input selection ANI26, ANI27, ANI28, ANI29, ANI30
A/D channel selection ANI0
Conversion time mode Normal 1
Conversion time 38 (1216/fCLK)(μs)
Conversion result upper/lower bound value setting Generates an interrupt request (INTAD) when ADLL ≤ ADCRH ≤ ADUL
Upper bound (ADUL) value 255
Lower bound (ADLL) value 0
Use A/D interrupt (INTAD) Used
Priority Low
Timer Used
TAU0 Used
Channel0
Channel 0 Interval timer
Interval value (16 bits) 1000μs, (Actual value: 1000)
Generates INTTM00 when counting is started Unused
End of timer channel 0 count, generate an interrupt (INTTM00) Used
Priority (INTTM00) Low
Channel1
Channel 1 Interval timer
Operation mode setting 16 bits
Interval value (16 bits) 1000μs, (Actual value: 1000)
Generates INTTM01 when counting is started Unused
End of timer channel 1 count, generate an interrupt (INTTM01) Used
Priority (INTTM01) Low
TAU1 Unused
TMRJ0 Unused
TMRD0 Unused
TMRD1 Unused
Watchdog Timer Unused
Real-time Clock Unused
Data Transfer Controller Unused
Voltage Detector Used
LVD Used
Low voltage detector operation setting Used
Operation mode setting Reset mode
Reset generation level (VLVD) 4.32(V)
+ + \ No newline at end of file diff --git a/ECU_APP/mycode.hPreview b/ECU_APP/mycode.hPreview new file mode 100644 index 0000000..60aba27 --- /dev/null +++ b/ECU_APP/mycode.hPreview @@ -0,0 +1,14 @@ +[Preview] +LargeImageOriginalSize=708000 +LargeImageWidth=354 +LargeImageHeight=500 +LargeImage=78DAEDDDCF8B9BF79D07F0CF5F907B0E7BDB432EBD349093979083712845C498B64C6242CAB82B067776834807779DA9DC663D0E66573B26D81BB9C299A02462EA085C91CC653A910BB626C411F61C1C847248409B4B90C9A59D432FDEE7FB68343F6C87DA8E53C7CECBF0629E79FC3CCFF79134BCF5E5793EDFEF73FDFAF5B80E000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C0036DFDAB6E343EBDECBD00B81FFED28BF647A578FCCD6763F9D3B7A2786E26CAED72AC5CA946E9522BDEBB7438E6AEF6E2E4F26414DF2FC79E8589A85CA9C7E4DB1371F8CA5274AF1E8BFDEFEC8DEAD5B6F712E06EFC6D10DD2BB3F1D8EFF746F393D3F1E8918838F268BC71693E76BD5D8C03E7F6C7CA57D73772783A9E3B5789DE67CD987DBB14FD6CFF710E57B24CF67E02DC6D16AFC58BEF566F2BB30F2D57B2E56196C59D186EECDBB8588EF2474DEF23C05D1BC6CA276BB795C38DFCFAC3B61CCE979B7218008007D6A0DB8EEE60FDDBABC7187463B23011070F57A3D79C8BFDC79ADF6A7B000F5E0E37A3D1EAE779592E9733D518AE0F62B9DD8B41B62E65E6B0D78E66B51C95FA529EDBF54A39DADD41BE2EED535FEAE6EBD272DA261D37ED532E5762B07E3D562A73F1EBD27C5CEFB7A23039B3B17E18D5F2689FDEF07AAC5EE8E6DBFA4C80EFE3F5E18593F53C8753E6AEAF35A2F1EE62FCE277A7E2C5577E1BAD2CA35FFDDD91A85F18E4DB9F3A752696B3EDCEBCB910AD5A3DB31A8D33F5A8D517A2B67A2D2EAC5EC8B7EBB76AB1FA7F83E86679FD87C556AEF3612BA6AB9D186679FCDCBF3EB791C9E5BCDDA57A239A59F6FB3C80EF9F7E9EA5D787BD28956662BA3819CB6717E3CD66335ACD76BCDF588953AFBF16AD7E96952BCBB7CCE1EAC9D7A3529ECA72753E3EB8DCCDFBC2A74B85989CC9FABAFD5E54B3E3743AED517FB952B9A13F5CCDEFF9B59BD57C3B9F07F07DBC2E516DAC6DE5F0C493F1BB5F3E1FC79ADD58BDD0CEAFEB2E9E3A9AFFDFEE5F1CDA5C3E7A6A31E68A7B63A23019D3730B517AE199BC7FFBAB63B58DEB12AE3300000000F7DBFAA896A26AAC07C0BDD06B37F3FB6BD594AD95D1BDB574FF2EDD671BD7B08DEBDCD2EFEDCB6B5129CFC464615F7CB05CCFB7BFBCD68D76AFBF59B7D6EDF7B36D46CB37DEAB1BB7D7AC57F23CBFB1BD72A51EEBD976E3F6520DDC2DCF7DD8DBAACBCB7EEF2ED5A3D16C46AF37DCACC54B3577E3F6525D5EDA66BC4F275B3F3EBFB4BE5E4B2A51DBB8EF98EE3FB63B9DAD36B2F6D2BA4A65744E836E37AFCDF337047C53B5857AD45A1FC6FCF1DAC6F25ABCDF5ACEB269314E1D3DBA593F9CEA302AE556F45BE568F5AFC56AED78AC7EBA9A6F3FB8D08A7717CA9B756B8BA766B26DB2AC5AA9E4B56FDBDB3B3E7F3C5F97B27B7B7B276727A3383D13BF7C79745FF0D8FF1C8F6A6778D3F9F67B9DE874D7F2FABC94AF3393C5E864B978E63F9F8DDD3F7E367E3DDFDA6CA3DFEB6D2EA79F29433BD5E9F88F97CA31F5B32736EBA3AFADD6E2C57F3B13D5DFBE989DD37BF9FAC9429AFB68671B879E79220E1C6F6C8E6749B579437F43C037549C2AC7E1FF3A11BF79F948949EDF1B858903F19BD75AD19879217EFC4461D49FCDFA82EDE65CBC94E5F0F0723DCFCBC9C2EE28BD5CCAB79FDC3F151F5E6EC6A391FE3D1A8B2B6F4569BA9CD76ADC98C38BA75ECEEB33A6B23E67EDD8AF62FF467BB5E9A7E39FB2BD9F3DDACA33EE897FD9154F4E4CE7FDD8CDFDD7073135B127F6145E88C17A3F1ECFB67FE491C7A23318C4F33FFD69144BA7E2E7CF97E2D4460DC8D4EC7C9C39568A62F6FD503A766694F5855DF1DC5425E6267E909FEBAEC9F9B870BA143F7C6A5FFCF4474F4525FB4E4AD93BB97F36CBD86D6D64393CF5D463B1AB501CD58DE4EF49F5EBFBEB00DFC2F890CBDB33F1EFC9726AE944F1A61CDE7EBCF41D5069F5EFE83C566BADA867EEF675A4CC3D54AEDCF9BED9EB49357CABD7FC2D000000C0FDAD5B9B89C962C9F83A807BA0315F8EE2C481F8F9BE42149E3F18C5B966BC757631DACDF9982C3C113F7CF6E846DDDA74EC7972229A8B2736EED3ED8B0F5AC7F2ED2F7FB81CA7174FE7F7C352ADC1F27BD9F274AA332844F1C4CE672C8DEF9BA5BAB5745F70DCDEDC4B1331911DF7E97DA5BC6E6DF66021FBFDEFD7AD8D6B196AA51FC7EE9FFC244E563B9B63B5532DC4B8BD346E3BDDA74BF70EF7EC998857660FECA8ABFBCDD44C9C58322F11A06EED7ED4ADA5E39A1F0EB85FAAD566345BCD585A6A6DCE39BCD41D6C8DEFD8AC5BAB8E726A7DB039466334D7DA78ECC5F6F9D6C61959B8298707DDA5CDF11BA3BAB5E9BCBD3496A2B2D1F6D6DCC9E59BEAD64A8589D89BD78E8DDA48E7D01B64E7949D43DAB65EA9C6DA2DC671A4734F6D1C2DED8F43FF5DCBD7A7731D67AFF9E18087B16E2D65DBD73FAB63987F07B47BC33B3A8F41B797E5ECDDF75B47E3EEE42D0000DFA45EC23C3F00F7CAC338CFCFF631C74BF58D797B1ACD8DE5ADEBC6E51BAE678FDADB58AED4775CA7DEFE9AD23565F3FC00EA25BEBE5EA2D37A2FDECBFC61717BBE8FC642A731D1FD8DD79DCEEF7F5FAFE4AF697CEECB675FCBCF2FCDFD937E8EC7518F5EF730AFB748AFCD3C3FC0BDF230CEF333517C25E6AAEFC5C16C79DCFF3E515BD991C3A543E57CFE8B741EC3DED6B9B7565B79BD71CAF7F4DCBE710E8F5EF7743E4F50CA61F3FC000F42BDC4776D9E9FFC5A446594C3B7FB9A670BA5CDBE74FA1E48F304E539EC6F02000000EE53DD9A797E00EE9587719E9F61A715A7E75E88566718337B1F4B77F36257712EAF5BDB5B9888C3F5A5FC758FE7FCE9F79A9BE79EDA33E70FA06EEDFED5ADA571D8E6FC01FE911EC6797ECA9594A39DA866EBB63FAF797B0ED71BCD6D73FB6C3F7773FE000F4FDDDA776D9E9F94C9E9BBC4D80B000000F8F6946766BD0F00F7D1DD8EFB05E01E18F6E244A3E37D00705D02E07BABD9A87B1F0000F85E4BE3D6D2F380D2738DD258B53B1D2F01C0DDDFA71BCF9350991DCDDB73BDDF8AFDA5A3792EA739D2C6637DD3DC11E3F1C4699F4E1ACFBBB17EFC4CBA94E3B73AFEF858E3F91B527B5BCF94DB7ADEDBF631D2F95C151BE3ECB6E6AD0078B8ACAF35F279CABA836B71AC548C83B3D51866395C281E8EF274314E5F18C4C9D903F9FC62290B47F3EB9463F7D3BBE39583CF6CAE4F73E0A439CF6E95C3691EB67F7EE49168F5D763BE5CDC686F7D6B8EB4C15A3E875B7A76526A6F3CC75A3A6E3ABFB48F1C061ED6BE707A16D1C474253A6FCDC6749A03727839660E4CE4CF7A1BE7F0DCC40FF2E7B1ED9A9C8F85B9E9FC59723FFAF9F48EF56FCD16E299BDFB6F9E63787D2D7F6EDDE44C96B7FD5EB64D216FAFDFDF7AA65CE568297FE6DD89E2BE58BDB6F39974E9FCD23E37E53BC0C3D21F1E74EFFCD995597EEFFBE5CB3B8F93F5A1CFBC5ADA7C8EFDD7ED9BE6AFBC93F6D2F9A57D7C56003B73F8A6EB04EBA3B928FF5E0E0300C077EABAC457DD687C7AF95B3B7EB79FF591DBE59B7DD4FC76DAB887C705F887E4F0178D78EE4F67E3FADF0651D9C8B2E6679DA86E2CF7FE32CAB9F47FD5ABED58BA52C9D757AE2C45FD6225EAFDE56CDB6A743E6BE6FBA46D6E373B9BFD9558CE7ED6FBDDEC58A9BDD1F32D865FB6A3F9D1A88DC117EDFCFFDA5F0CF275A9EDADED47DBECA8834EDB5F6D45EB6A3DDFC7670C7CA7FDA517ED8F4AF1D8EFF7C66267265A5F0EA3F3D17454FE5C8EC2B9993CE7BA5FADC7F5BFAE46EDE3ADB1CFAB9746CF0AAA2CBF1287AF5C8E858F6B31D57822DFE7C65CFC3AFD4F6AF1B33F1E8AD93FFE7B943FE9E7C7AC5F1ACDFBF6EA9F8E44FDF351869EEA9C89E5EC1CCE7CBC10AD4BF5CC6A34B29FB5ECF7DAE7D7E2C2E717761EFBAB956864EBAF7D5ECB5E8FCF18F88ECBFAC0DDABC7E2F1534F677DC7B5BCCF7B74697F9EC7A3FEF0A87F9AB6D9FFCEDE3C637B79BF77B4BE75A91295BC4FDCDD589FFAD2BDDBCCE14A1CEE2CC41BE78B590E7F1867968FC4E13F1D8FC1DFB2EC5D7D2D3B87F558FA74F996395CEDBC9E7D074C65B93F1F1F7C71432D45F69D51CCBE0F66CE15E430F08064F15ABCF86E7533972F5C2ADD9C5FD9368D8BE36BAFC32C733BDFF8996DCB1727A3FAF930FA572BF1E4D9A9983DFF46FCE1E2E138D1EF657DF3A3515A9A89DDEF1EDA5C3EDA598CB9737B63E2EDC9983EBF10A5B3CFE4FDEF5F9DAFEDBC2EF1793D662F2EC6E2C55254AF7A86320000F7977A0900756B00DFF57A89C7DF7C36AF3B987C7B22F666BA5FF6F3FB7285B3D379DD5AE9ECF351BAD48AA9778AF1EBE5E928BE5F8E3D0B13F1CAF281FC9E58AA551BDFCBBBDDBAB5E58BA53878FEF538B97C30262F2EC7B1B3A9ED527EDDF9AD3F9762FADC647E5FF056D7874BE7DFD8BC3EBCEF8F3BC7570FFAD5288DAF0FF7D5AD010F40BDC495D9BC6EAD9D65EF6C9683E58BAD7CFD388753DD5AE9CDA762D7DBC578E97C2DCBCDC92C87A7E3B97395983BFB8378F448C4AE73F33B6A2A6EB76EED27EF3C132F64799AEAD6169767E285A593F9FFD53FAEC5EA5F47DBD5376AE45A9F2C6DD64BA49FE37A899BEE17AA97001ED4BAB52C87533D5A5E7776430E6FAF4F1B8FE938F4E7DA8E5AB53BCF61756B0023C358F9642D5F4EF5689D8DFADF71C6B6BF1CDE32BF1B375D7F18E6FBDCEEF5D994E7E99A47BA3E5D6E8FC6E5ADF49B79A68FC7D055AE2CDF723C5DDA663C9E2E7D377CED78BACFD4AD010000000000000000000000000000000070EFFD3FC139F23C +MediumImageOriginalSize=177000 +MediumImageWidth=177 +MediumImageHeight=250 +MediumImage=78DAEDDCFD6F53D71DC7F1CF1F35693F6DD2A44E42B069458265129968A50D143A4AC778CA165ADC0123C5499D429E6DEC9007628710E7C1069CC4719E1C1C2E599C0437B1C0AB8D0C8A85BCD5D5D24999945D5F420A1354EBCA2074EF1F5EB27DEFF9DE48DF7B927CCF39D7676D6D4D6B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009E69F51FCB5AFC6B8E5CE0B595B9D7A3BD6197B6B66ED7F1A11A9D8BB9D43459AEC38376D986CFA82556A3F8C30CB9C2E6F5CF9C4692F17F3B56D078DA50F66F592D66A38A3E4892277CA704C251C5A3612D1756C9075EB9C2F29CA6A2199DAFF528746D44FD9129857ADA7463FA863C173CEA76D76AA0EB921C350EE5EF1AAA6F1B504753AB3ABB5BE5F2F6CBEDEAD0DD8579CDA4F2E413AFAC0F47C6522AD9F686AAABCEE8E3E37675BAEBE46C70AAE142839C953679AA3ED4B61D659A8BF8E50D45158B45E5F7FB151A3314F005B4B292573C49CD0C002F4B777B9B0AABE4019B5B3E39ADF28327547DFAB886C723DA5752A24C72549D3E4387DF3DA2DFBCFF27B5F806B4754BA95C6D2E1D3B79C68AFBF2FE9FF5D159BB5A1AAA14B8E2D61B3FD8AEC4708B2AEA7BADF3E95B93F25CBEA6777FF6A606433D2AFDF93B6A6AFE4403971B653B665393A35C76DB011DB0D5CA55FB914ADE3EA41D3FDE2D231AD49EA3952ADB5D62FDFE78BD3EEE13FE0B2BCA2D179E79AE2FD0FFD4E7C1A1E873AF9398BFFBFC9FB15AD078D478EEF9D1D83CF701DF5A68304C1EB0F97D99D27BA57B54D9D4A6E1FE76ED2EF9A592F1A08E5638CD5AA242557535BA7C75C4AC25B6EBECB95A1D3C7460BD96B8A953A7EC6A6C6A54E062A57EF8FD1F29773BA833ED8FFAFD4A3EAFEC724EA55B766A2975533FFDC95E5D7C5C4B7C70DAAA250EEEF985F694572A7F87393B7C8B7A3893513832A190DFA794D9E7023E9F590FC73469A4E537DF17E7D6C68C8435B796CD24F5ABF78EAEC7AE5A3195276C4A65EF9BED424A250CF9CCD7E2F9E5544235753E0D9AF18B898459572434634465241E5DCB0877CBD97945E1685C6BCCD9815A02FFCF56733AF7C73372F70C2B119F92EDE8EFCC5A222C4763B74E1FA9506B57BB26E38BD63A5DE87AD05AC7B39E832BA4AD633D3DBD9A8974C96E77289F36D4167C7A8CD7E1722B9B4BEBD4E926CDC5AE69293EAB5DBBF628D8E6D6C4DCB41C8E464D4D86AC75EDE67A8FB56EE86CEB55BDA34AB1645EC34363DC237C7D2D61FECF77365E545B738DA2376FE85CE579AB96188DDED539B35F56D73BE5ED1BD25B3BDF527038B431B7B65AC8CA53EFB0E6D6A253137A7BD73B4A4E0755E5FE6A6ECD5E774907CDFE6A4C4774A1B155DD83231ABE7A4DDE26AF92C38692D98486C2838A055AAC39B6E69A66A50BAB1A35CF393E3822E3FE9AE27371EE1380EFFC5C70711C1798882BB5342B9FCF6FD61251F90261ED7E73A7A21321DD5A4A5B6DE6E7E6CCF3BEA7E22627A2EB713E15F219AB2678F2FABEE27316AB054DC5E6CCBFEF71E572CB8FC68921BF35BEF3AD8F158B71F7B3CBDC0F6CEA753A97AF43972FB8ADF538AB96484FABD5AC8BBB1A6C562DC19A1C5EC63A9D3173EBA9CFF1F8F39F9BCF2D3F7FCE371E8D69855CE31B4A2E26C8035E5F2B795D1F5B200F78AD45C726C90300BCAAFD25728B72F78EA9F9933A5DE9F7C9D5D6A37EAF4B13A34135D79E5797A756462225AFA76923A6B866B7985CB0E2BC9EF39A9A8CAAA6CEA3ABDD6D56DB5EAF9BDCE2E58DE746DBE5EC8B281C9B55A5DD61F5614745993C5EAF1A4E1E5D7FDF2B4763CB464C71CD2E76BD5D0D7D8619635753875F81FE3E0D0D745AEB6B276C27C92D36C7FE294FEC3B618C85B44A4EB0196B892F16154C2FC9BFE0532C1353201595F15948B7B2867CE6B1E97B138F8E2FF836F64F291EB7CC9935C76793661B43E14C5CC907666C2EA5D05248E1259F75BCD8AE78BDE26B241551E68B0279C70B657CDAA0EF75ECD71F8207746CC8A60323B5D6FE54462E21CFCD1E9D1E2C9773B2425B5B4B9F197F2850A68E3BB36A9D1F5120D1AB4C7A4A0B9F2FC8B833AAA9996A55CF7CF51D25DBF523323E27E778C1D6F7AACA3E88E8EEDF1F1D7BBC3F5571AFAAAF8F2D68F42F13AA8834C97FBB5F439F5E56E77CB73C8647DD33B5EA9DBF24FB44DD46FBAED90EC51FF2BD0CBCE05AE29BEE7BF9642DB1F09F3DC7F0B89620DFF89F8CDBD6F7BD2CEE71397FEFBA2A8DA03E9EACD2D9ABBFD6E18132EDEBDE22F7EDA04E866DCFECCFFBFBF6AA667648B566DDD13E5D6DFE2DBEAA06A341CE319B5AC76DFA7DC4BED1BE66DCAE488E7A182FD6F2C351ED0BD49863BA6BD6FB37BBCB1559F22BF1F08E5C91DF2A9E092B994F6B7FF78E67F6E12AB35F96FA2BF47EA4569D469D9C379C1B7DD833FEA1B675966DB42FEDD8AEC8036A09000000000000BC7EFE051806E95E +SmallImageOriginalSize=63600 +SmallImageWidth=106 +SmallImageHeight=150 +SmallImage=78DAEDD9ED4F1A5918C6E1FBFF4F93769BED76AD2B8B8AA0BC48050BAD45B08DDDAA49450DA116854A8B027604841910B4B203A674D9974FBA1693DF872BCC9939F3E599DC9C39F374BB5D75010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000EE3857D2A5E91DAF16D26179B6A7F4F6F3BA9673ABD466C4544FAB8363AB6DEAECFC4C8665F4C74DB3AEDD4C56EDF34B6AF5837DCCEC291A8D2A128A68251A5622B628C763A7DEC45F281C98D3B86352138E71BD5EDBA65E3F9069593A2E15F4295F50A954D697D291B2D99C4EAA759DB79BAA352CEA34623A56550BB3BF6B616151CF97A2F2B96774EFFE03F9BD1E795C4E7D364CBDFB23A1C8524C13D31EC557E2EA5E9EEBE37E5A219FBDC6F97D0AF8039AB77338F6E8A166DD5EFDF4F0B1A69D2E859696B57F50A0CE37EEC25E9F4E07796AD62B32CFBEF68F2B95CA7026CDE6F0BDF6B3AB55ABC3EBE0DFC6B8B93CCDDBD9187F32D6CF937BF289B2E5463F4F4F9F4587F29449EFFC234F3F3FB8A7B58D6D9D5D50D7BB94278C4E9EE6FD412D8543F2BB438A84A39A734FC93BE7B3DF2713F2B8DD5A4F1D50E7FF294FC72757B968598DC13EAAD1680CCD6DB73B43E346ED5456EBFBB9D3DED834D5E13F7064F3D4DB77B1465D9F6599FF99A776BB3D185F274FB8BECC872C75B813796AE8B85C549DEF0E236D7575458957AF34E30DC8EB1AD38CE3BE5C13634AE70D558EF29AB6DFD33CC145F93D1EC5E22F351F0CAAD9E1BBEC6DFBEB1AD4F3C53074D969EAA87CA27AEB44C94252B95AF15FE7678D5DB52E2EA8E32DF59F9C9B2E05D201C5F6227AB31F91E3DDA4D68AE9C19CB7B9987E5D9F52F2704389FD17F2ED2CEAB74D7FFF5A3015A48EB7D17FB22AAA35AFF648C57AB1DF7FFA76AD97A75439A56429A5ADC28632C69EB68B3B4A1D7F50B2FCBE9FA75479973ADE529E12071B5ACEC6E5DF72CAB5F98B66B7A6EC3CED91A711D2EAB4867AB8BD9E6E6FEF645895A13E6FBE9253C1CE5BBE76A4C3FAA1FD7BD5A338ACD1AB0000DC8C3F01D99F189E + diff --git a/ECU_APP/r_cg_adc.c b/ECU_APP/r_cg_adc.c new file mode 100644 index 0000000..a2b7ac2 --- /dev/null +++ b/ECU_APP/r_cg_adc.c @@ -0,0 +1,138 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_adc.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for ADC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_adc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_ADC_Create +* Description : This function initializes the AD converter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Create(void) +{ + ADCEN = 1U; /* supply AD clock */ + ADM0 = _00_AD_ADM0_INITIALVALUE; /* disable AD conversion and clear ADM0 register */ + ADMK = 1U; /* disable INTAD interrupt */ + ADIF = 0U; /* clear INTAD interrupt flag */ + /* Set INTAD low priority */ + ADPR1 = 1U; + ADPR0 = 1U; + /* The reset status of ADPC is analog input, so it's unnecessary to set. */ + /* Set ANI0 pin as analog input */ + PM3 |= 0x08U; + ADM0 = _00_AD_CONVERSION_CLOCK_64 | _00_AD_TIME_MODE_NORMAL_1 | _00_AD_OPERMODE_SELECT; + ADM1 = _80_AD_TRIGGER_HARDWARE_NOWAIT | _20_AD_CONVMODE_ONESELECT | _00_AD_TRIGGER_INTTM01; + ADM2 = _00_AD_POSITIVE_VDD | _00_AD_NEGATIVE_VSS | _00_AD_AREA_MODE_1 | _00_AD_RESOLUTION_10BIT; + ADUL = _FF_AD_ADUL_VALUE; + ADLL = _00_AD_ADLL_VALUE; + ADS = _00_AD_INPUT_CHANNEL_0; + ADCE = 1U; /* enable AD comparator */ +} + +/*********************************************************************************************************************** +* Function Name: R_ADC_Start +* Description : This function starts the AD converter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Start(void) +{ + ADIF = 0U; /* clear INTAD interrupt flag */ + ADMK = 0U; /* enable INTAD interrupt */ + ADCS = 1U; /* enable AD conversion */ +} + +/*********************************************************************************************************************** +* Function Name: R_ADC_Stop +* Description : This function stops the AD converter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Stop(void) +{ + ADCS = 0U; /* disable AD conversion */ + ADMK = 1U; /* disable INTAD interrupt */ + ADIF = 0U; /* clear INTAD interrupt flag */ +} + +/*********************************************************************************************************************** +* Function Name: R_ADC_Set_OperationOn +* Description : This function enables comparator operation. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Set_OperationOn(void) +{ + ADCE = 1U; /* enable AD comparator */ +} + +/*********************************************************************************************************************** +* Function Name: R_ADC_Set_OperationOff +* Description : This function stops comparator operation. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Set_OperationOff(void) +{ + ADCE = 0U; /* disable AD comparator */ +} + +/*********************************************************************************************************************** +* Function Name: R_ADC_Get_Result +* Description : This function returns the conversion result in the buffer. +* Arguments : buffer - +* the address where to write the conversion result +* Return Value : None +***********************************************************************************************************************/ +void R_ADC_Get_Result(uint16_t * const buffer) +{ + *buffer = (uint16_t)(ADCR >> 6U); +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_adc.h b/ECU_APP/r_cg_adc.h new file mode 100644 index 0000000..bbfefe4 --- /dev/null +++ b/ECU_APP/r_cg_adc.h @@ -0,0 +1,182 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_adc.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for ADC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef ADC_H +#define ADC_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Peripheral enable register 0 (PER0) +*/ +/* Control of AD converter input clock (ADCEN) */ +#define _00_AD_CLOCK_STOP (0x00U) /* stop supply of input clock */ +#define _20_AD_CLOCK_SUPPLY (0x20U) /* supply input clock */ + +/* + AD converter mode register 0 (ADM0) +*/ +#define _00_AD_ADM0_INITIALVALUE (0x00U) +/* AD conversion operation control (ADCS) */ +#define _80_AD_CONVERSION_ENABLE (0x80U) /* enable AD conversion operation control */ +#define _00_AD_CONVERSION_DISABLE (0x00U) /* disable AD conversion operation control */ +/* Specification of AD conversion operation mode (ADMD) */ +#define _00_AD_OPERMODE_SELECT (0x00U) /* select operation mode */ +#define _40_AD_OPERMODE_SCAN (0x40U) /* scan operation mode */ +/* AD conversion clock selection (FR2 - FR0) */ +#define _00_AD_CONVERSION_CLOCK_64 (0x00U) /* fCLK/64 */ +#define _08_AD_CONVERSION_CLOCK_32 (0x08U) /* fCLK/32 */ +#define _10_AD_CONVERSION_CLOCK_16 (0x10U) /* fCLK/16 */ +#define _18_AD_CONVERSION_CLOCK_8 (0x18U) /* fCLK/8 */ +#define _20_AD_CONVERSION_CLOCK_6 (0x20U) /* fCLK/6 */ +#define _28_AD_CONVERSION_CLOCK_5 (0x28U) /* fCLK/5 */ +#define _30_AD_CONVERSION_CLOCK_4 (0x30U) /* fCLK/4 */ +#define _38_AD_CONVERSION_CLOCK_2 (0x38U) /* fCLK/2 */ +/* Specification AD conversion time mode (LV1, LV0) */ +#define _00_AD_TIME_MODE_NORMAL_1 (0x00U) /* normal 1 mode */ +#define _02_AD_TIME_MODE_NORMAL_2 (0x02U) /* normal 2 mode */ +/* AD comparator operation control (ADCE) */ +#define _01_AD_COMPARATOR_ENABLE (0x01U) /* enable comparator operation control */ +#define _00_AD_COMPARATOR_DISABLE (0x00U) /* disable comparator operation control */ + +/* + Analog input channel specification register (ADS) +*/ +/* Specification of analog input channel (ADISS, ADS4 - ADS0) */ +/* Select mode */ +#define _00_AD_INPUT_CHANNEL_0 (0x00U) /* ANI0 */ +#define _01_AD_INPUT_CHANNEL_1 (0x01U) /* ANI1 */ +#define _02_AD_INPUT_CHANNEL_2 (0x02U) /* ANI2 */ +#define _03_AD_INPUT_CHANNEL_3 (0x03U) /* ANI3 */ +#define _04_AD_INPUT_CHANNEL_4 (0x04U) /* ANI4 */ +#define _05_AD_INPUT_CHANNEL_5 (0x05U) /* ANI5 */ +#define _06_AD_INPUT_CHANNEL_6 (0x06U) /* ANI6 */ +#define _07_AD_INPUT_CHANNEL_7 (0x07U) /* ANI7 */ +#define _18_AD_INPUT_CHANNEL_24 (0x18U) /* ANI24 */ +#define _19_AD_INPUT_CHANNEL_25 (0x19U) /* ANI25 */ +#define _80_AD_INPUT_TEMPERSENSOR_0 (0x80U) /* temperature sensor 0 output is used to be the input channel */ +#define _81_AD_INPUT_INTERREFVOLT (0x81U) /* internal reference voltage output is used to be the input channel */ +/* Scan mode */ +#define _00_AD_INPUT_CHANNEL_0_3 (0x00U) /* ANI0 - ANI3 */ +#define _01_AD_INPUT_CHANNEL_1_4 (0x01U) /* ANI1 - ANI4 */ +#define _02_AD_INPUT_CHANNEL_2_5 (0x02U) /* ANI2 - ANI5 */ +#define _03_AD_INPUT_CHANNEL_3_6 (0x03U) /* ANI3 - ANI6 */ +#define _04_AD_INPUT_CHANNEL_4_7 (0x04U) /* ANI4 - ANI7 */ + +/* + AD converter mode register 1 (ADM1) +*/ +/* AD trigger mode selection (ADTMD1, ADTMD0) */ +#define _00_AD_TRIGGER_SOFTWARE (0x00U) /* software trigger mode */ +#define _80_AD_TRIGGER_HARDWARE_NOWAIT (0x80U) /* hardware trigger mode (no wait) */ +#define _C0_AD_TRIGGER_HARDWARE_WAIT (0xC0U) /* hardware trigger mode (wait) */ +/* AD convertion mode selection (ADSCM) */ +#define _00_AD_CONVMODE_CONSELECT (0x00U) /* continuous convertion mode */ +#define _20_AD_CONVMODE_ONESELECT (0x20U) /* oneshot convertion mode */ +/* Trigger signal selection (ADTRS1, ADTRS0) */ +#define _00_AD_TRIGGER_INTTM01 (0x00U) /* INTTM01 */ +#define _01_AD_TRIGGER_ELC (0x01U) /* ELC */ +#define _01_AD_TRIGGER_TIMER (0x01U) /* INTTRD0,INTTRJ0 */ +#define _02_AD_TRIGGER_INTRTC (0x02U) /* INTRTC */ +/* + AD converter mode register 2 (ADM2) +*/ +/* AD VREF(+) selection (ADREFP1, ADREFP0) */ +#define _00_AD_POSITIVE_VDD (0x00U) /* use VDD as VREF(+) */ +#define _40_AD_POSITIVE_AVREFP (0x40U) /* use AVREFP as VREF(+) */ +#define _80_AD_POSITIVE_INTERVOLT (0x80U) /* use internal voltage as VREF(+) */ +/* AD VREF(-) selection (ADREFM) */ +#define _00_AD_NEGATIVE_VSS (0x00U) /* use VSS as VREF(-) */ +#define _20_AD_NEGATIVE_AVREFM (0x20U) /* use AVREFM as VREF(-) */ +/* AD conversion result upper/lower bound value selection (ADRCK) */ +#define _00_AD_AREA_MODE_1 (0x00U) /* generates INTAD when ADLL <= ADCRH <= ADUL */ +#define _08_AD_AREA_MODE_2_3 (0x08U) /* generates INTAD when ADUL < ADCRH or ADLL > ADCRH */ +/* AD wakeup function selection (AWC) */ +#define _00_AD_WAKEUP_OFF (0x00U) /* stop wakeup function */ +#define _04_AD_WAKEUP_ON (0x04U) /* use wakeup function */ +/* AD resolution selection (ADTYP) */ +#define _00_AD_RESOLUTION_10BIT (0x00U) /* 10 bits */ +#define _01_AD_RESOLUTION_8BIT (0x01U) /* 8 bits */ + +/* + AD test function register (ADTES) +*/ +/* AD test mode signal (ADTES2 - ADTES0) */ +#define _00_AD_NORMAL_INPUT (0x00U) /* normal mode */ +#define _02_AD_TEST_AVREFM (0x02U) /* use AVREFM as test signal */ +#define _03_AD_TEST_AVREFP (0x03U) /* use AVREFP as test signal */ +/* + Format of A/D Converter Trigger Select Register 0 (ADTRGS0)(F13 only) +*/ +/* Selection of the operation trigger of the A/D converter when the timer RD0 input capture B/compare match B +interrupt request is generated (ADTRGS00) */ +#define _01_AD_TRIGGER_INTTRD0 (0x01U) /* A/D conversion is started when the interrupt request is generated */ + +/* + Format of A/D Converter Trigger Select Register 1 (ADTRGS1)(F13 only) +*/ +/* Selection of the operation trigger of the A/D converter when the timer RJ0 interrupt request is generated (ADTRGS10) */ +#define _01_AD_TRIGGER_INTTRJ0 (0x01U) /* A/D conversion is started when the interrupt request is generated */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* Upper bound (ADUL) value */ +#define _FF_AD_ADUL_VALUE (0xFFU) +/* Upper bound (ADLL) value */ +#define _00_AD_ADLL_VALUE (0x00U) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef enum +{ + ADCHANNEL0, ADCHANNEL1, ADCHANNEL2, ADCHANNEL3, ADCHANNEL4, ADCHANNEL5, ADCHANNEL6, + ADCHANNEL7, ADCHANNEL24 = 24U, ADCHANNEL25, ADTEMPERSENSOR0 = 128U, ADINTERREFVOLT +} ad_channel_t; +typedef enum +{ + ADNORMALINPUT, + ADAVREFM = 2U, + ADAVREFP +} test_channel_t; + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_ADC_Create(void); +void R_ADC_Start(void); +void R_ADC_Stop(void); +void R_ADC_Set_OperationOn(void); +void R_ADC_Set_OperationOff(void); +void R_ADC_Get_Result(uint16_t * const buffer); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_adc_user.c b/ECU_APP/r_cg_adc_user.c new file mode 100644 index 0000000..f0d37c5 --- /dev/null +++ b/ECU_APP/r_cg_adc_user.c @@ -0,0 +1,83 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_adc_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for ADC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_adc.h" +/* Start user code for include. Do not edit comment generated here */ +#include "hwCtrl.h" +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +#pragma interrupt r_adc_interrupt(vect=INTAD) +/* Start user code for pragma. Do not edit comment generated here */ +#if DEBUG +#pragma interrupt r_adc_interrupt(vect=INTAD) +#endif +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +extern uint16_t g_adval[12]; + +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: r_adc_interrupt +* Description : This function is INTAD interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void __near r_adc_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + ad_handle(); + /* + uint8_t adch=0; + adch = ADS - 2; + R_ADC_Get_Result(&g_adval[adch]); + adch++; + if (adch > 9) + { + adch = 0; + } + + ADS = adch + 2; + */ + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_cgc.c b/ECU_APP/r_cg_cgc.c new file mode 100644 index 0000000..370b113 --- /dev/null +++ b/ECU_APP/r_cg_cgc.c @@ -0,0 +1,122 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for CGC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_CGC_Create +* Description : This function initializes the clock generator. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CGC_Create(void) +{ + volatile uint32_t w_count; + uint8_t temp_stab_set; + uint8_t temp_stab_wait; + + /* Set fSL */ + SELLOSC = 1U; + /* Set fMX */ + CMC = _40_CGC_HISYS_OSC | _00_CGC_SYSOSC_UNDER10M; + OSTS = _07_CGC_OSCSTAB_SEL18; + MSTOP = 0U; + temp_stab_set = _FF_CGC_OSCSTAB_STA18; + + do + { + temp_stab_wait = OSTC; + temp_stab_wait &= temp_stab_set; + } + while (temp_stab_wait != temp_stab_set); + + /* Set fMAIN */ + MCM0 = 1U; + + while (MCS == 0U) + { + ; + } + + /* Set fPLL */ + PLLCTL = _80_CGC_LOCKUP_WAIT_9 | _00_CGC_PLL_BELOW_32MHZ | _10_CGC_PLL_DIVISION_4 | _02_CGC_PLL_MULTIPLY_X16; + + /* Change the waiting time according to the system */ + for (w_count = 0U; w_count <= CGC_PLLWAITTIME; w_count++) + { + NOP(); + } + + PLLON = 1U; + + while ((PLLSTS & 0x80U) == 0U) + { + ; + } + + MDIV = _00_CGC_FMP_DIV_DEFAULT; + /* Set fMP to PLL clock select mode */ + SELPLL = 1U; + + while ((PLLSTS & 0x88U) != 0x88U) + { + ; + } + + /* Set fCLK */ + CSS = 0U; + /* Set fIH */ + HIOSTOP = 0U; + /* Set RTC clock source */ + RTCCL = _00_CGC_RTC_FMX; + RTCCL |= _42_CGC_RTC_DIV122; + /* Set Timer RD clock source to fCLK, fMP */ + TRD_CKSEL = 0U; +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_cgc.h b/ECU_APP/r_cg_cgc.h new file mode 100644 index 0000000..899b0f3 --- /dev/null +++ b/ECU_APP/r_cg_cgc.h @@ -0,0 +1,206 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for CGC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef CGC_H +#define CGC_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Clock operation mode control register (CMC) +*/ +/* High-speed system clock pin operation mode (EXCLK, OSCSEL) */ +#define _C0_CGC_HISYS_PIN (0xC0U) +#define _00_CGC_HISYS_PORT (0x00U) /* X1, X2 as I/O port */ +#define _40_CGC_HISYS_OSC (0x40U) /* X1, X2 as crystal/ceramic resonator connection */ +#define _80_CGC_HISYS_PORT1 (0x80U) /* X1, X2 as I/O port */ +#define _C0_CGC_HISYS_EXT (0xC0U) /* X1 as I/O port, X2 as external clock input */ +/* Control of X1 high-speed system clock oscillation frequency (AMPH) */ +#define _00_CGC_SYSOSC_DEFAULT (0x00U) +#define _00_CGC_SYSOSC_UNDER10M (0x00U) /* fX <= 10MHz */ +#define _01_CGC_SYSOSC_OVER10M (0x01U) /* fX > 10MHz */ + +/* + Clock operation status control register (CSC) +*/ +/* Control of high-speed system clock operation (MSTOP) */ +#define _00_CGC_HISYS_OPER (0x00U) /* X1 oscillator/external clock operating */ +#define _80_CGC_HISYS_STOP (0x80U) /* X1 oscillator/external clock stopped */ +/* High-speed OCO operation (HIOSTOP) */ +#define _00_CGC_HIO_OPER (0x00U) /* high-speed OCO operating */ +#define _01_CGC_HIO_STOP (0x01U) /* high-speed OCO stopped */ + +/* + Oscillation stabilization time counter status register (OSTC) +*/ +/* Oscillation stabilization time status (MOST18 - MOST8) */ +#define _00_CGC_OSCSTAB_STA0 (0x00U) /* < 2^8/fX */ +#define _80_CGC_OSCSTAB_STA8 (0x80U) /* 2^8/fX */ +#define _C0_CGC_OSCSTAB_STA9 (0xC0U) /* 2^9/fX */ +#define _E0_CGC_OSCSTAB_STA10 (0xE0U) /* 2^10/fX */ +#define _F0_CGC_OSCSTAB_STA11 (0xF0U) /* 2^11/fX */ +#define _F8_CGC_OSCSTAB_STA13 (0xF8U) /* 2^13/fX */ +#define _FC_CGC_OSCSTAB_STA15 (0xFCU) /* 2^15/fX */ +#define _FE_CGC_OSCSTAB_STA17 (0xFEU) /* 2^17/fX */ +#define _FF_CGC_OSCSTAB_STA18 (0xFFU) /* 2^18/fX */ + +/* + Oscillation stabilization time select register (OSTS) +*/ +/* Oscillation stabilization time selection (OSTS2 - OSTS0) */ +#define _00_CGC_OSCSTAB_SEL8 (0x00U) /* 2^8/fX */ +#define _01_CGC_OSCSTAB_SEL9 (0x01U) /* 2^9/fX */ +#define _02_CGC_OSCSTAB_SEL10 (0x02U) /* 2^10/fX */ +#define _03_CGC_OSCSTAB_SEL11 (0x03U) /* 2^11/fX */ +#define _04_CGC_OSCSTAB_SEL13 (0x04U) /* 2^13/fX */ +#define _05_CGC_OSCSTAB_SEL15 (0x05U) /* 2^15/fX */ +#define _06_CGC_OSCSTAB_SEL17 (0x06U) /* 2^17/fX */ +#define _07_CGC_OSCSTAB_SEL18 (0x07U) /* 2^18/fX */ + +/* + PLL control register (PLLCTL) +*/ +/* Lockup wait counter setting value */ +#define _00_CGC_LOCKUP_WAIT_7 (0x00U) /* 2^7/fMAIN */ +#define _40_CGC_LOCKUP_WAIT_8 (0x40U) /* 2^8/fMAIN */ +#define _80_CGC_LOCKUP_WAIT_9 (0x80U) /* 2^9/fMAIN */ +/* PLL output clock selection (PLLDIV1) */ +#define _00_CGC_PLL_BELOW_32MHZ (0x00U) /* when fMAIN <= 32 MHz */ +#define _20_CGC_PLL_ABOVE_32MHZ (0x20U) /* when fMAIN > 32 MHz */ +/* PLL output clock division selection (PLLDIV0) */ +#define _00_CGC_PLL_DIVISION_2 (0x00U) /* divides the clock frequency by 2 */ +#define _10_CGC_PLL_DIVISION_4 (0x10U) /* divides the clock frequency by 4 */ +/* Clock mode selection (SELPLL) */ +#define _00_CGC_NOSEL_PLL (0x00U) /* clock through mode */ +#define _04_CGC_SEL_PLL (0x04U) /* PLL clock select mode */ +/* PLL output clock (fPLLO) multiplier selection (PLLMUL) */ +#define _00_CGC_PLL_MULTIPLY_X12 (0x00U) /* clock through mode */ +#define _02_CGC_PLL_MULTIPLY_X16 (0x02U) /* PLL clock select mode */ +/* Operating or stopping PLL function (PLLON) */ +#define _00_CGC_PLL_STOP (0x00U) /* PLL operating stopped */ +#define _01_CGC_PLL_ENABLE (0x01U) /* PLL operating */ + +/* + PLL status register (PLLSTS) +*/ +/* PLL lock state */ +#define _00_CGC_PLL_UNLOCKED (0x00U) /* Unlocked state */ +#define _80_CGC_PLL_LOCKED (0x80U) /* Locked state */ + +/* + FMP clock selection division register (MDIV) +*/ +/* Division of PLL clock (fMP) */ +#define _00_CGC_FMP_DIV_DEFAULT (0x00U) /* fMP (default) */ +#define _01_CGC_FMP_DIV_1 (0x01U) /* fMP/2^1 */ +#define _02_CGC_FMP_DIV_2 (0x02U) /* fMP/2^2 */ +#define _03_CGC_FMP_DIV_3 (0x03U) /* fMP/2^3 */ +#define _04_CGC_FMP_DIV_4 (0x04U) /* fMP/2^4 */ +#define _05_CGC_FMP_DIV_5 (0x05U) /* fMP/2^5 */ +#define _06_CGC_FMP_DIV_6 (0x06U) /* fMP/2^6 */ + +/* + System clock control register (CKC) +*/ +/* Status of Main system clock fMAIN (MCS) */ +#define _00_CGC_MAINCLK_HIO (0x00U) /* high-speed OCO clock (fIH) */ +#define _20_CGC_MAINCLK_HISYS (0x20U) /* high-speed system clock (fMX) */ +/* Selection of Main system clock fMAIN (MCM0) */ +#define _00_CGC_MAINCLK_SELHIO (0x00U) /* high-speed OCO clock (fIH) */ +#define _10_CGC_MAINCLK_SELHISYS (0x10U) /* high-speed system clock (fMX) */ + +/* + Operation speed mode control register (OSMC) +*/ +/* Setting in subsystem clock HALT mode (RTCLPC) */ +#define _00_CGC_SUBINHALT_ON (0x00U) /* enables supply of subsystem clock to peripheral functions */ +#define _80_CGC_SUBINHALT_OFF (0x80U) /* stops supply to peripheral functions other than RTC and interval timer */ +/* RTC macro operation clock (WUTMMCK0) */ +#define _00_CGC_RTC_CLK_OTHER (0x00U) /* Other than fIL */ +#define _10_CGC_RTC_CLK_FIL (0x10U) /* use fIL clock */ + +/* + Illegal memory access detection control register (IAWCTL) +*/ +/* Illegal memory access detection control (IAWEN) */ +#define _00_CGC_ILLEGAL_ACCESS_OFF (0x00U) /* disables illegal memory access detection */ +#define _80_CGC_ILLEGAL_ACCESS_ON (0x80U) /* enables illegal memory access detection */ +/* RAM guard area (GRAM1, GRAM0) */ +#define _00_CGC_RAM_GUARD_OFF (0x00U) /* invalid, it is possible to write RAM */ +#define _10_CGC_RAM_GUARD_AREA0 (0x10U) /* 128 bytes from RAM bottom address */ +#define _20_CGC_RAM_GUARD_AREA1 (0x20U) /* 256 bytes from RAM bottom address */ +#define _30_CGC_RAM_GUARD_AREA2 (0x30U) /* 512 bytes from RAM bottom address */ +/* PORT register guard (GPORT) */ +#define _00_CGC_PORT_GUARD_OFF (0x00U) /* invalid, it is possible to write PORT register */ +#define _04_CGC_PORT_GUARD_ON (0x04U) /* valid, it is impossible to write PORT register, but possible for read */ +/* Interrupt register guard (GINT) */ +#define _00_CGC_INT_GUARD_OFF (0x00U) /* invalid, it is possible to write interrupt register */ +#define _02_CGC_INT_GUARD_ON (0x02U) /* valid, it is impossible to write , but possible for read */ +/* CSC register guard (GCSC) */ +#define _00_CGC_CSC_GUARD_OFF (0x00U) /* invalid, it is possible to write CSC register */ +#define _01_CGC_CSC_GUARD_ON (0x01U) /* valid, it is impossible to write CSC register, but possible for read */ + +/* + RTC clock selection register (RTCCL) +*/ +/* Operation clock source selection for RTC (RTCCL7) */ +#define _00_CGC_RTC_FMX (0x00U) /* RTC uses External Main clock (fMX) */ +#define _80_CGC_RTC_FIH (0x80U) /* RTC uses Internal high speed clock (fIH) */ +/* Operation selection of RTC macro (RTCCL6,RTCCKS1 - RTCCKS0) */ +#define _00_CGC_RTC_FSUB (0x00U) /* RTC uses sub clock */ +#define _02_CGC_RTC_DIV128 (0x02U) /* RTC uses high-speed clock / 128 */ +#define _03_CGC_RTC_DIV256 (0x03U) /* RTC uses high-speed clock / 256 */ +#define _42_CGC_RTC_DIV122 (0x42U) /* RTC uses high-speed clock / 122 */ +#define _43_CGC_RTC_DIV244 (0x43U) /* RTC uses high-speed clock / 244 */ + + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#define CGC_PLLWAITTIME (800U) /* change the waiting time according to the system */ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef enum +{ + HIOCLK, + SYSX1CLK, + SYSEXTCLK +} clock_mode_t; + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_CGC_Create(void); +void R_CGC_Get_ResetSource(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_cgc_user.c b/ECU_APP/r_cg_cgc_user.c new file mode 100644 index 0000000..ef16615 --- /dev/null +++ b/ECU_APP/r_cg_cgc_user.c @@ -0,0 +1,64 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_cgc_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for CGC module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_CGC_Get_ResetSource +* Description : This function process of Reset. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_CGC_Get_ResetSource(void) +{ + uint8_t reset_flag = RESF; + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_intc.c b/ECU_APP/r_cg_intc.c new file mode 100644 index 0000000..1b6b3bc --- /dev/null +++ b/ECU_APP/r_cg_intc.c @@ -0,0 +1,83 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_intc.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for INTC module. +* Creation Date: 2023-05-03 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_intc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_INTC_Create +* Description : This function initializes INTP module. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_INTC_Create(void) +{ + PMK0 = 1U; /* disable INTP0 operation */ + PIF0 = 0U; /* clear INTP0 interrupt flag */ + PMK1 = 1U; /* disable INTP1 operation */ + PIF1 = 0U; /* clear INTP1 interrupt flag */ + PMK2 = 1U; /* disable INTP2 operation */ + PIF2 = 0U; /* clear INTP2 interrupt flag */ + PMK3 = 1U; /* disable INTP3 operation */ + PIF3 = 0U; /* clear INTP3 interrupt flag */ + PMK4 = 1U; /* disable INTP4 operation */ + PIF4 = 0U; /* clear INTP4 interrupt flag */ + PMK5 = 1U; /* disable INTP5 operation */ + PIF5 = 0U; /* clear INTP5 interrupt flag */ + PMK6 = 1U; /* disable INTP6 operation */ + PIF6 = 0U; /* clear INTP6 interrupt flag */ + PMK7 = 1U; /* disable INTP7 operation */ + PIF7 = 0U; /* clear INTP7 interrupt flag */ + PMK8 = 1U; /* disable INTP8 operation */ + PIF8 = 0U; /* clear INTP8 interrupt flag */ + PMK9 = 1U; /* disable INTP9 operation */ + PIF9 = 0U; /* clear INTP9 interrupt flag */ + INTMSK = _00_INTP4_CONTROL_ENABLE | _02_INTP5_CONTROL_DISABLE | _04_INTP6_CONTROL_DISABLE | + _F8_INTP_INTMSK_INIT_VALUE; +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_intc.h b/ECU_APP/r_cg_intc.h new file mode 100644 index 0000000..4052aef --- /dev/null +++ b/ECU_APP/r_cg_intc.h @@ -0,0 +1,141 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_intc.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for INTC module. +* Creation Date: 2023-05-03 +***********************************************************************************************************************/ + +#ifndef INTC_H +#define INTC_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/* + External Interrupt Rising Edge Enable Register 0 (EGP0) +*/ +/* INTPn pin valid edge selection (EGPn) */ +#define _01_INTP0_EDGE_RISING_SEL (0x01U) /* rising edge selected for INTP0 pin */ +#define _00_INTP0_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP0 pin */ +#define _02_INTP1_EDGE_RISING_SEL (0x02U) /* rising edge selected for INTP1 pin */ +#define _00_INTP1_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP1 pin*/ +#define _04_INTP2_EDGE_RISING_SEL (0x04U) /* rising edge selected for INTP2 pin */ +#define _00_INTP2_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP2 pin */ +#define _08_INTP3_EDGE_RISING_SEL (0x08U) /* rising edge selected for INTP3 pin */ +#define _00_INTP3_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP3 pin */ +#define _10_INTP4_EDGE_RISING_SEL (0x10U) /* rising edge selected for INTP4 pin */ +#define _00_INTP4_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP4 pin */ +#define _20_INTP5_EDGE_RISING_SEL (0x20U) /* rising edge selected for INTP5 pin */ +#define _00_INTP5_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP5 pin */ +#define _40_INTP6_EDGE_RISING_SEL (0x40U) /* rising edge selected for INTP6 pin */ +#define _00_INTP6_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP6 pin */ +#define _80_INTP7_EDGE_RISING_SEL (0x80U) /* rising edge selected for INTP7 pin */ +#define _00_INTP7_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP7 pin */ + +/* + External Interrupt Falling Edge Enable Register 0 (EGN0) +*/ +/* INTPn pin valid edge selection (EGNn) */ +#define _01_INTP0_EDGE_FALLING_SEL (0x01U) /* falling edge selected for INTP0 pin */ +#define _00_INTP0_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP0 pin */ +#define _02_INTP1_EDGE_FALLING_SEL (0x02U) /* falling edge selected for INTP1 pin */ +#define _00_INTP1_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP1 pin */ +#define _04_INTP2_EDGE_FALLING_SEL (0x04U) /* falling edge selected for INTP2 pin */ +#define _00_INTP2_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP2 pin */ +#define _08_INTP3_EDGE_FALLING_SEL (0x08U) /* falling edge selected for INTP3 pin */ +#define _00_INTP3_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP3 pin */ +#define _10_INTP4_EDGE_FALLING_SEL (0x10U) /* falling edge selected for INTP4 pin */ +#define _00_INTP4_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP4 pin */ +#define _20_INTP5_EDGE_FALLING_SEL (0x20U) /* falling edge selected for INTP5 pin */ +#define _00_INTP5_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP5 pin */ +#define _40_INTP6_EDGE_FALLING_SEL (0x40U) /* falling edge selected for INTP6 pin */ +#define _00_INTP6_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP6 pin */ +#define _80_INTP7_EDGE_FALLING_SEL (0x80U) /* falling edge selected for INTP7 pin */ +#define _00_INTP7_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP7 pin */ + +/* + External Interrupt Rising Edge Enable Register 1 (EGP1) +*/ +/* INTPn pin valid edge selection (EGPn) */ +#define _01_INTP8_EDGE_RISING_SEL (0x01U) /* rising edge selected for INTP8 pin */ +#define _00_INTP8_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP8 pin */ +#define _02_INTP9_EDGE_RISING_SEL (0x02U) /* rising edge selected for INTP9 pin */ +#define _00_INTP9_EDGE_RISING_UNSEL (0x00U) /* rising edge not selected for INTP9 pin*/ + +/* + External Interrupt Falling Edge Enable Register 1 (EGN1) +*/ +/* INTPn pin valid edge selection (EGNn) */ +#define _01_INTP8_EDGE_FALLING_SEL (0x01U) /* falling edge selected for INTP8 pin */ +#define _00_INTP8_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP8 pin */ +#define _02_INTP9_EDGE_FALLING_SEL (0x02U) /* falling edge selected for INTP9 pin */ +#define _00_INTP9_EDGE_FALLING_UNSEL (0x00U) /* falling edge not selected for INTP9 pin */ + +/* + Interrupt Mask Register (INTMSK) +*/ +#define _F8_INTP_INTMSK_INIT_VALUE (0xF8U) /* set INTMSK initial value */ +/* Setting masking for INTP4 interrupt source to the interrupt control circuit INTMSK0 */ +#define _01_INTP4_CONTROL_DISABLE (0x01U) /* requests to the interrupt control circuit are disabled */ +#define _00_INTP4_CONTROL_ENABLE (0x00U) /* requests to the interrupt control circuit, ELC, and DTC are enabled */ +/* Setting masking for INTP5 interrupt source to the interrupt control circuit INTMSK1 */ +#define _02_INTP5_CONTROL_DISABLE (0x02U) /* requests to the interrupt control circuit are disabled, and requests */ +#define _00_INTP5_CONTROL_ENABLE (0x00U) /* requests to the interrupt control circuit, ELC, and DTC are enabled */ +/* Setting masking for INTP6 interrupt source to the interrupt control circuit INTMSK1 */ +#define _04_INTP6_CONTROL_DISABLE (0x04U) /* requests to the interrupt control circuit are disabled, and requests */ +#define _00_INTP6_CONTROL_ENABLE (0x00U) /* requests to the interrupt control circuit, ELC, and DTC are enabled */ + +/* + Key Return Mode Register (KRM) +*/ +/* Key interrupt mode control (KRM0) */ +#define _00_KR0_SIGNAL_DETECT_OFF (0x00U) /* not detect KR0 signal */ +#define _01_KR0_SIGNAL_DETECT_ON (0x01U) /* detect KR0 signal */ +/* Key interrupt mode control (KRM1) */ +#define _00_KR1_SIGNAL_DETECT_OFF (0x00U) /* not detect KR1 signal */ +#define _02_KR1_SIGNAL_DETECT_ON (0x02U) /* detect KR1 signal */ +/* Key interrupt mode control (KRM2) */ +#define _00_KR2_SIGNAL_DETECT_OFF (0x00U) /* not detect KR2 signal */ +#define _04_KR2_SIGNAL_DETECT_ON (0x04U) /* detect KR2 signal */ +/* Key interrupt mode control (KRM3) */ +#define _00_KR3_SIGNAL_DETECT_OFF (0x00U) /* not detect KR3 signal */ +#define _08_KR3_SIGNAL_DETECT_ON (0x08U) /* detect KR3 signal */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_INTC_Create(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_intc_user.c b/ECU_APP/r_cg_intc_user.c new file mode 100644 index 0000000..13a8ab1 --- /dev/null +++ b/ECU_APP/r_cg_intc_user.c @@ -0,0 +1,51 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_intc_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for INTC module. +* Creation Date: 2023-05-03 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_intc.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_macrodriver.h b/ECU_APP/r_cg_macrodriver.h new file mode 100644 index 0000000..ab6388d --- /dev/null +++ b/ECU_APP/r_cg_macrodriver.h @@ -0,0 +1,89 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_macrodriver.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements general head file. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef STATUS_H +#define STATUS_H +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "iodefine.h" + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#ifndef __TYPEDEF__ +#define DI __DI +#define EI __EI +#define HALT __halt +#define NOP __nop +#define STOP __stop +#define BRK __brk + +/* Status list definition */ +#define MD_STATUSBASE 0x00U +#define MD_OK (MD_STATUSBASE + 0x00U) /* register setting OK */ +#define MD_SPT (MD_STATUSBASE + 0x01U) /* IIC stop */ +#define MD_NACK (MD_STATUSBASE + 0x02U) /* IIC no ACK */ +#define MD_BUSY1 (MD_STATUSBASE + 0x03U) /* busy 1 */ +#define MD_BUSY2 (MD_STATUSBASE + 0x04U) /* busy 2 */ +#define MD_OVERRUN (MD_STATUSBASE + 0x05U) /* IIC OVERRUN occur */ + +/* Error list definition */ +#define MD_ERRORBASE 0x80U +#define MD_ERROR (MD_ERRORBASE + 0x00U) /* error */ +#define MD_ARGERROR (MD_ERRORBASE + 0x01U) /* error agrument input error */ +#define MD_ERROR1 (MD_ERRORBASE + 0x02U) /* error 1 */ +#define MD_ERROR2 (MD_ERRORBASE + 0x03U) /* error 2 */ +#define MD_ERROR3 (MD_ERRORBASE + 0x04U) /* error 3 */ +#define MD_ERROR4 (MD_ERRORBASE + 0x05U) /* error 4 */ +#define MD_DATAEXISTS (MD_ERRORBASE + 0x06U) /* data to be transferred next exists in TXBn register */ +#endif + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +#ifndef __TYPEDEF__ +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed long int32_t; +typedef unsigned long uint32_t; +typedef unsigned short MD_STATUS; +#define __TYPEDEF__ +#endif + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ + +#endif diff --git a/ECU_APP/r_cg_port.c b/ECU_APP/r_cg_port.c new file mode 100644 index 0000000..8531f13 --- /dev/null +++ b/ECU_APP/r_cg_port.c @@ -0,0 +1,74 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_port.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for PORT module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_port.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_PORT_Create +* Description : This function initializes the Port I/O. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_PORT_Create(void) +{ + P1 = _00_Pn2_OUTPUT_0; + PU4 = _00_PUn0_PULLUP_OFF; + PMC12 = _00_PMCn0_DI_ON | _00_PMCn5_DI_ON | _DE_PMC12_DEFAULT; + PSRSEL = _00_PSR120_NORMAL | _00_PSR30_NORMAL | _00_PSR12_NORMAL; + ADPC = _02_ADPC_DI_ON; + PM1 = _01_PMn0_NOT_USE | _02_PMn1_NOT_USE | _00_PMn2_MODE_OUTPUT | _08_PMn3_NOT_USE | _10_PMn4_NOT_USE | + _20_PMn5_NOT_USE | _40_PMn6_MODE_INPUT | _80_PMn7_MODE_INPUT; + PM3 = _01_PMn0_MODE_INPUT | _08_PMn3_NOT_USE | _10_PMn4_MODE_INPUT | _E6_PM3_DEFAULT; + PM4 = _01_PMn0_NOT_USE | _02_PMn1_MODE_INPUT | _FC_PM4_DEFAULT; + PM6 = _01_PMn0_MODE_INPUT | _02_PMn1_MODE_INPUT | _04_PMn2_MODE_INPUT | _08_PMn3_MODE_INPUT | _F0_PM6_DEFAULT; + PM8 = _01_PMn0_MODE_INPUT | _02_PMn1_MODE_INPUT | _04_PMn2_MODE_INPUT | _08_PMn3_MODE_INPUT | _10_PMn4_MODE_INPUT | + _20_PMn5_MODE_INPUT | _C0_PM8_DEFAULT; + PM12 = _01_PMn0_MODE_INPUT | _20_PMn5_MODE_INPUT | _DE_PM12_DEFAULT; +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_port.h b/ECU_APP/r_cg_port.h new file mode 100644 index 0000000..0691063 --- /dev/null +++ b/ECU_APP/r_cg_port.h @@ -0,0 +1,249 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_port.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for PORT module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef PORT_H +#define PORT_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Port Mode Register (PMm) +*/ +/* Pmn pin I/O mode selection (PMm7 - PMm0) */ +#define _01_PMn0_NOT_USE (0x01U) /* not use Pn0 as digital I/O */ +#define _01_PMn0_MODE_INPUT (0x01U) /* use Pn0 as input mode */ +#define _00_PMn0_MODE_OUTPUT (0x00U) /* use Pn0 as output mode */ +#define _02_PMn1_NOT_USE (0x02U) /* not use Pn1 as digital I/O */ +#define _02_PMn1_MODE_INPUT (0x02U) /* use Pn1 as input mode */ +#define _00_PMn1_MODE_OUTPUT (0x00U) /* use Pn1 as output mode */ +#define _04_PMn2_NOT_USE (0x04U) /* not use Pn2 as digital I/O */ +#define _04_PMn2_MODE_INPUT (0x04U) /* use Pn2 as input mode */ +#define _00_PMn2_MODE_OUTPUT (0x00U) /* use Pn2 as output mode */ +#define _08_PMn3_NOT_USE (0x08U) /* not use Pn3 as digital I/O */ +#define _08_PMn3_MODE_INPUT (0x08U) /* use Pn3 as input mode */ +#define _00_PMn3_MODE_OUTPUT (0x00U) /* use Pn3 as output mode */ +#define _10_PMn4_NOT_USE (0x10U) /* not use Pn4 as digital I/O */ +#define _10_PMn4_MODE_INPUT (0x10U) /* use Pn4 as input mode */ +#define _00_PMn4_MODE_OUTPUT (0x00U) /* use Pn4 as output mode */ +#define _20_PMn5_NOT_USE (0x20U) /* not use Pn5 as digital I/O */ +#define _20_PMn5_MODE_INPUT (0x20U) /* use Pn5 as input mode */ +#define _00_PMn5_MODE_OUTPUT (0x00U) /* use Pn5 as output mode */ +#define _40_PMn6_NOT_USE (0x40U) /* not use Pn6 as digital I/O */ +#define _40_PMn6_MODE_INPUT (0x40U) /* use Pn6 as input mode */ +#define _00_PMn6_MODE_OUTPUT (0x00U) /* use Pn6 as output mode */ +#define _80_PMn7_NOT_USE (0x80U) /* not use Pn7 as digital I/O */ +#define _80_PMn7_MODE_INPUT (0x80U) /* use Pn7 as input mode */ +#define _00_PMn7_MODE_OUTPUT (0x00U) /* use Pn7 as output mode */ + +/* + Port Register (Pm) +*/ +/* Pmn pin data (Pm0 to Pm7) */ +#define _00_Pn0_OUTPUT_0 (0x00U) /* Pn0 output 0 */ +#define _01_Pn0_OUTPUT_1 (0x01U) /* Pn0 output 1 */ +#define _00_Pn1_OUTPUT_0 (0x00U) /* Pn1 output 0 */ +#define _02_Pn1_OUTPUT_1 (0x02U) /* Pn1 output 1 */ +#define _00_Pn2_OUTPUT_0 (0x00U) /* Pn2 output 0 */ +#define _04_Pn2_OUTPUT_1 (0x04U) /* Pn2 output 1 */ +#define _00_Pn3_OUTPUT_0 (0x00U) /* Pn3 output 0 */ +#define _08_Pn3_OUTPUT_1 (0x08U) /* Pn3 output 1 */ +#define _00_Pn4_OUTPUT_0 (0x00U) /* Pn4 output 0 */ +#define _10_Pn4_OUTPUT_1 (0x10U) /* Pn4 output 1 */ +#define _00_Pn5_OUTPUT_0 (0x00U) /* Pn5 output 0 */ +#define _20_Pn5_OUTPUT_1 (0x20U) /* Pn5 output 1 */ +#define _00_Pn6_OUTPUT_0 (0x00U) /* Pn6 output 0 */ +#define _40_Pn6_OUTPUT_1 (0x40U) /* Pn6 output 1 */ +#define _00_Pn7_OUTPUT_0 (0x00U) /* Pn7 output 0 */ +#define _80_Pn7_OUTPUT_1 (0x80U) /* Pn7 output 1 */ + +/* + Pull-up Resistor Option Register (PUm) +*/ +/* Pmn pin on-chip pull-up resistor selection (PUmn) */ +#define _00_PUn0_PULLUP_OFF (0x00U) /* Pn0 pull-up resistor not connected */ +#define _01_PUn0_PULLUP_ON (0x01U) /* Pn0 pull-up resistor connected */ +#define _00_PUn1_PULLUP_OFF (0x00U) /* Pn1 pull-up resistor not connected */ +#define _02_PUn1_PULLUP_ON (0x02U) /* Pn1 pull-up resistor connected */ +#define _00_PUn2_PULLUP_OFF (0x00U) /* Pn2 Pull-up resistor not connected */ +#define _04_PUn2_PULLUP_ON (0x04U) /* Pn2 pull-up resistor connected */ +#define _00_PUn3_PULLUP_OFF (0x00U) /* Pn3 pull-up resistor not connected */ +#define _08_PUn3_PULLUP_ON (0x08U) /* Pn3 pull-up resistor connected */ +#define _00_PUn4_PULLUP_OFF (0x00U) /* Pn4 pull-up resistor not connected */ +#define _10_PUn4_PULLUP_ON (0x10U) /* Pn4 pull-up resistor connected */ +#define _00_PUn5_PULLUP_OFF (0x00U) /* Pn5 pull-up resistor not connected */ +#define _20_PUn5_PULLUP_ON (0x20U) /* Pn5 pull-up resistor connected */ +#define _00_PUn6_PULLUP_OFF (0x00U) /* Pn6 pull-up resistor not connected */ +#define _40_PUn6_PULLUP_ON (0x40U) /* Pn6 pull-up resistor connected */ +#define _00_PUn7_PULLUP_OFF (0x00U) /* Pn7 pull-up resistor not connected */ +#define _80_PUn7_PULLUP_ON (0x80U) /* Pn7 pull-up resistor connected */ + +/* + Port Input Mode Register (PIMm) +*/ +/* Pmn pin input buffer selection (PIMmn) */ +#define _00_PIMn0_TTL_OFF (0x00U) /* set Pn0 normal input buffer */ +#define _01_PIMn0_TTL_ON (0x01U) /* set Pn0 TTL input buffer */ +#define _00_PIMn1_TTL_OFF (0x00U) /* set Pn1 normal input buffer */ +#define _02_PIMn1_TTL_ON (0x02U) /* set Pn1 TTL input buffer */ +#define _00_PIMn2_TTL_OFF (0x00U) /* set Pn2 normal input buffer */ +#define _04_PIMn2_TTL_ON (0x04U) /* set Pn2 TTL input buffer */ +#define _00_PIMn3_TTL_OFF (0x00U) /* set Pn3 normal input buffer */ +#define _08_PIMn3_TTL_ON (0x08U) /* set Pn3 TTL input buffer */ +#define _00_PIMn4_TTL_OFF (0x00U) /* set Pn4 normal input buffer */ +#define _10_PIMn4_TTL_ON (0x10U) /* set Pn4 TTL input buffer */ +#define _00_PIMn5_TTL_OFF (0x00U) /* set Pn5 normal input buffer */ +#define _20_PIMn5_TTL_ON (0x20U) /* set Pn5 TTL input buffer */ +#define _00_PIMn6_TTL_OFF (0x00U) /* set Pn6 normal input buffer */ +#define _40_PIMn6_TTL_ON (0x40U) /* set Pn6 TTL input buffer */ +#define _00_PIMn7_TTL_OFF (0x00U) /* set Pn7 normal input buffer */ +#define _80_PIMn7_TTL_ON (0x80U) /* set Pn7 TTL input buffer */ + +/* + Port Input Threshold Control Register (PITHLm) +*/ +/* Pmn pin input threshold selection (PITHLmn) */ +#define _00_PITHLn0_SCHMITT3_OFF (0x00U) /* set Pn0 schmitt 1 input (default) */ +#define _01_PITHLn0_SCHMITT3_ON (0x01U) /* set Pn0 schmitt 3 input */ +#define _00_PITHLn1_SCHMITT3_OFF (0x00U) /* set Pn1 schmitt 1 input (default) */ +#define _02_PITHLn1_SCHMITT3_ON (0x02U) /* set Pn1 schmitt 3 input */ +#define _00_PITHLn2_SCHMITT3_OFF (0x00U) /* set Pn2 schmitt 1 input (default) */ +#define _04_PITHLn2_SCHMITT3_ON (0x04U) /* set Pn2 schmitt 3 input */ +#define _00_PITHLn3_SCHMITT3_OFF (0x00U) /* set Pn3 schmitt 1 input (default) */ +#define _08_PITHLn3_SCHMITT3_ON (0x08U) /* set Pn3 schmitt 3 input */ +#define _00_PITHLn4_SCHMITT3_OFF (0x00U) /* set Pn4 schmitt 1 input (default) */ +#define _10_PITHLn4_SCHMITT3_ON (0x10U) /* set Pn4 schmitt 3 input */ +#define _00_PITHLn5_SCHMITT3_OFF (0x00U) /* set Pn5 schmitt 1 input (default) */ +#define _20_PITHLn5_SCHMITT3_ON (0x20U) /* set Pn5 schmitt 3 input */ +#define _00_PITHLn6_SCHMITT3_OFF (0x00U) /* set Pn6 schmitt 1 input (default) */ +#define _40_PITHLn6_SCHMITT3_ON (0x40U) /* set Pn6 schmitt 3 input */ +#define _00_PITHLn7_SCHMITT3_OFF (0x00U) /* set Pn7 schmitt 1 input (default) */ +#define _80_PITHLn7_SCHMITT3_ON (0x80U) /* set Pn7 schmitt 3 input */ + +/* + Port Output Mode Register (POMm) +*/ +/* Pmn pin output mode selection (POMmn) */ +#define _00_POMn0_NCH_OFF (0x00U) /* set Pn0 output normal mode */ +#define _01_POMn0_NCH_ON (0x01U) /* set Pn0 output N-ch open-drain mode */ +#define _00_POMn1_NCH_OFF (0x00U) /* set Pn1 output normal mode */ +#define _02_POMn1_NCH_ON (0x02U) /* set Pn1 output N-ch open-drain mode */ +#define _00_POMn2_NCH_OFF (0x00U) /* set Pn2 output normal mode */ +#define _04_POMn2_NCH_ON (0x04U) /* set Pn2 output N-ch open-drain mode */ +#define _00_POMn3_NCH_OFF (0x00U) /* set Pn3 output normal mode */ +#define _08_POMn3_NCH_ON (0x08U) /* set Pn3 output N-ch open-drain mode */ +#define _00_POMn4_NCH_OFF (0x00U) /* set Pn4 output normal mode */ +#define _10_POMn4_NCH_ON (0x10U) /* set Pn4 output N-ch open-drain mode */ +#define _00_POMn5_NCH_OFF (0x00U) /* set Pn5 output normal mode */ +#define _20_POMn5_NCH_ON (0x20U) /* set Pn5 output N-ch open-drain mode */ +#define _00_POMn6_NCH_OFF (0x00U) /* set Pn6 output normal mode */ +#define _40_POMn6_NCH_ON (0x40U) /* set Pn6 output N-ch open-drain mode */ +#define _00_POMn7_NCH_OFF (0x00U) /* set Pn7 output normal mode */ +#define _80_POMn7_NCH_ON (0x80U) /* set Pn7 output N-ch open-drain mode */ + +/* + Port Operation Mode Register (PMCm) +*/ +/* Pmn pin digital input buffer selection (PMCmn) */ +#define _01_PMCn0_NOT_USE (0x01U) /* not use Pn0 digital input */ +#define _00_PMCn0_DI_ON (0x00U) /* enable Pn0 digital input */ +#define _02_PMCn1_NOT_USE (0x02U) /* not use Pn1 digital input */ +#define _00_PMCn1_DI_ON (0x00U) /* enable Pn1 digital input */ +#define _04_PMCn2_NOT_USE (0x04U) /* not use Pn2 digital input */ +#define _00_PMCn2_DI_ON (0x00U) /* enable Pn2 digital input */ +#define _08_PMCn3_NOT_USE (0x08U) /* not use Pn3 digital input */ +#define _00_PMCn3_DI_ON (0x00U) /* enable Pn3 digital input */ +#define _10_PMCn4_NOT_USE (0x10U) /* not use Pn4 digital input */ +#define _00_PMCn4_DI_ON (0x00U) /* enable Pn4 digital input */ +#define _20_PMCn5_NOT_USE (0x20U) /* not use Pn5 digital input */ +#define _00_PMCn5_DI_ON (0x00U) /* enable Pn5 digital input */ +#define _40_PMCn6_NOT_USE (0x40U) /* not use Pn6 digital input */ +#define _00_PMCn6_DI_ON (0x00U) /* enable Pn6 digital input */ +#define _80_PMCn7_NOT_USE (0x80U) /* not use Pn7 digital input */ +#define _00_PMCn7_DI_ON (0x00U) /* enable Pn7 digital input */ + +/* + Port output slew rate select register (PSRSEL) +*/ +/* P140/PCLBUZ0 pin output mode selection (PSR140) */ +#define _00_PSR140_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _20_PSR140_SLOW (0x20U) /* slow mode (25 V/5 ns (target) (TYP.)) */ +/* P14/SCK01/SCL01/TO06/TRDIOC0 pin output mode selection (PSR14) */ +#define _00_PSR14_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _10_PSR14_SLOW (0x10U) /* slow mode (25 V/5 ns (target) (TYP.)) */ +/* P120/SO01/TO07/TRDIOD0 pin output mode selection (PSR120) */ +#define _00_PSR120_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _08_PSR120_SLOW (0x08U) /* slow mode (25 V/5 ns (target) (TYP.)) */ +/* P30/TO01/TRDIOD1/SNZOUT0 pin output mode selection (PSR30) */ +#define _00_PSR30_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _04_PSR30_SLOW (0x04U) /* slow mode (25 V/5 ns (target) (TYP.)) */ +/* P12/SO10/TO11/(TRDIOD0)/TXD1/SNZOUT3 pin output mode selection (PSR12) */ +#define _00_PSR12_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _02_PSR12_SLOW (0x02U) /* slow mode (25 V/5 ns (target) (TYP.)) */ +/* P10/SCK10/TO13/TRJO0/SCL10/LTXD1/CTXD0 pin output mode selection (PSR10) */ +#define _00_PSR10_NORMAL (0x00U) /* normal mode (5 V/5 ns) */ +#define _01_PSR10_SLOW (0x01U) /* slow mode (25 V/5 ns (target) (TYP.)) */ + + +/* + AD port configuration register (ADPC) +*/ +/* Analog input/digital input switching (ADPC4 - ADPC0) */ +#define _00_ADPC_DI_OFF (0x00U) /* use P33, P34, P80 - P85 as analog input */ +#define _08_ADPC_DI_ON (0x08U) /* use P85 as digital input */ +#define _07_ADPC_DI_ON (0x07U) /* use P84 - P85 as digital input */ +#define _06_ADPC_DI_ON (0x06U) /* use P83 - P85 as digital input */ +#define _05_ADPC_DI_ON (0x05U) /* use P82 - P85 as digital input */ +#define _04_ADPC_DI_ON (0x04U) /* use P81 - P85 as digital input */ +#define _03_ADPC_DI_ON (0x03U) /* use P80 - P85 as digital input */ +#define _02_ADPC_DI_ON (0x02U) /* use P34, P80 - P85 as digital input */ +#define _01_ADPC_DI_ON (0x01U) /* use P33, P34, P85 as digital input */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#define _E6_PM3_DEFAULT (0xE6U) /* PM3 default value */ +#define _FC_PM4_DEFAULT (0xFCU) /* PM4 default value */ +#define _F0_PM6_DEFAULT (0xF0U) /* PM6 default value */ +#define _C0_PM8_DEFAULT (0xC0U) /* PM8 default value */ +#define _DE_PM12_DEFAULT (0xDEU) /* PM12 default value */ +#define _DE_PMC12_DEFAULT (0xDEU) /* PMC12 default value */ + + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_PORT_Create(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_port_user.c b/ECU_APP/r_cg_port_user.c new file mode 100644 index 0000000..4b3e1d6 --- /dev/null +++ b/ECU_APP/r_cg_port_user.c @@ -0,0 +1,51 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_port_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for PORT module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_port.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_serial.c b/ECU_APP/r_cg_serial.c new file mode 100644 index 0000000..d9b8a48 --- /dev/null +++ b/ECU_APP/r_cg_serial.c @@ -0,0 +1,223 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_serial.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for Serial module. +* Creation Date: 2022/7/5 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_serial.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +volatile uint8_t g_iica0_master_status_flag; /* iica0 master flag */ +volatile uint8_t g_iica0_slave_status_flag; /* iica0 slave flag */ +volatile uint8_t * gp_iica0_rx_address; /* iica0 receive buffer address */ +volatile uint16_t g_iica0_rx_len; /* iica0 receive data length */ +volatile uint16_t g_iica0_rx_cnt; /* iica0 receive data count */ +volatile uint8_t * gp_iica0_tx_address; /* iica0 send buffer address */ +volatile uint16_t g_iica0_tx_cnt; /* iica0 send data count */ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_IICA0_Create +* Description : This function initializes the IICA0 module. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_IICA0_Create(void) +{ + IICA0EN = 1U; /* supply IICA0 clock */ + IICE0 = 0U; /* disable IICA0 operation */ + IICAMK0 = 1U; /* disable INTIICA0 interrupt */ + IICAIF0 = 0U; /* clear INTIICA0 interrupt flag */ + /* Set INTIICA0 high priority */ + IICAPR10 = 0U; + IICAPR00 = 0U; + /* Set SCLA0, SDAA0 pin */ + P6 &= 0xF3U; + PM6 |= 0x0CU; + SMC0 = 1U; + IICWL0 = _15_IICA0_IICWL_VALUE; + IICWH0 = _14_IICA0_IICWH_VALUE; + DFC0 = 0U; /* digital filter off */ + IICCTL01 |= _01_IICA_fCLK_HALF; + SVA0 = _38_IICA0_MASTERADDRESS; + STCEN0 = 1U; + IICRSV0 = 1U; + SPIE0 = 0U; + WTIM0 = 1U; + ACKE0 = 1U; + IICAMK0 = 0U; + IICE0 = 1U; + LREL0 = 1U; + /* Set SCLA0, SDAA0 pin */ + PM6 &= 0xF3U; +} + +/*********************************************************************************************************************** +* Function Name: R_IICA0_Stop +* Description : This function stops IICA0 module operation. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_IICA0_Stop(void) +{ + IICE0 = 0U; /* disable IICA0 operation */ +} + +/*********************************************************************************************************************** +* Function Name: R_IICA0_StopCondition +* Description : This function sets IICA0 stop condition flag. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_IICA0_StopCondition(void) +{ + SPT0 = 1U; /* set stop condition flag */ +} + +/*********************************************************************************************************************** +* Function Name: R_IICA0_Master_Send +* Description : This function starts to send data as master mode. +* Arguments : adr - +* send address +* tx_buf - +* transfer buffer pointer +* tx_num - +* buffer size +* wait - +* wait for start condition +* Return Value : status - +* MD_OK or MD_ERROR1 or MD_ERROR2 +***********************************************************************************************************************/ +MD_STATUS R_IICA0_Master_Send(uint8_t adr, uint8_t * const tx_buf, uint16_t tx_num, uint8_t wait) +{ + MD_STATUS status = MD_OK; + + IICAMK0 = 1U; /* disable INTIICA0 interrupt */ + + if ((1U == IICBSY0) && (0U == MSTS0)) + { + /* Check bus busy */ + IICAMK0 = 0U; /* enable INTIICA0 interrupt */ + status = MD_ERROR1; + } + else + { + STT0 = 1U; /* send IICA0 start condition */ + IICAMK0 = 0U; /* enable INTIICA0 interrupt */ + + /* Wait */ + while (wait--) + { + ; + } + + if (0U == STD0) + { + status = MD_ERROR2; + } + + /* Set parameter */ + g_iica0_tx_cnt = tx_num; + gp_iica0_tx_address = tx_buf; + g_iica0_master_status_flag = _00_IICA_MASTER_FLAG_CLEAR; + adr &= (uint8_t)~0x01U; /* set send mode */ + IICA0 = adr; /* send address */ + } + + return (status); +} + +/*********************************************************************************************************************** +* Function Name: R_IICA0_Master_Receive +* Description : This function starts to receive IICA0 data as master mode. +* Arguments : adr - +* receive address +* rx_buf - +* receive buffer pointer +* rx_num - +* buffer size +* wait - +* wait for start condition +* Return Value : status - +* MD_OK or MD_ERROR1 or MD_ERROR2 +***********************************************************************************************************************/ +MD_STATUS R_IICA0_Master_Receive(uint8_t adr, uint8_t * const rx_buf, uint16_t rx_num, uint8_t wait) +{ + MD_STATUS status = MD_OK; + + IICAMK0 = 1U; /* disable INTIIA0 interrupt */ + + if ((1U == IICBSY0) && (0U == MSTS0)) + { + /* Check bus busy */ + IICAMK0 = 0U; /* enable INTIIA0 interrupt */ + status = MD_ERROR1; + } + else + { + STT0 = 1U; /* set IICA0 start condition */ + IICAMK0 = 0U; /* enable INTIIA0 interrupt */ + + /* Wait */ + while (wait--) + { + ; + } + + if (0U == STD0) + { + status = MD_ERROR2; + } + + /* Set parameter */ + g_iica0_rx_len = rx_num; + g_iica0_rx_cnt = 0U; + gp_iica0_rx_address = rx_buf; + g_iica0_master_status_flag = _00_IICA_MASTER_FLAG_CLEAR; + adr |= 0x01U; /* set receive mode */ + IICA0 = adr; /* receive address */ + } + + return (status); +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_serial.h b/ECU_APP/r_cg_serial.h new file mode 100644 index 0000000..780336c --- /dev/null +++ b/ECU_APP/r_cg_serial.h @@ -0,0 +1,375 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_serial.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for Serial module. +* Creation Date: 2022/7/5 +***********************************************************************************************************************/ + +#ifndef SERIAL_H +#define SERIAL_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Serial Clock Select Register m (SPSm) +*/ +/* Section of operation clock (CKm0) (PRSm03 - PRSm00) */ +#define _0000_SAU_CK00_FCLK_0 (0x0000U) /* ck00 - fCLK */ +#define _0001_SAU_CK00_FCLK_1 (0x0001U) /* ck00 - fCLK/2^1 */ +#define _0002_SAU_CK00_FCLK_2 (0x0002U) /* ck00 - fCLK/2^2 */ +#define _0003_SAU_CK00_FCLK_3 (0x0003U) /* ck00 - fCLK/2^3 */ +#define _0004_SAU_CK00_FCLK_4 (0x0004U) /* ck00 - fCLK/2^4 */ +#define _0005_SAU_CK00_FCLK_5 (0x0005U) /* ck00 - fCLK/2^5 */ +#define _0006_SAU_CK00_FCLK_6 (0x0006U) /* ck00 - fCLK/2^6 */ +#define _0007_SAU_CK00_FCLK_7 (0x0007U) /* ck00 - fCLK/2^7 */ +#define _0008_SAU_CK00_FCLK_8 (0x0008U) /* ck00 - fCLK/2^8 */ +#define _0009_SAU_CK00_FCLK_9 (0x0009U) /* ck00 - fCLK/2^9 */ +#define _000A_SAU_CK00_FCLK_10 (0x000AU) /* ck00 - fCLK/2^10 */ +#define _000B_SAU_CK00_FCLK_11 (0x000BU) /* ck00 - fCLK/2^11 */ +#define _000C_SAU_CK00_FCLK_12 (0x000CU) /* ck00 - fCLK/2^12 */ +#define _000D_SAU_CK00_FCLK_13 (0x000DU) /* ck00 - fCLK/2^13 */ +#define _000E_SAU_CK00_FCLK_14 (0x000EU) /* ck00 - fCLK/2^14 */ +#define _000F_SAU_CK00_FCLK_15 (0x000FU) /* ck00 - fCLK/2^15 */ +/* Section of operation clock (CKm1) (PRSm13 - PRSm10) */ +#define _0000_SAU_CK01_FCLK_0 (0x0000U) /* ck01 - fCLK */ +#define _0010_SAU_CK01_FCLK_1 (0x0010U) /* ck01 - fCLK/2^1 */ +#define _0020_SAU_CK01_FCLK_2 (0x0020U) /* ck01 - fCLK/2^2 */ +#define _0030_SAU_CK01_FCLK_3 (0x0030U) /* ck01 - fCLK/2^3 */ +#define _0040_SAU_CK01_FCLK_4 (0x0040U) /* ck01 - fCLK/2^4 */ +#define _0050_SAU_CK01_FCLK_5 (0x0050U) /* ck01 - fCLK/2^5 */ +#define _0060_SAU_CK01_FCLK_6 (0x0060U) /* ck01 - fCLK/2^6 */ +#define _0070_SAU_CK01_FCLK_7 (0x0070U) /* ck01 - fCLK/2^7 */ +#define _0080_SAU_CK01_FCLK_8 (0x0080U) /* ck01 - fCLK/2^8 */ +#define _0090_SAU_CK01_FCLK_9 (0x0090U) /* ck01 - fCLK/2^9 */ +#define _00A0_SAU_CK01_FCLK_10 (0x00A0U) /* ck01 - fCLK/2^10 */ +#define _00B0_SAU_CK01_FCLK_11 (0x00B0U) /* ck01 - fCLK/2^11 */ +#define _00C0_SAU_CK01_FCLK_12 (0x00C0U) /* ck01 - fCLK/2^12 */ +#define _00D0_SAU_CK01_FCLK_13 (0x00D0U) /* ck01 - fCLK/2^13 */ +#define _00E0_SAU_CK01_FCLK_14 (0x00E0U) /* ck01 - fCLK/2^14 */ +#define _00F0_SAU_CK01_FCLK_15 (0x00F0U) /* ck01 - fCLK/2^15 */ + +/* + Serial Mode Register mn (SMRmn) +*/ +#define _0020_SAU_SMRMN_INITIALVALUE (0x0020U) +/* Selection of macro clock (MCK) of channel n (CKSmn) */ +#define _0000_SAU_CLOCK_SELECT_CK00 (0x0000U) /* operation clock CK0 set by PRS register */ +#define _8000_SAU_CLOCK_SELECT_CK01 (0x8000U) /* operation clock CK1 set by PRS register */ +/* Selection of transfer clock (TCLK) of channel n (CCSmn) */ +#define _0000_SAU_CLOCK_MODE_CKS (0x0000U) /* divided operation clock MCK specified by CKSmn bit */ +#define _4000_SAU_CLOCK_MODE_TI0N (0x4000U) /* clock input from SCK pin (slave transfer in CSI mode) */ +/* Selection of start trigger source (STSmn) */ +#define _0000_SAU_TRIGGER_SOFTWARE (0x0000U) /* only software trigger is valid */ +#define _0100_SAU_TRIGGER_RXD (0x0100U) /* valid edge of RXD pin */ +/* Controls inversion of level of receive data of channel n in UART mode (SISmn0) */ +#define _0000_SAU_EDGE_FALL (0x0000U) /* falling edge is detected as the start bit */ +#define _0040_SAU_EDGE_RISING (0x0040U) /* rising edge is detected as the start bit */ +/* Setting of operation mode of channel n (MDmn2, MDmn1) */ +#define _0000_SAU_MODE_CSI (0x0000U) /* CSI mode */ +#define _0002_SAU_MODE_UART (0x0002U) /* UART mode */ +#define _0004_SAU_MODE_IIC (0x0004U) /* simplified IIC mode */ +/* Selection of interrupt source of channel n (MDmn0) */ +#define _0000_SAU_TRANSFER_END (0x0000U) /* transfer end interrupt */ +#define _0001_SAU_BUFFER_EMPTY (0x0001U) /* buffer empty interrupt */ + +/* + Serial Communication Operation Setting Register mn (SCRmn) +*/ +/* Setting of operation mode of channel n (TXEmn, RXEmn) */ +#define _0000_SAU_NOT_COMMUNICATION (0x0000U) /* does not start communication */ +#define _4000_SAU_RECEPTION (0x4000U) /* reception only */ +#define _8000_SAU_TRANSMISSION (0x8000U) /* transmission only */ +#define _C000_SAU_RECEPTION_TRANSMISSION (0xC000U) /* reception and transmission */ +/* Selection of data and clock phase in CSI mode (DAPmn, CKPmn) */ +#define _0000_SAU_TIMING_1 (0x0000U) /* type 1 */ +#define _1000_SAU_TIMING_2 (0x1000U) /* type 2 */ +#define _2000_SAU_TIMING_3 (0x2000U) /* type 3 */ +#define _3000_SAU_TIMING_4 (0x3000U) /* type 4 */ +/* Setting of parity bit in UART mode (PTCmn1 - PTCmn0) */ +#define _0000_SAU_PARITY_NONE (0x0000U) /* none parity */ +#define _0100_SAU_PARITY_ZERO (0x0100U) /* zero parity */ +#define _0200_SAU_PARITY_EVEN (0x0200U) /* even parity */ +#define _0300_SAU_PARITY_ODD (0x0300U) /* odd parity */ +/* Selection of data transfer sequence in CSI and UART modes (DIRmn) */ +#define _0000_SAU_MSB (0x0000U) /* MSB */ +#define _0080_SAU_LSB (0x0080U) /* LSB */ +/* Setting of stop bit in UART mode (SLCmn1, SLCmn0) */ +#define _0000_SAU_STOP_NONE (0x0000U) /* none stop bit */ +#define _0010_SAU_STOP_1 (0x0010U) /* 1 stop bit */ +#define _0020_SAU_STOP_2 (0x0020U) /* 2 stop bits */ +/* Setting of data length in CSI and UART modes (DLSmn3 - DLSmn0) (m = 0, 1) */ +#define _0006_SAU_LENGTH_7 (0x0006U) /* 07-bit data length */ +#define _0007_SAU_LENGTH_8 (0x0007U) /* 08-bit data length */ +#define _0008_SAU_LENGTH_9 (0x0008U) /* 09-bit data length */ +#define _0009_SAU_LENGTH_10 (0x0009U) /* 10-bit data length */ +#define _000A_SAU_LENGTH_11 (0x000AU) /* 11-bit data length */ +#define _000B_SAU_LENGTH_12 (0x000BU) /* 12-bit data length */ +#define _000C_SAU_LENGTH_13 (0x000CU) /* 13-bit data length */ +#define _000D_SAU_LENGTH_14 (0x000DU) /* 14-bit data length */ +#define _000E_SAU_LENGTH_15 (0x000EU) /* 15-bit data length */ +#define _000F_SAU_LENGTH_16 (0x000FU) /* 16-bit data length */ + +/* + Serial Output Level Register m (SOLm) +*/ +/* Selects inversion of the level of the transmit data of channel n in UART mode */ +#define _0000_SAU_CHANNEL0_NORMAL (0x0000U) /* normal bit level */ +#define _0001_SAU_CHANNEL0_INVERTED (0x0001U) /* inverted bit level */ + +/* + Noise Filter Enable Register 0 (NFEN0) +*/ +/* Use of noise filter */ +#define _00_SAU_RXD1_FILTER_OFF (0x00U) /* noise filter off */ +#define _04_SAU_RXD1_FILTER_ON (0x04U) /* noise filter on */ +#define _00_SAU_RXD0_FILTER_OFF (0x00U) /* noise filter off */ +#define _01_SAU_RXD0_FILTER_ON (0x01U) /* noise filter on */ + +/* + Format of Serial Status Register mn (SSRmn) +*/ +/* Communication status indication flag of channel n (TSFmn) */ +#define _0040_SAU_UNDER_EXECUTE (0x0040U) /* communication is under execution */ +/* Buffer register status indication flag of channel n (BFFmn) */ +#define _0020_SAU_VALID_STORED (0x0020U) /* valid data is stored in the SDRmn register */ +/* Framing error detection flag of channel n (FEFmn) */ +#define _0004_SAU_FRAM_ERROR (0x0004U) /* a framing error occurs during UART reception */ +/* Parity error detection flag of channel n (PEFmn) */ +#define _0002_SAU_PARITY_ERROR (0x0002U) /* a parity error occurs or ACK is not detected */ +/* Overrun error detection flag of channel n (OVFmn) */ +#define _0001_SAU_OVERRUN_ERROR (0x0001U) /* an overrun error occurs */ + +/* + Serial Channel Start Register m (SSm) +*/ +/* Operation start trigger of channel 0 (SSm0) */ +#define _0000_SAU_CH0_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0001_SAU_CH0_START_TRG_ON (0x0001U) /* sets SEm0 to 1 and enters the communication wait status */ +/* Operation start trigger of channel 1 (SSm1) */ +#define _0000_SAU_CH1_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0002_SAU_CH1_START_TRG_ON (0x0002U) /* sets SEm1 to 1 and enters the communication wait status */ + +/* + Serial Channel Stop Register m (STm) +*/ +/* Operation stop trigger of channel 0 (STm0) */ +#define _0000_SAU_CH0_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0001_SAU_CH0_STOP_TRG_ON (0x0001U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 1 (STm1) */ +#define _0000_SAU_CH1_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0002_SAU_CH1_STOP_TRG_ON (0x0002U) /* operation is stopped (stop trigger is generated) */ + +/* + Format of Serial Flag Clear Trigger Register mn (SIRmn) +*/ +/* Clear trigger of overrun error flag of channel n (OVCTmn) */ +#define _0001_SAU_SIRMN_OVCTMN (0x0001U) +/* Clear trigger of parity error flag of channel n (PECTmn) */ +#define _0002_SAU_SIRMN_PECTMN (0x0002U) +/* Clear trigger of framing error of channel n (FECTMN) */ +#define _0004_SAU_SIRMN_FECTMN (0x0004U) + +/* + Serial Output Enable Register m (SOEm) +*/ +/* Serial output enable/disable of channel 0 (SOEm0) */ +#define _0001_SAU_CH0_OUTPUT_ENABLE (0x0001U) /* enables output by serial communication operation */ +#define _0000_SAU_CH0_OUTPUT_DISABLE (0x0000U) /* stops output by serial communication operation */ +/* Serial output enable/disable of channel 1 (SOEm1) */ +#define _0002_SAU_CH1_OUTPUT_ENABLE (0x0002U) /* enables output by serial communication operation */ +#define _0000_SAU_CH1_OUTPUT_DISABLE (0x0000U) /* stops output by serial communication operation */ + +/* + Serial Output Register m (SOm) +*/ +/* Serial data output of channel 0 (SOm0) */ +#define _0000_SAU_CH0_DATA_OUTPUT_0 (0x0000U) /* Serial data output value is "0" */ +#define _0001_SAU_CH0_DATA_OUTPUT_1 (0x0001U) /* Serial data output value is "1" */ +/* Serial data output of channel 1 (SOm1) */ +#define _0000_SAU_CH1_DATA_OUTPUT_0 (0x0000U) /* Serial data output value is "0" */ +#define _0002_SAU_CH1_DATA_OUTPUT_1 (0x0002U) /* Serial data output value is "1" */ +/* Serial clock output of channel 0 (CKOm0) */ +#define _0000_SAU_CH0_CLOCK_OUTPUT_0 (0x0000U) /* Serial clock output value is "0" */ +#define _0100_SAU_CH0_CLOCK_OUTPUT_1 (0x0100U) /* Serial clock output value is "1" */ +/* Serial clock output of channel 1 (CKOm1) */ +#define _0000_SAU_CH1_CLOCK_OUTPUT_0 (0x0000U) /* Serial clock output value is "0" */ +#define _0200_SAU_CH1_CLOCK_OUTPUT_1 (0x0200U) /* Serial clock output value is "1" */ + +/* + SAU Standby Control Register m (SSCm) +*/ +/* SAU Standby Wakeup Control Bit (SWC) */ +#define _0000_SAU_CH0_SNOOZE_OFF (0x0000U) /* disable start function from STOP state of chip */ +#define _0001_SAU_CH0_SNOOZE_ON (0x0001U) /* enable start function from STOP state of chip */ + +/* + Serial slave select enable register m (SSEmn) +*/ +/* SAU0 Channel 0 SSI00 input setting in CSI communication and slave mode (SSE00) */ +#define _00_SAU_CH0_SSI00_UNUSED (0x00U) /* disables SSI00 pin input */ +#define _01_SAU_CH0_SSI00_USED (0x01U) /* enables SSI00 pin input */ +/* SAU0 Channel 1 SSI01 input setting in CSI communication and slave mode (SSE01) */ +#define _00_SAU_CH1_SSI01_UNUSED (0x00U) /* disables SSI01 pin input */ +#define _02_SAU_CH1_SSI01_USED (0x02U) /* enables SSI01 pin input */ +/* SAU1 Channel 0 SSI10 input setting in CSI communication and slave mode (SSE10) */ +#define _00_SAU_CH0_SSI10_UNUSED (0x00U) /* disables SSI10 pin input */ +#define _01_SAU_CH0_SSI10_USED (0x01U) /* enables SSI10 pin input */ +/* SAU1 Channel 1 SSI11 input setting in CSI communication and slave mode (SSE11) */ +#define _00_SAU_CH1_SSI11_UNUSED (0x00U) /* disables SSI11 pin input */ +#define _02_SAU_CH1_SSI11_USED (0x02U) /* enables SSI11 pin input */ + +/* SAU used flag */ +#define _00_SAU_IIC_MASTER_FLAG_CLEAR (0x00U) +#define _01_SAU_IIC_SEND_FLAG (0x01U) +#define _02_SAU_IIC_RECEIVE_FLAG (0x02U) +#define _04_SAU_IIC_SENDED_ADDRESS_FLAG (0x04U) + + +/* + IICA Control Register (IICCTLn0) +*/ +/* IIC operation enable (IICEn) */ +#define _00_IICA_OPERATION_DISABLE (0x00U) /* stop operation */ +#define _80_IICA_OPERATION_ENABLE (0x80U) /* enable operation */ +/* Exit from communications (LRELn) */ +#define _00_IICA_COMMUNICATION_NORMAL (0x00U) /* normal operation */ +#define _40_IICA_COMMUNICATION_EXIT (0x40U) /* exit from current communication */ +/* Wait cancellation (WRELn) */ +#define _00_IICA_WAIT_NOTCANCEL (0x00U) /* do not cancel wait */ +#define _20_IICA_WAIT_CANCEL (0x20U) /* cancel wait */ +/* Generation of interrupt when stop condition (SPIEn) */ +#define _00_IICA_STOPINT_DISABLE (0x00U) /* disable */ +#define _10_IICA_STOPINT_ENABLE (0x10U) /* enable */ +/* Wait and interrupt generation (WTIMn) */ +#define _00_IICA_WAITINT_CLK8FALLING (0x00U) /* generated at the eighth clock's falling edge */ +#define _08_IICA_WAITINT_CLK9FALLING (0x08U) /* generated at the ninth clock's falling edge */ +/* Acknowledgement control (ACKEn) */ +#define _00_IICA_ACK_DISABLE (0x00U) /* disable acknowledgement */ +#define _04_IICA_ACK_ENABLE (0x04U) /* enable acknowledgement */ +/* Start condition trigger (STTn) */ +#define _00_IICA_START_NOTGENERATE (0x00U) /* do not generate start condition */ +#define _02_IICA_START_GENERATE (0x02U) /* generate start condition */ +/* Stop condition trigger (SPTn) */ +#define _00_IICA_STOP_NOTGENERATE (0x00U) /* do not generate stop condition */ +#define _01_IICA_STOP_GENERATE (0x01U) /* generate stop condition */ + +/* + IICA Status Register (IICSn) +*/ +/* Master device status (MSTSn) */ +#define _00_IICA_STATUS_NOTMASTER (0x00U) /* slave device status or communication standby status */ +#define _80_IICA_STATUS_MASTER (0x80U) /* master device communication status */ +/* Detection of arbitration loss (ALDn) */ +#define _00_IICA_ARBITRATION_NO (0x00U) /* arbitration win or no arbitration */ +#define _40_IICA_ARBITRATION_LOSS (0x40U) /* arbitration loss */ +/* Detection of extension code reception (EXCn) */ +#define _00_IICA_EXTCODE_NOT (0x00U) /* extension code not received */ +#define _20_IICA_EXTCODE_RECEIVED (0x20U) /* extension code received */ +/* Detection of matching addresses (COIn) */ +#define _00_IICA_ADDRESS_NOTMATCH (0x00U) /* addresses do not match */ +#define _10_IICA_ADDRESS_MATCH (0x10U) /* addresses match */ +/* Detection of transmit/receive status (TRCn) */ +#define _00_IICA_STATUS_RECEIVE (0x00U) /* receive status */ +#define _08_IICA_STATUS_TRANSMIT (0x08U) /* transmit status */ +/* Detection of acknowledge signal (ACKDn) */ +#define _00_IICA_ACK_NOTDETECTED (0x00U) /* ACK signal was not detected */ +#define _04_IICA_ACK_DETECTED (0x04U) /* ACK signal was detected */ +/* Detection of start condition (STDn) */ +#define _00_IICA_START_NOTDETECTED (0x00U) /* start condition not detected */ +#define _02_IICA_START_DETECTED (0x02U) /* start condition detected */ +/* Detection of stop condition (SPDn) */ +#define _00_IICA_STOP_NOTDETECTED (0x00U) /* stop condition not detected */ +#define _01_IICA_STOP_DETECTED (0x01U) /* stop condition detected */ + +/* + IICA Flag Register (IICFn) +*/ +/* STT clear flag (STCFn) */ +#define _00_IICA_STARTFLAG_GENERATE (0x00U) /* generate start condition */ +#define _80_IICA_STARTFLAG_UNSUCCESSFUL (0x80U) /* start condition generation unsuccessful */ +/* IIC bus status flag (IICBSYn) */ +#define _00_IICA_BUS_RELEASE (0x00U) /* bus release status */ +#define _40_IICA_BUS_COMMUNICATION (0x40U) /* bus communication status */ +/* Initial start enable trigger (STCENn) */ +#define _00_IICA_START_WITHSTOP (0x00U) /* generate start upon detecting stop condition */ +#define _02_IICA_START_WITHOUTSTOP (0x02U) /* generate start without detecting stop condition */ +/* Communication reservation function disable bit (IICRSVn) */ +#define _00_IICA_RESERVATION_ENABLE (0x00U) /* enable communication reservation */ +#define _01_IICA_RESERVATION_DISABLE (0x01U) /* disable communication reservation */ + +/* + IICA Control Register 1 (IICCTLn1) +*/ +/* Control of address match wakeup (WUPn) */ +#define _00_IICA_WAKEUP_STOP (0x00U) /* stop address match wakeup function in STOP mode */ +#define _80_IICA_WAKEUP_ENABLE (0x80U) /* enable address match wakeup function in STOP mode */ +/* Detection of SCL0 pin level (CLDn) */ +#define _00_IICA_SCL_LOW (0x00U) /* detect clock line at low level */ +#define _20_IICA_SCL_HIGH (0x20U) /* detect clock line at high level */ +/* Detection of SDA0 pin level (DADn) */ +#define _00_IICA_SDA_LOW (0x00U) /* detect data line at low level */ +#define _10_IICA_SDA_HIGH (0x10U) /* detect data line at high level */ +/* Operation mode switching (SMCn) */ +#define _00_IICA_MODE_STANDARD (0x00U) /* operates in standard mode */ +#define _08_IICA_MODE_HIGHSPEED (0x08U) /* operates in high-speed mode */ +/* Digital filter operation control (DFCn) */ +#define _00_IICA_FILTER_OFF (0x00U) /* digital filter off */ +#define _04_IICA_FILTER_ON (0x04U) /* digital filter on */ +/* Operation of clock dividing frequency permission (PRSn) */ +#define _00_IICA_fCLK (0x00U) /* clock of dividing frequency operation (fCLK) */ +#define _01_IICA_fCLK_HALF (0x01U) /* 2 clock of dividing frequency operation (fCLK/2) */ + +/* IICA used flag */ +#define _80_IICA_ADDRESS_COMPLETE (0x80U) +#define _00_IICA_MASTER_FLAG_CLEAR (0x00U) + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +#define _38_IICA0_MASTERADDRESS (0x38U) +#define _14_IICA0_IICWH_VALUE (0x14U) +#define _15_IICA0_IICWL_VALUE (0x15U) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_IICA0_Create(void); +MD_STATUS R_IICA0_Master_Send(uint8_t adr, uint8_t * const tx_buf, uint16_t tx_num, uint8_t wait); +MD_STATUS R_IICA0_Master_Receive(uint8_t adr, uint8_t * const rx_buf, uint16_t rx_num, uint8_t wait); +void R_IICA0_Stop(void); +void R_IICA0_StopCondition(void); +static void r_iica0_callback_master_sendend(void); +static void r_iica0_callback_master_receiveend(void); +static void r_iica0_callback_master_error(MD_STATUS flag); +static void iica0_masterhandler(void); +static void iica0_slavehandler(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_serial_user.c b/ECU_APP/r_cg_serial_user.c new file mode 100644 index 0000000..f1cbc6b --- /dev/null +++ b/ECU_APP/r_cg_serial_user.c @@ -0,0 +1,222 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_serial_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BGG +* Tool-Chain : CCRL +* Description : This file implements device driver for Serial module. +* Creation Date: 2022/7/5 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_serial.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +#pragma interrupt r_iica0_interrupt(vect=INTIICA0) +/* Start user code for pragma. Do not edit comment generated here */ + +#if DEBUG +#pragma interrupt r_iica0_interrupt(vect=INTIICA0) +#endif + +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +extern volatile uint8_t g_iica0_master_status_flag; /* iica0 master flag */ +extern volatile uint8_t g_iica0_slave_status_flag; /* iica0 slave flag */ +extern volatile uint8_t * gp_iica0_rx_address; /* iica0 receive buffer address */ +extern volatile uint16_t g_iica0_rx_cnt; /* iica0 receive data length */ +extern volatile uint16_t g_iica0_rx_len; /* iica0 receive data count */ +extern volatile uint8_t * gp_iica0_tx_address; /* iica0 send buffer address */ +extern volatile uint16_t g_iica0_tx_cnt; /* iica0 send data count */ +/* Start user code for global. Do not edit comment generated here */ + +extern volatile uint8_t flag_IIC_SendEnd; +extern volatile uint8_t flag_IIC_ReceiveEnd; +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: r_iica0_interrupt +* Description : This function is INTIICA0 interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void __near r_iica0_interrupt(void) +{ + if ((IICS0 & _80_IICA_STATUS_MASTER) == 0x80U) + { + iica0_masterhandler(); + } +} + +/*********************************************************************************************************************** +* Function Name: iica0_masterhandler +* Description : This function is IICA0 master handler. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void iica0_masterhandler(void) +{ + /* Detection of stop condition handling */ + if ((0U == IICBSY0) && (g_iica0_tx_cnt != 0U)) + { + r_iica0_callback_master_error(MD_SPT); + } + else + { + /* Control for sended address */ + if ((g_iica0_master_status_flag & _80_IICA_ADDRESS_COMPLETE) == 0U) + { + if (1U == ACKD0) + { + g_iica0_master_status_flag |= _80_IICA_ADDRESS_COMPLETE; + + if (1U == TRC0) + { + WTIM0 = 1U; + + if (g_iica0_tx_cnt > 0U) + { + IICA0 = *gp_iica0_tx_address; + gp_iica0_tx_address++; + g_iica0_tx_cnt--; + } + else + { + r_iica0_callback_master_sendend(); + } + } + else + { + ACKE0 = 1U; + WTIM0 = 0U; + WREL0 = 1U; + } + } + else + { + r_iica0_callback_master_error(MD_NACK); + } + } + else + { + /* Master send control */ + if (1U == TRC0) + { + if ((0U == ACKD0) && (g_iica0_tx_cnt != 0U)) + { + r_iica0_callback_master_error(MD_NACK); + } + else + { + if (g_iica0_tx_cnt > 0U) + { + IICA0 = *gp_iica0_tx_address; + gp_iica0_tx_address++; + g_iica0_tx_cnt--; + } + else + { + r_iica0_callback_master_sendend(); + } + } + } + /* Master receive control */ + else + { + if (g_iica0_rx_cnt < g_iica0_rx_len) + { + *gp_iica0_rx_address = IICA0; + gp_iica0_rx_address++; + g_iica0_rx_cnt++; + + if (g_iica0_rx_cnt == g_iica0_rx_len) + { + ACKE0 = 0U; + WTIM0 = 1U; + WREL0 = 1U; + } + else + { + WREL0 = 1U; + } + } + else + { + r_iica0_callback_master_receiveend(); + } + } + } + } +} + +/*********************************************************************************************************************** +* Function Name: r_iica0_callback_master_error +* Description : This function is a callback function when IICA0 master error occurs. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void r_iica0_callback_master_error(MD_STATUS flag) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/*********************************************************************************************************************** +* Function Name: r_iica0_callback_master_receiveend +* Description : This function is a callback function when IICA0 finishes master reception. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void r_iica0_callback_master_receiveend(void) +{ + SPT0 = 1U; + /* Start user code. Do not edit comment generated here */ + flag_IIC_ReceiveEnd = 1; + /* End user code. Do not edit comment generated here */ +} + +/*********************************************************************************************************************** +* Function Name: r_iica0_callback_master_sendend +* Description : This function is a callback function when IICA0 finishes master transmission. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void r_iica0_callback_master_sendend(void) +{ + SPT0 = 1U; + /* Start user code. Do not edit comment generated here */ + flag_IIC_SendEnd = 1; + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_timer.c b/ECU_APP/r_cg_timer.c new file mode 100644 index 0000000..cb7319d --- /dev/null +++ b/ECU_APP/r_cg_timer.c @@ -0,0 +1,305 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_timer.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for TAU module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_timer.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_TAU0_Create +* Description : This function initializes the TAU0 module. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TAU0_Create(void) +{ + TAU0EN = 1U; /* supplies input clock */ + TPS0 = _0000_TAU_CKM0_FCLK_0 | _0000_TAU_CKM1_FCLK_0 | _0000_TAU_CKM2_FCLK_0 | _0000_TAU_CKM3_FCLK_0; + /* Stop all channels */ + TT0 = _0001_TAU_CH0_STOP_TRG_ON | _0002_TAU_CH1_STOP_TRG_ON | _0004_TAU_CH2_STOP_TRG_ON | + _0008_TAU_CH3_STOP_TRG_ON | _0010_TAU_CH4_STOP_TRG_ON | _0020_TAU_CH5_STOP_TRG_ON | + _0040_TAU_CH6_STOP_TRG_ON | _0080_TAU_CH7_STOP_TRG_ON | _0200_TAU_CH1_H8_STOP_TRG_ON | + _0800_TAU_CH3_H8_STOP_TRG_ON; + PWMDLY1 = _0000_TAU_PWM_DELAY_CLEAR; /* clear PWM output delay */ + /* Mask channel 0 interrupt */ + TMMK00 = 1U; /* disable INTTM00 interrupt */ + TMIF00 = 0U; /* clear INTTM00 interrupt flag */ + /* Mask channel 1 interrupt */ + TMMK01 = 1U; /* disable INTTM01 interrupt */ + TMIF01 = 0U; /* clear INTTM01 interrupt flag */ + /* Mask channel 1 higher 8 bits interrupt */ + TMMK01H = 1U; /* disable INTTM01H interrupt */ + TMIF01H = 0U; /* clear INTTM01H interrupt flag */ + /* Mask channel 2 interrupt */ + TMMK02 = 1U; /* disable INTTM02 interrupt */ + TMIF02 = 0U; /* clear INTTM02 interrupt flag */ + /* Mask channel 3 interrupt */ + TMMK03 = 1U; /* disable INTTM03 interrupt */ + TMIF03 = 0U; /* clear INTTM03 interrupt flag */ + /* Mask channel 3 higher 8 bits interrupt */ + TMMK03H = 1U; /* disable INTTM03H interrupt */ + TMIF03H = 0U; /* clear INTTM03H interrupt flag */ + /* Mask channel 4 interrupt */ + TMMK04 = 1U; /* disable INTTM04 interrupt */ + TMIF04 = 0U; /* clear INTTM04 interrupt flag */ + /* Mask channel 5 interrupt */ + TMMK05 = 1U; /* disable INTTM05 interrupt */ + TMIF05 = 0U; /* clear INTTM05 interrupt flag */ + /* Mask channel 6 interrupt */ + TMMK06 = 1U; /* disable INTTM06 interrupt */ + TMIF06 = 0U; /* clear INTTM06 interrupt flag */ + /* Mask channel 7 interrupt */ + TMMK07 = 1U; /* disable INTTM07 interrupt */ + TMIF07 = 0U; /* clear INTTM07 interrupt flag */ + /* Set INTTM00 low priority */ + TMPR100 = 1U; + TMPR000 = 1U; + /* Set INTTM01 low priority */ + TMPR101 = 1U; + TMPR001 = 1U; + /* Channel 0 used as interval timer */ + TMR00 = _0000_TAU_CLOCK_SELECT_CKM0 | _0000_TAU_CLOCK_MODE_CKS | _0000_TAU_COMBINATION_SLAVE | + _0000_TAU_TRIGGER_SOFTWARE | _0000_TAU_MODE_INTERVAL_TIMER | _0000_TAU_START_INT_UNUSED; + TDR00 = _7CFF_TAU_TDR00_VALUE; + TO0 &= ~_0001_TAU_CH0_OUTPUT_VALUE_1; + TOE0 &= ~_0001_TAU_CH0_OUTPUT_ENABLE; + /* Channel 1 used as interval timer */ + TMR01 = _0000_TAU_CLOCK_SELECT_CKM0 | _0000_TAU_CLOCK_MODE_CKS | _0000_TAU_16BITS_MODE | + _0000_TAU_TRIGGER_SOFTWARE | _0000_TAU_MODE_INTERVAL_TIMER | _0000_TAU_START_INT_UNUSED; + TDR01 = _7CFF_TAU_TDR01_VALUE; + TOM0 &= ~_0002_TAU_CH1_OUTPUT_COMBIN; + TOL0 &= ~_0002_TAU_CH1_OUTPUT_LEVEL_L; + TO0 &= ~_0002_TAU_CH1_OUTPUT_VALUE_1; + TOE0 &= ~_0002_TAU_CH1_OUTPUT_ENABLE; +} + +/*********************************************************************************************************************** +* Function Name: R_TAU0_Channel0_Start +* Description : This function starts TAU0 channel 0 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TAU0_Channel0_Start(void) +{ + TMIF00 = 0U; /* clear INTTM00 interrupt flag */ + TMMK00 = 0U; /* enable INTTM00 interrupt */ + TS0 |= _0001_TAU_CH0_START_TRG_ON; +} + +/*********************************************************************************************************************** +* Function Name: R_TAU0_Channel0_Stop +* Description : This function stops TAU0 channel 0 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TAU0_Channel0_Stop(void) +{ + TT0 |= _0001_TAU_CH0_STOP_TRG_ON; + /* Mask channel 0 interrupt */ + TMMK00 = 1U; /* disable INTTM00 interrupt */ + TMIF00 = 0U; /* clear INTTM00 interrupt flag */ +} + +/*********************************************************************************************************************** +* Function Name: R_TAU0_Channel1_Start +* Description : This function starts TAU0 channel 1 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TAU0_Channel1_Start(void) +{ + TMIF01 = 0U; /* clear INTTM01 interrupt flag */ + TMMK01 = 0U; /* enable INTTM01 interrupt */ + TS0 |= _0002_TAU_CH1_START_TRG_ON; +} + +/*********************************************************************************************************************** +* Function Name: R_TAU0_Channel1_Stop +* Description : This function stops TAU0 channel 1 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TAU0_Channel1_Stop(void) +{ + TT0 |= _0002_TAU_CH1_STOP_TRG_ON; + /* Mask channel 1 interrupt */ + TMMK01 = 1U; /* disable INTTM01 interrupt */ + TMIF01 = 0U; /* clear INTTM01 interrupt flag */ +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD0_Create +* Description : This function initializes the TMRD0 module. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD0_Create(void) +{ + TRD0EN = 1U; /* enable input clock supply */ + TRDSTR |= _04_TMRD_TRD0_COUNT_CONTINUES; + TRDSTR &= (uint8_t)~_01_TMRD_TRD0_COUNT_START; /* disable TMRD0 operation */ + PWMDLY0 = _0000_TMRD_PWM_DELAY_CLEAR; /* clear PWM output delay */ + TRDMK0 = 1U; /* disable TMRD0 interrupt */ + TRDIF0 = 0U; /* clear TMRD0 interrupt flag */ + TRDMR |= _00_TMRD_TRDGRC0_GENERAL | _00_TMRD_TRDGRD0_GENERAL; + TRDOER1 &= _F0_TMRD_CHANNEL0_OUTPUT_DEFAULT; + TRDOER1 |= _00_TMRD_TRDIOA0_OUTPUT_ENABLE | _00_TMRD_TRDIOC0_OUTPUT_ENABLE | _08_TMRD_TRDIOD0_OUTPUT_DISABLE; + TRDOCR |= _00_TMRD_TRDIOA0_INITIAL_OUTPUT_L | _00_TMRD_TRDIOC0_INITIAL_OUTPUT_L; + TRDCR0 |= _00_TMRD_INTERNAL_CLOCK_FIH | _40_TMRD_COUNTER_CLEAR_TRDGRB; + TRDIER0 = _00_TMRD_IMIA_DISABLE | _00_TMRD_IMIB_DISABLE | _00_TMRD_IMIC_DISABLE | _00_TMRD_OVIE_DISABLE; + TRDIORA0 = _01_TMRD_TRDGRA_COMPARE_OUTPUT_LOW; + TRDIORC0 = _01_TMRD_TRDGRC_COMPARE_OUTPUT_LOW | _08_TMRD_TRDGRC_GENERAL_BUFFER_REGISTER | + _80_TMRD_TRDGRD_GENERAL_BUFFER_REGISTER; + TRDGRA0 = _3E7F_TMRD_TRDGRA0_VALUE; + TRDGRB0 = _7CFF_TMRD_TRDGRB0_VALUE; + TRDGRC0 = _3E7F_TMRD_TRDGRC0_VALUE; + /* Set TRDIOA0 pin */ + POM1 &= 0xF7U; + PM1 &= 0xF7U; + P1 &= 0xF7U; + /* Set TRDIOC0 pin */ + POM1 &= 0xEFU; + PM1 &= 0xEFU; + P1 &= 0xEFU; +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD0_Start +* Description : This function starts TMRD0 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD0_Start(void) +{ + volatile uint8_t trdsr_dummy; + + + trdsr_dummy = TRDSR0; /* read TRDSR0 before write 0 */ + TRDSR0 = 0x00U; /* clear TRD0 each interrupt request */ + TRDSTR &= (uint8_t)~_04_TMRD_TRD0_COUNT_CONTINUES; + TRDSTR |= _01_TMRD_TRD0_COUNT_START; /* start TMRD0 counter */ +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD0_Stop +* Description : This function stops TMRD0 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD0_Stop(void) +{ + volatile uint8_t trdsr_dummy; + + TRDSTR |= _04_TMRD_TRD0_COUNT_CONTINUES; + TRDSTR &= (uint8_t)~_01_TMRD_TRD0_COUNT_START; /* stop TMRD0 counter */ + trdsr_dummy = TRDSR0; /* read TRDSR0 before write 0 */ + TRDSR0 = 0x00U; /* clear TRD0 each interrupt request */ +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD1_Create +* Description : This function initializes the TMRD1 module. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD1_Create(void) +{ + TRD0EN = 1U; /* enable input clock supply */ + TRDSTR |= _08_TMRD_TRD1_COUNT_CONTINUES; + TRDSTR &= (uint8_t)~_02_TMRD_TRD1_COUNT_START; /* disable TMRD1 operation */ + PWMDLY0 = _0000_TMRD_PWM_DELAY_CLEAR; /* clear PWM output delay */ + TRDMK1 = 1U; /* disable TMRD1 interrupt */ + TRDIF1 = 0U; /* clear TMRD1 interrupt flag */ + TRDMR |= _00_TMRD_TRDGRC1_GENERAL | _00_TMRD_TRDGRD1_GENERAL; + TRDOER1 &= _0F_TMRD_CHANNEL1_OUTPUT_DEFAULT; + TRDOER1 |= _00_TMRD_TRDIOA1_OUTPUT_ENABLE | _40_TMRD_TRDIOC1_OUTPUT_DISABLE | _80_TMRD_TRDIOD1_OUTPUT_DISABLE; + TRDOCR |= _00_TMRD_TRDIOA1_INITIAL_OUTPUT_L; + TRDCR1 |= _00_TMRD_INTERNAL_CLOCK_FIH | _40_TMRD_COUNTER_CLEAR_TRDGRB; + TRDIER1 = _00_TMRD_IMIA_DISABLE | _00_TMRD_IMIB_DISABLE | _00_TMRD_OVIE_DISABLE; + TRDIORA1 = _01_TMRD_TRDGRA_COMPARE_OUTPUT_LOW; + TRDIORC1 = _08_TMRD_TRDGRC_GENERAL_BUFFER_REGISTER | _80_TMRD_TRDGRD_GENERAL_BUFFER_REGISTER; + TRDGRA1 = _257F_TMRD_TRDGRA1_VALUE; + TRDGRB1 = _7CFF_TMRD_TRDGRB1_VALUE; + /* Set TRDIOA1 pin */ + POM1 &= 0xDFU; + PM1 &= 0xDFU; + P1 &= 0xDFU; +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD1_Start +* Description : This function starts TMRD1 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD1_Start(void) +{ + volatile uint8_t trdsr_dummy; + + + trdsr_dummy = TRDSR1; /* read TRDSR1 before write 0 */ + TRDSR1 = 0x00U; /* clear TRD1 each interrupt request */ + TRDSTR |= _08_TMRD_TRD1_COUNT_CONTINUES; + TRDSTR |= _02_TMRD_TRD1_COUNT_START; /* start TMRD1 counter */ +} + +/*********************************************************************************************************************** +* Function Name: R_TMR_RD1_Stop +* Description : This function stops TMRD1 counter. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_TMR_RD1_Stop(void) +{ + volatile uint8_t trdsr_dummy; + + TRDSTR |= _08_TMRD_TRD1_COUNT_CONTINUES; + TRDSTR &= (uint8_t)~_02_TMRD_TRD1_COUNT_START; /* stop TMRD1 counter */ + trdsr_dummy = TRDSR1; /* read TRDSR1 before write 0 */ + TRDSR1 = 0x00U; /* clear TRD1 each interrupt request */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_timer.h b/ECU_APP/r_cg_timer.h new file mode 100644 index 0000000..fbc787f --- /dev/null +++ b/ECU_APP/r_cg_timer.h @@ -0,0 +1,1064 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_timer.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for TAU module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef TAU_H +#define TAU_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ +/* + Peripheral Enable Register 0 (PER0) +*/ +/* Control of timer array unit 0 input clock (TAU0EN) */ +#define _00_TAU0_CLOCK_STOP (0x00U) /* stops supply of input clock */ +#define _01_TAU0_CLOCK_SUPPLY (0x01U) /* supplies input clock */ +/* Control of timer array unit 1 input clock (TAU1EN) */ +#define _00_TAU1_CLOCK_STOP (0x00U) /* stops supply of input clock */ +#define _02_TAU1_CLOCK_SUPPLY (0x02U) /* supplies input clock */ + +/* + Timer Clock Select Register m (TPSm) +*/ +/* Operating mode and clear mode selection (PRSm03 - PRSm00) */ +#define _0000_TAU_CKM0_FCLK_0 (0x0000U) /* ckm0 - fCLK */ +#define _0001_TAU_CKM0_FCLK_1 (0x0001U) /* ckm0 - fCLK/2^1 */ +#define _0002_TAU_CKM0_FCLK_2 (0x0002U) /* ckm0 - fCLK/2^2 */ +#define _0003_TAU_CKM0_FCLK_3 (0x0003U) /* ckm0 - fCLK/2^3 */ +#define _0004_TAU_CKM0_FCLK_4 (0x0004U) /* ckm0 - fCLK/2^4 */ +#define _0005_TAU_CKM0_FCLK_5 (0x0005U) /* ckm0 - fCLK/2^5 */ +#define _0006_TAU_CKM0_FCLK_6 (0x0006U) /* ckm0 - fCLK/2^6 */ +#define _0007_TAU_CKM0_FCLK_7 (0x0007U) /* ckm0 - fCLK/2^7 */ +#define _0008_TAU_CKM0_FCLK_8 (0x0008U) /* ckm0 - fCLK/2^8 */ +#define _0009_TAU_CKM0_FCLK_9 (0x0009U) /* ckm0 - fCLK/2^9 */ +#define _000A_TAU_CKM0_FCLK_10 (0x000AU) /* ckm0 - fCLK/2^10 */ +#define _000B_TAU_CKM0_FCLK_11 (0x000BU) /* ckm0 - fCLK/2^11 */ +#define _000C_TAU_CKM0_FCLK_12 (0x000CU) /* ckm0 - fCLK/2^12 */ +#define _000D_TAU_CKM0_FCLK_13 (0x000DU) /* ckm0 - fCLK/2^13 */ +#define _000E_TAU_CKM0_FCLK_14 (0x000EU) /* ckm0 - fCLK/2^14 */ +#define _000F_TAU_CKM0_FCLK_15 (0x000FU) /* ckm0 - fCLK/2^15 */ +/* Operating mode and clear mode selection (PRSm13 - PRSm10) */ +#define _0000_TAU_CKM1_FCLK_0 (0x0000U) /* ckm1 - fCLK */ +#define _0010_TAU_CKM1_FCLK_1 (0x0010U) /* ckm1 - fCLK/2^1 */ +#define _0020_TAU_CKM1_FCLK_2 (0x0020U) /* ckm1 - fCLK/2^2 */ +#define _0030_TAU_CKM1_FCLK_3 (0x0030U) /* ckm1 - fCLK/2^3 */ +#define _0040_TAU_CKM1_FCLK_4 (0x0040U) /* ckm1 - fCLK/2^4 */ +#define _0050_TAU_CKM1_FCLK_5 (0x0050U) /* ckm1 - fCLK/2^5 */ +#define _0060_TAU_CKM1_FCLK_6 (0x0060U) /* ckm1 - fCLK/2^6 */ +#define _0070_TAU_CKM1_FCLK_7 (0x0070U) /* ckm1 - fCLK/2^7 */ +#define _0080_TAU_CKM1_FCLK_8 (0x0080U) /* ckm1 - fCLK/2^8 */ +#define _0090_TAU_CKM1_FCLK_9 (0x0090U) /* ckm1 - fCLK/2^9 */ +#define _00A0_TAU_CKM1_FCLK_10 (0x00A0U) /* ckm1 - fCLK/2^10 */ +#define _00B0_TAU_CKM1_FCLK_11 (0x00B0U) /* ckm1 - fCLK/2^11 */ +#define _00C0_TAU_CKM1_FCLK_12 (0x00C0U) /* ckm1 - fCLK/2^12 */ +#define _00D0_TAU_CKM1_FCLK_13 (0x00D0U) /* ckm1 - fCLK/2^13 */ +#define _00E0_TAU_CKM1_FCLK_14 (0x00E0U) /* ckm1 - fCLK/2^14 */ +#define _00F0_TAU_CKM1_FCLK_15 (0x00F0U) /* ckm1 - fCLK/2^15 */ +/* Operating mode and clear mode selection (PRSm21 - PRSm20) */ +#define _0000_TAU_CKM2_FCLK_0 (0x0000U) /* CKM2 - fCLK */ +#define _0100_TAU_CKM2_FCLK_1 (0x0100U) /* CKM2 - fCLK/2^1 */ +#define _0200_TAU_CKM2_FCLK_2 (0x0200U) /* CKM2 - fCLK/2^2 */ +#define _0300_TAU_CKM2_FCLK_3 (0x0300U) /* CKM2 - fCLK/2^3 */ +#define _0400_TAU_CKM2_FCLK_4 (0x0400U) /* CKM2 - fCLK/2^4 */ +#define _0500_TAU_CKM2_FCLK_5 (0x0500U) /* CKM2 - fCLK/2^5 */ +#define _0600_TAU_CKM2_FCLK_6 (0x0600U) /* CKM2 - fCLK/2^6 */ +#define _0700_TAU_CKM2_FCLK_7 (0x0700U) /* CKM2 - fCLK/2^7 */ +#define _0800_TAU_CKM2_FCLK_8 (0x0800U) /* CKM2 - fCLK/2^8 */ +#define _0900_TAU_CKM2_FCLK_9 (0x0900U) /* CKM2 - fCLK/2^9 */ +#define _0A00_TAU_CKM2_FCLK_10 (0x0A00U) /* CKM2 - fCLK/2^10 */ +#define _0B00_TAU_CKM2_FCLK_11 (0x0B00U) /* CKM2 - fCLK/2^11 */ +#define _0C00_TAU_CKM2_FCLK_12 (0x0C00U) /* CKM2 - fCLK/2^12 */ +#define _0D00_TAU_CKM2_FCLK_13 (0x0D00U) /* CKM2 - fCLK/2^13 */ +#define _0E00_TAU_CKM2_FCLK_14 (0x0E00U) /* CKM2 - fCLK/2^14 */ +#define _0F00_TAU_CKM2_FCLK_15 (0x0F00U) /* CKM2 - fCLK/2^15 */ +/* Operating mode and clear mode selection (PRSm31 - PRSm30) */ +#define _0000_TAU_CKM3_FCLK_0 (0x0000U) /* CKM3 - fCLK */ +#define _1000_TAU_CKM3_FCLK_1 (0x1000U) /* CKM3 - fCLK/2^1 */ +#define _2000_TAU_CKM3_FCLK_2 (0x2000U) /* CKM3 - fCLK/2^2 */ +#define _3000_TAU_CKM3_FCLK_3 (0x3000U) /* CKM3 - fCLK/2^3 */ +#define _4000_TAU_CKM3_FCLK_4 (0x4000U) /* CKM3 - fCLK/2^4 */ +#define _5000_TAU_CKM3_FCLK_5 (0x5000U) /* CKM3 - fCLK/2^5 */ +#define _6000_TAU_CKM3_FCLK_6 (0x6000U) /* CKM3 - fCLK/2^6 */ +#define _7000_TAU_CKM3_FCLK_7 (0x7000U) /* CKM3 - fCLK/2^7 */ +#define _8000_TAU_CKM3_FCLK_8 (0x8000U) /* CKM3 - fCLK/2^8 */ +#define _9000_TAU_CKM3_FCLK_9 (0x9000U) /* CKM3 - fCLK/2^9 */ +#define _A000_TAU_CKM3_FCLK_10 (0xA000U) /* CKM3 - fCLK/2^10 */ +#define _B000_TAU_CKM3_FCLK_11 (0xB000U) /* CKM3 - fCLK/2^11 */ +#define _C000_TAU_CKM3_FCLK_12 (0xC000U) /* CKM3 - fCLK/2^12 */ +#define _D000_TAU_CKM3_FCLK_13 (0xD000U) /* CKM3 - fCLK/2^13 */ +#define _E000_TAU_CKM3_FCLK_14 (0xE000U) /* CKM3 - fCLK/2^14 */ +#define _F000_TAU_CKM3_FCLK_15 (0xF000U) /* CKM3 - fCLK/2^15 */ +/* Operating mode and clear mode selection (PRSm21 - PRSm20) */ +#define _0000_TAU_CKM2_FCLK_1 (0x0000U) /* ckm2 - fCLK/2^1 */ +#define _0100_TAU_CKM2_FCLK_2 (0x0100U) /* ckm2 - fCLK/2^2 */ +#define _0200_TAU_CKM2_FCLK_4 (0x0200U) /* ckm2 - fCLK/2^4 */ +#define _0300_TAU_CKM2_FCLK_6 (0x0300U) /* ckm2 - fCLK/2^6 */ +/* Operating mode and clear mode selection (PRSm31 - PRSm30) */ +#define _0000_TAU_CKM3_FCLK_8 (0x0000U) /* ckm2 - fCLK/2^8 */ +#define _1000_TAU_CKM3_FCLK_10 (0x1000U) /* ckm2 - fCLK/2^10 */ +#define _2000_TAU_CKM3_FCLK_12 (0x2000U) /* ckm2 - fCLK/2^12 */ +#define _3000_TAU_CKM3_FCLK_14 (0x3000U) /* ckm2 - fCLK/2^14 */ + +/* + Timer Mode Register mn (TMRmn) +*/ +/* Selection of macro clock (MCK) of channel n (CKSmn1 - CKSmn0) */ +#define _0000_TAU_CLOCK_SELECT_CKM0 (0x0000U) /* operation clock CK0 set by PRS register */ +#define _8000_TAU_CLOCK_SELECT_CKM1 (0x8000U) /* operation clock CK1 set by PRS register */ +#define _4000_TAU_CLOCK_SELECT_CKM2 (0x4000U) /* operation clock CK2 set by PRS register */ +#define _C000_TAU_CLOCK_SELECT_CKM3 (0xC000U) /* operation clock CK3 set by PRS register */ +/* Selection of count clock (CCK) of channel n (CCSmn) */ +#define _0000_TAU_CLOCK_MODE_CKS (0x0000U) /* macro clock MCK specified by CKSmn bit */ +#define _1000_TAU_CLOCK_MODE_TIMN (0x1000U) /* valid edge of input signal input from TImn pin */ +/* Selection of slave/master of channel n (MASTERmn) */ +#define _0000_TAU_COMBINATION_SLAVE (0x0000U) /* operates as slave channel */ +#define _0800_TAU_COMBINATION_MASTER (0x0800U) /* operates as master channel */ +/* Operation explanation of channel 1 or 3 (SPLIT) */ +#define _0000_TAU_16BITS_MODE (0x0000U) /* operates as 16 bits timer */ +#define _0800_TAU_8BITS_MODE (0x0800U) /* operates as 8 bits timer */ +/* Setting of start trigger or capture trigger of channel n (STSmn2 - STSmn0) */ +#define _0000_TAU_TRIGGER_SOFTWARE (0x0000U) /* only software trigger start is valid */ +#define _0100_TAU_TRIGGER_TIMN_VALID (0x0100U) /* TImn input edge is used as a start/capture trigger */ +#define _0200_TAU_TRIGGER_TIMN_BOTH (0x0200U) /* TImn input edges are used as a start/capture trigger */ +#define _0400_TAU_TRIGGER_MASTER_INT (0x0400U) /* interrupt signal of the master channel is used */ +/* Selection of TImn pin input valid edge (CISmn1 - CISmn0) */ +#define _0000_TAU_TIMN_EDGE_FALLING (0x0000U) /* falling edge */ +#define _0040_TAU_TIMN_EDGE_RISING (0x0040U) /* rising edge */ +#define _0080_TAU_TIMN_EDGE_BOTH_LOW (0x0080U) /* both edges (when low-level width is measured) */ +#define _00C0_TAU_TIMN_EDGE_BOTH_HIGH (0x00C0U) /* both edges (when high-level width is measured) */ +/* Operation mode of channel n (MDmn3 - MDmn0) */ +#define _0000_TAU_MODE_INTERVAL_TIMER (0x0000U) /* interval timer mode */ +#define _0004_TAU_MODE_CAPTURE (0x0004U) /* capture mode */ +#define _0006_TAU_MODE_EVENT_COUNT (0x0006U) /* event counter mode */ +#define _0008_TAU_MODE_ONE_COUNT (0x0008U) /* one count mode */ +#define _000C_TAU_MODE_HIGHLOW_MEASURE (0x000CU) /* high-/low-level width measurement mode */ +#define _0001_TAU_MODE_PWM_MASTER (0x0001U) /* PWM Function (Master Channel) mode */ +#define _0009_TAU_MODE_PWM_SLAVE (0x0009U) /* PWM Function (Slave Channel) mode */ +#define _0008_TAU_MODE_ONESHOT (0x0008U) /* one-shot pulse output mode */ +/* Setting of starting counting and interrupt (MDmn0) */ +#define _0000_TAU_START_INT_UNUSED (0x0000U) /* interrupt is not generated when counting is started */ +#define _0001_TAU_START_INT_USED (0x0001U) /* interrupt is generated when counting is started */ + +/* + Timer Status Register mn (TSRmn) +*/ +/* Counter overflow status of channel n (OVF) */ +#define _0000_TAU_OVERFLOW_NOT_OCCURS (0x0000U) /* overflow does not occur */ +#define _0001_TAU_OVERFLOW_OCCURS (0x0001U) /* overflow occurs */ + +/* + Timer Channel Enable Status Register m (TEm) +*/ +/* Indication of operation enable/stop status of channel 0 (TEm0) */ +#define _0000_TAU_CH0_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0001_TAU_CH0_OPERATION_ENABLE (0x0001U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 1 (TEm1) */ +#define _0000_TAU_CH1_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0002_TAU_CH1_OPERATION_ENABLE (0x0002U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 2 (TEm2) */ +#define _0000_TAU_CH2_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0004_TAU_CH2_OPERATION_ENABLE (0x0004U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 3 (TEm3) */ +#define _0000_TAU_CH3_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0008_TAU_CH3_OPERATION_ENABLE (0x0008U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 4 (TEm4) */ +#define _0000_TAU_CH4_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0010_TAU_CH4_OPERATION_ENABLE (0x0010U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 5 (TEm5) */ +#define _0000_TAU_CH5_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0020_TAU_CH5_OPERATION_ENABLE (0x0020U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 6 (TEm6) */ +#define _0000_TAU_CH6_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0040_TAU_CH6_OPERATION_ENABLE (0x0040U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 7 (TEm7) */ +#define _0000_TAU_CH7_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0080_TAU_CH7_OPERATION_ENABLE (0x0080U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 1 higher 8 bits (TEHm1) */ +#define _0000_TAU_CH1_H8_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0200_TAU_CH1_H8_OPERATION_ENABLE (0x0200U) /* operation is enabled */ +/* Indication of operation enable/stop status of channel 3 higher 8 bits (TEHm3) */ +#define _0000_TAU_CH3_H8_OPERATION_STOP (0x0000U) /* operation is stopped */ +#define _0800_TAU_CH3_H8_OPERATION_ENABLE (0x0800U) /* operation is enabled */ + +/* + Timer Channel Start Register m (TSm) +*/ +/* Operation enable (start) trigger of channel 0 (TSm0) */ +#define _0000_TAU_CH0_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0001_TAU_CH0_START_TRG_ON (0x0001U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 1 (TSm1) */ +#define _0000_TAU_CH1_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0002_TAU_CH1_START_TRG_ON (0x0002U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 2 (TSm2) */ +#define _0000_TAU_CH2_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0004_TAU_CH2_START_TRG_ON (0x0004U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 3 (TSm3) */ +#define _0000_TAU_CH3_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0008_TAU_CH3_START_TRG_ON (0x0008U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 4 (TSm4) */ +#define _0000_TAU_CH4_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0010_TAU_CH4_START_TRG_ON (0x0010U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 5 (TSm5) */ +#define _0000_TAU_CH5_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0020_TAU_CH5_START_TRG_ON (0x0020U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 6 (TSm6) */ +#define _0000_TAU_CH6_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0040_TAU_CH6_START_TRG_ON (0x0040U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 7 (TSm7) */ +#define _0000_TAU_CH7_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0080_TAU_CH7_START_TRG_ON (0x0080U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 1 higher 8 bits (TSHm1) */ +#define _0000_TAU_CH1_H8_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0200_TAU_CH1_H8_START_TRG_ON (0x0200U) /* operation is enabled (start trigger is generated) */ +/* Operation enable (start) trigger of channel 3 higher 8 bits (TSHm3) */ +#define _0000_TAU_CH3_H8_START_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0800_TAU_CH3_H8_START_TRG_ON (0x0800U) /* operation is enabled (start trigger is generated) */ + +/* + Timer Channel Stop Register m (TTm) +*/ +/* Operation stop trigger of channel 0 (TTm0) */ +#define _0000_TAU_CH0_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0001_TAU_CH0_STOP_TRG_ON (0x0001U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 1 (TTm1) */ +#define _0000_TAU_CH1_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0002_TAU_CH1_STOP_TRG_ON (0x0002U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 2 (TTm2) */ +#define _0000_TAU_CH2_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0004_TAU_CH2_STOP_TRG_ON (0x0004U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 3 (TTm3) */ +#define _0000_TAU_CH3_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0008_TAU_CH3_STOP_TRG_ON (0x0008U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 4 (TTm4) */ +#define _0000_TAU_CH4_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0010_TAU_CH4_STOP_TRG_ON (0x0010U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 5 (TTm5) */ +#define _0000_TAU_CH5_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0020_TAU_CH5_STOP_TRG_ON (0x0020U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 6 (TTm6) */ +#define _0000_TAU_CH6_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0040_TAU_CH6_STOP_TRG_ON (0x0040U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 7 (TTm7) */ +#define _0000_TAU_CH7_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0080_TAU_CH7_STOP_TRG_ON (0x0080U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 1 higher 8 bits (TTHm1) */ +#define _0000_TAU_CH1_H8_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0200_TAU_CH1_H8_STOP_TRG_ON (0x0200U) /* operation is stopped (stop trigger is generated) */ +/* Operation stop trigger of channel 3 higher 8 bits (TTHm3) */ +#define _0000_TAU_CH3_H8_STOP_TRG_OFF (0x0000U) /* no trigger operation */ +#define _0800_TAU_CH3_H8_STOP_TRG_ON (0x0800U) /* operation is stopped (stop trigger is generated) */ + +/* + Timer Input Select Register m (TIS0) +*/ +/* Selection of timer input used with TAU0 channel 1 (TIS02 - TIS00) */ +#define _00_TAU_CH1_INPUT_TI01 (0x00U) /* input signal of timer input pin (TI01) */ +#define _01_TAU_CH1_INPUT_ELC (0x01U) /* input signal of timer input pin (ELC) */ +#define _02_TAU_CH1_INPUT_TI01 (0x02U) /* input signal of timer input pin (TI01) */ +#define _03_TAU_CH1_INPUT_TI01 (0x03U) /* input signal of timer input pin (TI01) */ +#define _04_TAU_CH1_INPUT_FIL (0x04U) /* internal low speed oscillation clock (fIL) */ +#define _05_TAU_CH1_INPUT_FSL (0x05U) /* low speed on-chip oscillator clock (fSL) */ +/* Selection of timer input used with TAU0 channel 0 (TIS04) */ +#define _00_TAU_CH0_INPUT_TI00 (0x00U) /* input signal of timer input pin (TI00) */ +#define _10_TAU_CH0_INPUT_ELC (0x10U) /* event input signal from ELC */ +/* Selection of timer input used with TAU0 channel 2 (TIS06) */ +#define _00_TAU_CH2_INPUT_TI02 (0x00U) /* input signal of timer input pin (TI02) */ +#define _40_TAU_CH2_INPUT_ELC (0x40U) /* event input signal from ELC */ +/* Selection of timer input used with TAU0 channel 3 (TIS07) */ +#define _00_TAU_CH3_INPUT_TI03 (0x00U) /* input signal of timer input pin (TI03) */ +#define _80_TAU_CH3_INPUT_ELC (0x80U) /* event input signal from ELC */ + +/* + Timer Input Select Register m (TIS1) +*/ +/* Selection of timer input used with TAU0 channel 4 (TIS10) */ +#define _00_TAU_CH4_INPUT_TI04 (0x00U) /* input signal of timer input pin (TI04) */ +#define _01_TAU_CH4_INPUT_TI03 (0x01U) /* input signal of timer input pin (TI03) */ +/* Selection of timer input used with TAU0 channel 5 (TIS12) */ +#define _00_TAU_CH5_INPUT_TI05 (0x00U) /* input signal of timer input pin (TI05) */ +#define _04_TAU_CH5_INPUT_TI03 (0x04U) /* input signal of timer input pin (TI03) */ +/* Selection of timer input used with TAU0 channel 6 (TIS14) */ +#define _00_TAU_CH6_INPUT_TI06 (0x00U) /* input signal of timer input pin (TI06) */ +#define _10_TAU_CH6_INPUT_RTC1HZ (0x10U) /* RTC1HZ output signal */ +/* Selection of timer input used with TAU0 channel 7 (TIS17 - TIS16) */ +#define _00_TAU_CH7_INPUT_TI07 (0x00U) /* input signal of timer input pin (TI07) */ +#define _40_TAU_CH7_INPUT_RTC1HZ (0x40U) /* RTC1HZ output signal */ +#define _80_TAU_CH7_INPUT_RXD0 (0x80U) /* input signal of RXD0 pin */ + +/* + Timer Input Select Register m (TIS2) +*/ +/* Selection of timer input used with TAU1 channel 6 (TIS22) */ +#define _00_TAU_CH6_INPUT_TI16 (0x00U) /* input signal of timer input pin (TI16) */ +#define _04_TAU_CH6_INPUT_RTC1HZ (0x04U) /* RTC1HZ output signal */ +/* Selection of timer input used with TAU1 channel 7 (TIS23) */ +#define _00_TAU_CH7_INPUT_TI17 (0x00U) /* input signal of timer input pin (TI17) */ +#define _08_TAU_CH7_INPUT_RTC1HZ (0x08U) /* RTC1HZ output signal */ + +/* + Timer Output Enable Register m (TOEm) +*/ +/* Timer output enable/disable of channel 0 (TOEm0) */ +#define _0001_TAU_CH0_OUTPUT_ENABLE (0x0001U) /* the TOm0 operation enabled by count operation */ +#define _0000_TAU_CH0_OUTPUT_DISABLE (0x0000U) /* the TOm0 operation stopped by count operation */ +/* Timer output enable/disable of channel 1 (TOEm1) */ +#define _0002_TAU_CH1_OUTPUT_ENABLE (0x0002U) /* the TOm1 operation enabled by count operation */ +#define _0000_TAU_CH1_OUTPUT_DISABLE (0x0000U) /* the TOm1 operation stopped by count operation */ +/* Timer output enable/disable of channel 2 (TOEm2) */ +#define _0004_TAU_CH2_OUTPUT_ENABLE (0x0004U) /* the TOm2 operation enabled by count operation */ +#define _0000_TAU_CH2_OUTPUT_DISABLE (0x0000U) /* the TOm2 operation stopped by count operation */ +/* Timer output enable/disable of channel 3 (TOEm3) */ +#define _0008_TAU_CH3_OUTPUT_ENABLE (0x0008U) /* the TOm3 operation enabled by count operation */ +#define _0000_TAU_CH3_OUTPUT_DISABLE (0x0000U) /* the TOm3 operation stopped by count operation */ +/* Timer output enable/disable of channel 4 (TOEm4) */ +#define _0010_TAU_CH4_OUTPUT_ENABLE (0x0010U) /* the TOm4 operation enabled by count operation */ +#define _0000_TAU_CH4_OUTPUT_DISABLE (0x0000U) /* the TOm4 operation stopped by count operation */ +/* Timer output enable/disable of channel 5 (TOEm5) */ +#define _0020_TAU_CH5_OUTPUT_ENABLE (0x0020U) /* the TOm5 operation enabled by count operation */ +#define _0000_TAU_CH5_OUTPUT_DISABLE (0x0000U) /* the TOm5 operation stopped by count operation */ +/* Timer output enable/disable of channel 6 (TOEm6) */ +#define _0040_TAU_CH6_OUTPUT_ENABLE (0x0040U) /* the TOm6 operation enabled by count operation */ +#define _0000_TAU_CH6_OUTPUT_DISABLE (0x0000U) /* the TOm6 operation stopped by count operation */ +/* Timer output enable/disable of channel 7 (TOEm7) */ +#define _0080_TAU_CH7_OUTPUT_ENABLE (0x0080U) /* the TOm7 operation enabled by count operation */ +#define _0000_TAU_CH7_OUTPUT_DISABLE (0x0000U) /* the TOm7 operation stopped by count operation */ + +/* + Timer Output Register m (TOm) +*/ +/* Timer output of channel 0 (TOm0) */ +#define _0000_TAU_CH0_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0001_TAU_CH0_OUTPUT_VALUE_1 (0x0001U) /* timer output value is "1" */ +/* Timer output of channel 1 (TOm1) */ +#define _0000_TAU_CH1_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0002_TAU_CH1_OUTPUT_VALUE_1 (0x0002U) /* timer output value is "1" */ +/* Timer output of channel 2 (TOm2) */ +#define _0000_TAU_CH2_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0004_TAU_CH2_OUTPUT_VALUE_1 (0x0004U) /* timer output value is "1" */ +/* Timer output of channel 3 (TOm3) */ +#define _0000_TAU_CH3_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0008_TAU_CH3_OUTPUT_VALUE_1 (0x0008U) /* timer output value is "1" */ +/* Timer output of channel 4 (TOm4) */ +#define _0000_TAU_CH4_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0010_TAU_CH4_OUTPUT_VALUE_1 (0x0010U) /* timer output value is "1" */ +/* Timer output of channel 5 (TOm5) */ +#define _0000_TAU_CH5_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0020_TAU_CH5_OUTPUT_VALUE_1 (0x0020U) /* timer output value is "1" */ +/* Timer output of channel 6 (TOm6) */ +#define _0000_TAU_CH6_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0040_TAU_CH6_OUTPUT_VALUE_1 (0x0040U) /* timer output value is "1" */ +/* Timer output of channel 7 (TOm7) */ +#define _0000_TAU_CH7_OUTPUT_VALUE_0 (0x0000U) /* timer output value is "0" */ +#define _0080_TAU_CH7_OUTPUT_VALUE_1 (0x0080U) /* timer output value is "1" */ + +/* + Timer Output Level Register 0 (TOLm) +*/ +/* Control of timer output level of channel 1 (TOLm1) */ +#define _0000_TAU_CH1_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0002_TAU_CH1_OUTPUT_LEVEL_L (0x0002U) /* inverted output (active-low) */ +/* Control of timer output level of channel 2 (TOLm2) */ +#define _0000_TAU_CH2_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0004_TAU_CH2_OUTPUT_LEVEL_L (0x0004U) /* inverted output (active-low) */ +/* Control of timer output level of channel 3 (TOLm3) */ +#define _0000_TAU_CH3_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0008_TAU_CH3_OUTPUT_LEVEL_L (0x0008U) /* inverted output (active-low) */ +/* Control of timer output level of channel 4 (TOLm4) */ +#define _0000_TAU_CH4_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0010_TAU_CH4_OUTPUT_LEVEL_L (0x0010U) /* inverted output (active-low) */ +/* Control of timer output level of channel 5 (TOLm5) */ +#define _0000_TAU_CH5_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0020_TAU_CH5_OUTPUT_LEVEL_L (0x0020U) /* inverted output (active-low) */ +/* Control of timer output level of channel 6 (TOLm6) */ +#define _0000_TAU_CH6_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0040_TAU_CH6_OUTPUT_LEVEL_L (0x0040U) /* inverted output (active-low) */ +/* Control of timer output level of channel 7 (TOLm7) */ +#define _0000_TAU_CH7_OUTPUT_LEVEL_H (0x0000U) /* positive logic output (active-high) */ +#define _0080_TAU_CH7_OUTPUT_LEVEL_L (0x0080U) /* inverted output (active-low) */ + +/* + Timer Output Mode Register m (TOMm) +*/ +/* Control of timer output mode of channel 1 (TOMm1) */ +#define _0000_TAU_CH1_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0002_TAU_CH1_OUTPUT_COMBIN (0x0002U) /* combination operation mode */ +/* Control of timer output mode of channel 2 (TOMm2) */ +#define _0000_TAU_CH2_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0004_TAU_CH2_OUTPUT_COMBIN (0x0004U) /* combination operation mode */ +/* Control of timer output mode of channel 3 (TOMm3) */ +#define _0000_TAU_CH3_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0008_TAU_CH3_OUTPUT_COMBIN (0x0008U) /* combination operation mode */ +/* Control of timer output mode of channel 4 (TOMm4) */ +#define _0000_TAU_CH4_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0010_TAU_CH4_OUTPUT_COMBIN (0x0010U) /* combination operation mode */ +/* Control of timer output mode of channel 5 (TOMm5) */ +#define _0000_TAU_CH5_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0020_TAU_CH5_OUTPUT_COMBIN (0x0020U) /* combination operation mode */ +/* Control of timer output mode of channel 6 (TOMm6) */ +#define _0000_TAU_CH6_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0040_TAU_CH6_OUTPUT_COMBIN (0x0040U) /* combination operation mode */ +/* Control of timer output mode of channel 7 (TOMm7) */ +#define _0000_TAU_CH7_OUTPUT_TOGGLE (0x0000U) /* toggle operation mode */ +#define _0080_TAU_CH7_OUTPUT_COMBIN (0x0080U) /* combination operation mode */ + +#define _0000_TAU_PWM_DELAY_CLEAR (0x0000U) /* clear PWM output delay control register */ + +/* + PWM output delay control register 1 (PWMDLY1) +*/ +/* Control of PWM output delay time of TAU0 TO01 */ +#define _0000_TO01_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0004_TO01_OUTPUT_DELAY_1 (0x0004U) /* delay 1 cycle */ +#define _0008_TO01_OUTPUT_DELAY_2 (0x0008U) /* delay 2 cycles */ +#define _000C_TO01_OUTPUT_DELAY_3 (0x000CU) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO02 */ +#define _0000_TO02_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0010_TO02_OUTPUT_DELAY_1 (0x0010U) /* delay 1 cycle */ +#define _0020_TO02_OUTPUT_DELAY_2 (0x0020U) /* delay 2 cycles */ +#define _0030_TO02_OUTPUT_DELAY_3 (0x0030U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO03 */ +#define _0000_TO03_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0040_TO03_OUTPUT_DELAY_1 (0x0040U) /* delay 1 cycle */ +#define _0080_TO03_OUTPUT_DELAY_2 (0x0080U) /* delay 2 cycles */ +#define _00C0_TO03_OUTPUT_DELAY_3 (0x00C0U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO04 */ +#define _0000_TO04_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0100_TO04_OUTPUT_DELAY_1 (0x0100U) /* delay 1 cycle */ +#define _0200_TO04_OUTPUT_DELAY_2 (0x0200U) /* delay 2 cycles */ +#define _0300_TO04_OUTPUT_DELAY_3 (0x0300U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO05 */ +#define _0000_TO05_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0400_TO05_OUTPUT_DELAY_1 (0x0400U) /* delay 1 cycle */ +#define _0800_TO05_OUTPUT_DELAY_2 (0x0800U) /* delay 2 cycles */ +#define _0C00_TO05_OUTPUT_DELAY_3 (0x0C00U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO06 */ +#define _0000_TO06_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _1000_TO06_OUTPUT_DELAY_1 (0x1000U) /* delay 1 cycle */ +#define _2000_TO06_OUTPUT_DELAY_2 (0x2000U) /* delay 2 cycles */ +#define _3000_TO06_OUTPUT_DELAY_3 (0x3000U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU0 TO07 */ +#define _0000_TO07_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _4000_TO07_OUTPUT_DELAY_1 (0x4000U) /* delay 1 cycle */ +#define _8000_TO07_OUTPUT_DELAY_2 (0x8000U) /* delay 2 cycles */ +#define _C000_TO07_OUTPUT_DELAY_3 (0xC000U) /* delay 3 cycles */ + +/* + PWM output delay control register 2 (PWMDLY2) +*/ +/* Control of PWM output delay time of TAU1 TO11 */ +#define _0000_TO11_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0004_TO11_OUTPUT_DELAY_1 (0x0004U) /* delay 1 cycle */ +#define _0008_TO11_OUTPUT_DELAY_2 (0x0008U) /* delay 2 cycles */ +#define _000C_TO11_OUTPUT_DELAY_3 (0x000CU) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU1 TO12 */ +#define _0000_TO12_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0010_TO12_OUTPUT_DELAY_1 (0x0010U) /* delay 1 cycle */ +#define _0020_TO12_OUTPUT_DELAY_2 (0x0020U) /* delay 2 cycles */ +#define _0030_TO12_OUTPUT_DELAY_3 (0x0030U) /* delay 3 cycles */ +/* Control of PWM output delay time of TAU1 TO13 */ +#define _0000_TO13_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0040_TO13_OUTPUT_DELAY_1 (0x0040U) /* delay 1 cycle */ +#define _0080_TO13_OUTPUT_DELAY_2 (0x0080U) /* delay 2 cycles */ +#define _00C0_TO13_OUTPUT_DELAY_3 (0x00C0U) /* delay 3 cycles */ + +/* + Noise Filter Enable Register 1 (NFEN1) +*/ +/* Enable/disable using noise filter of TI07 pin input signal (TNFEN07) */ +#define _00_TAU_CH7_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _80_TAU_CH7_NOISE_ON (0x80U) /* noise filter ON */ +/* Enable/disable using noise filter of TI06 pin input signal (TNFEN06) */ +#define _00_TAU_CH6_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _40_TAU_CH6_NOISE_ON (0x40U) /* noise filter ON */ +/* Enable/disable using noise filter of TI05 pin input signal (TNFEN05) */ +#define _00_TAU_CH5_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _20_TAU_CH5_NOISE_ON (0x20U) /* noise filter ON */ +/* Enable/disable using noise filter of TI04 pin input signal (TNFEN04) */ +#define _00_TAU_CH4_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _10_TAU_CH4_NOISE_ON (0x10U) /* noise filter ON */ +/* Enable/disable using noise filter of TI03 pin input signal (TNFEN03) */ +#define _00_TAU_CH3_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _08_TAU_CH3_NOISE_ON (0x08U) /* noise filter ON */ +/* Enable/disable using noise filter of TI02 pin input signal (TNFEN02) */ +#define _00_TAU_CH2_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _04_TAU_CH2_NOISE_ON (0x04U) /* noise filter ON */ +/* Enable/disable using noise filter of TI01 pin input signal (TNFEN01) */ +#define _00_TAU_CH1_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _02_TAU_CH1_NOISE_ON (0x02U) /* noise filter ON */ +/* Enable/disable using noise filter of TI00 pin input signal (TNFEN00) */ +#define _00_TAU_CH0_NOISE_OFF (0x00U) /* noise filter OFF */ +#define _01_TAU_CH0_NOISE_ON (0x01U) /* noise filter ON */ + +/* + Format of Peripheral Enable Register 1 (PER1) +*/ +/* Control of timer RJ0 input clock supply (TRJ0EN) */ +#define _00_TMRJ_CLOCK_STOP (0x00U) /* stops input clock supply */ +#define _01_TMRJ_CLOCK_ENABLE (0x01U) /* enables input clock supply */ + +/* + Timer RJ Control Register (TRJCR0) +*/ +/* Timer RJ count start bit (TSTART) */ +#define _00_TMRJ_COUNT_STOP (0x00U) /* count stops */ +#define _01_TMRJ_COUNT_START (0x01U) /* count starts */ +/* Timer RJ count status flag (TCSTF) */ +#define _00_TMRJ_STATUS_STOP (0x00U) /* count stops */ +#define _02_TMRJ_STATUS_COUNT (0x02U) /* during count */ +/* Timer RJ count forcible stop bit (TSTOP) */ +#define _00_TMRJ_FORCIBLE_STOP_DISABLE (0x00U) /* the count is not forcibly stopped */ +#define _04_TMRJ_FORCIBLE_STOP_ENABLE (0x04U) /* the count is forcibly stopped */ +/* Active edge judgment flag (TEDGF) */ +#define _00_TMRJ_ACTIVE_EDGE_RECEIVED (0x00U) /* active edge not received */ +#define _10_TMRJ_ACTIVE_EDGE_UNRECEIVED (0x10U) /* active edge received (end of measurement period) */ +/* Timer RJ underflow flag (TUNDF) */ +#define _00_TMRJ_UNDERFLOW_NOOCCUR (0x00U) /* no underflow */ +#define _20_TMRJ_UNDERFLOW_OCCUR (0x20U) /* underflow */ + +/* + Timer RJ I/O Control Register (TRJIOC0) +*/ +#define _00_TMRJ_TRJIOC_INITIAL_VALUE (0x00U) +/* TRJIO polarity switch bit (TEDGSEL) */ +#define _00_TMRJ_TRJIO_POLARITY_0 (0x00U) /* TRJIO polarity switch bit = 0 */ +#define _01_TMRJ_TRJIO_POLARITY_1 (0x01U) /* TRJIO polarity switch bit = 1 */ +/* TRJO output enable bit (TOENA) */ +#define _00_TMRJ_TRJO_OUTPUT_DISABLE (0x00U) /* TRJO output disable */ +#define _04_TMRJ_TRJO_OUTPUT_ENABLE (0x04U) /* TRJO output */ +/* TRJIO input filter select bit (TIPF1, TIPF0) */ +#define _00_TMRJ_TRJIO_FILTER_UNUSED (0x00U) /* no filter */ +#define _10_TMRJ_TRJIO_FILTER_FCLK (0x10U) /* filter with fCLK sampling */ +#define _20_TMRJ_TRJIO_FILTER_FCLK8 (0x20U) /* filter with fCLK/8 sampling */ +#define _30_TMRJ_TRJIO_FILTER_FCLK32 (0x30U) /* filter with fCLK/32 sampling */ +/* TRJIO event input control bit (TIOGT1, TIOGT0) */ +#define _00_TMRJ_EVENT_ENABLE_ALWAYS (0x00U) /* event is counted */ +#define _40_TMRJ_EVENT_ENABLE_INTP4 (0x40U) /* event is counted during INTP4 specified period */ +#define _80_TMRJ_EVENT_ENABLE_PWM (0x80U) /* event is counted during PWM signal period */ + +/* + Timer RJ Mode Register (TRJMR0) +*/ +/* Timer RJ operating mode select bit (TMOD2 - TMOD0) */ +#define _00_TMRJ_MODE_TIMER (0x00U) /* timer mode */ +#define _01_TMRJ_MODE_PULSE_OUTPUT (0x01U) /* pulse output mode */ +#define _02_TMRJ_MODE_EVENT_COUNTER (0x02U) /* event counter mode */ +#define _03_TMRJ_MODE_PULSE_WIDTH (0x03U) /* pulse width measurement mode */ +#define _04_TMRJ_MODE_PULSE_PERIOD (0x04U) /* pulse period measurement mode */ +/* TRJIO input polarity select bit (TEDGPL) */ +#define _00_TMRJ_TRJIO_POLARITY_ONE (0x00U) /* one edge */ +#define _08_TMRJ_TRJIO_POLARITY_BOTH (0x08U) /* both edges */ +/* Timer RJ count source select bit (TCK2 - TCK0) */ +#define _00_TMRJ_COUNT_SOURCE_FCLK (0x00U) /* fCLK */ +#define _10_TMRJ_COUNT_SOURCE_FCLK8 (0x10U) /* fCLK8 */ +#define _30_TMRJ_COUNT_SOURCE_FCLK2 (0x30U) /* fCLK2 */ +#define _40_TMRJ_COUNT_SOURCE_FIL (0x40U) /* fIL */ +#define _60_TMRJ_COUNT_SOURCE_FSL (0x60U) /* fSL */ + +/* + Timer RJ event pin selection register 0 (TRJISR0) +*/ +/* PWM signal selection (RCCPSEL1, RCCPSEL0) */ +#define _00_TMRJ_PWM_TRDIOD1 (0x00U) /* TRDIOD1 */ +#define _01_TMRJ_PWM_TRDIOC1 (0x01U) /* TRDIOC1 */ +#define _02_TMRJ_PWM_TO02 (0x02U) /* TO02 */ +#define _03_TMRJ_PWM_TO03 (0x03U) /* TO03 */ +/* PWM signal and INTP4 polarity selection (RCCPSEL2) */ +#define _00_TMRJ_PWM_POLARITY_L (0x00U) /* L period is counted */ +#define _04_TMRJ_PWM_POLARITY_H (0x04U) /* H period is counted */ + +/* + Peripheral enable register 1 (PER1) +*/ +/* Control of timer RD input clock supply (TRD0EN) */ +#define _00_TMRD_NOSUPPLY (0x00U) /* stops input clock supply */ +#define _10_TMRD_SUPPLY (0x10U) /* enables input clock supply */ + +/* + Timer RD ELC Register (TRDELC) +*/ +/* ELC event input 0 select for timer RD input capture D0 (ELCICE0) */ +#define _00_TMRD0_INPUTCAPTURE (0x00U) /* input capture D0 is selected */ +#define _01_TMRD0_ELC (0x01U) /* the event link controller (ELC) is not selected */ +/* ELC event input 0 enable for timer RD pulse output forced cutoff (ELCOBE0) */ +#define _00_TMRD0_CUTOFF_DISABLED (0x00U) /* forced cutoff is disabled */ +#define _02_TMRD0_CUTOFF_ENABLED (0x02U) /* forced cutoff is enabled */ +/* ELC event input 1 select for timer RD input capture D1 (ELCICE1) */ +#define _00_TMRD1_INPUTCAPTURE (0x00U) /* input capture D1 is selected */ +#define _10_TMRD1_ELC (0x10U) /* event link controller (ELC) is selected */ +/* ELC event input 1 enable for timer RD pulse output forced cutoff (ELCOBE1) */ +#define _00_TMRD1_CUTOFF_DISABLED (0x00U) /* forced cutoff is disabled */ +#define _20_TMRD1_CUTOFF_ENABLED (0x20U) /* forced cutoff is enabled */ + +/* + Timer RD Start Register (TRDSTR) +*/ +#define _03_TRD_COUNT_STATR_INITIAL_VALUE (0x03U) /* trd0/trd1 count satrts */ +/* TRD0 count start flag (TSTART0) */ +#define _00_TMRD_TRD0_COUNT_STOP (0x00U) /* trd0 count stops */ +#define _01_TMRD_TRD0_COUNT_START (0x01U) /* trd0 count starts */ +/* TRD1 count start flag (TSTART1) */ +#define _00_TMRD_TRD1_COUNT_STOP (0x00U) /* trd1 count stops */ +#define _02_TMRD_TRD1_COUNT_START (0x02U) /* trd1 count starts */ +/* TRD0 count operation select bit (CSEL0) */ +#define _00_TMRD_TRD0_COUNT_STOP_MATCH (0x00U) /* count stops at the compare match */ +#define _04_TMRD_TRD0_COUNT_CONTINUES (0x04U) /* count continues after the compare match */ +/* TRD1 count operation select bit (CSEL1) */ +#define _00_TMRD_TRD1_COUNT_STOP_MATCH (0x00U) /* count stops at the compare match */ +#define _08_TMRD_TRD1_COUNT_CONTINUES (0x08U) /* count continues after the compare match */ + +/* + Timer RD Mode Register (TRDMR) +*/ +/* Timer RD synchronous bit (SYNC) */ +#define _00_TMRD_INDEPENDENTLY (0x00U) /* registers TRD0 and TRD1 operate independently */ +#define _01_TMRD_SYNCHRONOUSLY (0x01U) /* registers TRD0 and TRD1 operate synchronously */ +/* TRDGRC0 register function select bit (BFC0) */ +#define _00_TMRD_TRDGRC0_GENERAL (0x00U) /* general register */ +#define _10_TMRD_TRDGRC0_BUFFER (0x10U) /* buffer register of TRDGRA0 register */ +/* TRDGRD0 register function select bit (BFD0) */ +#define _00_TMRD_TRDGRD0_GENERAL (0x00U) /* general register */ +#define _20_TMRD_TRDGRD0_BUFFER (0x20U) /* buffer register of TRDGRB0 register */ +/* TRDGRC1 register function select bit (BFC1) */ +#define _00_TMRD_TRDGRC1_GENERAL (0x00U) /* general register */ +#define _40_TMRD_TRDGRC1_BUFFER (0x40U) /* buffer register of TRDGRA1 register */ +/* TRDGRD1 register function select bit (BFD1) */ +#define _00_TMRD_TRDGRD1_GENERAL (0x00U) /* general register */ +#define _80_TMRD_TRDGRD1_BUFFER (0x80U) /* buffer register of TRDGRB1 register */ + +/* + Timer RD PWM Mode Register (TRDPMR) +*/ +/* PWM mode of TRDIOB0 select bit (PWMB0) */ +#define _00_TMRD_TRDIOB0_TIMER_MODE (0x00U) /* TRDIOB0 used as timer mode */ +#define _01_TMRD_TRDIOB0_PWM_MODE (0x01U) /* TRDIOB0 used as PWM mode */ +/* PWM mode of TRDIOC0 select bit (PWMC0) */ +#define _00_TMRD_TRDIOC0_TIMER_MODE (0x00U) /* TRDIOC0 used as timer mode */ +#define _02_TMRD_TRDIOC0_PWM_MODE (0x02U) /* TRDIOC0 used as PWM mode */ +/* PWM mode of TRDIOD0 select bit (PWMD0) */ +#define _00_TMRD_TRDIOD0_TIMER_MODE (0x00U) /* TRDIOD0 used as timer mode */ +#define _04_TMRD_TRDIOD0_PWM_MODE (0x04U) /* TRDIOD0 used as PWM mode */ +/* PWM mode of TRDIOB1 select bit (PWMB1) */ +#define _00_TMRD_TRDIOB1_TIMER_MODE (0x00U) /* TRDIOB1 used as timer mode */ +#define _10_TMRD_TRDIOB1_PWM_MODE (0x10U) /* TRDIOB1 used as PWM mode */ +/* PWM mode of TRDIOC1 select bit (PWMC1) */ +#define _00_TMRD_TRDIOC1_TIMER_MODE (0x00U) /* TRDIOC1 used as timer mode */ +#define _20_TMRD_TRDIOC1_PWM_MODE (0x20U) /* TRDIOC1 used as PWM mode */ +/* PWM mode of TRDIOD1 select bit (PWMD1) */ +#define _00_TMRD_TRDIOD1_TIMER_MODE (0x00U) /* TRDIOD1 used as timer mode */ +#define _40_TMRD_TRDIOD1_PWM_MODE (0x40U) /* TRDIOD1 used as PWM mode */ + +/* + Timer RD Function Control Register (TRDFCR) +*/ +/* Combination mode select bit (CMD1, CMD0) */ +#define _00_TMRD_TRANSFER_DEFAULT (0x00U) /* in timer mode, PWM mode, or PWM3 mode */ +#define _01_TMRD_TRANSFER_RESET_SYNCHRONOUS (0x01U) /* in reset synchronous PWM mode */ +#define _02_TMRD_TRANSFER_TMRD1_UNDERFLOW (0x02U) /* transfer from buffer register to general register */ +#define _03_TMRD_TRANSFER_TMRD0_MATCH (0x03U) /* transfer from buffer register to general register */ +/* Normal-phase output level select bit (OLS0) */ +#define _00_TMRD_NORMAL_PHASE_LEVEl_HL (0x00U) /* initial output "H", Active level "L" */ +#define _04_TMRD_NORMAL_PHASE_LEVEl_LH (0x04U) /* initial output "L", Active level "H" */ +/* Counter-phase output level select bit (OLS1) */ +#define _00_TMRD_COUNTER_PHASE_LEVEl_HL (0x00U) /* initial output "H", Active level "L" */ +#define _08_TMRD_COUNTER_PHASE_LEVEl_LH (0x08U) /* initial output "L", Active level "H" */ +/* External clock input select bit (STCLK) */ +#define _00_TMRD_EXTERNAL_CLOCK_DISABLE (0x00U) /* external clock input disabled */ +#define _40_TMRD_EXTERNAL_CLOCK_ENABLE (0x40U) /* external clock input enabled */ +/* PWM3 mode select bit (PWM3) */ +#define _00_TMRD_PWM3_MODE (0x00U) /* PWM3 mode */ +#define _80_TMRD_OTHER_MODE (0x80U) /* other mode */ + +/* + Timer RD Output Master Enable Register 1 (TRDOER1) +*/ +#define _F0_TMRD_CHANNEL0_OUTPUT_DEFAULT (0xF0U) +#define _0F_TMRD_CHANNEL1_OUTPUT_DEFAULT (0x0FU) +/* TRDIOA0 output disable bit (EA0) */ +#define _00_TMRD_TRDIOA0_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _01_TMRD_TRDIOA0_OUTPUT_DISABLE (0x01U) /* disable output */ +/* TRDIOB0 output disable bit (EB0) */ +#define _00_TMRD_TRDIOB0_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _02_TMRD_TRDIOB0_OUTPUT_DISABLE (0x02U) /* disable output */ +/* TRDIOC0 output disable bit (EC0) */ +#define _00_TMRD_TRDIOC0_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _04_TMRD_TRDIOC0_OUTPUT_DISABLE (0x04U) /* disable output */ +/* TRDIOD0 output disable bit (ED0) */ +#define _00_TMRD_TRDIOD0_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _08_TMRD_TRDIOD0_OUTPUT_DISABLE (0x08U) /* disable output */ +/* TRDIOA1 output disable bit (EA1) */ +#define _00_TMRD_TRDIOA1_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _10_TMRD_TRDIOA1_OUTPUT_DISABLE (0x10U) /* disable output */ +/* TRDIOB1 output disable bit (EB1) */ +#define _00_TMRD_TRDIOB1_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _20_TMRD_TRDIOB1_OUTPUT_DISABLE (0x20U) /* disable output */ +/* TRDIOC1 output disable bit (EC1) */ +#define _00_TMRD_TRDIOC1_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _40_TMRD_TRDIOC1_OUTPUT_DISABLE (0x40U) /* disable output */ +/* TRDIOD1 output disable bit (ED1) */ +#define _00_TMRD_TRDIOD1_OUTPUT_ENABLE (0x00U) /* enable output */ +#define _80_TMRD_TRDIOD1_OUTPUT_DISABLE (0x80U) /* disable output */ + +/* + Timer RD Output Master Enable Register 2 (TRDOER2) +*/ +/* INT0 of pulse output forced cutoff signal input enabled bit (PTO) */ +#define _00_TMRD_ALL_OUTPUT_DISABLE (0x00U) /* pulse output forced cutoff input disabled */ +#define _80_TMRD_ALL_OUTPUT_ENABLE (0x80U) /* pulse output forced cutoff input enabled */ +/* Forced cutoff flag (SHUTS) */ +#define _00_TMRD_INTERCEPTION_STOP (0x00U) /* not forcibly cut off */ +#define _01_TMRD_INTERCEPTION (0x01U) /* forcibly cut off */ + +/* + Timer RD Output Control Register (TRDOCR) +*/ +/* TRDIOA0 output level select bit (TOA0) */ +#define _00_TMRD_TRDIOA0_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _01_TMRD_TRDIOA0_INITIAL_OUTPUT_H (0x01U) /* initial output "H" or active level */ +/* TRDIOB0 output level select bit (TOB0) */ +#define _00_TMRD_TRDIOB0_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _02_TMRD_TRDIOB0_INITIAL_OUTPUT_H (0x02U) /* initial output "H" or active level */ +/* TRDIOC0 output level select bit (TOC0) */ +#define _00_TMRD_TRDIOC0_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _04_TMRD_TRDIOC0_INITIAL_OUTPUT_H (0x04U) /* initial output "H" or active level */ +/* TRDIOD0 output level select bit (TOD0) */ +#define _00_TMRD_TRDIOD0_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _08_TMRD_TRDIOD0_INITIAL_OUTPUT_H (0x08U) /* initial output "H" or active level */ +/* TRDIOA1 output level select bit (TOA1) */ +#define _00_TMRD_TRDIOA1_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _10_TMRD_TRDIOA1_INITIAL_OUTPUT_H (0x10U) /* initial output "H" or active level */ +/* TRDIOB1 output level select bit (TOB1) */ +#define _00_TMRD_TRDIOB1_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _20_TMRD_TRDIOB1_INITIAL_OUTPUT_H (0x20U) /* initial output "H" or active level */ +/* TRDIOC1 output level select bit (TOC1) */ +#define _00_TMRD_TRDIOC1_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _40_TMRD_TRDIOC1_INITIAL_OUTPUT_H (0x40U) /* initial output "H" or active level */ +/* TRDIOD1 output level select bit (TOD1) */ +#define _00_TMRD_TRDIOD1_INITIAL_OUTPUT_L (0x00U) /* initial output "L" or inactive level */ +#define _80_TMRD_TRDIOD1_INITIAL_OUTPUT_H (0x80U) /* initial output "H" or active level */ + +/* + Timer RD Digital Filter Function Select Register i (TRDDFi) +*/ +/* TRDIOA pin digital filter function select bit (DFA) */ +#define _00_TMRD_TRDIOA_DIGITAL_FILTER_DISABLE (0x00U) /* TRDIOA pin digital filter function is not used */ +#define _01_TMRD_TRDIOA_DIGITAL_FILTER_ENABLE (0x01U) /* TRDIOA pin digital filter function is used */ +/* TRDIOB pin digital filter function select bit (DFB) */ +#define _00_TMRD_TRDIOB_DIGITAL_FILTER_DISABLE (0x00U) /* TRDIOB pin digital filter function is not used */ +#define _02_TMRD_TRDIOB_DIGITAL_FILTER_ENABLE (0x02U) /* TRDIOB pin digital filter function is used */ +/* TRDIOD pin pulse forced cutoff control (DFB, DFA) */ +#define _00_TMRD_TRDIOD_FORCEDCUTOFF_DISABLE (0x00U) /* forced cutoff disabled */ +#define _01_TMRD_TRDIOD_HIGHIMPEDANCE_OUTPUT (0x01U) /* high-impedance output */ +#define _02_TMRD_TRDIOD_LOW_OUTPUT (0x02U) /* low output */ +#define _03_TMRD_TRDIOD_HIGH_OUTPUT (0x03U) /* high output */ +/* TRDIOC pin digital filter function select bit (DFC) */ +#define _00_TMRD_TRDIOC_DIGITAL_FILTER_DISABLE (0x00U) /* TRDIOC pin digital filter function is not used */ +#define _04_TMRD_TRDIOC_DIGITAL_FILTER_ENABLE (0x04U) /* TRDIOC pin digital filter function is used */ +/* TRDIOD pin digital filter function select bit (DFD) */ +#define _00_TMRD_TRDIOD_DIGITAL_FILTER_DISABLE (0x00U) /* TRDIOD pin digital filter function is not used */ +#define _08_TMRD_TRDIOD_DIGITAL_FILTER_ENABLE (0x08U) /* TRDIOD pin digital filter function is used */ +/* TRDIOC pin pulse forced cutoff control (DFD, DFC) */ +#define _00_TMRD_TRDIOC_FORCEDCUTOFF_DISABLE (0x00U) /* forced cutoff disabled */ +#define _04_TMRD_TRDIOC_HIGHIMPEDANCE_OUTPUT (0x04U) /* high-impedance output */ +#define _08_TMRD_TRDIOC_LOW_OUTPUT (0x08U) /* low output */ +#define _0C_TMRD_TRDIOC_HIGH_OUTPUT (0x0CU) /* high output */ +/* TRDIOB pin pulse forced cutoff control (PENB1, PENB0) */ +#define _00_TMRD_TRDIOB_FORCEDCUTOFF_DISABLE (0x00U) /* forced cutoff disabled */ +#define _10_TMRD_TRDIOB_HIGHIMPEDANCE_OUTPUT (0x10U) /* high-impedance output */ +#define _20_TMRD_TRDIOB_LOW_OUTPUT (0x20U) /* low output */ +#define _30_TMRD_TRDIOB_HIGH_OUTPUT (0x30U) /* high output */ +/* Clock select bits for digital filter function (DFCK1, DFCK0) */ +#define _00_TMRD_DIGITAL_FILTER_CLOCK_F32 (0x00U) /* fTRD/2^5 */ +#define _40_TMRD_DIGITAL_FILTER_CLOCK_F8 (0x40U) /* fTRD/2^3 */ +#define _80_TMRD_DIGITAL_FILTER_CLOCK_F1 (0x80U) /* fTRD */ +#define _C0_TMRD_DIGITAL_FILTER_CLOCK_SOURCE (0xC0U) /* count source */ +/* TRDIOA pin pulse forced cutoff control (DFCK1, DFCK0) */ +#define _00_TMRD_TRDIOA_FORCEDCUTOFF_DISABLE (0x00U) /* forced cutoff disabled */ +#define _40_TMRD_TRDIOA_HIGHIMPEDANCE_OUTPUT (0x40U) /* high-impedance output */ +#define _80_TMRD_TRDIOA_LOW_OUTPUT (0x80U) /* low output */ +#define _C0_TMRD_TRDIOA_HIGH_OUTPUT (0xC0U) /* high output */ + +/* + Timer RD Control Register i (TRDCRi) +*/ +/* Count source select bit (TCK2 - TCK0) */ +#define _00_TMRD_INTERNAL_CLOCK_F1 (0x00U) /* fTRD */ +#define _00_TMRD_INTERNAL_CLOCK_FIH (0x00U) /* fIH */ +#define _00_TMRD_INTERNAL_CLOCK_FPLL (0x00U) /* fPLL */ +#define _00_TMRD_INTERNAL_CLOCK_FSL (0x00U) /* fSL */ +#define _01_TMRD_INTERNAL_CLOCK_F2 (0x01U) /* fTRD/2 */ +#define _02_TMRD_INTERNAL_CLOCK_F4 (0x02U) /* fTRD/2^2 */ +#define _03_TMRD_INTERNAL_CLOCK_F8 (0x03U) /* fTRD/2^3 */ +#define _04_TMRD_INTERNAL_CLOCK_F32 (0x04U) /* fTRD/2^5 */ +#define _05_TMRD_INTERNAL_CLOCK_TRDCLK (0x05U) /* TRDCLK input */ +/* External clock edge select bit (CKEG1, CKEG0) */ +#define _00_TMRD_EXTERNAL_CLOCK_EDGE_RISING (0x00U) /* count at the rising edge */ +#define _08_TMRD_EXTERNAL_CLOCK_EDGE_FALLING (0x08U) /* count at the falling edge */ +#define _10_TMRD_EXTERNAL_CLOCK_EDGE_BOTH (0x10U) /* count at both edges */ +/* TRDi counter clear select bit (CCLR2 - CCLR0) */ +#define _00_TMRD_COUNTER_CLEAR_DISABLE (0x00U) /* disable clear (free-running operation) */ +#define _20_TMRD_COUNTER_CLEAR_TRDGRA (0x20U) /* clear with the TRDGRAi register */ +#define _40_TMRD_COUNTER_CLEAR_TRDGRB (0x40U) /* clear with the TRDGRBi register */ +#define _60_TMRD_COUNTER_CLEAR_SYNCHRONOUS (0x60U) /* synchronous clear */ +#define _A0_TMRD_COUNTER_CLEAR_TRDGRC (0xA0U) /* clear by input capture with TRDGRCi register */ +#define _C0_TMRD_COUNTER_CLEAR_TRDGRD (0xC0U) /* clear by input capture with TRDGRDi register */ + +/* + Timer RD I/O Control Register Ai (TRDIORAi) +*/ +/* TRDGRA control bit (IOA1, IOA0) */ +#define _00_TMRD_TRDGRA_CAPTURE_RISING (0x00U) /* input capture to the TRDGRAi register at the rising edge */ +#define _01_TMRD_TRDGRA_CAPTURE_FALLING (0x01U) /* input capture to TRDGRAi register at falling edge */ +#define _02_TMRD_TRDGRA_CAPTURE_BOTH (0x02U) /* input capture to the TRDGRAi register at the both edges */ +#define _00_TMRD_TRDGRA_COMPARE_OUTPUT_DISABLE (0x00U) /* pin output by compare match is disabled */ +#define _01_TMRD_TRDGRA_COMPARE_OUTPUT_LOW (0x01U) /* "L" output by compare match with the TRDGRAi register */ +#define _02_TMRD_TRDGRA_COMPARE_OUTPUT_HIGH (0x02U) /* "H" output by compare match with the TRDGRAi register */ +#define _03_TMRD_TRDGRA_COMPARE_OUTPUT_TOGGLE (0x03U) /* toggle output by compare match with the TRDGRAi register */ +/* TRDGRA mode select bit (IOA2) */ +#define _00_TMRD_TRDGRA_COMPARE (0x00U) /* output compare */ +#define _04_TMRD_TRDGRA_CAPTURE (0x04U) /* input capture */ +/* TRDGRB control bit (IOB1, IOB0) */ +#define _00_TMRD_TRDGRB_CAPTURE_RISING (0x00U) /* input capture to the TRDGRBi register at the rising edge */ +#define _10_TMRD_TRDGRB_CAPTURE_FALLING (0x10U) /* input capture to TRDGRBi register at falling edge */ +#define _20_TMRD_TRDGRB_CAPTURE_BOTH (0x20U) /* input capture to the TRDGRBi register at the both edges */ +#define _00_TMRD_TRDGRB_COMPARE_OUTPUT_DISABLE (0x00U) /* disable output prohibition by compare agreement */ +#define _10_TMRD_TRDGRB_COMPARE_OUTPUT_LOW (0x10U) /* "L" output by compare match with the TRDGRBi register */ +#define _20_TMRD_TRDGRB_COMPARE_OUTPUT_HIGH (0x20U) /* "H" output by compare match with the TRDGRBi register */ +#define _30_TMRD_TRDGRB_COMPARE_OUTPUT_TOGGLE (0x30U) /* toggle output by compare match with the TRDGRBi register */ +/* TRDGRB mode select bit (IOB2) */ +#define _00_TMRD_TRDGRB_COMPARE (0x00U) /* output compare */ +#define _40_TMRD_TRDGRB_CAPTURE (0x40U) /* input capture */ + +/* + Timer RD I/O Control Register Ci (TRDIORCi) +*/ +/* TRDGRC control bit (IOC1, IOC0) */ +#define _00_TMRD_TRDGRC_CAPTURE_RISING (0x00U) /* input capture to the TRDGRCi register at rising edge */ +#define _01_TMRD_TRDGRC_CAPTURE_FALLING (0x01U) /* input capture to TRDGRCi register at falling edge */ +#define _02_TMRD_TRDGRC_CAPTURE_BOTH (0x02U) /* input capture to the TRDGRCi register at the both edges */ +#define _00_TMRD_TRDGRC_COMPARE_OUTPUT_DISABLE (0x00U) /* disable pin output by the compare match */ +#define _01_TMRD_TRDGRC_COMPARE_OUTPUT_LOW (0x01U) /* "L" output by compare match with the TRDGRCi register */ +#define _02_TMRD_TRDGRC_COMPARE_OUTPUT_HIGH (0x02U) /* "H" output by compare match with the TRDGRCi register */ +#define _03_TMRD_TRDGRC_COMPARE_OUTPUT_TOGGLE (0x03U) /* toggle output by compare match with the TRDGRCi register */ +/* TRDGRC mode select bit (IOC2) */ +#define _00_TMRD_TRDGRC_COMPARE (0x00U) /* output compare */ +#define _04_TMRD_TRDGRC_CAPTURE (0x04U) /* input capture */ +/* TRDGRC register function select bit (IOC3) */ +#define _00_TMRD_TRDGRC_OUTPUT_REGISTER (0x00U) /* output register */ +#define _08_TMRD_TRDGRC_GENERAL_BUFFER_REGISTER (0x08U) /* general register or buffer register */ +/* TRDGRD control bit (IOD1, IOD0) */ +#define _00_TMRD_TRDGRD_CAPTURE_RISING (0x00U) /* input capture to TRDGRDi register at rising edge */ +#define _10_TMRD_TRDGRD_CAPTURE_FALLING (0x10U) /* input capture to TRDGRDi register at falling edge */ +#define _20_TMRD_TRDGRD_CAPTURE_BOTH (0x20U) /* input capture to TRDGRDi register at both edges */ +#define _00_TMRD_TRDGRD_COMPARE_OUTPUT_DISABLE (0x00U) /* disable pin output by the compare match */ +#define _10_TMRD_TRDGRD_COMPARE_OUTPUT_LOW (0x10U) /* "L" output by compare match with the TRDGRDi register */ +#define _20_TMRD_TRDGRD_COMPARE_OUTPUT_HIGH (0x20U) /* "H" output by compare match with the TRDGRDi register */ +#define _30_TMRD_TRDGRD_COMPARE_OUTPUT_TOGGLE (0x30U) /* toggle output by compare match with the TRDGRDi register */ +/* TRDGRD mode select bit (IOD2) */ +#define _00_TMRD_TRDGRD_COMPARE (0x00U) /* output compare */ +#define _40_TMRD_TRDGRD_CAPTURE (0x40U) /* input capture */ +/* TRDGRD register function select bit (IOD3) */ +#define _00_TMRD_TRDGRD_OUTPUT_REGISTER (0x00U) /* output register */ +#define _80_TMRD_TRDGRD_GENERAL_BUFFER_REGISTER (0x80U) /* general register or buffer register */ + +/* + Timer RD Status Register 0 (TRDSR0) +*/ +#define _E0_TMRD_TRDSR0_DEFAULT_VALUR (0xE0U) /* TRDSR0 register default value */ +/* Input capture/compare match flag A (IMFA) */ +#define _00_TMRD0_INTA_FLAG_CLEAR (0x00U) /* interrupt A not generate */ +#define _01_TMRD0_INTA_GENERATE_FLAG (0x01U) /* interrupt A generate */ +/* Input capture/compare match flag B (IMFB) */ +#define _00_TMRD0_INTB_FLAG_CLEAR (0x00U) /* interrupt B not generate */ +#define _02_TMRD0_INTB_GENERATE_FLAG (0x02U) /* interrupt B generate */ +/* Input capture/compare match flag C (IMFC) */ +#define _00_TMRD0_INTC_FLAG_CLEAR (0x00U) /* interrupt C not generate */ +#define _04_TMRD0_INTC_GENERATE_FLAG (0x04U) /* interrupt C generate */ +/* Input capture/compare match flag D (IMFD) */ +#define _00_TMRD0_INTD_FLAG_CLEAR (0x00U) /* interrupt D not generate */ +#define _08_TMRD0_INTD_GENERATE_FLAG (0x08U) /* interrupt D generate */ +/* Overflow flag (OVF) */ +#define _00_TMRD0_INTOV_FLAG_CLEAR (0x00U) /* interrupt overflow not generate */ +#define _10_TMRD0_INTOV_GENERATE_FLAG (0x10U) /* interrupt overflow generate */ + +/* + Timer RD Status Register 1 (TRDSR1) +*/ +#define _C0_TMRD_TRDSR1_DEFAULT_VALUR (0xC0U) /* TRDSR1 register default value */ +/* Input capture/compare match flag A (IMFA) */ +#define _00_TMRD1_INTA_FLAG_CLEAR (0x00U) /* interrupt A not generate */ +#define _01_TMRD1_INTA_GENERATE_FLAG (0x01U) /* interrupt A generate */ +/* Input capture/compare match flag B (IMFB) */ +#define _00_TMRD1_INTB_FLAG_CLEAR (0x00U) /* interrupt B not generate */ +#define _02_TMRD1_INTB_GENERATE_FLAG (0x02U) /* interrupt B generate */ +/* Input capture/compare match flag C (IMFC) */ +#define _00_TMRD1_INTC_FLAG_CLEAR (0x00U) /* interrupt C not generate */ +#define _04_TMRD1_INTC_GENERATE_FLAG (0x04U) /* interrupt C generate */ +/* Input capture/compare match flag D (IMFD) */ +#define _00_TMRD1_INTD_FLAG_CLEAR (0x00U) /* interrupt D not generate */ +#define _08_TMRD1_INTD_GENERATE_FLAG (0x08U) /* interrupt D generate */ +/* Overflow flag (OVF) */ +#define _00_TMRD1_INTOV_FLAG_CLEAR (0x00U) /* interrupt overflow not generate */ +#define _10_TMRD1_INTOV_GENERATE_FLAG (0x10U) /* interrupt overflow generate */ + +/* + Timer RD Interrupt Enable Register i (TRDIERi) +*/ +/* Input capture/compare match interrupt enable bit A (IMIEA) */ +#define _00_TMRD_IMIA_DISABLE (0x00U) /* disable interrupt (IMIA) by the IMFA bit */ +#define _01_TMRD_IMIA_ENABLE (0x01U) /* enable interrupt (IMIA) by the IMFA bit */ +/* Input capture/compare match interrupt enable bit B (IMIEB) */ +#define _00_TMRD_IMIB_DISABLE (0x00U) /* disable interrupt (IMIB) by the IMFB bit */ +#define _02_TMRD_IMIB_ENABLE (0x02U) /* enable interrupt (IMIB) by the IMFB bit */ +/* Input capture/compare match interrupt enable bit C (IMIEC) */ +#define _00_TMRD_IMIC_DISABLE (0x00U) /* disable interrupt (IMIC) by the IMFC bit */ +#define _04_TMRD_IMIC_ENABLE (0x04U) /* enable interrupt (IMIC) by the IMFC bit */ +/* Input capture/compare match interrupt enable bit D (IMIED) */ +#define _00_TMRD_IMID_DISABLE (0x00U) /* disable interrupt (IMID) by the IMFD bit */ +#define _08_TMRD_IMID_ENABLE (0x08U) /* enable interrupt (IMId) by the IMFD bit */ +/* Overflow/underflow interrupt enable bit (OVIE) */ +#define _00_TMRD_OVIE_DISABLE (0x00U) /* disable interrupt (OVI) by the OVF or UDF bit */ +#define _10_TMRD_OVIE_ENABLE (0x10U) /* enable interrupt (OVI) by the OVF or UDF bit */ + +#define _0000_TMRD_PWM_DELAY_CLEAR (0x0000U) /* clear PWM output delay control register */ + +/* + PWM output delay control register 0 (PWMDLY0) +*/ +/* Control of PWM output delay time of TRDIOA0 */ +#define _0000_TMRD_TRDIOA0_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0001_TMRD_TRDIOA0_OUTPUT_DELAY_1 (0x0001U) /* delay 1 cycle */ +#define _0002_TMRD_TRDIOA0_OUTPUT_DELAY_2 (0x0002U) /* delay 2 cycles */ +#define _0003_TMRD_TRDIOA0_OUTPUT_DELAY_3 (0x0003U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOB0 */ +#define _0000_TMRD_TRDIOB0_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0004_TMRD_TRDIOB0_OUTPUT_DELAY_1 (0x0004U) /* delay 1 cycle */ +#define _0008_TMRD_TRDIOB0_OUTPUT_DELAY_2 (0x0008U) /* delay 2 cycles */ +#define _000C_TMRD_TRDIOB0_OUTPUT_DELAY_3 (0x000CU) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOC0 */ +#define _0000_TMRD_TRDIOC0_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0010_TMRD_TRDIOC0_OUTPUT_DELAY_1 (0x0010U) /* delay 1 cycle */ +#define _0020_TMRD_TRDIOC0_OUTPUT_DELAY_2 (0x0020U) /* delay 2 cycles */ +#define _0030_TMRD_TRDIOC0_OUTPUT_DELAY_3 (0x0030U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOD0 */ +#define _0000_TMRD_TRDIOD0_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0040_TMRD_TRDIOD0_OUTPUT_DELAY_1 (0x0040U) /* delay 1 cycle */ +#define _0080_TMRD_TRDIOD0_OUTPUT_DELAY_2 (0x0080U) /* delay 2 cycles */ +#define _00C0_TMRD_TRDIOD0_OUTPUT_DELAY_3 (0x00C0U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOA1 */ +#define _0000_TMRD_TRDIOA1_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0100_TMRD_TRDIOA1_OUTPUT_DELAY_1 (0x0100U) /* delay 1 cycle */ +#define _0200_TMRD_TRDIOA1_OUTPUT_DELAY_2 (0x0200U) /* delay 2 cycles */ +#define _0300_TMRD_TRDIOA1_OUTPUT_DELAY_3 (0x0300U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOB1 */ +#define _0000_TMRD_TRDIOB1_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _0400_TMRD_TRDIOB1_OUTPUT_DELAY_1 (0x0400U) /* delay 1 cycle */ +#define _0800_TMRD_TRDIOB1_OUTPUT_DELAY_2 (0x0800U) /* delay 2 cycles */ +#define _0C00_TMRD_TRDIOB1_OUTPUT_DELAY_3 (0x0C00U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOC1 */ +#define _0000_TMRD_TRDIOC1_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _1000_TMRD_TRDIOC1_OUTPUT_DELAY_1 (0x1000U) /* delay 1 cycle */ +#define _2000_TMRD_TRDIOC1_OUTPUT_DELAY_2 (0x2000U) /* delay 2 cycles */ +#define _3000_TMRD_TRDIOC1_OUTPUT_DELAY_3 (0x3000U) /* delay 3 cycles */ +/* Control of PWM output delay time of TRDIOD1 */ +#define _0000_TMRD_TRDIOD1_OUTPUT_DELAY_0 (0x0000U) /* no delay */ +#define _4000_TMRD_TRDIOD1_OUTPUT_DELAY_1 (0x4000U) /* delay 1 cycle */ +#define _8000_TMRD_TRDIOD1_OUTPUT_DELAY_2 (0x8000U) /* delay 2 cycles */ +#define _C000_TMRD_TRDIOD1_OUTPUT_DELAY_3 (0xC000U) /* delay 3 cycles */ + +/* + Timer RD PWM Mode Output Level Control Register i (TRDPOCRi) +*/ +/* PWM mode output level control bit B (POLB) */ +#define _00_TMRD_TRDIOB_OUTPUT_ACTIVE_L (0x00U) /* "L" active TRDIOBi output level is selected */ +#define _01_TMRD_TRDIOB_OUTPUT_ACTIVE_H (0x01U) /* "H" active TRDIOBi output level is selected */ +/* PWM mode output level control bit C (POLC) */ +#define _00_TMRD_TRDIOC_OUTPUT_ACTIVE_L (0x00U) /* "L" active TRDIOCi output level is selected */ +#define _02_TMRD_TRDIOC_OUTPUT_ACTIVE_H (0x02U) /* "H" active TRDIOCi output level is selected */ +/* PWM mode output level control bit D (POLD) */ +#define _00_TMRD_TRDIOD_OUTPUT_ACTIVE_L (0x00U) /* "L" active TRDIODi output level is selected */ +#define _04_TMRD_TRDIOD_OUTPUT_ACTIVE_H (0x04U) /* "H" active TRDIODi output level is selected */ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ +/* 16-bit timer data register 00 (TDR00) */ +#define _7CFF_TAU_TDR00_VALUE (0x7CFFU) +/* Clock divisor for TAU0 channel 0 */ +#define _0001_TAU0_CHANNEL0_DIVISOR (0x0001U) +/* 16-bit timer data register 01 (TDR01) */ +#define _7CFF_TAU_TDR01_VALUE (0x7CFFU) +/* Clock divisor for TAU0 channel 1 */ +#define _0001_TAU0_CHANNEL1_DIVISOR (0x0001U) +/* TMRD register A0 (TRDGRA0) */ +#define _3E7F_TMRD_TRDGRA0_VALUE (0x3E7FU) +/* TMRD register B0 (TRDGRB0) */ +#define _7CFF_TMRD_TRDGRB0_VALUE (0x7CFFU) +/* TMRD register C0 (TRDGRC0) */ +#define _3E7F_TMRD_TRDGRC0_VALUE (0x3E7FU) +/* TMRD register A1 (TRDGRA1) */ +#define _257F_TMRD_TRDGRA1_VALUE (0x257FU) +/* TMRD register B1 (TRDGRB1) */ +#define _7CFF_TMRD_TRDGRB1_VALUE (0x7CFFU) + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ +typedef enum +{ + TMCHANNELA, + TMCHANNELB, + TMCHANNELC, + TMCHANNELD, + TMCHANNELELC +} timer_channel_t; + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_TAU0_Create(void); +void R_TAU0_Channel0_Start(void); +void R_TAU0_Channel0_Stop(void); +void R_TAU0_Channel1_Start(void); +void R_TAU0_Channel1_Stop(void); +void R_TMR_RD0_Create(void); +void R_TMR_RD0_Start(void); +void R_TMR_RD0_Stop(void); +void R_TMR_RD1_Create(void); +void R_TMR_RD1_Start(void); +void R_TMR_RD1_Stop(void); + +/* Start user code for function. Do not edit comment generated here */ +void Count_Down_Timer_8Bit(unsigned char *Target_Timer); +void Count_Down_Timer_16Bit(unsigned int *Target_Timer); +void AutoLoad_CountUp_Timer_8Bit(unsigned char *Target_Timer,unsigned int Time_Limit, +unsigned char *Count,unsigned char Count_Limit); +void AutoLoad_CountUp_Timer_16Bit(unsigned int *Target_Timer,unsigned int Time_Limit, +unsigned char *Count,unsigned char Count_Limit); +void Timer_Pro(void); +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_timer_user.c b/ECU_APP/r_cg_timer_user.c new file mode 100644 index 0000000..20bd63c --- /dev/null +++ b/ECU_APP/r_cg_timer_user.c @@ -0,0 +1,197 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_timer_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for TAU module. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_timer.h" +/* Start user code for include. Do not edit comment generated here */ +#include "appTask.h" +#include "can_user.h" +#include "CanNw.h" + +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +#pragma interrupt r_tau0_channel0_interrupt(vect=INTTM00) +#pragma interrupt r_tau0_channel1_interrupt(vect=INTTM01) +/* Start user code for pragma. Do not edit comment generated here */ + +#if DEBUG +#pragma interrupt r_tau0_channel0_interrupt(vect = INTTM00) +#pragma interrupt r_tau0_channel1_interrupt(vect = INTTM01) +#endif + +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +unsigned char Timer_Interrupt; +unsigned char iictimeout; + +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: r_tau0_channel0_interrupt +* Description : This function is INTTM00 interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void __near r_tau0_channel0_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + Timer_Interrupt=1; + Timer_Pro(); + /* End user code. Do not edit comment generated here */ +} + +/*********************************************************************************************************************** +* Function Name: r_tau0_channel1_interrupt +* Description : This function is INTTM01 interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void __near r_tau0_channel1_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +void Count_Down_Timer_8Bit(unsigned char *Target_Timer) +{ + if(*Target_Timer>0) + (*Target_Timer)--; +} + +void Count_Down_Timer_16Bit(unsigned int *Target_Timer) +{ + if(*Target_Timer>0) + (*Target_Timer)--; +} +void AutoLoad_CountUp_Timer_8Bit(unsigned char *Target_Timer,unsigned int Time_Limit, +unsigned char *Count,unsigned char Count_Limit) +{ + if(*Target_Timer!=Time_Limit) + (*Target_Timer)++; + else + { + (*Target_Timer)=0; + if(*Count!=Count_Limit) + (*Count)++; + else + { + *Count=0; + } + } +} +void AutoLoad_CountUp_Timer_16Bit(unsigned int *Target_Timer,unsigned int Time_Limit, +unsigned char *Count,unsigned char Count_Limit) +{ + if(*Target_Timer!=Time_Limit) + (*Target_Timer)++; + else + { + (*Target_Timer)=0; + if(*Count!=Count_Limit) + (*Count)++; + else + { + *Count=0; + } + } +} + + +void Timer_Pro(void) +{ + static unsigned int Timer_1ms_tick_count; + + Count_Down_Timer_16Bit(&air_req_timer); + Count_Down_Timer_8Bit(&iictimeout); + Count_Down_Timer_16Bit(&CAN_LostCount); + Count_Down_Timer_16Bit(&uiNwPduCycCnt); + Count_Down_Timer_16Bit(&DiagCnt); + + uiNwTimCnt++; + uiNwToutCnt++; //网络管理定时器 + if(uiNwRMSCnt > 0) + uiNwRMSCnt--; + if(uiNwLocWkpOffCnt > 0) + { + uiNwLocWkpOffCnt--; + } + + if(uiBusOffCnt > 0) + uiBusOffCnt--; + + + Timer_1ms_tick_count++; + if(Timer_1ms_tick_count%5==0) + { + Timer_5ms_flag=1; + } + if(Timer_1ms_tick_count%10==0) + { + Timer_10ms_flag=1; + } + if(Timer_1ms_tick_count%20==0) + { + Timer_20ms_flag=1; + } + if(Timer_1ms_tick_count%50==0) + { + Timer_50ms_flag=1; + } + if(Timer_1ms_tick_count%1000==0) + { + Timer_1000ms_flag = 1; + } + if(Timer_1ms_tick_count>=5000) + { + Timer_1ms_tick_count=0; + } + Can_1ms_count_alive++; + if(BusOff_Detect_delay_count>0) + { + BusOff_Detect_delay_count--; + } + if(Timer_Interrupt) + { + Timer_Interrupt=0; + Timer_1ms_flag=1; + + } +} +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_userdefine.h b/ECU_APP/r_cg_userdefine.h new file mode 100644 index 0000000..e1f7cd1 --- /dev/null +++ b/ECU_APP/r_cg_userdefine.h @@ -0,0 +1,76 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_userdefine.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file includes user definition. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +#ifndef _USER_DEF_H +#define _USER_DEF_H + +/*********************************************************************************************************************** +User definitions +***********************************************************************************************************************/ + +/* Start user code for function. Do not edit comment generated here */ + +typedef struct{ + uint8_t RspData[8]; + uint8_t AckReq; + uint8_t AckLenth; + uint8_t boot_enable; + uint8_t RunAir; + uint8_t RstSrc; + uint8_t KeyErrTimes; + uint8_t SeedReqTimes; +}KamData_t; + +#define WDT_RST 0x10 +#define RPRGRM_REQ_VALID 0xA5 +#define RUN_IN_BOOT 0x00 +#define RUN_IN_APP 0xA5 +#define ACK_REQ 0xA5 + +#define GetAppValid() (*(__far uint32 *)0xA100) +#define GetAppEndValid() (*(__far uint32 *)0x19FF0) + +#define DID_0200_ADDR 0x1A000 +#define DID_0201_ADDR 0x1A008 + +#define DID_F180_ADDR 0x19C20 +#define DID_F193_ADDR 0x19C00 + +#define DIAGNOSE_STD_V_H (0x03) /* 客户诊断标准版本号 */ +#define DIAGNOSE_STD_V_L (0x02) + +#define DIAGNOSE_PARAMETER_V_H (0x01) /* 诊断调查表版本号 */ +#define DIAGNOSE_PARAMETER_V_L (0x08) + +extern KamData_t KamData; + +void hdwinit(void); +void CAN_Pin_init(void); + +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_wdt.c b/ECU_APP/r_cg_wdt.c new file mode 100644 index 0000000..20b216a --- /dev/null +++ b/ECU_APP/r_cg_wdt.c @@ -0,0 +1,78 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_wdt.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for WDT module. +* Creation Date: 2023-07-07 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_wdt.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_WDT_Create +* Description : This function initializes the watchdogtimer. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_WDT_Create(void) +{ + WDTIMK = 1U; /* disable INTWDTI interrupt */ + WDTIIF = 0U; /* clear INTWDTI interrupt flag */ + /* Set INTWDTI low priority */ + WDTIPR1 = 1U; + WDTIPR0 = 1U; + WDTIMK = 0U; /* enable INTWDTI interrupt */ +} + +/*********************************************************************************************************************** +* Function Name: R_WDT_Restart +* Description : This function restarts the watchdog timer. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_WDT_Restart(void) +{ + WDTE = 0xACU; /* restart watchdog timer */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_cg_wdt.h b/ECU_APP/r_cg_wdt.h new file mode 100644 index 0000000..6dbdab3 --- /dev/null +++ b/ECU_APP/r_cg_wdt.h @@ -0,0 +1,52 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_wdt.h +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for WDT module. +* Creation Date: 2023-07-07 +***********************************************************************************************************************/ + +#ifndef WDT_H +#define WDT_H + +/*********************************************************************************************************************** +Macro definitions (Register bit) +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Macro definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Typedef definitions +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Global functions +***********************************************************************************************************************/ +void R_WDT_Create(void); +void R_WDT_Restart(void); + +/* Start user code for function. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#endif diff --git a/ECU_APP/r_cg_wdt_user.c b/ECU_APP/r_cg_wdt_user.c new file mode 100644 index 0000000..eb220e6 --- /dev/null +++ b/ECU_APP/r_cg_wdt_user.c @@ -0,0 +1,64 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_cg_wdt_user.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements device driver for WDT module. +* Creation Date: 2023-07-07 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_wdt.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +#pragma interrupt r_wdt_interrupt(vect=INTWDTI) +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: r_wdt_interrupt +* Description : This function is INTWDTI interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +static void __near r_wdt_interrupt(void) +{ + /* Start user code. Do not edit comment generated here */ + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_main.c b/ECU_APP/r_main.c new file mode 100644 index 0000000..62118fc --- /dev/null +++ b/ECU_APP/r_main.c @@ -0,0 +1,185 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_main.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements main function. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +#include "r_cg_port.h" +#include "r_cg_adc.h" +#include "r_cg_timer.h" +/* Start user code for include. Do not edit comment generated here */ +#include "r_rl78_can_drv.h" +#include "r_rl78_can_sfr.h" +#include "RL78_RCAN.h" +#include "appTask.h" +#include "can_user.h" +#include "extern.h" +#include "PINdef.h" +#include "hwCtrl.h" +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +#pragma section bss KAM_SEG + KamData_t KamData; +#pragma section + +unsigned int delay_count; +/* End user code. Do not edit comment generated here */ +void R_MAIN_UserInit(void); + +/*********************************************************************************************************************** +* Function Name: main +* Description : This function implements main function. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void main(void) +{ + R_MAIN_UserInit(); + /* Start user code. Do not edit comment generated here */ + //ADCE = 1U; //ADM0????????¨???1?????????A/D??????????????¨????????? + + /* + POWER_UP_DELAY_CNT=POWER_UP_DELAY_TIME; //????????????é??é?????????????¨?????? + POWER_UP_STATUS=1; + EEL_READ(); //????????°???é????? + R_TAU0_Channel0_Start(); + R_TAU0_Channel2_Start(); + + TB9102_Enable=1; + TB9102_MODE=1; + RecFreSetOld=0xff; //????§?????????????????????§???? + ModeSetOld=0xff; + TempSetOld=0xff; + Can_Msg_Change_1(); //can??????????§???? + */ + /* + R_TAU0_Channel0_Start();//timer + + + + + C0CTRH &= ~0x0300; // ?????????????¨???? + TransmitCAN_Message(0x7FB,8,KamData.RspData); //??????????????????? + + C0CTRH &= ~0x0300; // ?????????????¨???? + + + + */ + if(KamData.AckReq == ACK_REQ) + { + //FlgTemp = 1; + C0CTRH &= ~0x0300; // ?????????????¨???? + TransmitCAN_Message(CANTP_RESP_CANID,8,KamData.RspData); //??????????????????? + } + value_init(); + while (1U) + { + R_WDT_Restart(); + Apply_task(); + } + /* End user code. Do not edit comment generated here */ +} + +/*********************************************************************************************************************** +* Function Name: R_MAIN_UserInit +* Description : This function adds user code before implementing main function. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_MAIN_UserInit(void) +{ + /* Start user code. Do not edit comment generated here */ + //hdwinit(); + + DID_data_save_init(); //?????? + InitDcm_Parameter(); + InitCanTp_Parameter(); + CAN_Pin_init(); + CAN_TX_MESSAGE_INIT(); + CanNwInit();//é??????????????é??????????????CanNwInit(); ???é????¨CanUserInit(); ???é??????§?????????????CAN???????????°?????? + R_TAU0_Channel0_Start(); + CAN_STB = 0; + CanUserInit(); + + R_ADC_Set_OperationOn(); + R_ADC_Start(); + R_TAU0_Channel1_Start(); + + //C0CTRHH = 0x03; //????§????é????¤????????????????¨???? + //C0CTRLL = 0x00; + + EI(); + /* End user code. Do not edit comment generated here */ +} + +/* Start user code for adding. Do not edit comment generated here */ +void CAN_Pin_init(void) +{ + PM1_bit.no0 = 0; + P1_bit.no0 = 1; + PM1_bit.no1 = 1; +} + +void test() +{ + +} + +/*********************************************************************************************************************** +* Function Name: Vectors_Isr_DefaultHandler +* Description : This function is not used default interrupt service routine. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ + +void __near Vectors_Isr_DefaultHandler (void) +{ + /*disable interrupts*/ + // __DI(); + + /* halt system or wait for watchdog reset*/ + // while(1) + { + __nop(); + } +} +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/r_systeminit.c b/ECU_APP/r_systeminit.c new file mode 100644 index 0000000..5156cb1 --- /dev/null +++ b/ECU_APP/r_systeminit.c @@ -0,0 +1,91 @@ +/*********************************************************************************************************************** +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. +* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all +* applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED +* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY +* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, +* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR +* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability +* of this software. By using this software, you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +* File Name : r_systeminit.c +* Version : CodeGenerator for RL78/F13 V2.03.07.02 [08 Nov 2021] +* Device(s) : R5F10BBG +* Tool-Chain : CCRL +* Description : This file implements system initializing function. +* Creation Date: 2023-08-18 +***********************************************************************************************************************/ + +/*********************************************************************************************************************** +Includes +***********************************************************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_cg_cgc.h" +#include "r_cg_port.h" +#include "r_cg_adc.h" +#include "r_cg_timer.h" +/* Start user code for include. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ +#include "r_cg_userdefine.h" + +/*********************************************************************************************************************** +Pragma directive +***********************************************************************************************************************/ +/* Start user code for pragma. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +Global variables and functions +***********************************************************************************************************************/ +/* Start user code for global. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ + +/*********************************************************************************************************************** +* Function Name: R_Systeminit +* Description : This function initializes every macro. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void R_Systeminit(void) +{ + /* Set periperal I/O redirection */ + PIOR4 = 0x00U; + PIOR5 = 0x00U; + PIOR7 = 0x00U; + R_CGC_Get_ResetSource(); + R_CGC_Create(); + R_PORT_Create(); + R_ADC_Create(); + R_TAU0_Create(); + R_TMR_RD0_Create(); + R_TMR_RD1_Create(); + + /* Set invalid memory access detection control */ + IAWCTL = 0x00U; +} + + +/*********************************************************************************************************************** +* Function Name: hdwinit +* Description : This function initializes hardware setting. +* Arguments : None +* Return Value : None +***********************************************************************************************************************/ +void hdwinit(void) +{ + DI(); + R_Systeminit(); +} + +/* Start user code for adding. Do not edit comment generated here */ +/* End user code. Do not edit comment generated here */ diff --git a/ECU_APP/rscan_driver/RL78_RCAN.c b/ECU_APP/rscan_driver/RL78_RCAN.c new file mode 100644 index 0000000..f1686a6 --- /dev/null +++ b/ECU_APP/rscan_driver/RL78_RCAN.c @@ -0,0 +1,60 @@ +/******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ +/******************************************************************************* +* File Name : RL78_RCAN.c +* Version : 1.0 +* Description : This is source file for CAN configuration. +******************************************************************************/ +/***************************************************************************** +* History : DD.MM.YYYY Version Description +* : 03.29.2013 1.00 First Release +******************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_rl78_can_drv.h" +#include "r_rl78_can_sfr.h" +#include "RL78_RCAN.h" + + + +#if CAN_RX_RULE_NUM > 0 + + +const uint16_t g_rxrule_table[CAN_RX_RULE_NUM][6] = { + /* IDL IDH IDL_MASK IDH_MASK Store data filter */ + { 0x0741U, 0x0000U, 0xFFFFU, 0xDFFFU, 0x8002U, 0x8001U }, + { 0x07DFU, 0x0000U, 0xFFFFU, 0xDFFFU, 0x8102U, 0x8002U }, + { 0x0403U, 0x0000U, 0xFFFFU, 0xDFFFU, 0x8202U, 0x8003U }, + { 0x026DU, 0x0000U, 0xFFFFU, 0xDFFFU, 0x8302U, 0x8004U }, + { 0x0400U, 0x0000U, 0x0000U, 0xD480U, 0x8402U, 0x8005U }, //NW PDU + +}; + + +#endif + +const uint8_t g_rxfifo0_use_mode = CAN_USE; +const uint8_t g_rxfifo1_use_mode = CAN_USE; + +const uint8_t g_trfifo_use_mode = CAN_USE_TX_MODE; + diff --git a/ECU_APP/rscan_driver/RL78_RCAN.h b/ECU_APP/rscan_driver/RL78_RCAN.h new file mode 100644 index 0000000..8639e14 --- /dev/null +++ b/ECU_APP/rscan_driver/RL78_RCAN.h @@ -0,0 +1,111 @@ +/******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ +/******************************************************************************* +* File Name : RL78_RCAN.h +* Version : 1.0 +* Description : This is include file for CAN configuration. +******************************************************************************/ +/***************************************************************************** +* History : DD.MM.YYYY Version Description +* : 03.29.2013 1.00 First Release +******************************************************************************/ +#ifndef RL78_RCAN_H +#define RL78_RCAN_H + +//#define demo1 + + +#define CAN_ENABLE 1U +#define CAN_DISABLE 0U + +/* ---- Global setting ---- */ +#define CAN_CFG_TX_PRIORITY CAN_TX_ID_FIRST +#define CAN_CFG_DLC_CHECK CAN_ENABLE +#define CAN_CFG_DLC_REPLACE CAN_DISABLE +#define CAN_CFG_MIRROR CAN_DISABLE +#define CAN_CFG_CLOCK CAN_SOURCE_PCLOCK_2 +#define CAN_CFG_TS_CLOCK CAN_TS_PCLOCK_2 +#define CAN_CFG_TS_PR CAN_TS_16_DIV +#define CAN_CFG_IT_PR 0U + +#define CAN_CFG_OVERFLOW_IE CAN_DISABLE +#define CAN_CFG_MSG_LOST_IE CAN_ENABLE +#define CAN_CFG_DLC_ERROR_IE CAN_ENABLE + +/* ---- Rx rule ---- */ +#define CAN_RX_RULE_NUM_CH0 (5U) +#define CAN_RX_RULE_NUM CAN_RX_RULE_NUM_CH0 + +/* ---- Rx buffer ---- */ +#define CAN_CFG_RBNUM (4U) + +/* ---- RxFIFO ---- */ +#define CAN_CFG_RXFIFO0 \ + CAN_CFG_RXFIFO(CAN_FIFO_DEPTH_0, CAN_ENABLE, \ + CAN_FIFO_INT_EACH_MSG, CAN_FIFO_THRESHOLD_1_8) + +#define CAN_CFG_RXFIFO1 \ +CAN_CFG_RXFIFO(CAN_FIFO_DEPTH_8, CAN_ENABLE, \ + CAN_FIFO_INT_EACH_MSG, CAN_FIFO_THRESHOLD_1_8) + +/* ---- Register value ---- */ +#define CAN_CFG_GLB_CFGL \ + CAN_CFG_GCFGL(CAN_CFG_TX_PRIORITY, \ + CAN_CFG_DLC_CHECK, CAN_CFG_DLC_REPLACE, \ + CAN_CFG_MIRROR, CAN_CFG_CLOCK, \ + CAN_CFG_TS_CLOCK, CAN_CFG_TS_PR) + +#define CAN_CFG_GLB_CFGH \ + CAN_CFG_GCFGH(CAN_CFG_IT_PR) + +#define CAN_CFG_GLB_ERR_INT \ + CAN_CFG_GCTRL(CAN_CFG_OVERFLOW_IE, \ + CAN_CFG_MSG_LOST_IE, CAN_CFG_DLC_ERROR_IE) + +#define CAN_CFG_RN0 (CAN_RX_RULE_NUM_CH0) + +/* ---- Channel 0 setting ---- */ +#define CAN_CFG_C0_FUNC_L \ + CAN_CFG_FUNCL(CAN_ENABLE, CAN_ENABLE, CAN_ENABLE, CAN_ENABLE, \ + CAN_ENABLE, CAN_ENABLE, CAN_ENABLE, CAN_ENABLE) + +#define CAN_CFG_C0_FUNC_H \ + CAN_CFG_FUNCH(CAN_ENABLE, CAN_BOFF_RECOVERY_START_ENTRY, CAN_ERRDISP_ALL_ERR) + +#define CAN_CFG_C0_BAUDRATE_L \ + CAN_CFG_BAUDRATEL(1U) + +#define CAN_CFG_C0_BAUDRATE_H \ + CAN_CFG_BAUDRATEH(CAN_TSEG1_11TQ, CAN_TSEG2_4TQ, CAN_SJW_2TQ) + +#define CAN_CFG_C0_TRFIFO0_L \ + CAN_CFG_TRFIFO_TXL(CAN_FIFO_DEPTH_8, CAN_ENABLE, \ + CAN_FIFO_INT_EACH_MSG) + +#define CAN_CFG_C0_TRFIFO0_H \ + CAN_CFG_TRFIFO_TXH(CAN_TX_BUFFER_0, 0, 0) + +#define CAN_CFG_C0_TXBUF_IE (0x000EU) + +#endif diff --git a/ECU_APP/rscan_driver/RL78_RCAN.xml b/ECU_APP/rscan_driver/RL78_RCAN.xml new file mode 100644 index 0000000..1adbc8d --- /dev/null +++ b/ECU_APP/rscan_driver/RL78_RCAN.xml @@ -0,0 +1,58 @@ + + + false + + RL78/F14 + R5F10PXX + 20 + 16 + 1 + + + ID_FIRST + true + false + false + PCLOCK_2 + 20 + 16 + false + 1 + PCLOCK_2 + TS_16_DIV + true + true + + 2 + + + + true + + + + + + + + + + + + + + + true + true + true + true + true + true + true + true + ISO11898 + ALL_ERR + + + + \ No newline at end of file diff --git a/ECU_APP/rscan_driver/r_rl78_can_drv.c b/ECU_APP/rscan_driver/r_rl78_can_drv.c new file mode 100644 index 0000000..e97ef53 --- /dev/null +++ b/ECU_APP/rscan_driver/r_rl78_can_drv.c @@ -0,0 +1,892 @@ +/******************************************************************************* + * DISCLAIMER + * This software is supplied by Renesas Electronics Corporation and is only + * intended for use with Renesas products. No other uses are authorized. This + * software is owned by Renesas Electronics Corporation and is protected under + * all applicable laws, including copyright laws. + * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING + * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT + * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. + * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS + * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE + * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR + * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE + * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + * Renesas reserves the right, without notice, to make changes to this software + * and to discontinue the availability of this software. By using this software, + * you agree to the additional terms and conditions found by accessing the + * following link: + * http://www.renesas.com/disclaimer + * + * Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. + *******************************************************************************/ +/******************************************************************************* + * File Name : r_rl78_can_drv.c + * Version : 1.0 + * Description : This is source file for CAN driver code. + ******************************************************************************/ +/***************************************************************************** + * History : DD.MM.YYYY Version Description + * : 29.03.2013 1.00 First Release + ******************************************************************************/ + +/***************************************************************************** + Includes , "Project Includes" + *****************************************************************************/ +#include "r_cg_macrodriver.h" +#include "r_rl78_can_drv.h" +#include "r_rl78_can_sfr.h" +#include "RL78_RCAN.h" + +/***************************************************************************** + Typedef definitions + *****************************************************************************/ + +/***************************************************************************** + Macro definitions + *****************************************************************************/ + +#define CAN_FIFO_PTR_INC 0xffUL + +#define CAN_8_BITS_MASK 0x00FFU + +/***************************************************************************** + Private variables and functions + *****************************************************************************/ + +/***************************************************************************** + Exported global variables and functions (to be accessed by other files) + *****************************************************************************/ + +/****************************************************************************** + * Function Name: R_Can_Init + * Description : Initialize CAN controller after reset + * Arguments : none + * Return Value : CAN_RTN_OK - + * normal completion + * CAN_RTN_RAM_INIT - + * CAN RAM initializing + * CAN_RTN_MODE_WAIT - + * wait to change global mode or channel mode + ******************************************************************************/ +volatile can_rxrule_sfr_t *p_RxRuleSfr; // +Can_RtnType R_CAN_Init(void) +{ + + /* ==== CAN RAM initialization ==== */ + if ((GSTS & CAN_RAM_INIT_BIT_ON) != 0U) /*GSTS&0x80, waiting CAN RAM initialization completed*/ + { + return CAN_RTN_RAM_INIT; /* return 05U */ + } + + /* ==== global mode switch (stop->reset) ==== */ + if ((GSTS & CAN_GLB_STP_STS_BIT_ON) != 0U) /*GSTS&0x04, judgment global in stop mode*/ + { + /* exit global stop mode */ + GCTRL &= (uint16_t) ~(CAN_GLB_STP_BIT_ON); /* not in global stop mode*/ + if ((GSTS & CAN_GLB_STP_STS_BIT_ON) != 0U) /*if still in stop mode*/ + { + return CAN_RTN_MODE_WAIT; /* return 04u*/ + } + } + + /* ==== channel mode switch ==== */ + /* --- switch from channel stop mode ---- */ + if ((C0STSL & CAN_STP_STS_BIT_ON) != 0U) /* C0STSL & 0x04; judgment in channel stop mode*/ + { + /* exit channel stop mode */ + C0CTRL &= (uint16_t) ~(CAN_STP_BIT_ON); /* C0STSL & 0xFB; not in stop mode*/ + if ((C0STSL & CAN_STP_STS_BIT_ON) != 0U) + { + return CAN_RTN_MODE_WAIT; /* return 04u*/ + } + } + + /* ==== global function setting ==== */ + GCFGL = CAN_CFG_GLB_CFGL; /*ID priority, DLC check is disable, DLC replacment is disable + Mirror function is disabled, clock obtained by frequency-dividing Fclk by 2*/ + GCFGH = CAN_CFG_GLB_CFGH; /*0x0000*/ + // fcl/2--32M/2--16M + /* ==== communication speed setting: 500K ==== 16M/2/(11+4+1)=500K*/ + // C0CFGL = CAN_CFG_C0_BAUDRATE_L; /*0x0001 Prescaler:2 */ + C0CFGL = 0x1; // 500K + // C0CFGL = 0x3; //250K + C0CFGH = CAN_CFG_C0_BAUDRATE_H; /*CAN_TSEG1_11TQ, CAN_TSEG2_4TQ, CAN_SJW_2TQ*/ + // C0CFGH = 0x022B; //TSEG1:0B,TSEG2:02,sample point=(12+1)/(12+3+1)=81.25% + /* ==== Rx rule setting ==== */ +#if CAN_RX_RULE_NUM > 0 + { + // volatile can_rxrule_sfr_t * p_RxRuleSfr; // + uint16_t temp_rpage; + uint16_t rxrule_idx; + + /* ---- Set Rx rule number per channel ---- */ + GAFLCFG = CAN_CFG_RN0; /*CAN_CFG_RN0=0x04*/ + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 0 ---- */ + GRWCR &= (uint16_t) ~(CAN_RAM_WINDOW_BIT_ON); /*Setting GRWCR=0; Select window 0*/ + + /* ---- Copy Rx rule one by one ---- */ /////////////////////////////// + + p_RxRuleSfr = (volatile can_rxrule_sfr_t *)&GAFLIDL0; //__near + + for (rxrule_idx = 0U; rxrule_idx < CAN_RX_RULE_NUM; rxrule_idx++) + { + + /* Set a single Rx rule */ + p_RxRuleSfr->IDL = g_rxrule_table[rxrule_idx][0]; + p_RxRuleSfr->IDH = g_rxrule_table[rxrule_idx][1]; + p_RxRuleSfr->ML = g_rxrule_table[rxrule_idx][2]; + p_RxRuleSfr->MH = g_rxrule_table[rxrule_idx][3]; + p_RxRuleSfr->PL = g_rxrule_table[rxrule_idx][4]; + p_RxRuleSfr->PH = g_rxrule_table[rxrule_idx][5]; + + /* Next sfr */ + p_RxRuleSfr++; + } + + /* ---- restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } +#endif /* CAN_RX_RULE_NUM > 0 */ + + /* ==== buffer setting ==== */ + /* ---- Set Rx buffer number ---- */ + RMNB = CAN_CFG_RBNUM; + + /* ---- Set Rx FIFO buffer ---- */ + RFCC0 = CAN_CFG_RXFIFO0; + RFCC1 = CAN_CFG_RXFIFO1; + + /* ---- Set common (Tx/Rx) FIFO buffer ---- */ + CFCCL0 = CAN_CFG_C0_TRFIFO0_L; + CFCCH0 = CAN_CFG_C0_TRFIFO0_H; + + /* ---- Tx buffer transmission complete interrupt ---- */ + TMIEC = CAN_CFG_C0_TXBUF_IE; + + /* ==== global error interrupt setting ==== */ + GCTRL = (GCTRL & (CAN_GLB_STP_BIT_ON | CAN_GLB_MODE_BITS_ON)) + CAN_CFG_GLB_ERR_INT; + + /* ==== channel function setting ==== */ + C0CTRL = (C0CTRL & (CAN_STP_BIT_ON | CAN_MODE_BITS_ON)) + CAN_CFG_C0_FUNC_L; + //C0CTRLL = 0x02; + C0CTRH = C0CTRH + CAN_CFG_C0_FUNC_H; + //C0CTRH |= 0x300; + + enable_interrupt_request_mask(); + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_GlobalStart + * Description : Start global operation + * Arguments : none + * Return Value : CAN_RTN_OK - + * normal completion + * CAN_RTN_MODE_WAIT - + * wait to change global mode + ******************************************************************************/ +Can_RtnType R_CAN_GlobalStart(void) +{ + + /* ==== switch to global operation mode from global reset mode ==== */ + if ((GSTS & CAN_GLB_RST_STS_BIT_ON) != 0U) /*in global reset mode*/ + { + GCTRL = ((GCTRL & (uint16_t)~CAN_GLB_MODE_BITS_ON) | + CAN_GLB_OPERATION_MODE); + if ((GSTS & CAN_GLB_RST_STS_BIT_ON) != 0U) + { + return CAN_RTN_MODE_WAIT; + } + } + + /* ==== Global error ==== */ + GERFLL = 0x0U; /*clear DLC error flag*/ + + /* ==== enable reception FIFO ==== */ + if (g_rxfifo0_use_mode != CAN_NOUSE) + { + RFCC0 |= CAN_RFIFO_EN_BIT_ON; + } + + if (g_rxfifo1_use_mode != CAN_NOUSE) + { + RFCC1 |= CAN_RFIFO_EN_BIT_ON; + } + + /* ==== Tx/Rx FIFO setting ==== */ + /* ---- enable Tx/Rx FIFO (Rx mode) ---- */ + if (g_trfifo_use_mode == CAN_USE_RX_MODE) + { + CFCCL0 |= CAN_TRFIFO_EN_BIT_ON; + } + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_ChStart_CH0 + * Description : Start channel operation (Channel 0) + * Arguments : none + * Return Value : CAN_RTN_OK - + * normal completion + * CAN_RTN_MODE_WAIT - + * wait to change channel mode + ******************************************************************************/ +Can_RtnType R_CAN_ChStart_CH0(void) +{ + /* ---- switch to channel operation mode ---- */ + if ((C0STSL & CAN_RST_STS_BIT_ON) != 0U) + { + C0CTRL = (C0CTRL & (uint16_t)~CAN_MODE_BITS_ON) | CAN_MODE_CH_COMM_MODE; + if ((C0STSL & CAN_RST_STS_BIT_ON) != 0U) + { + return CAN_RTN_MODE_WAIT; + } + } + + /* ---- enable Tx/Rx FIFO (Tx mode) ---- */ + if (g_trfifo_use_mode == CAN_USE_TX_MODE) + { + CFCCL0 |= CAN_TRFIFO_EN_BIT_ON; + } + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_TrmByTxBuf_CH0 + * Description : Transmit a frame by Tx buffer (Channel 0) + * Arguments : txbuf_idx - + * Tx buffer index + * pFrame - + * pointer to frame to be transmitted + * Return Value : CAN_RTN_OK - + * normal completion + * CAN_RTN_STS_ERROR - + * failure to clear Tx buffer status + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_TrmByTxBuf_CH0(can_txbuf_t txbuf_idx, + const can_frame_t *pFrame) +{ +#if defined(__CHECK__) + /* ---- Check Tx buffer index ---- */ + if (txbuf_idx >= CAN_MAX_TXBUF_NUM) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Clear Tx buffer status ---- */ + { + volatile uint8_t *p_TMSTSp; //__near + + p_TMSTSp = CAN_ADDR_TMSTSp(txbuf_idx); + *p_TMSTSp = 0x0U; + if (*p_TMSTSp != 0x0U) + { + return CAN_RTN_STS_ERROR; + } + } + + /* ---- Store message to tx buffer ---- */ + { + volatile can_frame_sfr_t *p_TxMsgSfr; // __near + uint16_t temp_rpage; + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Set frame data ---- */ + p_TxMsgSfr = CAN_ADDR_TMIDLp(txbuf_idx); + p_TxMsgSfr->IDL = ((can_frame_sfr_t *)pFrame)->IDL; + p_TxMsgSfr->IDH = ((can_frame_sfr_t *)pFrame)->IDH; + p_TxMsgSfr->PTR = ((can_frame_sfr_t *)pFrame)->PTR; + p_TxMsgSfr->DF0 = ((can_frame_sfr_t *)pFrame)->DF0; + p_TxMsgSfr->DF1 = ((can_frame_sfr_t *)pFrame)->DF1; + p_TxMsgSfr->DF2 = ((can_frame_sfr_t *)pFrame)->DF2; + p_TxMsgSfr->DF3 = ((can_frame_sfr_t *)pFrame)->DF3; + + /* ---- Restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Set transmission request ---- */ + TMCp(txbuf_idx) = CAN_TXBUF_TRM_BIT_ON; + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_AbortTrm_CH0 + * Description : Abort a CAN transmission (Channel 0) + * Arguments : txbuf_idx - + * Tx buffer index + * Return Value : CAN_RTN_OK - + * normal completion + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_AbortTrm_CH0(can_txbuf_t txbuf_idx) +{ +#if defined(__CHECK__) + /* ---- Check Tx buffer index ---- */ + if (txbuf_idx >= CAN_MAX_TXBUF_NUM) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Set transmission abort request ---- */ + TMCp(txbuf_idx) |= CAN_TXBUF_ABT_BIT_ON; + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_CheckTxBufResult_CH0 + * Description : Read the result of transmission from Tx buffer (Channel 0) + * Arguments : txbuf_idx - + * Tx buffer index + * Return Value : CAN_RTN_TRANSMITTING - + * Transmission is in progress + * or no transmit request is present. + * CAN_RTN_TX_ABORT_OVER - + * Transmit abort has been completed. + * CAN_RTN_TX_END - + * Transmission has been completed + * (without transmit abort request). + * CAN_RTN_TX_END_WITH_ABORT_REQ - + * Transmission has been completed + * (with transmit abort request). + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_CheckTxBufResult_CH0(can_txbuf_t txbuf_idx) +{ + Can_RtnType rtn_value; + + volatile uint8_t *p_TMSTSp; //__near + +#if defined(__CHECK__) + /* ---- Check Tx buffer index ---- */ + if (txbuf_idx >= CAN_MAX_TXBUF_NUM) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + p_TMSTSp = CAN_ADDR_TMSTSp(txbuf_idx); + + rtn_value = (Can_RtnType)((*p_TMSTSp & CAN_TXBUF_RSLT_BITS_ON) >> CAN_TXBUF_RSLT_BITS_POS); + + /* ---- Tx transmission completed/abort? ---- */ + if (rtn_value != CAN_RTN_TRANSMITTING) + { + /* Clear Tx buffer status */ + *p_TMSTSp = 0x0U; + } + + return rtn_value; +} + +/****************************************************************************** + * Function Name: R_CAN_TrmByTRFIFO0_CH0 + * Description : Transmit a frame by common (Tx/Rx) FIFO 0 (Channel 0) + * Arguments : ch_idx - + * channel index + * trfifo_idx - + * Tx/Rx FIFO index + * pFrame - + * pointer to frame to be transmitted + * Return Value : CAN_RTN_OK - + * Frame is successfully pushed into FIFO. + * CAN_RTN_FIFO_FULL - + * Specified FIFO is full. + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_TrmByTRFIFO0_CH0(const can_frame_t *pFrame) +{ +#if defined(__CHECK__) + /* ---- Check Tx/Rx FIFO 0 mode ---- */ + if (g_trfifo_use_mode != CAN_USE_TX_MODE) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Return if Tx/Rx FIFO is full ---- */ + if ((CFSTS0 & CAN_TRFIFO_FULL_BIT_ON) != 0) + { + return CAN_RTN_FIFO_FULL; + } + + /* ---- Send message into Tx/Rx FIFO if it is not full ---- */ + { + uint16_t temp_rpage; + + /* ---- save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Set frame data ---- */ + CFIDL0 = ((can_frame_sfr_t *)pFrame)->IDL; + CFIDH0 = ((can_frame_sfr_t *)pFrame)->IDH; + CFPTR0 = ((can_frame_sfr_t *)pFrame)->PTR; + CFDF00 = ((can_frame_sfr_t *)pFrame)->DF0; + CFDF10 = ((can_frame_sfr_t *)pFrame)->DF1; + CFDF20 = ((can_frame_sfr_t *)pFrame)->DF2; + CFDF30 = ((can_frame_sfr_t *)pFrame)->DF3; + + /* ---- restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Increment Tx/Rx FIFO buffer pointer ---- */ + CFPCTR0 = CAN_FIFO_PTR_INC; + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadRxBuffer + * Description : Read message from Rx buffer + * Arguments : p_rxbuf_idx - + * pointer to Rx buffer that receives frame + * pFrame - + * pointer to stored frame position + * Return Value : CAN_RTN_OK - + * A frame is successfully read out. + * CAN_RTN_BUFFER_EMPTY - + * No frame is read out. + * CAN_RTN_STS_ERROR - + * failure to clear Rx complete flag + * CAN_RTN_OVERWRITE - + * A frame is overwritten. + ******************************************************************************/ +Can_RtnType R_CAN_ReadRxBuffer(uint8_t *p_rxbuf_idx, can_frame_t *pFrame) +{ + uint8_t buf_idx; + uint16_t temp_rbrcf; + uint16_t pattern; + + /* ---- Judge if new messages are available ---- */ + temp_rbrcf = RMND0; + if (temp_rbrcf == 0) + { + return CAN_RTN_BUFFER_EMPTY; + } + + /* ---- Get Rx buffer that has new message ---- */ + if (temp_rbrcf != 0) + { + pattern = 1; + for (buf_idx = 0U; buf_idx < 16U; ++buf_idx) + { + if ((temp_rbrcf & pattern) != 0) + { + *p_rxbuf_idx = buf_idx; + break; + } + pattern <<= 1; + } + } + + /* ---- Clear Rx complete flag of corresponding Rx buffer ---- */ + RMND0 &= (uint16_t)~pattern; + if ((RMND0 & pattern) != 0) + { + return CAN_RTN_STS_ERROR; + } + + /* ---- Read out message from Rx buffer ---- */ + { + volatile can_frame_sfr_t *p_RxBufSfr; // __near + uint16_t temp_rpage; + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Read frame data ---- */ + p_RxBufSfr = CAN_ADDR_RMIDLp(*p_rxbuf_idx); + ((can_frame_sfr_t *)pFrame)->IDL = p_RxBufSfr->IDL; + ((can_frame_sfr_t *)pFrame)->IDH = p_RxBufSfr->IDH; + ((can_frame_sfr_t *)pFrame)->TS = p_RxBufSfr->TS; + ((can_frame_sfr_t *)pFrame)->PTR = p_RxBufSfr->PTR; + ((can_frame_sfr_t *)pFrame)->DF0 = p_RxBufSfr->DF0; + ((can_frame_sfr_t *)pFrame)->DF1 = p_RxBufSfr->DF1; + ((can_frame_sfr_t *)pFrame)->DF2 = p_RxBufSfr->DF2; + ((can_frame_sfr_t *)pFrame)->DF3 = p_RxBufSfr->DF3; + + /* ---- restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Judge if current message is overwritten ---- */ + if ((RMND0 & pattern) != 0) + { + return CAN_RTN_OVERWRITE; + } + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadRxFIFO + * Description : Read message from Rx FIFO + * Arguments : rxfifo_idx - + * Rx FIFO index + * pFrame - + * pointer to stored frame position + * Return Value : CAN_RTN_OK - + * A frame is successfully read out. + * CAN_RTN_OK_WITH_LOST - + * A frame is successfully read out (with message lost). + * CAN_RTN_BUFFER_EMPTY - + * No frame is read out. + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +extern Can_RtnType R_CAN_ReadRxFIFO0(can_frame_t *); +extern Can_RtnType R_CAN_ReadRxFIFO1(can_frame_t *); +Can_RtnType R_CAN_ReadRxFIFO(can_rxfifo_t rxfifo_idx, can_frame_t *pFrame) +{ + if (rxfifo_idx == 0) + { + return R_CAN_ReadRxFIFO0(pFrame); + } + else if (rxfifo_idx == 1) + { + return R_CAN_ReadRxFIFO1(pFrame); +#if defined(__CHECK__) + } + + else + { + return CAN_RTN_ARG_ERROR; +#endif + } + + return CAN_RTN_OK; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadRxFIFO0 + * Description : Read message from Rx FIFO 0 + * Arguments : pFrame - + * pointer to stored frame position + * Return Value : CAN_RTN_OK - + * A frame is successfully read out. + * CAN_RTN_OK_WITH_LOST - + * A frame is successfully read out (with message lost). + * CAN_RTN_BUFFER_EMPTY - + * No frame is read out. + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_ReadRxFIFO0(can_frame_t *pFrame) +{ + uint16_t temp_status; + Can_RtnType rtn_value; + +#if defined(__CHECK__) + /* ---- Check Rx FIFO 0 mode ---- */ + if ((g_rxfifo0_use_mode == CAN_NOUSE)) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Check if any unread message is available in Rx FIFO ---- */ + temp_status = RFSTS0; + if ((temp_status & CAN_RFIFO_EMPTY_BIT_ON) != 0) + { + return CAN_RTN_BUFFER_EMPTY; + } + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK; + + /* ---- Check if Rx FIFO has message lost ---- */ + if ((temp_status & CAN_RFIFO_MSGLST_BIT_ON) != 0) + { + /* ---- Clear message lost flag ---- */ + RFSTS0 = CAN_CLR_WITHOUT_RX_INT; + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK_WITH_LOST; + } + + RFSTS0 &= 0xFFF7; /*Clear RFIF receive FIFO interrupt request flag*/ + + /* ---- Read out message from Rx FIFO ---- */ + { + uint16_t temp_rpage; + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Read frame data ---- */ + ((can_frame_sfr_t *)pFrame)->IDL = RFIDL0; + ((can_frame_sfr_t *)pFrame)->IDH = RFIDH0; + ((can_frame_sfr_t *)pFrame)->TS = RFTS0; + ((can_frame_sfr_t *)pFrame)->PTR = RFPTR0; + ((can_frame_sfr_t *)pFrame)->DF0 = RFDF00; + ((can_frame_sfr_t *)pFrame)->DF1 = RFDF10; + ((can_frame_sfr_t *)pFrame)->DF2 = RFDF20; + ((can_frame_sfr_t *)pFrame)->DF3 = RFDF30; + + /* ---- Restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Increment Rx FIFO buffer pointer ---- */ + RFPCTR0 = CAN_FIFO_PTR_INC; + + return rtn_value; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadRxFIFO1 + * Description : Read message from Rx FIFO 1 + * Arguments : pFrame - + * pointer to stored frame position + * Return Value : CAN_RTN_OK - + * A frame is successfully read out. + * CAN_RTN_OK_WITH_LOST - + * A frame is successfully read out (with message lost). + * CAN_RTN_BUFFER_EMPTY - + * No frame is read out. + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_ReadRxFIFO1(can_frame_t *pFrame) +{ + uint16_t temp_status; + Can_RtnType rtn_value; + +#if defined(__CHECK__) + /* ---- Check Rx FIFO 1 mode ---- */ + if ((g_rxfifo1_use_mode == CAN_NOUSE)) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Check if any unread message is available in Rx FIFO ---- */ + temp_status = RFSTS1; + if ((temp_status & CAN_RFIFO_EMPTY_BIT_ON) != 0) + { + return CAN_RTN_BUFFER_EMPTY; + } + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK; + + /* ---- Check if Rx FIFO has message lost ---- */ + if ((temp_status & CAN_RFIFO_MSGLST_BIT_ON) != 0) + { + /* ---- Clear message lost flag ---- */ + RFSTS1 = CAN_CLR_WITHOUT_RX_INT; + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK_WITH_LOST; + } + + RFSTS1 &= ~CAN_CLR_WITHOUT_RX_INT; + /* ---- Read out message from Rx FIFO ---- */ + { + uint16_t temp_rpage; + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Read frame data ---- */ + ((can_frame_sfr_t *)pFrame)->IDL = RFIDL1; + ((can_frame_sfr_t *)pFrame)->IDH = RFIDH1; + ((can_frame_sfr_t *)pFrame)->TS = RFTS1; + ((can_frame_sfr_t *)pFrame)->PTR = RFPTR1; + ((can_frame_sfr_t *)pFrame)->DF0 = RFDF01; + ((can_frame_sfr_t *)pFrame)->DF1 = RFDF11; + ((can_frame_sfr_t *)pFrame)->DF2 = RFDF21; + ((can_frame_sfr_t *)pFrame)->DF3 = RFDF31; + + /* ---- Restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Increment Rx FIFO buffer pointer ---- */ + RFPCTR1 = CAN_FIFO_PTR_INC; + + return rtn_value; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadTRFIFO + * Description : Read message from common (Tx/Rx) FIFO + * Arguments : ch_idx - + * channel index + * trfifo_idx - + * common (Tx/Rx) FIFO index + * pFrame - + * pointer to stored frame position + * Return Value : CAN_RTN_OK - + * A frame is successfully read out. + * CAN_RTN_OK_WITH_LOST - + * A frame is successfully read out (with message lost). + * CAN_RTN_BUFFER_EMPTY - + * No frame is read out. + * CAN_RTN_ARG_ERROR - + * invalid argument specification + ******************************************************************************/ +Can_RtnType R_CAN_ReadTRFIFO0_CH0(can_frame_t *pFrame) +{ + uint16_t temp_status; + Can_RtnType rtn_value; + +#if defined(__CHECK__) + /* ---- Check Tx/Rx FIFO 0 mode ---- */ + if (g_trfifo_use_mode != CAN_USE_RX_MODE) + { + return CAN_RTN_ARG_ERROR; + } +#endif + + /* ---- Check if any unread message is available in common (Tx/Rx) FIFO ---- */ + temp_status = CFSTS0; + if ((temp_status & CAN_TRFIFO_EMPTY_BIT_ON) != 0) + { + return CAN_RTN_BUFFER_EMPTY; + } + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK; + + /* ---- Check if common (Tx/Rx) FIFO has message lost ---- */ + if ((temp_status & CAN_TRFIFO_MSGLST_BIT_ON) != 0) + { + /* ---- Clear message lost flag ---- */ + CFSTS0 = CAN_CLR_WITHOUT_TX_RX_INT; + + /* ---- Set return value ---- */ + rtn_value = CAN_RTN_OK_WITH_LOST; + } + + /* ---- Read out message from common (Tx/Rx) FIFO ---- */ + { + uint16_t temp_rpage; + + /* ---- Save value of GRWCR register ---- */ + temp_rpage = GRWCR; + + /* ---- Select window 1 ---- */ + GRWCR |= CAN_RAM_WINDOW_BIT_ON; + + /* ---- Read frame data ---- */ + ((can_frame_sfr_t *)pFrame)->IDL = CFIDL0; + ((can_frame_sfr_t *)pFrame)->IDH = CFIDH0; + ((can_frame_sfr_t *)pFrame)->TS = CFTS0; + ((can_frame_sfr_t *)pFrame)->PTR = CFPTR0; + ((can_frame_sfr_t *)pFrame)->DF0 = CFDF00; + ((can_frame_sfr_t *)pFrame)->DF1 = CFDF10; + ((can_frame_sfr_t *)pFrame)->DF2 = CFDF20; + ((can_frame_sfr_t *)pFrame)->DF3 = CFDF30; + + /* ---- Restore value of GRWCR register ---- */ + GRWCR = temp_rpage; + } + + /* ---- Increment common (Tx/Rx) FIFO buffer pointer ---- */ + CFPCTR0 = CAN_FIFO_PTR_INC; + + return rtn_value; +} + +/****************************************************************************** + * Function Name: R_CAN_ReadChStatus + * Description : Read channel status + * Arguments : none + * Return Value : channel status (<= 0xFF) - + * normal completion + ******************************************************************************/ +Can_RtnType R_CAN_ReadChStatus_CH0(void) +{ + return (Can_RtnType)(C0STSL & CAN_8_BITS_MASK); +} +/****************************************************************************** + * Function Name: R_CAN_ReadChStatus + * Description : Read channel status + * Arguments : none + * Return Value : channel status (<= 0xFF) - + * normal completion + ******************************************************************************/ +void enable_interrupt_request_mask() +{ + CAN0CFRIF = 0U; + CAN0WUPIF = 0U; + CAN0ERRIF = 0U; + CANGERRIF = 0U; + CANGRFRIF = 0U; + CAN0TRMIF = 0U; + + // CAN0CFRMK=0U; + // CAN0WUPMK=0U; + CAN0ERRMK = 0U; + CANGERRMK = 0U; + CANGRFRMK = 0U; + CAN0TRMMK = 0U; +} + +void CanUserInit(void) +{ + Can_RtnType retval; + + CAN0EN = 0; + NOP(); + /* supply CAN clock */ + CAN0EN = 1; + + /* CAN Initialize */ + retval = CAN_RTN_RAM_INIT; // CAN_RTN_RAM_INIT=5U + while (retval != CAN_RTN_OK) + { + retval = R_CAN_Init(); + } + + /* Set global operating mode */ + retval = CAN_RTN_MODE_WAIT; + while (retval == CAN_RTN_MODE_WAIT) + { + retval = R_CAN_GlobalStart(); + } + + /* CH0 -> Channel communication mode */ + retval = CAN_RTN_MODE_WAIT; + while (retval == CAN_RTN_MODE_WAIT) + { + retval = R_CAN_ChStart(CAN_CH0); + } +} diff --git a/ECU_APP/rscan_driver/r_rl78_can_drv.h b/ECU_APP/rscan_driver/r_rl78_can_drv.h new file mode 100644 index 0000000..1bf9b30 --- /dev/null +++ b/ECU_APP/rscan_driver/r_rl78_can_drv.h @@ -0,0 +1,158 @@ +/******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ +/******************************************************************************* +* File Name : r_rl78_can_drv.h +* Version : 1.0 +* Description : This is header file for CAN driver code. +******************************************************************************/ +/***************************************************************************** +* History : DD.MM.YYYY Version Description +* : 29.03.2013 1.00 First Release +******************************************************************************/ +#ifndef R_RL78_CAN_DRV_H +#define R_RL78_CAN_DRV_H + +typedef signed char CHAR; +typedef unsigned char UCHAR; +typedef signed short INT; +typedef unsigned short UINT; + +typedef unsigned int Can_RtnType; + +typedef UCHAR can_ch_t; +typedef UCHAR can_rxfifo_t; +typedef UCHAR can_trfifo_t; +typedef UCHAR can_txbuf_t; + +/* ---- Channel ---- */ +#define CAN_CH0 0U + +/* ---- Rx FIFO ---- */ +#define CAN_RXFIFO0 0U +#define CAN_RXFIFO1 1U +#define CAN_MAX_RXFIFO_NUM 2U + +/* ---- Common (Tx/Rx) FIFO ---- */ +#define CAN_TRFIFO0 0U +#define CAN_MAX_TRFIFO_NUM 1U + +/* ---- Tx buffers ---- */ +#define CAN_TXBUF0 0U +#define CAN_TXBUF1 1U +#define CAN_TXBUF2 2U +#define CAN_TXBUF3 3U +#define CAN_MAX_TXBUF_NUM 4U + +/* ---- CAN frame ----- */ +typedef struct +{ + UINT IDL:16; /* ID Data (low) */ + UINT IDH:13; /* ID Data (high) */ + UINT THDSE :1; /* Transmit History Data Store Enable */ + UINT RTR :1; /* RTR 0:Data 1:Remote */ + UINT IDE :1; /* IDE 0:Standard 1:Extend */ + UINT TS :16; /* Timestamp Data */ + UINT LBL :12; /* Label Data */ + UINT DLC :4; /* DLC Data */ + UCHAR DB[8]; /* Data Byte */ +} can_frame_t; + +#if 0 +//only for test +typedef struct _IoInput_ +{ + /*previous value,middle variable value , finally value of the switches,used for + cleaning up the botton's dithering*/ + UINT unused : 1; + UINT swIn : 1; /* Read from I/O pin.*/ + UINT in : 1; /* Used by program,related to inMode.*/ + UINT preSwIn : 1; /* Previous value read from I/O pin.*/ + + UINT preVal : 1; + UINT curVal : 1; + UINT inMode : 2; + UINT shakeCnt : 4; /* Switch shaking counter */ + UINT shakeNum : 4; /* Switvh shaking number */ +} IoInput; +#endif + +extern const UCHAR g_rxfifo0_use_mode; +extern const UCHAR g_rxfifo1_use_mode; +extern const UCHAR g_trfifo_use_mode; +extern const UCHAR g_fifo_lost_isr; +extern const UINT g_rxrule_table[][6]; + +/* ---- Configuration ---- */ +#define CAN_NOUSE 0x00U +#define CAN_USE 0x80U +#define CAN_USE_RX_MODE 0x81U +#define CAN_USE_TX_MODE 0x82U +#define CAN_USE_CH_MASK 0x07U + +/* ---- function return value ---- */ +#define CAN_RTN_OK 0U +#define CAN_RTN_OK_WITH_LOST 1U +#define CAN_RTN_FIFO_FULL 2U +#define CAN_RTN_BUFFER_EMPTY 3U +#define CAN_RTN_MODE_WAIT 4U +#define CAN_RTN_RAM_INIT 5U + +#define CAN_RTN_TRANSMITTING 0U +#define CAN_RTN_TX_ABORT_OVER 1U +#define CAN_RTN_TX_END 2U +#define CAN_RTN_TX_END_WITH_ABORT_REQ 3U + +#define CAN_RTN_ERROR (0x8000U) +#define CAN_RTN_ARG_ERROR (CAN_RTN_ERROR + 0x7FFF) +#define CAN_RTN_STS_ERROR (CAN_RTN_ERROR + 0x7FFE) +#define CAN_RTN_OVERWRITE (CAN_RTN_ERROR + 0x7FFD) +#define CAN_RTN_MODE_ERROR (CAN_RTN_ERROR + 0x7FFC) + +/****************************************************************************** +Exported global functions (to be accessed by other files) +******************************************************************************/ +extern Can_RtnType R_CAN_Init(void); +extern Can_RtnType R_CAN_GlobalStart(void); +extern Can_RtnType R_CAN_ChStart_CH0(void); +extern Can_RtnType R_CAN_TrmByTxBuf_CH0(can_txbuf_t, const can_frame_t *); +extern Can_RtnType R_CAN_AbortTrm_CH0(can_txbuf_t); +extern Can_RtnType R_CAN_CheckTxBufResult_CH0(can_txbuf_t); +extern Can_RtnType R_CAN_TrmByTRFIFO0_CH0(const can_frame_t *); +extern Can_RtnType R_CAN_ReadRxBuffer(UCHAR *, can_frame_t *); +extern Can_RtnType R_CAN_ReadRxFIFO(can_rxfifo_t, can_frame_t *); +extern Can_RtnType R_CAN_ReadTRFIFO0_CH0(can_frame_t *); +extern Can_RtnType R_CAN_ReadChStatus_CH0(void); +void enable_interrupt_request_mask(void); + +#define R_CAN_ChStart(val1) (R_CAN_ChStart_CH0()) +#define R_CAN_TrmByTxBuf(val1, val2, val3) (R_CAN_TrmByTxBuf_CH0(val2, val3)) +#define R_CAN_AbortTrm(val1, val2) (R_CAN_AbortTrm_CH0(val2)) +#define R_CAN_CheckTxBufResult(val1, val2) (R_CAN_CheckTxBufResult_CH0(val2)) +#define R_CAN_TrmByTRFIFO(val1, val2, val3) (R_CAN_TrmByTRFIFO_CH0(val3)) +#define R_CAN_ReadTRFIFO(val1, val2, val3) (R_CAN_ReadTRFIFO0_CH0(val3)) +#define R_CAN_ReadChStatus(val1) (R_CAN_ReadChStatus_CH0()) + +extern void CanUserInit(void); +extern can_frame_t frame,frame1; +#endif /* R_RL78_CAN_DRV_H */ diff --git a/ECU_APP/rscan_driver/r_rl78_can_irq.c b/ECU_APP/rscan_driver/r_rl78_can_irq.c new file mode 100644 index 0000000..10cbb66 --- /dev/null +++ b/ECU_APP/rscan_driver/r_rl78_can_irq.c @@ -0,0 +1,134 @@ +//============================================================================ +// PROJECT = RL78/F14 +//============================================================================ +// C O P Y R I G H T +//============================================================================ +// Copyright (c) 2002 by Renesas Electronics (EUROPE) GmbH. All rights reserved. +// Kanzlerstrasse 2 +// D-40472 Duesseldorf +//============================================================================ +// Purpose: RSCAN Interrupt Vectors +// +// Warranty Disclaimer +/******************************************************************************* + * DISCLAIMER + * This software is supplied by Renesas Electronics Corporation and is only + * intended for use with Renesas products. No other uses are authorized. This + * software is owned by Renesas Electronics Corporation and is protected under + * all applicable laws, including copyright laws. + * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING + * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT + * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE + * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. + * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS + * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE + * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR + * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE + * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + * Renesas reserves the right, without notice, to make changes to this software + * and to discontinue the availability of this software. By using this software, + * you agree to the additional terms and conditions found by accessing the + * following link: + * http://www.renesas.com/disclaimer + * + * Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. + *******************************************************************************/ +/******************************************************************************* + * File Name : RL78_RCAN.c + * Version : 1.0 + * Description : This is source file for CAN configuration. + ******************************************************************************/ +/***************************************************************************** + * History : DD.MM.YYYY Version Description + * : 03.29.2013 1.00 First Release + ******************************************************************************/ + +/*===========================================================================*/ +/* Includes */ +/*===========================================================================*/ + +#include "r_cg_macrodriver.h" +#include "r_cg_userdefine.h" +#include "r_rl78_can_sfr.h" +#include "r_rl78_can_drv.h" +#include "can_user.h" +#include "dcm.h" +#include "CanNw.h" +#include "Dcm_App.h" + +#if DEBUG +#pragma interrupt RSCAN_INTCANGERR_interrupt(vect = INTCANGERR) +#pragma interrupt RSCAN_INTCANGRECC_interrupt(vect = INTCANGRFR) +#pragma interrupt RSCAN_INTCAN0ERR_interrupt(vect = INTCAN0ERR) +#pragma interrupt RSCAN_INTCAN0REC_interrupt(vect = INTCAN0CFR) +#pragma interrupt RSCAN_INTCAN0TRX_interrupt(vect = INTCAN0TRM) + +#endif +unsigned char CAN_data_buf[8]; +/*CAN global error*/ +void __near RSCAN_INTCANGERR_interrupt(void) +{ +} + +/*CAN global reveive FIFO*/ +void __near RSCAN_INTCANGRECC_interrupt(void) +{ + + CAN_LostCount = 500; + R_CAN_ReadRxFIFO(CAN_RXFIFO1, &RxCanMessage); + if ((RxCanMessage.IDL == CANTP_ADDR_PHY_REQ) || (RxCanMessage.IDL == CANTP_ADDR_FUNC_REQ)) + { + if (RxCanMessage.IDL == CANTP_ADDR_FUNC_REQ && RxCanMessage.DB[1] == 0x3E && RxCanMessage.DB[2] == 0x80) + resetS3Server(); /*重置S3server计时*/ + else + RxIndicationCanIf_Messages(0, RxCanMessage.IDL, RxCanMessage.DLC, RxCanMessage.DB); + DiagMsgRcvFlag = 1; + ucNwNetIdelCheck = 1; //网络空闲检测 300ms如果没有置位 默认为空闲 + } + + if ((RxCanMessage.IDL >= 0x0400) && (RxCanMessage.IDL <= 0x047F)) + // CAN Identifier range from 0x400 ~ 0x47F, are used for ECU network management control frames + { + ucRemoteWakupFlg = 1u; + RepeatMessageReq = RxCanMessage.DB[1] & 0x01; + ucNwNetIdelCheck = 1; //网络空闲检测 300ms如果没有置位 默认为空闲 + } + + if (RxCanMessage.IDL == 0x0403) + { + + if (App28sTxRxStatus & 0x02 != 0) // Rx enable + { + Copy_Array_to_Array(CAN_403.Msg_Byte, RxCanMessage.DB, 8); + } + } + if (RxCanMessage.IDL == 0x026D) + { + if (App28sTxRxStatus & 0x02 != 0) // Rx enable + { + //BackLightTimeOut_count = 500; // 500mS + //Copy_Array_to_Array(CAN_26D.Msg_Byte, RxCanMessage.DB, 8); + } + } +} + +/*CAN0 channel error*/ +void __near RSCAN_INTCAN0ERR_interrupt(void) +{ + /*if(C0ERFLL&0x08) + { + BusOff_flag=1;//clear after can transmit successfully + } */ + // C0ERFLL=0; +} + +/*CAN0 transmit/receive FIFO receive interrutp*/ +void __near RSCAN_INTCAN0REC_interrupt(void) +{ +} + +/* CAN Channel transmit */ +void __near RSCAN_INTCAN0TRX_interrupt(void) +{ + CFSTS0 &= 0xFFEF; /*Clear CFTXIF FIFO transmit interrupt request flag*/ +} diff --git a/ECU_APP/rscan_driver/r_rl78_can_sfr.h b/ECU_APP/rscan_driver/r_rl78_can_sfr.h new file mode 100644 index 0000000..f8815d8 --- /dev/null +++ b/ECU_APP/rscan_driver/r_rl78_can_sfr.h @@ -0,0 +1,415 @@ +/******************************************************************************* +* DISCLAIMER +* This software is supplied by Renesas Electronics Corporation and is only +* intended for use with Renesas products. No other uses are authorized. This +* software is owned by Renesas Electronics Corporation and is protected under +* all applicable laws, including copyright laws. +* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING +* THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT +* LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE +* AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. +* TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS +* ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE +* FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR +* ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE +* BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +* Renesas reserves the right, without notice, to make changes to this software +* and to discontinue the availability of this software. By using this software, +* you agree to the additional terms and conditions found by accessing the +* following link: +* http://www.renesas.com/disclaimer +* +* Copyright (C) 2013 Renesas Electronics Corporation. All rights reserved. +*******************************************************************************/ +/******************************************************************************* +* File Name : r_rl78_can_sfr.h +* Version : 1.0 +* Description : This is include file for CAN I/O registers. +******************************************************************************/ +/***************************************************************************** +* History : DD.MM.YYYY Version Description +* : 29.03.2013 1.00 First Release +******************************************************************************/ +#include "r_cg_macrodriver.h" + +#ifndef R_RL78_CAN_SFR_H +#define R_RL78_CAN_SFR_H + +#define BIT_ON(x) (uint16_t)(1 << (x)) +#define BITS_2_ON(x) (uint16_t)(3 << (x)) + + +/* + * Address + */ + +/* ---- Channel ---- */ +typedef struct { + volatile uint16_t CnCFGL; + volatile uint16_t CnCFGH; + volatile uint16_t CnCTRL; + volatile uint16_t CnCTRH; + volatile uint16_t CnSTSL; + volatile uint16_t CnSTSH; + volatile uint16_t CnERFLL; + volatile uint16_t CnERFLH; +} can_ch_top_sfr_t; + +typedef struct { + volatile uint16_t IDL; + volatile uint16_t IDH; + volatile uint16_t TS; + volatile uint16_t PTR; + volatile uint16_t DF0; + volatile uint16_t DF1; + volatile uint16_t DF2; + volatile uint16_t DF3; +} can_frame_sfr_t; + +typedef struct { + volatile uint16_t IDL; + volatile uint16_t IDH; + volatile uint16_t ML; + volatile uint16_t MH; + volatile uint16_t PL; + volatile uint16_t PH; +} can_rxrule_sfr_t; + +/* ---- Tx buffers ---- */ +#define TMCp(txbuf) (*((volatile uint8_t *)((uint16_t)&TMC0 + txbuf))) //__near +#define CAN_ADDR_TMSTSp(txbuf) (volatile uint8_t *)((uint16_t)&TMSTS0 + txbuf) // __near + +/* ---- RAM ---- */ +#define CAN_ADDR_RMIDLp(buf) (volatile can_frame_sfr_t *)((uint16_t)&RMIDL0 + (0x10 * (buf))) //__near +#define CAN_ADDR_TMIDLp(txbuf) (volatile can_frame_sfr_t *)((uint16_t)&TMIDL0 + (0x10 * (txbuf))) //__near + + +#define CAN_ADDR_GAFLIDL0 0x03a0 // (volatile can_rxrule_sfr_t *)((uint16_t)&GAFLIDL0) //near + +/* ==== CAN SFR register bit field position ==== */ +/* ---- C0CFGL ---- */ +#define CAN_BRP_BIT_POS 0U +#define CAN_CFG_BAUDRATEL(brp) ((brp) << CAN_BRP_BIT_POS) + +/* ---- C0CFGH ---- */ +#define CAN_SJW_BIT_POS 8U +#define CAN_TSEG2_BIT_POS 4U +#define CAN_TSEG1_BIT_POS 0U +#define CAN_CFG_BAUDRATEH(tseg1, tseg2, sjw) \ + ( ((tseg1) << CAN_TSEG1_BIT_POS) \ + + ((tseg2) << CAN_TSEG2_BIT_POS) \ + + ((sjw) << CAN_SJW_BIT_POS) ) + +/* ---- C0CTRL ---- */ +#define CAN_ALIE_BIT_POS 15U +#define CAN_BLIE_BIT_POS 14U +#define CAN_OLIE_BIT_POS 13U +#define CAN_BORIE_BIT_POS 12U +#define CAN_BOEIE_BIT_POS 11U +#define CAN_EPIE_BIT_POS 10U +#define CAN_EWIE_BIT_POS 9U +#define CAN_BEIE_BIT_POS 8U +#define CAN_CSLPR_BIT_POS 2U +#define CAN_CHMDC_BIT_POS 0U + +#define CAN_CFG_FUNCL(ie_bus, ie_ew, ie_ep, ie_boe, \ + ie_bor, ie_ol, ie_bl, ie_al) \ + ( ((ie_bus) << CAN_BEIE_BIT_POS) \ + + ((ie_ew) << CAN_EWIE_BIT_POS) \ + + ((ie_ep) << CAN_EPIE_BIT_POS) \ + + ((ie_boe) << CAN_BOEIE_BIT_POS) \ + + ((ie_bor) << CAN_BORIE_BIT_POS) \ + + ((ie_ol) << CAN_OLIE_BIT_POS) \ + + ((ie_bl) << CAN_BLIE_BIT_POS) \ + + ((ie_al) << CAN_ALIE_BIT_POS) ) + +#define CAN_STP_BIT_ON BIT_ON(CAN_CSLPR_BIT_POS) +#define CAN_MODE_BITS_ON BITS_2_ON(CAN_CHMDC_BIT_POS) + +/* ---- C0CTRH ---- */ +#define CAN_ERRD_BIT_POS 7U +#define CAN_BOM_BIT_POS 5U +#define CAN_TAIE_BIT_POS 0U + +#define CAN_CFG_FUNCH(ie_ta, boff_mode, er_disp) \ + ( ((ie_ta) << CAN_TAIE_BIT_POS) \ + + ((boff_mode) << CAN_BOM_BIT_POS) \ + + ((er_disp) << CAN_ERRD_BIT_POS) ) + +/* ---- C0STSL ---- */ +#define CAN_CSLPSTS_BIT_POS 2U +#define CAN_CRSTSTS_BIT_POS 0U + +#define CAN_STP_STS_BIT_ON BIT_ON(CAN_CSLPSTS_BIT_POS) +#define CAN_RST_STS_BIT_ON BIT_ON(CAN_CRSTSTS_BIT_POS) + +/* ---- GCFGL ---- */ +#define CAN_TSSS_BIT_POS 12U +#define CAN_TSP_BIT_POS 8U +#define CAN_DCS_BIT_POS 4U +#define CAN_MME_BIT_POS 3U +#define CAN_DRE_BIT_POS 2U +#define CAN_DCE_BIT_POS 1U +#define CAN_TPRI_BIT_POS 0U + +#define CAN_CFG_GCFGL(priority, dlc_check, dlc_replace, \ + mirror, can_clock, ts_clock, \ + ts_pr) \ + ( ((priority) << CAN_TPRI_BIT_POS) \ + + ((dlc_check) << CAN_DCE_BIT_POS) \ + + ((dlc_replace) << CAN_DRE_BIT_POS) \ + + ((mirror) << CAN_MME_BIT_POS) \ + + ((can_clock) << CAN_DCS_BIT_POS) \ + + ((ts_pr) << CAN_TSP_BIT_POS) \ + + ((ts_clock) << CAN_TSSS_BIT_POS) ) + +/* ---- GCFGH ---- */ +#define CAN_ITRCP_BIT_POS 0U + +#define CAN_CFG_GCFGH(it_pr) \ + ( (it_pr) << CAN_ITRCP_BIT_POS ) + +/* ---- GCTRL ---- */ +#define CAN_THLEIE_BIT_POS 10U +#define CAN_MEIE_BIT_POS 9U +#define CAN_DEIE_BIT_POS 8U +#define CAN_GSLPR_BIT_POS 2U +#define CAN_GMDC_BIT_POS 0U + +#define CAN_CFG_GCTRL(overflow_ie, msg_lost_ie, dlc_error_ie) \ + ( ((overflow_ie) << CAN_THLEIE_BIT_POS) \ + + ((msg_lost_ie) << CAN_MEIE_BIT_POS) \ + + ((dlc_error_ie) << CAN_DEIE_BIT_POS)) + +#define CAN_GLB_STP_BIT_ON BIT_ON(CAN_GSLPR_BIT_POS) +#define CAN_GLB_MODE_BITS_ON BITS_2_ON(CAN_GMDC_BIT_POS) + +/* ---- GSTS ---- */ +#define CAN_GRAMINIT_BIT_POS 3U +#define CAN_GSLPSTS_BIT_POS 2U +#define CAN_GRSTSTS_BIT_POS 0U + +#define CAN_RAM_INIT_BIT_ON BIT_ON(CAN_GRAMINIT_BIT_POS) +#define CAN_GLB_STP_STS_BIT_ON BIT_ON(CAN_GSLPSTS_BIT_POS) +#define CAN_GLB_RST_STS_BIT_ON BIT_ON(CAN_GRSTSTS_BIT_POS) + +/* ---- GRWCR ---- */ +#define CAN_RPAGE_BIT_POS 0U + +#define CAN_RAM_WINDOW_BIT_ON BIT_ON(CAN_RPAGE_BIT_POS) + + + +/* ---- RFCCm ---- */ +#define CAN_RFIGCV_BIT_POS 13U +#define CAN_RFIM_BIT_POS 12U +#define CAN_RFDC_BIT_POS 8U +#define CAN_RFIE_BIT_POS 1U +#define CAN_RFE_BIT_POS 0U + +#define CAN_CFG_RXFIFO(dc, i_enable, i_factor, i_timing) \ + ( ((i_timing) << CAN_RFIGCV_BIT_POS) \ + + ((i_factor) << CAN_RFIM_BIT_POS) \ + + ((i_enable) << CAN_RFIE_BIT_POS) \ + + ((dc) << CAN_RFDC_BIT_POS) ) + +#define CAN_RFIFO_EN_BIT_ON BIT_ON(CAN_RFE_BIT_POS) + +/* ---- RFSTSm ---- */ +#define CAN_RFIF_BIT_POS 3U +#define CAN_RFMLT_BIT_POS 2U +#define CAN_RFEMP_BIT_POS 0U + +#define CAN_RFIFO_MSGLST_BIT_ON BIT_ON(CAN_RFMLT_BIT_POS) +#define CAN_RFIFO_EMPTY_BIT_ON BIT_ON(CAN_RFEMP_BIT_POS) + +#define CAN_CLR_WITHOUT_RX_INT BIT_ON(CAN_RFIF_BIT_POS) + +/* ---- CFCCLk ---- */ +#define CAN_CFIGCV_BIT_POS 13U +#define CAN_CFIM_BIT_POS 12U +#define CAN_CFDC_BIT_POS 8U +#define CAN_CFTXIE_BIT_POS 2U +#define CAN_CFRXIE_BIT_POS 1U +#define CAN_CFE_BIT_POS 0U + +#define CAN_CFG_TRFIFO_TXL(dc, i_enable, i_factor) \ + ( ((i_factor) << CAN_CFIM_BIT_POS) \ + + ((dc) << CAN_CFDC_BIT_POS) \ + + ((i_enable) << CAN_CFTXIE_BIT_POS) ) + +#define CAN_CFG_TRFIFO_RXL(dc, i_enable, i_factor, i_timing) \ + ( ((i_timing) << CAN_CFIGCV_BIT_POS) \ + + ((i_factor) << CAN_CFIM_BIT_POS) \ + + ((dc) << CAN_CFDC_BIT_POS) \ + + ((i_enable) << CAN_CFRXIE_BIT_POS) ) + + +#define CAN_TRFIFO_EN_BIT_ON BIT_ON(CAN_CFE_BIT_POS) + +/* ---- CFCCHk ---- */ +#define CAN_CFITT_BIT_POS 8U +#define CAN_CFTML_BIT_POS 4U +#define CAN_CFITR_BIT_POS 3U +#define CAN_CFITSS_BIT_POS 2U +#define CAN_CFM_BIT_POS 0U + +#define CAN_CFG_TRFIFO_TXH(txbuf_idx, timer, time) \ + ( ((time) << CAN_CFITT_BIT_POS) \ + + ((txbuf_idx) << CAN_CFTML_BIT_POS) \ + + ((timer) << CAN_CFITSS_BIT_POS) \ + + ((CAN_TRFIFO_TX_MODE) << CAN_CFM_BIT_POS) ) + +#define CAN_CFG_TRFIFO_RXH ((CAN_TRFIFO_RX_MODE) << CAN_CFM_BIT_POS) + +/* ---- CFSTSk ---- */ +#define CAN_CFTXIF_BIT_POS 4U +#define CAN_CFRXIF_BIT_POS 3U +#define CAN_CFMLT_BIT_POS 2U +#define CAN_CFFLL_BIT_POS 1U +#define CAN_CFEMP_BIT_POS 0U + +#define CAN_TRFIFO_MSGLST_BIT_ON BIT_ON(CAN_CFMLT_BIT_POS) +#define CAN_TRFIFO_FULL_BIT_ON BIT_ON(CAN_CFFLL_BIT_POS) +#define CAN_TRFIFO_EMPTY_BIT_ON BIT_ON(CAN_CFEMP_BIT_POS) + +#define CAN_CLR_WITHOUT_TX_RX_INT \ + (BIT_ON(CAN_CFTXIF_BIT_POS) | BIT_ON(CAN_CFRXIF_BIT_POS)) + + + + +/* ---- TMCp ---- */ +#define CAN_TMTAR_BIT_ON 1U +#define CAN_TMTR_BIT_ON 0U + +#define CAN_TXBUF_ABT_BIT_ON BIT_ON(CAN_TMTAR_BIT_ON) +#define CAN_TXBUF_TRM_BIT_ON BIT_ON(CAN_TMTR_BIT_ON) + +/* ---- TMSTSp ---- */ +#define CAN_TMTRF_BIT_POS 1U + +#define CAN_TXBUF_RSLT_BITS_POS CAN_TMTRF_BIT_POS +#define CAN_TXBUF_RSLT_BITS_ON BITS_2_ON(CAN_TXBUF_RSLT_BITS_POS) + + + + +/* ==== CAN SFR register value ==== */ + +/* ---- Resynchronization jump width ---- */ +#define CAN_SJW_1TQ 0U +#define CAN_SJW_2TQ 1U +#define CAN_SJW_3TQ 2U +#define CAN_SJW_4TQ 3U + +/* ---- Time segment 2 ---- */ +#define CAN_TSEG2_2TQ 1U +#define CAN_TSEG2_3TQ 2U +#define CAN_TSEG2_4TQ 3U +#define CAN_TSEG2_5TQ 4U +#define CAN_TSEG2_6TQ 5U +#define CAN_TSEG2_7TQ 6U +#define CAN_TSEG2_8TQ 7U + +/* ---- Time segment 1 ---- */ +#define CAN_TSEG1_4TQ 3U +#define CAN_TSEG1_5TQ 4U +#define CAN_TSEG1_6TQ 5U +#define CAN_TSEG1_7TQ 6U +#define CAN_TSEG1_8TQ 7U +#define CAN_TSEG1_9TQ 8U +#define CAN_TSEG1_10TQ 9U +#define CAN_TSEG1_11TQ 10U +#define CAN_TSEG1_12TQ 11U +#define CAN_TSEG1_13TQ 12U +#define CAN_TSEG1_14TQ 13U +#define CAN_TSEG1_15TQ 14U +#define CAN_TSEG1_16TQ 15U + +/* ---- Error display mode ---- */ +#define CAN_ERRDISP_FIRST_ERR_ONLY 0U +#define CAN_ERRDISP_ALL_ERR 1U + +/* ---- Bus off recovery mode ---- */ +#define CAN_BOFF_RECOVERY_ISO11898 0U +#define CAN_BOFF_RECOVERY_START_ENTRY 1U +#define CAN_BOFF_RECOVERY_END_ENTRY 2U +#define CAN_BOFF_RECOVERY_MANUAL_ENTRY 3U + +/* ---- Channel mode ---- */ +#define CAN_MODE_CH_COMM_MODE 0U +#define CAN_MODE_CH_RESET_MODE 1U +#define CAN_MODE_CH_HALT_MODE 2U + +/* ---- Time stamp clock source ---- */ +#define CAN_TS_PCLOCK_2 0U +#define CAN_TS_CAN0_BT_CLOCK 1U + +/* ---- Time stamp clock source division ---- */ +#define CAN_TS_NO_DIV 0U +#define CAN_TS_2_DIV 1U +#define CAN_TS_4_DIV 2U +#define CAN_TS_8_DIV 3U +#define CAN_TS_16_DIV 4U +#define CAN_TS_32_DIV 5U +#define CAN_TS_64_DIV 6U +#define CAN_TS_128_DIV 7U +#define CAN_TS_256_DIV 8U +#define CAN_TS_512_DIV 9U +#define CAN_TS_1024_DIV 10U +#define CAN_TS_2048_DIV 11U +#define CAN_TS_4096_DIV 12U +#define CAN_TS_8192_DIV 13U +#define CAN_TS_16384_DIV 14U +#define CAN_TS_32768_DIV 15U + +/* ---- CAN clock source ---- */ +#define CAN_SOURCE_PCLOCK_2 0U +#define CAN_SOURCE_MAIN_CLOCK 1U + +/* ---- transmission priority ---- */ +#define CAN_TX_ID_FIRST 0U +#define CAN_TX_BUF_IDX_FIRST 1U + +/* ---- global mode ---- */ +#define CAN_GLB_OPERATION_MODE 0U +#define CAN_GLB_RESET_MODE 1U +#define CAN_GLB_TEST_MODE 2U + +/* ---- FIFO (Rx, Common) interrupt generation timing ---- */ +#define CAN_FIFO_THRESHOLD_1_8 0U +#define CAN_FIFO_THRESHOLD_2_8 1U +#define CAN_FIFO_THRESHOLD_3_8 2U +#define CAN_FIFO_THRESHOLD_4_8 3U +#define CAN_FIFO_THRESHOLD_5_8 4U +#define CAN_FIFO_THRESHOLD_6_8 5U +#define CAN_FIFO_THRESHOLD_7_8 6U +#define CAN_FIFO_THRESHOLD_FULL 7U + +/* ---- FIFO (Rx, Common) interrupt factor ---- */ +#define CAN_FIFO_INT_THRESHOLD 0U +#define CAN_FIFO_INT_EACH_MSG 1U + +/* ---- FIFO (Rx, Common) depth define ---- */ +#define CAN_FIFO_DEPTH_0 0U +#define CAN_FIFO_DEPTH_4 1U +#define CAN_FIFO_DEPTH_8 2U +#define CAN_FIFO_DEPTH_16 3U + +/* ---- Tx buffer ---- */ +#define CAN_TX_BUFFER_0 0U +#define CAN_TX_BUFFER_1 1U +#define CAN_TX_BUFFER_2 2U +#define CAN_TX_BUFFER_3 3U + +/* ---- Common FIFO interval time counter source ---- */ +#define CAN_IT_PCLOCK_2 0U +#define CAN_IT_CAN_BIT_CLK 1U +#define CAN_IT_PCLOCK_2_10_DIV 2U + +/* ---- Common FIFO mode ---- */ +#define CAN_TRFIFO_RX_MODE 0U +#define CAN_TRFIFO_TX_MODE 1U + +#endif /* R_RL78_CAN_SFR_H */ diff --git a/ECU_APP/stkinit.asm b/ECU_APP/stkinit.asm new file mode 100644 index 0000000..0de0883 --- /dev/null +++ b/ECU_APP/stkinit.asm @@ -0,0 +1,67 @@ +; Copyright (C) 2014 Renesas Electronics Corporation +; RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY. +; This program must be used solely for the purpose for which +; it was furnished by Renesas Electronics Corporation. No part of this +; program may be reproduced or disclosed to others, in any +; form, without the prior written permission of Renesas Electronics +; Corporation. +;--------------------------------------------------------------------- +; _stkinit +; +; void _stkinit(void __near * stackbss); +; +; input: +; stackbss = AX (#LOWW(_stackend)) +; output: +; NONE +;--------------------------------------------------------------------- + +; NOTE : THIS IS A TYPICAL EXAMPLE. + + .PUBLIC _stkinit + +.textf .CSEG TEXTF +_stkinit: + MOVW HL,AX ; stack_end_addr + MOV [SP+3],#0x00 ; [SP+0]-[SP+2] for return address + MOVW AX,SP + SUBW AX,HL ; SUBW AX,#LOWW _@STEND + BNH $LSTINIT3 ; goto end + SHRW AX,5 ; loop count for 32 byte transfer + MOVW BC,AX + CLRW AX +LSTINIT1: + CMPW AX,BC + BZ $LSTINIT2 + MOVW [HL],AX + MOVW [HL+2],AX + MOVW [HL+4],AX + MOVW [HL+6],AX + MOVW [HL+8],AX + MOVW [HL+10],AX + MOVW [HL+12],AX + MOVW [HL+14],AX + MOVW [HL+16],AX + MOVW [HL+18],AX + MOVW [HL+20],AX + MOVW [HL+22],AX + MOVW [HL+24],AX + MOVW [HL+26],AX + MOVW [HL+28],AX + MOVW [HL+30],AX + XCHW AX,HL + ADDW AX,#0x20 + XCHW AX,HL + DECW BC + BR $LSTINIT1 +LSTINIT2: + MOVW AX,SP + CMPW AX,HL + BZ $LSTINIT3 ; goto end + CLRW AX + MOVW [HL],AX + INCW HL + INCW HL + BR $LSTINIT2 +LSTINIT3: + RET diff --git a/ECU_APP/sys/VectorTable.c b/ECU_APP/sys/VectorTable.c new file mode 100644 index 0000000..0c0d24d --- /dev/null +++ b/ECU_APP/sys/VectorTable.c @@ -0,0 +1,122 @@ +/*! + ****************************************************************************** + ** + ** \note Other information. + ** + ****************************************************************************** + */ + +/*---------------------------------------------------------------------------*/ +/* include files */ +/*---------------------------------------------------------------------------*/ + + + +extern void __near RSCAN_INTCANGERR_interrupt(void); +extern void __near RSCAN_INTCANGRECC_interrupt(void); +extern void __near RSCAN_INTCAN0ERR_interrupt (void); +extern void __near RSCAN_INTCAN0REC_interrupt (void); +extern void __near RSCAN_INTCAN0TRX_interrupt (void); +extern void __near Vectors_Isr_DefaultHandler (void); +extern void __near r_tau0_channel0_interrupt(void); +extern void __near r_tau0_channel1_interrupt(void); +extern void __near r_wdt_interrupt(void); +extern void __near start(void); +extern void r_adc_interrupt(void); + +/*! + ****************************************************************************** + ** \Vector Section Define + ** + ** \Interrupt Vector Table Define + ** + ****************************************************************************** + */ +/*****************************************************************************/ +/*! + ****************************************************************************** + ** \brief Interrupt vector definition + Use the following statements to define the interrupt vector table + i.e. add your interrupt handlers here (ensure to define the ISR prototype, + e.g. by adding the appropriate header file above). + All resource related vectors are predefined. Remaining software interrupts + can be added here as well. + ****************************************************************************** + */ + +#pragma section const VectorRemapingAddr +#if DEBUG + +#else +void (* __near const VectorTable[64])(void) = \ +{ + start, /* 0000H intvect 0 Reset Vector(RESET/POR/LVD/WDT/TRAP/IAW/CLM) */ + Vectors_Isr_DefaultHandler, /* 0002H intvect 1 Reserved */ + Vectors_Isr_DefaultHandler,//r_wdt_interrupt , /* 0004H intvect 2 INTWDTI */ + Vectors_Isr_DefaultHandler, /* 0006H intvect 3 INTLVI */ + Vectors_Isr_DefaultHandler, /* 0008H intvect 4 INTP0 */ + Vectors_Isr_DefaultHandler, /* 000AH intvect 5 INTP1 */ + Vectors_Isr_DefaultHandler, /* 000CH intvect 6 INTP2 */ + Vectors_Isr_DefaultHandler, /* 000EH intvect 7 INTP3 */ + Vectors_Isr_DefaultHandler, /* 0010H intvect 8 INTP4/INTSPM */ + Vectors_Isr_DefaultHandler, /* 0012H intvect 9 INTP5/INTCMP0 */ + Vectors_Isr_DefaultHandler, /* 0014H intvect 10 INTP13/INTCLM */ + Vectors_Isr_DefaultHandler, /* 0016H intvect 11 INTST0/INTCSI00/INTIIC00*/ + Vectors_Isr_DefaultHandler, /* 0018H intvect 12 INTSR0/INTCSI01/INTIIC01*/ + Vectors_Isr_DefaultHandler, /* 001AH intvect 13 INTTRD0 */ + Vectors_Isr_DefaultHandler, /* 001CH intvect 14 INTTRD1 */ + Vectors_Isr_DefaultHandler, /* 001EH intvect 15 INTTRJ0 */ + Vectors_Isr_DefaultHandler, /* 0020H intvect 16 INTRAM */ + Vectors_Isr_DefaultHandler, /* 0022H intvect 17 INTLIN0TRM */ + Vectors_Isr_DefaultHandler, /* 0024H intvect 18 INTLIN0RVC */ + Vectors_Isr_DefaultHandler, /* 0026H intvect 19 INTSTLIN0STA/INTLIN0*/ + Vectors_Isr_DefaultHandler, /* 0028H intvect 20 INTIICA0 */ + Vectors_Isr_DefaultHandler, /* 002AH intvect 21 INTP8/INTRTC */ + r_tau0_channel0_interrupt, /* 002CH intvect 22 INTTM00 */ + r_tau0_channel1_interrupt, /* 002EH intvect 23 INTTM01 */ + Vectors_Isr_DefaultHandler, /* 0030H intvect 24 INTTM02 */ + Vectors_Isr_DefaultHandler, /* 0032H intvect 25 INTTM03 */ + r_adc_interrupt, /* 0034H intvect 26 INTAD */ + Vectors_Isr_DefaultHandler, /* 0036H intvect 27 INTP6/INTTM11H */ + Vectors_Isr_DefaultHandler, /* 0038H intvect 28 INTP7/INTTM13H */ + Vectors_Isr_DefaultHandler, /* 003AH intvect 29 INTP9/INTTM01H */ + Vectors_Isr_DefaultHandler, /* 003CH intvect 30 INTP10/INTTM03H */ + Vectors_Isr_DefaultHandler, /* 003EH intvect 31 INTST1/INTCSI10/INTIIC10 */ + Vectors_Isr_DefaultHandler, /* 0040H intvect 32 INTSR1/INTCSI11/INTIIC11 */ + Vectors_Isr_DefaultHandler, /* 0042H intvect 33 INTTM04 */ + Vectors_Isr_DefaultHandler, /* 0044H intvect 34 INTTM05 */ + Vectors_Isr_DefaultHandler, /* 0046H intvect 35 INTTM06 */ + Vectors_Isr_DefaultHandler, /* 0048H intvect 36 INTTM07 */ + Vectors_Isr_DefaultHandler, /* 004AH intvect 37 INTP11/INTLIN0WUP */ + Vectors_Isr_DefaultHandler, /* 004CH intvect 38 INTKR */ + RSCAN_INTCAN0ERR_interrupt, /* 004EH intvect 39 INTCAN0ERR */ + Vectors_Isr_DefaultHandler, /* 0050H intvect 40 INTCAN0WUP */ + RSCAN_INTCAN0REC_interrupt, /* 0052H intvect 41 INTCAN0CFR */ + RSCAN_INTCAN0TRX_interrupt, /* 0054H intvect 42 INTCAN0TRM */ + RSCAN_INTCANGRECC_interrupt, /* 0056H intvect 43 INTCANGRFR */ + RSCAN_INTCANGERR_interrupt, /* 0058H intvect 44 INTCANGERR */ + Vectors_Isr_DefaultHandler, /* 005AH intvect 45 INTTM10 */ + Vectors_Isr_DefaultHandler, /* 005CH intvect 46 INTTM11 */ + Vectors_Isr_DefaultHandler, /* 005EH intvect 47 INTTM12 */ + Vectors_Isr_DefaultHandler, /* 0060H intvect 48 INTTM13 */ + Vectors_Isr_DefaultHandler, /* 0062H intvect 49 Reserved(INTFL)*/ + Vectors_Isr_DefaultHandler, /* 0064H intvect 50 INTP12/INTLIN1WUP */ + Vectors_Isr_DefaultHandler, /* 0066H intvect 51 INTLIN1TRM */ + Vectors_Isr_DefaultHandler, /* 0068H intvect 52 INTLIN1RVC */ + Vectors_Isr_DefaultHandler, /* 006AH intvect 53 INTLIN1STA/INTLIN1 */ + Vectors_Isr_DefaultHandler, /* 006CH intvect 54 INTTM14 */ + Vectors_Isr_DefaultHandler, /* 006EH intvect 55 INTTM15 */ + Vectors_Isr_DefaultHandler, /* 0070H intvect 56 INTTM16 */ + Vectors_Isr_DefaultHandler, /* 0072H intvect 57 INTTM17 */ + Vectors_Isr_DefaultHandler, /* 0074H intvect 58 Reserved*/ + Vectors_Isr_DefaultHandler, /* 0076H intvect 59 Reserved*/ + Vectors_Isr_DefaultHandler, /* 0078H intvect 60 Reserved*/ + Vectors_Isr_DefaultHandler, /* 007AH intvect 61 Reserved*/ + Vectors_Isr_DefaultHandler, /* 007CH intvect 62 Reserved*/ + Vectors_Isr_DefaultHandler, /* 007EH intvect 63 SOFT WARE BRK*/ +}; +#endif +const unsigned long AppValid = 0xAA5555AA; + +/* END OF FILE */ + diff --git a/ECU_APP/sys/VectorTable.h b/ECU_APP/sys/VectorTable.h new file mode 100644 index 0000000..e69de29 diff --git a/ECU_APP/user/PINdef.h b/ECU_APP/user/PINdef.h new file mode 100644 index 0000000..6f663df --- /dev/null +++ b/ECU_APP/user/PINdef.h @@ -0,0 +1,61 @@ +#ifndef __PINDEF_H__ +#define __PINDEF_H__ + +#include "iodefine.h" + +#define CAN_STB P1_bit.no2 // +#define KEY_LB P12_bit.no0 //鍠囧彮寮鍏 +#define KEY_ZZ P4_bit.no1 //宸﹁浆鍚戝紑鍏 +#define KEY_YZ P6_bit.no0 //鍙宠浆鍚戝紑鍏 +#define KEY_ZXFW P6_bit.no1 //杞悜澶嶄綅寮鍏 +#define KEY_JS P6_bit.no2 //璀︾ず寮鍏 +#define KEY_YJ P6_bit.no3 //杩滆繎鍏夊紑鍏 +#define KEY_CC P3_bit.no0 //瓒呰溅寮鍏 +#define KEY_DD P1_bit.no7 //澶х伅寮鍏 +#define KEY_DFS P12_bit.no5 //鎸¢鐜荤拑璋冭妭寮鍏筹紙鍗囷級 +#define KEY_DFJ P8_bit.no5 //鎸¢鐜荤拑璋冭妭寮鍏筹紙闄嶏級 +#define KEY_MS P8_bit.no4 //浠〃纭寮鍏筹紙妯″紡閫夋嫨锛 +#define KEY_YBFH P8_bit.no3 //浠〃杩斿洖寮鍏 +#define KEY_YBS P8_bit.no2 //浠〃璋冭妭寮鍏筹紙涓婏級 +#define KEY_YBX P8_bit.no1 //浠〃璋冭妭寮鍏筹紙涓嬶級 +#define KEY_QD P8_bit.no0 //鍚姩寮鍏 +#define KEY_XH P3_bit.no4 //鐔勭伀寮鍏 +#define KEY_WBJR P1_bit.no3 //鎻℃妸鍔犵儹寮鍏 +#define KEY_ZYJR P1_bit.no4 //搴ф鍔犵儹寮鍏 +#define KEY_YD P1_bit.no5 //澶滅伅寮鍏 +#define KEY_TCS P1_bit.no6 //TCS + +#define KEYID_LB 1 +#define KEYID_ZZ 2 +#define KEYID_YZ 3 +#define KEYID_ZXFW 4 +#define KEYID_JS 5 +#define KEYID_YJ 6 +#define KEYID_CC 7 +#define KEYID_DD 8 +#define KEYID_DFS 9 +#define KEYID_DFJ 10 +#define KEYID_MS 11 +#define KEYID_YBFH 12 +#define KEYID_YBS 13 +#define KEYID_YBX 14 +#define KEYID_QD 15 +#define KEYID_XH 16 +#define KEYID_WBJR 17 +#define KEYID_ZYJR 18 +#define KEYID_YD 19 +#define KEYID_TCS 20 +#define KEY_NUM 20 + + + +#define ADCH_IGN 0 + + +#define LEFT_BOARD 1 +#define RIGHT_BOARD 2 +#define NOW_BOARD RIGHT_BOARD + + +#endif + diff --git a/ECU_APP/user/appTask.c b/ECU_APP/user/appTask.c new file mode 100644 index 0000000..c5249da --- /dev/null +++ b/ECU_APP/user/appTask.c @@ -0,0 +1,579 @@ +#include "appTask.h" +#include "iodefine.h" +#include "extern.h" +#include "r_cg_adc.h" +#include "r_cg_intc.h" +#include "PINdef.h" +#include "hwCtrl.h" + +#include "pfdl.h" + +u8 can_data_init_flag = 0; + +unsigned long Can_1ms_count_alive; +unsigned char rollingcounter = 0; + + +unsigned char IGN_Voltage_error_flag, IGN_Voltage_error_count; + + +volatile uint8_t flag_IIC_SendEnd; +volatile uint8_t flag_IIC_ReceiveEnd; + +unsigned char Timer_1ms_flag; +unsigned char Timer_5ms_flag; +unsigned char Timer_10ms_flag; +unsigned char Timer_20ms_flag; +unsigned char Timer_50ms_flag; +unsigned char Timer_1000ms_flag; + +unsigned int CAN_LostCount; +unsigned char key_count, key_last; +unsigned char IGN_Lost, IGN_Lost_Count; +unsigned char IGN_On, IGN_On_Count; +/********************* Network Manage ****************************/ +unsigned char ucIgnStus; +unsigned int uiBusOffCnt; // ms +unsigned char ucBusOffModeState; // 0:Normal 1~4:Fast Rec 5:Slow Rec +unsigned char BusoffFlag; +/***************************************************/ +static unsigned int EEL_SAVE_CNT_DOWN_TIMER; +static uint8_t EEL_SAVE_ENABLE; + +MotorStateEE_Type MotorStateEE; +MotorStateEE_Type *pEE; + + +uint16_t VehicleSpeedRaw,VehicleSpeed; + +uint8_t lockstate,sbrstate,sbrWarnState; +uint8_t nouse;//Relocation value is odd number + + + + + +void Apply_task(void) +{ + + // DiagnosticSession_Present=MngDcm_GetDiagnosticSession(); + App28sTxRxStatus = GetNormalMsgSts(); + Nw28sTxRxStatus = GetNetworkMsgSts(); + + // DiagnosticSession_Present=MngDcm_GetDiagnosticSession(); + if(CAN_STB == 0 && ucBusOffModeState == 0)//Tx enable + { + TxServe(); + } + if (Timer_1ms_flag == 1) + { + Timer_1ms_flag = 0; + MngDcm_MainFunction(); + MngCanTp_MainFunction(); + if (BusOff_Detect_delay_count == 0 /*&& (ad_voltage_fact[2]>=85 && ad_voltage_fact[2]<=165)*/) + { + BusOff_Detect(); + } + KeyScan(); + if (EEL_SAVE_CNT_DOWN_TIMER > 0) + { + EEL_SAVE_CNT_DOWN_TIMER--; + } + Can_Msg_Change(); + //IGN_Detect(); + //CanNwHandle(); + } + if (Timer_5ms_flag == 1) + { + Timer_5ms_flag = 0; + CAN_RX_Data_Handle(); + /* + if (IGN_On == 1 && ucActiveWakeupBit != PASSIVE_WAKEUP) + KeyScan(); + */ + + KeyPro(); + // IGN_Detect(); + + } + + if (Timer_10ms_flag == 1) + { + Timer_10ms_flag = 0; + + // BAT_Voltage_Detect(); + // CanNwHandle(); + } + if (Timer_20ms_flag == 1) + { + Timer_20ms_flag = 0; + IGN_Voltage_Detect(); + + } + if (Timer_50ms_flag == 1) + { + Timer_50ms_flag = 0; + //EEL_WRITE(); + TxTestMsg(); + //SleepDetect();//TODO + } +} + + + + +#define KEY_LONGPRESS_500MS 100 +void KeyPro(void)//5ms +{ + +} + +void Can_Msg_Change(void)// +{ + uint8_t i,checksum; + + #if 0 + CAN_50A.Msg_Bit.ZXFW = GetKeyState(KEYID_ZXFW); + CAN_50A.Msg_Bit.DFS = GetKeyState(KEYID_DFS ); + CAN_50A.Msg_Bit.DFJ = GetKeyState(KEYID_DFJ ); + CAN_50A.Msg_Bit.WBJR = GetKeyState(KEYID_WBJR); + CAN_50A.Msg_Bit.ZYJR = GetKeyState(KEYID_ZYJR); + CAN_50A.Msg_Bit.YD = GetKeyState(KEYID_YD ); + CAN_50A.Msg_Bit.MS = GetKeyState(KEYID_MS ); + CAN_50A.Msg_Bit.YBFH = GetKeyState(KEYID_YBFH); + #endif +#if NOW_BOARD == LEFT_BOARD + CAN_50A.Msg_Bit.JS = GetKeyState(KEYID_JS ); + CAN_50A.Msg_Bit.YJ = GetKeyState(KEYID_YJ ); + CAN_50A.Msg_Bit.LB = GetKeyState(KEYID_LB ); + CAN_50A.Msg_Bit.CC = GetKeyState(KEYID_CC ); + CAN_50A.Msg_Bit.ZZ = GetKeyState(KEYID_ZZ ); + CAN_50A.Msg_Bit.YZ = GetKeyState(KEYID_YZ ); +#endif +#if NOW_BOARD == RIGHT_BOARD + CAN_50A.Msg_Bit.TCS = GetKeyState(KEYID_TCS ); + CAN_50A.Msg_Bit.XH = GetKeyState(KEYID_XH ); + CAN_50A.Msg_Bit.QD = GetKeyState(KEYID_QD ); + CAN_50A.Msg_Bit.DD = GetKeyState(KEYID_DD ); + CAN_50A.Msg_Bit.YBS = GetKeyState(KEYID_YBS ); + CAN_50A.Msg_Bit.YBX = GetKeyState(KEYID_YBX ); + +#endif + CAN_50A.Msg_Bit.rolling = rollingcounter; + checksum = 0; + for (i = 0; i < 7; i++) + { + checksum += CAN_50A.Msg_Byte[i]; + } + + CAN_50A.Msg_Bit.checksum = checksum; +} + +static uint8_t EEL_BUF[50]; +void EEL_READ(void) +{ + uint16_t checksum; + uint8_t *src,*des,i; + ReadFlashData(EEL_BUF, 0x000F1000, sizeof(MotorStateEE)); + pEE = (MotorStateEE_Type *)EEL_BUF; + checksum = pEE->kbsoft1 + pEE->kbsoft2 + pEE->kbnow + pEE->zysoft1 + pEE->zysoft2 + pEE->zynow; + if (pEE ->start == 0x55AA && pEE->stop == 0xAA55 && checksum == pEE->checksum) + { + des = &MotorStateEE; + src = EEL_BUF; + for (i = 0; i < sizeof(MotorStateEE); i++) + { + des[i] = src[i]; + } + } + else + { + MotorStateEE.start = 0x55AA; + MotorStateEE.stop = 0xAA55; + MotorStateEE.kbnow = 0x8000; + MotorStateEE.kbsoft1 = 0; + MotorStateEE.kbsoft2 = 0; + MotorStateEE.zynow = 0x8000; + MotorStateEE.zysoft1 = 0; + MotorStateEE.zysoft2 = 0; + EEL_Write_Enable_Check(); + } + +} + +#define SC_500MS_PC_1MS 500 + +void EEL_WRITE(void) +{ + static unsigned char EEL_SAVE_REQUIRE_FLAG=0; + uint8_t i,*p; + if (EEL_SAVE_ENABLE) + { + EEL_SAVE_REQUIRE_FLAG = 1; + EEL_SAVE_CNT_DOWN_TIMER = SC_500MS_PC_1MS; + EEL_SAVE_ENABLE = 0; + } + + if (0 == EEL_SAVE_CNT_DOWN_TIMER && 1 == EEL_SAVE_REQUIRE_FLAG) + { + MotorStateEE.checksum = MotorStateEE.kbsoft1 + MotorStateEE.kbsoft2 + MotorStateEE.kbnow + MotorStateEE.zysoft1 + MotorStateEE.zysoft2 + MotorStateEE.zynow; + p = &MotorStateEE; + for (i = 0; i < sizeof(MotorStateEE); i++) + { + EEL_BUF[i] = p[i]; + } + + if(WriteDataflash(EEL_BUF,0x000F1000,sizeof(MotorStateEE)) == 0x11) + { + EEL_SAVE_REQUIRE_FLAG=0; + } + + } +} + +void EEL_Write_Enable_Check(void) +{ + EEL_SAVE_ENABLE = 1; +} + +void DID_data_save_init(void) +{ + unsigned char DID_init_Buf[33], i; + ReadFlashData(DID_init_Buf, 0x000F1000 + 0x400, 1); + + if (DID_init_Buf[0] == 0xff) + { + for (i = 0; i < 33; i++) + { + if (i < 8) + { + DID_init_Buf[i] = DID_0xF110_VehicleNetworkConfiguration[i]; + } + else if (i < 25) + { + DID_init_Buf[i] = DID_0xF190_vehicleIdentificationNumber[i - 8]; + } + else if (i < 33) + { + DID_init_Buf[i] = DID_0xF197_SystemNameOrEngineType[i - 25]; + } + } + WriteDataflash(DID_init_Buf, 0x000F1000 + 0x400, 33); + } + ReadFlashData(DID_init_Buf, 0x000F1000 + 0x800, 1); + if (DID_init_Buf[0] == 0xff) + { + for (i = 0; i < 32; i++) + { + if (i < 16) + { + DID_init_Buf[i] = DID_0xF198_RepairShopCodeOrTesterSerialNumber[i]; + } + else if (i < 20) + { + DID_init_Buf[i] = DID_0xF199_ProgrammingOrConfigurationDate[i - 16]; + } + else if (i < 24) + { + DID_init_Buf[i] = DID_0xF19D_ECUInstallationDateDataIdentifier[i - 20]; + } + else if (i < 32) + { + DID_init_Buf[i] = DID_0xF112_VehicleName[i - 24]; + } + } + WriteDataflash(DID_init_Buf, 0x000F1000 + 0x800, 32); + } +} + +unsigned char BusOffTimeCnt = 0; +unsigned short BusOff1msCnt = 0; +unsigned char CanBusOffPro(void) +{ + unsigned char ret = 0; + if (C0ERFLLL & 0x08) // Bus-Off Stutas + { + ret = 1; + } + if ((C0CTRLL & 0x02) == 0x02) // Channal Halt Mode + { + + if (C0ERFLLL & 0x08) // Bus-Off Stutas + { + BusOff1msCnt++; + ret = 1; + } + + if ((BusOffTimeCnt < 10) && (BusOff1msCnt >= 100)) + { + BusOffTimeCnt++; + BusOff1msCnt = 0; + C0ERFLL = 0; + C0CTRL &= ~0x03; /* CHMDC[1:0] = 00B change to communication mode. */ + } + else if ((BusOffTimeCnt >= 10) && (BusOff1msCnt >= 1000)) + { + BusOffTimeCnt = 10; + BusOff1msCnt = 0; + C0ERFLL = 0; + C0CTRL &= ~0x03; /* CHMDC[1:0] = 00B change to communication mode. */ + } + } + return ret; +} + +#define FAST_BUSOFF_THRESHOULD 100 // 100MS +#define SLOW_BUSOFF_THRESHOULD 1000 // 100MS + +void BusOff_Recovery(void); + +void BusOff_Detect(void) +{ + + if ((C0ERFLL & 0x08) && (R_CAN_ReadChStatus_CH0() & 0x02)) + { + + if (uiBusOffCnt == 0) + { + if (ucBusOffModeState == 0) + { + uiBusOffCnt = FAST_BUSOFF_THRESHOULD; + // BusOff_Recovery(); + } + if ((ucBusOffModeState > 0) && (ucBusOffModeState < 5)) + { + BusOff_Recovery(); + uiBusOffCnt = FAST_BUSOFF_THRESHOULD; //fast recover + } + else if (ucBusOffModeState >= 5) + { + BusOff_Recovery(); + uiBusOffCnt = SLOW_BUSOFF_THRESHOULD; //soft recover + } + else + { + ; + } + if (ucBusOffModeState < 5) + { + ucBusOffModeState++; + } + } + } + else + { + if (ucBusOffModeState > 0) + { + if (uiBusOffCnt == 0) + { + ucBusOffModeState = 0; + + // 鍘熸潵绋嬪簭鐨勬爣蹇椾綅 + } + } + else + { + ; + } + BusOff_flag = 0; + } +} + +void BusOff_Recovery(void) +{ + CFCCL0L &= ~0x01; + NOP(); + CFCCL0L |= 0x01; + if (C0ERFLL != 0) + { + C0ERFLL = 0; + } + C0CTRL &= 0xfffc; // bus off +} +uint16_t SupplyVoltage; +void IGN_Voltage_Detect(void) +{ + uint32_t adval; + adval = getAdval(ADCH_IGN); + SupplyVoltage = (adval*57*5)>>10; + if (adval <= 305 ) + { + IGN_Voltage_error_count++; + if (IGN_Voltage_error_count >= 250) + { + IGN_Voltage_error_count = 0; + IGN_Voltage_error_flag = 1; + } + } + else if (adval >= 592 )//16.5 + { + IGN_Voltage_error_count++; + if (IGN_Voltage_error_count >= 250) + { + IGN_Voltage_error_count = 0; + IGN_Voltage_error_flag = 2; + } + } + else if (adval >= 323 && adval <= 574) + { + IGN_Voltage_error_count = 0; + IGN_Voltage_error_flag = 0; + } + + + if (IGN_Voltage_error_flag != 0) + { + // TAU0_Channel1_ChangeDuty(0); + } +} + + +void value_init(void) +{ + uint8_t i; + CAN_LostCount = 500; + BusOff_Detect_delay_count = 2000; + ucIgnStus = IGN_OFF; + + for (i = 0; i < 8; i++) + { + CAN_50A.Msg_Byte[i] = 0; + } + +} +void CAN_RX_Data_Handle(void) +{ + + VehicleSpeedRaw = CAN_403.Msg_Bit.VCU_VehSpd1; + VehicleSpeedRaw <<= 8; + VehicleSpeedRaw |= CAN_403.Msg_Bit.VCU_VehSpd2; + VehicleSpeedRaw <<= 2; + VehicleSpeedRaw |= CAN_403.Msg_Bit.VCU_VehSpd3; + + VehicleSpeed = VehicleSpeedRaw>>4; +} + + +void SleepDetect(void) +{ + + // if(CAN_LostCount==0 && IGN_Lost == 1) + { + + R_TAU0_Channel0_Stop(); + // R_TAU0_Channel2_Stop(); + // R_TAU0_Channel6_Stop(); + // R_TAU1_Channel0_Stop(); + TO0 = 0; + TO1 = 0; + TOE0 = 0; + TOE1 = 0; + TO0 = 0; + TO1 = 0; + + // R_IICA0_Stop(); + R_ADC_Stop(); + ADCE = 0; + IICA0EN = 0; + TAU0EN = 0; + TAU1EN = 0; + + P6_bit.no2 = 0; + P6_bit.no3 = 0; + P12_bit.no0 = 0; + P3_bit.no3 = 0; + P1_bit.no3 = 0; + P1_bit.no4 = 0; + P3_bit.no0 = 0; + + CAN_STB = 1; + + C0CTRL |= (uint16_t)(CAN_STP_BIT_ON); + GCTRL |= 0x01; + NOP(); + GCTRL |= (uint16_t)(CAN_GLB_STP_BIT_ON); + PLLON = 0; + //R_INTC3_Start(); + CAN0WUPIF = 0U; + CAN0WUPMK = 0U; + + if (I_IGN_SIGN != IGN_ON) + STOP(); + + WakeUP(); + } +} + +void WakeUP(void) +{ + // stop can and ex interrupt + CAN0WUPIF = 0U; + CAN0WUPMK = 1U; + //R_INTC3_Stop(); + // WDTE = 0xff; //reset + CAN_STB = 0; + hdwinit(); + R_MAIN_UserInit(); + R_TAU0_Channel0_Start(); // timer + + +} + +void Signal_Lost_Detect(unsigned char Pin, + unsigned char Lost_state, + unsigned char *Signal_Lost, + unsigned char *Signal_Lost_count, + unsigned char Lost_time) +{ + if (Pin == Lost_state) + { + (*Signal_Lost_count)++; + if ((*Signal_Lost_count) >= Lost_time) + { + *Signal_Lost_count = 0; + *Signal_Lost = 1; + } + } + else + { + *Signal_Lost_count = 0; + *Signal_Lost = 0; + } +} + +void IGN_Detect(void) +{ + static unsigned char IGN_last; + Signal_Lost_Detect(I_IGN_SIGN, 1, &IGN_Lost, &IGN_Lost_Count, 5); + Signal_Lost_Detect(I_IGN_SIGN, 0, &IGN_On, &IGN_On_Count, 5); + + if (IGN_On == 1) + { + ucIgnStus = IGN_ON; + } + else if (IGN_Lost == 1) + { + ucIgnStus = IGN_OFF; + + PWN_KEY = 0; + } + if (IGN_last != ucIgnStus) + { + IGN_last = ucIgnStus; + if (IGN_ON == ucIgnStus) + C0CTRH &= ~0x0300; // 璁剧疆姝e父妯″紡 + } +} + +void LED_Light_Ctrl(void) +{ + +} + + +/*****************diagnostic******************/ + +void getIGNVoltage(unsigned char* data) +{ + data[0] = (uint8_t)SupplyVoltage; +} diff --git a/ECU_APP/user/appTask.h b/ECU_APP/user/appTask.h new file mode 100644 index 0000000..dd85a55 --- /dev/null +++ b/ECU_APP/user/appTask.h @@ -0,0 +1,121 @@ +#ifndef _DMK_VF12_03_H +#define _DMK_VF12_03_H + + +#include "r_cg_macrodriver.h" + +#include "r_cg_userdefine.h" +#include "r_rl78_can_sfr.h" +#include "r_rl78_can_drv.h" +#include "can_user.h" +#include "pfdl.h" +#include "dcm.h" +#include "CanNw.h" + + +/***********************************************/ +typedef struct{ + unsigned int start; + unsigned int zysoft1; + unsigned int zysoft2; + unsigned int zynow; + unsigned int kbsoft1; + unsigned int kbsoft2; + unsigned int kbnow; + unsigned int checksum; + unsigned int stop; +}MotorStateEE_Type; +extern MotorStateEE_Type MotorStateEE; + + + +#define IGN_ON 0u +#define IGN_OFF 1u + + +typedef unsigned char u8; +typedef unsigned int u16; + +extern unsigned char TB9102_Enable,TB9102_Disable_count; +extern unsigned char Motor_init_15s_count; + +extern u16 ad[8]; +extern u8 ad_voltage_fact[8]; + + +extern unsigned long Can_1ms_count_alive; + +extern u8 RES_CYC_SET,RES_RDEF_SET,RES_CYC_SET_last; +extern u8 RES_MODE_SET,RES_MODE_SET_last; +extern u8 LAST_FAN_SET; + +extern unsigned int EEL_SAVE_CNT_DOWN_TIMER; + +extern unsigned char AppliTick; +extern unsigned char AppliSchedule; +extern u8 RDEF_OUT_FLAG,RDEF_CNT; +extern u16 key_dither; +extern u16 RecurrenceRunTime; + +extern unsigned char OFF_state,OFF_to_Fre,OFF_Fan_0,OFF_AC_off,OFF_Temp_0; +extern unsigned char FrontDef,FrontDef_to_Fre,FrontDef_AC_on,FrontDef_Fan_6; + +/*********************Network Manage****************************/ +extern unsigned char ucIgnStus; +extern unsigned int uiBusOffCnt; + + +void Apply_task(void); + +void EEL_READ(void); +void EEL_WRITE(void); +void EEL_Write_Enable_Check(void); + +void DID_data_save_init(void); +void BusOff_Detect(void); + +void IGN_Voltage_Detect(void); +void WakeUP(void); + + + + +void TAU0_Channel1_ChangeDuty(unsigned char ratio); + + +/**************************VF12*************************************/ +extern unsigned char Timer_1ms_flag; +extern unsigned char Timer_5ms_flag; +extern unsigned char Timer_10ms_flag; +extern unsigned char Timer_20ms_flag; +extern unsigned char Timer_50ms_flag; +extern unsigned char Timer_1000ms_flag; + + +#define PWN_KEY P1_bit.no3 +#define I_IGN_SIGN P1_bit.no7 + + + + +extern unsigned char IGN_Lost,IGN_Lost_Count; +extern unsigned char IGN_On,IGN_On_Count; + + + +void KeyPro(void); +void Can_Msg_Change(void); +void CAN_RX_Data_Handle(void); + +void SleepDetect(void); +void WakeUP(void); +void Signal_Lost_Detect(unsigned char Pin,unsigned char Lost_state,unsigned char *Signal_Lost,unsigned char *Signal_Lost_count,unsigned char Lost_time); +void IGN_Detect(void); +void LED_Light_Ctrl(void); +void value_init(void); +void R_MAIN_UserInit(void); + + +void getIGNVoltage(unsigned char* data); + +#endif \ No newline at end of file diff --git a/ECU_APP/user/can_user.c b/ECU_APP/user/can_user.c new file mode 100644 index 0000000..49073fd --- /dev/null +++ b/ECU_APP/user/can_user.c @@ -0,0 +1,169 @@ +#include "r_cg_macrodriver.h" +#include "r_cg_userdefine.h" +#include "r_rl78_can_sfr.h" +#include "r_rl78_can_drv.h" +#include "appTask.h" +#include "can_user.h" +#include "CanNw.h" +#include "PINdef.h" +#include "extern.h" +#include "hwCtrl.h" + + +#define C_100MS_1MS 20 + +unsigned char App28sTxRxStatus = 3; +unsigned char Nw28sTxRxStatus = 3; + + +can_frame_t TxCanMessage; +can_frame_t TxCanMessage1; +can_frame_t RxCanMessage; + +unsigned char CAN_SEND_COMPLETE; +uint16_t air_req_timer = C_100MS_1MS; + +unsigned char BusOff_flag = 0; +unsigned char BusOff_IGN_cycle_count = 0; +unsigned int BusOff_Detect_delay_count = 2000; + + +unsigned char Can_2F_SET_run = 0; +unsigned char DiagnosticSession_Present = 1; // +unsigned char Tx_Rx_Enable = 3; // 0:none 1:Tx 2:Rx 3:Tx Rx + +Can_Msg_Type_50A CAN_50A; +Can_Msg_Type_403 CAN_403; +Can_Msg_Type_26D CAN_26D; +extern uint16_t g_adval[12]; + +extern uint16_t ZYMotorLocation; +extern uint16_t KBMotorLocation; + +void Copy_Array_to_Array(unsigned char *dest, unsigned char *src, unsigned char count) +{ + unsigned char i = 0; + + while (i < count) + { + i++; + *dest++ = *src++; + } +} + +void Can_Msg_Change_Bcm(void) +{ + Copy_Array_to_Array(TxCanMessage.DB, CAN_50A.Msg_Byte, 8); +} + +void CAN_TX_MESSAGE_INIT(void) +{ + CAN_STB = 0; + TxCanMessage.IDE = 0; /* IDE 0:Standard 1:Extend */ + TxCanMessage.RTR = 0; /* RTR 0:Data 1:Remote */ + TxCanMessage.THDSE = 0; /* Transmit History Data Store Enable */ +#if NOW_BOARD == LEFT_BOARD + TxCanMessage.IDL = 0x50A; /* ID Data (low) */ +#else + TxCanMessage.IDL = 0x50B; /* ID Data (low) */ +#endif + TxCanMessage.IDH = 0; /* ID Data (high) */ + TxCanMessage.DLC = 8; /* DLC Data */ + TxCanMessage.LBL = 0; /* Label Data */ + TxCanMessage.TS = 0; /* Timestamp Data */ + Can_Msg_Change_Bcm(); +} + +//extern uint8_t flagOverCurrentKB,flagOverCurrentZY; +uint8_t txbuf1[8],txbuf2[8],txbuf3[8]; +void TxTestMsg(void) +{ + + if ((App28sTxRxStatus & DCM28S_MASK_TX_DISABLE) == 0) + { + return; + } + +} +//绔嬪嵆鍙戦 +void ClearTxCounter(void) +{ + Can_Msg_Change(); + air_req_timer = 0; +} +extern unsigned char rollingcounter; +void TxServe(void) +{ + Can_RtnType re_flag; + static unsigned char sucNwSendCnt = 0; + + //////////////////////////////////////////////////////////////////////// + if ((ucNwSendPduType == SEND_NWAPP_PDU) || (ucNwSendPduType == SEND_APP_PDU)) + { + if (ucNwSendPduType == SEND_NWAPP_PDU) + { + if (uiNwPduCycCnt == 0) + { + uiNwPduCycCnt = uiSetNwPduCycVal; + if ((Nw28sTxRxStatus & DCM28S_MASK_TX_DISABLE) != 0) + { + //R_CAN_TrmByTRFIFO0_CH0(&TxCanNwPdu_436); + if (ImmediateNM_count < 5) + ImmediateNM_count++; + } + } + sucNwSendCnt = 0; + } + else + { + if (sucNwSendCnt > 0) + { + if (uiNwPduCycCnt == 0) + { + sucNwSendCnt--; + uiNwPduCycCnt = uiSetNwPduCycVal; + if ((Nw28sTxRxStatus & DCM28S_MASK_TX_DISABLE) != 0) + { + R_CAN_TrmByTRFIFO0_CH0(&TxCanNwPdu_436); + if (ImmediateNM_count < 5) + ImmediateNM_count++; + } + } + } + } + + } + else + { + ; /*sotp can transmit*/ + } + //CAN_STB = 0; + if ((air_req_timer == 0) && ((App28sTxRxStatus & DCM28S_MASK_TX_DISABLE) != 0))// + { + + Can_Msg_Change_Bcm(); + re_flag = R_CAN_TrmByTRFIFO0_CH0(&TxCanMessage); + + //TxTestMsg(); + air_req_timer = C_100MS_1MS; + + rollingcounter++; + if (rollingcounter > 15) + { + rollingcounter = 0; + } + + } +} + +void Can_init_id(can_frame_t *TxMessage, unsigned int canid) +{ + TxMessage->IDE = 0; + TxMessage->RTR = 0; + TxMessage->THDSE = 0; + TxMessage->IDL = canid; + TxMessage->IDH = 0x0000; + TxMessage->DLC = 8; + TxMessage->LBL = 0; + TxMessage->TS = 0; +} \ No newline at end of file diff --git a/ECU_APP/user/can_user.h b/ECU_APP/user/can_user.h new file mode 100644 index 0000000..1a6bcaf --- /dev/null +++ b/ECU_APP/user/can_user.h @@ -0,0 +1,157 @@ +#ifndef _CAN_USER_H +#define _CAN_USER_H + +#include "r_rl78_can_drv.h" + + +typedef union{ + unsigned int Msg_Word[4]; + unsigned char Msg_Byte[8]; + struct{ + unsigned char MSW_PsdBtnReq:2;//byte1 + unsigned char MSW_RotReq:2; + unsigned char MSW_TogReq:4; + unsigned char MSW_BtnFltSts:1;//byte2 + unsigned char Reserve_1:7; + unsigned char MSW_RotStep:8;//byte3 + unsigned char Reserve_3:8;//byte4 + unsigned char Reserve_4:8;//byte5 + unsigned char Reserve_5:8;//byte6 + unsigned char Reserve_6:8;//byte7 + unsigned char Reserve_7:8;//byte8 + }Msg_Part; +}Can_Msg_Type_212; + + + + +extern can_frame_t RxCanMessage; + +extern unsigned char BusOff_flag; +extern unsigned char BusOff_IGN_cycle_count; +extern unsigned int BusOff_Detect_delay_count; + +extern unsigned char Engine_Temperature,Engine_Temperature_temp; +extern unsigned int Vehicle_Speed,Vehicle_Speed_temp; +extern unsigned char Engine_Temperature_already,Vehicle_Speed_already; + + +extern uint16_t air_req_timer; +extern unsigned char CAN_SEND_COMPLETE; + +extern unsigned char Can_2F_SET_run; +extern unsigned char DiagnosticSession_Present;//1,2,3 +extern unsigned char Tx_Rx_Enable;//0:none 1:Tx 2:Rx 3:Tx Rx + +extern unsigned char Nw28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx +extern unsigned char App28sTxRxStatus;//0:none 1:Tx 2:Rx 3:Tx Rx + +#define DCM28S_MASK_TX_DISABLE 0X01 +#define DCM28S_MASK_RX_DISABLE 0X02 + +void TxServe(void); +void CAN_TX_MESSAGE_INIT(void); +void Copy_Array_to_Array(unsigned char *dest, unsigned char *src,unsigned char count); + + + + +/*************************VF12***********************************/ + +typedef union{ + unsigned int Msg_Word[4]; + unsigned char Msg_Byte[8]; + struct{ + unsigned char :8; //1 0-7 + unsigned char :8; //2 8-15 + unsigned char :8; //3 16-23 + unsigned char :8; //4 24-31 + unsigned char :3; //5 32-34 + unsigned char Backlightadjust:5;//5 35-39 + unsigned char :8; //6 40-47 + unsigned char :8; //7 48-55 + unsigned char :8; //8 56-63 + }Msg_Bit; +}Can_Msg_Type_26D; + + +typedef union{ + unsigned int Msg_Word[4]; + unsigned char Msg_Byte[8]; + struct{ + unsigned char :8;//1 + unsigned char VCU_VehSpd1:3;//2 + unsigned char :5; + unsigned char VCU_VehSpd2:8;//3 + unsigned char :6;//4 + unsigned char VCU_VehSpd3:2; + + unsigned char :8;//5 + unsigned char :8;//6 + unsigned char :8;//7 + unsigned char :8;//8 + }Msg_Bit; +}Can_Msg_Type_403; + +typedef union{ + unsigned int Msg_Word[4]; + unsigned char Msg_Byte[8]; + struct{ + //BYTE 1 + unsigned char LB:1; //鍠囧彮寮鍏 + unsigned char ZZ:1; //宸﹁浆鍚戝紑鍏 + unsigned char YZ:1; //鍙宠浆鍚戝紑鍏 + unsigned char ZXFW:1; //杞悜澶嶄綅寮鍏 + unsigned char JS:1; //璀︾ず寮鍏 + unsigned char YJ:1; //杩滆繎鍏夊紑鍏 + unsigned char CC:1; //瓒呰溅寮鍏 + unsigned char DD:1; //澶х伅寮鍏 + //BYTE 2 + unsigned char DFS:1; //鎸¢鐜荤拑璋冭妭寮鍏筹紙鍗囷級 + unsigned char DFJ:1; //鎸¢鐜荤拑璋冭妭寮鍏筹紙闄嶏級 + unsigned char MS:1; //浠〃纭寮鍏筹紙妯″紡閫夋嫨锛 + unsigned char YBFH:1; //浠〃杩斿洖寮鍏 + unsigned char YBS:1; //浠〃璋冭妭寮鍏筹紙涓婏級 + unsigned char YBX:1; //浠〃璋冭妭寮鍏筹紙涓嬶級 + unsigned char QD:1; //鍚姩寮鍏 + unsigned char XH:1; //鐔勭伀寮鍏 + //BYTE 3 + unsigned char WBJR:1;//鎻℃妸鍔犵儹寮鍏 + unsigned char ZYJR:1;//搴ф鍔犵儹寮鍏 + unsigned char YD:1;//澶滅伅寮鍏 + unsigned char TCS:1;//TCS + unsigned char reverse1:4;// + //BYTE 4/5/6 + unsigned char reverse2:8;// + unsigned char reverse3:8;// + unsigned char reverse4:8;// + //BYTE 7 + unsigned char rolling:4;//鎶ユ枃璁℃暟鍣 + unsigned char reverse5:4;// + //BYTE 8 + unsigned char checksum:8;//5 + }Msg_Bit; +}Can_Msg_Type_50A; + +extern Can_Msg_Type_50A CAN_50A; +extern Can_Msg_Type_403 CAN_403; +extern Can_Msg_Type_26D CAN_26D; +extern unsigned int CAN_LostCount; + + + + + + + + + + + + +extern void Can_init_id(can_frame_t *TxMessage,unsigned int canid); +void TxTestMsg(void); +void ClearTxCounter(void); + + +#endif \ No newline at end of file diff --git a/ECU_APP/user/hwCtrl.c b/ECU_APP/user/hwCtrl.c new file mode 100644 index 0000000..a01f4b2 --- /dev/null +++ b/ECU_APP/user/hwCtrl.c @@ -0,0 +1,186 @@ + +#include "hwCtrl.h" +#include "r_cg_port.h" +#include "iodefine.h" +#include "PINdef.h" +#include "r_cg_adc.h" +static uint8_t keystate[KEY_NUM] = {0}; +static uint8_t keyPressFlag[KEY_NUM] = {0}; +static uint8_t keyReleaseFlag[KEY_NUM] = {0}; +static uint16_t keydelay[KEY_NUM] = {0}; +uint16_t g_adval[12]; + +#define KEY_DELAY_TIMES 20 //20Ms +#define KEY_LONG_TIMES 500 //500Ms +void ClearKeyState(void) +{ + uint8_t i; + for (i = 0; i < KEY_NUM; i++) + { + keystate[i] = 0; + keyPressFlag[i] = 0; + keyReleaseFlag[i] = 0; + } +} +void setKeyPressFlag(uint8_t id) +{ + id--; + if (id < KEY_NUM) + { + keyPressFlag[id] = KEY_PRESSED; + } +} +void setKeyReleaseFlag(uint8_t id) +{ + id--; + if (id < KEY_NUM) + { + keyReleaseFlag[id] = KEY_PRESSED; + } +} +uint8_t getKeyPressFlag(uint8_t id) +{ + uint8_t retVal = KEY_NOPRESSED; + id--; + if (id < KEY_NUM) + { + retVal = keyPressFlag[id]; + keyPressFlag[id] = KEY_NOPRESSED; + } + return retVal; +} +uint8_t getKeyReleaseFlag(uint8_t id) +{ + uint8_t retVal = KEY_NOPRESSED; + id--; + if (id < KEY_NUM) + { + retVal = keyReleaseFlag[id]; + keyReleaseFlag[id] = KEY_NOPRESSED; + } + return retVal; +} + +void KeyScan(void)//1ms +{ + uint8_t i,key; + for (i = 0; i < KEY_NUM; i++) + { + key = GetIOState(i+1); + if (key == KEY_PRESSED) + { + keydelay[i]++; + if (keydelay[i] >= KEY_DELAY_TIMES) + { + keystate[i] = KEY_PRESSED; + + } + } + else if(key == KEY_NOPRESSED) + { + if(keydelay[i] > 5)keydelay[i] = 5; + if (keydelay[i] > 0) + { + keydelay[i]--; + } + else + { + keystate[i] = KEY_NOPRESSED; + } + } + } + +} + + +uint8_t GetIOState(uint8_t keyno) +{ + switch (keyno) + { + //KEY + case KEYID_LB : + return KEY_LB==0?1:0; + case KEYID_ZZ : + return KEY_ZZ==0?1:0; + case KEYID_YZ : + return KEY_YZ==0?1:0; + case KEYID_ZXFW: + return KEY_ZXFW==0?1:0; + case KEYID_JS : + return KEY_JS==0?1:0; + case KEYID_YJ : + return KEY_YJ==0?1:0; + case KEYID_CC : + return KEY_CC==0?1:0; + case KEYID_DD : + return KEY_DD==0?1:0; + case KEYID_DFS : + return KEY_DFS==0?1:0; + case KEYID_DFJ : + return KEY_DFJ==0?1:0; + case KEYID_MS : + return KEY_MS==0?1:0; + case KEYID_YBFH: + return KEY_YBFH==0?1:0; + case KEYID_YBS : + return KEY_YBS==0?1:0; + case KEYID_YBX : + return KEY_YBX==0?1:0; + case KEYID_QD : + return KEY_QD==0?1:0; + case KEYID_XH : + return KEY_XH==0?1:0; + case KEYID_WBJR: + return KEY_WBJR==0?1:0; + case KEYID_ZYJR: + return KEY_ZYJR==0?1:0; + case KEYID_YD : + return KEY_YD==0?1:0; + case KEYID_TCS : + return KEY_TCS==0?1:0; + + default: + return 0; + } +} + +uint8_t GetKeyState(uint8_t keyno) +{ + if (keyno > 0 && keyno <= KEY_NUM) + { + return keystate[keyno-1]; + } + return KEY_NOPRESSED; +} + + +uint16_t getAdval(uint8_t ch) +{ + if (ch < 1) + { + return g_adval[ch]; + } + + return 0; +} + +void ad_handle(void) +{ + //uint8_t adch=0; + //adch = ADS - 2; + R_ADC_Get_Result(&g_adval[0]);//adch + /* + adch++; + if (adch > 6) + { + adch = 0; + } + + ADS = adch + 2; + */ +} + + +/*****************diagnostic******************/ + + diff --git a/ECU_APP/user/hwCtrl.h b/ECU_APP/user/hwCtrl.h new file mode 100644 index 0000000..e1862ea --- /dev/null +++ b/ECU_APP/user/hwCtrl.h @@ -0,0 +1,26 @@ + +#ifndef __HWCTRL_H__ +#define __HWCTRL_H__ +#include "r_cg_macrodriver.h" + + + +#define KEY_Long_PRESSED 2 +#define KEY_PRESSED 1 +#define KEY_NOPRESSED 0 + + + + +uint8_t GetKeyState(uint8_t keyno); +void KeyScan(void); +uint8_t GetIOState(uint8_t keyno); +void ad_handle(void); +uint16_t getAdval(uint8_t ch); +void ClearKeyState(void); +uint8_t getKeyReleaseFlag(uint8_t id); +uint8_t getKeyPressFlag(uint8_t id); + + + +#endif