From 757d608ad47128b85d4ba43e068cf40a341670e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A8?= =?UTF-8?q?=D1=82=D0=B5=D0=B9=D0=B1=D0=B5=D0=B7=D0=B0=D0=BD=D0=B4=D1=82?= Date: Mon, 1 Jun 2026 15:19:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B8=D0=BB=D1=8F=20=D0=B1?= =?UTF-8?q?=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Core/Inc/protocan.h | 487 ++-- Core/Src/can.c | 8 +- Core/Src/main.c | 2 +- Core/Src/protocan.c | 701 ++--- Core/Src/tim.c | 3 +- MDK-ARM/F103C8T6.uvguix.Iurii | 224 +- MDK-ARM/F103C8T6.uvoptx | 408 +-- MDK-ARM/F103C8T6/F103C8T6.axf | Bin 206468 -> 209276 bytes MDK-ARM/F103C8T6/F103C8T6.build_log.htm | 6 +- MDK-ARM/F103C8T6/F103C8T6.hex | 3159 ++++++++++++----------- MDK-ARM/F103C8T6/F103C8T6.htm | 346 +-- MDK-ARM/F103C8T6/F103C8T6.map | 1500 +++++------ MDK-ARM/F103C8T6/F103C8T6_F103C8T6.dep | 28 +- MDK-ARM/F103C8T6/can.o | Bin 9724 -> 9724 bytes MDK-ARM/F103C8T6/main.o | Bin 5616 -> 5588 bytes MDK-ARM/F103C8T6/protocan.o | Bin 49876 -> 53644 bytes MDK-ARM/F103C8T6/tim.o | Bin 11244 -> 11244 bytes 17 files changed, 3335 insertions(+), 3537 deletions(-) diff --git a/Core/Inc/protocan.h b/Core/Inc/protocan.h index c83157a..01aa8fc 100644 --- a/Core/Inc/protocan.h +++ b/Core/Inc/protocan.h @@ -8,270 +8,245 @@ #define ONLINE 1; #define OFFLINE 0; -// TIM defines -#define TIM_PROTOCAN_Prescaler 64000 - -//CAN Speed -#define CAN_SPEED_PRSC_1000KB 2 -#define CAN_SPEED_PRSC_500KB 4 -#define CAN_SPEED_PRSC_250KB 8 -#define CAN_SPEED_PRSC_125KB 16 -#define CAN_SPEED_PRSC_50KB 40 -#define CAN_CURRENT_SPEED CAN_SPEED_PRSC_250KB - -//CAN Filter #define ID_MAIN_DEVICE 0x000 - #define CURRENT_TYPE_DEVICE 0b001 #define CURRENT_ID_DEVICE 0b0010 -#define CAN_IDE_32 0b00000100 // Для 32-х битного масштаба - -#define CAN_DATA_TYPE_FILTER 0x1F000000 -#define CAN_DEVICE_ID_FILTER 0x000000FF -#define CAN_SENSOR_TYPE_FILTER 0x00F80000 -#define CAN_SENSOR_ID_FILTER 0x0007FF00 - -typedef union{ - struct bitfield{ - unsigned bit0:1; - unsigned bit1:1; - unsigned bit2:1; - unsigned bit3:1; - unsigned bit4:1; - unsigned bit5:1; - unsigned bit6:1; - unsigned bit7:1; - }Bitfield; - char AllBit; -}Byte; - -_Bool IsLeapYear(uint8_t year); - -#define COUNT_OF_MODBUS_SECTIONS 1 -#define MODBUS_SECTION_MASK 0 -#define MODBUS_SECTION_FILTER 1 +#define PROTOCAN_RX_BUFFER_SIZE 128 #define SensorToModbusRegister(SensorType, SensorID) SensorType << 11 | SensorID #define HighByteOfWord(WORD) (WORD>>8)&0xFF #define LowByteOfWord(WORD) WORD&0xFF -//Priority level -#define PRIORITY_CRITICAL 0 -#define PRIORITY_STANDARD 1 +/** + * @brief Статус инициализации протокола CAN. + * + * Это перечисление описывает возможные статусы после попытки инициализации. + */ +typedef enum +{ + PROTOCAN_INIT_OK = 0x00U, /**< Инициализация прошла успешно. */ + PROTOCAN_INIT_HCAN_ERROR = 0x01U, /**< Ошибка при инициализации модуля CAN. */ + PROTOCAN_INIT_HRTC_ERROR = 0x02U, /**< Ошибка при инициализации модуля RTC. */ + PROTOCAN_INIT_TIM_ERROR = 0x04U /**< Ошибка при инициализации таймера. */ +} PROTOCAN_INIT_StatusTypeDef; -//Route mode -#define ROUTE_MASTER 1 -#define ROUTE_SLAVE 0 +/** + * @brief Статус выполнения операции протокола CAN. + * + * Это перечисление описывает возможные результаты выполнения функций протокола. + */ +typedef enum +{ + PROTOCAN_OK = 0x00U, /**< Операция прошла успешно. */ + PROTOCAN_ERROR = 0x01U, /**< Обнаружена ошибка во время выполнения. */ + PROTOCAN_BUSY = 0x02U, /**< Канал занят, выполнение невозможно в данный момент. */ + PROTOCAN_TIMEOUT = 0x03U /**< Истек таймаут ожидания. */ +} PROTOCAN_StatusTypeDef; -//Data Types -#define DATA_TYPE_BROADCAST 0b0000 -#define DATA_TYPE_DISCRETE 0b0001 -#define DATA_TYPE_ANALOG 0b0010 -#define DATA_TYPE_GENERAL_ADDRESS_SPACE 0b0011 -#define DATA_TYPE_MODBUS_COIL 0b0100 -#define DATA_TYPE_MODBUS_DISCRETE 0b0101 -#define DATA_TYPE_MODBUS_HOLDING 0b0110 -#define DATA_TYPE_MODBUS_INPUT 0b0111 -#define DATA_TYPE_ERROR 0b1000 -#define DATA_TYPE_PULSE 0b1111 +/** + * @brief Уровень приоритета CAN-сообщения. + * + * Это перечисление определяет важность и приоритет обработки сообщения. + */ +typedef enum { + PROTOCAN_PRIORITY_CRITICAL = 0, /**< Критический приоритет, рекомендуется обработка без задержек. */ + PROTOCAN_PRIORITY_STANDARD = 1 /**< Стандартный приоритет, менее важный. */ +} ProtoCanPriorityType; -//Sensor Types for DATA_TYPE_BROADCAST -#define SENSOR_TYPE_BROADCAST_STATUS 0b000000000000 -#define SENSOR_TYPE_BROADCAST_ONOFF 0b000000000001 -#define SENSOR_TYPE_BROADCAST_RESTARTDEVICE 0b000000000010 -#define SENSOR_TYPE_BROADCAST_RTCSETUP 0b000000000011 +/** + * @brief Маршрут CAN-сообщения. + * + * Это перечисление задает направление маршрута отправки сообщения. + */ +typedef enum { + PROTOCAN_ROUTE_FROM_PM = 0, /**< Сообщение отправляется от управляющего модуля (PM). */ + PROTOCAN_ROUTE_FROM_DEVICE = 1 /**< Сообщение отправляется от устройства (Device). */ +} ProtoCanRouteType; -//Sensor Types for DATA_TYPE_DISCRETE -#define SENSOR_TYPE_DISCRETE_ACCIDENT 0b0000 -#define SENSOR_TYPE_DISCRETE_WARNING 0b0001 -#define SENSOR_TYPE_DISCRETE_CONTROL_SIGNALS 0b0010 -#define SENSOR_TYPE_DISCRETE_FLAGS 0b0011 -#define SENSOR_TYPE_DISCRETE_RESET 0b0100 -#define SENSOR_TYPE_DISCRETE_CHANGE_MODE 0b0101 -#define SENSOR_TYPE_DISCRETE_REQUEST_LIST_OF_PARAMETERS 0b0110 +/** + * @brief Типы сообщений CAN. + * + * Перечисление определяет различные типы сообщений, используемые в протоколе. + */ +typedef enum { + PROTOCAN_MSGTYPE_BROADCAST = 0b0000, /**< Широковещательное сообщение. */ + PROTOCAN_MSGTYPE_DISCRETE = 0b0001, /**< Дискретное цифровое сообщение. */ + PROTOCAN_MSGTYPE_ANALOG = 0b0010, /**< Аналоговое сообщение. */ + PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE = 0b0011, /**< Сообщение общего адресного пространства. */ + PROTOCAN_MSGTYPE_MODBUS_COIL = 0b0100, /**< Сообщение Modbus - Coil. */ + PROTOCAN_MSGTYPE_MODBUS_DISCRETE = 0b0101, /**< Сообщение Modbus - Discrete. */ + PROTOCAN_MSGTYPE_MODBUS_HOLDING = 0b0110, /**< Сообщение Modbus - Holding. */ + PROTOCAN_MSGTYPE_MODBUS_INPUT = 0b0111, /**< Сообщение Modbus - Input. */ + PROTOCAN_MSGTYPE_ERROR = 0b1000, /**< Сообщение об ошибке. */ + PROTOCAN_MSGTYPE_PULSE = 0b1111, /**< Импульсное сообщение. */ +}ProtoCanMsgType; -//Sensor Types for DATA_TYPE_ANALOG -#define SENSOR_TYPE_ANALOG_UNIVERSAL 0b0000 -#define SENSOR_TYPE_ANALOG_USTAVKI 0b0001 -#define SENSOR_TYPE_ANALOG_U 0b0010 -#define SENSOR_TYPE_ANALOG_I 0b0011 -#define SENSOR_TYPE_ANALOG_T 0b0100 +/** + * @brief Типы широковещательных сообщений CAN. + * + * Перечисление задает различные типы широковещательных команд, используемых в протоколе. + */ +typedef enum { + PROTOCAN_BROADCAST_STATUS = 0b000000000000, /**< Статус устройства. */ + PROTOCAN_BROADCAST_ONOFF = 0b000000000001, /**< Включение/выключение устройства. */ + PROTOCAN_BROADCAST_RESTARTDEVICE = 0b000000000010, /**< Перезагрузка устройства. */ + PROTOCAN_BROADCAST_RTCSETUP = 0b000000000011, /**< Настройка RTC (часы реального времени). */ + PROTOCAN_BROADCAST_END = 0b111111111111 /**< Конец диапазона широковещательных сообщений. */ +}ProtoCanBroadcastType; -//Error Code -#define NONEXISTENT_ELEMENT 0x01 +/** + * @brief Структура и представление широковещательного сообщения CAN. + * + * Объединение позволяет обращаться к данным сообщения либо как к отдельным полям, либо как к целому 16-битному значению. + */ +typedef union{ + struct msgBody_Broadcast{ + unsigned Body:4; /**< Поле для дополнительных данных или кода задачи (4 бита). */ + ProtoCanBroadcastType Type:12; /**< Тип широковещательного сообщения (12 бит). */ + } Fields; /**< Структура с разбивкой по полям. */ + unsigned Body; /**< Общее 16-битное представление сообщения. */ +} msgBodyBroadcastType; -#define HighIdFilter(x) x<<24 +/** + * @brief Типы дискретных сообщений CAN. + * + * Перечисление задает различные виды дискретных команд или событий. + */ +typedef enum { + PROTOCAN_DISCRETE_ACCIDENT = 0b0000, /**< Аварийное состояние. */ + PROTOCAN_DISCRETE_WARNING = 0b0001, /**< Предупредительный сигнал. */ + PROTOCAN_DISCRETE_CONTROL_SIGNALS = 0b0010, /**< Управляющие сигналы. */ + PROTOCAN_DISCRETE_FLAGS = 0b0011, /**< Флаги состояния. */ + PROTOCAN_DISCRETE_RESET = 0b0100, /**< Сброс устройства. */ + PROTOCAN_DISCRETE_CHANGE_MODE = 0b0101, /**< Смена режима работы. */ + PROTOCAN_DISCRETE_REQUEST_LIST_OF_PARAMETERS = 0b0110, /**< Запрос списка параметров. */ + PROTOCAN_DISCRETE_END = 0b1111 /**< Конец диапазона дискретных сообщений. */ +}ProtoCanDiscreteType; + +/** + * @brief Структура и представление дискретного сообщения CAN. + * + * Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению. + */ +typedef union{ + struct msgBody_Discrete{ + unsigned Body:12; /**< Поле данных или кода (12 бит). */ + ProtoCanDiscreteType Type:4; /**< Тип дискретного сообщения (4 бита). */ + } Fields; /**< Структура с разбивкой по полям. */ + unsigned Body; /**< Общее 16-битное представление сообщения. */ +} msgBodyDiscreteType; + +/** + * @brief Типы аналоговых сообщений CAN. + * + * Перечисление определяет различные типы аналоговых данных или команд. + */ +typedef enum { + PROTOCAN_ANALOG_UNIVERSAL = 0b0000, /**< Универсальный тип. */ + PROTOCAN_ANALOG_SETTINGS = 0b0001, /**< Настройки. */ + PROTOCAN_ANALOG_U = 0b0010, /**< Напряжение (U). */ + PROTOCAN_ANALOG_I = 0b0011, /**< Ток (I). */ + PROTOCAN_ANALOG_T = 0b0100, /**< Температура (T). */ + PROTOCAN_ANALOG_END = 0b1111 /**< Конец диапазона типов. */ +}ProtoCanAnalogType; + +/** + * @brief Структура и представление аналогового сообщения CAN. + * + * Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению. + */ +typedef union{ + struct msgBody_Analog{ + unsigned SensorID:12; /**< Идентификатор датчика (12 бит). */ + ProtoCanAnalogType Type:4; /**< Тип аналоговых данных (4 бита). */ + } Fields; /**< Структура с разбивкой по полям. */ + unsigned Body; /**< Общее 16-битное представление сообщения. */ +}msgBodyAnalogType; + +/** + * @brief Структура и представление сообщения Modbus CAN. + * + * Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению. + */ +typedef union{ + struct msgBody_Modbus{ + unsigned RegCount:4; /**< Количество регистров (4 бита). */ + unsigned StrAdr:12; /**< Адрес строки или регистра (12 бит). */ + } Fields; /**< Поля структуры сообщения Modbus. */ + unsigned Body; /**< Общее 16-битное представление сообщения. */ +} msgBodyModbusType; + +/** + * @brief Структура и представление сообщения об ошибке CAN. + * + * Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению. + */ +typedef union{ + struct msgBody_Error{ + unsigned ErrorCode:8; /**< Код ошибки (8 бит). */ + unsigned Info:8; /**< Дополнительная информация (8 бит). */ + } Fields; /**< Поля ошибки. */ + unsigned Body; /**< Общее 16-битное представление сообщения об ошибке. */ +} msgBodyErrorType; struct controlflags{ unsigned IsPulse:1; unsigned IsRtrMode:1; }; -//Device settings +/** + * @brief Поля идентификатора протокола CAN. + * + * Объединение позволяет обращаться к различным полям идентификатора, а также как к 29-битному целому числу. + */ typedef union{ - struct msgBody_Broadcast{ - unsigned Page:4; - unsigned BroadcastType:12; - }Fields; - unsigned Body:16; -}msgBroadcastType; + struct protoCanIdFields{ + unsigned MsgBody:16; /**< Поле сообщения (16 бит). */ + ProtoCanMsgType MsgType:4; /**< Тип сообщения (4 бита). */ + unsigned DeviceID:4; /**< Идентификатор устройства (4 бита). */ + unsigned DeviceType:3; /**< Тип устройства (3 бита). */ + ProtoCanRouteType Route:1; /**< Маршрут (1 бит). */ + ProtoCanPriorityType Priority:1; /**< Приоритет (1 бит). */ + } Fields; /**< Структура с разбивкой по полям. */ + unsigned int BitAll:29; /**< Общее представление 29-битного идентификатора. */ +} ProtoCanId_t; -typedef union{ - struct msgBody_Discrete{ - unsigned Body:12; - unsigned Type:4; - }Fields; - unsigned Body:16; -}msgDiscreteType; +/** + * @brief Структура для общего адресного пространства CAN. + * + * Используется для хранения данных о регистре и его содержимом. + */ +typedef struct{ + struct ProtoCanGeneralAddressSpaceData{ + uint16_t RegStartAdr; /**< Начальный адрес регистров. */ + uint16_t *Data; /**< Указатель на массив данных. */ + unsigned RegCount; /**< Количество регистров. */ + } GeneralAddressSpaceData; +} ProtoCanData_t; -typedef union{ - struct msgBody_Analog{ - unsigned SensorID:12; - unsigned SensorType:4; - }Fields; - unsigned Body:16; -}msgAnalogType; - -typedef union{ - struct msgBody_Modbus{ - unsigned RegCount:4; - unsigned StrAdr:12; - }Fields; - unsigned Body:16; -}msgModbusType; - -typedef union{ - struct msgBody_Error{ - unsigned ErrorCode:8; - unsigned Info:8; - }Fields; - unsigned Body:16; -}msgErrorType; - -typedef union{ - struct extID_Fields{ - unsigned MsgBody:16; - unsigned MsgType:4; - unsigned DeviceID:4; - unsigned DeviceType:3; - unsigned Route:1; - unsigned Priority:1; - }Fields; - unsigned int BitAll:29; -}extID; - -struct device{ - unsigned Status:1; - extID ExtID; - unsigned TimeFromLastPulse; - unsigned LastPulseStep; -}; - -struct data{ - struct T_sens{ - char info[256]; - unsigned SensID; - unsigned AvrgValue; - unsigned LastTenValues[10]; - }TS; - - struct U_sens{ - char info[256]; - unsigned SensID; - unsigned AvrgValue; - unsigned LastTenValues[10]; - }Uu, Uv, Uw; - - struct I_sens{ - char info[256]; - unsigned SensID; - unsigned AvrgValue; - unsigned LastTenValues[10]; - }Iu, Iv, Iw; -}; - -struct received_request{ - extID RequestedExtID; - unsigned RequestedDLC; - uint8_t RxData[8]; - - //DATA_TYPE_DISCRETIC - union discreticflags{ - struct discretictype{ - unsigned Request_Accident:1; - unsigned Request_Warning:1; - unsigned Request_Control_Signals:1; - unsigned Request_Flags:1; - unsigned Request_Reset:1; - unsigned Request_List_of_Parameters:1; - }DiscreticType; - unsigned AllFlags:5; - }DiscreticFlags; - - //DATA_TYPE_BROADCAST - union broadcastflags{ - struct broadcasttype{ - unsigned Request_Status:1; - unsigned Request_OnOff:1; - unsigned Request_RTC_Setup:1; - }BroadcastType; - unsigned AllFlags:3; - }BroadcastFlags; - - //DATA_TYPE_ANALOG - union analogflags{ - struct analogtype{ - unsigned Request_Universal_Sens:1; - unsigned Request_U_Sens:1; - unsigned Request_I_Sens:1; - unsigned Request_T_Sens:1; - }AnalogType; - unsigned AllFlags:4; - }AnalogFlags; - - //DATA_TYPE_MODBUS - union modbusflags{ - struct modbustype{ - unsigned Coil:1; - unsigned Discrete:1; - unsigned Holding:1; - unsigned Input:1; - }ModbusType; - unsigned AllFlags:4; - }ModbusFlags; - - union sensor_To_Modbus{ - struct modbus{ - unsigned Count:8; - unsigned StrAdr:8; - }Modbus; - unsigned Sensor:16; - }SensorToModbus; - - unsigned ModbusFlag:1; -}; - -#define CAN_RX_BUFFER_SIZE 128 +/** + * @brief Структура данных устройства CAN. + * + * Включает статус, идентификатор, таймер последнего импульса и шаг последнего импульса. + */ +typedef struct{ + unsigned Status:1; /**< Статус устройства (флаг). */ + ProtoCanId_t Id; /**< Идентификатор CAN. */ + unsigned TimeFromLastPulse; /**< Время с последнего импульса (мс). */ + unsigned LastPulseStep; /**< Шаг последнего импульса. */ +} ProtoCanDevice_t; struct RXMsg{ struct INFO{ unsigned EXT:1; unsigned RTR:1; }info; - extID eID; + ProtoCanId_t eID; uint16_t DLC; uint8_t Data[8]; }; -typedef enum -{ - PROTOCAN_OK = 0x00U, - PROTOCAN_HCAN_ERROR = 0x01U, - PROTOCAN_HRTC_ERROR = 0x02U, - PROTOCAN_TIM_ERROR = 0x04U, -} PROTOCAN_INIT_StatusTypeDef; - uint16_t AvailableCanRxMsg(void); PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, @@ -280,39 +255,41 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, void PROTOCAN_DEINIT(uint8_t stage); void PROTOCAN_FILTERS(void); void PROTOCAN_LOOP(void); + void ProtoCanPulseCallback(TIM_HandleTypeDef *htim); void ProtoCanRxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan); -HAL_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToAnalogUSTAVKI(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg); -HAL_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg); -void ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg); -void ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg); -void ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg); -HAL_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg); -void ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogSettings(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg); -void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg); -HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToGeneralAddressSpace(struct RXMsg _rxMsg); -HAL_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg); -HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef CanRequestError(struct RXMsg _rxMsg); + +PROTOCAN_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg); +PROTOCAN_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg); void PROTOCAN_RTC_SYNC(uint8_t *data); diff --git a/Core/Src/can.c b/Core/Src/can.c index fbae66f..e640052 100644 --- a/Core/Src/can.c +++ b/Core/Src/can.c @@ -21,7 +21,13 @@ #include "can.h" /* USER CODE BEGIN 0 */ - +//CAN Speed +#define CAN_SPEED_PRSC_1000KB 2 +#define CAN_SPEED_PRSC_500KB 4 +#define CAN_SPEED_PRSC_250KB 8 +#define CAN_SPEED_PRSC_125KB 16 +#define CAN_SPEED_PRSC_50KB 40 +#define CAN_CURRENT_SPEED CAN_SPEED_PRSC_250KB /* USER CODE END 0 */ CAN_HandleTypeDef hcan; diff --git a/Core/Src/main.c b/Core/Src/main.c index fef4ea1..6c96e2d 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -92,9 +92,9 @@ int main(void) MX_RTC_Init(); MX_TIM4_Init(); /* USER CODE BEGIN 2 */ - HAL_CAN_Start(&hcan); if(PROTOCAN_INIT(&hcan, &hrtc, &htim4) == PROTOCAN_OK) { + HAL_CAN_Start(&hcan); HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE); PROTOCAN_LOOP(); } diff --git a/Core/Src/protocan.c b/Core/Src/protocan.c index f79b826..50554ce 100644 --- a/Core/Src/protocan.c +++ b/Core/Src/protocan.c @@ -1,7 +1,7 @@ #include "protocan.h" -struct device CurrentDevice; -struct device Device_on_the_Network[8][16]; +ProtoCanDevice_t CurrentDevice; +ProtoCanDevice_t Device_on_the_Network[8][16]; struct controlflags ControlFlags; CAN_HandleTypeDef *_HCAN = 0; @@ -10,7 +10,7 @@ TIM_HandleTypeDef *_HTIM = 0; uint8_t CurrentStep = 1; uint8_t LastStep = 0; -struct RXMsg rxMsg[CAN_RX_BUFFER_SIZE]; +struct RXMsg rxMsg[PROTOCAN_RX_BUFFER_SIZE]; /** * @brief Проверяет, является ли год високосным. @@ -33,7 +33,7 @@ _Bool IsLeapYear(uint8_t year) */ uint16_t AvailableCanRxMsg(void) { - return ((uint16_t)(CAN_RX_BUFFER_SIZE + (LastStep - CurrentStep + 1)))%CAN_RX_BUFFER_SIZE; + return ((uint16_t)(PROTOCAN_RX_BUFFER_SIZE + (LastStep - CurrentStep + 1)))%PROTOCAN_RX_BUFFER_SIZE; } void PROTOCAN_DEINIT(uint8_t stage) @@ -66,19 +66,19 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_Handl HAL_StatusTypeDef CAN_RC_RESULT = HAL_CAN_RegisterCallback(_HCAN, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID, ProtoCanRxFifo0MsgPendingCallback); if(CAN_RC_RESULT != HAL_OK) { PROTOCAN_DEINIT(initStage); - return PROTOCAN_HRTC_ERROR; + return PROTOCAN_INIT_HRTC_ERROR; } #endif } else { PROTOCAN_DEINIT(initStage); - return PROTOCAN_HCAN_ERROR; + return PROTOCAN_INIT_HCAN_ERROR; } initStage++; if(tmp_hrtc) { _HRTC = tmp_hrtc; } else { PROTOCAN_DEINIT(initStage); - return PROTOCAN_HRTC_ERROR; + return PROTOCAN_INIT_HRTC_ERROR; } initStage++; if(tmp_tim) { @@ -87,17 +87,17 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_Handl HAL_StatusTypeDef TIM_RC_RESULT = HAL_TIM_RegisterCallback(_HTIM, HAL_TIM_PERIOD_ELAPSED_CB_ID, ProtoCanPulseCallback); if(TIM_RC_RESULT != HAL_OK) { PROTOCAN_DEINIT(initStage); - return PROTOCAN_HRTC_ERROR; + return PROTOCAN_INIT_HRTC_ERROR; } #endif } else { PROTOCAN_DEINIT(initStage); - return PROTOCAN_TIM_ERROR; + return PROTOCAN_INIT_TIM_ERROR; } initStage++; PROTOCAN_FILTERS(); ControlFlags.IsPulse = 1; - return PROTOCAN_OK; + return PROTOCAN_INIT_OK; } /** @@ -111,264 +111,71 @@ PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_Handl */ void PROTOCAN_LOOP(void) { - //HAL_TIM_Base_Start_IT(&htim4); while(1) { if(AvailableCanRxMsg()) { - if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_ANALOG) + if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_ANALOG) { PROTOCAN_AnalogProcessing(rxMsg[CurrentStep]); } - else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_BROADCAST) + else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_BROADCAST) { PROTOCAN_BroadcastProcessing(rxMsg[CurrentStep]); } - else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_DISCRETE) + else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_DISCRETE) { PROTOCAN_DiscreticProcessing(rxMsg[CurrentStep]); } - else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_GENERAL_ADDRESS_SPACE) + else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE) { - PROTOCAN_GeneralAddressSpace_Answer(rxMsg[CurrentStep]); + ProtoCanMsgToGeneralAddressSpace(rxMsg[CurrentStep]); } - else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_COIL || - rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_DISCRETE || - rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_HOLDING || - rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_INPUT) + else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_COIL || + rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_DISCRETE || + rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_HOLDING || + rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_INPUT) { PROTOCAN_ModbusProcessing(rxMsg[CurrentStep]); } - else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_ERROR) + else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_ERROR) { CanRequestError(rxMsg[CurrentStep]); } - CurrentStep = (uint16_t)(CurrentStep + 1) % CAN_RX_BUFFER_SIZE; + CurrentStep = (uint16_t)(CurrentStep + 1) % PROTOCAN_RX_BUFFER_SIZE; } } } -/** -* @brief Функция обработки аналоговых запросов. -* @param struct RXMsg _rxMsg - структура для полученного сообщения. -* @details Функция, сортирующая запросы по типам и вызывающая соответствующие функции. Типы запросов: Универсальный, Уставки, Напряжение, Ток, Температура. -* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). -*/ -HAL_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg) -{ - msgAnalogType msg; - msg.Body = _rxMsg.eID.Fields.MsgBody; - switch (msg.Fields.SensorType) - { - case SENSOR_TYPE_ANALOG_UNIVERSAL: - { - return ProtoCanMsgToAnalogUniversal(_rxMsg); - break; - } - case SENSOR_TYPE_ANALOG_USTAVKI: - { - return ProtoCanMsgToAnalogUSTAVKI(_rxMsg); - break; - } - case SENSOR_TYPE_ANALOG_U: - { - return ProtoCanMsgToAnalogUSens(_rxMsg); - break; - } - case SENSOR_TYPE_ANALOG_I: - { - return ProtoCanMsgToAnalogISens(_rxMsg); - break; - } - case SENSOR_TYPE_ANALOG_T: - { - return ProtoCanMsgToAnalogTSens(_rxMsg); - break; - } - default: - //RESERVE SENSOR TYPE - return HAL_ERROR; - break; - } - return HAL_ERROR; -} - -/** -* @brief Функция ответа на запрос данных со всех датчиков. -* Создает сообщение с определенными данными и отправляет его через CAN-шину. -* @param _rxMsg Структура входящего сообщения, используется для формирования ID. -* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK. -*/ -__weak HAL_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg) -{ - CAN_TxHeaderTypeDef TxHeader; - uint32_t TxMailBox = 0; - uint8_t data[8]; - TxHeader.IDE = CAN_ID_EXT; - TxHeader.TransmitGlobalTime = DISABLE; - TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; - tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - TxHeader.ExtId = tmp_eID.BitAll; - TxHeader.DLC = 6; - data[0] = 'U'; - data[1] = 'N'; - data[2] = 'I'; - data[3] = 'V'; - data[4] = 'E'; - data[5] = 'R'; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); -} - -/** -* @brief Функция ответа на запрос уставок по CAN. -* Создает сообщение с определенными данными и отправляет его через CAN-шину. -* @param _rxMsg Структура входящего сообщения, используется только для формирования ID. -* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK. -*/ -__weak HAL_StatusTypeDef ProtoCanMsgToAnalogUSTAVKI(struct RXMsg _rxMsg) -{ - CAN_TxHeaderTypeDef TxHeader; - uint32_t TxMailBox = 0; - uint8_t data[8]; - TxHeader.IDE = CAN_ID_EXT; - TxHeader.TransmitGlobalTime = DISABLE; - TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; - tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - TxHeader.ExtId = tmp_eID.BitAll; - TxHeader.DLC = 7; - data[0] = 'U'; - data[1] = 'S'; - data[2] = 'T'; - data[3] = 'A'; - data[4] = 'V'; - data[5] = 'K'; - data[6] = 'I'; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); -} - -/** -* @brief Функция ответа на запрос данных с датчиков напряжения. -* Создает сообщение с указанными параметрами и отправляет его через CAN-шину. -* @param _rxMsg Структура входящего сообщения, используемая для формирования идентификатора и данных. -* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK при успешной отправке. -*/ -__weak HAL_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg) -{ - CAN_TxHeaderTypeDef TxHeader; - uint32_t TxMailBox = 0; - uint8_t data[8]; - TxHeader.IDE = CAN_ID_EXT; - TxHeader.TransmitGlobalTime = DISABLE; - TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; - tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - TxHeader.ExtId = tmp_eID.BitAll; - TxHeader.DLC = 6; - msgAnalogType msg; - msg.Body = _rxMsg.eID.Fields.MsgBody; - data[0] = 'U'; - data[1] = 'S'; - data[2] = 47 + msg.Fields.SensorID / 1000; - data[3] = 47 + msg.Fields.SensorID / 100 % 10; - data[4] = 47 + msg.Fields.SensorID / 10 % 10; - data[5] = 47 + msg.Fields.SensorID % 10; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); -} - -/** -* @brief Функция ответа на запрос данных с датчиков тока. -* Создает сообщение с определенными параметрами и отправляет его через CAN-шину. -* @param _rxMsg Структура входящего сообщения, используется для формирования идентификатора и данных. -* @return HAL_StatusTypeDef Статус операции HAL, например HAL_OK при успешной отправке. -*/ -__weak HAL_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg) -{ - CAN_TxHeaderTypeDef TxHeader; - uint32_t TxMailBox = 0; - uint8_t data[8]; - TxHeader.IDE = CAN_ID_EXT; - TxHeader.TransmitGlobalTime = DISABLE; - TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; - tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - TxHeader.ExtId = tmp_eID.BitAll; - TxHeader.DLC = 6; - msgAnalogType msg; - msg.Body = _rxMsg.eID.Fields.MsgBody; - data[0] = 'I'; - data[1] = 'S'; - data[2] = 47 + msg.Fields.SensorID / 1000; - data[3] = 47 + msg.Fields.SensorID / 100 % 10; - data[4] = 47 + msg.Fields.SensorID / 10 % 10; - data[5] = 47 + msg.Fields.SensorID % 10; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); -} - -/** -* @brief Функция ответа на запрос данных с датчиков температуры. -* Создает сообщение с определенным заголовком, формирует данные по ID сенсора и отправляет его через CAN. -* @param _rxMsg Структура полученного сообщения, которая используется для формирования идентификатора. -* @return HAL_StatusTypeDef Статус выполнения функции HAL, например HAL_OK при успехе. -*/ -__weak HAL_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg) -{ - CAN_TxHeaderTypeDef TxHeader; - uint32_t TxMailBox = 0; - uint8_t data[8]; - TxHeader.IDE = CAN_ID_EXT; - TxHeader.TransmitGlobalTime = DISABLE; - TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; - tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - TxHeader.ExtId = tmp_eID.BitAll; - TxHeader.DLC = 6; - msgAnalogType msg; - msg.Body = _rxMsg.eID.Fields.MsgBody; - data[0] = 'T'; - data[1] = 'S'; - data[2] = 47 + msg.Fields.SensorID / 1000; - data[3] = 47 + msg.Fields.SensorID / 100 % 10; - data[4] = 47 + msg.Fields.SensorID / 10 % 10; - data[5] = 47 + msg.Fields.SensorID % 10; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); -} - /** * @brief Функция обработки широковещательных запросов. * @param struct RXMsg _rxMsg - структура для полученного сообщения. * @details Функция, выполняющая команды, переданные в широковещательном формате с головного (master) устройства. Типы команд: Запрос статуса, запрос на включение или выключение, рестарт устройств, установка времени. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -HAL_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg) +PROTOCAN_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg) { - msgBroadcastType msg; + msgBodyBroadcastType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; - switch(msg.Fields.BroadcastType) + switch(msg.Fields.Type) { - case SENSOR_TYPE_BROADCAST_STATUS: + case PROTOCAN_BROADCAST_STATUS: { //Обработка запроса статуса устройства return ProtoCanMsgToBroadcastStatus(_rxMsg); } - case SENSOR_TYPE_BROADCAST_ONOFF: + case PROTOCAN_BROADCAST_ONOFF: { //Обработка запроса на вкл/выкл ProtoCanMsgToBroadcastOnOff(_rxMsg); break; } - case SENSOR_TYPE_BROADCAST_RESTARTDEVICE: + case PROTOCAN_BROADCAST_RESTARTDEVICE: { ProtoCanMsgToBroadcastRestart(_rxMsg); break; } - case SENSOR_TYPE_BROADCAST_RTCSETUP: + case PROTOCAN_BROADCAST_RTCSETUP: { //Обработка запроса на синхронизацию времени //С головным устройством @@ -377,10 +184,10 @@ HAL_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg) } default: //RESERVE SENSOR TYPE. - return HAL_ERROR; + return PROTOCAN_ERROR; break; } - return HAL_OK; + return PROTOCAN_OK; } /** @@ -389,7 +196,7 @@ HAL_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg) * @param _rxMsg Структура полученного по CAN запроса. * @return HAL_StatusTypeDef Статус операции HAL, например HAL_OK при успехе. */ -__weak HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -398,9 +205,9 @@ __weak HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg) TxHeader.DLC = 7; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; tmp_eID.Fields.DeviceType = CURRENT_TYPE_DEVICE; tmp_eID.Fields.DeviceID = CURRENT_ID_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; @@ -418,7 +225,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg) data[5] = DateToUpdate.Date; data[6] = DateToUpdate.WeekDay; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -427,9 +234,10 @@ __weak HAL_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg) * В данном случае — просто инвертирует его логическое значение. * @param _rxMsg Структура полученного CAN-сообщения (Пока не используется в функции). */ -__weak void ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg) { ControlFlags.IsPulse = !ControlFlags.IsPulse; + return PROTOCAN_OK; } /** @@ -438,15 +246,15 @@ __weak void ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg) * вызывает системный перезапуск. * @param _rxMsg Структура полученного CAN-сообщения с командой перезапуска. */ -__weak void ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg) { if(_rxMsg.DLC == 0) { - return; + return PROTOCAN_ERROR; } - msgBroadcastType msg; + msgBodyBroadcastType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; - if(msg.Fields.Page == (CURRENT_ID_DEVICE / (_rxMsg.DLC*8))) + if(msg.Fields.Body == (CURRENT_ID_DEVICE / (_rxMsg.DLC*8))) { uint64_t page = 0; for(int i = 0; i < _rxMsg.DLC; i++) @@ -458,7 +266,7 @@ __weak void ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg) NVIC_SystemReset(); } } - return; + return PROTOCAN_OK; } /** @@ -467,10 +275,10 @@ __weak void ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg) * вызывает функцию синхронизации RTC. * @param _rxMsg Структура полученного CAN-сообщения с данными для установки времени и даты. */ -__weak void ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg) { if(_rxMsg.DLC > 7) { - //ERROR + return PROTOCAN_ERROR; } else { int DaysCount_Normal[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}}; @@ -481,11 +289,13 @@ __weak void ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg) _rxMsg.Data[4] > 12 || _rxMsg.Data[5] > DaysCount_Normal[IsLeapYear(_rxMsg.Data[3])][_rxMsg.Data[4]] || _rxMsg.Data[6] > 6) { + return PROTOCAN_ERROR; //ERROR } else { PROTOCAN_RTC_SYNC(_rxMsg.Data); } } + return PROTOCAN_OK; } /** @@ -495,52 +305,52 @@ __weak void ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg) * @note Запрос на устройство. Головное (master) устройство запрашивает некоторое колличество параметров. В Data - 64 битовых адресса параметров, тип которых задаётся в Sensor ID. Имеется возможность запрашивать непоследовательные параметры. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -HAL_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg) +PROTOCAN_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg) { - msgDiscreteType msg; + msgBodyDiscreteType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; switch(msg.Fields.Type){ - case SENSOR_TYPE_DISCRETE_ACCIDENT: + case PROTOCAN_DISCRETE_ACCIDENT: { ProtoCanMsgToDiscreteAccident(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_WARNING: + case PROTOCAN_DISCRETE_WARNING: { ProtoCanMsgToDiscreteWarning(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_CONTROL_SIGNALS: + case PROTOCAN_DISCRETE_CONTROL_SIGNALS: { ProtoCanMsgToDiscreteControlSignals(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_FLAGS: + case PROTOCAN_DISCRETE_FLAGS: { ProtoCanMsgToDiscreteFlags(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_RESET: + case PROTOCAN_DISCRETE_RESET: { ProtoCanMsgToDiscreteReset(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_CHANGE_MODE: + case PROTOCAN_DISCRETE_CHANGE_MODE: { ProtoCanMsgToDiscreteChangeMode(_rxMsg); break; } - case SENSOR_TYPE_DISCRETE_REQUEST_LIST_OF_PARAMETERS: + case PROTOCAN_DISCRETE_REQUEST_LIST_OF_PARAMETERS: { ProtoCanMsgToDiscreteRequestListOfParameters(_rxMsg); break; } default: //RESERVE SENSOR TYPE. - return HAL_ERROR; + return PROTOCAN_ERROR; break; } - return HAL_OK; + return PROTOCAN_OK; } /** @@ -549,9 +359,9 @@ HAL_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg) * Можно реализовать отправку или обработку аварийных данных. * @param _rxMsg Входящее сообщение с данными запроса. */ -__weak void ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** @@ -560,9 +370,9 @@ __weak void ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg) * Можно реализовать обработку или ответ на предупреждения. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** @@ -571,9 +381,9 @@ __weak void ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg) * Можно реализовать управление сигналами. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** @@ -582,9 +392,9 @@ __weak void ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg) * Можно реализовать работу с флагами. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** @@ -592,9 +402,10 @@ __weak void ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg) * Выполняет программный рестарт системы. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg) { NVIC_SystemReset(); + return PROTOCAN_ERROR; } /** @@ -603,9 +414,9 @@ __weak void ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg) * Можно реализовать изменение режима работы. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** @@ -614,17 +425,63 @@ __weak void ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg) * Можно реализовать отправку списка параметров. * @param _rxMsg Входящее сообщение. */ -__weak void ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg) { - return; + return PROTOCAN_OK; } /** -* @brief Обработка и ответ на запрос общего адресного пространства. -* Формирует и передает сообщение с данными о статусе "GAS-XXXX", где XXXX — значение из сообщения _rxMsg. -* @param _rxMsg Структура входящего сообщения, содержит идентификатор и тело сообщения. +* @brief Функция обработки аналоговых запросов. +* @param struct RXMsg _rxMsg - структура для полученного сообщения. +* @details Функция, сортирующая запросы по типам и вызывающая соответствующие функции. Типы запросов: Универсальный, Уставки, Напряжение, Ток, Температура. +* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg) +PROTOCAN_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg) +{ + msgBodyAnalogType msg; + msg.Body = _rxMsg.eID.Fields.MsgBody; + switch (msg.Fields.Type) + { + case PROTOCAN_ANALOG_UNIVERSAL: + { + return ProtoCanMsgToAnalogUniversal(_rxMsg); + break; + } + case PROTOCAN_ANALOG_SETTINGS: + { + return ProtoCanMsgToAnalogSettings(_rxMsg); + break; + } + case PROTOCAN_ANALOG_U: + { + return ProtoCanMsgToAnalogUSens(_rxMsg); + break; + } + case PROTOCAN_ANALOG_I: + { + return ProtoCanMsgToAnalogISens(_rxMsg); + break; + } + case PROTOCAN_ANALOG_T: + { + return ProtoCanMsgToAnalogTSens(_rxMsg); + break; + } + default: + //RESERVE SENSOR TYPE + return PROTOCAN_ERROR; + break; + } + return PROTOCAN_ERROR; +} + +/** +* @brief Функция ответа на запрос данных со всех датчиков. +* Создает сообщение с определенными данными и отправляет его через CAN-шину. +* @param _rxMsg Структура входящего сообщения, используется для формирования ID. +* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -632,9 +489,155 @@ void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + TxHeader.ExtId = tmp_eID.BitAll; + TxHeader.DLC = 6; + data[0] = 'U'; + data[1] = 'N'; + data[2] = 'I'; + data[3] = 'V'; + data[4] = 'E'; + data[5] = 'R'; + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + +/** +* @brief Функция ответа на запрос уставок по CAN. +* Создает сообщение с определенными данными и отправляет его через CAN-шину. +* @param _rxMsg Структура входящего сообщения, используется только для формирования ID. +* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogSettings(struct RXMsg _rxMsg) +{ + CAN_TxHeaderTypeDef TxHeader; + uint32_t TxMailBox = 0; + uint8_t data[8]; + TxHeader.IDE = CAN_ID_EXT; + TxHeader.TransmitGlobalTime = DISABLE; + TxHeader.RTR = CAN_RTR_DATA; + ProtoCanId_t tmp_eID; + tmp_eID.BitAll = _rxMsg.eID.BitAll; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + TxHeader.ExtId = tmp_eID.BitAll; + TxHeader.DLC = 7; + data[0] = 'U'; + data[1] = 'S'; + data[2] = 'T'; + data[3] = 'A'; + data[4] = 'V'; + data[5] = 'K'; + data[6] = 'I'; + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + +/** +* @brief Функция ответа на запрос данных с датчиков напряжения. +* Создает сообщение с указанными параметрами и отправляет его через CAN-шину. +* @param _rxMsg Структура входящего сообщения, используемая для формирования идентификатора и данных. +* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK при успешной отправке. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg) +{ + CAN_TxHeaderTypeDef TxHeader; + uint32_t TxMailBox = 0; + uint8_t data[8]; + TxHeader.IDE = CAN_ID_EXT; + TxHeader.TransmitGlobalTime = DISABLE; + TxHeader.RTR = CAN_RTR_DATA; + ProtoCanId_t tmp_eID; + tmp_eID.BitAll = _rxMsg.eID.BitAll; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + TxHeader.ExtId = tmp_eID.BitAll; + TxHeader.DLC = 6; + msgBodyAnalogType msg; + msg.Body = _rxMsg.eID.Fields.MsgBody; + data[0] = 'U'; + data[1] = 'S'; + data[2] = 47 + msg.Fields.SensorID / 1000; + data[3] = 47 + msg.Fields.SensorID / 100 % 10; + data[4] = 47 + msg.Fields.SensorID / 10 % 10; + data[5] = 47 + msg.Fields.SensorID % 10; + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + +/** +* @brief Функция ответа на запрос данных с датчиков тока. +* Создает сообщение с определенными параметрами и отправляет его через CAN-шину. +* @param _rxMsg Структура входящего сообщения, используется для формирования идентификатора и данных. +* @return HAL_StatusTypeDef Статус операции HAL, например HAL_OK при успешной отправке. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg) +{ + CAN_TxHeaderTypeDef TxHeader; + uint32_t TxMailBox = 0; + uint8_t data[8]; + TxHeader.IDE = CAN_ID_EXT; + TxHeader.TransmitGlobalTime = DISABLE; + TxHeader.RTR = CAN_RTR_DATA; + ProtoCanId_t tmp_eID; + tmp_eID.BitAll = _rxMsg.eID.BitAll; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + TxHeader.ExtId = tmp_eID.BitAll; + TxHeader.DLC = 6; + msgBodyAnalogType msg; + msg.Body = _rxMsg.eID.Fields.MsgBody; + data[0] = 'I'; + data[1] = 'S'; + data[2] = 47 + msg.Fields.SensorID / 1000; + data[3] = 47 + msg.Fields.SensorID / 100 % 10; + data[4] = 47 + msg.Fields.SensorID / 10 % 10; + data[5] = 47 + msg.Fields.SensorID % 10; + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + +/** +* @brief Функция ответа на запрос данных с датчиков температуры. +* Создает сообщение с определенным заголовком, формирует данные по ID сенсора и отправляет его через CAN. +* @param _rxMsg Структура полученного сообщения, которая используется для формирования идентификатора. +* @return HAL_StatusTypeDef Статус выполнения функции HAL, например HAL_OK при успехе. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg) +{ + CAN_TxHeaderTypeDef TxHeader; + uint32_t TxMailBox = 0; + uint8_t data[8]; + TxHeader.IDE = CAN_ID_EXT; + TxHeader.TransmitGlobalTime = DISABLE; + TxHeader.RTR = CAN_RTR_DATA; + ProtoCanId_t tmp_eID; + tmp_eID.BitAll = _rxMsg.eID.BitAll; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + TxHeader.ExtId = tmp_eID.BitAll; + TxHeader.DLC = 6; + msgBodyAnalogType msg; + msg.Body = _rxMsg.eID.Fields.MsgBody; + data[0] = 'T'; + data[1] = 'S'; + data[2] = 47 + msg.Fields.SensorID / 1000; + data[3] = 47 + msg.Fields.SensorID / 100 % 10; + data[4] = 47 + msg.Fields.SensorID / 10 % 10; + data[5] = 47 + msg.Fields.SensorID % 10; + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + +/** +* @brief Обработка и ответ на запрос общего адресного пространства. +* Формирует и передает сообщение с данными о статусе "GAS-XXXX", где XXXX — значение из сообщения _rxMsg. +* @param _rxMsg Структура входящего сообщения, содержит идентификатор и тело сообщения. +*/ +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToGeneralAddressSpace(struct RXMsg _rxMsg) +{ + CAN_TxHeaderTypeDef TxHeader; + uint32_t TxMailBox = 0; + uint8_t data[8]; + TxHeader.IDE = CAN_ID_EXT; + TxHeader.TransmitGlobalTime = DISABLE; + TxHeader.RTR = CAN_RTR_DATA; + ProtoCanId_t tmp_eID; + tmp_eID.BitAll = _rxMsg.eID.BitAll; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 8; data[0] = 'G'; @@ -653,7 +656,9 @@ void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg) data[4+i] = sym+'0'; } } - HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); +} + } /** @@ -663,36 +668,36 @@ void PROTOCAN_GeneralAddressSpace_Answer(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -HAL_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg) +PROTOCAN_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg) { switch(_rxMsg.eID.Fields.MsgType) { - case DATA_TYPE_MODBUS_COIL: + case PROTOCAN_MSGTYPE_MODBUS_COIL: { return ProtoCanMsgToModbusCoil(_rxMsg); break; } - case DATA_TYPE_MODBUS_DISCRETE: + case PROTOCAN_MSGTYPE_MODBUS_DISCRETE: { return ProtoCanMsgToModbusDiscrete(_rxMsg); break; } - case DATA_TYPE_MODBUS_HOLDING: + case PROTOCAN_MSGTYPE_MODBUS_HOLDING: { return ProtoCanMsgToModbusHolding(_rxMsg); break; } - case DATA_TYPE_MODBUS_INPUT: + case PROTOCAN_MSGTYPE_MODBUS_INPUT: { return ProtoCanMsgToModbusInput(_rxMsg); break; } default: //ERROR - return HAL_ERROR; + return PROTOCAN_ERROR; break; } - return HAL_ERROR; + return PROTOCAN_ERROR; } /** @@ -701,7 +706,7 @@ HAL_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -__weak HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -709,12 +714,12 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 8; - msgModbusType msg; + msgBodyModbusType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; data[0] = 'M'; data[1] = 'C'; @@ -724,7 +729,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg) data[5] = ' '; data[6] = 'C'; data[7] = msg.Fields.RegCount; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -733,7 +738,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -__weak HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -741,12 +746,12 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 8; - msgModbusType msg; + msgBodyModbusType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; data[0] = 'M'; data[1] = 'D'; @@ -756,7 +761,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg) data[5] = ' '; data[6] = 'C'; data[7] = msg.Fields.RegCount; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -765,7 +770,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -__weak HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -773,12 +778,12 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 8; - msgModbusType msg; + msgBodyModbusType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; data[0] = 'M'; data[1] = 'H'; @@ -788,7 +793,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg) data[5] = ' '; data[6] = 'C'; data[7] = msg.Fields.RegCount; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -797,7 +802,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg. * @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка). */ -__weak HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -805,12 +810,12 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 8; - msgModbusType msg; + msgBodyModbusType msg; msg.Body = _rxMsg.eID.Fields.MsgBody; data[0] = 'M'; data[1] = 'I'; @@ -820,7 +825,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg) data[5] = ' '; data[6] = 'C'; data[7] = msg.Fields.RegCount; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -829,7 +834,7 @@ __weak HAL_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg) * @param _rxMsg Структура входящего сообщения RXMsg, данными которого формируется ответ-ошибка. * @return HAL_StatusTypeDef Статус выполнения команды CAN. */ -__weak HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg) +__weak PROTOCAN_StatusTypeDef CanRequestError(struct RXMsg _rxMsg) { CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; @@ -837,17 +842,17 @@ __weak HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg) TxHeader.IDE = CAN_ID_EXT; TxHeader.TransmitGlobalTime = DISABLE; TxHeader.RTR = CAN_RTR_DATA; - extID tmp_eID; + ProtoCanId_t tmp_eID; tmp_eID.BitAll = _rxMsg.eID.BitAll; - tmp_eID.Fields.Route = ROUTE_SLAVE; - tmp_eID.Fields.MsgType = DATA_TYPE_ERROR; - msgErrorType msg; + tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; + tmp_eID.Fields.MsgType = PROTOCAN_MSGTYPE_ERROR; + msgBodyErrorType msg; msg.Fields.ErrorCode = 0xFF; msg.Fields.Info = 0; tmp_eID.Fields.MsgBody = msg.Body; TxHeader.ExtId = tmp_eID.BitAll; TxHeader.DLC = 0; - return HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); + return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox); } /** @@ -860,7 +865,7 @@ __weak HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg) * @param tmp_DATA Указатель на массив данных, полученных из CAN. * @param tmp_LastStep Индекс позиции в буфере, куда записывать сообщение. */ -void TakeRxMsgToBuffer(extID tmp_eID, uint32_t tmp_IDE, uint32_t tmp_RTR, uint32_t tmp_DLC, uint8_t *tmp_DATA, uint16_t tmp_LastStep) +void TakeRxMsgToBuffer(ProtoCanId_t tmp_eID, uint32_t tmp_IDE, uint32_t tmp_RTR, uint32_t tmp_DLC, uint8_t *tmp_DATA, uint16_t tmp_LastStep) { rxMsg[tmp_LastStep].eID.BitAll = tmp_eID.BitAll; rxMsg[tmp_LastStep].info.EXT = tmp_IDE; @@ -888,19 +893,19 @@ void ProtoCanRxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan) //Расширенный ID if(RxHeader.IDE == CAN_ID_EXT) { - if(!((CAN_RX_BUFFER_SIZE + LastStep - (CurrentStep-1))&CAN_RX_BUFFER_SIZE)) + if(!((PROTOCAN_RX_BUFFER_SIZE + LastStep - (CurrentStep-1))&PROTOCAN_RX_BUFFER_SIZE)) { //Буффер переполнен return; } - uint16_t tmp_LastStep = (uint16_t)(LastStep + 1) % CAN_RX_BUFFER_SIZE; + uint16_t tmp_LastStep = (uint16_t)(LastStep + 1) % PROTOCAN_RX_BUFFER_SIZE; - extID ExtID_Of_RX_MSG; + ProtoCanId_t ExtID_Of_RX_MSG; ExtID_Of_RX_MSG.BitAll = RxHeader.ExtId; //Полученное сообщение - пульс устройств в сети - if(ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_PULSE) + if(ExtID_Of_RX_MSG.Fields.MsgType == PROTOCAN_MSGTYPE_PULSE) { Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].Status = ONLINE; Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].TimeFromLastPulse = 0; @@ -923,14 +928,14 @@ void ProtoCanPulseCallback(TIM_HandleTypeDef *htim) static unsigned PulseStage = 0; CAN_TxHeaderTypeDef TxHeader; uint32_t TxMailBox = 0; - extID currentID; + ProtoCanId_t currentID; currentID.BitAll = 0; - currentID.Fields.MsgBody = 0; - currentID.Fields.DeviceID = CURRENT_ID_DEVICE; + currentID.Fields.Priority = PROTOCAN_PRIORITY_STANDARD; + currentID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE; currentID.Fields.DeviceType = CURRENT_TYPE_DEVICE; - currentID.Fields.MsgType = DATA_TYPE_PULSE; - currentID.Fields.Route = ROUTE_SLAVE; - currentID.Fields.Priority = PRIORITY_STANDARD; + currentID.Fields.DeviceID = CURRENT_ID_DEVICE; + currentID.Fields.MsgType = PROTOCAN_MSGTYPE_PULSE; + currentID.Fields.MsgBody = 0; TxHeader.ExtId = currentID.BitAll; uint8_t data[8]; TxHeader.IDE = CAN_ID_EXT; @@ -988,52 +993,54 @@ void PROTOCAN_RTC_SYNC(uint8_t *data) */ void PROTOCAN_CONFIG_FILTER(uint8_t filterBank, uint32_t idFilter, uint32_t idMask) { - CAN_FilterTypeDef canFilterConfig; - canFilterConfig.FilterBank = filterBank; - canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; - canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; - canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0; - canFilterConfig.FilterActivation = ENABLE; - canFilterConfig.SlaveStartFilterBank = 14; + CAN_FilterTypeDef canFilterConfig; + canFilterConfig.FilterBank = filterBank; + canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK; + canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT; + canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0; + canFilterConfig.FilterActivation = ENABLE; + canFilterConfig.SlaveStartFilterBank = 14; - // Разбиваем 32-битный ID и маску для фильтрации на High и Low 16 бит - canFilterConfig.FilterIdHigh = (uint16_t)(((idFilter) >> 13)); // верхние 16 бит - canFilterConfig.FilterIdLow = (uint16_t)((((idFilter) << 3)) | CAN_IDE_32); // низкие 16 бит, - canFilterConfig.FilterMaskIdHigh = (uint16_t)(((idMask) >> 13)); - canFilterConfig.FilterMaskIdLow = (uint16_t)((((idMask) << 3)) | CAN_IDE_32); + #define CAN_IDE_32 0b00000100 // Для 32-х битного масштаба + + // Разбиваем 32-битный ID и маску для фильтрации на High и Low 16 бит + canFilterConfig.FilterIdHigh = (uint16_t)(((idFilter) >> 13)); // верхние 16 бит + canFilterConfig.FilterIdLow = (uint16_t)((((idFilter) << 3)) | CAN_IDE_32); // низкие 16 бит, + canFilterConfig.FilterMaskIdHigh = (uint16_t)(((idMask) >> 13)); + canFilterConfig.FilterMaskIdLow = (uint16_t)((((idMask) << 3)) | CAN_IDE_32); - if(HAL_CAN_ConfigFilter(_HCAN, &canFilterConfig) != HAL_OK) - { - Error_Handler(); - } + if(HAL_CAN_ConfigFilter(_HCAN, &canFilterConfig) != HAL_OK) + { + Error_Handler(); + } } -#define BIT27 (1UL << 27) -#define BITS_20_23_MASK (0xFUL << 20) // 4 бита (20..23) -#define BITS_24_26_MASK (0x7UL << 24) // 3 бита (24..26) - -uint32_t filter1_id = BIT27 | (CURRENT_TYPE_DEVICE << 24) | (CURRENT_ID_DEVICE << 20); -uint32_t filter1_mask = BIT27 | BITS_24_26_MASK | BITS_20_23_MASK; // все проверяемые биты - -#define BITS_16_19_MASK (0xFUL << 16) - -uint32_t filter2_id = DATA_TYPE_BROADCAST << 16; -uint32_t filter2_mask = BITS_16_19_MASK; - -uint32_t filter3_id = DATA_TYPE_PULSE << 16; -uint32_t filter3_mask = BITS_16_19_MASK; - /** * @brief Конфигурирует три фильтра CAN для различных типов сообщений. */ void PROTOCAN_FILTERS() { - // Первый фильтр: проверяем 20-27 биты, где 27-й всегда 1 - PROTOCAN_CONFIG_FILTER(0, filter1_id, filter1_mask); + #define BIT27 (1UL << 27) + #define BITS_20_23_MASK (0xFUL << 20) // 4 бита (20..23) + #define BITS_24_26_MASK (0x7UL << 24) // 3 бита (24..26) + + uint32_t filter1_id = BIT27 | (CURRENT_TYPE_DEVICE << 24) | (CURRENT_ID_DEVICE << 20); + uint32_t filter1_mask = BIT27 | BITS_24_26_MASK | BITS_20_23_MASK; // все проверяемые биты - // Второй фильтр: проверяем 16-19 биты, равны DATA_TYPE_BROADCASTE - PROTOCAN_CONFIG_FILTER(1, filter2_id, filter2_mask); + #define BITS_16_19_MASK (0xFUL << 16) - // Третий фильтр: проверяем 16-19 биты, равны DATA_TYPE_PULSE - PROTOCAN_CONFIG_FILTER(2, filter3_id, filter3_mask); + uint32_t filter2_id = PROTOCAN_MSGTYPE_BROADCAST << 16; + uint32_t filter2_mask = BITS_16_19_MASK; + + uint32_t filter3_id = PROTOCAN_MSGTYPE_PULSE << 16; + uint32_t filter3_mask = BITS_16_19_MASK; + + // Первый фильтр: проверяем 20-27 биты, где 27-й всегда 1 + PROTOCAN_CONFIG_FILTER(0, filter1_id, filter1_mask); + + // Второй фильтр: проверяем 16-19 биты, равны PROTOCAN_MSGTYPE_BROADCASTE + PROTOCAN_CONFIG_FILTER(1, filter2_id, filter2_mask); + + // Третий фильтр: проверяем 16-19 биты, равны PROTOCAN_MSGTYPE_PULSE + PROTOCAN_CONFIG_FILTER(2, filter3_id, filter3_mask); } diff --git a/Core/Src/tim.c b/Core/Src/tim.c index bce7bc9..4a78080 100644 --- a/Core/Src/tim.c +++ b/Core/Src/tim.c @@ -21,7 +21,8 @@ #include "tim.h" /* USER CODE BEGIN 0 */ - +// TIM defines +#define TIM_PROTOCAN_Prescaler 64000 /* USER CODE END 0 */ TIM_HandleTypeDef htim4; diff --git a/MDK-ARM/F103C8T6.uvguix.Iurii b/MDK-ARM/F103C8T6.uvguix.Iurii index 570bcee..0405429 100644 --- a/MDK-ARM/F103C8T6.uvguix.Iurii +++ b/MDK-ARM/F103C8T6.uvguix.Iurii @@ -28,17 +28,17 @@ 38003 Registers - 140 90 + 140 100 346 Code Coverage - 1010 160 + 1010 309 204 Performance Analyzer - 1170 + 869 175 175 100 @@ -114,17 +114,17 @@ -1 - 60 - 229 - 1669 - 844 + 185 + 0 + 1440 + 969 0 2021 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000016000000020000000100000024443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF24443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF28443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C70726F746F63616E2E63000000000A70726F746F63616E2E6300000000BECEA100FFFFFFFF2C443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000F0A0A100FFFFFFFF31443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C73746D3332663178785F68616C5F6D73702E63000000001373746D3332663178785F68616C5F6D73702E6300000000BCA8E100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F63616E2E63000000001373746D3332663178785F68616C5F63616E2E63000000009CC1B600FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C74696D2E63000000000574696D2E6300000000F7B88600FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C7274632E6300000000057274632E6300000000D9ADC200FFFFFFFF45443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000A5C2D700FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C63616E2E63000000000563616E2E6300000000B3A6BE00FFFFFFFF28443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C70726F746F63616E2E68000000000A70726F746F63616E2E6800000000EAD6A300FFFFFFFF32443A5C576F726B5C4D43555C46313033433854365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000F6FA7D00FFFFFFFF35443A5C576F726B5C4D43555C46313033433854365C447269766572735C434D5349535C496E636C7564655C636F72655F636D332E68000000000A636F72655F636D332E6800000000B5E99D00FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D2E63000000001373746D3332663178785F68616C5F74696D2E63000000005FC3CF00FFFFFFFF4C443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D5F65782E63000000001673746D3332663178785F68616C5F74696D5F65782E6300000000C1838300FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F63616E2E68000000001373746D3332663178785F68616C5F63616E2E6800000000CACAD500FFFFFFFF4C443A5C576F726B5C4D43555C46313033433854365C447269766572735C434D5349535C4465766963655C53545C53544D3332463178785C496E636C7564655C73746D33326631303378622E68000000000D73746D33326631303378622E6800000000C5D4F200FFFFFFFF2B443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C63616E6572726F72626F782E63000000000D63616E6572726F72626F782E6300000000FFDC7800FFFFFFFF2B443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C63616E6572726F72626F782E68000000000D63616E6572726F72626F782E6800000000BECEA100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F6465662E68000000001373746D3332663178785F68616C5F6465662E6800000000F0A0A100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F74696D2E68000000001373746D3332663178785F68616C5F74696D2E6800000000BCA8E100FFFFFFFF27433A5C4B65696C5F76355C41524D5C41524D434C414E475C696E636C7564655C737464696F2E680000000007737464696F2E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006500000080070000E7030000 + 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000160000000A0000000100000024443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF24443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF28443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C70726F746F63616E2E63000000000A70726F746F63616E2E6300000000BECEA100FFFFFFFF2C443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000F0A0A100FFFFFFFF31443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C73746D3332663178785F68616C5F6D73702E63000000001373746D3332663178785F68616C5F6D73702E6300000000BCA8E100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F63616E2E63000000001373746D3332663178785F68616C5F63616E2E63000000009CC1B600FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C74696D2E63000000000574696D2E6300000000F7B88600FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C7274632E6300000000057274632E6300000000D9ADC200FFFFFFFF45443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C2E63000000000F73746D3332663178785F68616C2E6300000000A5C2D700FFFFFFFF23443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C63616E2E63000000000563616E2E6300000000B3A6BE00FFFFFFFF28443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C70726F746F63616E2E68000000000A70726F746F63616E2E6800000000EAD6A300FFFFFFFF32443A5C576F726B5C4D43555C46313033433854365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000F6FA7D00FFFFFFFF35443A5C576F726B5C4D43555C46313033433854365C447269766572735C434D5349535C496E636C7564655C636F72655F636D332E68000000000A636F72655F636D332E6800000000B5E99D00FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D2E63000000001373746D3332663178785F68616C5F74696D2E63000000005FC3CF00FFFFFFFF4C443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D5F65782E63000000001673746D3332663178785F68616C5F74696D5F65782E6300000000C1838300FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F63616E2E68000000001373746D3332663178785F68616C5F63616E2E6800000000CACAD500FFFFFFFF4C443A5C576F726B5C4D43555C46313033433854365C447269766572735C434D5349535C4465766963655C53545C53544D3332463178785C496E636C7564655C73746D33326631303378622E68000000000D73746D33326631303378622E6800000000C5D4F200FFFFFFFF2B443A5C576F726B5C4D43555C46313033433854365C436F72655C5372635C63616E6572726F72626F782E63000000000D63616E6572726F72626F782E6300000000FFDC7800FFFFFFFF2B443A5C576F726B5C4D43555C46313033433854365C436F72655C496E635C63616E6572726F72626F782E68000000000D63616E6572726F72626F782E6800000000BECEA100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F6465662E68000000001373746D3332663178785F68616C5F6465662E6800000000F0A0A100FFFFFFFF49443A5C576F726B5C4D43555C46313033433854365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F74696D2E68000000001373746D3332663178785F68616C5F74696D2E6800000000BCA8E100FFFFFFFF27433A5C4B65696C5F76355C41524D5C41524D434C414E475C696E636C7564655C737464696F2E680000000007737464696F2E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000000F0100006500000080070000E7030000 @@ -147,7 +147,7 @@ 16 - 74F9FFFF65000000FCFFFFFFFD030000 + F4000000650000007C070000FD030000 @@ -163,7 +163,7 @@ 0 16 - 0300000066000000ED000000B8030000 + 030000006600000008010000B8030000 16 @@ -183,7 +183,7 @@ 0 16 - 0300000066000000ED000000B8030000 + 030000006600000008010000B8030000 16 @@ -463,7 +463,7 @@ 0 16 - 0300000066000000ED000000B8030000 + 030000006600000008010000B8030000 16 @@ -483,7 +483,7 @@ 0 16 - 0300000066000000ED000000B8030000 + 030000006600000008010000B8030000 16 @@ -1163,7 +1163,7 @@ 0 16 - 0300000066000000ED000000B8030000 + 030000006600000008010000B8030000 16 @@ -1812,14 +1812,14 @@ 3315 - 000000000B000000000000000010000000000000FFFFFFFFFFFFFFFF7C0700004F00000080070000E7030000000000000200000004000000010000000000000000000000FFFFFFFF05000000C7000000B4010000D2010000CF01000077940000FFFF02000B004354616262656450616E65001000000000000074F9FFFF65000000FCFFFFFFFD030000F40000004F0000007C070000E70300000000000040820046050000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC7000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D6010000458900000180002000000000000074F9FFFF6500000010FEFFFFF5000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A00400002B020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000020FDFFFF6500000010FEFFFF41020000A00400004F000000900500002B02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000D1030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000080F8FFFF6500000070F9FFFFE7030000000000004F000000F0000000D10300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000017020000900500001B02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000080F8FFFF3102000010FEFFFFD5020000000000001B02000090050000BF02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC80200001B020000CC020000BF02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C60000000000000001000000C5000000008000000100000000000000E7030000800700005C04000001000000010000000100000000000000 + 000000000B000000000000000010000000000000FFFFFFFFFFFFFFFF7C0700004F00000080070000E7030000000000000200000004000000010000000000000000000000FFFFFFFF05000000C7000000B4010000D2010000CF01000077940000FFFF02000B004354616262656450616E650010000000000000F4000000650000007C070000FD030000F40000004F0000007C070000E70300000000000040820046050000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC7000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000000000000F40000006500000090050000F5000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A00400002B020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A0040000650000009005000041020000A00400004F000000900500002B02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF0B0100004F0000000F010000D10300000100000002000010040000000100000076FFFFFFEB060000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000000B010000E7030000000000004F0000000B010000D10300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000017020000900500001B02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000003102000090050000D5020000000000001B02000090050000BF02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC80200001B020000CC020000BF02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C60000000000000001000000C5000000008000000100000000000000E7030000800700005C04000001000000010000000100000000000000 59392 File - 2968 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000002000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000012554152545F48616E646C65547970654465669600000000000000140012554152545F48616E646C65547970654465660E7374646F75745F707574636861720C49544D5F53656E64436861722350524F544F43414E5F47656E6572616C4164647265737353706163655F416E73776572055F4854494D1D48414C5F54494D5F506572696F64456C617073656443616C6C6261636B0C43616E52657175657374546F09524551554553544552055F4843414E2148414C5F43414E5F52784669666F304D736750656E64696E6743616C6C6261636B0863616C6C6261636B0C43414E5F52585F4649464F300C43414E5F49545F4552524F520E43414E5F496E74657272757074731A48414C5F43414E5F526567697374657243616C6C6261636B28290852656769737465721757616B65557046726F6D52784D736743616C6C6261636B0E43414E5F4572726F725F436F64651548414C5F43414E5F4572726F7243616C6C6261636B037278660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2928 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000002000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C50726F746F43616E49645F74960000000000000012000C50726F746F43616E49645F7404646174610D70726F746F43616E44617461200C70726F746F43616E446174610B70726F746F43616E4964200A70726F746F43616E49641243414E5F52585F4255464645525F53495A4506545F73656E73134E4F4E4558495354454E545F454C454D454E54154D4F444255535F53454354494F4E5F46494C544552134D4F444255535F53454354494F4E5F4D41534B18434F554E545F4F465F4D4F444255535F53454354494F4E530A43414E5F4944455F33322050524F544F43414E5F46494C5445525F444154415F545950455F46494C5445520565787449442050726F746F43616E4D7367546F47656E6572616C4164647265737353706163652350524F544F43414E5F47656E6572616C4164647265737353706163655F416E737765720647656E657261000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -1835,7 +1835,7 @@ Build 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008463130334338543696000000000000000100084631303343385436000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008463130334338543696000000000000000100084631303343385436000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1851,7 +1851,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1884,11 +1884,11 @@ 0 16 - 0000000081000000E800000067030000 + 0000000081000000E80000003F030000 16 - 80F8FFFF9700000068F9FFFF7D030000 + 0000000097000000E800000055030000 @@ -1904,7 +1904,7 @@ 0 16 - 0300000098000000E50000004E030000 + 0300000098000000E500000026030000 16 @@ -1924,7 +1924,7 @@ 0 16 - 0300000098000000E50000004E030000 + 0300000098000000E500000026030000 16 @@ -1944,7 +1944,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -1964,7 +1964,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -1984,7 +1984,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2004,7 +2004,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2024,7 +2024,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2064,7 +2064,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2084,7 +2084,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2104,7 +2104,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2124,7 +2124,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2144,7 +2144,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2164,7 +2164,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2184,7 +2184,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2204,7 +2204,7 @@ 0 16 - 0300000098000000E50000004E030000 + 0300000098000000E500000026030000 16 @@ -2224,7 +2224,7 @@ 0 16 - 0300000098000000E50000004E030000 + 0300000098000000E500000026030000 16 @@ -2264,7 +2264,7 @@ 0 16 - 000000006B030000800700000F040000 + 000000004303000080070000E7030000 16 @@ -2364,7 +2364,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2384,7 +2384,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2484,7 +2484,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2504,7 +2504,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2524,7 +2524,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2544,7 +2544,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2564,7 +2564,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2584,7 +2584,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2604,7 +2604,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2624,7 +2624,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2644,7 +2644,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2664,7 +2664,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2684,7 +2684,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2704,7 +2704,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2724,7 +2724,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2744,7 +2744,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2764,7 +2764,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2784,7 +2784,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2804,7 +2804,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2824,7 +2824,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2844,7 +2844,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2864,7 +2864,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2884,7 +2884,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2904,7 +2904,7 @@ 0 16 - 0300000098000000E50000004E030000 + 0300000098000000E500000026030000 16 @@ -2964,7 +2964,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -2984,7 +2984,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3064,7 +3064,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3084,7 +3084,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3104,7 +3104,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3124,7 +3124,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3144,7 +3144,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3164,7 +3164,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3184,7 +3184,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3204,7 +3204,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3224,7 +3224,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3244,7 +3244,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3264,7 +3264,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3284,7 +3284,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3304,7 +3304,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3324,7 +3324,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3344,7 +3344,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3364,7 +3364,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3384,7 +3384,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3404,7 +3404,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3424,7 +3424,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3444,7 +3444,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3484,7 +3484,7 @@ 0 16 - 000000000F0400008007000022040000 + 00000000E703000080070000FA030000 16 @@ -3544,7 +3544,7 @@ 0 16 - 34050000660000007D0700004E030000 + 34050000660000007D07000026030000 16 @@ -3553,14 +3553,14 @@ 3328 - 000000000A000000000000000010000001000000FFFFFFFFFFFFFFFFE800000081000000EC0000006703000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E65001000000100000080F8FFFF9700000068F9FFFF7D0300000000000081000000E8000000670300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000001000000FFFFFFFFFFFFFFFF000000007D0000002D050000810000000100000001000010040000000100000072FFFFFF7F020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D6010000458900000180002000000100000080F8FFFF65000000ADFDFFFF93000000000000004F0000002D0500007D0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF2D0500004F000000310500006703000001000000020000100400000001000000C8FCFFFF510300000000000000000000000000000100000000000000FFFFFFFF3A0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000001000000B1FDFFFF65000000000000007D030000310500004F000000800700006703000000000000404100563A0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0343414E01000000408C000001000000FFFFFFFFFFFFFFFF0454494D3401000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF240000000000000002000000000000000000000002000000FFFFFFFF720600004F000000760600003F030000000000000200000004000000000000002BFFFFFFD200000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF0000000067030000800700006B03000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC003000043030000C4030000E703000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000002B020000900500002F020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000000000080F8FFFF4502000010FEFFFFD5020000000000002F02000090050000BF0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000A000000000000000010000001000000FFFFFFFFFFFFFFFFE800000081000000EC0000003F03000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E6500100000010000000000000097000000E8000000550300000000000081000000E80000003F0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000001000000FFFFFFFFFFFFFFFF000000007D0000002D050000810000000100000001000010040000000100000072FFFFFF7F020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D6010000458900000180002000000100000000000000650000002D05000093000000000000004F0000002D0500007D0000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000001000000FFFFFFFFFFFFFFFF2D0500004F000000310500003F03000001000000020000100400000001000000C8FCFFFF510300000000000000000000000000000100000000000000FFFFFFFF3A0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000100000031050000650000008007000055030000310500004F000000800700003F03000000000000404100563A0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0343414E01000000408C000001000000FFFFFFFFFFFFFFFF0454494D3401000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFF000000000000000002000000000000000000000002000000FFFFFFFF720600004F000000760600003F030000000000000200000004000000000000002BFFFFFFD200000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000080000001000000FFFFFFFFFFFFFFFF000000003F030000800700004303000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC003000043030000C4030000E703000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF000000002B020000900500002F020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004502000090050000D5020000000000002F02000090050000BF0200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 File - 2789 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000843616C6C6261636B96000000000000000C000843616C6C6261636B0011417661696C61626C6543616E52784D73671143414E5F43555252454E545F5350454544125245515545535445525F5254435F53594E431D43616E52657175657374546F42726F61646361737452746353657475701B5245515545535445525F50756C73655F54494D5F48616E646C65720C4D585F54494D375F496E69741245515545535445525F5072657363616C65722148414C5F43414E5F52784669666F304D736750656E64696E6743616C6C6261636B03527846025278000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2928 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000C50726F746F43616E49645F74960000000000000012000C50726F746F43616E49645F7404646174610D70726F746F43616E44617461200C70726F746F43616E446174610B70726F746F43616E4964200A70726F746F43616E49641243414E5F52585F4255464645525F53495A4506545F73656E73134E4F4E4558495354454E545F454C454D454E54154D4F444255535F53454354494F4E5F46494C544552134D4F444255535F53454354494F4E5F4D41534B18434F554E545F4F465F4D4F444255535F53454354494F4E530A43414E5F4944455F33322050524F544F43414E5F46494C5445525F444154415F545950455F46494C5445520565787449442050726F746F43616E4D7367546F47656E6572616C4164647265737353706163652350524F544F43414E5F47656E6572616C4164647265737353706163655F416E737765720647656E657261000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3592,7 +3592,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3616,12 +3616,12 @@ 0 100 - 2 + 10 ../Core/Src/main.c - 14 - 76 - 98 + 0 + 63 + 76 1 0 @@ -3637,9 +3637,9 @@ ..\Core\Src\protocan.c - 20 - 58 - 85 + 46 + 1097 + 1121 1 0 @@ -3664,18 +3664,18 @@ ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c - 3 - 557 - 564 + 0 + 550 + 668 1 1709 0 ../Core/Src/tim.c - 17 - 16 - 27 + 21 + 10 + 26 1 0 @@ -3700,18 +3700,18 @@ ../Core/Src/can.c - 38 - 80 - 98 + 16 + 1 + 30 1 0 ..\Core\Inc\protocan.h - 1 - 266 - 268 + 18 + 1 + 12 1 0 @@ -3719,7 +3719,7 @@ startup_stm32f103xb.s 0 - 118 + 119 132 1 @@ -3727,9 +3727,9 @@ ..\Drivers\CMSIS\Include\core_cm3.h - 0 + 30 1 - 1 + 6 1 0 diff --git a/MDK-ARM/F103C8T6.uvoptx b/MDK-ARM/F103C8T6.uvoptx index e4be771..09343d6 100644 --- a/MDK-ARM/F103C8T6.uvoptx +++ b/MDK-ARM/F103C8T6.uvoptx @@ -145,78 +145,14 @@ 0 ST-LINKIII-KEIL_SWO - -U37FF71064E57343634C31443 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 + -U37FF71064E57343634C31443 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 0 0 - 55 - 1 -
134234964
- 0 - 0 - 0 - 0 - 0 - 1 - D:\Work\MCU\F103C8T6\Core\Src\requester.c - - \\F103C8T6\../Core/Src/requester.c\55 -
- - 1 - 0 - 690 - 1 -
134224302
- 0 - 0 - 0 - 0 - 0 - 1 - D:\Work\MCU\F103C8T6\Core\Src\requester.c - - \\F103C8T6\../Core/Src/requester.c\690 -
- - 2 - 0 - 56 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - D:\Work\MCU\F103C8T6\Core\Src\requester.c - - -
- - 3 - 0 - 691 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - D:\Work\MCU\F103C8T6\Core\Src\requester.c - - -
- - 4 - 0 - 63 + 135 1
0
0 @@ -229,10 +165,74 @@
+ + 1 + 0 + 158 + 1 +
134236802
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Core\Src\protocan.c + + \\F103C8T6\../Core/Src/protocan.c\158 +
+ + 2 + 0 + 76 + 1 +
134243560
+ 0 + 0 + 0 + 0 + 0 + 1 + ../Core/Src/main.c + + \\F103C8T6\../Core/Src/main.c\76 +
+ + 3 + 0 + 66 + 1 +
134235748
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Core\Src\protocan.c + + \\F103C8T6\../Core/Src/protocan.c\66 +
+ + 4 + 0 + 717 + 1 +
134237434
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\Core\Src\protocan.c + + \\F103C8T6\../Core/Src/protocan.c\717 +
5 0 - 64 + 159 1
0
0 @@ -248,7 +248,7 @@ 6 0 - 695 + 160 1
0
0 @@ -264,7 +264,7 @@ 7 0 - 696 + 718 1
0
0 @@ -280,263 +280,7 @@ 8 0 - 100 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 9 - 0 - 101 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 10 - 0 - 733 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 11 - 0 - 734 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 12 - 0 - 700 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 13 - 0 - 701 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 14 - 0 - 738 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 15 - 0 - 739 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 16 - 0 - 61 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 17 - 0 - 104 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 18 - 0 - 105 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 19 - 0 - 699 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 20 - 0 - 704 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 21 - 0 - 705 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 22 - 0 - 737 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 23 - 0 - 742 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - ..\Core\Src\protocan.c - - -
- - 24 - 0 - 743 + 719 1
0
0 @@ -596,6 +340,16 @@ 1 idFilter + + 9 + 1 + CAN_RC_RESULT + + + 10 + 1 + tmp_hcan + 0 @@ -737,7 +491,7 @@ 2 6 1 - 1 + 0 0 0 ../Core/Src/main.c diff --git a/MDK-ARM/F103C8T6/F103C8T6.axf b/MDK-ARM/F103C8T6/F103C8T6.axf index ecb422a77c6f7e9ce7b49837e5d78f4ac971fb11..35c68aa1383c279907179109e00c53fa3e875968 100644 GIT binary patch delta 32003 zcma*Q30zfG_ddS&nK)doc)h{}8DtQZN)eUJDFs0VCs47}BvHYkOiis9O}%KQSenqW zj#`?Hua=fYg{7v=R#sM4)@!|1_G+VKCOEuN}b5pZYViD}EzYX1+Rw znL;2a&?hppmG0w@8P3e2iB(GmRaKhC1_*DPQuRRxMK7*e(#=ZY8OHt+#*UR(H}ern z^*QS~-aC>PGxK-GOjiU;B(p9LuIfuXmPff5OXPXciO;^?aH0cK*qp(PWu84~jl9ug z4OCltkFhsTBO|r9T`b>Q{&MD7iA#YqPtW0q<+(F>dhVn-gC#xyd>{x{Oy}tp#ZB=Q zh_48WH*ewT=H#aMT*&A8_fuIcJ!a#12fdfczAV@*(t%#q}Wbgp+fgo%Gn?bk&xFQIf z&~HM2x%H{mB{!?q^_q)sNUAN)GO9u= zGtVCOwc2!joAQkIEUWEN@7h_uw|ba9R`uGK8c*=`nYWaOuvGPn#uJToEBu_y0H@T? zVFAt_KWD!oQ{5%?1US8=o&YCL>Irbty;6}b74?^j0-QUgq5$U(sVKl%F7;?qk0td4 zI18no0B6-Dudnnhz?vf!sZx>5VtIfwNGb|&bU%j$IGWU>NIj~bQy$YlmkJrPLn$Tra}FuZ1)X_zI1>g+mG%2?>-lQq35x%|`kd=W-79V1a!d`fK1CpD ze}X_V2V(@1c^Dy(%*9}VWcf1%8tBV;NiTt99dr|D%pehYpyV0>{RJpZ5lEIG9;m4d z9ufC_B9-VsX-k1tS&v0!wY-d1{b!V}M>#Xa5I3E=t0_8;QkHevX|;&Y`(# ztoV83>(49bMCC6p+lkJ|Hk}J$TCL-PkGBH6D5h1Z53od~Qmge`P%1Z_i(}J4F~3^ z>od!g+FwBDf-VPryun)3sRV*O>aF9QRx4jLT5~)12HsL{?d+VGuGUViPkaF#BymlB z0!usQIA*L@HmJ2X1##OQYdm4B=NpvT%!UWjJTaaIeSXD7w+Z(J|>6uDmqqQ?VQEA^`MR!Z(pIOhR$6B7Q8+&!Xn15!{q}*&)=~I8rMLvkF zf8$r)iv7A2?cg(%2rgf5=BSlqOhqZ~78PpIbu|zwNK$Gayp+-`<{A-GjF^f`QO#n`LLZx+iI}@CIeal2LZNH^ zrRvo^b{XCsndIUXCGWz;vrjJ&=s?LnfnF%4IJ0z@K-&b$Eq#H|*;1ECSNe=VMFJft zeL|pn1Tv>SBG6)ia;H8h&>g;XQ|}k(Hm@(?)RhEJuksn3RxZ#|pTTJh1o}2n7@Rg& zpf3bEFzr@CXEzBgZ`7AF8d9>)KIO;D*-ZkE%%rq$)K{?40*~|K)yzAT7^gQB`vfXk zw!n}1@jBK=BpBmYxSn+vc#R)F!e~gzKKq~_Z(;33`YM0=Ct0k(?YEF zn=DK)_FC`vyDQKbHw&I@j2i`#jZq+wY>YfYfyNjhkZcTJ)@5U4h&b68oduGO(Ltcw zdWupUn3_N^&=}DI$;N0UkZcTxKwnrF`tRe%tlgRa<~i1stX>E=WpzgQVOAGD*1C{& zUBXxwjgZ>5#=6DlqA@;Pth?tNdI3f{6^o6r*2n?>j#Df5);k#sd*|EyR25Vtc%0=~7es zH`Db%PD;oIq3Rlu;w>vHCrbUKp(P=uHAb|Y$&qsX!?#_mYva%Ib=J>09TSfFS4QDU zjdgEbXgtxhRx*+<)or%A3`~;dMNy2@Y0b=Aa|WiXLmP*ZHMOd-zxd5>>@I#sHg*)h zlNw{iZ+xT3mA6l$dW^=@j!Zqq#Bbw?O+XGYpRCxKU+XT`EAwl;#abmxR4en(%t=zJ zconPCH)tCh>smHqq}s?68|xg6d;{BvL9kA5l=H}nom!<@rC{damD>7~Xdexep|1+C z@}EAi``PyuxUga*U98*Mu%=#Rn{Z`9a8td;8tdGR3NjVN#vKbe=HrAmS|1ON_8#%i zJCc2-!6(?~7+=rRX>KEHw0!VYtFU(Z@3~}*DtN-VHT4RNDM7|Q^Xq66F!p|fCd|A1 zS{v(THfEkaz~A&@Z(){Y)?$-1hpH`#QI4Y+6}R++UfMw6D0 zHvM#4>|AP@n!cvKEz3LmXW|aH=#aDf=Dc&dtXQcWa`vP2H%@1u+W1zzQcpB0&qKlm zD;MgXxWrPUSnaf>a1r>vSRs_LU(0#sS*P_xZhNc=-p_3xnS1G)@BbOE<|X;#S6{k# z?4R)y^JIE=!-rRh-{+5ShaBv`wDAfO2}4N3KoQ<5!YUEIpG#>5*QZ}0&7V?2yHFQ< z$?7*Wu|)_LC;CR?VOINc{c3CC&~ZxsCF`}JF(GTvClgqLwQp!-$VY;1MYPhQ!3rPN zmLIV?59<^9@_8BzF4Vnh-9D_n_lUn|@og-*q3$cu>n_wie3ANCAZ~i@^hC5&Zn5Tf zeYmcrJix0q)w|JFEt#4c_G#mZz1Ytv8#mQE(=h?ohSgKs`?^qbA6U23UAd!vkjwSJ z8gG67be3pVYDr;LYwCM4XQg|izG3oTaa@P;{@5tB#^n|+)SB_s(*KY%wPt#%3QB_$ zsBnJ7U}eD9uc>dv_SO%AJGotE&W`#Brms(gvpL{wtym^&A^K_K33WZNt71URH`rIW z0NgHhW2>BW2pQY>uLG2VIf9$6Zfu>ye$8f?Wn5%JMF&zV{~I*^gl;pQF`vCqckRVB z^2Vs9A2nfbHQ3t*h5G~{=kmN|wviJBy~H9=5!GG}Uxk2eYp`7al*YN%V=Kr2)J zYnGzGaghDY(S)YvT>O!=Pg#?)oJr=Xok=|H$^+jypF%wgk$gr0sT9Zcg5{DsnSbtTq+N44jwrH^hGXg}$8@6}tqN5`nBU#rjPHviWzs+j7Zwl6DC zM~SGTi2a(SK7i?}lGnQGsp&KlvK|?fq2kVk_4%N+tz|QZY}1}Go;_c8zR_)cKcc(H z=BY8lGcyW%2J+nw!qNTVm(VT5OblfqMoHrz*uRn*HUl9ukWs157c0>V z>S;VvXcsZP95-QF9H!OVEHu;jVbO!H7}>YJ`pNN$s{4fonq?o_>Dtg_!)>W0P32YY_5t-h*1F@rrIS`c|8l>PBBE-+T8?rIJ@s{ux#q1J1JQ zRW}dj-ljbRwqij$20~5y1wu``1=_SVZ50SLZ4^kdX`4W(X_G*xX^TMVs;&;~5C}Hy z4+sTz2e>VleR{98p!jRd)T1YPbDc?8MR5M>-Mm#!#a#4SOaZL&f9SOa-E#GVCnsAD6S?Qe9z#OqY2!rxjU4ZMyNR zG}NuDFT>y{<5}f}x`cYRKKHDWb*}DgV?&*J&e}5N$u>wMDh@8J)>+P@7RK=;d!k|I4rD1m@}+r80<#* zq(CNhV5B73N?+)4wbPqvPOpBZFd$j^GLAjf+p3KLoCz|$ z{g+CZ*#V?1P9e-ZY0Z8hO0R{P7*eILLmqupYJkd-l(MMMI<_oEcS?p{9H2DhpC1L4oqg|A*w8%Ywf!`RzHeTPPH1nQP-B>dC4Qebx{m&1*WEqz;hIO0y7|73)IJf zOlA%tO?nxq5u^iK;)%;+^$IMpZXm2jWHED{pn7&;<}mBORk5Db%k*r8%nC*x0rzTL z9*b6uy(iYX;T~73<9NiQL0mRTx^?3{3FCL+`AslaL&lXLDHk#uj0;hjgt4d*g_!_( zdRpYK#sGi)6zkAE9%ZZeu^R44SF~a)eT65oES{MIdn`|Wdc+*9L$VRHafn+Y5DTF07=xCtP&C{xN?7&WY^cB`jhv2fq&EeH&)BRVn|OfwI?Izpl1;wB=nB8(D_# z)mLbA2I}Fs_57OHekq8dmXocQ0W6(N@_J%~oGDT#22vkFVI#0I@_J&D(1xME%z_uT54NnTH`Ads|QuOxZzA==GENVxiZ;WQf2D7 z5HF!&PT6&nwZAGxaZSL_5MAqv{8{@}N5vdP{ar20nt@!sbTcyxm{q*O<2g2gncXgn zF1gv7`9O?5wi7d7Bpq!cikNwe5OM`{VghW%t?C;LZU83H?N+vP$bzd|bJ6?$>uAZ>2H|HhRuMc(M6RcRf zqxHvw7x{957Xg2z?CfFv_D~w%THS7aOCC1AS5wz`Y*UQ&p*M`rw5Du$G_0b>KV!6>tHF`zqTRaFzL!t>v5U_de2; zi9pnoSKt+1fw#UXn}M`juE1M;g|zE@yqlX1J_UUP-yX~-RKNcAUIp&6=)J*wQT5yJITgOs z`t<$5aGy3Ge68^L)?Wt)^O@CsKKg|73M=fB!MwbB^e34LoMhdnVWy%@vL5?-f&#y2 z{CcF4GT9pS%>8R1xK|F=o)WZUqf;aK>DJlv$~VUN(| z*=}jyjpD`CH-7huffaiAPd8v0QTkH`jTI07)SbqPLqFZcHEY=aCMie9SxNoQcny}Xe2l>00y5w;Z-7vtn`z`O3rxefs?l?=6I{|WOr0s_n+q|c*7~{xrL4qiQ{N9QG`2o3S`MeYD7Oz|>VNdt zY1xudV!c}5h4-|6uAhUA>XU6rN#sR(Nv6o>FG2(=l@Ygg9jl*VTii zHB%J+4(A8$t2Ev(`eXt#3z0NZsS0VC1EJZtRlq!^?bY~aJkB1aL(RverpG|WXf>@2 z&~){?(wYjLpHXpQWNzByoDg-^Y;y8=)gxzEUNmn6 zRNvp)V63HSA8N_Rx0Z7%FWOIW?Ro26HP^fN-wHotcW=!z_%M5VYo5e&?0e~Fg1w!7 z3hj^ShuO9GX(!h*yl6oos&s@If>JEKQIMa7q70#lc18r`>+Kup$F$4nC)(afKPC1a z`l+?Qi{L--x9v9~`6!-hM|eHsFC=~6uBVfMed1UR4H;r%8S|(W3wWcq%cj4XBD|7PxM zo~RC2qfUX$R|$2zg=#o@dj?kPLUS5%2gfK?P8F*RWAForkNp_YHIM*Nmq~6)Ti_J4X@Znhy+FdLV}bw$K1Y&o)^s^Mh+}y+$X5}LXcCXD&;{! zgDZjJoLHGszQIm>hu9+~VoG6gS2ywF1iwJ=SsSrS5#|<<_$&t%NT{D>59!G#g(f}E zSUW5u4%EEVllSHPfc5V?)xMV*Oxr>Rt>k07e-7eoWaohP(lEd~uB=j6M97XF8Z zkWjhJ<3*VyvrW4SKf30?vt)LHNR@}B>OVM(7cwuK4W@paIcFn6(7$QUGD)8@ohv1M z+Ucy6^xrP$21(aPICn_;LbUT0&^I9)dIRo3PX%!p45L?=)9B)S%`azkWzM$*?L}OM z=KM%TTxT+UBNFAKIL3&u2&13V36e5qWHP5m(%G7`oumhu&aRTqb2>96JQ*aa-Y zz4aFu>w;hU+d^J44B$EdJw#Uzn|Pc_dj^esXH_|x{Iq@teoEBC#wZA8AZx1kOJ@9g zF=KPlm((Mgv2Y1voiSXg-y|A|$Xp5BQ$3nuTn+jb;vY*j21@$-PDZh$e@Hi|Fhb_X z48xN2@t(%BlK!c$@s_0jmuY+p+A9*A$T9wu5hrtvFyvD3e;#HeNcxuoqqC%cEi?v7 z`nR#hXi5Ju!I&cHQ^ic}g(8LwMDQ?*sA$~WsVKi0H=*!UF69qqc<+$llx8fDbggMD zmh_)aW0|B+yNs2R{wu<`Pts?ijkS{gJI=5`-$e$_CWgKM`hKG8%6aHd0N)U(-^oMc zk*5w`)Vp%-5D)DLBry+FQn4aw?(yWlV!h3C)u+jS-3? zU&b&VtvJTXD9+;)$IU?9$gIK>6|ZADU_XK?&s10#S<>bsn2EgdOy@-WglH{@9ljF5 zSk`hASY}9zjgp1Y=PA&ifUO*Ixs(r#Js?G44l-lEq(9P(cO?C>X?!4Pdt!ecm98TX z%26c!(l{+ejxgh_q`%gT3zGiEG?@K#f1cqjr&RxQnaU4F8AxI9I5QSW`X`NPi&3&$ z;L~ccD^BfeY)2dwMeWCoS0tUK8M`H&V;b*EI@f7@Ch4Ir<3FGc>H;Goj2Ni&3NSL# zXb&LhLXVLy=^LYrY)OxgHpWQ0s14IvL5l+nZA+^TAi4I4`vR0Rw+bfi9R3bq^001* z)2>GlhQ6U*=aW^_+~tsB?saWQ*u52@;@*!?bst5jx$BnLe`a!z_u+EJRwK1;>go|1 z45~=qBM6Q!MTYmgB8;tKAovz6<5}N0a3}5w8#^?ELu512&pVBNpnoR%1(z5fLa~}N zs#`Jj2P6#n1Hq>-rM$-@QN;k$m9))`6iIJXjH@KQ364+g=K+KF)6O8> zO&~+A6)olEAzj_sz|37h0xT>X^`^B!a0uA&`r6a@m-|*B!I=gAf^&?Jip#E=N?$a>|@@<`+0toU;-cDISxU2_NhET7ptO!Sja%Q+csR zS?Sk3jhA?$C78~qd%8+6gU|E~li(IU$5SEz`V3z6p6^*Aqh|6l&jtx@Szjj9%9oy#jd?IoDU*LgA}n9tXH##XTYKDj&iBc8c3 z>Q27JGZ5}4H2jM{=~*XZ%J^2#RtXmH?Vh*oeL3jFH=)^-zj$P!a+G^6!V|PG zLyQ3bMeAx397D$nmEe1HtZ)f_K*wq&!H?)zkrEt7$BLEUC%8wF1po8GKRQTsf~R<{ zmf$2$^`uGgGw4i|c7k}(45RuNs6VvGTOFVPEA zjj57e)XBI@(o52fHIgpR5Q{Z0`9tWkp2nkyc$g9|$BGLy)k5fsOr}1E9E7}v;4Wla zN#&7vYR)~=0E8>0z^`tVpgsKRb_qJbukMtfBbKCEBeWa=Cp6a;7uv;G3(_m>bY;c{ z06|}?8Ba*Mr)fMR={`>5bxHSg1*YQAtO(;1$sZKW!irD`Z90NpC`IUK-;fzP+t0b+}+pyGnYqs@qVqCb@VV@MP#C)t@1ORxDA9MKgRbA6iJGv zuEUu8of_K$BD74?e^7Px5M<(%s!pG*7m+ku#E0XN>MPLJR;h|OO#C0!9SH)uv<-mA zRcax`I=$h9e^T#iA+Q!r@DKIwmIAVPf@f4RhN4BoZchm6FiQ+A8(_+PSkV08ayfoZ z=-|(n;}?x5Frzad>2>_78QG8`EsozzV~nJKcQUWG0unt)#}|p3<3l4IiJqoJpR
>!;$1;u4zib9ryZ8eWGb5OIRY|Ax+g;!YaUV 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 LO0#EmP(A+-AihtM delta 29202 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:
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' Build target 'F103C8T6' +compiling main.c... +linking... +Program Size: Code=25688 RO-data=424 RW-data=16 ZI-data=6656 +FromELF: creating hex file... "F103C8T6\F103C8T6.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

@@ -51,7 +55,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.6.0 Include file: CMSIS/Core/Include/tz_context.h -Build Time Elapsed: 00:00:00 +Build Time Elapsed: 00:00:01 diff --git a/MDK-ARM/F103C8T6/F103C8T6.hex b/MDK-ARM/F103C8T6/F103C8T6.hex index 64fb7ce..78fedd6 100644 --- a/MDK-ARM/F103C8T6/F103C8T6.hex +++ b/MDK-ARM/F103C8T6/F103C8T6.hex @@ -1,33 +1,33 @@ :020000040800F2 -:10000000301A00208901000839420008E93F000841 -:100010003542000815030008E561000800000000F3 -:10002000000000000000000000000000315D00083A -:100030001505000800000000914C0008895D0008CB +:10000000101A00208901000835420008E53F000869 +:100010003142000815030008B96300080000000021 +:10002000000000000000000000000000055F000864 +:100030001105000800000000554D00085D5F000834 :10004000A3010008A3010008A3010008A301000800 :10005000A3010008A3010008A3010008A3010008F0 :10006000A3010008A3010008A3010008A3010008E0 :10007000A3010008A3010008A3010008A3010008D0 -:10008000A3010008A3010008A3010008C56100083E -:10009000D56100081903000829030008A30100081E +:10008000A3010008A3010008A30100089963000868 +:10009000A96300081903000829030008A301000848 :1000A000A3010008A3010008A3010008A3010008A0 -:1000B000A3010008A3010008315E0008A3010008A5 +:1000B000A3010008A301000805600008A3010008CF :1000C000A3010008A3010008A3010008A301000880 :1000D000A3010008A3010008A3010008A301000870 :1000E000A3010008A3010008A301000800F002F822 :1000F00000F03AF80AA090E8000C82448344AAF188 :100100000107DA4501D100F02FF8AFF2090EBAE885 :100110000F0013F0010F18BFFB1A43F0010318473B -:10012000EC6200000C630000103A24BF78C878C16C +:10012000C0640000E0640000103A24BF78C878C1C1 :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 :100160001FB51FBD10B510BD00F08AF81146FFF78E -:10017000F7FF06F0C9F800F0A8F803B4FFF7F2FFA4 +:10017000F7FF06F0B3F900F0A8F803B4FFF7F2FFB9 :1001800003BC00F0AFF80000094880470948004769 :10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 :1001A000FEE7FEE704480549054A064B7047000094 -:1001B0002D5E0008ED00000830140020301A0020E9 -:1001C000301600203016002010B5203AC0F00B8009 +:1001B00001600008ED00000810140020101A002053 +:1001C000101600201016002010B5203AC0F00B8049 :1001D000B1E81850A0E81850B1E81850A0E818503D :1001E000203ABFF4F5AF5FEA027C24BFB1E81850B3 :1001F000A0E8185044BF18C918C0BDE810405FEA15 @@ -45,1565 +45,1592 @@ :1002B000AC46ACE8C009ACE8C009ACE8C009ACE8A1 :1002C000C00921F007018D46704710B50446AFF311 :1002D00000802046BDE81040FFF74FBF0048704740 -:1002E0002800002001491820ABBEFEE726000200CE -:1002F0007047000040F6E400C2F20000007840F2CF +:1002E0001000002001491820ABBEFEE726000200E6 +:1002F0007047000040F6CC00C2F20000007840F2E7 :100300000001C2F200010978401A813000F07F003C -:1003100070470000FFE7FEE780B540F6FC00C2F240 -:10032000000000F06FFC80BD80B540F6FC00C2F21A -:10033000000000F067FC80BD40F28801C2F20001BD -:10034000486901304861704740F28801C2F20001FB -:10035000C8690130C861704740F28801C2F20001EB -:10036000886801308860704740F28801C2F200015D -:10037000886901308861704740F28801C2F200014B -:10038000086A01300862704740F28801C2F2000139 -:10039000486801304860704740F28801C2F20001AD -:1003A000086801300860704740F28801C2F200011D -:1003B000086901300861704740F28801C2F200010B -:1003C000886C01308864704740F28801C2F20001F5 -:1003D000C86C0130C864704740F28801C2F2000165 -:1003E000086D01300865704740F28801C2F20001D3 -:1003F000486D01304865704740F28801C2F2000143 -:10040000486A01304862704740F28801C2F2000138 -:10041000886A01308862704740F28801C2F20001A8 -:10042000C8680130C860704740F28801C2F200011C -:10043000486C01304864704740F28801C2F2000104 -:10044000C86A0130C862704740F28801C2F20001F8 -:10045000486B01304863704740F28801C2F20001E6 -:10046000C86B0130C863704740F28801C2F20001D6 -:10047000086B01300863704740F28801C2F2000146 -:10048000886B01308863704740F28801C2F2000136 +:1003100070470000FFE7FEE780B540F6E000C2F25C +:10032000000000F06DFC80BD80B540F6E000C2F238 +:10033000000000F065FC80BD40F27001C2F20001D7 +:10034000486901304861704740F27001C2F2000113 +:10035000C8690130C861704740F27001C2F2000103 +:10036000886801308860704740F27001C2F2000175 +:10037000886901308861704740F27001C2F2000163 +:10038000086A01300862704740F27001C2F2000151 +:10039000486801304860704740F27001C2F20001C5 +:1003A000086801300860704740F27001C2F2000135 +:1003B000086901300861704740F27001C2F2000123 +:1003C000886C01308864704740F27001C2F200010D +:1003D000C86C0130C864704740F27001C2F200017D +:1003E000086D01300865704740F27001C2F20001EB +:1003F000486D01304865704740F27001C2F200015B +:10040000486A01304862704740F27001C2F2000150 +:10041000886A01308862704740F27001C2F20001C0 +:10042000C8680130C860704740F27001C2F2000134 +:10043000486C01304864704740F27001C2F200011C +:10044000C86A0130C862704740F27001C2F2000110 +:10045000486B01304863704740F27001C2F20001FE +:10046000C86B0130C863704740F27001C2F20001EE +:10047000086B01300863704740F27001C2F200015E +:10048000886B01308863704740F27001C2F200014E :10049000086C01300864704780B590B0DDF848C042 :1004A000CDF83CC00E930D920C910B90002004905F :1004B000042107918DF8280008900C9A019962F3A5 -:1004C0001C0101919DF8071001F0F7018DF807104C +:1004C0001C0101919DF8071041F008018DF80710FB :1004D0009DF8061001F0F00108318DF80610FF219B -:1004E0008DF800108DF80100BDF80010ADF8041073 -:1004F000019921F060410691099040F6EC00C2F2AA -:100500000000006805A902AA04AB00F037F810B09B -:1005100080BD00007047000081B0EFF3108072B61C -:100520000090FFE7FEE7000084B00290019102987E -:1005300090F820008DF803009DF80300012805D0F5 -:10054000FFE79DF8030002280AD1FFE7019A02980D -:10055000016848691043486100208DF80F0008E0E9 -:100560000299486A40F48020486201208DF80F000B -:10057000FFE79DF80F0004B07047000088B00690B8 -:10058000059104920393069890F820008DF80700D7 -:1005900006980068806800900598806808B9FFE7B1 -:1005A00000E0FFE79DF80700012806D0FFE79DF86F -:1005B0000700022840F08080FFE79DF80300400715 -:1005C00000280CD4FFE79DF803000007002806D49C -:1005D000FFE79DF80300C006002864D5FFE70098F8 -:1005E000C0F30160029002990120884003990860DD -:1005F0000598806868B9FFE705980168C06840EA17 -:10060000415006990968029A01EB0211C1F8800174 -:100610000EE005994A688868C96840EAC200084344 -:1006200006990968029A01EB0211C1F88001FFE7FF -:100630000598006906990968029A01EB0211C1F850 -:1006400084010598007D01280CD1FFE70698006819 -:10065000029900EB0111D1F8840140F48070C1F8D7 -:100660008401FFE70498406806990968029A01EB43 -:100670000211C1F88C010498006806990968029A71 -:1006800001EB0211C1F8880106980068029900EB9D -:100690000111D1F8800140F00100C1F88001002073 -:1006A0008DF81F0011E00699486A40F40010486276 -:1006B00001208DF81F0008E00699486A40F4802068 -:1006C000486201208DF81F00FFE79DF81F0008B069 -:1006D0007047000086B00490039104980068019070 -:1006E000049890F820008DF803009DF8030001287D -:1006F00006D0FFE79DF80300022840F09B80FFE74B -:100700000199D1F8000240F00100C1F800020398FD -:10071000406900F01F01012088400290029A01996F -:10072000D1F81C029043C1F81C020398C069F0B9CB -:10073000FFE7029A0199D1F80C029043C1F80C022C -:10074000039A9088D168526940EA0140019901EB0F -:10075000C201C1F84002039A10889168526940EAC8 -:100760000140019901EBC201C1F84402FFE703987F -:10077000C06901281ED1FFE7029A0199D1F80C0245 -:100780001043C1F80C02039A90881168526940EA3C -:100790000140019901EBC201C1F84002039A90891E -:1007A0009168526940EA0140019901EBC201C1F828 -:1007B0004402FFE70398806940B9FFE7029A019974 -:1007C000D1F804029043C1F8040207E0029A0199AB -:1007D000D1F804021043C1F80402FFE7039800694E -:1007E00040B9FFE7029A0199D1F814029043C1F889 -:1007F000140207E0029A0199D1F814021043C1F8DB -:100800001402FFE70398006A012808D1FFE7029A63 -:100810000199D1F81C021043C1F81C02FFE70199AD -:10082000D1F8000220F00100C1F8000200208DF88C -:10083000170008E00499486A40F4802048620120CB -:100840008DF81700FFE79DF8170006B0704700000D -:1008500080B582B001900198406A08B9FFE7C4E012 -:100860000198406AC00718B1FFE7FFF795FDFFE761 -:100870000198406A8007002803D5FFE7FFF784FD51 -:10088000FFE70198406A4007002803D5FFE7FFF71C -:1008900063FDFFE70198406A0007002803D5FFE7E2 -:1008A000FFF7BAFDFFE70198406AC006002803D5AC -:1008B000FFE7FFF779FDFFE70198406A800600280F -:1008C00003D5FFE7FFF738FDFFE70198406A4006D0 -:1008D000002803D5FFE7FFF747FDFFE70198406ACF -:1008E0000006002803D5FFE7FFF72EFDFFE701987C -:1008F000406AC005002803D5FFE7FFF73DFDFFE78D -:100900000198406A8005002803D5FFE7FFF774FDD2 -:10091000FFE70198406A4005002803D5FFE7FFF78D -:1009200073FDFFE70198406A0005002803D5FFE743 -:10093000FFF782FDFFE70198406AC004002803D555 -:10094000FFE7FFF791FDFFE70198406A8004002868 -:1009500003D5FFE7FFF778FDFFE70198406A400401 -:10096000002803D5FFE7FFF787FDFFE70198406AFE -:100970000004002803D5FFE7FFF76EFDFFE70198AD -:10098000406AC003002803D5FFE7FFF77DFDFFE7BE -:100990000198406A8003002803D5FFE7FFF744FD74 -:1009A000FFE70198406A4003002803D5FFE7FFF7FF -:1009B00003FDFFE70198406A0003002803D5FFE725 -:1009C000FFF702FDFFE70198406AC002002803D547 -:1009D000FFE7FFF701FDFFE70198406A800200286A -:1009E00003D5FFE7FFF700FDFFE702B080BD000081 -:1009F00086B00490039102920193049890F820002D -:100A00008DF803009DF80300012806D0FFE79DF84C -:100A10000300022840F0E880FFE7039880B9FFE771 -:100A200004980068C068800748B9FFE70499486ADD -:100A300040F40010486201208DF81700DDE00FE05F -:100A4000049800680069800748B9FFE70499486A7C -:100A500040F40010486201208DF81700CDE0FFE758 -:100A600004980068039900EB0110D0F8B00100F081 -:100A70000400029988600298806858B9FFE70498DA -:100A80000068039900EB0110D0F8B001400D029905 -:100A900008600AE004980068039900EB0110D0F8A0 -:100AA000B001C00802994860FFE704980068039904 -:100AB00000EB0110D0F8B00100F002000299C8600C -:100AC00004980068039900EB0110D0F8B40100F01D -:100AD0000F00082804D3FFE70299082008610BE003 -:100AE00004980068039900EB0110D0F8B40100F0FD -:100AF0000F0002990861FFE704980068039900EB72 -:100B00000110D0F8B40180B2000A029988610498FB -:100B10000068039900EB0110D0F8B401000C0299B1 -:100B2000486104980068039900EB0110D0F8B801FF -:100B30000199087004980068039900EB0110D0F83F -:100B4000B801000A0199487004980068039900EB05 -:100B50000110D0F8B801000C019988700498006861 -:100B6000039900EB0110D0F8B801000E0199C8708C -:100B700004980068039900EB0110D0F8BC010199BA -:100B8000087104980068039900EB0110D0F8BC01CB -:100B9000000A0199487104980068039900EB01105C -:100BA000D0F8BC01000C0199887104980068039981 -:100BB00000EB0110D0F8BC01000E0199C871039838 -:100BC00038B9FFE704980168C86840F02000C860A1 -:100BD00006E004980168086940F020000861FFE71A -:100BE00000208DF8170008E00499486A40F480203E -:100BF000486201208DF81700FFE79DF8170006B046 -:100C00007047000080B58AB00990002008900998CC -:100C10000068406907900998006840680690099844 -:100C200000688068059009980068C0680490099879 -:100C300000680069039009980068806902909DF837 -:100C40001C00C007002800F09480FFE79DF8140006 -:100C5000C00758B3FFE709980168012088609DF834 -:100C600014008007002804D5FFE70998816A8847A7 -:100C70001BE09DF814004007002805D5FFE7089801 -:100C800040F4006008900FE09DF814000007002871 -:100C900005D5FFE7089840F48050089003E00998D4 -:100CA000416B8847FFE7FFE7FFE7FFE79DF8150087 -:100CB000C00760B3FFE7099801684FF4807088604F -:100CC0009DF815008007002804D5FFE70998C16A40 -:100CD00088471BE09DF815004007002805D5FFE771 -:100CE000089840F4005008900FE09DF815000007A8 -:100CF000002805D5FFE7089840F48040089003E0FD -:100D00000998816B8847FFE7FFE7FFE7FFE79DF85A -:100D10001600C00760B3FFE7099801684FF4803000 -:100D200088609DF816008007002804D5FFE7099821 -:100D3000016B88471BE09DF816004007002805D589 -:100D4000FFE7089840F4004008900FE09DF8160077 -:100D50000007002805D5FFE7089840F48030089088 -:100D600003E00998C16B8847FFE7FFE7FFE7FFE76C -:100D7000FFE79DF81C000007002810D5FFE79DF84D -:100D80001000C006002809D5FFE7089840F400705D -:100D90000890099801681020C860FFE7FFE79DF8F8 -:100DA0001C00400700280FD5FFE79DF81000000742 -:100DB000002808D5FFE7099801680820C86009984D -:100DC000416C8847FFE7FFE79DF81C00800700287B -:100DD0000BD5FFE709980068C068800720B1FFE7DE -:100DE0000998016C8847FFE7FFE79DF81C00400663 -:100DF000002810D5FFE79DF80C00C006002809D593 -:100E0000FFE7089840F48060089009980168102076 -:100E10000861FFE7FFE79DF81C00800600280FD55A -:100E2000FFE79DF80C000007002808D5FFE70998A8 -:100E30000168082008610998C16C8847FFE7FFE74F -:100E40009DF81C00C00600280BD5FFE70998006834 -:100E50000069800720B1FFE70998816C8847FFE7A8 -:100E6000FFE79DF81E00800700280FD5FFE79DF8DB -:100E70001800C006002808D5FFE70998016810206F -:100E800048600998016D8847FFE7FFE79DF81E005D -:100E9000C00778B1FFE79DF818000007002808D5C3 -:100EA000FFE709980168082048600998416D884764 -:100EB000FFE7FFE79DF81D000006002840F18D8048 -:100EC000FFE79DF818004007002840F18180FFE708 -:100ED0009DF81D00C00750B1FFE79DF80800C0074E -:100EE00028B1FFE7089840F001000890FFE79DF85F -:100EF0001D00800700280BD5FFE79DF8080080073C -:100F0000002805D5FFE7089840F002000890FFE7A9 -:100F10009DF81D00400700280BD5FFE79DF808004D -:100F20004007002805D5FFE7089840F00400089026 -:100F3000FFE79DF81D000007002848D5FFE79DF852 -:100F4000080010F0700F42D0FFE7029800F0700028 -:100F500001460191102814D0FFE70198202815D0F0 -:100F6000FFE70198302816D0FFE70198402817D0F6 -:100F7000FFE70198502818D0FFE70198602819D0A2 -:100F80001DE0089840F00800089019E0089840F02B -:100F90001000089014E0089840F0200008900FE03E -:100FA000089840F0400008900AE0089840F080005F -:100FB000089005E0089840F48070089000E0FFE792 -:100FC00009980168886920F070008861FFE7FFE7F1 -:100FD0000998016804204860FFE7089848B1FFE7D6 -:100FE000089A0999486A104348620998816D8847B0 -:100FF000FFE70AB080BD000080B584B0029002987F -:1010000020B9FFE701208DF80F003AE1029890F82F -:10101000200000285DD1FFE7029941F25150C0F64F -:1010200000000864029941F24950C0F6000048648B -:10103000029941F26150C0F600008864029941F2C1 -:101040005950C0F60000C864029941F20560C0F62C -:1010500000008862029941F21560C0F60000C86283 -:10106000029941F22560C0F600000863029941F23E -:10107000FD50C0F600004863029941F20D60C0F6D1 -:1010800000008863029941F21D60C0F60000C86349 -:10109000029941F26950C0F600000865029941F2D8 -:1010A000F570C0F600004865029940F65100C0F6A0 -:1010B000000088650298C06D38B9FFE7029941F2D7 -:1010C000E520C0F60000C865FFE70298C16D8847BB -:1010D000FFE702980168086840F00100086000F02E -:1010E000EDFD0190FFE7029800684068C007A8B9CD -:1010F000FFE700F0E3FD0199401A0B280DD3FFE74D -:101100000299486A40F4003048620299052081F84B -:10111000200001208DF80F00B3E0E4E70298016899 -:10112000086820F00200086000F0C8FD0190FFE7A9 -:101130000298006840688007002815D5FFE700F096 -:10114000BDFD0199401A0B280DD3FFE70299486AAB -:1011500040F4003048620299052081F82000012007 -:101160008DF80F008DE0E3E70298007E012807D19B -:10117000FFE702980168086840F08000086006E018 -:1011800002980168086820F080000860FFE7029874 -:10119000407E012807D1FFE702980168086840F007 -:1011A0004000086006E002980168086820F04000EE -:1011B0000860FFE70298807E012807D1FFE70298C8 -:1011C0000168086840F02000086006E002980168A5 -:1011D000086820F020000860FFE70298C07E012820 -:1011E00007D1FFE702980168086820F01000086046 -:1011F00006E002980168086840F010000860FFE708 -:101200000298007F012807D1FFE70298016808686B -:1012100040F00800086006E002980168086820F0C5 -:1012200008000860FFE70298407F012807D1FFE728 -:1012300002980168086840F00400086006E002981F -:101240000168086820F004000860FFE7029B196845 -:101250005A689868D3F80CC040EA0C00D3F810C064 -:1012600040EA0C005B691843013A1043C8610299D7 -:1012700000204862029A012182F820108DF80F00A8 -:10128000FFE79DF80F0004B080BD000080B582B07C -:1012900001900198006846F20041C4F200018842C2 -:1012A0001DD1FFE741F21C01C4F20201086820F0E1 -:1012B0000070086040F60000C4F201004FF4C05115 -:1012C00000F09CFA132000F07BFD142000F078FD64 -:1012D000152000F075FD162000F072FDFFE702B04A -:1012E00080BD000080B58EB00D9000200C900B905A -:1012F0000A9009900D98006846F20041C4F200017E -:1013000088425ED1FFE7FFE741F21C00C4F2020011 -:10131000016841F000710160006800F00070089001 -:101320000898FFE7FFE741F21800C4F202000168E5 -:1013300041F004010160006800F004000790079884 -:10134000FFE74FF400600990002005900A900B9091 -:1013500040F60000C4F20100009009A9019100F0DC -:101360001DFB009801994FF48052099202220A92C3 -:1013700003220C9200F012FB059A132002901146F2 -:1013800000F032FD029800F025FD059A142003902C -:10139000114600F029FD039800F01CFD059A152068 -:1013A0000490114600F020FD049800F013FD059A0A -:1013B00016200690114600F017FD069800F00AFD71 -:1013C000FFE70EB080BD000087B005908DF81310C8 -:1013D000039200208DF80B00039848B9FFE70599A8 -:1013E000486A40F48000486201208DF81B00A6E0A6 -:1013F000059890F82000012870D1FFE79DF81300B0 -:10140000014601910E285FD801990FF2080000EB08 -:101410008100874600F01CB800F01EB800F020B82C -:1014200000F022B800F024B800F026B800F028B888 -:1014300000F02AB800F02CB800F02EB800F030B858 -:1014400000F032B800F034B800F036B800F038B828 -:1014500003980599886240E003980599C8623CE0CA -:1014600003980599086338E003980599486334E0C8 -:1014700003980599886330E003980599C8632CE0C8 -:1014800003980599086428E003980599486424E0C6 -:1014900003980599886420E003980599C8641CE0C6 -:1014A00003980599086518E003980599486514E0C4 -:1014B00003980599886510E003980599C8650CE0C4 -:1014C00003980599086608E00599486A40F4800089 -:1014D000486201208DF80B00FFE72BE0059890F89B -:1014E0002000E8B9FFE79DF81300014600910D28A0 -:1014F00004D0FFE700980E2804D007E00398059970 -:10150000C8650CE003980599086608E00599486AE3 -:1015100040F48000486201208DF80B00FFE708E0EE -:101520000599486A40F48000486201208DF80B005C -:10153000FFE7FFE79DF80B008DF81B00FFE79DF824 -:101540001B0007B07047000081B0009001B07047E9 -:1015500081B0009001B0704781B0009001B0704739 -:1015600081B0009001B0704781B0009001B0704729 -:1015700080B584B00290029890F8200001282FD105 -:10158000FFE70299022081F82000029801680868AC -:1015900020F00100086000F091FB0190FFE7029845 -:1015A00000684068C007A8B1FFE700F087FB019919 -:1015B000401A0B280DD3FFE70299486A40F4003027 -:1015C00048620299052081F8200001208DF80F0063 -:1015D0000FE0E4E70299002048628DF80F0008E070 -:1015E0000299486A40F40020486201208DF80F00FB -:1015F000FFE79DF80F0004B080BD000081B00090AF -:1016000001B0704781B0009001B0704781B0009088 -:1016100001B0704781B0009001B0704781B0009078 -:1016200001B0704781B0009001B0704784B0039062 -:101630008DF80B1000208DF80A00039890F8200018 -:10164000012840F0A080FFE79DF80B0001460191C2 -:101650000E2800F28E8001990FF2080000EB810045 -:10166000874600BF00F01CB800F021B800F026B893 -:1016700000F02BB800F030B800F035B800F03AB800 -:1016800000F03FB800F044B800F049B800F04EB8A0 -:1016900000F053B800F058B800F05DB800F062B840 -:1016A000039941F20560C0F6000088626AE0039980 -:1016B00041F21560C0F60000C86263E0039941F290 -:1016C0002560C0F6000008635CE0039941F2FD501C -:1016D000C0F60000486355E0039941F20D60C0F682 -:1016E000000088634EE0039941F21D60C0F60000DF -:1016F000C86347E0039941F25150C0F60000086406 -:1017000040E0039941F24950C0F60000486439E0D6 -:10171000039941F26150C0F60000886432E00399F9 -:1017200041F25950C0F60000C8642BE0039941F221 -:101730006950C0F60000086524E0039941F2F57095 -:10174000C0F6000048651DE0039940F65100C0F660 -:101750000000886516E0039941F2E520C0F600001C -:10176000C8650FE0039941F28D20C0F600000866BD -:1017700008E00399486A40F48000486201208DF82F -:101780000A00FFE731E0039890F8200018BBFFE75C -:101790009DF80B00014600910D2804D0FFE700984A -:1017A0000E2807D00DE0039941F2E520C0F60000B5 -:1017B000C8650FE0039941F28D20C0F6000008666D -:1017C00008E00399486A40F48000486201208DF8DF -:1017D0000A00FFE708E00399486A40F48000486285 -:1017E00001208DF80A00FFE7FFE79DF80A0004B02A -:1017F0007047000081B0009001B070478DB00C9030 -:101800000B9100200A90FFE70B980A99C840002826 -:1018100000F0C180FFE70B980A9A0121914008402F -:1018200009900998002800F0B280FFE70A9820F09C -:1018300003000821C4F20101405808900A9800F002 -:10184000030081000F2000FA01F108980840089079 -:10185000089805900C9840F60001C4F201018842F6 -:1018600003D1FFE70020049026E00C9840F60041E9 -:10187000C4F20101884203D1FFE70120039018E080 -:101880000C9841F20001C4F20101884203D1FFE744 -:10189000022002900AE00C9941F20042C4F20102D7 -:1018A0000420914208BF03200290FFE702980390B2 -:1018B000FFE703980490FFE7059804990A9A02F05D -:1018C000030292009140884232D1FFE7099A40F228 -:1018D0000041C4F20101086890430860099A40F28F -:1018E0000441C4F20101086890430860099A40F27B -:1018F0000C41C4F20101086890430860099A40F263 -:101900000841C4F201010868904308600A9800F099 -:10191000030081000F2088400890089B0A9820F05F -:1019200003010822C4F20102885898438850FFE757 -:101930000998FF2803D8FFE70C98019003E00C9862 -:1019400004300190FFE7019807900998FF2804D818 -:10195000FFE70A988000009006E00A996FF01F00E8 -:1019600000EB81000090FFE7009806900798006860 -:10197000069A0F219140884304219140084307991A -:101980000860099A0C99C8689043C860FFE70A98F4 -:1019900001300A9038E70DB07047000090B00F900A -:1019A0000E9100200D900990FFE70E9800680D99A8 -:1019B000C840002800F07F81FFE70D990120884092 -:1019C0000C900E9800680C9908400B900B980C999D -:1019D000884240F06C81FFE70E984068059000282F -:1019E00051D0FFE7059801283AD0FFE70598022873 -:1019F0003FD0FFE7059803285FD0FFE7059811283F -:101A000032D0FFE70598122838D0FFE7059800216B -:101A1000C1F21101884236D0FFE705980021C1F2DA -:101A2000120188422FD0FFE705980021C1F2210161 -:101A3000884228D0FFE705980021C1F222018842A0 -:101A400021D0FFE705980021C1F2310188421AD068 -:101A5000FFE705980021C1F23201884213D02FE040 -:101A60000E98C06809902CE00E98C0680430099068 -:101A700027E00E98C0680830099022E00E98C068F0 -:101A80000C3009901DE00E98806818B9FFE704201B -:101A9000099011E00E988068012806D1FFE7082020 -:101AA00009900C980F99086105E0082009900C989E -:101AB0000F994861FFE7FFE703E00020099000E08D -:101AC000FFE70B98FF2803D8FFE70F98049003E087 -:101AD0000F9804300490FFE7049808900B98FF28B3 -:101AE00004D8FFE70D988000039006E00D996FF091 -:101AF0001F0000EB81000390FFE703980790089810 -:101B00000068079A0F219140884309999140084342 -:101B1000089908600E98C079C006002840F1C68078 -:101B2000FFE7FFE741F21800C4F20200016841F04C -:101B300001010160006800F0010006900698FFE7CF -:101B40000D9820F003000821C4F2010140580A90CA -:101B50000D9800F0030081000F2000FA01F10A98AF -:101B600088430A900F9840F60001C4F201018842B0 -:101B700003D1FFE70020029026E00F9840F60041D5 -:101B8000C4F20101884203D1FFE70120019018E06F -:101B90000F9841F20001C4F20101884203D1FFE72E -:101BA000022000900AE00F9941F20042C4F20102C3 -:101BB0000420914208BF03200090FFE700980190A5 -:101BC000FFE701980290FFE702980D9901F00301E9 -:101BD000890000FA01F10A9808430A900A980D99C1 -:101BE00021F003010822C4F2010288500E98807986 -:101BF000C006002809D5FFE70B9A40F20841C4F25D -:101C0000010108681043086008E00B9A40F208419F -:101C1000C4F20101086890430860FFE70E988079DC -:101C20008006002809D5FFE70B9A40F20C41C4F268 -:101C3000010108681043086008E00B9A40F20C416B -:101C4000C4F20101086890430860FFE70E988079AC -:101C50008007002809D5FFE70B9A40F20441C4F23F -:101C6000010108681043086008E00B9A40F2044143 -:101C7000C4F20101086890430860FFE70E9880797C -:101C8000C00748B1FFE70B9A40F20041C4F20101DE -:101C900008681043086008E00B9A40F20041C4F263 -:101CA0000101086890430860FFE7FFE7FFE70D9830 -:101CB00001300D9079E610B07047000041F22840E5 -:101CC000C2F200000068704740F21C00C2F200003F -:101CD000027841F22841C2F200010868104408600D -:101CE0007047000080B542F20001C4F202010868AA -:101CF00040F010000860032000F090F80F2000F082 -:101D000005F800F03BF8002080BD000080B582B0EF -:101D1000009040F20400C2F20000006840F21C0192 -:101D2000C2F200010A784FF47A71B1FBF2F1B0FB14 -:101D3000F1F001F0BDFA20B1FFE701208DF80700B6 -:101D400018E000980F280DD8FFE700994FF0FF30FA -:101D5000002200F049F8009840F22001C2F2000190 -:101D6000086003E001208DF8070003E000208DF8F3 -:101D70000700FFE79DF8070002B080BD82B0FFE7D3 -:101D800041F21800C4F20200016841F00101016053 -:101D9000006800F0010001900198FFE7FFE741F2C1 -:101DA0001C00C4F20200016841F08051016000682B -:101DB00000F0805000900098FFE702B070470000EC -:101DC00080B582B08DF807009DF9070004F00CFA89 -:101DD00002B080BD80B582B08DF807009DF9070084 -:101DE00004F01EFA02B080BD80B586B08DF81700F1 -:101DF000049103920020029004F02AFA02909DF9C7 -:101E00001700019002980499039A02F017FA01460C -:101E1000019804F025FA06B080BD000080B582B0BC -:101E20000190019804F03EFA02B080BD2021C4F276 -:101E30000E2101200860704780B588B0079000200F -:101E40000690059004900390029007980190012855 -:101E500066D0FFE70198022800F0A580FFE701980F -:101E6000102840F0B080FFE741F20400C4F2020005 -:101E70000068039041F20000C4F202000068C00153 -:101E800000284CD5FFE70398C0F3834146F2E830C1 -:101E9000C0F60000405C04909DF80E00C007F0B151 -:101EA000FFE741F20400C4F202000068C0F34041C1 -:101EB00046F2F830C0F60000405C06909DF80E0037 -:101EC000C00758B1FFE7069941F20020C0F27A003E -:101ED000B0FBF1F0049948430590FFE707E0049850 -:101EE00040F60011C0F23D0148430590FFE741F282 -:101EF0000400C4F2020000684002002803D5FFE796 -:101F0000059802900AE0059840004AF6AB21CAF60F -:101F1000AA21A0FB011040080290FFE7FFE753E071 -:101F200041F22000C4F2020000680390039800F41C -:101F30004070B0F5807F0AD1FFE79DF80C00800764 -:101F4000002804D5FFE74FF4004002902AE00398F0 -:101F500000F44070B0F5007F0DD1FFE741F224009E -:101F6000C4F2020000688007002804D5FFE749F6A4 -:101F70004040029015E0039800F44070B0F5407FB7 -:101F80000DD1FFE741F20000C4F2020000688003B7 -:101F9000002804D5FFE74FF22440029000E0FFE75D -:101FA000FFE7FFE710E000F029FA41F20401C4F274 -:101FB0000201096801F44042022101EB5231B0FBF9 -:101FC000F1F0029000E0FFE7029808B080BD000049 -:101FD00080B586B0049000200390029004980078A9 -:101FE000C007002800F0AC80FFE700208DF8070054 -:101FF00041F21C00C4F202000068C000002813D4A3 -:10200000FFE7FFE741F21C00C4F20200016841F063 -:1020100080510160006800F0805000900098FFE758 -:1020200001208DF80700FFE747F20000C4F200002E -:102030000068C005002822D4FFE747F20001C4F27F -:102040000001086840F480700860FFF737FE0390D5 -:10205000FFE747F20000C4F200000068C005002856 -:102060000CD4FFE7FFF72AFE0399401A652804D332 -:10207000FFE703208DF817008AE0EAE7FFE741F267 -:102080002000C4F20200006800F440700290029840 -:10209000E0B3FFE702980499496801F4407188426F -:1020A00034D0FFE741F22001C4F20201086820F4B5 -:1020B0004070029040F24042C4F24222012010607F -:1020C00000201060029808609DF80800C007E0B189 -:1020D000FFE7FFF7F3FD0390FFE741F22000C4F2B2 -:1020E00002000068800700280ED4FFE7FFF7E6FD36 -:1020F0000399401A41F28931884204D3FFE7032053 -:102100008DF8170044E0E8E7FFE7FFE741F2200120 -:10211000C4F20201086820F44070049A5268104327 -:1021200008609DF80700012809D1FFE741F21C0172 -:10213000C4F20201086820F080500860FFE7FFE762 -:1021400004980078800700280CD5FFE741F20401CD -:10215000C4F20201086820F44040049A92681043D7 -:102160000860FFE704980078C00600280CD5FFE758 -:1021700041F20401C4F20201086820F48000049ACC -:10218000D26810430860FFE700208DF81700FFE7D2 -:102190009DF8170006B080BD80B584B00290019113 -:1021A000029820B9FFE701208DF80F001BE101988C -:1021B00042F20001C4F20201096801F007018842FD -:1021C00016D9FFE742F20000C4F20200016821F0D4 -:1021D0000701019A11430160006800F007000199AE -:1021E000884204D0FFE701208DF80F00FBE0FFE7F5 -:1021F00002980078800700282AD5FFE70298007827 -:102200004007002809D5FFE741F20401C4F20201AA -:10221000086840F4E0600860FFE702980078000773 -:10222000002809D5FFE741F20401C4F20201086861 -:1022300040F460500860FFE741F20401C4F202017B -:10224000086820F0F000029A926810430860FFE7E7 -:1022500002980078C007002860D0FFE70298406825 -:1022600001280ED1FFE741F20000C4F2020000682D -:102270008003002804D4FFE701208DF80F00B2E0AE -:1022800021E00298406802280ED1FFE741F20000E9 -:10229000C4F2020000688001002804D4FFE7012096 -:1022A0008DF80F009FE00DE041F20000C4F2020043 -:1022B00000688007002804D4FFE701208DF80F0094 -:1022C00091E0FFE7FFE741F20401C4F20201086870 -:1022D00020F00300029A526810430860FFF7EEFCFA -:1022E0000090FFE741F20400C4F20200006800F031 -:1022F0000C0002994968B0EB810F0ED0FFE7FFF7A1 -:10230000DDFC0099401A41F28931884204D3FFE78D -:1023100003208DF80F0066E0E4E7FFE7019842F242 -:102320000001C4F20201096801F00701884216D2D7 -:10233000FFE742F20000C4F20200016821F0070149 -:10234000019A11430160006800F00700019988427A -:1023500004D0FFE701208DF80F0044E0FFE702986A -:102360000078400700280CD5FFE741F20401C4F2D1 -:102370000201086820F4E060029AD2681043086005 -:10238000FFE702980078000700280DD5FFE741F22B -:102390000401C4F20201086820F46050029A126934 -:1023A00040EAC2000860FFE700F03AF841F2040199 -:1023B000C4F202010968C9B20A0946F2D031C0F676 -:1023C0000001895CC84040F20401C2F200010860CB -:1023D00040F22000C2F200000068FFF797FC0020E6 -:1023E0008DF80F00FFE79DF80F0004B080BD0000DE -:1023F00040F20400C2F200000068704780B5FFF7A9 -:10240000F7FF41F20401C4F202010968C1F3C222DC -:1024100046F2E031C0F60001895CC84080BD000092 -:1024200086B000200590049003900290019041F244 -:102430000400C4F2020000680590059800F00C004A -:102440000146009100283FD0FFE70098042804D0FF -:10245000FFE70098082806D037E041F20020C0F2DC -:102460007A00019037E00598C0F3834146F2FA30D4 -:10247000C0F60000405C02909DF81600C007C0B195 -:10248000FFE741F20400C4F202000068C0F34041DB -:1024900046F20A40C0F60000405C0490029841F207 -:1024A0000021C0F27A0148430499B0FBF1F0039097 -:1024B00007E0029840F60011C0F23D014843039046 -:1024C000FFE70398019006E0FFE741F20020C0F229 -:1024D0007A000190FFE7019806B0704780B588B098 -:1024E00007900691059200200490039002900190BD -:1024F000022102910321049103904FF48070019016 -:10250000FFE741F21800C4F20200016841F0040143 -:102510000160006800F0040000900098FFE740F6BA -:102520000000C4F2010001A9FFF738FA41F20401EA -:10253000C4F20201086820F0E060069A10430860C7 -:1025400008B080BD80B586B00490049820B9FFE73C -:1025500001208DF817002EE304980078C0070028AA -:1025600000F0AE80FFE741F20400C4F20200006810 -:1025700000F00C00042813D0FFE741F20400C4F27D -:102580000200006800F00C0008281BD1FFE741F2B0 -:102590000400C4F202000068C003002812D5FFE75F -:1025A00041F20000C4F2020000688003002808D550 -:1025B000FFE70498406820B9FFE701208DF8170075 -:1025C000F9E27CE0FFE704984068B0F5803F09D16C -:1025D000FFE741F20001C4F20201086840F48030D4 -:1025E000086032E00498406868B9FFE741F20001F2 -:1025F000C4F20201086820F480300860086820F402 -:102600008020086020E004984068B0F5A02F0DD12C -:10261000FFE741F20001C4F20201086840F48020A3 -:102620000860086840F4803008600CE041F2000166 -:10263000C4F20201086820F480300860086820F4C1 -:1026400080200860FFE7FFE7FFE7FFE704984068A6 -:10265000D0B1FFE7FFF732FB0390FFE741F2000044 -:10266000C4F202000068800300280CD4FFE7FFF7E3 -:1026700025FB0399401A652804D3FFE703208DF852 -:10268000170098E2EAE719E0FFF718FB0390FFE76D -:1026900041F20000C4F202000068800300280CD55B -:1026A000FFE7FFF70BFB0399401A652804D3FFE708 -:1026B00003208DF817007EE2EAE7FFE7FFE7FFE778 -:1026C000049800788007002840F18D80FFE741F2F0 -:1026D0000400C4F20200006810F00C0F13D0FFE7F2 -:1026E00041F20400C4F20200006800F00C00082867 -:1026F00029D1FFE741F20400C4F202000068C003E0 -:10270000002820D4FFE741F20000C4F20200006874 -:102710008007002809D5FFE704980069012804D044 -:10272000FFE701208DF8170045E241F20001C4F2F5 -:102730000201086820F0F800049A526940EAC200D9 -:102740000860FFE74EE00498006958B3FFE70021F6 -:10275000C4F2422101200860FFF7B0FA0390FFE7BE -:1027600041F20000C4F202000068800700280CD487 -:10277000FFE7FFF7A3FA0399401A032804D3FFE702 -:1027800003208DF8170016E2EAE741F20001C4F2D7 -:102790000201086820F0F800049A526940EAC20079 -:1027A00008601EE00021C4F2422100200860FFF70B -:1027B00085FA0390FFE741F20000C4F202000068CE -:1027C000800700280CD5FFE7FFF778FA0399401A35 -:1027D000032804D3FFE703208DF81700EBE1EAE7B5 -:1027E000FFE7FFE7FFE7049800780007002848D5D7 -:1027F000FFE70498806918B3FFE740F28041C4F214 -:10280000422101200860FFF759FA0390FFE741F2E7 -:102810002400C4F202000068800700280CD4FFE7FF -:10282000FFF74CFA0399401A032804D3FFE703206B -:102830008DF81700BFE1EAE7012002F0C7FF1FE0B3 -:1028400040F28041C4F2422100200860FFF736FACE -:102850000390FFE741F22400C4F202000068800701 -:1028600000280CD5FFE7FFF729FA0399401A03283F -:1028700004D3FFE703208DF817009CE1EAE7FFE7A8 -:10288000FFE7049800784007002840F1D880FFE770 -:1028900000208DF8070041F21C00C4F2020000681D -:1028A000C000002813D4FFE7FFE741F21C00C4F288 -:1028B0000200016841F080510160006800F0805022 -:1028C00000900098FFE701208DF80700FFE747F22E -:1028D0000000C4F200000068C005002822D4FFE711 -:1028E00047F20001C4F20001086840F480700860FB -:1028F000FFF7E4F90390FFE747F20000C4F200009D -:102900000068C00500280CD4FFE7FFF7D7F903994A -:10291000401A652804D3FFE703208DF817004AE129 -:10292000EAE7FFE7FFE70498C068012809D1FFE75D -:1029300041F22001C4F20201086840F00100086081 -:1029400031E00498C06868B9FFE741F22001C4F2A1 -:102950000201086820F001000860086820F0040007 -:1029600008601FE00498C06805280DD1FFE741F218 -:102970002001C4F20201086840F004000860086801 -:1029800040F0010008600CE041F22001C4F20201B5 -:10299000086820F001000860086820F00400086062 -:1029A000FFE7FFE7FFE7FFE70498C068E0B1FFE754 -:1029B000FFF784F90390FFE741F22000C4F2020020 -:1029C0000068800700280ED4FFE7FFF777F9039926 -:1029D000401A41F28931884204D3FFE703208DF881 -:1029E0001700E8E0E8E71BE0FFF768F90390FFE76E -:1029F00041F22000C4F202000068800700280ED5D2 -:102A0000FFE7FFF75BF90399401A41F289318842E9 -:102A100004D3FFE703208DF81700CCE0E8E7FFE7D9 -:102A20009DF80700012809D1FFE741F21C01C4F21B -:102A30000201086820F080500860FFE7FFE7049873 -:102A4000C069002800F0B380FFE741F20400C4F23F -:102A50000200006800F00C00082800F08280FFE708 -:102A60000498C06902285CD1FFE76021C4F24221CA -:102A700000200860FFF722F90390FFE741F2000011 -:102A8000C4F202000068800100280CD5FFE7FFF7C0 -:102A900015F90399401A032804D3FFE703208DF8A2 -:102AA000170088E0EAE70498006AB0F5803F0CD18F -:102AB000FFE741F20401C4F20201086820F400308B -:102AC000049A926810430860FFE741F20401C4F2DF -:102AD0000201086820F47410049B1A6A5B6A1A43A6 -:102AE000104308606021C4F2422101200860FFF712 -:102AF000E5F80390FFE741F20000C4F2020000682D -:102B0000800100280CD4FFE7FFF7D8F80399401A9A -:102B1000032804D3FFE703208DF817004BE0EAE712 -:102B20001EE06021C4F2422100200860FFF7C6F8D1 -:102B30000390FFE741F20000C4F202000068800148 -:102B400000280CD5FFE7FFF7B9F80399401A0328CE -:102B500004D3FFE703208DF817002CE0EAE7FFE736 -:102B600024E00498C069012804D1FFE701208DF812 -:102B7000170020E041F20400C4F202000068029055 -:102B8000029800F480300499096A884208D1FFE76E -:102B9000029800F470100499496A884204D0FFE753 -:102BA00001208DF8170006E0FFE7FFE7FFE70020B0 -:102BB0008DF81700FFE79DF8170006B080BD0000F4 -:102BC00080B586B004900391029200208DF8060033 -:102BD000ADF80400049818B1FFE7039820B9FFE7A7 -:102BE00001208DF8170034E0049801A9002200F0BC -:102BF00035F820B1FFE701208DF8170029E004988F -:102C0000007B039908700498C07B0399C8700498EE -:102C1000407B039948700498807B039988700298E0 -:102C200098B1FFE70398C07802F004FE0399C870DA -:102C30000398407802F0FEFD03994870039880786D -:102C400002F0F8FD03998870FFE700208DF8170067 -:102C5000FFE79DF8170006B080BD000080B588B082 -:102C6000069005910492002003900290019000903C -:102C7000069818B1FFE7059820B9FFE701208DF805 -:102C80001F00C0E00698006840684007002803D590 -:102C9000FFE7012018B906E0012020B9FFE7012075 -:102CA0008DF81F00AFE0069802F04AFF03900399E9 -:102CB0004BF2C530C9F2A210A1FB0021C90A009154 -:102CC000039BA3FB0021C90A4FF4616201FB12338D -:102CD00048F68901C8F68801A3FB01C35B09DDF84A -:102CE00014C08CF80130039BA3FB00C0C00A00FB9A -:102CF0001230A0FB011251090901A1EB5211A0EB06 -:102D0000810005998870009818285ED3FFE7009825 -:102D10004AF6AB21CAF6AA21A0FB012000090190C6 -:102D20000098A0FB0121090901EB4101A0EBC100C2 -:102D300005990870069802F0E9FE029002980130A9 -:102D400050B1FFE702980399884205D9FFE703993C -:102D50000298401A029003E04FF0FF300290FFE724 -:102D6000019840F2A32141430398A0EBC1100390C6 -:102D70000698039902F0B4FF20B1FFE701208DF817 -:102D80001F0040E00298013078B1FFE703990298F4 -:102D9000084402900698029902F07AFF20B1FFE7FA -:102DA00001208DF81F002EE00AE00698029902F03B -:102DB0006FFF20B1FFE701208DF81F0023E0FFE740 -:102DC0000698019902F054FD03E0009805990870F7 -:102DD000FFE7049898B1FFE70598007802F02AFD14 -:102DE000059908700598407802F024FD059948700F -:102DF0000598807802F01EFD05998870FFE7002095 -:102E00008DF81F00FFE79DF81F0008B080BD00008F -:102E100080B584B0029000200190029820B9FFE7AD -:102E200001208DF80F0084E00298407C38B9FFE75C -:102E3000029900200874029800F080F8FFE70299D8 -:102E400002204874029800F001FA38B1FFE70299B5 -:102E50000420487401208DF80F006AE0029802F007 -:102E6000C1FD38B1FFE702990420487401208DF8B4 -:102E70000F005EE002980168486820F00700486093 -:102E80000298806848B1FFE746F63041C4F200017D -:102E9000086820F001000860FFE746F62C41C4F204 -:102EA0000001086820F46070029A9268104308607C -:102EB00002984068013020B1FFE702984068019015 -:102EC00012E00120FEF7B8FF0190019838B9FFE742 -:102ED00002990420487401208DF80F0029E0019820 -:102EE00001380190FFE7FFE7BDF8060000F00F0092 -:102EF000029909688860BDF8040002990968C860F1 -:102F0000029802F09BFD38B1FFE702990420487453 -:102F100001208DF80F000CE002990020C873029A7E -:102F200001215173029A9173029A51748DF80F0026 -:102F3000FFE79DF80F0004B080BD000080B582B0AF -:102F400001900198006842F60001C4F20001884235 -:102F500018D1FFE7FEF76AFFFFE741F21C00C4F259 -:102F60000200016841F000610160006800F000604B -:102F700000900098FFE740F23C41C4F2422101205A -:102F80000860FFE702B080BD80B588B0069005916B -:102F900004920020039002900190069818B1FFE778 -:102FA000059820B9FFE701208DF81F00A7E0FFE793 -:102FB0000698007C012804D1FFE702208DF81F004D -:102FC0009DE0069901200874FFE7FFE706990220BB -:102FD0004874049868B9FFE70598C0780699C873E3 -:102FE0000598407806994873059880780699887303 -:102FF00012E00598C07802F007FC0699C87305989E -:10300000407802F001FC069948730598807802F038 -:10301000FBFB06998873FFE70698417B827BC07BA8 -:1030200002F0C4FD069908730698007B05990870A4 -:10303000069802F085FD039003984BF2C531C9F262 -:10304000A211A0FB0110C00A0190019819284AD3CF -:10305000FFE701984AF6AB21CAF6AA21A0FB0110AE -:10306000000940F2A32141430398A0EBC110039053 -:103070000698039902F034FE60B1FFE70699042038 -:103080004874FFE7069900200874FFE701208DF8D7 -:103090001F0034E0069802F039FD029002980130DA -:1030A00000B3FFE70298039988421AD2FFE702981B -:1030B00045F28011C0F2010108440290069802997D -:1030C00002F0E6FD60B1FFE7069904204874FFE7CF -:1030D000069900200874FFE701208DF81F000EE01C -:1030E000FFE7FFE7FFE7069901204874FFE706992D -:1030F00000200874FFE700208DF81F00FFE79DF80F -:103100001F0008B080BD000080B588B00690059112 -:103110000492002003900290069818B1FFE70598EA -:1031200020B9FFE701208DF81F008AE0FFE706982D -:10313000007C012804D1FFE702208DF81F0080E009 -:10314000069901200874FFE7FFE7069902204874FA -:10315000049870B9FFE7059908784A7889784FF4A0 -:1031600061635843C2EB021200EB820008440390F3 -:103170001BE00598007802F047FB4FF4616148437B -:1031800000900598407802F03FFB01460098C1EBA3 -:10319000011100EB810001900598807802F034FB6A -:1031A0000146019808440390FFE70698039902F04E -:1031B00097FD60B1FFE7069904204874FFE7069980 -:1031C00000200874FFE701208DF81F0039E0069801 -:1031D0000168486820F005004860069802F096FCF7 -:1031E00002900298013000B3FFE7029803998842E9 -:1031F0001AD2FFE7029845F28011C0F2010108449B -:1032000002900698029902F043FD60B1FFE706992B -:1032100004204874FFE7069900200874FFE70120A6 -:103220008DF81F000DE0FFE7FFE7069901204874C5 -:10323000FFE7069900200874FFE700208DF81F00C3 -:10324000FFE79DF81F0008B080BD000080B584B086 -:10325000029000200190029820B9FFE701208DF82C -:103260000F0021E002980168486820F008004860DB -:10327000FEF724FD0190FFE7029800684068000710 -:1032800000280DD4FFE7FEF719FD0199401AB0F5AB -:103290007A7F04D9FFE703208DF80F0004E0EBE705 -:1032A00000208DF80F00FFE79DF80F0004B080BDEF -:1032B00080B582B00190019802F03CFD02B080BD63 -:1032C00081B0009001B0704781B0009001B07047AC -:1032D00081B0009001B0704781B0009001B070479C -:1032E00081B0009001B0704785B003900291FFE774 -:1032F000039890F83C00012804D1FFE702208DF8E4 -:1033000013005BE00399012081F83C00FFE7FFE731 -:103310000399022081F83D000398006840680190FD -:103320000398006880680090019820F07000019078 -:10333000029801680198084301900198039909686F -:1033400048600398006842F60041C4F201018842D7 -:1033500018D0FFE703980068B0F1804F12D0FFE764 -:103360000398006840F20041C4F20001884209D08D -:10337000FFE70398006840F60001C4F200018842AC -:103380000ED1FFE7009820F080000090029841687D -:103390000098084300900098039909688860FFE747 -:1033A0000399012081F83D00FFE70399002081F88F -:1033B0003C00FFE700208DF81300FFE79DF81300A5 -:1033C00005B0704780B582B00090009820B9FFE743 -:1033D00001208DF807004DE0009890F83D00B0B94D -:1033E000FFE70099002081F83C00009802F0D0FD32 -:1033F0000098806C38B9FFE7009943F2B140C0F6FD -:1034000000008864FFE70098816C8847FFE7009917 -:10341000022081F83D00009951F8040B02F010FDE4 -:103420000099012081F84600FFE70099012081F80A -:103430003E00009981F83F00009981F84000009912 -:1034400081F84100FFE7FFE70099012081F8420081 -:10345000009981F84300009981F84400009981F8AF -:103460004500FFE70099012081F83D0000208DF81C -:103470000700FFE79DF8070002B080BD80B582B06D -:1034800001900198006840F60001C4F200018842F2 -:103490000CD1FFE741F21C01C4F20201086820F0E0 -:1034A000040008601E20FEF78BFCFFE702B080BD21 -:1034B00080B584B003900398006840F60001C4F220 -:1034C0000001884219D1FFE7FFE741F21C00C4F276 -:1034D0000200016841F004010160006800F004008E -:1034E00002900298FFE71E20019000221146FEF78D -:1034F0007BFC0198FEF76EFCFFE704B080BD000086 -:1035000080B586B00490039100208DF80B00FFE792 -:10351000049890F83C00012804D1FFE702208DF8C0 -:103520001700ABE00499012081F83C00FFE7FFE7BA -:103530000499022081F83D00049800688068019099 -:10354000019820F077000190019820F47F400190CD -:103550000198049909688860039800680090002821 -:1035600072D0FFE7009810286ED0FFE7009820285F -:103570006AD0FFE70098302866D0FFE7009840281F -:1035800055D0FFE70098502837D0FFE70098602813 -:1035900040D0FFE7009870280BD0FFE70098B0F507 -:1035A000805F05D0FFE70098B0F5005F16D052E0CD -:1035B00055E004980068039B5A689968DB6802F03C -:1035C000B7FC0498006880680190019840F077008B -:1035D0000190019804990968886040E004980068A7 -:1035E000039B5A689968DB6802F0A2FC04980168A2 -:1035F000886840F48040886031E004980068039A4D -:103600005168D26802F024FD04980068502102F04D -:10361000A9FC24E004980068039A5168D26802F07B -:103620003FFD04980068602102F09CFC17E00498BC -:103630000068039A5168D26802F00AFD0498006895 -:10364000402102F08FFC0AE00498006803990968A1 -:1036500002F088FC03E001208DF80B00FFE70499DD -:10366000012081F83D00FFE70499002081F83C002B -:10367000FFE79DF80B008DF81700FFE79DF8170096 -:1036800006B080BD81B0009001B0704781B000905D -:1036900001B0704781B0009001B0704781B00090D8 -:1036A00001B0704781B0009001B0704781B00090C8 -:1036B00001B0704781B0009001B0704780B582B012 -:1036C000019001980068006900F002010020B0EB51 -:1036D000510F2BD0FFE701980068C06800F002018D -:1036E0000020B0EB510F20D0FFE7019801686FF088 -:1036F000020008610199012008770198006880693B -:10370000800728B1FFE70198D0F89010884708E0BB -:103710000198D0F8981088470198D0F89C108847F5 -:10372000FFE7019900200877FFE7FFE701980068AD -:10373000006900F004010020B0EB910F2CD0FFE7EE -:1037400001980068C06800F004010020B0EB910F00 -:1037500021D0FFE7019801686FF00400086101992A -:103760000220087701980068806910F4407F05D036 -:10377000FFE70198D0F89010884708E00198D0F84A -:10378000981088470198D0F89C108847FFE7019966 -:1037900000200877FFE7FFE701980068006900F064 -:1037A00008010020B0EBD10F2BD0FFE70198006893 -:1037B000C06800F008010020B0EBD10F20D0FFE777 -:1037C000019801686FF008000861019904200877EA -:1037D00001980068C069800728B1FFE70198D0F818 -:1037E0009010884708E00198D0F898108847019811 -:1037F000D0F89C108847FFE7019900200877FFE781 -:10380000FFE701980068006900F010010020B0EBAC -:10381000111F2CD0FFE701980068C06800F010016C -:103820000020B0EB111F21D0FFE7019801686FF075 -:103830001000086101990820087701980068C069A4 -:1038400010F4407F05D0FFE70198D0F8901088472A -:1038500008E00198D0F8981088470198D0F89C109B -:103860008847FFE7019900200877FFE7FFE7019805 -:1038700000680069C00788B1FFE701980068C06868 -:10388000C00750B1FFE7019801686FF001000861BF -:103890000198D0F880108847FFE7FFE7019800689B -:1038A0000069C1B20020B0EBD11F14D0FFE701982E -:1038B0000068C068C1B20020B0EBD11F0AD0FFE79A -:1038C000019801686FF0800008610198D0F8B0108D -:1038D0008847FFE7FFE701980068006900F04001B2 -:1038E0000020B0EB911F15D0FFE701980068C06879 -:1038F00000F040010020B0EB911F0AD0FFE70198D3 -:1039000001686FF0400008610198D0F8881088477E -:10391000FFE7FFE701980068006900F02001002040 -:10392000B0EB511F15D0FFE701980068C06800F0A8 -:1039300020010020B0EB511F0AD0FFE70198016879 -:103940006FF0200008610198D0F8A8108847FFE7C1 -:10395000FFE702B080BD000081B0009001B0704769 -:1039600081B0009001B0704781B0009001B0704705 -:1039700081B0009001B0704781B0009001B07047F5 -:1039800081B0009001B0704781B0009001B07047E5 -:1039900081B0009001B0704781B0009001B07047D5 -:1039A00081B0009001B0704781B0009001B07047C5 -:1039B00087B005908DF81310039200208DF80B004E -:1039C000039820B9FFE701208DF81B003DE1059821 -:1039D00090F83D00012840F0C380FFE79DF81300F8 -:1039E000014601911A2800F2B68001990FF20800F1 -:1039F00000EB8100874600BF00F034B800F036B815 -:103A000000F038B800F03AB800F03CB800F03EB82A -:103A100000F040B800F042B800F044B800F046B8FA -:103A200000F048B800F04AB800F04CB800F04EB8CA -:103A300000F050B800F053B800F056B800F059B894 -:103A400000F05CB800F05FB800F062B800F065B854 -:103A500000F068B800F06BB800F06EB800F071B814 -:103A600000F074B803980599886478E00398059984 -:103A7000C86474E003980599086570E00398059997 -:103A800048656CE003980599886568E00398059996 -:103A9000C86564E003980599086660E00398059995 -:103AA00048665CE003980599886658E00398059994 -:103AB000C86654E003980599086750E00398059993 -:103AC00048674CE003980599886748E00398059992 -:103AD000C86744E003980599C1F880003FE0039867 -:103AE0000599C1F884003AE003980599C1F8880067 -:103AF00035E003980599C1F88C0030E003980599EA -:103B0000C1F890002BE003980599C1F8940026E0D5 -:103B100003980599C1F8980021E003980599C1F828 -:103B20009C001CE003980599C1F8A00017E00398D9 -:103B30000599C1F8A40012E003980599C1F8A800FE -:103B40000DE003980599C1F8AC0008E003980599C9 -:103B5000C1F8B00003E001208DF80B00FFE76FE033 -:103B6000059890F83D00002865D1FFE79DF8130007 -:103B7000014600910D2859D800990FF2080000EB7A -:103B80008100874600F01AB800F01CB800F01EB89B -:103B900000F020B800F022B800F024B800F026B8F9 -:103BA00000F028B800F02AB800F02CB800F02EB8C9 -:103BB00000F030B800F032B800F034B8039805993E -:103BC000886437E003980599C86433E00398059941 -:103BD00008652FE00398059948652BE0039805993F -:103BE000886527E003980599C86523E0039805993F -:103BF00008661FE00398059948661BE0039805993D -:103C0000886617E003980599C86613E0039805993C -:103C100008670FE00398059948670BE0039805993A -:103C2000886707E003980599C86703E001208DF8CD -:103C30000B00FFE703E001208DF80B00FFE7FFE733 -:103C40009DF80B008DF81B00FFE79DF81B0007B0E7 -:103C50007047000081B0009001B0704781B00090C3 -:103C600001B0704784B003908DF80B1000208DF8E0 -:103C70000A00039890F83D00012840F01481FFE706 -:103C80009DF80B00014601911A2800F20781019965 -:103C90000FF2080000EB8100874600BF00F034B847 -:103CA00000F039B800F03EB800F043B800F048B872 -:103CB00000F04DB800F052B800F057B800F05CB812 -:103CC00000F061B800F066B800F06BB800F070B8B2 -:103CD00000F075B800F07AB800F080B800F086B84F -:103CE00000F08CB800F092B800F098B800F09EB8E0 -:103CF00000F0A4B800F0AAB800F0B0B800F0B6B870 -:103D000000F0BCB800F0C2B8039943F2B140C0F66D -:103D100000008864C6E0039943F27D40C0F60000CD -:103D2000C864BFE0039943F2B560C0F600000865BF -:103D3000B8E0039943F2AD60C0F600004865B1E019 -:103D4000039943F66910C0F600008865AAE003995C -:103D500043F66110C0F60000C865A3E0039943F67E -:103D60008910C0F6000008669CE0039943F68110B4 -:103D7000C0F60000486695E0039943F67910C0F656 -:103D8000000088668EE0039943F67110C0F60000CB -:103D9000C86687E0039943F28D60C0F600000867AB -:103DA00080E0039943F28560C0F60000486779E03F -:103DB000039943F2E120C0F60000886772E003999E -:103DC00043F2D920C0F60000C8676BE0039943F6C0 -:103DD000A110C0F60000C1F8800063E0039943F62B -:103DE000A910C0F60000C1F884005BE0039943F617 -:103DF0005540C0F60000C1F8880053E0039943F62F -:103E00005D40C0F60000C1F88C004BE0039943F21E -:103E10009D60C0F60000C1F8900043E0039943F2B2 -:103E2000A560C0F60000C1F894003BE0039943F69A -:103E30005910C0F60000C1F8980033E0039943F62A -:103E40009110C0F60000C1F89C002BE0039943F6E6 -:103E50009910C0F60000C1F8A00023E0039943F2D6 -:103E60009560C0F60000C1F8A4001BE0039943F27E -:103E7000C920C0F60000C1F8A80013E0039943F27E -:103E8000D120C0F60000C1F8AC000BE0039943F26A -:103E9000C120C0F60000C1F8B00003E001208DF899 -:103EA0000A00FFE79CE0039890F83D00002840F0EE -:103EB0009280FFE79DF80B00014600910D2800F26B -:103EC000858000990FF2080000EB8100874600BF53 -:103ED00000F01AB800F01FB800F024B800F029B8BC -:103EE00000F02EB800F033B800F038B800F03DB85C -:103EF00000F042B800F047B800F04CB800F051B8FC -:103F000000F056B800F05BB8039943F2B140C0F638 -:103F1000000088645EE0039943F27D40C0F6000033 -:103F2000C86457E0039943F2B560C0F60000086525 -:103F300050E0039943F2AD60C0F60000486549E0E7 -:103F4000039943F66910C0F60000886542E00399C2 -:103F500043F66110C0F60000C8653BE0039943F6E4 -:103F60008910C0F60000086634E0039943F681101A -:103F7000C0F6000048662DE0039943F67910C0F6BC -:103F80000000886626E0039943F67110C0F6000031 -:103F9000C8661FE0039943F28D60C0F60000086711 -:103FA00018E0039943F28560C0F60000486711E00D -:103FB000039943F2E120C0F6000088670AE0039904 -:103FC00043F2D920C0F60000C86703E001208DF855 -:103FD0000A00FFE703E001208DF80A00FFE7FFE792 -:103FE0009DF80A0004B07047FFE7FEE783B08DF844 -:103FF0000B009DF80B0000F5FA608DF80B009DF8A2 -:104000000B1001204BF65003C0F21E5345F6294217 -:10401000CCF28F2201FB02314FEA31114DF20B72CB -:10402000C0F2A3029142019022D3FFE79DF80B104A -:10403000002089070090C1B9FFE79DF80B004BF6FF -:104040005002C0F21E5245F62941CCF28F2100FBEE -:1040500001204FEAB00145F62842C0F28F2200202D -:10406000914288BF01200090FFE700980190FFE790 -:10407000019800F0010003B07047000080B582B0E5 -:1040800040F6FC00C2F20000019046F20041C4F28A -:10409000000101600821416000228260C2604FF48B -:1040A000402101614FF48011416102760121417686 -:1040B0008276C27602774177FCF79EFF18B1FFE760 -:1040C000FCF72AFAFFE702B080BD000080B586B099 -:1040D00000200590049003900290FFE741F2180041 -:1040E000C4F20200016841F004010160006800F0C0 -:1040F000040001900198FFE74FF4807002900220C5 -:104100000390059040F60000C4F2010002A9FDF7FB -:1041100045FC06B080BD000080B582B000208DF85F -:104120000600ADF80400009040F66010C2F20000F6 -:1041300042F60001C4F2000101604FF0FF3141601E -:104140004FF480718160FEF763FE18B1FFE7FCF762 -:10415000E3F9FFE700208DF804008DF805008DF8E5 -:10416000060040F66010C2F2000001A90122FEF72D -:10417000CBFF18B1FFE7FCF7CFF9FFE701228DF87D -:1041800000208DF801208DF8022000208DF803001A -:1041900040F66010C2F200006946FEF7F5FE18B165 -:1041A000FFE7FCF7B9F9FFE702B080BD80B588B042 -:1041B00000210191079106910591049103910291CB -:1041C00040F67410C2F2000040F60002C4F2000291 -:1041D00002604FF6FF12426081604FF47A72C26053 -:1041E00001618161FFF7EEF818B1FFE7FCF794F980 -:1041F000FFE74FF48050049040F67410C2F20000C4 -:1042000004A9FFF77DF918B1FFE7FCF785F9FFE78F -:1042100000200290039040F67410C2F2000002A940 -:10422000FFF762F818B1FFE7FCF776F9FFE708B08F -:1042300080BD0000FFE7FEE7FFE7FEE788B00790DC -:1042400006910592079800F0070004900498C0F1C9 -:104250000700052803D3FFE70420019004E0049839 -:10426000C0F107000190FFE7019803900498043023 -:10427000062803D8FFE70020009003E004980338E5 -:104280000090FFE70098029006980399012202FA35 -:1042900001F101390840029B984005999A40013A82 -:1042A0001140084308B0704780B58AB0DDF830C0CF -:1042B000CDF820C00793069205910490BDF8140034 -:1042C000ADF80C00BDF80C00000B0146029104286B -:1042D00056D802990FF2080000EB8100874600BF14 -:1042E00000F008B800F014B800F020B800F02CB8C6 -:1042F00000F038B804980599069A079BDDF820C0AD -:10430000EE46CEF800C000F09BFE8DF827003BE0A3 -:1043100004980599069A079BDDF820C0EE46CEF872 -:1043200000C000F0C3FD8DF827002DE0049805992A -:10433000069A079BDDF820C0EE46CEF800C000F0DC -:10434000F9FD8DF827001FE004980599069A079B50 -:10435000DDF820C0EE46CEF800C000F09BFC8DF8E2 -:10436000270011E004980599069A079BDDF820C004 -:10437000EE46CEF800C000F013FD8DF8270003E0F4 -:1043800001208DF82700FFE79DF827000AB080BDC7 -:1043900080B58AB0DDF830C0CDF820C00793069212 -:1043A00005910490BDF81400ADF80C00BDF80C00A8 -:1043B000000901460291032840D802990FF2080033 -:1043C00000EB8100874600BF00F006B800F012B88D -:1043D00000F01CB800F026B804980599069A079BCF -:1043E000DDF820C0EE46CEF800C000F01FFF8DF8CB -:1043F00027002BE004980599069A079BDDF820C05A -:10440000EE46CEF800C000F05BFE1BE00498059974 -:10441000069A079BDDF820C0EE46CEF800C000F0FB -:1044200067FE0FE004980599069A079BDDF820C007 -:10443000EE46CEF800C000F0A5FE03E001208DF8A6 -:10444000270003E000208DF82700FFE79DF82700F4 -:104450000AB080BD80B58EB08DF837000C910B92FC -:104460009DF83700069000210791012008900591E2 -:1044700009900E200A900C98C0F34F3001900C98D0 -:10448000C000043080B202900B98C0F34F3003900C -:104490000B98C000043080B2049040F6EC00C2F2E9 -:1044A0000000006801A9FCF715F918B1FFE7FCF757 -:1044B00033F8FFE70EB080BD80B582B08DF80700FD -:1044C0009DF80710481E009102280DD3FFE70098C1 -:1044D000032812D1FFE740F6F400C2F200000068A2 -:1044E0000E21FFF7BFFBFFE740F6EC00C2F2000031 -:1044F00000680621FDF79AF8FFE702B080BD0000D2 -:1045000080B58AB0DDF830C0CDF820C007930692A0 -:1045100005910490BDF81400ADF80C00BDF80C0036 -:10452000000B01460291062868D802990FF2080094 -:1045300000EB8100874600BF00F00CB800F016B811 -:1045400000F020B800F02AB800F034B800F03EB80F -:1045500000F048B804980599069A079BDDF820C03A -:10456000EE46CEF800C000F0CFFE4BE0049805996F -:10457000069A079BDDF820C0EE46CEF800C000F09A -:104580000BFF3FE004980599069A079BDDF820C0D1 -:10459000EE46CEF800C000F0CFFE33E00498059957 -:1045A000069A079BDDF820C0EE46CEF800C000F06A -:1045B000CFFE27E004980599069A079BDDF820C0F6 -:1045C000EE46CEF800C000F0DBFE1BE00498059933 -:1045D000069A079BDDF820C0EE46CEF800C000F03A -:1045E0009FFE0FE004980599069A079BDDF820C00E -:1045F000EE46CEF800C000F0B7FE03E001208DF8D3 -:10460000270003E000208DF82700FFE79DF8270032 -:104610000AB080BD80B540F20800C2F20000016817 -:1046200040F20C00C2F2000002680020FFF712FF07 -:1046300040F6F800C2F20000016840F21000C2F239 -:10464000000002680120FFF705FF40F21400C2F2EB -:104650000000016840F21800C2F200000268022067 -:10466000FFF7F8FE80BD000080B592B0DDF850C0C5 -:10467000CDF844C010930F920E910D90002006903B -:10468000042109918DF830000A900E9A039962F383 -:104690001C0103919DF80F1001F0F7018DF80F1028 -:1046A000039921F06041089108210B9147218DF871 -:1046B000101041218DF8111053218DF812102D2169 -:1046C0008DF813100290FFE7029803282CDCFFE717 -:1046D000BDF83800029A0C21A1EB8201C84000F01D -:1046E0000F00019001980A2812D3FFE701984CF6B9 -:1046F000CD41CCF6CC41A0FB0121C90801EB8101E1 -:10470000A0EB41004130029904AA1144087106E06F -:1047100001983030029904AA11440871FFE7FFE7BD -:10472000029801300290CFE740F6EC00C2F20000A0 -:10473000006807A904AA06ABFBF720FF12B080BDF2 -:1047400080B586B0049003910292002001900498F5 -:10475000E8B1FFE7049940F6EC00C2F20000016006 -:10476000006845F2F562C0F600020621FCF72CFE57 -:104770008DF803009DF8030040B1FFE79DF80400A9 -:10478000FFF79AFE02208DF8170059E007E09DF828 -:104790000400FFF791FE01208DF8170050E001980A -:1047A00001300190039838B1FFE7039840F6F0011B -:1047B000C2F20001086007E09DF80400FFF77CFEEC -:1047C00002208DF817003BE001980130019002981B -:1047D000E8B1FFE7029940F6F400C2F20000016080 -:1047E000006845F22162C0F600020E21FFF7E0F8F2 -:1047F0008DF802009DF8020040B1FFE79DF804002B -:10480000FFF75AFE02208DF8170019E007E09DF827 -:104810000400FFF751FE04208DF8170010E0019806 -:1048200001300190FFF7F6FE40F2E001C2F2000114 -:10483000087840F00100087000208DF81700FFE7AD -:104840009DF8170006B080BD80B582B0FFE7FBF78A -:1048500051FD002800F06781FFE740F20000C2F23E -:104860000000007800EB800140F62820C2F2000032 -:1048700000EB8100807900F00F0002281DD1FFE7D6 -:1048800040F20000C2F20000007800EB800140F628 -:104890002820C2F2000000EB810C50F82100DCF867 -:1048A0000410DCF80820DCF80C30DCF810C0EE4610 -:1048B000CEF800C0FFF7F8FC2BE140F20000C2F296 -:1048C0000000007800EB800140F62820C2F20000D2 -:1048D00000EB810080790007E8B9FFE740F20000B3 -:1048E000C2F20000007800EB800140F62820C2F2FE -:1048F000000000EB810C50F82100DCF80410DCF81B -:104900000820DCF80C30DCF810C0EE46CEF800C011 -:10491000FFF73EFDFCE040F20000C2F2000000782C -:1049200000EB800140F62820C2F2000000EB81007D -:10493000807900F00F0001281DD1FFE740F2000050 -:10494000C2F20000007800EB800140F62820C2F29D -:10495000000000EB810C50F82100DCF80410DCF8BA -:104960000820DCF80C30DCF810C0EE46CEF800C0B1 -:10497000FFF7C6FDCBE040F20000C2F20000007875 -:1049800000EB800140F62820C2F2000000EB81001D -:10499000807900F00F0003281DD1FFE740F20000EE -:1049A000C2F20000007800EB800140F62820C2F23D -:1049B000000000EB810C50F82100DCF80410DCF85A -:1049C0000820DCF80C30DCF810C0EE46CEF800C051 -:1049D000FFF74AFE9AE040F20000C2F200000078C1 -:1049E00000EB800140F62820C2F2000000EB8100BD -:1049F000807900F00F00042839D0FFE740F2000072 -:104A0000C2F20000007800EB800140F62820C2F2DC -:104A1000000000EB8100807900F00F00052826D00F -:104A2000FFE740F20000C2F20000007800EB8001D6 -:104A300040F62820C2F2000000EB8100807900F0EF -:104A40000F00062813D0FFE740F20000C2F200007A -:104A5000007800EB800140F62820C2F2000000EB55 -:104A60008100807900F00F0007281DD1FFE740F298 -:104A70000000C2F20000007800EB800140F6282020 -:104A8000C2F2000000EB810C50F82100DCF80410A9 -:104A9000DCF80820DCF80C30DCF810C0EE46CEF86C -:104AA00000C000F041F830E040F20000C2F2000027 -:104AB000007800EB800140F62820C2F2000000EBF5 -:104AC0008100807900F00F0008281DD1FFE740F237 -:104AD0000000C2F20000007800EB800140F62820C0 -:104AE000C2F2000000EB810C50F82100DCF8041049 -:104AF000DCF80820DCF80C30DCF810C0EE46CEF80C -:104B000000C0FBF7C9FCFFE7FFE7FFE7FFE7FFE7B0 -:104B1000FFE740F20001C2F200010878013000F026 -:104B20007F000870FFE792E680B588B0DDF828C006 -:104B3000CDF818C005930492039102909DF80E00E1 -:104B400000F00F00043801460191032846D801996E -:104B50000FF2080000EB8100874600BF00F006B8A6 -:104B600000F012B800F01EB800F02AB802980399BD -:104B7000049A059BDDF818C0EE46CEF800C000F0A0 -:104B800017FC8DF81F002DE002980399049A059BED -:104B9000DDF818C0EE46CEF800C000F057FC8DF8E6 -:104BA0001F001FE002980399049A059BDDF818C0C6 -:104BB000EE46CEF800C000F097FC8DF81F0011E023 -:104BC00002980399049A059BDDF818C0EE46CEF8CA -:104BD00000C000F0D7FC8DF81F0003E001208DF825 -:104BE0001F00FFE79DF81F0008B080BD80B584B0AE -:104BF000039040F6F000C2F2000001680A685168B4 -:104C000041F01001516000228DF80A20ADF8082013 -:104C10000192039909788DF80810039949788DF865 -:104C20000910039989788DF80A10006802A9FEF727 -:104C30006BFA18B1FFE7FBF76FFCFFE70398C0784A -:104C40008DF80700039800798DF8050003984079E6 -:104C50008DF80600039880798DF8040040F6F00086 -:104C6000C2F20000006801A90022FEF78DF918B118 -:104C7000FFE7FBF751FCFFE740F6F000C2F200004F -:104C800000680168486820F01000486004B080BDEA -:104C90007047000080B590B0DDF848C0CDF83CC04A -:104CA0000E930D920C910B9000200490042107911B -:104CB0008DF8280008900C99019861F31C00019070 -:104CC0009DF8070000F0F7008DF80700019820F02C -:104CD0006040069006200990BDF83000ADF8000055 -:104CE00049208DF8080053208DF80900BDF8000018 -:104CF0006FF31F3044F6D351C1F26201A0FB0101F2 -:104D00002F2000EB91108DF80A00BDF800006FF322 -:104D10001F3048F21F51C5F2EB11A0FB01104009F2 -:104D200046F26761C6F2666180FB012303F01C0254 -:104D300002EB9302A0EB42002F308DF80B00BDF880 -:104D400000006FF31F304CF6CD42CCF6CC42A0FBF6 -:104D50000230C00880FB011303F0FC0101EB93015A -:104D6000A0EB41002F308DF80C00BDF8000001468B -:104D70006FF31F31A1FB0221C90801EB8101A0EBF8 -:104D800041002F308DF80D0040F6EC00C2F200001B -:104D9000006805A902AA04ABFBF7F0FB10B080BDC8 -:104DA00080B590B0DDF848C0CDF83CC00E930D92B0 -:104DB0000C910B9000200490042107918DF828009D -:104DC00008900C99019861F31C0001909DF8070070 -:104DD00000F0F7008DF80700019820F06040069081 -:104DE00006200990BDF83000ADF8000054208DF881 -:104DF000080053208DF80900BDF800006FF31F3044 -:104E000044F6D351C1F26201A0FB01012F2000EB57 -:104E100091108DF80A00BDF800006FF31F3048F2C2 -:104E20001F51C5F2EB11A0FB0110400946F267616A -:104E3000C6F2666180FB012303F01C0202EB9302C1 -:104E4000A0EB42002F308DF80B00BDF800006FF38F -:104E50001F304CF6CD42CCF6CC42A0FB0230C0084D -:104E600080FB011303F0FC0101EB9301A0EB410077 -:104E70002F308DF80C00BDF8000001466FF31F3194 -:104E8000A1FB0221C90801EB8101A0EB41002F30F9 -:104E90008DF80D0040F6EC00C2F20000006805A994 -:104EA00002AA04ABFBF76AFB10B080BD80B590B0DE -:104EB000DDF848C0CDF83CC00E930D920C910B90DC -:104EC00000200490042107918DF8280008900C9987 -:104ED000019861F31C0001909DF8070000F0F700B5 -:104EE0008DF80700019820F0604006900720099097 -:104EF00055208DF8080053208DF8090054208DF8B6 -:104F00000A0041208DF80B0056208DF80C004B2034 -:104F10008DF80D0049208DF80E0040F6EC00C2F22D -:104F20000000006805A902AA04ABFBF727FB10B03C -:104F300080BD000080B590B0DDF848C0CDF83CC021 -:104F40000E930D920C910B90002004900421079178 -:104F50008DF8280008900C99019861F31C000190CD -:104F60009DF8070000F0F7008DF80700019820F089 -:104F70006040069006200990BDF83000ADF80000B2 -:104F800055208DF8080053208DF80900BDF8000069 -:104F90006FF31F3044F6D351C1F26201A0FB01014F -:104FA0002F2000EB91108DF80A00BDF800006FF380 -:104FB0001F3048F21F51C5F2EB11A0FB0110400950 -:104FC00046F26761C6F2666180FB012303F01C02B2 -:104FD00002EB9302A0EB42002F308DF80B00BDF8DE -:104FE00000006FF31F304CF6CD42CCF6CC42A0FB54 -:104FF0000230C00880FB011303F0FC0101EB9301B8 -:10500000A0EB41002F308DF80C00BDF800000146E8 -:105010006FF31F31A1FB0221C90801EB8101A0EB55 -:1050200041002F308DF80D0040F6EC00C2F2000078 -:10503000006805A902AA04ABFBF7A0FA10B080BD76 -:1050400080B590B0DDF848C0CDF83CC00E930D920D -:105050000C910B9000200490042107918DF82800FA -:1050600008900C99019861F31C0001909DF80700CD -:1050700000F0F7008DF80700019820F060400690DE -:105080000620099055208DF808004E208DF8090063 -:1050900049208DF80A0056208DF80B0045208DF828 -:1050A0000C0052208DF80D0040F6EC00C2F200001A -:1050B000006805A902AA04ABFBF760FA10B080BD36 -:1050C00080B585B0DDF81CC0CDF810C00393029206 -:1050D0000191009040F2E001C2F200010878012243 -:1050E000824300F0FE001044087005B080BD00004F -:1050F00080B58AB0DDF830C0CDF824C0089307929F -:1051000006910590BDF81C0008B9FFE737E0BDF82F -:105110001800ADF81000BDF8100000F00F00BDF849 -:105120001C10CA000221B1FBF2F1884226D1FFE730 -:105130000020039002900190FFE70198BDF81C1039 -:10514000884213DAFFE7019905A80844807AC9006C -:1051500000FA01F202990398891840EBE27002917B -:105160000390FFE7019801300190E6E7029880087C -:10517000C00710B1FFE701F0B3F8FFE7FFE70AB09F -:1051800080BD000080B59EB0DDF880C0CDF874C051 -:105190001C931B921A911990BDF86C00082801DB32 -:1051A000FFE741E046F27031C0F6000101A860223D -:1051B000FBF70AF89DF86E0017282EDCFFE79DF834 -:1051C0006F003B2829DCFFE79DF870003B2824DCBA -:1051D000FFE79DF8710063281FDCFFE79DF8720070 -:1051E0000C281ADCFFE79DF871009DF87310009100 -:1051F000FEF7FCFE0146009801EB410201A901EB1C -:1052000002119DF8722051F82210884205DCFFE758 -:105210009DF87400072801DBFFE704E019A80A30B5 -:10522000FFF7E4FCFFE7FFE71EB080BD80B594B058 -:10523000DDF858C0CDF84CC01293119210910F9028 -:1052400000220192089204200B9007200D908DF807 -:1052500038200C921099059861F31C0005909DF878 -:10526000170000F0F7008DF817009DF8170000F008 -:10527000F80001308DF817009DF81600022161F347 -:105280001F108DF81600059820F060400A908DF8E8 -:105290001220ADF8102040F6F000C2F2000002909B -:1052A000006804A9FDF7DAFC019A02989DF8101035 -:1052B0008DF818109DF811108DF819109DF8121026 -:1052C0008DF81A100392006803A9FDF779FC9DF888 -:1052D0000F008DF81B009DF80D008DF81C009DF847 -:1052E0000E008DF81D009DF80C008DF81E0040F694 -:1052F000EC00C2F20000006809A906AA08ABFBF79F -:105300003DF914B080BD000080B585B0DDF81CC04B -:10531000CDF810C0039302920191009005B080BDBA -:1053200080B585B0DDF81CC0CDF810C003930292A3 -:105330000191009005B080BD80B585B0DDF81CC03E -:10534000CDF810C0039302920191009005B080BD8A -:1053500080B585B0DDF81CC0CDF810C00393029273 -:105360000191009005B080BD80B585B0DDF81CC00E -:10537000CDF810C0039302920191009005B080BD5A -:1053800080B586B0DDF820C0CDF814C00493039238 -:105390000291019000F0A4FF80B585B0DDF81CC03B -:1053A000CDF810C0039302920191009005B080BD2A -:1053B00080B590B0DDF848C0CDF83CC00E930D929A -:1053C0000C910B9000200490042107918DF8280087 -:1053D00008900C99019861F31C0001909DF807005A -:1053E00000F0F7008DF80700019820F0604006906B -:1053F00008200990BDF83000ADF800004D208DF870 -:10540000080043208DF8090020218DF80A1053224E -:105410008DF80B20BDF8002012098DF80C208DF8B6 -:105420000D108DF80E009DF8000000F00F008DF8B3 -:105430000F0040F6EC00C2F20000006805A902AAC5 -:1054400004ABFBF79BF810B080BD000080B590B0B6 -:10545000DDF848C0CDF83CC00E930D920C910B9036 -:1054600000200490042107918DF8280008900C99E1 -:10547000019861F31C0001909DF8070000F0F7000F -:105480008DF80700019820F06040069008200990F0 -:10549000BDF83000ADF800004D208DF80800442024 -:1054A0008DF8090020208DF80A0053218DF80B108B -:1054B000BDF8001009098DF80C108DF80D0043207F -:1054C0008DF80E009DF8000000F00F008DF80F0021 -:1054D00040F6EC00C2F20000006805A902AA04AB85 -:1054E000FBF74CF810B080BD80B590B0DDF848C037 -:1054F000CDF83CC00E930D920C910B9000200490BF -:10550000042107918DF8280008900C99019861F307 -:105510001C0001909DF8070000F0F7008DF80700CF -:10552000019820F06040069008200990BDF83000F6 -:10553000ADF800004D208DF8080048208DF80900D6 -:1055400020208DF80A0053218DF80B10BDF80010B3 -:1055500009098DF80C108DF80D0043208DF80E0010 -:105560009DF8000000F00F008DF80F0040F6EC00F1 -:10557000C2F20000006805A902AA04ABFAF7FEFF18 -:1055800010B080BD80B590B0DDF848C0CDF83CC00B -:105590000E930D920C910B90002004900421079122 -:1055A0008DF8280008900C99019861F31C00019077 -:1055B0009DF8070000F0F7008DF80700019820F033 -:1055C0006040069008200990BDF83000ADF800005A -:1055D0004D208DF8080049208DF8090020208DF815 -:1055E0000A0053218DF80B10BDF8001009098DF841 -:1055F0000C108DF80D0043208DF80E009DF8000072 -:1056000000F00F008DF80F0040F6EC00C2F2000031 -:10561000006805A902AA04ABFAF7B0FF10B080BD7C -:1056200080B58CB00B9040F2E000C2F20000007830 -:10563000C00700285CD0FFE700200490039901F028 -:1056400060410391ADF80C009DF80E10022262F348 -:105650001F118DF80E109DF80F1001F0F8010131A7 -:105660008DF80F109DF80E1041F00F018DF80E10FF -:105670009DF80F1001F0F7018DF80F109DF80F1035 -:1056800041F010018DF80F10039921F0604106914F -:10569000042107918DF8280008900120099040F618 -:1056A000E800C2F20000016801310160039921F0B5 -:1056B000604100910068B0F5807F07D3FFE740F6B6 -:1056C000E801C2F2000100200860FFE740F6E800B0 -:1056D000C2F2000000688DF8040040F6EC00C2F24F -:1056E0000000006805A901AA04ABFAF747FFFFE72D -:1056F0000CB080BD80B58EB00D90FFE70D980021F5 -:1057000006AA04ABFBF774F900285CD1FFE7089800 -:10571000042857D1FFE740F6E400C2F20000007809 -:1057200040F20001C2F200010978401A81300006FF -:10573000002801D4FFE746E040F6E400C2F2000092 -:105740000078013000F07F00ADF80E000799029854 -:1057500061F31C0002909DF80A0000F00F000F2872 -:1057600020D1FFE79DF80A109DF80B0000F007021A -:1057700040F2E400C2F2000000EB022201F0F0036C -:10578000D15C41F00101D1549DF80A109DF80B2025 -:1057900002F0070200EB022001F0F00101440020BA -:1057A000886010E00899099A0A9BBDF80EC002981B -:1057B000EE46CEF804C00DF1100CCEF800C000F09B -:1057C00099FCFFE79AE70EB080BD000082B001901F -:1057D000019840F20401C2F200010968C90844F6C8 -:1057E000D352C1F26202A1FB022189094843009011 -:1057F000FFE700BFFFE70098411E00910028F8D1A5 -:10580000FFE702B07047000082B08DF8070000206B -:1058100000909DF80700000900EB80004000009018 -:1058200000989DF8071001F00F010844C0B202B0C3 -:105830007047000082B08DF8070000200090FFE75D -:105840009DF807000A2809D3FFE70098013000906F -:105850009DF807000A388DF80700F1E7009800F07E -:105860000F019DF8070040EA011002B070470000E8 -:1058700080B586B0059004910020039002900190BD -:1058800000900599C97B03910599497B029105997F -:10589000897B01910090FFE700980499884280F08D -:1058A0008C80FFE70298012818D0FFE702980328B0 -:1058B00014D0FFE70298052810D0FFE702980728C8 -:1058C0000CD0FFE70298082808D0FFE702980A28C2 -:1058D00004D0FFE702980C281BD1FFE701981E288F -:1058E00004D8FFE701980130019011E002980C28DC -:1058F00006D0FFE70298013002900120019006E0F7 -:10590000012002900190039801300390FFE7FFE728 -:105910004EE0029804280CD0FFE70298062808D031 -:10592000FFE70298092804D0FFE702980B280FD15F -:10593000FFE701981D2804D8FFE701980130019086 -:1059400005E002980130029001200190FFE72EE06F -:10595000029802282AD1FFE701981B2804D8FFE704 -:1059600001980130019020E001981C2811D1FFE737 -:10597000BDF80C0000F08EF820B1FFE7019801306F -:10598000019005E002980130029001200190FFE7AC -:105990000AE001981D2806D1FFE702980130029025 -:1059A00001200190FFE7FFE7FFE7FFE7FFE7FFE7E1 -:1059B000FFE70098013000906EE703980599C873DF -:1059C00002980599487301980599887303989DF882 -:1059D00008109DF8042000F0E9F80599087306B056 -:1059E00080BD000080B584B0029000200190FCF7DB -:1059F00065F90190FFE7029800684068800600287A -:105A00000DD4FFE7FCF75AF90199401AB0F57A7FF7 -:105A100004D9FFE703208DF80F000AE0EBE70298B6 -:105A20000168486840F01000486000208DF80F00C1 -:105A3000FFE79DF80F0004B080BD000080B584B082 -:105A400002900020019002980168486820F0100040 -:105A50004860FCF733F90190FFE70298006840685E -:105A6000800600280DD4FFE7FCF728F90199401AB9 -:105A7000B0F57A7F04D9FFE703208DF80F0004E02A -:105A8000EBE700208DF80F00FFE79DF80F0004B052 -:105A900080BD000081B0ADF80000BDF800008007B7 -:105AA00020B1FFE700208DF803002BE0BDF80000D7 -:105AB00045F62941CCF28F2148434FEAB00045F624 -:105AC0002941C0F28F21884204D3FFE701208DF8DD -:105AD000030017E0BDF8000045F62941CCF28F2104 -:105AE00048434FEA30104DF20A71C0F2A3018842D8 -:105AF00004D8FFE701208DF8030003E000208DF8B3 -:105B00000300FFE79DF8030001B0704782B00190E9 -:105B10000020ADF80200ADF8000001980068006AAE -:105B2000ADF8020001980068406AADF80000BDF8C9 -:105B30000210BDF8000040EA014002B070470000CA -:105B400084B003900020ADF80A00ADF80800ADF86D -:105B500006000090039800688069ADF80A00039879 -:105B60000068C069ADF80600039800688069ADF868 -:105B70000800BDF80A00BDF8081088420AD0FFE707 -:105B8000BDF8081003980068C06980B240EA01407F -:105B9000009007E0BDF80A10BDF8060040EA014099 -:105BA0000090FFE7009804B07047000084B00390B5 -:105BB0008DF80B108DF80A200020019000900398BA -:105BC00000F5FA6001909DF80B0002282ED8FFE73F -:105BD0009DF80B001721484348F63961C3F6E301ED -:105BE000A0FB01019DF80A0000EB51000199084457 -:105BF000013900EB910048F21F52C5F2EB12A1FBF4 -:105C00000221A0EB511000EBD110043044F6251115 -:105C1000C2F29241A0FB0121421A01EB520291080B -:105C2000C900A1EB9201401A00902CE09DF80B00F6 -:105C30001721484348F63961C3F6E301A0FB01018F -:105C40009DF80A0000EB51000199084400EB910017 -:105C500048F21F52C5F2EB12A1FB0221A0EB51103A -:105C600000EBD110023044F62511C2F29241A0FBA4 -:105C70000121421A01EB52029108C900A1EB9201E5 -:105C8000401A0090FFE79DF8000004B07047000044 -:105C900080B584B00390029100208DF8070003982E -:105CA000FFF7A0FE20B1FFE701208DF8070013E009 -:105CB000BDF80A00039909680862BDF80800039955 -:105CC000096848620398FFF7B9FE20B1FFE7012099 -:105CD0008DF80700FFE7FFE79DF8070004B080BDDF -:105CE00080B584B00390029100208DF807000398DE -:105CF000FFF778FE20B1FFE701208DF8070013E0E1 -:105D0000BDF80A00039909688861BDF80800039985 -:105D10000968C8610398FFF791FE20B1FFE70120F1 -:105D20008DF80700FFE7FFE79DF8070004B080BD8E -:105D30007047000080B582B0009000980138B0F143 -:105D4000807F03D3FFE70120019019E0009801381C -:105D50004EF21401CEF2000108604FF0FF300F2127 -:105D600000F07EFA4EF21801CEF200010020086029 -:105D70004EF21002CEF20002072111600190FFE7FF -:105D8000019802B080BD000080B5FBF79DFF80BD8B -:105D900080B596B00CA801902821FAF747FA01982F -:105DA000002102910B910A910991089107910691A6 -:105DB0000591049103910A220C9201221092102362 -:105DC000119312920222139214914FF460111591C3 -:105DD000FCF7B8FB18B1FFE7FAF79EFBFFE70F20CF -:105DE000079002210891002009904FF480620A92E6 -:105DF0000B9007A8FCF7D0F918B1FFE7FAF78CFB76 -:105E0000FFE7012003904FF40070049003A8FCF713 -:105E1000DFF818B1FFE7FAF77FFBFFE74FF0E0612B -:105E200000221046FCF75AFB16B080BD70470000F8 -:105E300080B540F67410C2F20000FDF73FFC80BD53 -:105E400083B002900191029800680090029842F697 -:105E50000041C4F20101884215D0FFE70298B0F179 -:105E6000804F10D0FFE7029840F20041C4F20001D9 -:105E7000884208D0FFE7029840F60001C4F2000112 -:105E800088420AD1FFE7009820F070000090019846 -:105E90004168009808430090FFE7029842F60041ED -:105EA000C4F20101884215D0FFE70298B0F1804F9B -:105EB00010D0FFE7029840F20041C4F2000188428E -:105EC00008D0FFE7029840F60001C4F200018842C2 -:105ED0000AD1FFE7009820F4407000900198C16853 -:105EE000009808430090FFE7009820F08000019997 -:105EF00049690843009000980299086001988068F9 -:105F00000299C8620198006802998862029842F674 -:105F10000041C4F20101884205D1FFE70198006900 -:105F200002990863FFE702990120486103B07047B6 -:105F300085B00490039102920193049880680090C8 -:105F4000009820F47F40009003980299019A41EA5A -:105F5000022101430098084300900098049988604A -:105F600005B0704783B0029001910298806800905C -:105F7000009820F07000009001980099084340F0CC -:105F80000700009000980299886003B070470000F5 -:105F900081B00090009943F6A110C0F60000C1F84E -:105FA0008000009943F6A910C0F60000C1F88400F3 -:105FB000009943F65540C0F60000C1F888000099EA -:105FC00043F65D40C0F60000C1F88C00009943F232 -:105FD0009D60C0F60000C1F89000009943F2A560F2 -:105FE000C0F60000C1F89400009943F65910C0F6BD -:105FF0000000C1F89800009943F69110C0F6000027 -:10600000C1F89C00009943F69910C0F60000C1F851 -:10601000A000009943F29560C0F60000C1F8A4000A -:10602000009943F2C920C0F60000C1F8A800009909 -:1060300043F2D120C0F60000C1F8AC00009943F251 -:10604000C120C0F60000C1F8B00001B070470000E8 -:1060500085B00490039102920498006A009004991C -:10606000086A20F001000862049880690190019894 -:1060700020F0F00001900299019840EA011001908F -:10608000009820F00A0000900399009808430090BF -:1060900001980499886100980499086205B07047D6 -:1060A00085B00490039102920498006A00900499CC -:1060B000086A20F010000862049880690190019835 -:1060C00020F4704001900299019840EA013001905B -:1060D000009820F0A00000900399009840EA011079 -:1060E000009001980499886100980499086205B0AD -:1060F0007047000080B586B084460998DDF820E03E -:10610000CDF814C0049103920293ADF80600059BEC -:10611000BDF8060000EB800040F62821C2F2000125 -:1061200001EB8002506863F31C0050609DF8103052 -:10613000BDF8060000EB800211F8220003F0010315 -:1061400000F0FE00184401F822009DF80C30BDF864 -:10615000060000EB800211F8220003F0010300F0BA -:10616000FD0040EA430001F822000298BDF8062035 -:1061700002EB820201EB8201088100200090FFE720 -:1061800000980299884214D2FFE70898009A805C30 -:10619000BDF8061001EB810340F62821C2F2000190 -:1061A00001EB830111448872FFE7009801300090F1 -:1061B000E6E79DF8060040F6E401C2F2000108702F -:1061C00006B080BD80B540F6FC00C2F20000FAF7D0 -:1061D00019FD80BD80B540F6FC00C2F20000FAF760 -:1061E00011FD80BDFFE7FEE781B08DF803009DF94A -:1061F0000300002812D4FFE79DF9031001F01F02ED -:10620000012090404A094EF28011CEF2000141F87F -:106210002200BFF34F8FBFF36F8FFFE701B07047CE -:1062200081B08DF803009DF9030000280ED4FFE72C -:106230009DF9031001F01F02012090404A094EF21F -:106240000011CEF2000141F82200FFE701B07047D3 -:106250004EF60C50CEF200000068C0F302207047EA -:1062600082B08DF8070000919DF9070000280AD43C -:10627000FFE7009800019DF907104EF20042CEF2B0 -:10628000000288540BE0009800019DF8071001F00F -:106290000F014EF61452CEF200028854FFE702B00E -:1062A0007047000083B00290029800F00700009051 -:1062B0004EF60C51CEF200010868019001984FF69D -:1062C000FF02104001900198009A40EA022000224B -:1062D000C0F2FA52104301900198086003B0704771 -:1062E000BFF34F8F4EF60C51CEF20001086800F458 -:1062F000E0600422C0F2FA5210430860BFF34F8FEF -:10630000FFE700BFFDE7000080B582B000200190EC -:10631000FFF73EFDFBF7E6FCFFF73AFDFDF7D6FE83 -:10632000FDF7ACFEFDF7F8FEFDF740FF40F6FC0080 -:10633000C2F200000090FBF71BF9009840F66011D4 -:10634000C2F2000140F67412C2F20002FEF7F8F940 -:1063500058B9FFE740F6FC00C2F2000048F60241DF -:10636000FAF7E2F8FEF770FAFFE7FFE7FEE7000052 -:106370001F0000001C0000001F0000001E000000A5 -:106380001F0000001E0000001F0000001F00000092 -:106390001E0000001F0000001E0000001F00000083 -:1063A0001F0000001D0000001F0000001E00000074 -:1063B0001F0000001E0000001F0000001F00000062 -:1063C0001E0000001F0000001E0000001F00000053 -:1063D0000000000000000000010203040607080995 -:1063E0000000000001020304020304050607080977 -:1063F0000A0B0C0D0E0F1010010202030405060714 -:1064000008090A0B0C0D0E0F101001023064000871 -:10641000000000202800000028010008586400083F -:1064200028000020081A00004401000800000000B5 -:10643000010000000024F400000020090000F00F1B -:1064400000000F0000000F0000000F00010000001E -:08645000100000000000000034 +:1004E0008DF800108DF801000099ADF80410019905 +:1004F00021F060410691099040F6D400C2F200005C +:10050000006805A902AA04AB00F036F810B080BD5F +:100510007047000081B0EFF3108072B60090FFE7E3 +:10052000FEE7000084B002900191029890F820004C +:100530008DF803009DF80300012805D0FFE79DF822 +:10054000030002280AD1FFE7019A0298016848696E +:100550001043486100208DF80F0008E00299486AB6 +:1005600040F48020486201208DF80F00FFE79DF8DD +:100570000F0004B07047000088B006900591049207 +:100580000393069890F820008DF8070006980068FD +:10059000806800900598806808B9FFE700E0FFE7F1 +:1005A0009DF80700012806D0FFE79DF80700022804 +:1005B00040F08080FFE79DF80300400700280CD43E +:1005C000FFE79DF803000007002806D4FFE79DF829 +:1005D0000300C006002864D5FFE70098C0F301605F +:1005E000029002990120884003990860059880686C +:1005F00068B9FFE705980168C06840EA415006996C +:100600000968029A01EB0211C1F880010EE0059918 +:100610004A688868C96840EAC200084306990968C0 +:10062000029A01EB0211C1F88001FFE70598006909 +:1006300006990968029A01EB0211C1F88401059834 +:10064000007D01280CD1FFE706980068029900EBB5 +:100650000111D1F8840140F48070C1F88401FFE7F2 +:100660000498406806990968029A01EB0211C1F8E2 +:100670008C010498006806990968029A01EB02113E +:10068000C1F8880106980068029900EB0111D1F8C1 +:10069000800140F00100C1F8800100208DF81F00AA +:1006A00011E00699486A40F40010486201208DF874 +:1006B0001F0008E00699486A40F480204862012043 +:1006C0008DF81F00FFE79DF81F0008B0704700007D +:1006D00086B004900391049800680190049890F803 +:1006E00020008DF803009DF80300012806D0FFE7E5 +:1006F0009DF80300022840F09B80FFE70199D1F8A4 +:10070000000240F00100C1F800020398406900F0C7 +:100710001F01012088400290029A0199D1F81C0221 +:100720009043C1F81C020398C069F0B9FFE7029A30 +:100730000199D1F80C029043C1F80C02039A9088F9 +:10074000D168526940EA0140019901EBC201C1F848 +:100750004002039A10889168526940EA0140019969 +:1007600001EBC201C1F84402FFE70398C069012808 +:100770001ED1FFE7029A0199D1F80C021043C1F88B +:100780000C02039A90881168526940EA014001996D +:1007900001EBC201C1F84002039A90899168526945 +:1007A00040EA0140019901EBC201C1F84402FFE7B0 +:1007B0000398806940B9FFE7029A0199D1F80402D1 +:1007C0009043C1F8040207E0029A0199D1F80402AB +:1007D0001043C1F80402FFE70398006940B9FFE73E +:1007E000029A0199D1F814029043C1F8140207E06B +:1007F000029A0199D1F814021043C1F81402FFE7DC +:100800000398006A012808D1FFE7029A0199D1F8FC +:100810001C021043C1F81C02FFE70199D1F8000245 +:1008200020F00100C1F8000200208DF8170008E058 +:100830000499486A40F48020486201208DF817002E +:10084000FFE79DF8170006B07047000080B582B042 +:1008500001900198406A08B9FFE7C4E00198406A36 +:10086000C00718B1FFE7FFF797FDFFE70198406A5F +:100870008007002803D5FFE7FFF786FDFFE7019813 +:10088000406A4007002803D5FFE7FFF765FDFFE753 +:100890000198406A0007002803D5FFE7FFF7BCFD79 +:1008A000FFE70198406AC006002803D5FFE7FFF77D +:1008B0007BFDFFE70198406A8006002803D5FFE72B +:1008C000FFF73AFDFFE70198406A4006002803D58C +:1008D000FFE7FFF749FDFFE70198406A000600289F +:1008E00003D5FFE7FFF730FDFFE70198406AC00539 +:1008F000002803D5FFE7FFF73FFDFFE70198406AB7 +:100900008005002803D5FFE7FFF776FDFFE7019894 +:10091000406A4005002803D5FFE7FFF775FDFFE7B4 +:100920000198406A0005002803D5FFE7FFF784FD22 +:10093000FFE70198406AC004002803D5FFE7FFF7EE +:1009400093FDFFE70198406A8004002803D5FFE784 +:10095000FFF77AFDFFE70198406A4004002803D5BD +:10096000FFE7FFF789FDFFE70198406A00040028D0 +:1009700003D5FFE7FFF770FDFFE70198406AC0036A +:10098000002803D5FFE7FFF77FFDFFE70198406AE6 +:100990008003002803D5FFE7FFF746FDFFE7019836 +:1009A000406A4003002803D5FFE7FFF705FDFFE796 +:1009B0000198406A0003002803D5FFE7FFF704FD14 +:1009C000FFE70198406AC002002803D5FFE7FFF760 +:1009D00003FDFFE70198406A8002002803D5FFE786 +:1009E000FFF702FDFFE702B080BD000086B0049073 +:1009F000039102920193049890F820008DF803006F +:100A00009DF80300012806D0FFE79DF803000228A7 +:100A100040F0E880FFE7039880B9FFE7049800689A +:100A2000C068800748B9FFE70499486A40F400109D +:100A3000486201208DF81700DDE00FE0049800689F +:100A40000069800748B9FFE70499486A40F400103C +:100A5000486201208DF81700CDE0FFE70498006898 +:100A6000039900EB0110D0F8B00100F004000299E6 +:100A700088600298806858B9FFE704980068039975 +:100A800000EB0110D0F8B001400D029908600AE0B7 +:100A900004980068039900EB0110D0F8B001C00879 +:100AA00002994860FFE704980068039900EB011081 +:100AB000D0F8B00100F002000299C8600498006804 +:100AC000039900EB0110D0F8B40100F00F000828E2 +:100AD00004D3FFE70299082008610BE0049800683E +:100AE000039900EB0110D0F8B40100F00F00029957 +:100AF0000861FFE704980068039900EB0110D0F843 +:100B0000B40180B2000A02998861049800680399D0 +:100B100000EB0110D0F8B401000C02994861049870 +:100B20000068039900EB0110D0F8B8010199087032 +:100B300004980068039900EB0110D0F8B801000A8E +:100B40000199487004980068039900EB0110D0F8EF +:100B5000B801000C0199887004980068039900EBB3 +:100B60000110D0F8B801000E0199C870049800680F +:100B7000039900EB0110D0F8BC01019908710498A9 +:100B80000068039900EB0110D0F8BC01000A01993C +:100B9000487104980068039900EB0110D0F8BC017B +:100BA000000C0199887104980068039900EB01100A +:100BB000D0F8BC01000E0199C871039838B9FFE75D +:100BC00004980168C86840F02000C86006E00498F6 +:100BD0000168086940F020000861FFE700208DF8F7 +:100BE000170008E00499486A40F480204862012018 +:100BF0008DF81700FFE79DF8170006B0704700005A +:100C000080B58AB009900020089009980068406972 +:100C10000790099800684068069009980068806805 +:100C2000059009980068C0680490099800680069F8 +:100C3000039009980068806902909DF81C00C00725 +:100C4000002800F09480FFE79DF81400C00758B317 +:100C5000FFE709980168012088609DF8140080076B +:100C6000002804D5FFE70998816A88471BE09DF8B2 +:100C700014004007002805D5FFE7089840F40060FD +:100C800008900FE09DF814000007002805D5FFE745 +:100C9000089840F48050089003E00998416B884719 +:100CA000FFE7FFE7FFE7FFE79DF81500C00760B328 +:100CB000FFE7099801684FF4807088609DF815007F +:100CC0008007002804D5FFE70998C16A88471BE020 +:100CD0009DF815004007002805D5FFE7089840F467 +:100CE000005008900FE09DF815000007002805D57A +:100CF000FFE7089840F48040089003E00998816B72 +:100D00008847FFE7FFE7FFE7FFE79DF81600C0070A +:100D100060B3FFE7099801684FF4803088609DF860 +:100D200016008007002804D5FFE70998016B884763 +:100D30001BE09DF816004007002805D5FFE708983E +:100D400040F4004008900FE09DF8160000070028CE +:100D500005D5FFE7089840F48030089003E0099833 +:100D6000C16B8847FFE7FFE7FFE7FFE7FFE79DF875 +:100D70001C000007002810D5FFE79DF81000C006F2 +:100D8000002809D5FFE7089840F4007008900998FA +:100D900001681020C860FFE7FFE79DF81C004007CE +:100DA00000280FD5FFE79DF810000007002808D5A0 +:100DB000FFE7099801680820C8600998416C8847D6 +:100DC000FFE7FFE79DF81C00800700280BD5FFE731 +:100DD00009980068C068800720B1FFE70998016C96 +:100DE0008847FFE7FFE79DF81C004006002810D564 +:100DF000FFE79DF80C00C006002809D5FFE708981A +:100E000040F4806008900998016810200861FFE7AD +:100E1000FFE79DF81C00800600280FD5FFE79DF82E +:100E20000C000007002808D5FFE709980168082092 +:100E300008610998C16C8847FFE7FFE79DF81C002F +:100E4000C00600280BD5FFE70998006800698007F5 +:100E500020B1FFE70998816C8847FFE7FFE79DF81D +:100E60001E00800700280FD5FFE79DF81800C00678 +:100E7000002808D5FFE70998016810204860099804 +:100E8000016D8847FFE7FFE79DF81E00C00778B1B6 +:100E9000FFE79DF818000007002808D5FFE709982C +:100EA0000168082048600998416D8847FFE7FFE71F +:100EB0009DF81D000006002840F18D80FFE79DF899 +:100EC00018004007002840F18180FFE79DF81D00D1 +:100ED000C00750B1FFE79DF80800C00728B1FFE741 +:100EE000089840F001000890FFE79DF81D0080077A +:100EF00000280BD5FFE79DF808008007002805D5DE +:100F0000FFE7089840F002000890FFE79DF81D00F9 +:100F1000400700280BD5FFE79DF808004007002890 +:100F200005D5FFE7089840F004000890FFE79DF81A +:100F30001D000007002848D5FFE79DF8080010F0C5 +:100F4000700F42D0FFE7029800F070000146019157 +:100F5000102814D0FFE70198202815D0FFE701984A +:100F6000302816D0FFE70198402817D0FFE70198F6 +:100F7000502818D0FFE70198602819D01DE0089884 +:100F800040F00800089019E0089840F01000089020 +:100F900014E0089840F0200008900FE0089840F016 +:100FA000400008900AE0089840F08000089005E0B2 +:100FB000089840F48070089000E0FFE70998016805 +:100FC000886920F070008861FFE7FFE709980168F1 +:100FD00004204860FFE7089848B1FFE7089A09999C +:100FE000486A104348620998816D8847FFE70AB054 +:100FF00080BD000080B584B00290029820B9FFE760 +:1010000001208DF80F003AE1029890F820000028A6 +:101010005DD1FFE7029941F24D50C0F6000008642F +:10102000029941F24550C0F600004864029941F22D +:101030005D50C0F600008864029941F25550C0F638 +:101040000000C864029941F20160C0F600008862A5 +:10105000029941F21160C0F60000C862029941F2A3 +:101060002160C0F600000863029941F2F950C0F611 +:1010700000004863029941F20960C0F600008863ED +:10108000029941F21960C0F60000C863029941F26A +:101090006550C0F600000865029941F2F170C0F693 +:1010A00000004865029940F64D00C0F600008865D2 +:1010B0000298C06D38B9FFE7029941F2E120C0F60D +:1010C0000000C865FFE70298C16D8847FFE70298F6 +:1010D0000168086840F00100086000F0EDFD019033 +:1010E000FFE7029800684068C007A8B9FFE700F072 +:1010F000E3FD0199401A0B280DD3FFE70299486AD6 +:1011000040F4003048620299052081F82000012057 +:101110008DF80F00B3E0E4E702980168086820F05A +:101120000200086000F0C8FD0190FFE70298006827 +:1011300040688007002815D5FFE700F0BDFD019944 +:10114000401A0B280DD3FFE70299486A40F400309B +:1011500048620299052081F8200001208DF80F00D7 +:101160008DE0E3E70298007E012807D1FFE70298AF +:101170000168086840F08000086006E00298016895 +:10118000086820F080000860FFE70298407E012890 +:1011900007D1FFE702980168086840F04000086046 +:1011A00006E002980168086820F040000860FFE748 +:1011B0000298807E012807D1FFE70298016808683D +:1011C00040F02000086006E002980168086820F0FE +:1011D00020000860FFE70298C07E012807D1FFE7E2 +:1011E00002980168086820F01000086006E0029884 +:1011F0000168086840F010000860FFE70298007F6F +:10120000012807D1FFE702980168086840F008004C +:10121000086006E002980168086820F0080008608D +:10122000FFE70298407F012807D1FFE70298016895 +:10123000086840F00400086006E002980168086849 +:1012400020F004000860FFE7029B19685A6898685C +:10125000D3F80CC040EA0C00D3F810C040EA0C00F0 +:101260005B691843013A1043C86102990020486243 +:10127000029A012182F820108DF80F00FFE79DF8F7 +:101280000F0004B080BD000080B582B001900198CD +:10129000006846F20041C4F2000188421DD1FFE718 +:1012A00041F21C01C4F20201086820F000700860DD +:1012B00040F60000C4F201004FF4C05100F09CFA67 +:1012C000132000F07BFD142000F078FD152000F0C5 +:1012D00075FD162000F072FDFFE702B080BD000032 +:1012E00080B58EB00D9000200C900B900A90099064 +:1012F0000D98006846F20041C4F2000188425ED1B8 +:10130000FFE7FFE741F21C00C4F20200016841F070 +:1013100000710160006800F0007008900898FFE715 +:10132000FFE741F21800C4F20200016841F0040135 +:101330000160006800F0040007900798FFE74FF491 +:1013400000600990002005900A900B9040F6000084 +:10135000C4F20100009009A9019100F01DFB009862 +:1013600001994FF48052099202220A9203220C92B0 +:1013700000F012FB059A13200290114600F032FD96 +:10138000029800F025FD059A14200390114600F004 +:1013900029FD039800F01CFD059A152004901146C4 +:1013A00000F020FD049800F013FD059A1620069029 +:1013B000114600F017FD069800F00AFDFFE70EB099 +:1013C00080BD000087B005908DF8131003920020B7 +:1013D0008DF80B00039848B9FFE70599486A40F477 +:1013E0008000486201208DF81B00A6E0059890F867 +:1013F0002000012870D1FFE79DF8130001460191FC +:101400000E285FD801990FF2080000EB8100874693 +:1014100000F01CB800F01EB800F020B800F022B8B0 +:1014200000F024B800F026B800F028B800F02AB880 +:1014300000F02CB800F02EB800F030B800F032B850 +:1014400000F034B800F036B800F038B803980599C9 +:10145000886240E003980599C8623CE003980599CA +:10146000086338E003980599486334E003980599C8 +:10147000886330E003980599C8632CE003980599C8 +:10148000086428E003980599486424E003980599C6 +:10149000886420E003980599C8641CE003980599C6 +:1014A000086518E003980599486514E003980599C4 +:1014B000886510E003980599C8650CE003980599C4 +:1014C000086608E00599486A40F4800048620120F7 +:1014D0008DF80B00FFE72BE0059890F82000E8B9A5 +:1014E000FFE79DF81300014600910D2804D0FFE7A7 +:1014F00000980E2804D007E003980599C8650CE011 +:1015000003980599086608E00599486A40F4800048 +:10151000486201208DF80B00FFE708E00599486A52 +:1015200040F48000486201208DF80B00FFE7FFE7E0 +:101530009DF80B008DF81B00FFE79DF81B0007B01E +:101540007047000081B0009001B0704781B00090FA +:1015500001B0704781B0009001B0704781B0009039 +:1015600001B0704781B0009001B0704780B584B081 +:101570000290029890F8200001282FD1FFE70299ED +:10158000022081F8200002980168086820F001001C +:10159000086000F091FB0190FFE702980068406846 +:1015A000C007A8B1FFE700F087FB0199401A0B289C +:1015B0000DD3FFE70299486A40F40030486202996F +:1015C000052081F8200001208DF80F000FE0E4E7EE +:1015D0000299002048628DF80F0008E00299486ADD +:1015E00040F40020486201208DF80F00FFE79DF8CD +:1015F0000F0004B080BD000081B0009001B07047C2 +:1016000081B0009001B0704781B0009001B0704788 +:1016100081B0009001B0704781B0009001B0704778 +:1016200081B0009001B0704784B003908DF80B102A +:1016300000208DF80A00039890F82000012840F05F +:10164000A080FFE79DF80B00014601910E2800F2F3 +:101650008E8001990FF2080000EB8100874600BFE1 +:1016600000F01CB800F021B800F026B800F02BB84C +:1016700000F030B800F035B800F03AB800F03FB8EC +:1016800000F044B800F049B800F04EB800F053B88C +:1016900000F058B800F05DB800F062B8039941F26C +:1016A0000160C0F6000088626AE0039941F21160AF +:1016B000C0F60000C86263E0039941F22160C0F601 +:1016C000000008635CE0039941F2F950C0F60000A5 +:1016D000486355E0039941F20960C0F60000886351 +:1016E0004EE0039941F21960C0F60000C86347E07C +:1016F000039941F24D50C0F60000086440E00399A0 +:1017000041F24550C0F60000486439E0039941F2C7 +:101710005D50C0F60000886432E0039941F25550F4 +:10172000C0F60000C8642BE0039941F26550C0F692 +:101730000000086524E0039941F2F170C0F6000052 +:1017400048651DE0039940F64D00C0F6000088652D +:1017500016E0039941F2E120C0F60000C8650FE0F1 +:10176000039941F28920C0F60000086608E0039959 +:10177000486A40F48000486201208DF80A00FFE7C3 +:1017800031E0039890F8200018BBFFE79DF80B00AC +:10179000014600910D2804D0FFE700980E2807D0DD +:1017A0000DE0039941F2E120C0F60000C8650FE0AA +:1017B000039941F28920C0F60000086608E0039909 +:1017C000486A40F48000486201208DF80A00FFE773 +:1017D00008E00399486A40F48000486201208DF8CF +:1017E0000A00FFE7FFE79DF80A0004B07047000019 +:1017F00081B0009001B070478DB00C900B9100202B +:101800000A90FFE70B980A99C840002800F0C180B1 +:10181000FFE70B980A9A0121914008400990099826 +:10182000002800F0B280FFE70A9820F003000821AA +:10183000C4F20101405808900A9800F003008100AA +:101840000F2000FA01F108980840089008980590C8 +:101850000C9840F60001C4F20101884203D1FFE771 +:101860000020049026E00C9840F60041C4F20101EB +:10187000884203D1FFE70120039018E00C9841F261 +:101880000001C4F20101884203D1FFE70220029067 +:101890000AE00C9941F20042C4F201020420914294 +:1018A00008BF03200290FFE702980390FFE7039828 +:1018B0000490FFE7059804990A9A02F00302920047 +:1018C0009140884232D1FFE7099A40F20041C4F2C8 +:1018D0000101086890430860099A40F20441C4F28B +:1018E0000101086890430860099A40F20C41C4F273 +:1018F0000101086890430860099A40F20841C4F267 +:1019000001010868904308600A9800F00300810014 +:101910000F2088400890089B0A9820F003010822B5 +:10192000C4F20102885898438850FFE70998FF28BD +:1019300003D8FFE70C98019003E00C980430019065 +:10194000FFE7019807900998FF2804D8FFE70A9855 +:101950008000009006E00A996FF01F0000EB810004 +:101960000090FFE70098069007980068069A0F21FC +:101970009140884304219140084307990860099ADF +:101980000C99C8689043C860FFE70A9801300A9034 +:1019900038E70DB07047000090B00F900E91002016 +:1019A0000D900990FFE70E9800680D99C840002837 +:1019B00000F07F81FFE70D99012088400C900E9880 +:1019C00000680C9908400B900B980C99884240F0E5 +:1019D0006C81FFE70E9840680590002851D0FFE722 +:1019E000059801283AD0FFE7059802283FD0FFE785 +:1019F000059803285FD0FFE70598112832D0FFE74C +:101A00000598122838D0FFE705980021C1F211018E +:101A1000884236D0FFE705980021C1F212018842C2 +:101A20002FD0FFE705980021C1F22101884228D07C +:101A3000FFE705980021C1F22201884221D0FFE78B +:101A400005980021C1F2310188421AD0FFE70598BC +:101A50000021C1F23201884213D02FE00E98C068F5 +:101A600009902CE00E98C0680430099027E00E9889 +:101A7000C0680830099022E00E98C0680C300990C8 +:101A80001DE00E98806818B9FFE70420099011E066 +:101A90000E988068012806D1FFE7082009900C986D +:101AA0000F99086105E0082009900C980F9948618A +:101AB000FFE7FFE703E00020099000E0FFE70B9855 +:101AC000FF2803D8FFE70F98049003E00F98043035 +:101AD0000490FFE7049808900B98FF2804D8FFE7CC +:101AE0000D988000039006E00D996FF01F0000EB49 +:101AF00081000390FFE70398079008980068079A11 +:101B00000F21914088430999914008430899086042 +:101B10000E98C079C006002840F1C680FFE7FFE7B5 +:101B200041F21800C4F20200016841F001010160B5 +:101B3000006800F0010006900698FFE70D9820F07D +:101B400003000821C4F2010140580A900D9800F0EA +:101B5000030081000F2000FA01F10A9888430A90DF +:101B60000F9840F60001C4F20101884203D1FFE75B +:101B70000020029026E00F9840F60041C4F20101D7 +:101B8000884203D1FFE70120019018E00F9841F24D +:101B90000001C4F20101884203D1FFE70220009056 +:101BA0000AE00F9941F20042C4F20102042091427E +:101BB00008BF03200090FFE700980190FFE701981D +:101BC0000290FFE702980D9901F00301890000FAE5 +:101BD00001F10A9808430A900A980D9921F003012F +:101BE0000822C4F2010288500E988079C0060028AD +:101BF00009D5FFE70B9A40F20841C4F201010868D9 +:101C00001043086008E00B9A40F20841C4F2010159 +:101C1000086890430860FFE70E98807980060028E6 +:101C200009D5FFE70B9A40F20C41C4F201010868A4 +:101C30001043086008E00B9A40F20C41C4F2010125 +:101C4000086890430860FFE70E98807980070028B5 +:101C500009D5FFE70B9A40F20441C4F2010108687C +:101C60001043086008E00B9A40F20441C4F20101FD +:101C7000086890430860FFE70E988079C00748B174 +:101C8000FFE70B9A40F20041C4F2010108681043DB +:101C9000086008E00B9A40F20041C4F201010868B4 +:101CA00090430860FFE7FFE7FFE70D9801300D90D4 +:101CB00079E610B07047000041F20C40C2F200001B +:101CC0000068704740F20800C2F20000027841F25A +:101CD0000C41C2F20001086810440860704700001F +:101CE00080B542F20001C4F20201086840F0100021 +:101CF0000860032000F090F80F2000F005F800F0D5 +:101D00003BF8002080BD000080B582B0009040F21A +:101D10000400C2F20000006840F20801C2F20001B3 +:101D20000A784FF47A71B1FBF2F1B0FBF1F001F0F7 +:101D3000BDFA20B1FFE701208DF8070018E00098F8 +:101D40000F280DD8FFE700994FF0FF30002200F078 +:101D500049F8009840F20C01C2F20001086003E06B +:101D600001208DF8070003E000208DF80700FFE751 +:101D70009DF8070002B080BD82B0FFE741F2180075 +:101D8000C4F20200016841F001010160006800F046 +:101D9000010001900198FFE7FFE741F21C00C4F247 +:101DA0000200016841F080510160006800F080503D +:101DB00000900098FFE702B07047000080B582B045 +:101DC0008DF807009DF9070004F0F8FA02B080BD15 +:101DD00080B582B08DF807009DF9070004F00AFB7A +:101DE00002B080BD80B586B08DF8170004910392D3 +:101DF0000020029004F016FB02909DF9170001905C +:101E000002980499039A02F017FA0146019804F027 +:101E100011FB06B080BD000080B582B00190019832 +:101E200004F02AFB02B080BD2021C4F20E21012063 +:101E30000860704780B588B0079000200690059034 +:101E400004900390029007980190012866D0FFE764 +:101E50000198022800F0A580FFE70198102840F0C3 +:101E6000B080FFE741F20400C4F202000068039072 +:101E700041F20000C4F202000068C00100284CD505 +:101E8000FFE70398C0F3834146F2BC50C0F6000060 +:101E9000405C04909DF80E00C007F0B1FFE741F2EE +:101EA0000400C4F202000068C0F3404146F2CC5086 +:101EB000C0F60000405C06909DF80E00C00758B1C7 +:101EC000FFE7069941F20020C0F27A00B0FBF1F082 +:101ED000049948430590FFE707E0049840F6001195 +:101EE000C0F23D0148430590FFE741F20400C4F20F +:101EF000020000684002002803D5FFE70598029021 +:101F00000AE0059840004AF6AB21CAF6AA21A0FBD8 +:101F1000011040080290FFE7FFE753E041F2200084 +:101F2000C4F2020000680390039800F44070B0F51A +:101F3000807F0AD1FFE79DF80C008007002804D5B8 +:101F4000FFE74FF4004002902AE0039800F440704D +:101F5000B0F5007F0DD1FFE741F22400C4F202008A +:101F600000688007002804D5FFE749F6404002904A +:101F700015E0039800F44070B0F5407F0DD1FFE705 +:101F800041F20000C4F2020000688003002804D57A +:101F9000FFE74FF22440029000E0FFE7FFE7FFE792 +:101FA00010E000F029FA41F20401C4F202010968CC +:101FB00001F44042022101EB5231B0FBF1F00290FA +:101FC00000E0FFE7029808B080BD000080B586B051 +:101FD000049000200390029004980078C007002825 +:101FE00000F0AC80FFE700208DF8070041F21C00F4 +:101FF000C4F202000068C000002813D4FFE7FFE726 +:1020000041F21C00C4F20200016841F080510160FD +:10201000006800F0805000900098FFE701208DF8E4 +:102020000700FFE747F20000C4F200000068C005A7 +:10203000002822D4FFE747F20001C4F2000108683B +:1020400040F480700860FFF737FE0390FFE747F227 +:102050000000C4F200000068C00500280CD4FFE7AF +:10206000FFF72AFE0399401A652804D3FFE70320EF +:102070008DF817008AE0EAE7FFE741F22000C4F29A +:102080000200006800F4407002900298E0B3FFE79D +:1020900002980499496801F44071884234D0FFE7FE +:1020A00041F22001C4F20201086820F4407002905D +:1020B00040F24042C4F24222012010600020106031 +:1020C000029808609DF80800C007E0B1FFE7FFF73D +:1020D000F3FD0390FFE741F22000C4F20200006824 +:1020E000800700280ED4FFE7FFF7E6FD0399401AAA +:1020F00041F28931884204D3FFE703208DF81700AD +:1021000044E0E8E7FFE7FFE741F22001C4F2020103 +:10211000086820F44070049A5268104308609DF8E3 +:102120000700012809D1FFE741F21C01C4F20201B6 +:10213000086820F080500860FFE7FFE70498007807 +:10214000800700280CD5FFE741F20401C4F2020128 +:10215000086820F44040049A926810430860FFE742 +:1021600004980078C00600280CD5FFE741F204016E +:10217000C4F20201086820F48000049AD268104377 +:102180000860FFE700208DF81700FFE79DF81700B3 +:1021900006B080BD80B584B002900191029820B94C +:1021A000FFE701208DF80F001BE1019842F20001CA +:1021B000C4F20201096801F00701884216D9FFE75D +:1021C00042F20000C4F20200016821F00701019A06 +:1021D00011430160006800F007000199884204D0B3 +:1021E000FFE701208DF80F00FBE0FFE70298007881 +:1021F000800700282AD5FFE70298007840070028CA +:1022000009D5FFE741F20401C4F20201086840F475 +:10221000E0600860FFE7029800780007002809D511 +:10222000FFE741F20401C4F20201086840F4605083 +:102230000860FFE741F20401C4F20201086820F0DF +:10224000F000029A926810430860FFE70298007855 +:10225000C007002860D0FFE70298406801280ED12F +:10226000FFE741F20000C4F202000068800300288A +:1022700004D4FFE701208DF80F00B2E021E00298BE +:10228000406802280ED1FFE741F20000C4F20200CC +:1022900000688001002804D4FFE701208DF80F00BA +:1022A0009FE00DE041F20000C4F2020000688007E8 +:1022B000002804D4FFE701208DF80F0091E0FFE72C +:1022C000FFE741F20401C4F20201086820F00300B4 +:1022D000029A526810430860FFF7EEFC0090FFE797 +:1022E00041F20400C4F20200006800F00C00029900 +:1022F0004968B0EB810F0ED0FFE7FFF7DDFC0099D6 +:10230000401A41F28931884204D3FFE703208DF857 +:102310000F0066E0E4E7FFE7019842F20001C4F233 +:102320000201096801F00701884216D2FFE742F274 +:102330000000C4F20200016821F00701019A114374 +:102340000160006800F007000199884204D0FFE7AF +:1023500001208DF80F0044E0FFE702980078400765 +:1023600000280CD5FFE741F20401C4F2020108681D +:1023700020F4E060029AD26810430860FFE70298F8 +:102380000078000700280DD5FFE741F20401C4F2F0 +:102390000201086820F46050029A126940EAC20003 +:1023A0000860FFE700F03AF841F20401C4F20201CC +:1023B0000968C9B20A0946F2A451C0F60001895C55 +:1023C000C84040F20401C2F20001086040F20C0073 +:1023D000C2F200000068FFF797FC00208DF80F00A4 +:1023E000FFE79DF80F0004B080BD000040F204003C +:1023F000C2F200000068704780B5FFF7F7FF41F2B6 +:102400000401C4F202010968C1F3C22246F2B451C8 +:10241000C0F60001895CC84080BD000086B0002085 +:102420000590049003900290019041F20400C4F2E0 +:10243000020000680590059800F00C00014600912C +:1024400000283FD0FFE70098042804D0FFE7009859 +:10245000082806D037E041F20020C0F27A0001904F +:1024600037E00598C0F3834146F2CE50C0F6000035 +:10247000405C02909DF81600C007C0B1FFE741F232 +:102480000400C4F202000068C0F3404146F2DE508E +:10249000C0F60000405C0490029841F20021C0F2B6 +:1024A0007A0148430499B0FBF1F0039007E00298E9 +:1024B00040F60011C0F23D0148430390FFE7039846 +:1024C000019006E0FFE741F20020C0F27A0001909F +:1024D000FFE7019806B0704780B588B00790069175 +:1024E0000592002004900390029001900221029135 +:1024F0000321049103904FF480700190FFE741F2B3 +:102500001800C4F20200016841F004010160006893 +:1025100000F0040000900098FFE740F60000C4F2CD +:10252000010001A9FFF738FA41F20401C4F20201E7 +:10253000086820F0E060069A1043086008B080BD8B +:1025400080B586B00490049820B9FFE701208DF88B +:1025500017002EE304980078C007002800F0AE8032 +:10256000FFE741F20400C4F20200006800F00C0032 +:10257000042813D0FFE741F20400C4F2020000680F +:1025800000F00C0008281BD1FFE741F20400C4F260 +:1025900002000068C003002812D5FFE741F20000E6 +:1025A000C4F2020000688003002808D5FFE7049801 +:1025B000406820B9FFE701208DF81700F9E27CE0C0 +:1025C000FFE704984068B0F5803F09D1FFE741F28A +:1025D0000001C4F20201086840F48030086032E073 +:1025E0000498406868B9FFE741F20001C4F20201B3 +:1025F000086820F480300860086820F480200860B3 +:1026000020E004984068B0F5A02F0DD1FFE741F21B +:102610000001C4F20201086840F4802008600868E4 +:1026200040F4803008600CE041F20001C4F2020185 +:10263000086820F480300860086820F48020086072 +:10264000FFE7FFE7FFE7FFE704984068D0B1FFE747 +:10265000FFF732FB0390FFE741F20000C4F20200F3 +:102660000068800300280CD4FFE7FFF725FB0399DF +:10267000401A652804D3FFE703208DF8170098E27D +:10268000EAE719E0FFF718FB0390FFE741F20000CB +:10269000C4F202000068800300280CD5FFE7FFF7B2 +:1026A0000BFB0399401A652804D3FFE703208DF83C +:1026B00017007EE2EAE7FFE7FFE7FFE7049800780C +:1026C0008007002840F18D80FFE741F20400C4F24A +:1026D0000200006810F00C0F13D0FFE741F2040075 +:1026E000C4F20200006800F00C00082829D1FFE7BE +:1026F00041F20400C4F202000068C003002820D4A4 +:10270000FFE741F20000C4F20200006880070028E1 +:1027100009D5FFE704980069012804D0FFE70120EC +:102720008DF8170045E241F20001C4F20201086889 +:1027300020F0F800049A526940EAC2000860FFE7FE +:102740004EE00498006958B3FFE70021C4F242212B +:1027500001200860FFF7B0FA0390FFE741F20000A4 +:10276000C4F202000068800700280CD4FFE7FFF7DE +:10277000A3FA0399401A032804D3FFE703208DF836 +:10278000170016E2EAE741F20001C4F2020108680C +:1027900020F0F800049A526940EAC20008601EE086 +:1027A0000021C4F2422100200860FFF785FA03905F +:1027B000FFE741F20000C4F2020000688007002831 +:1027C0000CD5FFE7FFF778FA0399401A032804D3E2 +:1027D000FFE703208DF81700EBE1EAE7FFE7FFE7EB +:1027E000FFE7049800780007002848D5FFE7049821 +:1027F000806918B3FFE740F28041C4F24221012012 +:102800000860FFF759FA0390FFE741F22400C4F291 +:1028100002000068800700280CD4FFE7FFF74CFA9D +:102820000399401A032804D3FFE703208DF817000B +:10283000BFE1EAE7012003F0B3F81FE040F2804176 +:10284000C4F2422100200860FFF736FA0390FFE748 +:1028500041F22400C4F202000068800700280CD571 +:10286000FFE7FFF729FA0399401A032804D3FFE78B +:1028700003208DF817009CE1EAE7FFE7FFE70498E3 +:1028800000784007002840F1D880FFE700208DF84D +:10289000070041F21C00C4F202000068C0000028DA +:1028A00013D4FFE7FFE741F21C00C4F20200016805 +:1028B00041F080510160006800F080500090009865 +:1028C000FFE701208DF80700FFE747F20000C4F2A0 +:1028D00000000068C005002822D4FFE747F200018D +:1028E000C4F20001086840F480700860FFF7E4F962 +:1028F0000390FFE747F20000C4F200000068C00543 +:1029000000280CD4FFE7FFF7D7F90399401A652890 +:1029100004D3FFE703208DF817004AE1EAE7FFE759 +:10292000FFE70498C068012809D1FFE741F22001C0 +:10293000C4F20201086840F00100086031E0049828 +:10294000C06868B9FFE741F22001C4F202010868DB +:1029500020F001000860086820F0040008601FE013 +:102960000498C06805280DD1FFE741F22001C4F2A8 +:102970000201086840F004000860086840F00100A7 +:1029800008600CE041F22001C4F20201086820F066 +:1029900001000860086820F004000860FFE7FFE716 +:1029A000FFE7FFE70498C068E0B1FFE7FFF784F9AD +:1029B0000390FFE741F22000C4F2020000688007A4 +:1029C00000280ED4FFE7FFF777F90399401A41F288 +:1029D0008931884204D3FFE703208DF81700E8E02F +:1029E000E8E71BE0FFF768F90390FFE741F22000FA +:1029F000C4F202000068800700280ED5FFE7FFF749 +:102A00005BF90399401A41F28931884204D3FFE708 +:102A100003208DF81700CCE0E8E7FFE79DF80700FA +:102A2000012809D1FFE741F21C01C4F20201086844 +:102A300020F080500860FFE7FFE70498C069002895 +:102A400000F0B380FFE741F20400C4F20200006826 +:102A500000F00C00082800F08280FFE70498C069AD +:102A600002285CD1FFE76021C4F242210020086007 +:102A7000FFF722F90390FFE741F20000C4F20200E1 +:102A80000068800100280CD5FFE7FFF715F90399CE +:102A9000401A032804D3FFE703208DF8170088E0CD +:102AA000EAE70498006AB0F5803F0CD1FFE741F2F5 +:102AB0000401C4F20201086820F40030049A92680C +:102AC00010430860FFE741F20401C4F20201086804 +:102AD00020F47410049B1A6A5B6A1A43104308605E +:102AE0006021C4F2422101200860FFF7E5F803905D +:102AF000FFE741F20000C4F20200006880010028F4 +:102B00000CD4FFE7FFF7D8F80399401A032804D341 +:102B1000FFE703208DF817004BE0EAE71EE0602195 +:102B2000C4F2422100200860FFF7C6F80390FFE7D7 +:102B300041F20000C4F202000068800100280CD5B8 +:102B4000FFE7FFF7B9F80399401A032804D3FFE71A +:102B500003208DF817002CE0EAE7FFE724E0049853 +:102B6000C069012804D1FFE701208DF8170020E09B +:102B700041F20400C4F2020000680290029800F4DE +:102B800080300499096A884208D1FFE7029800F46E +:102B900070100499496A884204D0FFE701208DF83B +:102BA000170006E0FFE7FFE7FFE700208DF81700BA +:102BB000FFE79DF8170006B080BD000080B586B025 +:102BC00004900391029200208DF80600ADF80400F5 +:102BD000049818B1FFE7039820B9FFE701208DF8AA +:102BE000170034E0049801A9002200F035F820B164 +:102BF000FFE701208DF8170029E00498007B039976 +:102C000008700498C07B0399C8700498407B0399AE +:102C100048700498807B03998870029898B1FFE708 +:102C20000398C07802F0F0FE0399C87003984078CA +:102C300002F0EAFE039948700398807802F0E4FEFF +:102C400003998870FFE700208DF81700FFE79DF8D3 +:102C5000170006B080BD000080B588B006900591D1 +:102C6000049200200390029001900090069818B101 +:102C7000FFE7059820B9FFE701208DF81F00C0E0AD +:102C80000698006840684007002803D5FFE7012048 +:102C900018B906E0012020B9FFE701208DF81F00D8 +:102CA000AFE0069803F036F8039003994BF2C53075 +:102CB000C9F2A210A1FB0021C90A0091039BA3FB4A +:102CC0000021C90A4FF4616201FB123348F6890101 +:102CD000C8F68801A3FB01C35B09DDF814C08CF8BA +:102CE0000130039BA3FB00C0C00A00FB1230A0FB15 +:102CF000011251090901A1EB5211A0EB81000599C4 +:102D00008870009818285ED3FFE700984AF6AB2138 +:102D1000CAF6AA21A0FB0120000901900098A0FB9F +:102D20000121090901EB4101A0EBC10005990870DF +:102D3000069802F0D5FF02900298013050B1FFE7EB +:102D400002980399884205D9FFE703990298401A2F +:102D5000029003E04FF0FF300290FFE7019840F24D +:102D6000A32141430398A0EBC11003900698039957 +:102D700003F0A0F820B1FFE701208DF81F0040E02C +:102D80000298013078B1FFE7039902980844029055 +:102D90000698029903F066F820B1FFE701208DF84C +:102DA0001F002EE00AE00698029903F05BF820B1BC +:102DB000FFE701208DF81F0023E0FFE70698019947 +:102DC00002F040FE03E0009805990870FFE70498C0 +:102DD00098B1FFE70598007802F016FE0599087093 +:102DE0000598407802F010FE0599487005988078A3 +:102DF00002F00AFE05998870FFE700208DF81F0099 +:102E0000FFE79DF81F0008B080BD000080B584B0CA +:102E1000029000200190029820B9FFE701208DF870 +:102E20000F0084E00298407C38B9FFE70299002047 +:102E30000874029800F080F8FFE7029902204874B5 +:102E4000029800F001FA38B1FFE7029904204874B3 +:102E500001208DF80F006AE0029802F0ADFE38B153 +:102E6000FFE702990420487401208DF80F005EE00E +:102E700002980168486820F007004860029880685E +:102E800048B1FFE746F63041C4F20001086820F07F +:102E900001000860FFE746F62C41C4F20001086813 +:102EA00020F46070029A92681043086002984068AB +:102EB000013020B1FFE702984068019012E0012044 +:102EC000FEF7B8FF0190019838B9FFE70299042096 +:102ED000487401208DF80F0029E001980138019015 +:102EE000FFE7FFE7BDF8060000F00F000299096850 +:102EF0008860BDF8040002990968C860029802F071 +:102F000087FE38B1FFE702990420487401208DF84C +:102F10000F000CE002990020C873029A012151733E +:102F2000029A9173029A51748DF80F00FFE79DF891 +:102F30000F0004B080BD000080B582B00190019800 +:102F4000006842F60001C4F20001884218D1FFE790 +:102F5000FEF76AFFFFE741F21C00C4F202000168BD +:102F600041F000610160006800F00060009000988E +:102F7000FFE740F23C41C4F2422101200860FFE734 +:102F800002B080BD80B588B0069005910492002003 +:102F9000039002900190069818B1FFE7059820B9B8 +:102FA000FFE701208DF81F00A7E0FFE70698007CEF +:102FB000012804D1FFE702208DF81F009DE006994B +:102FC00001200874FFE7FFE706990220487404987F +:102FD00068B9FFE70598C0780699C87305984078E6 +:102FE00006994873059880780699887312E00598C9 +:102FF000C07802F0F3FC0699C8730598407802F097 +:10300000EDFC069948730598807802F0E7FC069974 +:103010008873FFE70698417B827BC07B02F0B0FE9D +:10302000069908730698007B05990870069802F0C7 +:1030300071FE039003984BF2C531C9F2A211A0FBB7 +:103040000110C00A0190019819284AD3FFE701989E +:103050004AF6AB21CAF6AA21A0FB0110000940F2F2 +:10306000A32141430398A0EBC11003900698039954 +:1030700002F020FF60B1FFE7069904204874FFE7E3 +:10308000069900200874FFE701208DF81F0034E046 +:10309000069802F025FE02900298013000B3FFE787 +:1030A0000298039988421AD2FFE7029845F28011EC +:1030B000C0F20101084402900698029902F0D2FE83 +:1030C00060B1FFE7069904204874FFE706990020E5 +:1030D0000874FFE701208DF81F000EE0FFE7FFE70F +:1030E000FFE7069901204874FFE70699002008745D +:1030F000FFE700208DF81F00FFE79DF81F0008B0D4 +:1031000080BD000080B588B0069005910492002033 +:1031100003900290069818B1FFE7059820B9FFE7E1 +:1031200001208DF81F008AE0FFE70698007C012847 +:1031300004D1FFE702208DF81F0080E006990120EE +:103140000874FFE7FFE7069902204874049870B9F5 +:10315000FFE7059908784A7889784FF46163584306 +:10316000C2EB021200EB8200084403901BE00598BA +:10317000007802F033FC4FF46161484300900598F9 +:10318000407802F02BFC01460098C1EB011100EBE6 +:10319000810001900598807802F020FC014601989A +:1031A00008440390FFE70698039902F083FE60B19C +:1031B000FFE7069904204874FFE706990020087489 +:1031C000FFE701208DF81F0039E006980168486884 +:1031D00020F005004860069802F082FD02900298F7 +:1031E000013000B3FFE70298039988421AD2FFE743 +:1031F000029845F28011C0F201010844029006983D +:10320000029902F02FFE60B1FFE70699042048748E +:10321000FFE7069900200874FFE701208DF81F00E2 +:103220000DE0FFE7FFE7069901204874FFE70699E4 +:1032300000200874FFE700208DF81F00FFE79DF8CD +:103240001F0008B080BD000080B584B0029000204F +:103250000190029820B9FFE701208DF80F0021E0CE +:1032600002980168486820F008004860FEF724FDD5 +:103270000190FFE7029800684068000700280DD41D +:10328000FFE7FEF719FD0199401AB0F57A7F04D9DE +:10329000FFE703208DF80F0004E0EBE700208DF836 +:1032A0000F00FFE79DF80F0004B080BD80B582B02D +:1032B0000190019802F028FE02B080BD81B000901C +:1032C00001B0704781B0009001B0704781B00090AC +:1032D00001B0704781B0009001B0704781B000909C +:1032E00001B0704785B003900291FFE7039890F812 +:1032F0003C00012804D1FFE702208DF813005BE0B9 +:103300000399012081F83C00FFE7FFE703990220C1 +:1033100081F83D00039800684068019003980068B8 +:1033200080680090019820F0700001900298016878 +:10333000019808430190019803990968486003982F +:10334000006842F60041C4F20101884218D0FFE74C +:1033500003980068B0F1804F12D0FFE7039800682F +:1033600040F20041C4F20001884209D0FFE703980F +:10337000006840F60001C4F2000188420ED1FFE768 +:10338000009820F08000009002984168009808435F +:1033900000900098039909688860FFE7039901206D +:1033A00081F83D00FFE70399002081F83C00FFE72A +:1033B00000208DF81300FFE79DF8130005B070475B +:1033C00080B582B00090009820B9FFE701208DF809 +:1033D00007004DE0009890F83D00B0B9FFE7009974 +:1033E000002081F83C00009802F0BCFE0098806C40 +:1033F00038B9FFE7009943F2AD40C0F60000886499 +:10340000FFE70098816C8847FFE70099022081F868 +:103410003D00009951F8040B02F0FCFD00990120D9 +:1034200081F84600FFE70099012081F83E000099ED +:1034300081F83F00009981F84000009981F841002F +:10344000FFE7FFE70099012081F84200009981F829 +:103450004300009981F84400009981F84500FFE796 +:103460000099012081F83D0000208DF80700FFE75A +:103470009DF8070002B080BD80B582B00190019830 +:10348000006840F60001C4F2000188420CD1FFE759 +:1034900041F21C01C4F20201086820F00400086037 +:1034A0001E20FEF78BFCFFE702B080BD80B584B024 +:1034B00003900398006840F60001C4F200018842BE +:1034C00019D1FFE7FFE741F21C00C4F202000168D6 +:1034D00041F004010160006800F0040002900298CD +:1034E000FFE71E20019000221146FEF77BFC0198A9 +:1034F000FEF76EFCFFE704B080BD000080B586B02B +:103500000490039100208DF80B00FFE7049890F8D9 +:103510003C00012804D1FFE702208DF81700ABE042 +:103520000499012081F83C00FFE7FFE7049902209D +:1035300081F83D000498006880680190019820F0AF +:1035400077000190019820F47F4001900198049940 +:1035500009688860039800680090002872D0FFE72F +:10356000009810286ED0FFE7009820286AD0FFE767 +:103570000098302866D0FFE70098402855D0FFE734 +:103580000098502837D0FFE70098602840D0FFE728 +:10359000009870280BD0FFE70098B0F5805F05D049 +:1035A000FFE70098B0F5005F16D052E055E00498B0 +:1035B0000068039B5A689968DB6802F0A3FD0498D1 +:1035C000006880680190019840F0770001900198B0 +:1035D00004990968886040E004980068039B5A6871 +:1035E0009968DB6802F08EFD04980168886840F4F1 +:1035F0008040886031E004980068039A5168D2687E +:1036000002F010FE04980068502102F095FD24E0BD +:1036100004980068039A5168D26802F02BFE04985F +:103620000068602102F088FD17E004980068039AA2 +:103630005168D26802F0F6FD04980068402102F05B +:103640007BFD0AE0049800680399096802F074FDA4 +:1036500003E001208DF80B00FFE70499012081F8B9 +:103660003D00FFE70499002081F83C00FFE79DF84A +:103670000B008DF81700FFE79DF8170006B080BD1E +:1036800081B0009001B0704781B0009001B07047E8 +:1036900081B0009001B0704781B0009001B07047D8 +:1036A00081B0009001B0704781B0009001B07047C8 +:1036B00081B0009001B0704780B582B00190019850 +:1036C0000068006900F002010020B0EB510F2BD020 +:1036D000FFE701980068C06800F002010020B0EB2D +:1036E000510F20D0FFE7019801686FF002000861D8 +:1036F000019901200877019800688069800728B146 +:10370000FFE70198D0F89010884708E00198D0F8BA +:10371000981088470198D0F89C108847FFE70199D6 +:1037200000200877FFE7FFE701980068006900F0D4 +:1037300004010020B0EB910F2CD0FFE70198006846 +:10374000C06800F004010020B0EB910F21D0FFE72A +:10375000019801686FF00400086101990220087760 +:1037600001980068806910F4407F05D0FFE7019858 +:10377000D0F89010884708E00198D0F89810884752 +:103780000198D0F89C108847FFE70199002008773E +:10379000FFE7FFE701980068006900F008010020DA +:1037A000B0EBD10F2BD0FFE701980068C06800F0A4 +:1037B00008010020B0EBD10F20D0FFE7019801688D +:1037C0006FF00800086101990420087701980068EB +:1037D000C069800728B1FFE70198D0F890108847AA +:1037E00008E00198D0F8981088470198D0F89C100C +:1037F0008847FFE7019900200877FFE7FFE7019876 +:103800000068006900F010010020B0EB111F2CD0FF +:10381000FFE701980068C06800F010010020B0EBDD +:10382000111F21D0FFE7019801686FF010000861B7 +:1038300001990820087701980068C06910F4407F5A +:1038400005D0FFE70198D0F89010884708E001986C +:10385000D0F8981088470198D0F89C108847FFE767 +:10386000019900200877FFE7FFE7019800680069E9 +:10387000C00788B1FFE701980068C068C00750B171 +:10388000FFE7019801686FF0010008610198D0F826 +:1038900080108847FFE7FFE7019800680069C1B220 +:1038A0000020B0EBD11F14D0FFE701980068C0687A +:1038B000C1B20020B0EBD11F0AD0FFE70198016828 +:1038C0006FF0800008610198D0F8B0108847FFE7DA +:1038D000FFE701980068006900F040010020B0EBAC +:1038E000911F15D0FFE701980068C06800F0400103 +:1038F0000020B0EB911F0AD0FFE7019801686FF03C +:10390000400008610198D0F888108847FFE7FFE77A +:1039100001980068006900F020010020B0EB511F01 +:1039200015D0FFE701980068C06800F02001002072 +:10393000B0EB511F0AD0FFE7019801686FF020003B +:1039400008610198D0F8A8108847FFE7FFE702B0A8 +:1039500080BD000081B0009001B0704781B0009040 +:1039600001B0704781B0009001B0704781B0009005 +:1039700001B0704781B0009001B0704781B00090F5 +:1039800001B0704781B0009001B0704781B00090E5 +:1039900001B0704781B0009001B0704781B00090D5 +:1039A00001B0704781B0009001B0704787B00590BA +:1039B0008DF81310039200208DF80B00039820B9A6 +:1039C000FFE701208DF81B003DE1059890F83D00D0 +:1039D000012840F0C380FFE79DF8130001460191E4 +:1039E0001A2800F2B68001990FF2080000EB81005E +:1039F000874600BF00F034B800F036B800F038B8A1 +:103A000000F03AB800F03CB800F03EB800F040B822 +:103A100000F042B800F044B800F046B800F048B8F2 +:103A200000F04AB800F04CB800F04EB800F050B8C2 +:103A300000F053B800F056B800F059B800F05CB888 +:103A400000F05FB800F062B800F065B800F068B848 +:103A500000F06BB800F06EB800F071B800F074B808 +:103A600003980599886478E003980599C86474E020 +:103A700003980599086570E00398059948656CE01E +:103A800003980599886568E003980599C86564E01E +:103A900003980599086660E00398059948665CE01C +:103AA00003980599886658E003980599C86654E01C +:103AB00003980599086750E00398059948674CE01A +:103AC00003980599886748E003980599C86744E01A +:103AD00003980599C1F880003FE003980599C1F863 +:103AE00084003AE003980599C1F8880035E003980E +:103AF0000599C1F88C0030E003980599C1F8900051 +:103B00002BE003980599C1F8940026E003980599E5 +:103B1000C1F8980021E003980599C1F89C001CE0C9 +:103B200003980599C1F8A00017E003980599C1F81A +:103B3000A40012E003980599C1F8A8000DE00398CD +:103B40000599C1F8AC0008E003980599C1F8B000E8 +:103B500003E001208DF80B00FFE76FE0059890F877 +:103B60003D00002865D1FFE79DF813000146009154 +:103B70000D2859D800990FF2080000EB8100874604 +:103B800000F01AB800F01CB800F01EB800F020B821 +:103B900000F022B800F024B800F026B800F028B8F1 +:103BA00000F02AB800F02CB800F02EB800F030B8C1 +:103BB00000F032B800F034B803980599886437E013 +:103BC00003980599C86433E00398059908652FE0C8 +:103BD0000398059948652BE003980599886527E0C7 +:103BE00003980599C86523E00398059908661FE0C6 +:103BF0000398059948661BE003980599886617E0C5 +:103C000003980599C86613E00398059908670FE0C3 +:103C10000398059948670BE003980599886707E0C2 +:103C200003980599C86703E001208DF80B00FFE7B2 +:103C300003E001208DF80B00FFE7FFE79DF80B0084 +:103C40008DF81B00FFE79DF81B0007B070470000D0 +:103C500081B0009001B0704781B0009001B0704712 +:103C600084B003908DF80B1000208DF80A000398A3 +:103C700090F83D00012840F01481FFE79DF80B000B +:103C8000014601911A2800F2078101990FF20800FC +:103C900000EB8100874600BF00F034B800F039B86F +:103CA00000F03EB800F043B800F048B800F04DB85E +:103CB00000F052B800F057B800F05CB800F061B8FE +:103CC00000F066B800F06BB800F070B800F075B89E +:103CD00000F07AB800F080B800F086B800F08CB838 +:103CE00000F092B800F098B800F09EB800F0A4B8C8 +:103CF00000F0AAB800F0B0B800F0B6B800F0BCB858 +:103D000000F0C2B8039943F2AD40C0F600008864E9 +:103D1000C6E0039943F27940C0F60000C864BFE0F2 +:103D2000039943F2B160C0F600000865B8E003995A +:103D300043F2A960C0F600004865B1E0039943F67C +:103D40006510C0F600008865AAE0039943F65D108F +:103D5000C0F60000C865A3E0039943F68510C0F6DD +:103D6000000008669CE0039943F67D10C0F6000051 +:103D7000486695E0039943F67510C0F60000886622 +:103D80008EE0039943F66D10C0F60000C86687E028 +:103D9000039943F28960C0F60000086780E0039948 +:103DA00043F28160C0F60000486779E0039943F26E +:103DB000DD20C0F60000886772E0039943F2D52049 +:103DC000C0F60000C8676BE0039943F69D10C0F68B +:103DD0000000C1F8800063E0039943F6A510C0F627 +:103DE0000000C1F884005BE0039943F65140C0F63F +:103DF0000000C1F8880053E0039943F65940C0F62B +:103E00000000C1F88C004BE0039943F29960C0F6C2 +:103E10000000C1F8900043E0039943F2A160C0F6AE +:103E20000000C1F894003BE0039943F65510C0F63A +:103E30000000C1F8980033E0039943F68D10C0F6F6 +:103E40000000C1F89C002BE0039943F69510C0F6E2 +:103E50000000C1F8A00023E0039943F29160C0F68E +:103E60000000C1F8A4001BE0039943F2C520C0F68E +:103E70000000C1F8A80013E0039943F2CD20C0F67A +:103E80000000C1F8AC000BE0039943F2BD20C0F67E +:103E90000000C1F8B00003E001208DF80A00FFE740 +:103EA0009CE0039890F83D00002840F09280FFE7E6 +:103EB0009DF80B00014600910D2800F285800099C5 +:103EC0000FF2080000EB8100874600BF00F01AB82F +:103ED00000F01FB800F024B800F029B800F02EB8A8 +:103EE00000F033B800F038B800F03DB800F042B848 +:103EF00000F047B800F04CB800F051B800F056B8E8 +:103F000000F05BB8039943F2AD40C0F6000088644E +:103F10005EE0039943F27940C0F60000C86457E0C0 +:103F2000039943F2B160C0F60000086550E00399C0 +:103F300043F2A960C0F60000486549E0039943F6E2 +:103F40006510C0F60000886542E0039943F65D10F5 +:103F5000C0F60000C8653BE0039943F68510C0F643 +:103F60000000086634E0039943F67D10C0F60000B7 +:103F700048662DE0039943F67510C0F60000886688 +:103F800026E0039943F66D10C0F60000C8661FE0F6 +:103F9000039943F28960C0F60000086718E00399AE +:103FA00043F28160C0F60000486711E0039943F2D4 +:103FB000DD20C0F6000088670AE0039943F2D520AF +:103FC000C0F60000C86703E001208DF80A00FFE793 +:103FD00003E001208DF80A00FFE7FFE79DF80A00E3 +:103FE00004B07047FFE7FEE783B08DF80B009DF843 +:103FF0000B0000F5FA608DF80B009DF80B10012006 +:104000004BF65003C0F21E5345F62942CCF28F22E4 +:1040100001FB02314FEA31114DF20B72C0F2A302E3 +:104020009142019022D3FFE79DF80B1000208907F1 +:104030000090C1B9FFE79DF80B004BF65002C0F2AB +:104040001E5245F62941CCF28F2100FB01204FEA98 +:10405000B00145F62842C0F28F220020914288BF6D +:1040600001200090FFE700980190FFE7019800F021 +:10407000010003B07047000080B582B040F6E00058 +:10408000C2F20000019046F20041C4F2000101605A +:104090000821416000228260C2604FF4402101612A +:1040A0004FF4801141610276012141768276C27619 +:1040B00002774177FCF79EFF18B1FFE7FCF72AFA79 +:1040C000FFE702B080BD000080B586B000200590FB +:1040D000049003900290FFE741F21800C4F202003E +:1040E000016841F004010160006800F004000190E3 +:1040F0000198FFE74FF48070029002200390059032 +:1041000040F60000C4F2010002A9FDF745FC06B02C +:1041100080BD000080B582B000208DF80600ADF8AB +:104120000400009040F64410C2F2000042F6000184 +:10413000C4F2000101604FF0FF3141604FF4807123 +:104140008160FEF763FE18B1FFE7FCF7E3F9FFE7D4 +:1041500000208DF804008DF805008DF8060040F66B +:104160004410C2F2000001A90122FEF7CBFF18B1F2 +:10417000FFE7FCF7CFF9FFE701228DF800208DF86B +:1041800001208DF8022000208DF8030040F6441035 +:10419000C2F200006946FEF7F5FE18B1FFE7FCF732 +:1041A000B9F9FFE702B080BD80B588B00021019168 +:1041B00007910691059104910391029140F65810E0 +:1041C000C2F2000040F60002C4F2000202604FF6A4 +:1041D000FF12426081604FF47A72C26001618161B6 +:1041E000FFF7EEF818B1FFE7FCF794F9FFE74FF49B +:1041F0008050049040F65810C2F2000004A9FFF766 +:104200007DF918B1FFE7FCF785F9FFE70020029080 +:10421000039040F65810C2F2000002A9FFF762F8BE +:1042200018B1FFE7FCF776F9FFE708B080BD0000A2 +:10423000FFE7FEE7FFE7FEE788B0079006910592EB +:10424000079800F0070004900498C0F107000528C3 +:1042500003D3FFE70420019004E00498C0F10700B5 +:104260000190FFE70198039004980430062803D8D2 +:10427000FFE70020009003E0049803380090FFE778 +:104280000098029006980399012202FA01F101397F +:104290000840029B984005999A40013A1140084312 +:1042A00008B0704780B58AB0DDF830C0CDF820C0C6 +:1042B0000793069205910490BDF814000390BDF891 +:1042C0000C00000B01460291042855D802990FF208 +:1042D000080000EB8100874600F008B800F014B831 +:1042E00000F020B800F02CB800F038B80498059918 +:1042F000069A079BDDF820C0EE46CEF800C000F01D +:1043000001FF8DF827003BE004980599069A079B6A +:10431000DDF820C0EE46CEF800C000F0A3FD8DF819 +:1043200027002DE004980599069A079BDDF820C028 +:10433000EE46CEF800C000F05FFE8DF827001FE0CB +:1043400004980599069A079BDDF820C0EE46CEF842 +:1043500000C000F001FD8DF8270011E004980599D8 +:10436000069A079BDDF820C0EE46CEF800C000F0AC +:10437000BDFD8DF8270003E001208DF82700FFE741 +:104380009DF827000AB080BD80B58AB0DDF830C046 +:10439000CDF820C00793069205910490BDF8140053 +:1043A0000390BDF80C0000090146029103283FD894 +:1043B00002990FF2080000EB8100874600F006B872 +:1043C00000F012B800F01CB800F026B80498059967 +:1043D000069A079BDDF820C0EE46CEF800C000F03C +:1043E00099FF8DF827002BE004980599069A079B02 +:1043F000DDF820C0EE46CEF800C000F0C3FE1BE0A2 +:1044000004980599069A079BDDF820C0EE46CEF881 +:1044100000C000F0CFFE0FE004980599069A079BB4 +:10442000DDF820C0EE46CEF800C000F013FF03E038 +:1044300001208DF8270003E000208DF82700FFE71A +:104440009DF827000AB080BD80B58EB08DF837008A +:104450000C910B929DF837000690002107910120E6 +:104460000890059109900E200A900C98C0F34F30E7 +:1044700001900C98C000043080B202900B98C0F3F9 +:104480004F3003900B98C000043080B2049040F687 +:10449000D400C2F20000006801A9FCF719F918B1B4 +:1044A000FFE7FCF737F8FFE70EB080BD80B582B0BC +:1044B0008DF807009DF80710481E009102280DD3C3 +:1044C000FFE70098032812D1FFE740F6DC00C2F2B4 +:1044D000000000680E21FFF7C3FBFFE740F6D400A1 +:1044E000C2F2000000680621FDF79EF8FFE702B067 +:1044F00080BD000080B58AB0DDF830C0CDF820C0A6 +:104500000793069205910490BDF814000390BDF83E +:104510000C00000B01460291062867D802990FF2A1 +:10452000080000EB8100874600F00CB800F016B8D8 +:1045300000F020B800F02AB800F034B800F03EB81F +:1045400000F048B804980599069A079BDDF820C04A +:10455000EE46CEF800C000F04BFF4BE00498059902 +:10456000069A079BDDF820C0EE46CEF800C000F0AA +:1045700091FF3FE004980599069A079BDDF820C05B +:10458000EE46CEF800C000F04FFF33E004980599E6 +:10459000069A079BDDF820C0EE46CEF800C000F07A +:1045A00051FF27E004980599069A079BDDF820C083 +:1045B000EE46CEF800C000F061FF1BE004980599BC +:1045C000069A079BDDF820C0EE46CEF800C000F04A +:1045D0001DFF0FE004980599069A079BDDF820C09F +:1045E000EE46CEF800C000F03BFF03E001208DF85E +:1045F000270003E000208DF82700FFE79DF8270043 +:104600000AB080BD80B586B04FF0126005904FF0C3 +:104610007F600490002003904FF47021029101917B +:1046200000910599049AFFF70FFF0399029A012060 +:10463000FFF70AFF0199009A0220FFF705FF06B075 +:1046400080BD000080B586B00490039102920020E6 +:1046500001900498E8B1FFE7049940F6D400C2F253 +:1046600000000160006845F6C902C0F6000206219C +:10467000FCF7A8FE8DF803009DF8030040B1FFE7AA +:104680009DF80400FFF712FF02208DF8170059E093 +:1046900007E09DF80400FFF709FF01208DF81700DF +:1046A00050E0019801300190039838B1FFE703987A +:1046B00040F6D801C2F20001086007E09DF804004E +:1046C000FFF7F4FE02208DF817003BE0019801305F +:1046D00001900298E8B1FFE7029940F6DC00C2F2CF +:1046E00000000160006845F2F572C0F600020E217C +:1046F000FFF75CF98DF802009DF8020040B1FFE77A +:104700009DF80400FFF7D2FE02208DF8170019E093 +:1047100007E09DF80400FFF7C9FE04208DF817009C +:1047200010E0019801300190FFF76CFF40F2C801E2 +:10473000C2F20001087840F00100087000208DF8F6 +:104740001700FFE79DF8170006B080BD80B588B060 +:10475000079800F0604007909DF81F0040F010009F +:104760008DF81F009DF81F0040F008008DF81F0015 +:104770009DF81E0000F0F00003308DF81E0049F691 +:10478000F120ADF80C004AF6BF70C5F278600290D7 +:104790004AF6CD30C1F23420019001A805900520E1 +:1047A0000690FA20ADF81000FFE7FBF7A3FD002804 +:1047B00000F06781FFE740F20000C2F200000078DD +:1047C00000EB800140F60C20C2F2000000EB8100FB +:1047D000807900F00F0002281DD1FFE740F20000B1 +:1047E000C2F20000007800EB800140F60C20C2F21B +:1047F000000000EB810C50F82100DCF80410DCF81C +:104800000820DCF80C30DCF810C0EE46CEF800C012 +:10481000FFF748FD2BE140F20000C2F200000078F3 +:1048200000EB800140F60C20C2F2000000EB81009A +:1048300080790007E8B9FFE740F20000C2F200000B +:10484000007800EB800140F60C20C2F2000000EB83 +:10485000810C50F82100DCF80410DCF80820DCF8AA +:104860000C30DCF810C0EE46CEF800C0FFF78CFD2F +:10487000FCE040F20000C2F20000007800EB800192 +:1048800040F60C20C2F2000000EB8100807900F0BD +:104890000F0001281DD1FFE740F20000C2F2000026 +:1048A000007800EB800140F60C20C2F2000000EB23 +:1048B000810C50F82100DCF80410DCF80820DCF84A +:1048C0000C30DCF810C0EE46CEF800C0FFF712FE48 +:1048D000CBE040F20000C2F20000007800EB800163 +:1048E00040F60C20C2F2000000EB8100807900F05D +:1048F0000F0003281DD1FFE740F20000C2F20000C4 +:10490000007800EB800140F60C20C2F2000000EBC2 +:10491000810C50F82100DCF80410DCF80820DCF8E9 +:104920000C30DCF810C0EE46CEF800C000F0C0FD40 +:104930009AE040F20000C2F20000007800EB800133 +:1049400040F60C20C2F2000000EB8100807900F0FC +:104950000F00042839D0FFE740F20000C2F2000047 +:10496000007800EB800140F60C20C2F2000000EB62 +:104970008100807900F00F00052826D0FFE740F283 +:104980000000C2F20000007800EB800140F60C202D +:10499000C2F2000000EB8100807900F00F000628D1 +:1049A00013D0FFE740F20000C2F20000007800EBF5 +:1049B000800140F60C20C2F2000000EB81008079FB +:1049C00000F00F0007281DD1FFE740F20000C2F2FF +:1049D0000000007800EB800140F60C20C2F20000DD +:1049E00000EB810C50F82100DCF80410DCF8082002 +:1049F000DCF80C30DCF810C0EE46CEF800C000F059 +:104A000047F830E040F20000C2F20000007800EB0E +:104A1000800140F60C20C2F2000000EB810080799A +:104A200000F00F0008281DD1FFE740F20000C2F29D +:104A30000000007800EB800140F60C20C2F200007C +:104A400000EB810C50F82100DCF80410DCF80820A1 +:104A5000DCF80C30DCF810C0EE46CEF800C0FBF7F6 +:104A60001BFDFFE7FFE7FFE7FFE7FFE7FFE740F298 +:104A70000001C2F200010878013000F07F000870E8 +:104A8000FFE707980499059A069B00F0B5F88CE6B5 +:104A900080B588B0DDF828C0CDF818C00593049221 +:104AA000039102909DF80E0000F00F0004380146BB +:104AB0000191032846D801990FF2080000EB81000C +:104AC000874600BF00F006B800F012B800F01EB82C +:104AD00000F02AB802980399049A059BDDF818C0E3 +:104AE000EE46CEF800C000F04FFD8DF81F002DE01F +:104AF00002980399049A059BDDF818C0EE46CEF89B +:104B000000C000F08DFD8DF81F001FE00298039992 +:104B1000049A059BDDF818C0EE46CEF800C000F000 +:104B2000CDFD8DF81F0011E002980399049A059BB2 +:104B3000DDF818C0EE46CEF800C000F00DFE8DF88E +:104B40001F0003E001208DF81F00FFE79DF81F0004 +:104B500008B080BD80B584B0039040F6D800C2F2A2 +:104B6000000001680A68516841F01001516000229C +:104B70008DF80A20ADF808200192039909788DF884 +:104B80000810039949788DF80910039989788DF8F0 +:104B90000A10006802A9FEF7B5FA18B1FFE7FBF7A3 +:104BA000B9FCFFE70398C0788DF8070003980079F7 +:104BB0008DF80500039840798DF8060003988079F8 +:104BC0008DF8040040F6D800C2F20000006801A988 +:104BD0000022FEF7D7F918B1FFE7FBF79BFCFFE7D0 +:104BE00040F6D800C2F2000000680168486820F072 +:104BF0001000486004B080BD80B586B00490039377 +:104C0000029201919DF8120000F00F0003280BD1D1 +:104C1000FFE7BDF80410029A9DF80C30049800F0EC +:104C20000BF88DF8170003E001208DF81700FFE75F +:104C30009DF8170006B080BD80B594B01290ADF815 +:104C4000461010928DF83F300020089004210B91FF +:104C50008DF838000C90129A059962F31C010591A9 +:104C60009DF83F108DF813108DF81200FFE79DF8A6 +:104C70001300012865DBFFE79DF81300052803DB1F +:104C8000FFE70420019003E09DF813000190FFE787 +:104C900001988DF81100BDF846009DF812100844E7 +:104CA000ADF81400059820F060400A909DF81100BE +:104CB00040000D9000200390FFE703989DF811102D +:104CC00088421ADAFFE710989DF81210039A1144EF +:104CD00030F8110006A901EB4202507010989DF8BF +:104CE0001230039A134400EB4300407801F812009D +:104CF000FFE7039801300390DFE740F6D400C2F2EB +:104D00000000006809A906AA08ABFBF735FC8DF87E +:104D10000B009DF80B0028B1FFE79DF80B008DF804 +:104D20004F0012E09DF811109DF81300401A8DF805 +:104D300013009DF811109DF8120008448DF8120020 +:104D400095E700208DF84F00FFE79DF84F0014B065 +:104D500080BD00007047000080B590B0DDF848C00D +:104D6000CDF83CC00E930D920C910B900020049056 +:104D7000042107918DF8280008900C99019861F39F +:104D80001C0001909DF8070040F008008DF8070016 +:104D9000019820F06040069006200990BDF8300090 +:104DA000009049208DF8080053208DF80900BDF8C7 +:104DB00000006FF31F3044F6D351C1F26201A0FB33 +:104DC00001012F2000EB91108DF80A00BDF80000C2 +:104DD0006FF31F3048F21F51C5F2EB11A0FB011019 +:104DE000400946F26761C6F2666180FB012303F069 +:104DF0001C0202EB9302A0EB42002F308DF80B0057 +:104E0000BDF800006FF31F304CF6CD42CCF6CC421B +:104E1000A0FB0230C00880FB011303F0FC0101EB92 +:104E20009301A0EB41002F308DF80C00BDF800007D +:104E300001466FF31F31A1FB0221C90801EB81017B +:104E4000A0EB41002F308DF80D0040F6D400C2F2E7 +:104E50000000006805A902AA04ABFBF78DFB10B0A7 +:104E600080BD000080B590B0DDF848C0CDF83CC0F2 +:104E70000E930D920C910B90002004900421079149 +:104E80008DF8280008900C99019861F31C0001909E +:104E90009DF8070040F008008DF80700019820F009 +:104EA000604006900720099055208DF80800532097 +:104EB0008DF8090054208DF80A0041208DF80B0070 +:104EC00056208DF80C004B208DF80D0049208DF8F0 +:104ED0000E0040F6D400C2F20000006805A902AA44 +:104EE00004ABFBF749FB10B080BD000080B590B06B +:104EF000DDF848C0CDF83CC00E930D920C910B909C +:104F000000200490042107918DF8280008900C9946 +:104F1000019861F31C0001909DF8070040F0080023 +:104F20008DF80700019820F0604006900620099057 +:104F3000BDF83000009054208DF8080053208DF803 +:104F40000900BDF800006FF31F3044F6D351C1F2E1 +:104F50006201A0FB01012F2000EB91108DF80A00E7 +:104F6000BDF800006FF31F3048F21F51C5F2EB117E +:104F7000A0FB0110400946F26761C6F2666180FB42 +:104F8000012303F01C0202EB9302A0EB42002F303E +:104F90008DF80B00BDF800006FF31F304CF6CD42CA +:104FA000CCF6CC42A0FB0230C00880FB011303F01A +:104FB000FC0101EB9301A0EB41002F308DF80C00B8 +:104FC000BDF8000001466FF31F31A1FB0221C908A3 +:104FD00001EB8101A0EB41002F308DF80D0040F670 +:104FE000D400C2F20000006805A902AA04ABFBF7D6 +:104FF000C3FA10B080BD000080B590B0DDF848C0A5 +:10500000CDF83CC00E930D920C910B9000200490B3 +:10501000042107918DF8280008900C99019861F3FC +:105020001C0001909DF8070040F008008DF8070073 +:10503000019820F06040069006200990BDF83000ED +:10504000009055208DF8080053208DF80900BDF818 +:1050500000006FF31F3044F6D351C1F26201A0FB90 +:1050600001012F2000EB91108DF80A00BDF800001F +:105070006FF31F3048F21F51C5F2EB11A0FB011076 +:10508000400946F26761C6F2666180FB012303F0C6 +:105090001C0202EB9302A0EB42002F308DF80B00B4 +:1050A000BDF800006FF31F304CF6CD42CCF6CC4279 +:1050B000A0FB0230C00880FB011303F0FC0101EBF0 +:1050C0009301A0EB41002F308DF80C00BDF80000DB +:1050D00001466FF31F31A1FB0221C90801EB8101D9 +:1050E000A0EB41002F308DF80D0040F6D400C2F245 +:1050F0000000006805A902AA04ABFBF73DFA10B056 +:1051000080BD000080B590B0DDF848C0CDF83CC04F +:105110000E930D920C910B900020049004210791A6 +:105120008DF8280008900C99019861F31C000190FB +:105130009DF8070040F008008DF80700019820F066 +:10514000604006900620099055208DF808004E20FA +:105150008DF8090049208DF80A0056208DF80B00C3 +:1051600045208DF80C0052208DF80D0040F6D4003B +:10517000C2F20000006805A902AA04ABFBF7FCF923 +:1051800010B080BD80B585B0DDF81CC0CDF810C072 +:10519000039302920191009040F2C801C2F2000113 +:1051A00008780122824300F0FE00104408700020BD +:1051B00005B080BD80B58CB0DDF838C0CDF828C012 +:1051C0000993089207910690BDF8200020B9FFE7E7 +:1051D00001208DF82F0039E0BDF81C000590BDF8C6 +:1051E000140000F00F00BDF82010CA000221B1FB2E +:1051F000F2F1884226D1FFE700200390029001904F +:10520000FFE70198BDF82010884213DAFFE7019903 +:1052100006A80844807AC90000FA01F202990398AE +:10522000891840EBE27002910390FFE7019801308A +:105230000190E6E702988008C00710B1FFE701F08F +:1052400039F9FFE700208DF82F00FFE79DF82F00C8 +:105250000CB080BD80B5A0B0DDF888C0CDF878C0B6 +:105260001D931C921B911A90BDF87000082804DB56 +:10527000FFE701208DF87F0048E046F24451C0F678 +:10528000000102A86022FAF79FFF9DF8720017281C +:105290002EDCFFE79DF873003B2829DCFFE79DF833 +:1052A00074003B2824DCFFE79DF8750063281FDCB1 +:1052B000FFE79DF876000C281ADCFFE79DF87500E3 +:1052C0009DF877100191FEF78FFE0146019801EBE2 +:1052D000410202A901EB02119DF8762051F822103B +:1052E000884205DCFFE79DF87800072804DBFFE72C +:1052F00001208DF87F0009E01AA80A30FFF72AFC88 +:10530000FFE7FFE700208DF87F00FFE79DF87F00B3 +:1053100020B080BD80B594B0DDF858C0CDF84CC049 +:105320001293119210910F90002201920892042082 +:105330000B9007200D908DF838200C92109905984D +:1053400061F31C0005909DF8170040F008008DF8EF +:1053500017009DF8170000F0F80001308DF81700D5 +:105360009DF81600022161F31F108DF816000598B4 +:1053700020F060400A908DF81220ADF8102040F621 +:10538000D800C2F200000290006804A9FDF764FC96 +:10539000019A02989DF810108DF818109DF81110C0 +:1053A0008DF819109DF812108DF81A1003920068EC +:1053B00003A9FDF703FC9DF80F008DF81B009DF875 +:1053C0000D008DF81C009DF80E008DF81D009DF855 +:1053D0000C008DF81E0040F6D400C2F200000068F8 +:1053E00009A906AA08ABFBF7C7F814B080BD0000F6 +:1053F00080B585B0DDF81CC0CDF810C003930292D3 +:1054000001910090002005B080BD000080B585B0FE +:10541000DDF81CC0CDF810C00393029201910090FA +:10542000002005B080BD000080B585B0DDF81CC04F +:10543000CDF810C00393029201910090002005B0B6 +:1054400080BD000080B585B0DDF81CC0CDF810C06F +:105450000393029201910090002005B080BD0000EE +:1054600080B585B0DDF81CC0CDF810C00393029262 +:1054700001910090002005B080BD000080B586B08D +:10548000DDF820C0CDF814C004930392029101907E +:1054900001F010F880B585B0DDF81CC0CDF810C063 +:1054A0000393029201910090002005B080BD00009E +:1054B00080B592B0DDF850C0CDF844C010930F9283 +:1054C0000E910D9000200690042109918DF8300076 +:1054D0000A900E9A039962F31C0103919DF80F1034 +:1054E00041F008018DF80F10039921F060410891F7 +:1054F00008210B9147218DF8101041218DF81110D2 +:1055000053218DF812102D218DF813100290FFE712 +:10551000029803282CDCFFE7BDF83800029A0C2122 +:10552000A1EB8201C84000F00F00019001980A2809 +:1055300012D3FFE701984CF6CD41CCF6CC41A0FB4D +:105540000121C90801EB8101A0EB41004130029922 +:1055500004AA1144087106E001983030029904AAA7 +:1055600011440871FFE7FFE7029801300290CFE78E +:1055700040F6D400C2F20000006807A904AA06ABF6 +:10558000FAF7FAFF12B080BD80B590B0DDF848C0E0 +:10559000CDF83CC00E930D920C910B90002004901E +:1055A000042107918DF8280008900C99019861F367 +:1055B0001C0001909DF8070040F008008DF80700DE +:1055C000019820F06040069008200990BDF8300056 +:1055D00000904D208DF8080043208DF8090020210F +:1055E0008DF80A1053228DF80B20BDF80020120907 +:1055F0008DF80C208DF80D108DF80E009DF8000030 +:1056000000F00F008DF80F0040F6D400C2F2000049 +:10561000006805A902AA04ABFAF7AEFF10B080BD7E +:1056200080B590B0DDF848C0CDF83CC00E930D9227 +:105630000C910B9000200490042107918DF8280014 +:1056400008900C99019861F31C0001909DF80700E7 +:1056500040F008008DF80700019820F060400690A7 +:1056600008200990BDF8300000904D208DF808000A +:1056700044208DF8090020208DF80A0053218DF870 +:105680000B10BDF8001009098DF80C108DF80D00F5 +:1056900043208DF80E009DF8000000F00F008DF8FB +:1056A0000F0040F6D400C2F20000006805A902AA6B +:1056B00004ABFAF761FF10B080BD000080B590B078 +:1056C000DDF848C0CDF83CC00E930D920C910B90C4 +:1056D00000200490042107918DF8280008900C996F +:1056E000019861F31C0001909DF8070040F008004C +:1056F0008DF80700019820F060400690082009907E +:10570000BDF8300000904D208DF8080048208DF83D +:10571000090020208DF80A0053218DF80B10BDF8E8 +:10572000001009098DF80C108DF80D0043208DF83C +:105730000E009DF8000000F00F008DF80F0040F6FD +:10574000D400C2F20000006805A902AA04ABFAF76F +:1057500013FF10B080BD000080B590B0DDF848C0E8 +:10576000CDF83CC00E930D920C910B90002004904C +:10577000042107918DF8280008900C99019861F395 +:105780001C0001909DF8070040F008008DF807000C +:10579000019820F06040069008200990BDF8300084 +:1057A00000904D208DF8080049208DF80900202038 +:1057B0008DF80A0053218DF80B10BDF8001009096F +:1057C0008DF80C108DF80D0043208DF80E009DF81B +:1057D000000000F00F008DF80F0040F6D400C2F278 +:1057E0000000006805A902AA04ABFAF7C5FE10B0D4 +:1057F00080BD000080B58CB00B9040F2C800C2F2B2 +:1058000000000078C00700285CD0FFE7002004906B +:10581000039901F0604103919DF80F1041F01001D0 +:105820008DF80F109DF80F1041F008018DF80F1042 +:105830009DF80F1001F0F80101318DF80F109DF85F +:105840000E10022262F31F118DF80E109DF80E103B +:1058500041F00F018DF80E10ADF80C00039921F006 +:1058600060410691042107918DF8280008900120DD +:10587000099040F6D000C2F20000016801310160D9 +:10588000039921F0604100910068B0F5807F07D353 +:10589000FFE740F6D001C2F2000100200860FFE7F8 +:1058A00040F6D000C2F2000000688DF8040040F617 +:1058B000D400C2F20000006805A901AA04ABFAF7FF +:1058C0005BFEFFE70CB080BD80B58EB00D90FFE7AA +:1058D0000D98002106AA04ABFBF788F800285CD1DC +:1058E000FFE70898042857D1FFE740F6CC00C2F242 +:1058F0000000007840F20001C2F200010978401A6D +:1059000081300006002801D4FFE746E040F6CC00D5 +:10591000C2F200000078013000F07F00ADF80E0008 +:105920000799029861F31C0002909DF80A0000F0AC +:105930000F000F2820D1FFE79DF80A109DF80B00FB +:1059400000F0070240F2CC00C2F2000000EB02229D +:1059500001F0F003D15C41F00101D1549DF80A102F +:105960009DF80B2002F0070200EB022001F0F0018D +:1059700001440020886010E00899099A0A9BBDF84C +:105980000EC00298EE46CEF804C00DF1100CCEF811 +:1059900000C000F099FCFFE79AE70EB080BD000060 +:1059A00082B00190019840F20401C2F2000109683E +:1059B000C90844F6D352C1F26202A1FB022189094F +:1059C00048430090FFE700BFFFE70098411E0091A9 +:1059D0000028F8D1FFE702B07047000082B08DF8D0 +:1059E0000700002000909DF80700000900EB8000F0 +:1059F0004000009000989DF8071001F00F01084446 +:105A0000C0B202B07047000082B08DF807000020DD +:105A10000090FFE79DF807000A2809D3FFE70098E8 +:105A2000013000909DF807000A388DF80700F1E773 +:105A3000009800F00F019DF8070040EA011002B045 +:105A40007047000080B586B0059004910020039057 +:105A50000290019000900599C97B03910599497BBB +:105A600002910599897B01910090FFE700980499C4 +:105A7000884280F08C80FFE70298012818D0FFE769 +:105A80000298032814D0FFE70298052810D0FFE7FA +:105A9000029807280CD0FFE70298082808D0FFE7F3 +:105AA00002980A2804D0FFE702980C281BD1FFE7D0 +:105AB00001981E2804D8FFE701980130019011E0F9 +:105AC00002980C2806D0FFE70298013002900120CE +:105AD000019006E0012002900190039801300390AC +:105AE000FFE7FFE74EE0029804280CD0FFE702989A +:105AF000062808D0FFE70298092804D0FFE702989B +:105B00000B280FD1FFE701981D2804D8FFE7019863 +:105B10000130019005E002980130029001200190CF +:105B2000FFE72EE0029802282AD1FFE701981B2800 +:105B300004D8FFE701980130019020E001981C286B +:105B400011D1FFE7BDF80C0000F08EF820B1FFE79F +:105B500001980130019005E0029801300290012087 +:105B60000190FFE70AE001981D2806D1FFE702989F +:105B70000130029001200190FFE7FFE7FFE7FFE718 +:105B8000FFE7FFE7FFE70098013000906EE703981A +:105B90000599C87302980599487301980599887307 +:105BA00003989DF808109DF8042000F0E9F8059985 +:105BB000087306B080BD000080B584B0029000205C +:105BC0000190FCF779F80190FFE7029800684068BF +:105BD000800600280DD4FFE7FCF76EF80199401A03 +:105BE000B0F57A7F04D9FFE703208DF80F000AE0B3 +:105BF000EBE702980168486840F010004860002018 +:105C00008DF80F00FFE79DF80F0004B080BD000085 +:105C100080B584B002900020019002980168486825 +:105C200020F010004860FCF747F80190FFE7029869 +:105C300000684068800600280DD4FFE7FCF73CF8B8 +:105C40000199401AB0F57A7F04D9FFE703208DF857 +:105C50000F0004E0EBE700208DF80F00FFE79DF850 +:105C60000F0004B080BD000081B0ADF80000BDF8A9 +:105C70000000800720B1FFE700208DF803002BE033 +:105C8000BDF8000045F62941CCF28F2148434FEA88 +:105C9000B00045F62941C0F28F21884204D3FFE7C6 +:105CA00001208DF8030017E0BDF8000045F62941FA +:105CB000CCF28F2148434FEA30104DF20A71C0F206 +:105CC000A301884204D8FFE701208DF8030003E018 +:105CD00000208DF80300FFE79DF8030001B0704736 +:105CE00082B001900020ADF80200ADF800000198EC +:105CF0000068006AADF8020001980068406AADF8DB +:105D00000000BDF80210BDF8000040EA014002B0FA +:105D10007047000084B003900020ADF80A00ADF891 +:105D20000800ADF806000090039800688069ADF89F +:105D30000A0003980068C069ADF80600039800687F +:105D40008069ADF80800BDF80A00BDF80810884267 +:105D50000AD0FFE7BDF8081003980068C06980B258 +:105D600040EA0140009007E0BDF80A10BDF80600C7 +:105D700040EA01400090FFE7009804B0704700003F +:105D800084B003908DF80B108DF80A20002001904C +:105D90000090039800F5FA6001909DF80B0002282E +:105DA0002ED8FFE79DF80B001721484348F63961CC +:105DB000C3F6E301A0FB01019DF80A0000EB5100CE +:105DC00001990844013900EB910048F21F52C5F2D5 +:105DD000EB12A1FB0221A0EB511000EBD11004301B +:105DE00044F62511C2F29241A0FB0121421A01EBB7 +:105DF00052029108C900A1EB9201401A00902CE0D8 +:105E00009DF80B001721484348F63961C3F6E301BA +:105E1000A0FB01019DF80A0000EB51000199084424 +:105E200000EB910048F21F52C5F2EB12A1FB0221D8 +:105E3000A0EB511000EBD110023044F62511C2F254 +:105E40009241A0FB0121421A01EB52029108C900C4 +:105E5000A1EB9201401A0090FFE79DF8000004B00A +:105E60007047000080B584B00390029100208DF847 +:105E700007000398FFF7A0FE20B1FFE701208DF88F +:105E8000070013E0BDF80A00039909680862BDF82D +:105E900008000399096848620398FFF7B9FE20B12A +:105EA000FFE701208DF80700FFE7FFE79DF80700F7 +:105EB00004B080BD80B584B00390029100208DF8BD +:105EC00007000398FFF778FE20B1FFE701208DF867 +:105ED000070013E0BDF80A00039909688861BDF85E +:105EE000080003990968C8610398FFF791FE20B183 +:105EF000FFE701208DF80700FFE7FFE79DF80700A7 +:105F000004B080BD7047000080B582B0009000985A +:105F10000138B0F1807F03D3FFE70120019019E041 +:105F2000009801384EF21401CEF2000108604FF0E3 +:105F3000FF300F2100F07EFA4EF21801CEF2000180 +:105F4000002008604EF21002CEF20002072111601C +:105F50000190FFE7019802B080BD000080B5FBF71B +:105F6000B1FE80BD80B596B00CA801902821FAF74B +:105F70005DF90198002102910B910A910991089114 +:105F8000079106910591049103910A220C92012236 +:105F900010921023119312920222139214914FF433 +:105FA00060111591FCF7CCFA18B1FFE7FAF7B2FAD5 +:105FB000FFE70F20079002210891002009904FF47D +:105FC00080620A920B9007A8FCF7E4F818B1FFE78B +:105FD000FAF7A0FAFFE7012003904FF40070049055 +:105FE00003A8FBF7F3FF18B1FFE7FAF793FAFFE70F +:105FF0004FF0E06100221046FCF76EFA16B080BD4B +:106000007047000080B540F65810C2F20000FDF75E +:1060100053FB80BD83B0029001910298006800900C +:10602000029842F60041C4F20101884215D0FFE710 +:106030000298B0F1804F10D0FFE7029840F2004183 +:10604000C4F20001884208D0FFE7029840F6000140 +:10605000C4F2000188420AD1FFE7009820F07000E6 +:10606000009001984168009808430090FFE702986B +:1060700042F60041C4F20101884215D0FFE70298C0 +:10608000B0F1804F10D0FFE7029840F20041C4F217 +:106090000001884208D0FFE7029840F60001C4F2F0 +:1060A000000188420AD1FFE7009820F44070009078 +:1060B0000198C168009808430090FFE7009820F01D +:1060C000800001994969084300900098029908608E +:1060D000019880680299C8620198006802998862F4 +:1060E000029842F60041C4F20101884205D1FFE75F +:1060F0000198006902990863FFE70299012048614D +:1061000003B0704785B00490039102920193049804 +:1061100080680090009820F47F40009003980299D6 +:10612000019A41EA02210143009808430090009837 +:106130000499886005B0704783B00290019102987D +:1061400080680090009820F07000009001980099FD +:10615000084340F00700009000980299886003B05F +:106160007047000081B00090009943F69D10C0F682 +:106170000000C1F88000009943F6A510C0F60000A9 +:10618000C1F88400009943F65140C0F60000C1F800 +:106190008800009943F65940C0F60000C1F88C0011 +:1061A000009943F29960C0F60000C1F89000009990 +:1061B00043F2A160C0F60000C1F89400009943F6D4 +:1061C0005510C0F60000C1F89800009943F68D10F4 +:1061D000C0F60000C1F89C00009943F69510C0F687 +:1061E0000000C1F8A000009943F29160C0F60000E1 +:1061F000C1F8A400009943F2C520C0F60000C1F820 +:10620000A800009943F2CD20C0F60000C1F8AC0010 +:10621000009943F2BD20C0F60000C1F8B00001B003 +:106220007047000085B00490039102920498006AC0 +:1062300000900499086A20F00100086204988069BF +:106240000190019820F0F00001900299019840EA35 +:1062500001100190009820F00A0000900399009826 +:106260000843009001980499886100980499086295 +:1062700005B0704785B00490039102920498006ABB +:1062800000900499086A20F0100008620498806960 +:106290000190019820F4704001900299019840EA21 +:1062A00001300190009820F0A00000900399009820 +:1062B00040EA0110009001980499886100980499BF +:1062C000086205B07047000080B586B08446099822 +:1062D000DDF820E0CDF814C0049103920293ADF8EC +:1062E0000600059BBDF8060000EB800040F60C217F +:1062F000C2F2000101EB8002506863F31C005060A1 +:106300009DF81030BDF8060000EB800211F8220065 +:1063100003F0010300F0FE00184401F822009DF88C +:106320000C30BDF8060000EB800211F8220003F0EB +:10633000010300F0FD0040EA430001F8220002984A +:10634000BDF8062002EB820201EB820108810020E9 +:106350000090FFE700980299884214D2FFE708985E +:10636000009A805CBDF8061001EB810340F60C2119 +:10637000C2F2000101EB830111448872FFE700982B +:1063800001300090E6E79DF8060040F6CC01C2F22D +:106390000001087006B080BD80B540F6E000C2F292 +:1063A0000000FAF72DFC80BD80B540F6E000C2F297 +:1063B0000000FAF725FC80BDFFE7FEE781B08DF80D +:1063C00003009DF90300002812D4FFE79DF9031094 +:1063D00001F01F02012090404A094EF28011CEF2D6 +:1063E000000141F82200BFF34F8FBFF36F8FFFE72B +:1063F00001B0704781B08DF803009DF903000028BB +:106400000ED4FFE79DF9031001F01F020120904018 +:106410004A094EF20011CEF2000141F82200FFE7D6 +:1064200001B070474EF60C50CEF200000068C0F389 +:106430000220704782B08DF8070000919DF9070097 +:1064400000280AD4FFE7009800019DF907104EF2DA +:106450000042CEF2000288540BE0009800019DF843 +:10646000071001F00F014EF61452CEF200028854CC +:10647000FFE702B07047000083B00290029800F07E +:10648000070000904EF60C51CEF200010868019012 +:1064900001984FF6FF02104001900198009A40EADF +:1064A00002200022C0F2FA521043019001980860C5 +:1064B00003B07047BFF34F8F4EF60C51CEF2000180 +:1064C000086800F4E0600422C0F2FA521043086049 +:1064D000BFF34F8FFFE700BFFDE7000080B582B03C +:1064E00000200190FFF73EFDFBF7FAFBFFF73AFDB6 +:1064F000FDF7EAFDFDF7C0FDFDF70CFEFDF754FECC +:1065000040F6E000C2F2000040F64411C2F2000181 +:1065100040F65812C2F20002FEF794F878B9FFE78D +:1065200040F6E000C2F200000090FBF71FF8009870 +:1065300048F60241F9F7F6FFFEF708F9FFE7FFE733 +:10654000FEE700001F0000001C0000001F0000000C +:106550001E0000001F0000001E0000001F000000C1 +:106560001F0000001E0000001F0000001E000000B1 +:106570001F0000001F0000001D0000001F000000A1 +:106580001E0000001F0000001E0000001F00000091 +:106590001F0000001E0000001F0000001E00000081 +:1065A0001F000000000000000000000001020304C2 +:1065B00006070809000000000102030402030405A5 +:1065C000060708090A0B0C0D0E0F1010010202033A +:1065D0000405060708090A0B0C0D0E0F1010010226 +:1065E00000660008000000201000000028010008DC +:1065F0001066000810000020001A00004401000886 +:10660000010000000024F400010000001000000060 :04000005080000ED02 :00000001FF diff --git a/MDK-ARM/F103C8T6/F103C8T6.htm b/MDK-ARM/F103C8T6/F103C8T6.htm index 218f223..78e6539 100644 --- a/MDK-ARM/F103C8T6/F103C8T6.htm +++ b/MDK-ARM/F103C8T6/F103C8T6.htm @@ -3,9 +3,9 @@ Static Call Graph - [F103C8T6\F103C8T6.axf]

Static Call Graph for image F103C8T6\F103C8T6.axf


-

#<CALLGRAPH># ARM Linker, 6190004: Last Updated: Fri May 29 13:34:14 2026 +

#<CALLGRAPH># ARM Linker, 6190004: Last Updated: Mon Jun 1 14:47:33 2026

-

Maximum Stack Usage = 320 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 352 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

__rt_entry_main ⇒ main ⇒ PROTOCAN_LOOP ⇒ PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode

@@ -170,9 +170,9 @@ Global Symbols

[Calls]

  • >>   __rt_entry
-

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_null (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)

__scatterload_copy (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)

[Calls]

  • >>   __scatterload_copy @@ -180,80 +180,80 @@ Global Symbols
    [Called By]
    • >>   __scatterload_copy
    -

    __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

    __scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

    __rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

    [Called By]

    • >>   __rt_entry_li
    -

    __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

    __rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

    __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

    __rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

    __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

    __rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

    __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

    __rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

    __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034)) +

    __rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034)) -

    __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

    __rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

    __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) +

    __rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) -

    __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

    __rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

    __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

    __rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

    __rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) -

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

    __rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

    __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

    __rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

    __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

    __rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

    __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

    __rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

    __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

    __rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

    __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006)) +

    __rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006)) -

    __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010)) +

    __rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010)) -

    __rt_lib_init_relocate_pie_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

    __rt_lib_init_relocate_pie_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

    __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035)) +

    __rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035)) -

    __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

    __rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

    __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027)) +

    __rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027)) -

    __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

    __rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))

    __rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

    [Called By]

    • >>   __rt_exit_ls
    -

    __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

    __rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) +

    __rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) -

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) +

    __rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) -

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) +

    __rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) -

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) +

    __rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) -

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

    __rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

    __rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))

    __rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

    [Called By]

    • >>   __scatterload_rt2
    • >>   __main
    -

    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

    __rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

    __rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

    [Stack]

    • Max Depth = 8 + Unknown Stack Size @@ -266,17 +266,17 @@ Global Symbols

      [Calls]
      • >>   __rt_lib_init
      -

      __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

      __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

      __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) -

      [Stack]

      • Max Depth = 320 + Unknown Stack Size +

        [Stack]
        • Max Depth = 352 + Unknown Stack Size
        • Call Chain = __rt_entry_main ⇒ main ⇒ PROTOCAN_LOOP ⇒ PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode

        [Calls]
        • >>   main
        • >>   exit
        -

        __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

        __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))

        __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))

        [Called By]

        • >>   exit @@ -286,7 +286,7 @@ Global Symbols

          [Calls]
          • >>   __rt_lib_shutdown
          -

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

          __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

          __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))

          [Calls]

          • >>   _sys_exit @@ -417,33 +417,33 @@ Global Symbols

            [Called By]
            • >>   __user_setup_stackheap
            -

            __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text)) +

            __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))

            [Stack]

            • Max Depth = 8
            • Call Chain = __aeabi_memcpy4

            [Called By]
            • >>   ProtoCanMsgToBroadcastRtcSetup
            -

            __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

            __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) -

            __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

            __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) -

            _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED) +

            _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED) -

            __aeabi_memclr4 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text)) -

            [Called By]

            • >>   SystemClock_Config +

              __aeabi_memclr4 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text)) +

              [Called By]

              • >>   SystemClock_Config
              -

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) +

              __aeabi_memclr8 (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

              __rt_memclr_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) +

              __rt_memclr_w (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED) -

              _memset_w (Thumb, 74 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) +

              _memset_w (Thumb, 74 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED) -

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) -

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

              __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)

              __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

              [Stack]

              • Max Depth = 8 + Unknown Stack Size @@ -464,26 +464,26 @@ Global Symbols
                [Called By]
                • >>   __rt_entry_main
                -

                __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

                __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))

                [Called By]

                • >>   __user_setup_stackheap
                -

                __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

                __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

                _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))

                [Called By]

                • >>   __rt_exit_exit
                -

                __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

                __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

                __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

                __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) +

                __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) -

                AvailableCanRxMsg (Thumb, 30 bytes, Stack size 0 bytes, protocan.o(.text.AvailableCanRxMsg)) -

                [Called By]

                • >>   PROTOCAN_LOOP +

                  AvailableCanRxMsg (Thumb, 30 bytes, Stack size 0 bytes, protocan.o(.text.AvailableCanRxMsg)) +

                  [Called By]

                  • >>   PROTOCAN_LOOP

                  BusFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.BusFault_Handler)) @@ -591,12 +591,12 @@ Global Symbols

                  [Called By]

                  • >>   HAL_CAN_ErrorCallback
                  -

                  CanRequestError (Thumb, 122 bytes, Stack size 72 bytes, protocan.o(.text.CanRequestError)) +

                  CanRequestError (Thumb, 120 bytes, Stack size 72 bytes, protocan.o(.text.CanRequestError))

                  [Stack]

                  • Max Depth = 104
                  • Call Chain = CanRequestError ⇒ HAL_CAN_AddTxMessage

                  [Calls]
                  • >>   HAL_CAN_AddTxMessage
                  -
                  [Called By]
                  • >>   PROTOCAN_LOOP +
                    [Called By]
                    • >>   PROTOCAN_LOOP

                    DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.DebugMon_Handler)) @@ -608,12 +608,12 @@ Global Symbols
                    [Called By]

                    • >>   MX_TIM4_Init
                    • >>   MX_RTC_Init
                    • >>   MX_CAN_Init -
                    • >>   SystemClock_Config -
                    • >>   PROTOCAN_RTC_SYNC +
                    • >>   SystemClock_Config +
                    • >>   PROTOCAN_RTC_SYNC
                    • >>   PROTOCAN_CONFIG_FILTER
                    -

                    HAL_CAN_ActivateNotification (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification)) +

                    HAL_CAN_ActivateNotification (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification))

                    [Stack]

                    • Max Depth = 16
                    • Call Chain = HAL_CAN_ActivateNotification

                    [Called By]
                    • >>   main @@ -622,18 +622,19 @@ Global Symbols

                      HAL_CAN_AddTxMessage (Thumb, 342 bytes, Stack size 32 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage))

                      [Stack]

                      • Max Depth = 32
                      • Call Chain = HAL_CAN_AddTxMessage
                      -
                      [Called By]
                      • >>   ProtoCanMsgToModbusInput -
                      • >>   ProtoCanMsgToModbusHolding -
                      • >>   ProtoCanMsgToModbusDiscrete -
                      • >>   ProtoCanMsgToModbusCoil +
                        [Called By]
                        • >>   PROTOCAN_SEND_GENERAL_ADDRESS_SPACE +
                        • >>   ProtoCanMsgToModbusInput +
                        • >>   ProtoCanMsgToModbusHolding +
                        • >>   ProtoCanMsgToModbusDiscrete +
                        • >>   ProtoCanMsgToModbusCoil
                        • >>   ProtoCanMsgToBroadcastStatus
                        • >>   ProtoCanMsgToAnalogTSens
                        • >>   ProtoCanMsgToAnalogISens
                        • >>   ProtoCanMsgToAnalogUSens -
                        • >>   ProtoCanMsgToAnalogUSTAVKI +
                        • >>   ProtoCanMsgToAnalogSettings
                        • >>   ProtoCanMsgToAnalogUniversal
                        • >>   CanRequestError -
                        • >>   PROTOCAN_GeneralAddressSpace_Answer +
                        • >>   ProtoCanMsgToGeneralAddressSpace
                        • >>   ProtoCanPulseCallback
                        @@ -672,7 +673,7 @@ Global Symbols
                        [Address Reference Count : 2]
                        • stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
                        • stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
                        -

                        HAL_CAN_GetRxMessage (Thumb, 530 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage)) +

                        HAL_CAN_GetRxMessage (Thumb, 530 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage))

                        [Stack]

                        • Max Depth = 24
                        • Call Chain = HAL_CAN_GetRxMessage

                        [Called By]
                        • >>   ProtoCanRxFifo0MsgPendingCallback @@ -713,10 +714,10 @@ Global Symbols
                          [Address Reference Count : 2]
                          • stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
                          • stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
                          -

                          HAL_CAN_RegisterCallback (Thumb, 382 bytes, Stack size 28 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback)) +

                          HAL_CAN_RegisterCallback (Thumb, 382 bytes, Stack size 28 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback))

                          [Stack]

                          • Max Depth = 28
                          • Call Chain = HAL_CAN_RegisterCallback
                          -
                          [Called By]
                          • >>   PROTOCAN_INIT +
                            [Called By]
                            • >>   PROTOCAN_INIT

                            HAL_CAN_RxFifo0FullCallback (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback)) @@ -830,7 +831,7 @@ Global Symbols

                          • >>   HAL_CAN_Start
                          -

                          HAL_IncTick (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_IncTick)) +

                          HAL_IncTick (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_IncTick))

                          [Called By]

                          • >>   SysTick_Handler
                          @@ -915,7 +916,7 @@ Global Symbols

                        [Calls]
                        • >>   HAL_GetTick
                        -
                        [Called By]
                        • >>   SystemClock_Config +
                          [Called By]
                          • >>   SystemClock_Config

                          HAL_RCC_ClockConfig (Thumb, 598 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)) @@ -925,7 +926,7 @@ Global Symbols

                        • >>   HAL_InitTick
                        • >>   HAL_GetTick
                        -
                        [Called By]
                        • >>   SystemClock_Config +
                          [Called By]
                          • >>   SystemClock_Config

                          HAL_RCC_GetHCLKFreq (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)) @@ -951,7 +952,7 @@ Global Symbols


                        [Calls]
                        • >>   HAL_GPIO_Init
                        -
                        [Called By]
                        • >>   SystemClock_Config +
                          [Called By]
                          • >>   SystemClock_Config

                          HAL_RCC_OscConfig (Thumb, 1658 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig)) @@ -960,7 +961,7 @@ Global Symbols
                          [Calls]

                          • >>   RCC_Delay
                          • >>   HAL_GetTick
                          -
                          [Called By]
                          • >>   SystemClock_Config +
                            [Called By]
                            • >>   SystemClock_Config

                            HAL_RTC_GetDate (Thumb, 154 bytes, Stack size 32 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate)) @@ -1017,7 +1018,7 @@ Global Symbols

                          • >>   RTC_Bcd2ToByte

                          [Called By]
                          • >>   MX_RTC_Init -
                          • >>   PROTOCAN_RTC_SYNC +
                          • >>   PROTOCAN_RTC_SYNC

                          HAL_RTC_SetTime (Thumb, 322 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime)) @@ -1029,7 +1030,7 @@ Global Symbols

                        • >>   RTC_Bcd2ToByte

                        [Called By]
                        • >>   MX_RTC_Init -
                        • >>   PROTOCAN_RTC_SYNC +
                        • >>   PROTOCAN_RTC_SYNC

                        HAL_RTC_WaitForSynchro (Thumb, 100 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro)) @@ -1156,7 +1157,7 @@ Global Symbols


                      [Address Reference Count : 1]
                      • stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
                      -

                      HAL_TIM_IRQHandler (Thumb, 666 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler)) +

                      HAL_TIM_IRQHandler (Thumb, 666 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler))

                      [Stack]

                      • Max Depth = 16
                      • Call Chain = HAL_TIM_IRQHandler

                      [Called By]
                      • >>   TIM4_IRQHandler @@ -1222,10 +1223,10 @@ Global Symbols
                        [Address Reference Count : 2]
                        • stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
                        • stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
                        -

                        HAL_TIM_RegisterCallback (Thumb, 674 bytes, Stack size 28 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback)) +

                        HAL_TIM_RegisterCallback (Thumb, 674 bytes, Stack size 28 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback))

                        [Stack]

                        • Max Depth = 28
                        • Call Chain = HAL_TIM_RegisterCallback
                        -
                        [Called By]
                        • >>   PROTOCAN_INIT +
                          [Called By]
                          • >>   PROTOCAN_INIT

                          HAL_TIM_TriggerCallback (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)) @@ -1249,7 +1250,7 @@ Global Symbols

                          HardFault_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.HardFault_Handler))
                          [Address Reference Count : 1]

                          • startup_stm32f103xb.o(RESET)
                          -

                          IsLeapYear (Thumb, 142 bytes, Stack size 12 bytes, protocan.o(.text.IsLeapYear)) +

                          IsLeapYear (Thumb, 142 bytes, Stack size 12 bytes, protocan.o(.text.IsLeapYear))

                          [Stack]

                          • Max Depth = 12
                          • Call Chain = IsLeapYear

                          [Called By]
                          • >>   ProtoCanMsgToBroadcastRtcSetup @@ -1300,27 +1301,27 @@ Global Symbols

                            NMI_Handler (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.NMI_Handler))
                            [Address Reference Count : 1]

                            • startup_stm32f103xb.o(RESET)
                            -

                            PROTOCAN_AnalogProcessing (Thumb, 232 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_AnalogProcessing)) +

                            PROTOCAN_AnalogProcessing (Thumb, 228 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_AnalogProcessing))

                            [Stack]

                            • Max Depth = 152
                            • Call Chain = PROTOCAN_AnalogProcessing ⇒ ProtoCanMsgToAnalogTSens ⇒ HAL_CAN_AddTxMessage

                            [Calls]
                            • >>   ProtoCanMsgToAnalogTSens
                            • >>   ProtoCanMsgToAnalogISens
                            • >>   ProtoCanMsgToAnalogUSens -
                            • >>   ProtoCanMsgToAnalogUSTAVKI +
                            • >>   ProtoCanMsgToAnalogSettings
                            • >>   ProtoCanMsgToAnalogUniversal
                            -
                            [Called By]
                            • >>   PROTOCAN_LOOP +
                              [Called By]
                              • >>   PROTOCAN_LOOP
                              -

                              PROTOCAN_BroadcastProcessing (Thumb, 196 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_BroadcastProcessing)) -

                              [Stack]

                              • Max Depth = 288
                              • Call Chain = PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode +

                                PROTOCAN_BroadcastProcessing (Thumb, 192 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_BroadcastProcessing)) +

                                [Stack]

                                • Max Depth = 296
                                • Call Chain = PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode

                                [Calls]
                                • >>   ProtoCanMsgToBroadcastRtcSetup
                                • >>   ProtoCanMsgToBroadcastRestart
                                • >>   ProtoCanMsgToBroadcastOnOff
                                • >>   ProtoCanMsgToBroadcastStatus
                                -
                                [Called By]
                                • >>   PROTOCAN_LOOP +
                                  [Called By]
                                  • >>   PROTOCAN_LOOP

                                  PROTOCAN_CONFIG_FILTER (Thumb, 100 bytes, Stack size 64 bytes, protocan.o(.text.PROTOCAN_CONFIG_FILTER)) @@ -1338,10 +1339,10 @@ Global Symbols
                                  [Calls]

                                  • >>   HAL_CAN_UnRegisterCallback
                                  • >>   HAL_TIM_UnRegisterCallback
                                  -
                                  [Called By]
                                  • >>   PROTOCAN_INIT +
                                    [Called By]
                                    • >>   PROTOCAN_INIT
                                    -

                                    PROTOCAN_DiscreticProcessing (Thumb, 276 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_DiscreticProcessing)) +

                                    PROTOCAN_DiscreticProcessing (Thumb, 272 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_DiscreticProcessing))

                                    [Stack]

                                    • Max Depth = 80
                                    • Call Chain = PROTOCAN_DiscreticProcessing ⇒ ProtoCanMsgToDiscreteReset

                                    [Calls]
                                    • >>   ProtoCanMsgToDiscreteRequestListOfParameters @@ -1352,46 +1353,39 @@ Global Symbols
                                    • >>   ProtoCanMsgToDiscreteWarning
                                    • >>   ProtoCanMsgToDiscreteAccident
                                    -
                                    [Called By]
                                    • >>   PROTOCAN_LOOP +
                                      [Called By]
                                      • >>   PROTOCAN_LOOP
                                      -

                                      PROTOCAN_FILTERS (Thumb, 82 bytes, Stack size 8 bytes, protocan.o(.text.PROTOCAN_FILTERS)) -

                                      [Stack]

                                      • Max Depth = 96
                                      • Call Chain = PROTOCAN_FILTERS ⇒ PROTOCAN_CONFIG_FILTER ⇒ HAL_CAN_ConfigFilter +

                                        PROTOCAN_FILTERS (Thumb, 62 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_FILTERS)) +

                                        [Stack]

                                        • Max Depth = 120
                                        • Call Chain = PROTOCAN_FILTERS ⇒ PROTOCAN_CONFIG_FILTER ⇒ HAL_CAN_ConfigFilter

                                        [Calls]
                                        • >>   PROTOCAN_CONFIG_FILTER
                                        -
                                        [Called By]
                                        • >>   PROTOCAN_INIT +
                                          [Called By]
                                          • >>   PROTOCAN_INIT
                                          -

                                          PROTOCAN_GeneralAddressSpace_Answer (Thumb, 216 bytes, Stack size 80 bytes, protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer)) -

                                          [Stack]

                                          • Max Depth = 112
                                          • Call Chain = PROTOCAN_GeneralAddressSpace_Answer ⇒ HAL_CAN_AddTxMessage -
                                          -
                                          [Calls]
                                          • >>   HAL_CAN_AddTxMessage -
                                          -
                                          [Called By]
                                          • >>   PROTOCAN_LOOP -
                                          - -

                                          PROTOCAN_INIT (Thumb, 264 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_INIT)) -

                                          [Stack]

                                          • Max Depth = 128
                                          • Call Chain = PROTOCAN_INIT ⇒ PROTOCAN_FILTERS ⇒ PROTOCAN_CONFIG_FILTER ⇒ HAL_CAN_ConfigFilter +

                                            PROTOCAN_INIT (Thumb, 264 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_INIT)) +

                                            [Stack]

                                            • Max Depth = 152
                                            • Call Chain = PROTOCAN_INIT ⇒ PROTOCAN_FILTERS ⇒ PROTOCAN_CONFIG_FILTER ⇒ HAL_CAN_ConfigFilter

                                            [Calls]
                                            • >>   PROTOCAN_FILTERS -
                                            • >>   HAL_TIM_RegisterCallback -
                                            • >>   HAL_CAN_RegisterCallback +
                                            • >>   HAL_TIM_RegisterCallback +
                                            • >>   HAL_CAN_RegisterCallback
                                            • >>   PROTOCAN_DEINIT

                                            [Called By]
                                            • >>   main
                                            -

                                            PROTOCAN_LOOP (Thumb, 736 bytes, Stack size 16 bytes, protocan.o(.text.PROTOCAN_LOOP)) -

                                            [Stack]

                                            • Max Depth = 304
                                            • Call Chain = PROTOCAN_LOOP ⇒ PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode +

                                              PROTOCAN_LOOP (Thumb, 836 bytes, Stack size 40 bytes, protocan.o(.text.PROTOCAN_LOOP)) +

                                              [Stack]

                                              • Max Depth = 336
                                              • Call Chain = PROTOCAN_LOOP ⇒ PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode
                                              -
                                              [Calls]
                                              • >>   CanRequestError +
                                                [Calls]
                                                • >>   PROTOCAN_SEND +
                                                • >>   CanRequestError
                                                • >>   PROTOCAN_ModbusProcessing -
                                                • >>   PROTOCAN_GeneralAddressSpace_Answer +
                                                • >>   ProtoCanMsgToGeneralAddressSpace
                                                • >>   PROTOCAN_DiscreticProcessing
                                                • >>   PROTOCAN_BroadcastProcessing
                                                • >>   PROTOCAN_AnalogProcessing -
                                                • >>   AvailableCanRxMsg +
                                                • >>   AvailableCanRxMsg

                                                [Called By]
                                                • >>   main
                                                @@ -1399,15 +1393,15 @@ Global Symbols

                                                PROTOCAN_ModbusProcessing (Thumb, 196 bytes, Stack size 40 bytes, protocan.o(.text.PROTOCAN_ModbusProcessing))

                                                [Stack]

                                                • Max Depth = 144
                                                • Call Chain = PROTOCAN_ModbusProcessing ⇒ ProtoCanMsgToModbusInput ⇒ HAL_CAN_AddTxMessage
                                                -
                                                [Calls]
                                                • >>   ProtoCanMsgToModbusInput -
                                                • >>   ProtoCanMsgToModbusHolding -
                                                • >>   ProtoCanMsgToModbusDiscrete -
                                                • >>   ProtoCanMsgToModbusCoil +
                                                  [Calls]
                                                  • >>   ProtoCanMsgToModbusInput +
                                                  • >>   ProtoCanMsgToModbusHolding +
                                                  • >>   ProtoCanMsgToModbusDiscrete +
                                                  • >>   ProtoCanMsgToModbusCoil
                                                  -
                                                  [Called By]
                                                  • >>   PROTOCAN_LOOP +
                                                    [Called By]
                                                    • >>   PROTOCAN_LOOP
                                                    -

                                                    PROTOCAN_RTC_SYNC (Thumb, 164 bytes, Stack size 24 bytes, protocan.o(.text.PROTOCAN_RTC_SYNC)) +

                                                    PROTOCAN_RTC_SYNC (Thumb, 164 bytes, Stack size 24 bytes, protocan.o(.text.PROTOCAN_RTC_SYNC))

                                                    [Stack]

                                                    • Max Depth = 112
                                                    • Call Chain = PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode

                                                    [Calls]
                                                    • >>   HAL_RTC_SetDate @@ -1417,10 +1411,26 @@ Global Symbols
                                                      [Called By]
                                                      • >>   ProtoCanMsgToBroadcastRtcSetup
                                                      +

                                                      PROTOCAN_SEND (Thumb, 64 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_SEND)) +

                                                      [Stack]

                                                      • Max Depth = 152
                                                      • Call Chain = PROTOCAN_SEND ⇒ PROTOCAN_SEND_GENERAL_ADDRESS_SPACE ⇒ HAL_CAN_AddTxMessage +
                                                      +
                                                      [Calls]
                                                      • >>   PROTOCAN_SEND_GENERAL_ADDRESS_SPACE +
                                                      +
                                                      [Called By]
                                                      • >>   PROTOCAN_LOOP +
                                                      + +

                                                      PROTOCAN_SEND_GENERAL_ADDRESS_SPACE (Thumb, 282 bytes, Stack size 88 bytes, protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE)) +

                                                      [Stack]

                                                      • Max Depth = 120
                                                      • Call Chain = PROTOCAN_SEND_GENERAL_ADDRESS_SPACE ⇒ HAL_CAN_AddTxMessage +
                                                      +
                                                      [Calls]
                                                      • >>   HAL_CAN_AddTxMessage +
                                                      +
                                                      [Called By]
                                                      • >>   PROTOCAN_SEND +
                                                      +

                                                      PendSV_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.PendSV_Handler))
                                                      [Address Reference Count : 1]

                                                      • startup_stm32f103xb.o(RESET)
                                                      -

                                                      ProtoCanMsgToAnalogISens (Thumb, 268 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogISens)) +

                                                      ProtoCanMsgToAnalogISens (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogISens))

                                                      [Stack]

                                                      • Max Depth = 104
                                                      • Call Chain = ProtoCanMsgToAnalogISens ⇒ HAL_CAN_AddTxMessage

                                                      [Calls]
                                                      • >>   HAL_CAN_AddTxMessage @@ -1428,7 +1438,15 @@ Global Symbols
                                                        [Called By]
                                                        • >>   PROTOCAN_AnalogProcessing
                                                        -

                                                        ProtoCanMsgToAnalogTSens (Thumb, 268 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogTSens)) +

                                                        ProtoCanMsgToAnalogSettings (Thumb, 134 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogSettings)) +

                                                        [Stack]

                                                        • Max Depth = 104
                                                        • Call Chain = ProtoCanMsgToAnalogSettings ⇒ HAL_CAN_AddTxMessage +
                                                        +
                                                        [Calls]
                                                        • >>   HAL_CAN_AddTxMessage +
                                                        +
                                                        [Called By]
                                                        • >>   PROTOCAN_AnalogProcessing +
                                                        + +

                                                        ProtoCanMsgToAnalogTSens (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogTSens))

                                                        [Stack]

                                                        • Max Depth = 104
                                                        • Call Chain = ProtoCanMsgToAnalogTSens ⇒ HAL_CAN_AddTxMessage

                                                        [Calls]
                                                        • >>   HAL_CAN_AddTxMessage @@ -1436,15 +1454,7 @@ Global Symbols
                                                          [Called By]
                                                          • >>   PROTOCAN_AnalogProcessing
                                                          -

                                                          ProtoCanMsgToAnalogUSTAVKI (Thumb, 134 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI)) -

                                                          [Stack]

                                                          • Max Depth = 104
                                                          • Call Chain = ProtoCanMsgToAnalogUSTAVKI ⇒ HAL_CAN_AddTxMessage -
                                                          -
                                                          [Calls]
                                                          • >>   HAL_CAN_AddTxMessage -
                                                          -
                                                          [Called By]
                                                          • >>   PROTOCAN_AnalogProcessing -
                                                          - -

                                                          ProtoCanMsgToAnalogUSens (Thumb, 268 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogUSens)) +

                                                          ProtoCanMsgToAnalogUSens (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogUSens))

                                                          [Stack]

                                                          • Max Depth = 104
                                                          • Call Chain = ProtoCanMsgToAnalogUSens ⇒ HAL_CAN_AddTxMessage

                                                          [Calls]
                                                          • >>   HAL_CAN_AddTxMessage @@ -1460,26 +1470,26 @@ Global Symbols
                                                            [Called By]
                                                            • >>   PROTOCAN_AnalogProcessing
                                                            -

                                                            ProtoCanMsgToBroadcastOnOff (Thumb, 46 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToBroadcastOnOff)) +

                                                            ProtoCanMsgToBroadcastOnOff (Thumb, 48 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToBroadcastOnOff))

                                                            [Stack]

                                                            • Max Depth = 28
                                                            • Call Chain = ProtoCanMsgToBroadcastOnOff

                                                            [Called By]
                                                            • >>   PROTOCAN_BroadcastProcessing
                                                            -

                                                            ProtoCanMsgToBroadcastRestart (Thumb, 146 bytes, Stack size 48 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRestart)) -

                                                            [Stack]

                                                            • Max Depth = 48
                                                            • Call Chain = ProtoCanMsgToBroadcastRestart +

                                                              ProtoCanMsgToBroadcastRestart (Thumb, 160 bytes, Stack size 56 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRestart)) +

                                                              [Stack]

                                                              • Max Depth = 56
                                                              • Call Chain = ProtoCanMsgToBroadcastRestart
                                                              -
                                                              [Calls]
                                                              • >>   __NVIC_SystemReset +
                                                                [Calls]
                                                                • >>   __NVIC_SystemReset

                                                                [Called By]
                                                                • >>   PROTOCAN_BroadcastProcessing
                                                                -

                                                                ProtoCanMsgToBroadcastRtcSetup (Thumb, 168 bytes, Stack size 128 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup)) -

                                                                [Stack]

                                                                • Max Depth = 240
                                                                • Call Chain = ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode +

                                                                  ProtoCanMsgToBroadcastRtcSetup (Thumb, 192 bytes, Stack size 136 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup)) +

                                                                  [Stack]

                                                                  • Max Depth = 248
                                                                  • Call Chain = ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode
                                                                  -
                                                                  [Calls]
                                                                  • >>   PROTOCAN_RTC_SYNC -
                                                                  • >>   IsLeapYear -
                                                                  • >>   __aeabi_memcpy4 +
                                                                    [Calls]
                                                                    • >>   PROTOCAN_RTC_SYNC +
                                                                    • >>   IsLeapYear +
                                                                    • >>   __aeabi_memcpy4

                                                                    [Called By]
                                                                    • >>   PROTOCAN_BroadcastProcessing
                                                                    @@ -1494,31 +1504,31 @@ Global Symbols
                                                                    [Called By]
                                                                    • >>   PROTOCAN_BroadcastProcessing
                                                                    -

                                                                    ProtoCanMsgToDiscreteAccident (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteAccident)) +

                                                                    ProtoCanMsgToDiscreteAccident (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteAccident))

                                                                    [Stack]

                                                                    • Max Depth = 28
                                                                    • Call Chain = ProtoCanMsgToDiscreteAccident

                                                                    [Called By]
                                                                    • >>   PROTOCAN_DiscreticProcessing
                                                                    -

                                                                    ProtoCanMsgToDiscreteChangeMode (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteChangeMode)) +

                                                                    ProtoCanMsgToDiscreteChangeMode (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteChangeMode))

                                                                    [Stack]

                                                                    • Max Depth = 28
                                                                    • Call Chain = ProtoCanMsgToDiscreteChangeMode

                                                                    [Called By]
                                                                    • >>   PROTOCAN_DiscreticProcessing
                                                                    -

                                                                    ProtoCanMsgToDiscreteControlSignals (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteControlSignals)) +

                                                                    ProtoCanMsgToDiscreteControlSignals (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteControlSignals))

                                                                    [Stack]

                                                                    • Max Depth = 28
                                                                    • Call Chain = ProtoCanMsgToDiscreteControlSignals

                                                                    [Called By]
                                                                    • >>   PROTOCAN_DiscreticProcessing
                                                                    -

                                                                    ProtoCanMsgToDiscreteFlags (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteFlags)) +

                                                                    ProtoCanMsgToDiscreteFlags (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteFlags))

                                                                    [Stack]

                                                                    • Max Depth = 28
                                                                    • Call Chain = ProtoCanMsgToDiscreteFlags

                                                                    [Called By]
                                                                    • >>   PROTOCAN_DiscreticProcessing
                                                                    -

                                                                    ProtoCanMsgToDiscreteRequestListOfParameters (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters)) +

                                                                    ProtoCanMsgToDiscreteRequestListOfParameters (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters))

                                                                    [Stack]

                                                                    • Max Depth = 28
                                                                    • Call Chain = ProtoCanMsgToDiscreteRequestListOfParameters

                                                                    [Called By]
                                                                    • >>   PROTOCAN_DiscreticProcessing @@ -1527,18 +1537,26 @@ Global Symbols

                                                                      ProtoCanMsgToDiscreteReset (Thumb, 24 bytes, Stack size 32 bytes, protocan.o(.text.ProtoCanMsgToDiscreteReset))

                                                                      [Stack]

                                                                      • Max Depth = 32
                                                                      • Call Chain = ProtoCanMsgToDiscreteReset
                                                                      -
                                                                      [Calls]
                                                                      • >>   __NVIC_SystemReset +
                                                                        [Calls]
                                                                        • >>   __NVIC_SystemReset

                                                                        [Called By]
                                                                        • >>   PROTOCAN_DiscreticProcessing
                                                                        -

                                                                        ProtoCanMsgToDiscreteWarning (Thumb, 24 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteWarning)) +

                                                                        ProtoCanMsgToDiscreteWarning (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteWarning))

                                                                        [Stack]

                                                                        • Max Depth = 28
                                                                        • Call Chain = ProtoCanMsgToDiscreteWarning

                                                                        [Called By]
                                                                        • >>   PROTOCAN_DiscreticProcessing
                                                                        -

                                                                        ProtoCanMsgToModbusCoil (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusCoil)) +

                                                                        ProtoCanMsgToGeneralAddressSpace (Thumb, 216 bytes, Stack size 80 bytes, protocan.o(.text.ProtoCanMsgToGeneralAddressSpace)) +

                                                                        [Stack]

                                                                        • Max Depth = 112
                                                                        • Call Chain = ProtoCanMsgToGeneralAddressSpace ⇒ HAL_CAN_AddTxMessage +
                                                                        +
                                                                        [Calls]
                                                                        • >>   HAL_CAN_AddTxMessage +
                                                                        +
                                                                        [Called By]
                                                                        • >>   PROTOCAN_LOOP +
                                                                        + +

                                                                        ProtoCanMsgToModbusCoil (Thumb, 152 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusCoil))

                                                                        [Stack]

                                                                        • Max Depth = 104
                                                                        • Call Chain = ProtoCanMsgToModbusCoil ⇒ HAL_CAN_AddTxMessage

                                                                        [Calls]
                                                                        • >>   HAL_CAN_AddTxMessage @@ -1546,7 +1564,7 @@ Global Symbols
                                                                          [Called By]
                                                                          • >>   PROTOCAN_ModbusProcessing
                                                                          -

                                                                          ProtoCanMsgToModbusDiscrete (Thumb, 156 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusDiscrete)) +

                                                                          ProtoCanMsgToModbusDiscrete (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusDiscrete))

                                                                          [Stack]

                                                                          • Max Depth = 104
                                                                          • Call Chain = ProtoCanMsgToModbusDiscrete ⇒ HAL_CAN_AddTxMessage

                                                                          [Calls]
                                                                          • >>   HAL_CAN_AddTxMessage @@ -1554,7 +1572,7 @@ Global Symbols
                                                                            [Called By]
                                                                            • >>   PROTOCAN_ModbusProcessing
                                                                            -

                                                                            ProtoCanMsgToModbusHolding (Thumb, 156 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusHolding)) +

                                                                            ProtoCanMsgToModbusHolding (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusHolding))

                                                                            [Stack]

                                                                            • Max Depth = 104
                                                                            • Call Chain = ProtoCanMsgToModbusHolding ⇒ HAL_CAN_AddTxMessage

                                                                            [Calls]
                                                                            • >>   HAL_CAN_AddTxMessage @@ -1562,7 +1580,7 @@ Global Symbols
                                                                              [Called By]
                                                                              • >>   PROTOCAN_ModbusProcessing
                                                                              -

                                                                              ProtoCanMsgToModbusInput (Thumb, 156 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusInput)) +

                                                                              ProtoCanMsgToModbusInput (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusInput))

                                                                              [Stack]

                                                                              • Max Depth = 104
                                                                              • Call Chain = ProtoCanMsgToModbusInput ⇒ HAL_CAN_AddTxMessage

                                                                              [Calls]
                                                                              • >>   HAL_CAN_AddTxMessage @@ -1580,8 +1598,8 @@ Global Symbols

                                                                                ProtoCanRxFifo0MsgPendingCallback (Thumb, 214 bytes, Stack size 64 bytes, protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback))

                                                                                [Stack]

                                                                                • Max Depth = 96
                                                                                • Call Chain = ProtoCanRxFifo0MsgPendingCallback ⇒ TakeRxMsgToBuffer
                                                                                -
                                                                                [Calls]
                                                                                • >>   TakeRxMsgToBuffer -
                                                                                • >>   HAL_CAN_GetRxMessage +
                                                                                  [Calls]
                                                                                  • >>   TakeRxMsgToBuffer +
                                                                                  • >>   HAL_CAN_GetRxMessage

                                                                                  [Address Reference Count : 1]
                                                                                  • protocan.o(.text.PROTOCAN_INIT)
                                                                                  @@ -1591,11 +1609,11 @@ Global Symbols

                                                                                  SysTick_Handler (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.SysTick_Handler))

                                                                                  [Stack]

                                                                                  • Max Depth = 8
                                                                                  • Call Chain = SysTick_Handler
                                                                                  -
                                                                                  [Calls]
                                                                                  • >>   HAL_IncTick +
                                                                                    [Calls]
                                                                                    • >>   HAL_IncTick

                                                                                    [Address Reference Count : 1]
                                                                                    • startup_stm32f103xb.o(RESET)
                                                                                    -

                                                                                    SystemClock_Config (Thumb, 156 bytes, Stack size 96 bytes, main.o(.text.SystemClock_Config)) +

                                                                                    SystemClock_Config (Thumb, 156 bytes, Stack size 96 bytes, main.o(.text.SystemClock_Config))

                                                                                    [Stack]

                                                                                    • Max Depth = 200 + Unknown Stack Size
                                                                                    • Call Chain = SystemClock_Config ⇒ HAL_RCC_MCOConfig ⇒ HAL_GPIO_Init
                                                                                    @@ -1604,7 +1622,7 @@ Global Symbols
                                                                                  • >>   HAL_RCC_ClockConfig
                                                                                  • >>   HAL_RCC_OscConfig
                                                                                  • >>   Error_Handler -
                                                                                  • >>   __aeabi_memclr4 +
                                                                                  • >>   __aeabi_memclr4

                                                                                  [Called By]
                                                                                  • >>   main
                                                                                  @@ -1615,7 +1633,7 @@ Global Symbols

                                                                                  TIM4_IRQHandler (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.TIM4_IRQHandler))

                                                                                  [Stack]

                                                                                  • Max Depth = 24
                                                                                  • Call Chain = TIM4_IRQHandler ⇒ HAL_TIM_IRQHandler
                                                                                  -
                                                                                  [Calls]
                                                                                  • >>   HAL_TIM_IRQHandler +
                                                                                    [Calls]
                                                                                    • >>   HAL_TIM_IRQHandler

                                                                                    [Address Reference Count : 1]
                                                                                    • startup_stm32f103xb.o(RESET)
                                                                                    @@ -1637,7 +1655,7 @@ Global Symbols
                                                                                    [Called By]
                                                                                    • >>   HAL_TIM_Base_Init
                                                                                    -

                                                                                    TakeRxMsgToBuffer (Thumb, 208 bytes, Stack size 32 bytes, protocan.o(.text.TakeRxMsgToBuffer)) +

                                                                                    TakeRxMsgToBuffer (Thumb, 208 bytes, Stack size 32 bytes, protocan.o(.text.TakeRxMsgToBuffer))

                                                                                    [Stack]

                                                                                    • Max Depth = 32
                                                                                    • Call Chain = TakeRxMsgToBuffer

                                                                                    [Called By]
                                                                                    • >>   ProtoCanRxFifo0MsgPendingCallback @@ -1661,19 +1679,19 @@ Global Symbols
                                                                                      [Address Reference Count : 1]
                                                                                      • startup_stm32f103xb.o(RESET)

                                                                                      main (Thumb, 102 bytes, Stack size 16 bytes, main.o(.text.main)) -

                                                                                      [Stack]

                                                                                      • Max Depth = 320 + Unknown Stack Size +

                                                                                        [Stack]
                                                                                        • Max Depth = 352 + Unknown Stack Size
                                                                                        • Call Chain = main ⇒ PROTOCAN_LOOP ⇒ PROTOCAN_BroadcastProcessing ⇒ ProtoCanMsgToBroadcastRtcSetup ⇒ PROTOCAN_RTC_SYNC ⇒ HAL_RTC_SetDate ⇒ RTC_WriteAlarmCounter ⇒ RTC_ExitInitMode
                                                                                        -
                                                                                        [Calls]
                                                                                        • >>   HAL_CAN_ActivateNotification +
                                                                                          [Calls]
                                                                                          • >>   HAL_CAN_ActivateNotification
                                                                                          • >>   HAL_CAN_Start
                                                                                          • >>   MX_TIM4_Init
                                                                                          • >>   MX_RTC_Init
                                                                                          • >>   MX_CAN_Init
                                                                                          • >>   MX_GPIO_Init
                                                                                          • >>   HAL_Init -
                                                                                          • >>   SystemClock_Config -
                                                                                          • >>   PROTOCAN_LOOP -
                                                                                          • >>   PROTOCAN_INIT +
                                                                                          • >>   SystemClock_Config +
                                                                                          • >>   PROTOCAN_LOOP +
                                                                                          • >>   PROTOCAN_INIT

                                                                                          [Called By]
                                                                                          • >>   __rt_entry_main
                                                                                          @@ -1681,7 +1699,7 @@ Global Symbols

                                                                                          Local Symbols

                                                                                          -

                                                                                          __NVIC_SystemReset (Thumb, 38 bytes, Stack size 0 bytes, protocan.o(.text.__NVIC_SystemReset)) +

                                                                                          __NVIC_SystemReset (Thumb, 38 bytes, Stack size 0 bytes, protocan.o(.text.__NVIC_SystemReset))

                                                                                          [Called By]

                                                                                          • >>   ProtoCanMsgToDiscreteReset
                                                                                          • >>   ProtoCanMsgToBroadcastRestart
                                                                                          @@ -1803,7 +1821,7 @@ Local Symbols

                                                                                          [Stack]
                                                                                          • Max Depth = 48
                                                                                          • Call Chain = RTC_DateUpdate ⇒ RTC_WeekDayNum

                                                                                          [Calls]
                                                                                          • >>   RTC_WeekDayNum -
                                                                                          • >>   RTC_IsLeapYear +
                                                                                          • >>   RTC_IsLeapYear

                                                                                          [Called By]
                                                                                          • >>   HAL_RTC_GetTime
                                                                                          @@ -1815,7 +1833,7 @@ Local Symbols
                                                                                        • >>   HAL_RTC_GetTime
                                                                                        -

                                                                                        RTC_IsLeapYear (Thumb, 120 bytes, Stack size 4 bytes, stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear)) +

                                                                                        RTC_IsLeapYear (Thumb, 120 bytes, Stack size 4 bytes, stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear))

                                                                                        [Stack]

                                                                                        • Max Depth = 4
                                                                                        • Call Chain = RTC_IsLeapYear

                                                                                        [Called By]
                                                                                        • >>   RTC_DateUpdate diff --git a/MDK-ARM/F103C8T6/F103C8T6.map b/MDK-ARM/F103C8T6/F103C8T6.map index 56b977e..66c99ce 100644 --- a/MDK-ARM/F103C8T6/F103C8T6.map +++ b/MDK-ARM/F103C8T6/F103C8T6.map @@ -126,13 +126,7 @@ Section Cross References protocan.o(.text.ProtoCanPulseCallback) refers to protocan.o(.bss._HCAN) for _HCAN protocan.o(.text.ProtoCanPulseCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage protocan.o(.ARM.exidx.text.ProtoCanPulseCallback) refers to protocan.o(.text.ProtoCanPulseCallback) for [Anonymous Symbol] - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.data.filter1_id) for filter1_id - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.data.filter1_mask) for filter1_mask protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.text.PROTOCAN_CONFIG_FILTER) for PROTOCAN_CONFIG_FILTER - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.bss.filter2_id) for filter2_id - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.data.filter2_mask) for filter2_mask - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.data.filter3_id) for filter3_id - protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.data.filter3_mask) for filter3_mask protocan.o(.ARM.exidx.text.PROTOCAN_FILTERS) refers to protocan.o(.text.PROTOCAN_FILTERS) for [Anonymous Symbol] protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.AvailableCanRxMsg) for AvailableCanRxMsg protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.data.CurrentStep) for CurrentStep @@ -140,12 +134,13 @@ Section Cross References protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_AnalogProcessing) for PROTOCAN_AnalogProcessing protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_BroadcastProcessing) for PROTOCAN_BroadcastProcessing protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_DiscreticProcessing) for PROTOCAN_DiscreticProcessing - protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) for PROTOCAN_GeneralAddressSpace_Answer + protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) for ProtoCanMsgToGeneralAddressSpace protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_ModbusProcessing) for PROTOCAN_ModbusProcessing protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.CanRequestError) for CanRequestError + protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_SEND) for PROTOCAN_SEND protocan.o(.ARM.exidx.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_LOOP) for [Anonymous Symbol] protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogUniversal) for ProtoCanMsgToAnalogUniversal - protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) for ProtoCanMsgToAnalogUSTAVKI + protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogSettings) for ProtoCanMsgToAnalogSettings protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogUSens) for ProtoCanMsgToAnalogUSens protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogISens) for ProtoCanMsgToAnalogISens protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogTSens) for ProtoCanMsgToAnalogTSens @@ -163,9 +158,9 @@ Section Cross References protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) for ProtoCanMsgToDiscreteChangeMode protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) for ProtoCanMsgToDiscreteRequestListOfParameters protocan.o(.ARM.exidx.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.PROTOCAN_DiscreticProcessing) for [Anonymous Symbol] - protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.PROTOCAN_GeneralAddressSpace_Answer) refers to protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToGeneralAddressSpace) refers to protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) for [Anonymous Symbol] protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusCoil) for ProtoCanMsgToModbusCoil protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusDiscrete) for ProtoCanMsgToModbusDiscrete protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusHolding) for ProtoCanMsgToModbusHolding @@ -174,21 +169,8 @@ Section Cross References protocan.o(.text.CanRequestError) refers to protocan.o(.bss._HCAN) for _HCAN protocan.o(.text.CanRequestError) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage protocan.o(.ARM.exidx.text.CanRequestError) refers to protocan.o(.text.CanRequestError) for [Anonymous Symbol] - protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.text.ProtoCanMsgToAnalogUniversal) for [Anonymous Symbol] - protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSTAVKI) refers to protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) for [Anonymous Symbol] - protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.text.ProtoCanMsgToAnalogUSens) for [Anonymous Symbol] - protocan.o(.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.ProtoCanMsgToAnalogISens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.text.ProtoCanMsgToAnalogISens) for [Anonymous Symbol] - protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.bss._HCAN) for _HCAN - protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage - protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.text.ProtoCanMsgToAnalogTSens) for [Anonymous Symbol] + protocan.o(.text.PROTOCAN_SEND) refers to protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) for PROTOCAN_SEND_GENERAL_ADDRESS_SPACE + protocan.o(.ARM.exidx.text.PROTOCAN_SEND) refers to protocan.o(.text.PROTOCAN_SEND) for [Anonymous Symbol] protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to protocan.o(.bss._HRTC) for _HRTC protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) for HAL_RTC_GetTime protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) for HAL_RTC_GetDate @@ -218,6 +200,24 @@ Section Cross References protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteReset) refers to protocan.o(.text.ProtoCanMsgToDiscreteReset) for [Anonymous Symbol] protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteChangeMode) refers to protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) for [Anonymous Symbol] protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteRequestListOfParameters) refers to protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.text.ProtoCanMsgToAnalogUniversal) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToAnalogSettings) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToAnalogSettings) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogSettings) refers to protocan.o(.text.ProtoCanMsgToAnalogSettings) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.text.ProtoCanMsgToAnalogUSens) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToAnalogISens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.text.ProtoCanMsgToAnalogISens) for [Anonymous Symbol] + protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.text.ProtoCanMsgToAnalogTSens) for [Anonymous Symbol] + protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to protocan.o(.bss._HCAN) for _HCAN + protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage + protocan.o(.ARM.exidx.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) for [Anonymous Symbol] protocan.o(.text.ProtoCanMsgToModbusCoil) refers to protocan.o(.bss._HCAN) for _HCAN protocan.o(.text.ProtoCanMsgToModbusCoil) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusCoil) refers to protocan.o(.text.ProtoCanMsgToModbusCoil) for [Anonymous Symbol] @@ -244,10 +244,10 @@ Section Cross References main.o(.text.main) refers to rtc.o(.text.MX_RTC_Init) for MX_RTC_Init main.o(.text.main) refers to tim.o(.text.MX_TIM4_Init) for MX_TIM4_Init main.o(.text.main) refers to can.o(.bss.hcan) for hcan - main.o(.text.main) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Start) for HAL_CAN_Start main.o(.text.main) refers to rtc.o(.bss.hrtc) for hrtc main.o(.text.main) refers to tim.o(.bss.htim4) for htim4 main.o(.text.main) refers to protocan.o(.text.PROTOCAN_INIT) for PROTOCAN_INIT + main.o(.text.main) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Start) for HAL_CAN_Start main.o(.text.main) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) for HAL_CAN_ActivateNotification main.o(.text.main) refers to protocan.o(.text.PROTOCAN_LOOP) for PROTOCAN_LOOP main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol] @@ -1290,14 +1290,10 @@ Removing Unused input sections from the image. Removing protocan.o(.ARM.exidx.text.PROTOCAN_AnalogProcessing), (8 bytes). Removing protocan.o(.ARM.exidx.text.PROTOCAN_BroadcastProcessing), (8 bytes). Removing protocan.o(.ARM.exidx.text.PROTOCAN_DiscreticProcessing), (8 bytes). - Removing protocan.o(.ARM.exidx.text.PROTOCAN_GeneralAddressSpace_Answer), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToGeneralAddressSpace), (8 bytes). Removing protocan.o(.ARM.exidx.text.PROTOCAN_ModbusProcessing), (8 bytes). Removing protocan.o(.ARM.exidx.text.CanRequestError), (8 bytes). - Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal), (8 bytes). - Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSTAVKI), (8 bytes). - Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens), (8 bytes). - Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens), (8 bytes). - Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens), (8 bytes). + Removing protocan.o(.ARM.exidx.text.PROTOCAN_SEND), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastStatus), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastOnOff), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastRestart), (8 bytes). @@ -1311,12 +1307,19 @@ Removing Unused input sections from the image. Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteReset), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteChangeMode), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteRequestListOfParameters), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogSettings), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens), (8 bytes). + Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens), (8 bytes). + Removing protocan.o(.ARM.exidx.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusCoil), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusDiscrete), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusHolding), (8 bytes). Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusInput), (8 bytes). Removing protocan.o(.ARM.exidx.text.TakeRxMsgToBuffer), (8 bytes). Removing protocan.o(.ARM.exidx.text.PROTOCAN_CONFIG_FILTER), (8 bytes). + Removing protocan.o(.rodata..L__const.PROTOCAN_LOOP.massiv), (10 bytes). Removing protocan.o(.bss.CurrentDevice), (16 bytes). Removing main.o(.text), (0 bytes). Removing main.o(.ARM.exidx.text.main), (8 bytes). @@ -2068,7 +2071,7 @@ Removing Unused input sections from the image. Removing system_stm32f1xx.o(.text.SystemCoreClockUpdate), (290 bytes). Removing system_stm32f1xx.o(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes). -813 unused section(s) (total 51402 bytes) removed from the image. +816 unused section(s) (total 51428 bytes) removed from the image. ============================================================================== @@ -2244,211 +2247,213 @@ Image Symbol Table [Anonymous Symbol] 0x08000478 Section 0 canerrorbox.o(.text.CanErrorCallbackTXTERR1) [Anonymous Symbol] 0x08000488 Section 0 canerrorbox.o(.text.CanErrorCallbackTXTERR2) [Anonymous Symbol] 0x08000498 Section 0 protocan.o(.text.CanRequestError) - [Anonymous Symbol] 0x08000514 Section 0 stm32f1xx_it.o(.text.DebugMon_Handler) - [Anonymous Symbol] 0x08000518 Section 0 main.o(.text.Error_Handler) - [Anonymous Symbol] 0x08000528 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - [Anonymous Symbol] 0x0800057c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - [Anonymous Symbol] 0x080006d4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - [Anonymous Symbol] 0x08000850 Section 0 canerrorbox.o(.text.HAL_CAN_ErrorCallback) - [Anonymous Symbol] 0x080009f0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - [Anonymous Symbol] 0x08000c04 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) - [Anonymous Symbol] 0x08000ff8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Init) - [Anonymous Symbol] 0x0800128c Section 0 can.o(.text.HAL_CAN_MspDeInit) - [Anonymous Symbol] 0x080012e4 Section 0 can.o(.text.HAL_CAN_MspInit) - [Anonymous Symbol] 0x080013c8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) - [Anonymous Symbol] 0x08001548 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) - [Anonymous Symbol] 0x08001550 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - [Anonymous Symbol] 0x08001558 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) - [Anonymous Symbol] 0x08001560 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - [Anonymous Symbol] 0x08001568 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) - [Anonymous Symbol] 0x08001570 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Start) - [Anonymous Symbol] 0x080015fc Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) - [Anonymous Symbol] 0x08001604 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - [Anonymous Symbol] 0x0800160c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) - [Anonymous Symbol] 0x08001614 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - [Anonymous Symbol] 0x0800161c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) - [Anonymous Symbol] 0x08001624 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - [Anonymous Symbol] 0x0800162c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) - [Anonymous Symbol] 0x080017f4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - [Anonymous Symbol] 0x080017fc Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit) - [Anonymous Symbol] 0x0800199c Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init) - [Anonymous Symbol] 0x08001cbc Section 0 stm32f1xx_hal.o(.text.HAL_GetTick) - [Anonymous Symbol] 0x08001cc8 Section 0 stm32f1xx_hal.o(.text.HAL_IncTick) - [Anonymous Symbol] 0x08001ce4 Section 0 stm32f1xx_hal.o(.text.HAL_Init) - [Anonymous Symbol] 0x08001d0c Section 0 stm32f1xx_hal.o(.text.HAL_InitTick) - [Anonymous Symbol] 0x08001d7c Section 0 stm32f1xx_hal_msp.o(.text.HAL_MspInit) - [Anonymous Symbol] 0x08001dc0 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - [Anonymous Symbol] 0x08001dd4 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - [Anonymous Symbol] 0x08001de8 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - [Anonymous Symbol] 0x08001e1c Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x08001e2c Section 0 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess) - [Anonymous Symbol] 0x08001e38 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq) - [Anonymous Symbol] 0x08001fd0 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig) - [Anonymous Symbol] 0x08002198 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - [Anonymous Symbol] 0x080023f0 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - [Anonymous Symbol] 0x080023fc Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - [Anonymous Symbol] 0x08002420 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - [Anonymous Symbol] 0x080024dc Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig) - [Anonymous Symbol] 0x08002544 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - [Anonymous Symbol] 0x08002bc0 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) - [Anonymous Symbol] 0x08002c5c Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) - [Anonymous Symbol] 0x08002e10 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init) - [Anonymous Symbol] 0x08002f3c Section 0 rtc.o(.text.HAL_RTC_MspInit) - [Anonymous Symbol] 0x08002f88 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) - [Anonymous Symbol] 0x08003108 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) - [Anonymous Symbol] 0x0800324c Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro) - [Anonymous Symbol] 0x080032b0 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - [Anonymous Symbol] 0x080032c0 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - [Anonymous Symbol] 0x080032c8 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - [Anonymous Symbol] 0x080032d0 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) - [Anonymous Symbol] 0x080032d8 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) - [Anonymous Symbol] 0x080032e0 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) - [Anonymous Symbol] 0x080032e8 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - [Anonymous Symbol] 0x080033c4 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) - [Anonymous Symbol] 0x0800347c Section 0 tim.o(.text.HAL_TIM_Base_MspDeInit) - [Anonymous Symbol] 0x080034b0 Section 0 tim.o(.text.HAL_TIM_Base_MspInit) - [Anonymous Symbol] 0x08003500 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource) - [Anonymous Symbol] 0x08003684 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) - [Anonymous Symbol] 0x0800368c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) - [Anonymous Symbol] 0x08003694 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) - [Anonymous Symbol] 0x0800369c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - [Anonymous Symbol] 0x080036a4 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) - [Anonymous Symbol] 0x080036ac Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) - [Anonymous Symbol] 0x080036b4 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) - [Anonymous Symbol] 0x080036bc Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - [Anonymous Symbol] 0x08003958 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - [Anonymous Symbol] 0x08003960 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) - [Anonymous Symbol] 0x08003968 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) - [Anonymous Symbol] 0x08003970 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) - [Anonymous Symbol] 0x08003978 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) - [Anonymous Symbol] 0x08003980 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) - [Anonymous Symbol] 0x08003988 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - [Anonymous Symbol] 0x08003990 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - [Anonymous Symbol] 0x08003998 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) - [Anonymous Symbol] 0x080039a0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - [Anonymous Symbol] 0x080039a8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) - [Anonymous Symbol] 0x080039b0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) - [Anonymous Symbol] 0x08003c54 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - [Anonymous Symbol] 0x08003c5c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) - [Anonymous Symbol] 0x08003c64 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) - [Anonymous Symbol] 0x08003fe8 Section 0 stm32f1xx_it.o(.text.HardFault_Handler) - [Anonymous Symbol] 0x08003fec Section 0 protocan.o(.text.IsLeapYear) - [Anonymous Symbol] 0x0800407c Section 0 can.o(.text.MX_CAN_Init) - [Anonymous Symbol] 0x080040cc Section 0 gpio.o(.text.MX_GPIO_Init) - [Anonymous Symbol] 0x08004118 Section 0 rtc.o(.text.MX_RTC_Init) - [Anonymous Symbol] 0x080041ac Section 0 tim.o(.text.MX_TIM4_Init) - [Anonymous Symbol] 0x08004234 Section 0 stm32f1xx_it.o(.text.MemManage_Handler) - [Anonymous Symbol] 0x08004238 Section 0 stm32f1xx_it.o(.text.NMI_Handler) - NVIC_EncodePriority 0x0800423d Thumb Code 108 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x0800423c Section 0 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority) - [Anonymous Symbol] 0x080042a8 Section 0 protocan.o(.text.PROTOCAN_AnalogProcessing) - [Anonymous Symbol] 0x08004390 Section 0 protocan.o(.text.PROTOCAN_BroadcastProcessing) - [Anonymous Symbol] 0x08004454 Section 0 protocan.o(.text.PROTOCAN_CONFIG_FILTER) - [Anonymous Symbol] 0x080044b8 Section 0 protocan.o(.text.PROTOCAN_DEINIT) - [Anonymous Symbol] 0x08004500 Section 0 protocan.o(.text.PROTOCAN_DiscreticProcessing) - [Anonymous Symbol] 0x08004614 Section 0 protocan.o(.text.PROTOCAN_FILTERS) - [Anonymous Symbol] 0x08004668 Section 0 protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) - [Anonymous Symbol] 0x08004740 Section 0 protocan.o(.text.PROTOCAN_INIT) - [Anonymous Symbol] 0x08004848 Section 0 protocan.o(.text.PROTOCAN_LOOP) - [Anonymous Symbol] 0x08004b28 Section 0 protocan.o(.text.PROTOCAN_ModbusProcessing) - [Anonymous Symbol] 0x08004bec Section 0 protocan.o(.text.PROTOCAN_RTC_SYNC) - [Anonymous Symbol] 0x08004c90 Section 0 stm32f1xx_it.o(.text.PendSV_Handler) - [Anonymous Symbol] 0x08004c94 Section 0 protocan.o(.text.ProtoCanMsgToAnalogISens) - [Anonymous Symbol] 0x08004da0 Section 0 protocan.o(.text.ProtoCanMsgToAnalogTSens) - [Anonymous Symbol] 0x08004eac Section 0 protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) - [Anonymous Symbol] 0x08004f34 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUSens) - [Anonymous Symbol] 0x08005040 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUniversal) - [Anonymous Symbol] 0x080050c0 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastOnOff) - [Anonymous Symbol] 0x080050f0 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRestart) - [Anonymous Symbol] 0x08005184 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) - [Anonymous Symbol] 0x0800522c Section 0 protocan.o(.text.ProtoCanMsgToBroadcastStatus) - [Anonymous Symbol] 0x08005308 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteAccident) - [Anonymous Symbol] 0x08005320 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) - [Anonymous Symbol] 0x08005338 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) - [Anonymous Symbol] 0x08005350 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteFlags) - [Anonymous Symbol] 0x08005368 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) - [Anonymous Symbol] 0x08005380 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteReset) - [Anonymous Symbol] 0x08005398 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteWarning) - [Anonymous Symbol] 0x080053b0 Section 0 protocan.o(.text.ProtoCanMsgToModbusCoil) - [Anonymous Symbol] 0x0800544c Section 0 protocan.o(.text.ProtoCanMsgToModbusDiscrete) - [Anonymous Symbol] 0x080054e8 Section 0 protocan.o(.text.ProtoCanMsgToModbusHolding) - [Anonymous Symbol] 0x08005584 Section 0 protocan.o(.text.ProtoCanMsgToModbusInput) - [Anonymous Symbol] 0x08005620 Section 0 protocan.o(.text.ProtoCanPulseCallback) - [Anonymous Symbol] 0x080056f4 Section 0 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) - RCC_Delay 0x080057cd Thumb Code 58 stm32f1xx_hal_rcc.o(.text.RCC_Delay) - [Anonymous Symbol] 0x080057cc Section 0 stm32f1xx_hal_rcc.o(.text.RCC_Delay) - RTC_Bcd2ToByte 0x08005809 Thumb Code 42 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte) - [Anonymous Symbol] 0x08005808 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte) - RTC_ByteToBcd2 0x08005835 Thumb Code 58 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2) - [Anonymous Symbol] 0x08005834 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2) - RTC_DateUpdate 0x08005871 Thumb Code 370 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate) - [Anonymous Symbol] 0x08005870 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate) - RTC_EnterInitMode 0x080059e5 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode) - [Anonymous Symbol] 0x080059e4 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode) - RTC_ExitInitMode 0x08005a3d Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode) - [Anonymous Symbol] 0x08005a3c Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode) - RTC_IsLeapYear 0x08005a95 Thumb Code 120 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear) - [Anonymous Symbol] 0x08005a94 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear) - RTC_ReadAlarmCounter 0x08005b0d Thumb Code 50 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter) - [Anonymous Symbol] 0x08005b0c Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter) - RTC_ReadTimeCounter 0x08005b41 Thumb Code 106 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter) - [Anonymous Symbol] 0x08005b40 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter) - RTC_WeekDayNum 0x08005bad Thumb Code 226 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum) - [Anonymous Symbol] 0x08005bac Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum) - RTC_WriteAlarmCounter 0x08005c91 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter) - [Anonymous Symbol] 0x08005c90 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter) - RTC_WriteTimeCounter 0x08005ce1 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter) - [Anonymous Symbol] 0x08005ce0 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter) - [Anonymous Symbol] 0x08005d30 Section 0 stm32f1xx_it.o(.text.SVC_Handler) - SysTick_Config 0x08005d35 Thumb Code 82 stm32f1xx_hal_cortex.o(.text.SysTick_Config) - [Anonymous Symbol] 0x08005d34 Section 0 stm32f1xx_hal_cortex.o(.text.SysTick_Config) - [Anonymous Symbol] 0x08005d88 Section 0 stm32f1xx_it.o(.text.SysTick_Handler) - [Anonymous Symbol] 0x08005d90 Section 0 main.o(.text.SystemClock_Config) - [Anonymous Symbol] 0x08005e2c Section 0 system_stm32f1xx.o(.text.SystemInit) - [Anonymous Symbol] 0x08005e30 Section 0 stm32f1xx_it.o(.text.TIM4_IRQHandler) - [Anonymous Symbol] 0x08005e40 Section 0 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) - [Anonymous Symbol] 0x08005f30 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig) - TIM_ITRx_SetConfig 0x08005f65 Thumb Code 42 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig) - [Anonymous Symbol] 0x08005f64 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig) - [Anonymous Symbol] 0x08005f90 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) - TIM_TI1_ConfigInputStage 0x08006051 Thumb Code 80 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage) - [Anonymous Symbol] 0x08006050 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage) - TIM_TI2_ConfigInputStage 0x080060a1 Thumb Code 82 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage) - [Anonymous Symbol] 0x080060a0 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage) - [Anonymous Symbol] 0x080060f4 Section 0 protocan.o(.text.TakeRxMsgToBuffer) - [Anonymous Symbol] 0x080061c4 Section 0 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler) - [Anonymous Symbol] 0x080061d4 Section 0 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler) - [Anonymous Symbol] 0x080061e4 Section 0 stm32f1xx_it.o(.text.UsageFault_Handler) - __NVIC_DisableIRQ 0x080061e9 Thumb Code 56 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ) - [Anonymous Symbol] 0x080061e8 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ) - __NVIC_EnableIRQ 0x08006221 Thumb Code 48 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ) - [Anonymous Symbol] 0x08006220 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ) - __NVIC_GetPriorityGrouping 0x08006251 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) - [Anonymous Symbol] 0x08006250 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) - __NVIC_SetPriority 0x08006261 Thumb Code 66 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority) - [Anonymous Symbol] 0x08006260 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority) - __NVIC_SetPriorityGrouping 0x080062a5 Thumb Code 60 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) - [Anonymous Symbol] 0x080062a4 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) - __NVIC_SystemReset 0x080062e1 Thumb Code 38 protocan.o(.text.__NVIC_SystemReset) - [Anonymous Symbol] 0x080062e0 Section 0 protocan.o(.text.__NVIC_SystemReset) - [Anonymous Symbol] 0x08006308 Section 0 main.o(.text.main) - .L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal 0x08006370 Data 96 protocan.o(.rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal) - HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable 0x080063e8 Data 16 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable) - [Anonymous Symbol] 0x080063e8 Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable) - HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable 0x080063f8 Data 2 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable) - [Anonymous Symbol] 0x080063f8 Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable) - HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x080063fa Data 16 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable) - [Anonymous Symbol] 0x080063fa Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable) - HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x0800640a Data 2 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable) - [Anonymous Symbol] 0x0800640a Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable) - .bss 0x20000028 Section 96 libspace.o(.bss) - ProtoCanPulseCallback.PulseStage 0x200008e8 Data 4 protocan.o(.bss.ProtoCanPulseCallback.PulseStage) - [Anonymous Symbol] 0x200008e8 Section 0 protocan.o(.bss.ProtoCanPulseCallback.PulseStage) - Heap_Mem 0x20001430 Data 512 startup_stm32f103xb.o(HEAP) - HEAP 0x20001430 Section 512 startup_stm32f103xb.o(HEAP) - Stack_Mem 0x20001630 Data 1024 startup_stm32f103xb.o(STACK) - STACK 0x20001630 Section 1024 startup_stm32f103xb.o(STACK) - __initial_sp 0x20001a30 Data 0 startup_stm32f103xb.o(STACK) + [Anonymous Symbol] 0x08000510 Section 0 stm32f1xx_it.o(.text.DebugMon_Handler) + [Anonymous Symbol] 0x08000514 Section 0 main.o(.text.Error_Handler) + [Anonymous Symbol] 0x08000524 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + [Anonymous Symbol] 0x08000578 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + [Anonymous Symbol] 0x080006d0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + [Anonymous Symbol] 0x0800084c Section 0 canerrorbox.o(.text.HAL_CAN_ErrorCallback) + [Anonymous Symbol] 0x080009ec Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + [Anonymous Symbol] 0x08000c00 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) + [Anonymous Symbol] 0x08000ff4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Init) + [Anonymous Symbol] 0x08001288 Section 0 can.o(.text.HAL_CAN_MspDeInit) + [Anonymous Symbol] 0x080012e0 Section 0 can.o(.text.HAL_CAN_MspInit) + [Anonymous Symbol] 0x080013c4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) + [Anonymous Symbol] 0x08001544 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) + [Anonymous Symbol] 0x0800154c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + [Anonymous Symbol] 0x08001554 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) + [Anonymous Symbol] 0x0800155c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + [Anonymous Symbol] 0x08001564 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) + [Anonymous Symbol] 0x0800156c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Start) + [Anonymous Symbol] 0x080015f8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) + [Anonymous Symbol] 0x08001600 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + [Anonymous Symbol] 0x08001608 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) + [Anonymous Symbol] 0x08001610 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + [Anonymous Symbol] 0x08001618 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) + [Anonymous Symbol] 0x08001620 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + [Anonymous Symbol] 0x08001628 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) + [Anonymous Symbol] 0x080017f0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + [Anonymous Symbol] 0x080017f8 Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit) + [Anonymous Symbol] 0x08001998 Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init) + [Anonymous Symbol] 0x08001cb8 Section 0 stm32f1xx_hal.o(.text.HAL_GetTick) + [Anonymous Symbol] 0x08001cc4 Section 0 stm32f1xx_hal.o(.text.HAL_IncTick) + [Anonymous Symbol] 0x08001ce0 Section 0 stm32f1xx_hal.o(.text.HAL_Init) + [Anonymous Symbol] 0x08001d08 Section 0 stm32f1xx_hal.o(.text.HAL_InitTick) + [Anonymous Symbol] 0x08001d78 Section 0 stm32f1xx_hal_msp.o(.text.HAL_MspInit) + [Anonymous Symbol] 0x08001dbc Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + [Anonymous Symbol] 0x08001dd0 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + [Anonymous Symbol] 0x08001de4 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + [Anonymous Symbol] 0x08001e18 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x08001e28 Section 0 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess) + [Anonymous Symbol] 0x08001e34 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq) + [Anonymous Symbol] 0x08001fcc Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig) + [Anonymous Symbol] 0x08002194 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + [Anonymous Symbol] 0x080023ec Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + [Anonymous Symbol] 0x080023f8 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + [Anonymous Symbol] 0x0800241c Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + [Anonymous Symbol] 0x080024d8 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig) + [Anonymous Symbol] 0x08002540 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + [Anonymous Symbol] 0x08002bbc Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) + [Anonymous Symbol] 0x08002c58 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) + [Anonymous Symbol] 0x08002e0c Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init) + [Anonymous Symbol] 0x08002f38 Section 0 rtc.o(.text.HAL_RTC_MspInit) + [Anonymous Symbol] 0x08002f84 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) + [Anonymous Symbol] 0x08003104 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) + [Anonymous Symbol] 0x08003248 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro) + [Anonymous Symbol] 0x080032ac Section 0 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + [Anonymous Symbol] 0x080032bc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + [Anonymous Symbol] 0x080032c4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + [Anonymous Symbol] 0x080032cc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) + [Anonymous Symbol] 0x080032d4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) + [Anonymous Symbol] 0x080032dc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) + [Anonymous Symbol] 0x080032e4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + [Anonymous Symbol] 0x080033c0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) + [Anonymous Symbol] 0x08003478 Section 0 tim.o(.text.HAL_TIM_Base_MspDeInit) + [Anonymous Symbol] 0x080034ac Section 0 tim.o(.text.HAL_TIM_Base_MspInit) + [Anonymous Symbol] 0x080034fc Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource) + [Anonymous Symbol] 0x08003680 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) + [Anonymous Symbol] 0x08003688 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) + [Anonymous Symbol] 0x08003690 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) + [Anonymous Symbol] 0x08003698 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + [Anonymous Symbol] 0x080036a0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) + [Anonymous Symbol] 0x080036a8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) + [Anonymous Symbol] 0x080036b0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) + [Anonymous Symbol] 0x080036b8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + [Anonymous Symbol] 0x08003954 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + [Anonymous Symbol] 0x0800395c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) + [Anonymous Symbol] 0x08003964 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) + [Anonymous Symbol] 0x0800396c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) + [Anonymous Symbol] 0x08003974 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) + [Anonymous Symbol] 0x0800397c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) + [Anonymous Symbol] 0x08003984 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + [Anonymous Symbol] 0x0800398c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + [Anonymous Symbol] 0x08003994 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) + [Anonymous Symbol] 0x0800399c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + [Anonymous Symbol] 0x080039a4 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) + [Anonymous Symbol] 0x080039ac Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) + [Anonymous Symbol] 0x08003c50 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + [Anonymous Symbol] 0x08003c58 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) + [Anonymous Symbol] 0x08003c60 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) + [Anonymous Symbol] 0x08003fe4 Section 0 stm32f1xx_it.o(.text.HardFault_Handler) + [Anonymous Symbol] 0x08003fe8 Section 0 protocan.o(.text.IsLeapYear) + [Anonymous Symbol] 0x08004078 Section 0 can.o(.text.MX_CAN_Init) + [Anonymous Symbol] 0x080040c8 Section 0 gpio.o(.text.MX_GPIO_Init) + [Anonymous Symbol] 0x08004114 Section 0 rtc.o(.text.MX_RTC_Init) + [Anonymous Symbol] 0x080041a8 Section 0 tim.o(.text.MX_TIM4_Init) + [Anonymous Symbol] 0x08004230 Section 0 stm32f1xx_it.o(.text.MemManage_Handler) + [Anonymous Symbol] 0x08004234 Section 0 stm32f1xx_it.o(.text.NMI_Handler) + NVIC_EncodePriority 0x08004239 Thumb Code 108 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x08004238 Section 0 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority) + [Anonymous Symbol] 0x080042a4 Section 0 protocan.o(.text.PROTOCAN_AnalogProcessing) + [Anonymous Symbol] 0x08004388 Section 0 protocan.o(.text.PROTOCAN_BroadcastProcessing) + [Anonymous Symbol] 0x08004448 Section 0 protocan.o(.text.PROTOCAN_CONFIG_FILTER) + [Anonymous Symbol] 0x080044ac Section 0 protocan.o(.text.PROTOCAN_DEINIT) + [Anonymous Symbol] 0x080044f4 Section 0 protocan.o(.text.PROTOCAN_DiscreticProcessing) + [Anonymous Symbol] 0x08004604 Section 0 protocan.o(.text.PROTOCAN_FILTERS) + [Anonymous Symbol] 0x08004644 Section 0 protocan.o(.text.PROTOCAN_INIT) + [Anonymous Symbol] 0x0800474c Section 0 protocan.o(.text.PROTOCAN_LOOP) + [Anonymous Symbol] 0x08004a90 Section 0 protocan.o(.text.PROTOCAN_ModbusProcessing) + [Anonymous Symbol] 0x08004b54 Section 0 protocan.o(.text.PROTOCAN_RTC_SYNC) + [Anonymous Symbol] 0x08004bf8 Section 0 protocan.o(.text.PROTOCAN_SEND) + [Anonymous Symbol] 0x08004c38 Section 0 protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) + [Anonymous Symbol] 0x08004d54 Section 0 stm32f1xx_it.o(.text.PendSV_Handler) + [Anonymous Symbol] 0x08004d58 Section 0 protocan.o(.text.ProtoCanMsgToAnalogISens) + [Anonymous Symbol] 0x08004e64 Section 0 protocan.o(.text.ProtoCanMsgToAnalogSettings) + [Anonymous Symbol] 0x08004eec Section 0 protocan.o(.text.ProtoCanMsgToAnalogTSens) + [Anonymous Symbol] 0x08004ff8 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUSens) + [Anonymous Symbol] 0x08005104 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUniversal) + [Anonymous Symbol] 0x08005184 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastOnOff) + [Anonymous Symbol] 0x080051b4 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRestart) + [Anonymous Symbol] 0x08005254 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) + [Anonymous Symbol] 0x08005314 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastStatus) + [Anonymous Symbol] 0x080053f0 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteAccident) + [Anonymous Symbol] 0x0800540c Section 0 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) + [Anonymous Symbol] 0x08005428 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) + [Anonymous Symbol] 0x08005444 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteFlags) + [Anonymous Symbol] 0x08005460 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) + [Anonymous Symbol] 0x0800547c Section 0 protocan.o(.text.ProtoCanMsgToDiscreteReset) + [Anonymous Symbol] 0x08005494 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteWarning) + [Anonymous Symbol] 0x080054b0 Section 0 protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) + [Anonymous Symbol] 0x08005588 Section 0 protocan.o(.text.ProtoCanMsgToModbusCoil) + [Anonymous Symbol] 0x08005620 Section 0 protocan.o(.text.ProtoCanMsgToModbusDiscrete) + [Anonymous Symbol] 0x080056bc Section 0 protocan.o(.text.ProtoCanMsgToModbusHolding) + [Anonymous Symbol] 0x08005758 Section 0 protocan.o(.text.ProtoCanMsgToModbusInput) + [Anonymous Symbol] 0x080057f4 Section 0 protocan.o(.text.ProtoCanPulseCallback) + [Anonymous Symbol] 0x080058c8 Section 0 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) + RCC_Delay 0x080059a1 Thumb Code 58 stm32f1xx_hal_rcc.o(.text.RCC_Delay) + [Anonymous Symbol] 0x080059a0 Section 0 stm32f1xx_hal_rcc.o(.text.RCC_Delay) + RTC_Bcd2ToByte 0x080059dd Thumb Code 42 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte) + [Anonymous Symbol] 0x080059dc Section 0 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte) + RTC_ByteToBcd2 0x08005a09 Thumb Code 58 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2) + [Anonymous Symbol] 0x08005a08 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2) + RTC_DateUpdate 0x08005a45 Thumb Code 370 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate) + [Anonymous Symbol] 0x08005a44 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate) + RTC_EnterInitMode 0x08005bb9 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode) + [Anonymous Symbol] 0x08005bb8 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode) + RTC_ExitInitMode 0x08005c11 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode) + [Anonymous Symbol] 0x08005c10 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode) + RTC_IsLeapYear 0x08005c69 Thumb Code 120 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear) + [Anonymous Symbol] 0x08005c68 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear) + RTC_ReadAlarmCounter 0x08005ce1 Thumb Code 50 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter) + [Anonymous Symbol] 0x08005ce0 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter) + RTC_ReadTimeCounter 0x08005d15 Thumb Code 106 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter) + [Anonymous Symbol] 0x08005d14 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter) + RTC_WeekDayNum 0x08005d81 Thumb Code 226 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum) + [Anonymous Symbol] 0x08005d80 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum) + RTC_WriteAlarmCounter 0x08005e65 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter) + [Anonymous Symbol] 0x08005e64 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter) + RTC_WriteTimeCounter 0x08005eb5 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter) + [Anonymous Symbol] 0x08005eb4 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter) + [Anonymous Symbol] 0x08005f04 Section 0 stm32f1xx_it.o(.text.SVC_Handler) + SysTick_Config 0x08005f09 Thumb Code 82 stm32f1xx_hal_cortex.o(.text.SysTick_Config) + [Anonymous Symbol] 0x08005f08 Section 0 stm32f1xx_hal_cortex.o(.text.SysTick_Config) + [Anonymous Symbol] 0x08005f5c Section 0 stm32f1xx_it.o(.text.SysTick_Handler) + [Anonymous Symbol] 0x08005f64 Section 0 main.o(.text.SystemClock_Config) + [Anonymous Symbol] 0x08006000 Section 0 system_stm32f1xx.o(.text.SystemInit) + [Anonymous Symbol] 0x08006004 Section 0 stm32f1xx_it.o(.text.TIM4_IRQHandler) + [Anonymous Symbol] 0x08006014 Section 0 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) + [Anonymous Symbol] 0x08006104 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig) + TIM_ITRx_SetConfig 0x08006139 Thumb Code 42 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig) + [Anonymous Symbol] 0x08006138 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig) + [Anonymous Symbol] 0x08006164 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) + TIM_TI1_ConfigInputStage 0x08006225 Thumb Code 80 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage) + [Anonymous Symbol] 0x08006224 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage) + TIM_TI2_ConfigInputStage 0x08006275 Thumb Code 82 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage) + [Anonymous Symbol] 0x08006274 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage) + [Anonymous Symbol] 0x080062c8 Section 0 protocan.o(.text.TakeRxMsgToBuffer) + [Anonymous Symbol] 0x08006398 Section 0 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler) + [Anonymous Symbol] 0x080063a8 Section 0 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler) + [Anonymous Symbol] 0x080063b8 Section 0 stm32f1xx_it.o(.text.UsageFault_Handler) + __NVIC_DisableIRQ 0x080063bd Thumb Code 56 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ) + [Anonymous Symbol] 0x080063bc Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ) + __NVIC_EnableIRQ 0x080063f5 Thumb Code 48 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ) + [Anonymous Symbol] 0x080063f4 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ) + __NVIC_GetPriorityGrouping 0x08006425 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) + [Anonymous Symbol] 0x08006424 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping) + __NVIC_SetPriority 0x08006435 Thumb Code 66 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority) + [Anonymous Symbol] 0x08006434 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority) + __NVIC_SetPriorityGrouping 0x08006479 Thumb Code 60 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) + [Anonymous Symbol] 0x08006478 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping) + __NVIC_SystemReset 0x080064b5 Thumb Code 38 protocan.o(.text.__NVIC_SystemReset) + [Anonymous Symbol] 0x080064b4 Section 0 protocan.o(.text.__NVIC_SystemReset) + [Anonymous Symbol] 0x080064dc Section 0 main.o(.text.main) + .L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal 0x08006544 Data 96 protocan.o(.rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal) + HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable 0x080065bc Data 16 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable) + [Anonymous Symbol] 0x080065bc Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable) + HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable 0x080065cc Data 2 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable) + [Anonymous Symbol] 0x080065cc Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable) + HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x080065ce Data 16 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable) + [Anonymous Symbol] 0x080065ce Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable) + HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x080065de Data 2 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable) + [Anonymous Symbol] 0x080065de Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable) + .bss 0x20000010 Section 96 libspace.o(.bss) + ProtoCanPulseCallback.PulseStage 0x200008d0 Data 4 protocan.o(.bss.ProtoCanPulseCallback.PulseStage) + [Anonymous Symbol] 0x200008d0 Section 0 protocan.o(.bss.ProtoCanPulseCallback.PulseStage) + Heap_Mem 0x20001410 Data 512 startup_stm32f103xb.o(HEAP) + HEAP 0x20001410 Section 512 startup_stm32f103xb.o(HEAP) + Stack_Mem 0x20001610 Data 1024 startup_stm32f103xb.o(STACK) + STACK 0x20001610 Section 1024 startup_stm32f103xb.o(STACK) + __initial_sp 0x20001a10 Data 0 startup_stm32f103xb.o(STACK) Global Symbols @@ -2623,177 +2628,173 @@ Image Symbol Table CanErrorCallbackTXTERR0 0x08000469 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR0) CanErrorCallbackTXTERR1 0x08000479 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR1) CanErrorCallbackTXTERR2 0x08000489 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR2) - CanRequestError 0x08000499 Thumb Code 122 protocan.o(.text.CanRequestError) - DebugMon_Handler 0x08000515 Thumb Code 2 stm32f1xx_it.o(.text.DebugMon_Handler) - Error_Handler 0x08000519 Thumb Code 14 main.o(.text.Error_Handler) - HAL_CAN_ActivateNotification 0x08000529 Thumb Code 82 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) - HAL_CAN_AddTxMessage 0x0800057d Thumb Code 342 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) - HAL_CAN_ConfigFilter 0x080006d5 Thumb Code 378 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) - HAL_CAN_ErrorCallback 0x08000851 Thumb Code 414 canerrorbox.o(.text.HAL_CAN_ErrorCallback) - HAL_CAN_GetRxMessage 0x080009f1 Thumb Code 530 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) - HAL_CAN_IRQHandler 0x08000c05 Thumb Code 1010 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) - HAL_CAN_Init 0x08000ff9 Thumb Code 658 stm32f1xx_hal_can.o(.text.HAL_CAN_Init) - HAL_CAN_MspDeInit 0x0800128d Thumb Code 86 can.o(.text.HAL_CAN_MspDeInit) - HAL_CAN_MspInit 0x080012e5 Thumb Code 226 can.o(.text.HAL_CAN_MspInit) - HAL_CAN_RegisterCallback 0x080013c9 Thumb Code 382 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) - HAL_CAN_RxFifo0FullCallback 0x08001549 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) - HAL_CAN_RxFifo0MsgPendingCallback 0x08001551 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) - HAL_CAN_RxFifo1FullCallback 0x08001559 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) - HAL_CAN_RxFifo1MsgPendingCallback 0x08001561 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) - HAL_CAN_SleepCallback 0x08001569 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) - HAL_CAN_Start 0x08001571 Thumb Code 138 stm32f1xx_hal_can.o(.text.HAL_CAN_Start) - HAL_CAN_TxMailbox0AbortCallback 0x080015fd Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) - HAL_CAN_TxMailbox0CompleteCallback 0x08001605 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) - HAL_CAN_TxMailbox1AbortCallback 0x0800160d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) - HAL_CAN_TxMailbox1CompleteCallback 0x08001615 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) - HAL_CAN_TxMailbox2AbortCallback 0x0800161d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) - HAL_CAN_TxMailbox2CompleteCallback 0x08001625 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) - HAL_CAN_UnRegisterCallback 0x0800162d Thumb Code 454 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) - HAL_CAN_WakeUpFromRxMsgCallback 0x080017f5 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) - HAL_GPIO_DeInit 0x080017fd Thumb Code 414 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit) - HAL_GPIO_Init 0x0800199d Thumb Code 798 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init) - HAL_GetTick 0x08001cbd Thumb Code 12 stm32f1xx_hal.o(.text.HAL_GetTick) - HAL_IncTick 0x08001cc9 Thumb Code 26 stm32f1xx_hal.o(.text.HAL_IncTick) - HAL_Init 0x08001ce5 Thumb Code 38 stm32f1xx_hal.o(.text.HAL_Init) - HAL_InitTick 0x08001d0d Thumb Code 112 stm32f1xx_hal.o(.text.HAL_InitTick) - HAL_MspInit 0x08001d7d Thumb Code 66 stm32f1xx_hal_msp.o(.text.HAL_MspInit) - HAL_NVIC_DisableIRQ 0x08001dc1 Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) - HAL_NVIC_EnableIRQ 0x08001dd5 Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) - HAL_NVIC_SetPriority 0x08001de9 Thumb Code 50 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x08001e1d Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) - HAL_PWR_EnableBkUpAccess 0x08001e2d Thumb Code 12 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess) - HAL_RCCEx_GetPeriphCLKFreq 0x08001e39 Thumb Code 406 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq) - HAL_RCCEx_PeriphCLKConfig 0x08001fd1 Thumb Code 456 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig) - HAL_RCC_ClockConfig 0x08002199 Thumb Code 598 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) - HAL_RCC_GetHCLKFreq 0x080023f1 Thumb Code 12 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) - HAL_RCC_GetPCLK2Freq 0x080023fd Thumb Code 34 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x08002421 Thumb Code 188 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) - HAL_RCC_MCOConfig 0x080024dd Thumb Code 104 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig) - HAL_RCC_OscConfig 0x08002545 Thumb Code 1658 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig) - HAL_RTC_GetDate 0x08002bc1 Thumb Code 154 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) - HAL_RTC_GetTime 0x08002c5d Thumb Code 434 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) - HAL_RTC_Init 0x08002e11 Thumb Code 298 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init) - HAL_RTC_MspInit 0x08002f3d Thumb Code 76 rtc.o(.text.HAL_RTC_MspInit) - HAL_RTC_SetDate 0x08002f89 Thumb Code 382 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) - HAL_RTC_SetTime 0x08003109 Thumb Code 322 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) - HAL_RTC_WaitForSynchro 0x0800324d Thumb Code 100 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro) - HAL_SYSTICK_Config 0x080032b1 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config) - HAL_TIMEx_BreakCallback 0x080032c1 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) - HAL_TIMEx_CommutCallback 0x080032c9 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) - HAL_TIMEx_CommutHalfCpltCallback 0x080032d1 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) - HAL_TIMEx_HallSensor_MspDeInit 0x080032d9 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) - HAL_TIMEx_HallSensor_MspInit 0x080032e1 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) - HAL_TIMEx_MasterConfigSynchronization 0x080032e9 Thumb Code 220 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) - HAL_TIM_Base_Init 0x080033c5 Thumb Code 184 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) - HAL_TIM_Base_MspDeInit 0x0800347d Thumb Code 52 tim.o(.text.HAL_TIM_Base_MspDeInit) - HAL_TIM_Base_MspInit 0x080034b1 Thumb Code 78 tim.o(.text.HAL_TIM_Base_MspInit) - HAL_TIM_ConfigClockSource 0x08003501 Thumb Code 388 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource) - HAL_TIM_Encoder_MspDeInit 0x08003685 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) - HAL_TIM_Encoder_MspInit 0x0800368d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) - HAL_TIM_ErrorCallback 0x08003695 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) - HAL_TIM_IC_CaptureCallback 0x0800369d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) - HAL_TIM_IC_CaptureHalfCpltCallback 0x080036a5 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) - HAL_TIM_IC_MspDeInit 0x080036ad Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) - HAL_TIM_IC_MspInit 0x080036b5 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) - HAL_TIM_IRQHandler 0x080036bd Thumb Code 666 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) - HAL_TIM_OC_DelayElapsedCallback 0x08003959 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) - HAL_TIM_OC_MspDeInit 0x08003961 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) - HAL_TIM_OC_MspInit 0x08003969 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) - HAL_TIM_OnePulse_MspDeInit 0x08003971 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) - HAL_TIM_OnePulse_MspInit 0x08003979 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) - HAL_TIM_PWM_MspDeInit 0x08003981 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) - HAL_TIM_PWM_MspInit 0x08003989 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) - HAL_TIM_PWM_PulseFinishedCallback 0x08003991 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) - HAL_TIM_PWM_PulseFinishedHalfCpltCallback 0x08003999 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) - HAL_TIM_PeriodElapsedCallback 0x080039a1 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) - HAL_TIM_PeriodElapsedHalfCpltCallback 0x080039a9 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) - HAL_TIM_RegisterCallback 0x080039b1 Thumb Code 674 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) - HAL_TIM_TriggerCallback 0x08003c55 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) - HAL_TIM_TriggerHalfCpltCallback 0x08003c5d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) - HAL_TIM_UnRegisterCallback 0x08003c65 Thumb Code 900 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) - HardFault_Handler 0x08003fe9 Thumb Code 4 stm32f1xx_it.o(.text.HardFault_Handler) - IsLeapYear 0x08003fed Thumb Code 142 protocan.o(.text.IsLeapYear) - MX_CAN_Init 0x0800407d Thumb Code 78 can.o(.text.MX_CAN_Init) - MX_GPIO_Init 0x080040cd Thumb Code 74 gpio.o(.text.MX_GPIO_Init) - MX_RTC_Init 0x08004119 Thumb Code 148 rtc.o(.text.MX_RTC_Init) - MX_TIM4_Init 0x080041ad Thumb Code 134 tim.o(.text.MX_TIM4_Init) - MemManage_Handler 0x08004235 Thumb Code 4 stm32f1xx_it.o(.text.MemManage_Handler) - NMI_Handler 0x08004239 Thumb Code 4 stm32f1xx_it.o(.text.NMI_Handler) - PROTOCAN_AnalogProcessing 0x080042a9 Thumb Code 232 protocan.o(.text.PROTOCAN_AnalogProcessing) - PROTOCAN_BroadcastProcessing 0x08004391 Thumb Code 196 protocan.o(.text.PROTOCAN_BroadcastProcessing) - PROTOCAN_CONFIG_FILTER 0x08004455 Thumb Code 100 protocan.o(.text.PROTOCAN_CONFIG_FILTER) - PROTOCAN_DEINIT 0x080044b9 Thumb Code 70 protocan.o(.text.PROTOCAN_DEINIT) - PROTOCAN_DiscreticProcessing 0x08004501 Thumb Code 276 protocan.o(.text.PROTOCAN_DiscreticProcessing) - PROTOCAN_FILTERS 0x08004615 Thumb Code 82 protocan.o(.text.PROTOCAN_FILTERS) - PROTOCAN_GeneralAddressSpace_Answer 0x08004669 Thumb Code 216 protocan.o(.text.PROTOCAN_GeneralAddressSpace_Answer) - PROTOCAN_INIT 0x08004741 Thumb Code 264 protocan.o(.text.PROTOCAN_INIT) - PROTOCAN_LOOP 0x08004849 Thumb Code 736 protocan.o(.text.PROTOCAN_LOOP) - PROTOCAN_ModbusProcessing 0x08004b29 Thumb Code 196 protocan.o(.text.PROTOCAN_ModbusProcessing) - PROTOCAN_RTC_SYNC 0x08004bed Thumb Code 164 protocan.o(.text.PROTOCAN_RTC_SYNC) - PendSV_Handler 0x08004c91 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler) - ProtoCanMsgToAnalogISens 0x08004c95 Thumb Code 268 protocan.o(.text.ProtoCanMsgToAnalogISens) - ProtoCanMsgToAnalogTSens 0x08004da1 Thumb Code 268 protocan.o(.text.ProtoCanMsgToAnalogTSens) - ProtoCanMsgToAnalogUSTAVKI 0x08004ead Thumb Code 134 protocan.o(.text.ProtoCanMsgToAnalogUSTAVKI) - ProtoCanMsgToAnalogUSens 0x08004f35 Thumb Code 268 protocan.o(.text.ProtoCanMsgToAnalogUSens) - ProtoCanMsgToAnalogUniversal 0x08005041 Thumb Code 128 protocan.o(.text.ProtoCanMsgToAnalogUniversal) - ProtoCanMsgToBroadcastOnOff 0x080050c1 Thumb Code 46 protocan.o(.text.ProtoCanMsgToBroadcastOnOff) - ProtoCanMsgToBroadcastRestart 0x080050f1 Thumb Code 146 protocan.o(.text.ProtoCanMsgToBroadcastRestart) - ProtoCanMsgToBroadcastRtcSetup 0x08005185 Thumb Code 168 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) - ProtoCanMsgToBroadcastStatus 0x0800522d Thumb Code 218 protocan.o(.text.ProtoCanMsgToBroadcastStatus) - ProtoCanMsgToDiscreteAccident 0x08005309 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteAccident) - ProtoCanMsgToDiscreteChangeMode 0x08005321 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) - ProtoCanMsgToDiscreteControlSignals 0x08005339 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) - ProtoCanMsgToDiscreteFlags 0x08005351 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteFlags) - ProtoCanMsgToDiscreteRequestListOfParameters 0x08005369 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) - ProtoCanMsgToDiscreteReset 0x08005381 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteReset) - ProtoCanMsgToDiscreteWarning 0x08005399 Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteWarning) - ProtoCanMsgToModbusCoil 0x080053b1 Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusCoil) - ProtoCanMsgToModbusDiscrete 0x0800544d Thumb Code 156 protocan.o(.text.ProtoCanMsgToModbusDiscrete) - ProtoCanMsgToModbusHolding 0x080054e9 Thumb Code 156 protocan.o(.text.ProtoCanMsgToModbusHolding) - ProtoCanMsgToModbusInput 0x08005585 Thumb Code 156 protocan.o(.text.ProtoCanMsgToModbusInput) - ProtoCanPulseCallback 0x08005621 Thumb Code 212 protocan.o(.text.ProtoCanPulseCallback) - ProtoCanRxFifo0MsgPendingCallback 0x080056f5 Thumb Code 214 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) - SVC_Handler 0x08005d31 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler) - SysTick_Handler 0x08005d89 Thumb Code 8 stm32f1xx_it.o(.text.SysTick_Handler) - SystemClock_Config 0x08005d91 Thumb Code 156 main.o(.text.SystemClock_Config) - SystemInit 0x08005e2d Thumb Code 2 system_stm32f1xx.o(.text.SystemInit) - TIM4_IRQHandler 0x08005e31 Thumb Code 16 stm32f1xx_it.o(.text.TIM4_IRQHandler) - TIM_Base_SetConfig 0x08005e41 Thumb Code 240 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) - TIM_ETR_SetConfig 0x08005f31 Thumb Code 52 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig) - TIM_ResetCallback 0x08005f91 Thumb Code 190 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) - TakeRxMsgToBuffer 0x080060f5 Thumb Code 208 protocan.o(.text.TakeRxMsgToBuffer) - USB_HP_CAN1_TX_IRQHandler 0x080061c5 Thumb Code 16 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler) - USB_LP_CAN1_RX0_IRQHandler 0x080061d5 Thumb Code 16 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler) - UsageFault_Handler 0x080061e5 Thumb Code 4 stm32f1xx_it.o(.text.UsageFault_Handler) - main 0x08006309 Thumb Code 102 main.o(.text.main) - AHBPrescTable 0x080063d0 Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable) - APBPrescTable 0x080063e0 Data 8 system_stm32f1xx.o(.rodata.APBPrescTable) - Region$$Table$$Base 0x0800640c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x0800642c Number 0 anon$$obj.o(Region$$Table) + CanRequestError 0x08000499 Thumb Code 120 protocan.o(.text.CanRequestError) + DebugMon_Handler 0x08000511 Thumb Code 2 stm32f1xx_it.o(.text.DebugMon_Handler) + Error_Handler 0x08000515 Thumb Code 14 main.o(.text.Error_Handler) + HAL_CAN_ActivateNotification 0x08000525 Thumb Code 82 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) + HAL_CAN_AddTxMessage 0x08000579 Thumb Code 342 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) + HAL_CAN_ConfigFilter 0x080006d1 Thumb Code 378 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) + HAL_CAN_ErrorCallback 0x0800084d Thumb Code 414 canerrorbox.o(.text.HAL_CAN_ErrorCallback) + HAL_CAN_GetRxMessage 0x080009ed Thumb Code 530 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) + HAL_CAN_IRQHandler 0x08000c01 Thumb Code 1010 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) + HAL_CAN_Init 0x08000ff5 Thumb Code 658 stm32f1xx_hal_can.o(.text.HAL_CAN_Init) + HAL_CAN_MspDeInit 0x08001289 Thumb Code 86 can.o(.text.HAL_CAN_MspDeInit) + HAL_CAN_MspInit 0x080012e1 Thumb Code 226 can.o(.text.HAL_CAN_MspInit) + HAL_CAN_RegisterCallback 0x080013c5 Thumb Code 382 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) + HAL_CAN_RxFifo0FullCallback 0x08001545 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) + HAL_CAN_RxFifo0MsgPendingCallback 0x0800154d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) + HAL_CAN_RxFifo1FullCallback 0x08001555 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) + HAL_CAN_RxFifo1MsgPendingCallback 0x0800155d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) + HAL_CAN_SleepCallback 0x08001565 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) + HAL_CAN_Start 0x0800156d Thumb Code 138 stm32f1xx_hal_can.o(.text.HAL_CAN_Start) + HAL_CAN_TxMailbox0AbortCallback 0x080015f9 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) + HAL_CAN_TxMailbox0CompleteCallback 0x08001601 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) + HAL_CAN_TxMailbox1AbortCallback 0x08001609 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) + HAL_CAN_TxMailbox1CompleteCallback 0x08001611 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) + HAL_CAN_TxMailbox2AbortCallback 0x08001619 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) + HAL_CAN_TxMailbox2CompleteCallback 0x08001621 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) + HAL_CAN_UnRegisterCallback 0x08001629 Thumb Code 454 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) + HAL_CAN_WakeUpFromRxMsgCallback 0x080017f1 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) + HAL_GPIO_DeInit 0x080017f9 Thumb Code 414 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit) + HAL_GPIO_Init 0x08001999 Thumb Code 798 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init) + HAL_GetTick 0x08001cb9 Thumb Code 12 stm32f1xx_hal.o(.text.HAL_GetTick) + HAL_IncTick 0x08001cc5 Thumb Code 26 stm32f1xx_hal.o(.text.HAL_IncTick) + HAL_Init 0x08001ce1 Thumb Code 38 stm32f1xx_hal.o(.text.HAL_Init) + HAL_InitTick 0x08001d09 Thumb Code 112 stm32f1xx_hal.o(.text.HAL_InitTick) + HAL_MspInit 0x08001d79 Thumb Code 66 stm32f1xx_hal_msp.o(.text.HAL_MspInit) + HAL_NVIC_DisableIRQ 0x08001dbd Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ) + HAL_NVIC_EnableIRQ 0x08001dd1 Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x08001de5 Thumb Code 50 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08001e19 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping) + HAL_PWR_EnableBkUpAccess 0x08001e29 Thumb Code 12 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess) + HAL_RCCEx_GetPeriphCLKFreq 0x08001e35 Thumb Code 406 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq) + HAL_RCCEx_PeriphCLKConfig 0x08001fcd Thumb Code 456 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig) + HAL_RCC_ClockConfig 0x08002195 Thumb Code 598 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig) + HAL_RCC_GetHCLKFreq 0x080023ed Thumb Code 12 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq) + HAL_RCC_GetPCLK2Freq 0x080023f9 Thumb Code 34 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x0800241d Thumb Code 188 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq) + HAL_RCC_MCOConfig 0x080024d9 Thumb Code 104 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig) + HAL_RCC_OscConfig 0x08002541 Thumb Code 1658 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig) + HAL_RTC_GetDate 0x08002bbd Thumb Code 154 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) + HAL_RTC_GetTime 0x08002c59 Thumb Code 434 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) + HAL_RTC_Init 0x08002e0d Thumb Code 298 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init) + HAL_RTC_MspInit 0x08002f39 Thumb Code 76 rtc.o(.text.HAL_RTC_MspInit) + HAL_RTC_SetDate 0x08002f85 Thumb Code 382 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) + HAL_RTC_SetTime 0x08003105 Thumb Code 322 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) + HAL_RTC_WaitForSynchro 0x08003249 Thumb Code 100 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro) + HAL_SYSTICK_Config 0x080032ad Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config) + HAL_TIMEx_BreakCallback 0x080032bd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) + HAL_TIMEx_CommutCallback 0x080032c5 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) + HAL_TIMEx_CommutHalfCpltCallback 0x080032cd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) + HAL_TIMEx_HallSensor_MspDeInit 0x080032d5 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) + HAL_TIMEx_HallSensor_MspInit 0x080032dd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) + HAL_TIMEx_MasterConfigSynchronization 0x080032e5 Thumb Code 220 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) + HAL_TIM_Base_Init 0x080033c1 Thumb Code 184 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) + HAL_TIM_Base_MspDeInit 0x08003479 Thumb Code 52 tim.o(.text.HAL_TIM_Base_MspDeInit) + HAL_TIM_Base_MspInit 0x080034ad Thumb Code 78 tim.o(.text.HAL_TIM_Base_MspInit) + HAL_TIM_ConfigClockSource 0x080034fd Thumb Code 388 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource) + HAL_TIM_Encoder_MspDeInit 0x08003681 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) + HAL_TIM_Encoder_MspInit 0x08003689 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) + HAL_TIM_ErrorCallback 0x08003691 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) + HAL_TIM_IC_CaptureCallback 0x08003699 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) + HAL_TIM_IC_CaptureHalfCpltCallback 0x080036a1 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) + HAL_TIM_IC_MspDeInit 0x080036a9 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) + HAL_TIM_IC_MspInit 0x080036b1 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) + HAL_TIM_IRQHandler 0x080036b9 Thumb Code 666 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) + HAL_TIM_OC_DelayElapsedCallback 0x08003955 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) + HAL_TIM_OC_MspDeInit 0x0800395d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) + HAL_TIM_OC_MspInit 0x08003965 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) + HAL_TIM_OnePulse_MspDeInit 0x0800396d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) + HAL_TIM_OnePulse_MspInit 0x08003975 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) + HAL_TIM_PWM_MspDeInit 0x0800397d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) + HAL_TIM_PWM_MspInit 0x08003985 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) + HAL_TIM_PWM_PulseFinishedCallback 0x0800398d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) + HAL_TIM_PWM_PulseFinishedHalfCpltCallback 0x08003995 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) + HAL_TIM_PeriodElapsedCallback 0x0800399d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) + HAL_TIM_PeriodElapsedHalfCpltCallback 0x080039a5 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) + HAL_TIM_RegisterCallback 0x080039ad Thumb Code 674 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) + HAL_TIM_TriggerCallback 0x08003c51 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) + HAL_TIM_TriggerHalfCpltCallback 0x08003c59 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) + HAL_TIM_UnRegisterCallback 0x08003c61 Thumb Code 900 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) + HardFault_Handler 0x08003fe5 Thumb Code 4 stm32f1xx_it.o(.text.HardFault_Handler) + IsLeapYear 0x08003fe9 Thumb Code 142 protocan.o(.text.IsLeapYear) + MX_CAN_Init 0x08004079 Thumb Code 78 can.o(.text.MX_CAN_Init) + MX_GPIO_Init 0x080040c9 Thumb Code 74 gpio.o(.text.MX_GPIO_Init) + MX_RTC_Init 0x08004115 Thumb Code 148 rtc.o(.text.MX_RTC_Init) + MX_TIM4_Init 0x080041a9 Thumb Code 134 tim.o(.text.MX_TIM4_Init) + MemManage_Handler 0x08004231 Thumb Code 4 stm32f1xx_it.o(.text.MemManage_Handler) + NMI_Handler 0x08004235 Thumb Code 4 stm32f1xx_it.o(.text.NMI_Handler) + PROTOCAN_AnalogProcessing 0x080042a5 Thumb Code 228 protocan.o(.text.PROTOCAN_AnalogProcessing) + PROTOCAN_BroadcastProcessing 0x08004389 Thumb Code 192 protocan.o(.text.PROTOCAN_BroadcastProcessing) + PROTOCAN_CONFIG_FILTER 0x08004449 Thumb Code 100 protocan.o(.text.PROTOCAN_CONFIG_FILTER) + PROTOCAN_DEINIT 0x080044ad Thumb Code 70 protocan.o(.text.PROTOCAN_DEINIT) + PROTOCAN_DiscreticProcessing 0x080044f5 Thumb Code 272 protocan.o(.text.PROTOCAN_DiscreticProcessing) + PROTOCAN_FILTERS 0x08004605 Thumb Code 62 protocan.o(.text.PROTOCAN_FILTERS) + PROTOCAN_INIT 0x08004645 Thumb Code 264 protocan.o(.text.PROTOCAN_INIT) + PROTOCAN_LOOP 0x0800474d Thumb Code 836 protocan.o(.text.PROTOCAN_LOOP) + PROTOCAN_ModbusProcessing 0x08004a91 Thumb Code 196 protocan.o(.text.PROTOCAN_ModbusProcessing) + PROTOCAN_RTC_SYNC 0x08004b55 Thumb Code 164 protocan.o(.text.PROTOCAN_RTC_SYNC) + PROTOCAN_SEND 0x08004bf9 Thumb Code 64 protocan.o(.text.PROTOCAN_SEND) + PROTOCAN_SEND_GENERAL_ADDRESS_SPACE 0x08004c39 Thumb Code 282 protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) + PendSV_Handler 0x08004d55 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler) + ProtoCanMsgToAnalogISens 0x08004d59 Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogISens) + ProtoCanMsgToAnalogSettings 0x08004e65 Thumb Code 134 protocan.o(.text.ProtoCanMsgToAnalogSettings) + ProtoCanMsgToAnalogTSens 0x08004eed Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogTSens) + ProtoCanMsgToAnalogUSens 0x08004ff9 Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogUSens) + ProtoCanMsgToAnalogUniversal 0x08005105 Thumb Code 128 protocan.o(.text.ProtoCanMsgToAnalogUniversal) + ProtoCanMsgToBroadcastOnOff 0x08005185 Thumb Code 48 protocan.o(.text.ProtoCanMsgToBroadcastOnOff) + ProtoCanMsgToBroadcastRestart 0x080051b5 Thumb Code 160 protocan.o(.text.ProtoCanMsgToBroadcastRestart) + ProtoCanMsgToBroadcastRtcSetup 0x08005255 Thumb Code 192 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) + ProtoCanMsgToBroadcastStatus 0x08005315 Thumb Code 218 protocan.o(.text.ProtoCanMsgToBroadcastStatus) + ProtoCanMsgToDiscreteAccident 0x080053f1 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteAccident) + ProtoCanMsgToDiscreteChangeMode 0x0800540d Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) + ProtoCanMsgToDiscreteControlSignals 0x08005429 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) + ProtoCanMsgToDiscreteFlags 0x08005445 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteFlags) + ProtoCanMsgToDiscreteRequestListOfParameters 0x08005461 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) + ProtoCanMsgToDiscreteReset 0x0800547d Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteReset) + ProtoCanMsgToDiscreteWarning 0x08005495 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteWarning) + ProtoCanMsgToGeneralAddressSpace 0x080054b1 Thumb Code 216 protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) + ProtoCanMsgToModbusCoil 0x08005589 Thumb Code 152 protocan.o(.text.ProtoCanMsgToModbusCoil) + ProtoCanMsgToModbusDiscrete 0x08005621 Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusDiscrete) + ProtoCanMsgToModbusHolding 0x080056bd Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusHolding) + ProtoCanMsgToModbusInput 0x08005759 Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusInput) + ProtoCanPulseCallback 0x080057f5 Thumb Code 212 protocan.o(.text.ProtoCanPulseCallback) + ProtoCanRxFifo0MsgPendingCallback 0x080058c9 Thumb Code 214 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) + SVC_Handler 0x08005f05 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler) + SysTick_Handler 0x08005f5d Thumb Code 8 stm32f1xx_it.o(.text.SysTick_Handler) + SystemClock_Config 0x08005f65 Thumb Code 156 main.o(.text.SystemClock_Config) + SystemInit 0x08006001 Thumb Code 2 system_stm32f1xx.o(.text.SystemInit) + TIM4_IRQHandler 0x08006005 Thumb Code 16 stm32f1xx_it.o(.text.TIM4_IRQHandler) + TIM_Base_SetConfig 0x08006015 Thumb Code 240 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) + TIM_ETR_SetConfig 0x08006105 Thumb Code 52 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig) + TIM_ResetCallback 0x08006165 Thumb Code 190 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) + TakeRxMsgToBuffer 0x080062c9 Thumb Code 208 protocan.o(.text.TakeRxMsgToBuffer) + USB_HP_CAN1_TX_IRQHandler 0x08006399 Thumb Code 16 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler) + USB_LP_CAN1_RX0_IRQHandler 0x080063a9 Thumb Code 16 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler) + UsageFault_Handler 0x080063b9 Thumb Code 4 stm32f1xx_it.o(.text.UsageFault_Handler) + main 0x080064dd Thumb Code 102 main.o(.text.main) + AHBPrescTable 0x080065a4 Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable) + APBPrescTable 0x080065b4 Data 8 system_stm32f1xx.o(.rodata.APBPrescTable) + Region$$Table$$Base 0x080065e0 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08006600 Number 0 anon$$obj.o(Region$$Table) CurrentStep 0x20000000 Data 1 protocan.o(.data.CurrentStep) SystemCoreClock 0x20000004 Data 4 system_stm32f1xx.o(.data.SystemCoreClock) - filter1_id 0x20000008 Data 4 protocan.o(.data.filter1_id) - filter1_mask 0x2000000c Data 4 protocan.o(.data.filter1_mask) - filter2_mask 0x20000010 Data 4 protocan.o(.data.filter2_mask) - filter3_id 0x20000014 Data 4 protocan.o(.data.filter3_id) - filter3_mask 0x20000018 Data 4 protocan.o(.data.filter3_mask) - uwTickFreq 0x2000001c Data 1 stm32f1xx_hal.o(.data.uwTickFreq) - uwTickPrio 0x20000020 Data 4 stm32f1xx_hal.o(.data.uwTickPrio) - __libspace_start 0x20000028 Data 96 libspace.o(.bss) - CanErrors 0x20000088 Data 88 canerrorbox.o(.bss.CanErrors) - __temporary_stack_top$libspace 0x20000088 Data 0 libspace.o(.bss) - ControlFlags 0x200000e0 Data 4 protocan.o(.bss.ControlFlags) - Device_on_the_Network 0x200000e4 Data 2048 protocan.o(.bss.Device_on_the_Network) - LastStep 0x200008e4 Data 1 protocan.o(.bss.LastStep) - _HCAN 0x200008ec Data 4 protocan.o(.bss._HCAN) - _HRTC 0x200008f0 Data 4 protocan.o(.bss._HRTC) - _HTIM 0x200008f4 Data 4 protocan.o(.bss._HTIM) - filter2_id 0x200008f8 Data 4 protocan.o(.bss.filter2_id) - hcan 0x200008fc Data 100 can.o(.bss.hcan) - hrtc 0x20000960 Data 20 rtc.o(.bss.hrtc) - htim4 0x20000974 Data 180 tim.o(.bss.htim4) - rxMsg 0x20000a28 Data 2560 protocan.o(.bss.rxMsg) - uwTick 0x20001428 Data 4 stm32f1xx_hal.o(.bss.uwTick) + uwTickFreq 0x20000008 Data 1 stm32f1xx_hal.o(.data.uwTickFreq) + uwTickPrio 0x2000000c Data 4 stm32f1xx_hal.o(.data.uwTickPrio) + __libspace_start 0x20000010 Data 96 libspace.o(.bss) + CanErrors 0x20000070 Data 88 canerrorbox.o(.bss.CanErrors) + __temporary_stack_top$libspace 0x20000070 Data 0 libspace.o(.bss) + ControlFlags 0x200000c8 Data 4 protocan.o(.bss.ControlFlags) + Device_on_the_Network 0x200000cc Data 2048 protocan.o(.bss.Device_on_the_Network) + LastStep 0x200008cc Data 1 protocan.o(.bss.LastStep) + _HCAN 0x200008d4 Data 4 protocan.o(.bss._HCAN) + _HRTC 0x200008d8 Data 4 protocan.o(.bss._HRTC) + _HTIM 0x200008dc Data 4 protocan.o(.bss._HTIM) + hcan 0x200008e0 Data 100 can.o(.bss.hcan) + hrtc 0x20000944 Data 20 rtc.o(.bss.hrtc) + htim4 0x20000958 Data 180 tim.o(.bss.htim4) + rxMsg 0x20000a0c Data 2560 protocan.o(.bss.rxMsg) + uwTick 0x2000140c Data 4 stm32f1xx_hal.o(.bss.uwTick) @@ -2803,77 +2804,77 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00006458, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00006610, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x0000642c, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00006600, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000008 Code RO 1207 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 1372 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 1374 !!handler_copy c_w.l(__scatter_copy.o) + 0x080000ec 0x080000ec 0x00000008 Code RO 1206 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 1371 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 1373 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 1376 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000002 Code RO 1234 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x08000162 0x08000162 0x00000000 Code RO 1241 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1243 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1245 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1248 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1250 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1252 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1255 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1257 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1259 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1261 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1263 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1265 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1267 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1269 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1271 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1273 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1275 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1279 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1281 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1283 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 1285 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000002 Code RO 1286 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) - 0x08000164 0x08000164 0x00000002 Code RO 1308 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000166 0x08000166 0x00000000 Code RO 1323 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1325 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1328 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1331 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1333 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 1336 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000002 Code RO 1337 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x08000168 0x08000168 0x00000000 Code RO 1209 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000168 0x08000168 0x00000000 Code RO 1211 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000168 0x08000168 0x00000006 Code RO 1223 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800016e 0x0800016e 0x00000000 Code RO 1213 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800016e 0x0800016e 0x00000004 Code RO 1214 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000000 Code RO 1216 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000008 Code RO 1217 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800017a 0x0800017a 0x00000002 Code RO 1238 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800017c 0x0800017c 0x00000000 Code RO 1288 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800017c 0x0800017c 0x00000004 Code RO 1289 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000180 0x08000180 0x00000006 Code RO 1290 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 1375 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000002 Code RO 1233 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000162 0x08000162 0x00000000 Code RO 1240 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1242 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1244 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1247 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1249 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1251 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1254 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1256 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1258 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1260 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1262 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1264 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1266 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1268 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1270 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1272 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1274 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1278 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1280 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1282 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 1284 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000002 Code RO 1285 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) + 0x08000164 0x08000164 0x00000002 Code RO 1307 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000166 0x08000166 0x00000000 Code RO 1322 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1324 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1327 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1330 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1332 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 1335 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000002 Code RO 1336 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x08000168 0x08000168 0x00000000 Code RO 1208 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000168 0x08000168 0x00000000 Code RO 1210 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000168 0x08000168 0x00000006 Code RO 1222 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800016e 0x0800016e 0x00000000 Code RO 1212 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800016e 0x0800016e 0x00000004 Code RO 1213 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000000 Code RO 1215 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000008 Code RO 1216 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000002 Code RO 1237 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 1287 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800017c 0x0800017c 0x00000004 Code RO 1288 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000180 0x08000180 0x00000006 Code RO 1289 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000186 0x08000186 0x00000002 PAD 0x08000188 0x08000188 0x00000040 Code RO 4 .text startup_stm32f103xb.o - 0x080001c8 0x080001c8 0x00000064 Code RO 1201 .text c_w.l(rt_memcpy_w.o) - 0x0800022c 0x0800022c 0x0000004e Code RO 1203 .text c_w.l(rt_memclr_w.o) - 0x0800027a 0x0800027a 0x00000006 Code RO 1205 .text c_w.l(heapauxi.o) - 0x08000280 0x08000280 0x0000004a Code RO 1225 .text c_w.l(sys_stackheap_outer.o) - 0x080002ca 0x080002ca 0x00000012 Code RO 1227 .text c_w.l(exit.o) - 0x080002dc 0x080002dc 0x00000008 Code RO 1235 .text c_w.l(libspace.o) - 0x080002e4 0x080002e4 0x0000000c Code RO 1298 .text c_w.l(sys_exit.o) - 0x080002f0 0x080002f0 0x00000002 Code RO 1313 .text c_w.l(use_no_semi.o) - 0x080002f2 0x080002f2 0x00000000 Code RO 1315 .text c_w.l(indicate_semi.o) + 0x080001c8 0x080001c8 0x00000064 Code RO 1200 .text c_w.l(rt_memcpy_w.o) + 0x0800022c 0x0800022c 0x0000004e Code RO 1202 .text c_w.l(rt_memclr_w.o) + 0x0800027a 0x0800027a 0x00000006 Code RO 1204 .text c_w.l(heapauxi.o) + 0x08000280 0x08000280 0x0000004a Code RO 1224 .text c_w.l(sys_stackheap_outer.o) + 0x080002ca 0x080002ca 0x00000012 Code RO 1226 .text c_w.l(exit.o) + 0x080002dc 0x080002dc 0x00000008 Code RO 1234 .text c_w.l(libspace.o) + 0x080002e4 0x080002e4 0x0000000c Code RO 1297 .text c_w.l(sys_exit.o) + 0x080002f0 0x080002f0 0x00000002 Code RO 1312 .text c_w.l(use_no_semi.o) + 0x080002f2 0x080002f2 0x00000000 Code RO 1314 .text c_w.l(indicate_semi.o) 0x080002f2 0x080002f2 0x00000002 PAD 0x080002f4 0x080002f4 0x0000001e Code RO 67 .text.AvailableCanRxMsg protocan.o 0x08000312 0x08000312 0x00000002 PAD - 0x08000314 0x08000314 0x00000004 Code RO 235 .text.BusFault_Handler stm32f1xx_it.o - 0x08000318 0x08000318 0x00000010 Code RO 251 .text.CAN1_RX1_IRQHandler stm32f1xx_it.o - 0x08000328 0x08000328 0x00000010 Code RO 253 .text.CAN1_SCE_IRQHandler stm32f1xx_it.o + 0x08000314 0x08000314 0x00000004 Code RO 234 .text.BusFault_Handler stm32f1xx_it.o + 0x08000318 0x08000318 0x00000010 Code RO 250 .text.CAN1_RX1_IRQHandler stm32f1xx_it.o + 0x08000328 0x08000328 0x00000010 Code RO 252 .text.CAN1_SCE_IRQHandler stm32f1xx_it.o 0x08000338 0x08000338 0x00000010 Code RO 21 .text.CanErrorCallbackACK canerrorbox.o 0x08000348 0x08000348 0x00000010 Code RO 25 .text.CanErrorCallbackBD canerrorbox.o 0x08000358 0x08000358 0x00000010 Code RO 15 .text.CanErrorCallbackBOF canerrorbox.o @@ -2896,281 +2897,284 @@ Memory Map of the image 0x08000468 0x08000468 0x00000010 Code RO 35 .text.CanErrorCallbackTXTERR0 canerrorbox.o 0x08000478 0x08000478 0x00000010 Code RO 39 .text.CanErrorCallbackTXTERR1 canerrorbox.o 0x08000488 0x08000488 0x00000010 Code RO 43 .text.CanErrorCallbackTXTERR2 canerrorbox.o - 0x08000498 0x08000498 0x0000007a Code RO 91 .text.CanRequestError protocan.o + 0x08000498 0x08000498 0x00000078 Code RO 91 .text.CanRequestError protocan.o + 0x08000510 0x08000510 0x00000002 Code RO 240 .text.DebugMon_Handler stm32f1xx_it.o 0x08000512 0x08000512 0x00000002 PAD - 0x08000514 0x08000514 0x00000002 Code RO 241 .text.DebugMon_Handler stm32f1xx_it.o - 0x08000516 0x08000516 0x00000002 PAD - 0x08000518 0x08000518 0x0000000e Code RO 169 .text.Error_Handler main.o - 0x08000526 0x08000526 0x00000002 PAD - 0x08000528 0x08000528 0x00000052 Code RO 349 .text.HAL_CAN_ActivateNotification stm32f1xx_hal_can.o - 0x0800057a 0x0800057a 0x00000002 PAD - 0x0800057c 0x0800057c 0x00000156 Code RO 335 .text.HAL_CAN_AddTxMessage stm32f1xx_hal_can.o - 0x080006d2 0x080006d2 0x00000002 PAD - 0x080006d4 0x080006d4 0x0000017a Code RO 325 .text.HAL_CAN_ConfigFilter stm32f1xx_hal_can.o - 0x0800084e 0x0800084e 0x00000002 PAD - 0x08000850 0x08000850 0x0000019e Code RO 55 .text.HAL_CAN_ErrorCallback canerrorbox.o - 0x080009ee 0x080009ee 0x00000002 PAD - 0x080009f0 0x080009f0 0x00000212 Code RO 345 .text.HAL_CAN_GetRxMessage stm32f1xx_hal_can.o - 0x08000c02 0x08000c02 0x00000002 PAD - 0x08000c04 0x08000c04 0x000003f2 Code RO 353 .text.HAL_CAN_IRQHandler stm32f1xx_hal_can.o - 0x08000ff6 0x08000ff6 0x00000002 PAD - 0x08000ff8 0x08000ff8 0x00000292 Code RO 285 .text.HAL_CAN_Init stm32f1xx_hal_can.o - 0x0800128a 0x0800128a 0x00000002 PAD - 0x0800128c 0x0800128c 0x00000056 Code RO 191 .text.HAL_CAN_MspDeInit can.o - 0x080012e2 0x080012e2 0x00000002 PAD - 0x080012e4 0x080012e4 0x000000e2 Code RO 189 .text.HAL_CAN_MspInit can.o - 0x080013c6 0x080013c6 0x00000002 PAD - 0x080013c8 0x080013c8 0x0000017e Code RO 321 .text.HAL_CAN_RegisterCallback stm32f1xx_hal_can.o - 0x08001546 0x08001546 0x00000002 PAD - 0x08001548 0x08001548 0x00000008 Code RO 289 .text.HAL_CAN_RxFifo0FullCallback stm32f1xx_hal_can.o - 0x08001550 0x08001550 0x00000008 Code RO 287 .text.HAL_CAN_RxFifo0MsgPendingCallback stm32f1xx_hal_can.o - 0x08001558 0x08001558 0x00000008 Code RO 293 .text.HAL_CAN_RxFifo1FullCallback stm32f1xx_hal_can.o - 0x08001560 0x08001560 0x00000008 Code RO 291 .text.HAL_CAN_RxFifo1MsgPendingCallback stm32f1xx_hal_can.o - 0x08001568 0x08001568 0x00000008 Code RO 307 .text.HAL_CAN_SleepCallback stm32f1xx_hal_can.o - 0x08001570 0x08001570 0x0000008a Code RO 327 .text.HAL_CAN_Start stm32f1xx_hal_can.o - 0x080015fa 0x080015fa 0x00000002 PAD - 0x080015fc 0x080015fc 0x00000008 Code RO 301 .text.HAL_CAN_TxMailbox0AbortCallback stm32f1xx_hal_can.o - 0x08001604 0x08001604 0x00000008 Code RO 295 .text.HAL_CAN_TxMailbox0CompleteCallback stm32f1xx_hal_can.o - 0x0800160c 0x0800160c 0x00000008 Code RO 303 .text.HAL_CAN_TxMailbox1AbortCallback stm32f1xx_hal_can.o - 0x08001614 0x08001614 0x00000008 Code RO 297 .text.HAL_CAN_TxMailbox1CompleteCallback stm32f1xx_hal_can.o - 0x0800161c 0x0800161c 0x00000008 Code RO 305 .text.HAL_CAN_TxMailbox2AbortCallback stm32f1xx_hal_can.o - 0x08001624 0x08001624 0x00000008 Code RO 299 .text.HAL_CAN_TxMailbox2CompleteCallback stm32f1xx_hal_can.o - 0x0800162c 0x0800162c 0x000001c6 Code RO 323 .text.HAL_CAN_UnRegisterCallback stm32f1xx_hal_can.o - 0x080017f2 0x080017f2 0x00000002 PAD - 0x080017f4 0x080017f4 0x00000008 Code RO 309 .text.HAL_CAN_WakeUpFromRxMsgCallback stm32f1xx_hal_can.o - 0x080017fc 0x080017fc 0x0000019e Code RO 484 .text.HAL_GPIO_DeInit stm32f1xx_hal_gpio.o - 0x0800199a 0x0800199a 0x00000002 PAD - 0x0800199c 0x0800199c 0x0000031e Code RO 482 .text.HAL_GPIO_Init stm32f1xx_hal_gpio.o - 0x08001cba 0x08001cba 0x00000002 PAD - 0x08001cbc 0x08001cbc 0x0000000c Code RO 380 .text.HAL_GetTick stm32f1xx_hal.o - 0x08001cc8 0x08001cc8 0x0000001a Code RO 378 .text.HAL_IncTick stm32f1xx_hal.o - 0x08001ce2 0x08001ce2 0x00000002 PAD - 0x08001ce4 0x08001ce4 0x00000026 Code RO 368 .text.HAL_Init stm32f1xx_hal.o - 0x08001d0a 0x08001d0a 0x00000002 PAD - 0x08001d0c 0x08001d0c 0x00000070 Code RO 370 .text.HAL_InitTick stm32f1xx_hal.o - 0x08001d7c 0x08001d7c 0x00000042 Code RO 264 .text.HAL_MspInit stm32f1xx_hal_msp.o - 0x08001dbe 0x08001dbe 0x00000002 PAD - 0x08001dc0 0x08001dc0 0x00000014 Code RO 554 .text.HAL_NVIC_DisableIRQ stm32f1xx_hal_cortex.o - 0x08001dd4 0x08001dd4 0x00000014 Code RO 550 .text.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o - 0x08001de8 0x08001de8 0x00000032 Code RO 542 .text.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08001e1a 0x08001e1a 0x00000002 PAD - 0x08001e1c 0x08001e1c 0x00000010 Code RO 538 .text.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x08001e2c 0x08001e2c 0x0000000c Code RO 605 .text.HAL_PWR_EnableBkUpAccess stm32f1xx_hal_pwr.o - 0x08001e38 0x08001e38 0x00000196 Code RO 471 .text.HAL_RCCEx_GetPeriphCLKFreq stm32f1xx_hal_rcc_ex.o - 0x08001fce 0x08001fce 0x00000002 PAD - 0x08001fd0 0x08001fd0 0x000001c8 Code RO 467 .text.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o - 0x08002198 0x08002198 0x00000256 Code RO 434 .text.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o - 0x080023ee 0x080023ee 0x00000002 PAD - 0x080023f0 0x080023f0 0x0000000c Code RO 444 .text.HAL_RCC_GetHCLKFreq stm32f1xx_hal_rcc.o - 0x080023fc 0x080023fc 0x00000022 Code RO 448 .text.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o - 0x0800241e 0x0800241e 0x00000002 PAD - 0x08002420 0x08002420 0x000000bc Code RO 436 .text.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o - 0x080024dc 0x080024dc 0x00000068 Code RO 438 .text.HAL_RCC_MCOConfig stm32f1xx_hal_rcc.o - 0x08002544 0x08002544 0x0000067a Code RO 430 .text.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o - 0x08002bbe 0x08002bbe 0x00000002 PAD - 0x08002bc0 0x08002bc0 0x0000009a Code RO 782 .text.HAL_RTC_GetDate stm32f1xx_hal_rtc.o - 0x08002c5a 0x08002c5a 0x00000002 PAD - 0x08002c5c 0x08002c5c 0x000001b2 Code RO 770 .text.HAL_RTC_GetTime stm32f1xx_hal_rtc.o - 0x08002e0e 0x08002e0e 0x00000002 PAD - 0x08002e10 0x08002e10 0x0000012a Code RO 746 .text.HAL_RTC_Init stm32f1xx_hal_rtc.o - 0x08002f3a 0x08002f3a 0x00000002 PAD - 0x08002f3c 0x08002f3c 0x0000004c Code RO 203 .text.HAL_RTC_MspInit rtc.o - 0x08002f88 0x08002f88 0x0000017e Code RO 778 .text.HAL_RTC_SetDate stm32f1xx_hal_rtc.o - 0x08003106 0x08003106 0x00000002 PAD - 0x08003108 0x08003108 0x00000142 Code RO 760 .text.HAL_RTC_SetTime stm32f1xx_hal_rtc.o - 0x0800324a 0x0800324a 0x00000002 PAD - 0x0800324c 0x0800324c 0x00000064 Code RO 750 .text.HAL_RTC_WaitForSynchro stm32f1xx_hal_rtc.o - 0x080032b0 0x080032b0 0x00000010 Code RO 562 .text.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o - 0x080032c0 0x080032c0 0x00000008 Code RO 1173 .text.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o - 0x080032c8 0x080032c8 0x00000008 Code RO 1169 .text.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o - 0x080032d0 0x080032d0 0x00000008 Code RO 1171 .text.HAL_TIMEx_CommutHalfCpltCallback stm32f1xx_hal_tim_ex.o - 0x080032d8 0x080032d8 0x00000008 Code RO 1101 .text.HAL_TIMEx_HallSensor_MspDeInit stm32f1xx_hal_tim_ex.o - 0x080032e0 0x080032e0 0x00000008 Code RO 1097 .text.HAL_TIMEx_HallSensor_MspInit stm32f1xx_hal_tim_ex.o - 0x080032e8 0x080032e8 0x000000dc Code RO 1163 .text.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o - 0x080033c4 0x080033c4 0x000000b8 Code RO 844 .text.HAL_TIM_Base_Init stm32f1xx_hal_tim.o - 0x0800347c 0x0800347c 0x00000034 Code RO 219 .text.HAL_TIM_Base_MspDeInit tim.o - 0x080034b0 0x080034b0 0x0000004e Code RO 217 .text.HAL_TIM_Base_MspInit tim.o - 0x080034fe 0x080034fe 0x00000002 PAD - 0x08003500 0x08003500 0x00000184 Code RO 1028 .text.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o - 0x08003684 0x08003684 0x00000008 Code RO 966 .text.HAL_TIM_Encoder_MspDeInit stm32f1xx_hal_tim.o - 0x0800368c 0x0800368c 0x00000008 Code RO 962 .text.HAL_TIM_Encoder_MspInit stm32f1xx_hal_tim.o - 0x08003694 0x08003694 0x00000008 Code RO 1064 .text.HAL_TIM_ErrorCallback stm32f1xx_hal_tim.o - 0x0800369c 0x0800369c 0x00000008 Code RO 1052 .text.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o - 0x080036a4 0x080036a4 0x00000008 Code RO 1054 .text.HAL_TIM_IC_CaptureHalfCpltCallback stm32f1xx_hal_tim.o - 0x080036ac 0x080036ac 0x00000008 Code RO 926 .text.HAL_TIM_IC_MspDeInit stm32f1xx_hal_tim.o - 0x080036b4 0x080036b4 0x00000008 Code RO 922 .text.HAL_TIM_IC_MspInit stm32f1xx_hal_tim.o - 0x080036bc 0x080036bc 0x0000029a Code RO 980 .text.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o - 0x08003956 0x08003956 0x00000002 PAD - 0x08003958 0x08003958 0x00000008 Code RO 1050 .text.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o - 0x08003960 0x08003960 0x00000008 Code RO 880 .text.HAL_TIM_OC_MspDeInit stm32f1xx_hal_tim.o - 0x08003968 0x08003968 0x00000008 Code RO 876 .text.HAL_TIM_OC_MspInit stm32f1xx_hal_tim.o - 0x08003970 0x08003970 0x00000008 Code RO 950 .text.HAL_TIM_OnePulse_MspDeInit stm32f1xx_hal_tim.o - 0x08003978 0x08003978 0x00000008 Code RO 946 .text.HAL_TIM_OnePulse_MspInit stm32f1xx_hal_tim.o - 0x08003980 0x08003980 0x00000008 Code RO 906 .text.HAL_TIM_PWM_MspDeInit stm32f1xx_hal_tim.o - 0x08003988 0x08003988 0x00000008 Code RO 902 .text.HAL_TIM_PWM_MspInit stm32f1xx_hal_tim.o - 0x08003990 0x08003990 0x00000008 Code RO 1056 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o - 0x08003998 0x08003998 0x00000008 Code RO 1058 .text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback stm32f1xx_hal_tim.o - 0x080039a0 0x080039a0 0x00000008 Code RO 1046 .text.HAL_TIM_PeriodElapsedCallback stm32f1xx_hal_tim.o - 0x080039a8 0x080039a8 0x00000008 Code RO 1048 .text.HAL_TIM_PeriodElapsedHalfCpltCallback stm32f1xx_hal_tim.o - 0x080039b0 0x080039b0 0x000002a2 Code RO 1066 .text.HAL_TIM_RegisterCallback stm32f1xx_hal_tim.o - 0x08003c52 0x08003c52 0x00000002 PAD - 0x08003c54 0x08003c54 0x00000008 Code RO 1060 .text.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o - 0x08003c5c 0x08003c5c 0x00000008 Code RO 1062 .text.HAL_TIM_TriggerHalfCpltCallback stm32f1xx_hal_tim.o - 0x08003c64 0x08003c64 0x00000384 Code RO 1068 .text.HAL_TIM_UnRegisterCallback stm32f1xx_hal_tim.o - 0x08003fe8 0x08003fe8 0x00000004 Code RO 231 .text.HardFault_Handler stm32f1xx_it.o - 0x08003fec 0x08003fec 0x0000008e Code RO 65 .text.IsLeapYear protocan.o - 0x0800407a 0x0800407a 0x00000002 PAD - 0x0800407c 0x0800407c 0x0000004e Code RO 187 .text.MX_CAN_Init can.o - 0x080040ca 0x080040ca 0x00000002 PAD - 0x080040cc 0x080040cc 0x0000004a Code RO 179 .text.MX_GPIO_Init gpio.o - 0x08004116 0x08004116 0x00000002 PAD - 0x08004118 0x08004118 0x00000094 Code RO 201 .text.MX_RTC_Init rtc.o - 0x080041ac 0x080041ac 0x00000086 Code RO 215 .text.MX_TIM4_Init tim.o - 0x08004232 0x08004232 0x00000002 PAD - 0x08004234 0x08004234 0x00000004 Code RO 233 .text.MemManage_Handler stm32f1xx_it.o - 0x08004238 0x08004238 0x00000004 Code RO 229 .text.NMI_Handler stm32f1xx_it.o - 0x0800423c 0x0800423c 0x0000006c Code RO 548 .text.NVIC_EncodePriority stm32f1xx_hal_cortex.o - 0x080042a8 0x080042a8 0x000000e8 Code RO 81 .text.PROTOCAN_AnalogProcessing protocan.o - 0x08004390 0x08004390 0x000000c4 Code RO 83 .text.PROTOCAN_BroadcastProcessing protocan.o - 0x08004454 0x08004454 0x00000064 Code RO 139 .text.PROTOCAN_CONFIG_FILTER protocan.o - 0x080044b8 0x080044b8 0x00000046 Code RO 69 .text.PROTOCAN_DEINIT protocan.o - 0x080044fe 0x080044fe 0x00000002 PAD - 0x08004500 0x08004500 0x00000114 Code RO 85 .text.PROTOCAN_DiscreticProcessing protocan.o - 0x08004614 0x08004614 0x00000052 Code RO 77 .text.PROTOCAN_FILTERS protocan.o - 0x08004666 0x08004666 0x00000002 PAD - 0x08004668 0x08004668 0x000000d8 Code RO 87 .text.PROTOCAN_GeneralAddressSpace_Answer protocan.o - 0x08004740 0x08004740 0x00000108 Code RO 71 .text.PROTOCAN_INIT protocan.o - 0x08004848 0x08004848 0x000002e0 Code RO 79 .text.PROTOCAN_LOOP protocan.o - 0x08004b28 0x08004b28 0x000000c4 Code RO 89 .text.PROTOCAN_ModbusProcessing protocan.o - 0x08004bec 0x08004bec 0x000000a4 Code RO 113 .text.PROTOCAN_RTC_SYNC protocan.o - 0x08004c90 0x08004c90 0x00000002 Code RO 243 .text.PendSV_Handler stm32f1xx_it.o - 0x08004c92 0x08004c92 0x00000002 PAD - 0x08004c94 0x08004c94 0x0000010c Code RO 99 .text.ProtoCanMsgToAnalogISens protocan.o - 0x08004da0 0x08004da0 0x0000010c Code RO 101 .text.ProtoCanMsgToAnalogTSens protocan.o - 0x08004eac 0x08004eac 0x00000086 Code RO 95 .text.ProtoCanMsgToAnalogUSTAVKI protocan.o - 0x08004f32 0x08004f32 0x00000002 PAD - 0x08004f34 0x08004f34 0x0000010c Code RO 97 .text.ProtoCanMsgToAnalogUSens protocan.o - 0x08005040 0x08005040 0x00000080 Code RO 93 .text.ProtoCanMsgToAnalogUniversal protocan.o - 0x080050c0 0x080050c0 0x0000002e Code RO 105 .text.ProtoCanMsgToBroadcastOnOff protocan.o - 0x080050ee 0x080050ee 0x00000002 PAD - 0x080050f0 0x080050f0 0x00000092 Code RO 107 .text.ProtoCanMsgToBroadcastRestart protocan.o - 0x08005182 0x08005182 0x00000002 PAD - 0x08005184 0x08005184 0x000000a8 Code RO 109 .text.ProtoCanMsgToBroadcastRtcSetup protocan.o - 0x0800522c 0x0800522c 0x000000da Code RO 103 .text.ProtoCanMsgToBroadcastStatus protocan.o - 0x08005306 0x08005306 0x00000002 PAD - 0x08005308 0x08005308 0x00000018 Code RO 115 .text.ProtoCanMsgToDiscreteAccident protocan.o - 0x08005320 0x08005320 0x00000018 Code RO 125 .text.ProtoCanMsgToDiscreteChangeMode protocan.o - 0x08005338 0x08005338 0x00000018 Code RO 119 .text.ProtoCanMsgToDiscreteControlSignals protocan.o - 0x08005350 0x08005350 0x00000018 Code RO 121 .text.ProtoCanMsgToDiscreteFlags protocan.o - 0x08005368 0x08005368 0x00000018 Code RO 127 .text.ProtoCanMsgToDiscreteRequestListOfParameters protocan.o - 0x08005380 0x08005380 0x00000018 Code RO 123 .text.ProtoCanMsgToDiscreteReset protocan.o - 0x08005398 0x08005398 0x00000018 Code RO 117 .text.ProtoCanMsgToDiscreteWarning protocan.o - 0x080053b0 0x080053b0 0x0000009a Code RO 129 .text.ProtoCanMsgToModbusCoil protocan.o - 0x0800544a 0x0800544a 0x00000002 PAD - 0x0800544c 0x0800544c 0x0000009c Code RO 131 .text.ProtoCanMsgToModbusDiscrete protocan.o - 0x080054e8 0x080054e8 0x0000009c Code RO 133 .text.ProtoCanMsgToModbusHolding protocan.o - 0x08005584 0x08005584 0x0000009c Code RO 135 .text.ProtoCanMsgToModbusInput protocan.o - 0x08005620 0x08005620 0x000000d4 Code RO 75 .text.ProtoCanPulseCallback protocan.o - 0x080056f4 0x080056f4 0x000000d6 Code RO 73 .text.ProtoCanRxFifo0MsgPendingCallback protocan.o - 0x080057ca 0x080057ca 0x00000002 PAD - 0x080057cc 0x080057cc 0x0000003a Code RO 432 .text.RCC_Delay stm32f1xx_hal_rcc.o - 0x08005806 0x08005806 0x00000002 PAD - 0x08005808 0x08005808 0x0000002a Code RO 762 .text.RTC_Bcd2ToByte stm32f1xx_hal_rtc.o - 0x08005832 0x08005832 0x00000002 PAD - 0x08005834 0x08005834 0x0000003a Code RO 776 .text.RTC_ByteToBcd2 stm32f1xx_hal_rtc.o - 0x0800586e 0x0800586e 0x00000002 PAD - 0x08005870 0x08005870 0x00000172 Code RO 774 .text.RTC_DateUpdate stm32f1xx_hal_rtc.o - 0x080059e2 0x080059e2 0x00000002 PAD - 0x080059e4 0x080059e4 0x00000056 Code RO 752 .text.RTC_EnterInitMode stm32f1xx_hal_rtc.o - 0x08005a3a 0x08005a3a 0x00000002 PAD - 0x08005a3c 0x08005a3c 0x00000056 Code RO 754 .text.RTC_ExitInitMode stm32f1xx_hal_rtc.o - 0x08005a92 0x08005a92 0x00000002 PAD - 0x08005a94 0x08005a94 0x00000078 Code RO 800 .text.RTC_IsLeapYear stm32f1xx_hal_rtc.o - 0x08005b0c 0x08005b0c 0x00000032 Code RO 766 .text.RTC_ReadAlarmCounter stm32f1xx_hal_rtc.o - 0x08005b3e 0x08005b3e 0x00000002 PAD - 0x08005b40 0x08005b40 0x0000006a Code RO 772 .text.RTC_ReadTimeCounter stm32f1xx_hal_rtc.o - 0x08005baa 0x08005baa 0x00000002 PAD - 0x08005bac 0x08005bac 0x000000e2 Code RO 780 .text.RTC_WeekDayNum stm32f1xx_hal_rtc.o - 0x08005c8e 0x08005c8e 0x00000002 PAD - 0x08005c90 0x08005c90 0x00000050 Code RO 768 .text.RTC_WriteAlarmCounter stm32f1xx_hal_rtc.o - 0x08005ce0 0x08005ce0 0x00000050 Code RO 764 .text.RTC_WriteTimeCounter stm32f1xx_hal_rtc.o - 0x08005d30 0x08005d30 0x00000002 Code RO 239 .text.SVC_Handler stm32f1xx_it.o - 0x08005d32 0x08005d32 0x00000002 PAD - 0x08005d34 0x08005d34 0x00000052 Code RO 564 .text.SysTick_Config stm32f1xx_hal_cortex.o - 0x08005d86 0x08005d86 0x00000002 PAD - 0x08005d88 0x08005d88 0x00000008 Code RO 245 .text.SysTick_Handler stm32f1xx_it.o - 0x08005d90 0x08005d90 0x0000009c Code RO 167 .text.SystemClock_Config main.o - 0x08005e2c 0x08005e2c 0x00000002 Code RO 1186 .text.SystemInit system_stm32f1xx.o - 0x08005e2e 0x08005e2e 0x00000002 PAD - 0x08005e30 0x08005e30 0x00000010 Code RO 255 .text.TIM4_IRQHandler stm32f1xx_it.o - 0x08005e40 0x08005e40 0x000000f0 Code RO 850 .text.TIM_Base_SetConfig stm32f1xx_hal_tim.o - 0x08005f30 0x08005f30 0x00000034 Code RO 1026 .text.TIM_ETR_SetConfig stm32f1xx_hal_tim.o - 0x08005f64 0x08005f64 0x0000002a Code RO 1032 .text.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o - 0x08005f8e 0x08005f8e 0x00000002 PAD - 0x08005f90 0x08005f90 0x000000be Code RO 846 .text.TIM_ResetCallback stm32f1xx_hal_tim.o - 0x0800604e 0x0800604e 0x00000002 PAD - 0x08006050 0x08006050 0x00000050 Code RO 1030 .text.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o - 0x080060a0 0x080060a0 0x00000052 Code RO 1034 .text.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o - 0x080060f2 0x080060f2 0x00000002 PAD - 0x080060f4 0x080060f4 0x000000d0 Code RO 137 .text.TakeRxMsgToBuffer protocan.o - 0x080061c4 0x080061c4 0x00000010 Code RO 247 .text.USB_HP_CAN1_TX_IRQHandler stm32f1xx_it.o - 0x080061d4 0x080061d4 0x00000010 Code RO 249 .text.USB_LP_CAN1_RX0_IRQHandler stm32f1xx_it.o - 0x080061e4 0x080061e4 0x00000004 Code RO 237 .text.UsageFault_Handler stm32f1xx_it.o - 0x080061e8 0x080061e8 0x00000038 Code RO 556 .text.__NVIC_DisableIRQ stm32f1xx_hal_cortex.o - 0x08006220 0x08006220 0x00000030 Code RO 552 .text.__NVIC_EnableIRQ stm32f1xx_hal_cortex.o - 0x08006250 0x08006250 0x00000010 Code RO 544 .text.__NVIC_GetPriorityGrouping stm32f1xx_hal_cortex.o - 0x08006260 0x08006260 0x00000042 Code RO 546 .text.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x080062a2 0x080062a2 0x00000002 PAD - 0x080062a4 0x080062a4 0x0000003c Code RO 540 .text.__NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x080062e0 0x080062e0 0x00000026 Code RO 111 .text.__NVIC_SystemReset protocan.o - 0x08006306 0x08006306 0x00000002 PAD - 0x08006308 0x08006308 0x00000066 Code RO 165 .text.main main.o - 0x0800636e 0x0800636e 0x00000002 PAD - 0x08006370 0x08006370 0x00000060 Data RO 148 .rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal protocan.o - 0x080063d0 0x080063d0 0x00000010 Data RO 1191 .rodata.AHBPrescTable system_stm32f1xx.o - 0x080063e0 0x080063e0 0x00000008 Data RO 1192 .rodata.APBPrescTable system_stm32f1xx.o - 0x080063e8 0x080063e8 0x00000010 Data RO 473 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable stm32f1xx_hal_rcc_ex.o - 0x080063f8 0x080063f8 0x00000002 Data RO 474 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable stm32f1xx_hal_rcc_ex.o - 0x080063fa 0x080063fa 0x00000010 Data RO 458 .rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable stm32f1xx_hal_rcc.o - 0x0800640a 0x0800640a 0x00000002 Data RO 459 .rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o - 0x0800640c 0x0800640c 0x00000020 Data RO 1371 Region$$Table anon$$obj.o + 0x08000514 0x08000514 0x0000000e Code RO 168 .text.Error_Handler main.o + 0x08000522 0x08000522 0x00000002 PAD + 0x08000524 0x08000524 0x00000052 Code RO 348 .text.HAL_CAN_ActivateNotification stm32f1xx_hal_can.o + 0x08000576 0x08000576 0x00000002 PAD + 0x08000578 0x08000578 0x00000156 Code RO 334 .text.HAL_CAN_AddTxMessage stm32f1xx_hal_can.o + 0x080006ce 0x080006ce 0x00000002 PAD + 0x080006d0 0x080006d0 0x0000017a Code RO 324 .text.HAL_CAN_ConfigFilter stm32f1xx_hal_can.o + 0x0800084a 0x0800084a 0x00000002 PAD + 0x0800084c 0x0800084c 0x0000019e Code RO 55 .text.HAL_CAN_ErrorCallback canerrorbox.o + 0x080009ea 0x080009ea 0x00000002 PAD + 0x080009ec 0x080009ec 0x00000212 Code RO 344 .text.HAL_CAN_GetRxMessage stm32f1xx_hal_can.o + 0x08000bfe 0x08000bfe 0x00000002 PAD + 0x08000c00 0x08000c00 0x000003f2 Code RO 352 .text.HAL_CAN_IRQHandler stm32f1xx_hal_can.o + 0x08000ff2 0x08000ff2 0x00000002 PAD + 0x08000ff4 0x08000ff4 0x00000292 Code RO 284 .text.HAL_CAN_Init stm32f1xx_hal_can.o + 0x08001286 0x08001286 0x00000002 PAD + 0x08001288 0x08001288 0x00000056 Code RO 190 .text.HAL_CAN_MspDeInit can.o + 0x080012de 0x080012de 0x00000002 PAD + 0x080012e0 0x080012e0 0x000000e2 Code RO 188 .text.HAL_CAN_MspInit can.o + 0x080013c2 0x080013c2 0x00000002 PAD + 0x080013c4 0x080013c4 0x0000017e Code RO 320 .text.HAL_CAN_RegisterCallback stm32f1xx_hal_can.o + 0x08001542 0x08001542 0x00000002 PAD + 0x08001544 0x08001544 0x00000008 Code RO 288 .text.HAL_CAN_RxFifo0FullCallback stm32f1xx_hal_can.o + 0x0800154c 0x0800154c 0x00000008 Code RO 286 .text.HAL_CAN_RxFifo0MsgPendingCallback stm32f1xx_hal_can.o + 0x08001554 0x08001554 0x00000008 Code RO 292 .text.HAL_CAN_RxFifo1FullCallback stm32f1xx_hal_can.o + 0x0800155c 0x0800155c 0x00000008 Code RO 290 .text.HAL_CAN_RxFifo1MsgPendingCallback stm32f1xx_hal_can.o + 0x08001564 0x08001564 0x00000008 Code RO 306 .text.HAL_CAN_SleepCallback stm32f1xx_hal_can.o + 0x0800156c 0x0800156c 0x0000008a Code RO 326 .text.HAL_CAN_Start stm32f1xx_hal_can.o + 0x080015f6 0x080015f6 0x00000002 PAD + 0x080015f8 0x080015f8 0x00000008 Code RO 300 .text.HAL_CAN_TxMailbox0AbortCallback stm32f1xx_hal_can.o + 0x08001600 0x08001600 0x00000008 Code RO 294 .text.HAL_CAN_TxMailbox0CompleteCallback stm32f1xx_hal_can.o + 0x08001608 0x08001608 0x00000008 Code RO 302 .text.HAL_CAN_TxMailbox1AbortCallback stm32f1xx_hal_can.o + 0x08001610 0x08001610 0x00000008 Code RO 296 .text.HAL_CAN_TxMailbox1CompleteCallback stm32f1xx_hal_can.o + 0x08001618 0x08001618 0x00000008 Code RO 304 .text.HAL_CAN_TxMailbox2AbortCallback stm32f1xx_hal_can.o + 0x08001620 0x08001620 0x00000008 Code RO 298 .text.HAL_CAN_TxMailbox2CompleteCallback stm32f1xx_hal_can.o + 0x08001628 0x08001628 0x000001c6 Code RO 322 .text.HAL_CAN_UnRegisterCallback stm32f1xx_hal_can.o + 0x080017ee 0x080017ee 0x00000002 PAD + 0x080017f0 0x080017f0 0x00000008 Code RO 308 .text.HAL_CAN_WakeUpFromRxMsgCallback stm32f1xx_hal_can.o + 0x080017f8 0x080017f8 0x0000019e Code RO 483 .text.HAL_GPIO_DeInit stm32f1xx_hal_gpio.o + 0x08001996 0x08001996 0x00000002 PAD + 0x08001998 0x08001998 0x0000031e Code RO 481 .text.HAL_GPIO_Init stm32f1xx_hal_gpio.o + 0x08001cb6 0x08001cb6 0x00000002 PAD + 0x08001cb8 0x08001cb8 0x0000000c Code RO 379 .text.HAL_GetTick stm32f1xx_hal.o + 0x08001cc4 0x08001cc4 0x0000001a Code RO 377 .text.HAL_IncTick stm32f1xx_hal.o + 0x08001cde 0x08001cde 0x00000002 PAD + 0x08001ce0 0x08001ce0 0x00000026 Code RO 367 .text.HAL_Init stm32f1xx_hal.o + 0x08001d06 0x08001d06 0x00000002 PAD + 0x08001d08 0x08001d08 0x00000070 Code RO 369 .text.HAL_InitTick stm32f1xx_hal.o + 0x08001d78 0x08001d78 0x00000042 Code RO 263 .text.HAL_MspInit stm32f1xx_hal_msp.o + 0x08001dba 0x08001dba 0x00000002 PAD + 0x08001dbc 0x08001dbc 0x00000014 Code RO 553 .text.HAL_NVIC_DisableIRQ stm32f1xx_hal_cortex.o + 0x08001dd0 0x08001dd0 0x00000014 Code RO 549 .text.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x08001de4 0x08001de4 0x00000032 Code RO 541 .text.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08001e16 0x08001e16 0x00000002 PAD + 0x08001e18 0x08001e18 0x00000010 Code RO 537 .text.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x08001e28 0x08001e28 0x0000000c Code RO 604 .text.HAL_PWR_EnableBkUpAccess stm32f1xx_hal_pwr.o + 0x08001e34 0x08001e34 0x00000196 Code RO 470 .text.HAL_RCCEx_GetPeriphCLKFreq stm32f1xx_hal_rcc_ex.o + 0x08001fca 0x08001fca 0x00000002 PAD + 0x08001fcc 0x08001fcc 0x000001c8 Code RO 466 .text.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o + 0x08002194 0x08002194 0x00000256 Code RO 433 .text.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o + 0x080023ea 0x080023ea 0x00000002 PAD + 0x080023ec 0x080023ec 0x0000000c Code RO 443 .text.HAL_RCC_GetHCLKFreq stm32f1xx_hal_rcc.o + 0x080023f8 0x080023f8 0x00000022 Code RO 447 .text.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o + 0x0800241a 0x0800241a 0x00000002 PAD + 0x0800241c 0x0800241c 0x000000bc Code RO 435 .text.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o + 0x080024d8 0x080024d8 0x00000068 Code RO 437 .text.HAL_RCC_MCOConfig stm32f1xx_hal_rcc.o + 0x08002540 0x08002540 0x0000067a Code RO 429 .text.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o + 0x08002bba 0x08002bba 0x00000002 PAD + 0x08002bbc 0x08002bbc 0x0000009a Code RO 781 .text.HAL_RTC_GetDate stm32f1xx_hal_rtc.o + 0x08002c56 0x08002c56 0x00000002 PAD + 0x08002c58 0x08002c58 0x000001b2 Code RO 769 .text.HAL_RTC_GetTime stm32f1xx_hal_rtc.o + 0x08002e0a 0x08002e0a 0x00000002 PAD + 0x08002e0c 0x08002e0c 0x0000012a Code RO 745 .text.HAL_RTC_Init stm32f1xx_hal_rtc.o + 0x08002f36 0x08002f36 0x00000002 PAD + 0x08002f38 0x08002f38 0x0000004c Code RO 202 .text.HAL_RTC_MspInit rtc.o + 0x08002f84 0x08002f84 0x0000017e Code RO 777 .text.HAL_RTC_SetDate stm32f1xx_hal_rtc.o + 0x08003102 0x08003102 0x00000002 PAD + 0x08003104 0x08003104 0x00000142 Code RO 759 .text.HAL_RTC_SetTime stm32f1xx_hal_rtc.o + 0x08003246 0x08003246 0x00000002 PAD + 0x08003248 0x08003248 0x00000064 Code RO 749 .text.HAL_RTC_WaitForSynchro stm32f1xx_hal_rtc.o + 0x080032ac 0x080032ac 0x00000010 Code RO 561 .text.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o + 0x080032bc 0x080032bc 0x00000008 Code RO 1172 .text.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o + 0x080032c4 0x080032c4 0x00000008 Code RO 1168 .text.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o + 0x080032cc 0x080032cc 0x00000008 Code RO 1170 .text.HAL_TIMEx_CommutHalfCpltCallback stm32f1xx_hal_tim_ex.o + 0x080032d4 0x080032d4 0x00000008 Code RO 1100 .text.HAL_TIMEx_HallSensor_MspDeInit stm32f1xx_hal_tim_ex.o + 0x080032dc 0x080032dc 0x00000008 Code RO 1096 .text.HAL_TIMEx_HallSensor_MspInit stm32f1xx_hal_tim_ex.o + 0x080032e4 0x080032e4 0x000000dc Code RO 1162 .text.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o + 0x080033c0 0x080033c0 0x000000b8 Code RO 843 .text.HAL_TIM_Base_Init stm32f1xx_hal_tim.o + 0x08003478 0x08003478 0x00000034 Code RO 218 .text.HAL_TIM_Base_MspDeInit tim.o + 0x080034ac 0x080034ac 0x0000004e Code RO 216 .text.HAL_TIM_Base_MspInit tim.o + 0x080034fa 0x080034fa 0x00000002 PAD + 0x080034fc 0x080034fc 0x00000184 Code RO 1027 .text.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o + 0x08003680 0x08003680 0x00000008 Code RO 965 .text.HAL_TIM_Encoder_MspDeInit stm32f1xx_hal_tim.o + 0x08003688 0x08003688 0x00000008 Code RO 961 .text.HAL_TIM_Encoder_MspInit stm32f1xx_hal_tim.o + 0x08003690 0x08003690 0x00000008 Code RO 1063 .text.HAL_TIM_ErrorCallback stm32f1xx_hal_tim.o + 0x08003698 0x08003698 0x00000008 Code RO 1051 .text.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o + 0x080036a0 0x080036a0 0x00000008 Code RO 1053 .text.HAL_TIM_IC_CaptureHalfCpltCallback stm32f1xx_hal_tim.o + 0x080036a8 0x080036a8 0x00000008 Code RO 925 .text.HAL_TIM_IC_MspDeInit stm32f1xx_hal_tim.o + 0x080036b0 0x080036b0 0x00000008 Code RO 921 .text.HAL_TIM_IC_MspInit stm32f1xx_hal_tim.o + 0x080036b8 0x080036b8 0x0000029a Code RO 979 .text.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o + 0x08003952 0x08003952 0x00000002 PAD + 0x08003954 0x08003954 0x00000008 Code RO 1049 .text.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o + 0x0800395c 0x0800395c 0x00000008 Code RO 879 .text.HAL_TIM_OC_MspDeInit stm32f1xx_hal_tim.o + 0x08003964 0x08003964 0x00000008 Code RO 875 .text.HAL_TIM_OC_MspInit stm32f1xx_hal_tim.o + 0x0800396c 0x0800396c 0x00000008 Code RO 949 .text.HAL_TIM_OnePulse_MspDeInit stm32f1xx_hal_tim.o + 0x08003974 0x08003974 0x00000008 Code RO 945 .text.HAL_TIM_OnePulse_MspInit stm32f1xx_hal_tim.o + 0x0800397c 0x0800397c 0x00000008 Code RO 905 .text.HAL_TIM_PWM_MspDeInit stm32f1xx_hal_tim.o + 0x08003984 0x08003984 0x00000008 Code RO 901 .text.HAL_TIM_PWM_MspInit stm32f1xx_hal_tim.o + 0x0800398c 0x0800398c 0x00000008 Code RO 1055 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o + 0x08003994 0x08003994 0x00000008 Code RO 1057 .text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback stm32f1xx_hal_tim.o + 0x0800399c 0x0800399c 0x00000008 Code RO 1045 .text.HAL_TIM_PeriodElapsedCallback stm32f1xx_hal_tim.o + 0x080039a4 0x080039a4 0x00000008 Code RO 1047 .text.HAL_TIM_PeriodElapsedHalfCpltCallback stm32f1xx_hal_tim.o + 0x080039ac 0x080039ac 0x000002a2 Code RO 1065 .text.HAL_TIM_RegisterCallback stm32f1xx_hal_tim.o + 0x08003c4e 0x08003c4e 0x00000002 PAD + 0x08003c50 0x08003c50 0x00000008 Code RO 1059 .text.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o + 0x08003c58 0x08003c58 0x00000008 Code RO 1061 .text.HAL_TIM_TriggerHalfCpltCallback stm32f1xx_hal_tim.o + 0x08003c60 0x08003c60 0x00000384 Code RO 1067 .text.HAL_TIM_UnRegisterCallback stm32f1xx_hal_tim.o + 0x08003fe4 0x08003fe4 0x00000004 Code RO 230 .text.HardFault_Handler stm32f1xx_it.o + 0x08003fe8 0x08003fe8 0x0000008e Code RO 65 .text.IsLeapYear protocan.o + 0x08004076 0x08004076 0x00000002 PAD + 0x08004078 0x08004078 0x0000004e Code RO 186 .text.MX_CAN_Init can.o + 0x080040c6 0x080040c6 0x00000002 PAD + 0x080040c8 0x080040c8 0x0000004a Code RO 178 .text.MX_GPIO_Init gpio.o + 0x08004112 0x08004112 0x00000002 PAD + 0x08004114 0x08004114 0x00000094 Code RO 200 .text.MX_RTC_Init rtc.o + 0x080041a8 0x080041a8 0x00000086 Code RO 214 .text.MX_TIM4_Init tim.o + 0x0800422e 0x0800422e 0x00000002 PAD + 0x08004230 0x08004230 0x00000004 Code RO 232 .text.MemManage_Handler stm32f1xx_it.o + 0x08004234 0x08004234 0x00000004 Code RO 228 .text.NMI_Handler stm32f1xx_it.o + 0x08004238 0x08004238 0x0000006c Code RO 547 .text.NVIC_EncodePriority stm32f1xx_hal_cortex.o + 0x080042a4 0x080042a4 0x000000e4 Code RO 81 .text.PROTOCAN_AnalogProcessing protocan.o + 0x08004388 0x08004388 0x000000c0 Code RO 83 .text.PROTOCAN_BroadcastProcessing protocan.o + 0x08004448 0x08004448 0x00000064 Code RO 143 .text.PROTOCAN_CONFIG_FILTER protocan.o + 0x080044ac 0x080044ac 0x00000046 Code RO 69 .text.PROTOCAN_DEINIT protocan.o + 0x080044f2 0x080044f2 0x00000002 PAD + 0x080044f4 0x080044f4 0x00000110 Code RO 85 .text.PROTOCAN_DiscreticProcessing protocan.o + 0x08004604 0x08004604 0x0000003e Code RO 77 .text.PROTOCAN_FILTERS protocan.o + 0x08004642 0x08004642 0x00000002 PAD + 0x08004644 0x08004644 0x00000108 Code RO 71 .text.PROTOCAN_INIT protocan.o + 0x0800474c 0x0800474c 0x00000344 Code RO 79 .text.PROTOCAN_LOOP protocan.o + 0x08004a90 0x08004a90 0x000000c4 Code RO 89 .text.PROTOCAN_ModbusProcessing protocan.o + 0x08004b54 0x08004b54 0x000000a4 Code RO 105 .text.PROTOCAN_RTC_SYNC protocan.o + 0x08004bf8 0x08004bf8 0x00000040 Code RO 93 .text.PROTOCAN_SEND protocan.o + 0x08004c38 0x08004c38 0x0000011a Code RO 131 .text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE protocan.o + 0x08004d52 0x08004d52 0x00000002 PAD + 0x08004d54 0x08004d54 0x00000002 Code RO 242 .text.PendSV_Handler stm32f1xx_it.o + 0x08004d56 0x08004d56 0x00000002 PAD + 0x08004d58 0x08004d58 0x0000010a Code RO 127 .text.ProtoCanMsgToAnalogISens protocan.o + 0x08004e62 0x08004e62 0x00000002 PAD + 0x08004e64 0x08004e64 0x00000086 Code RO 123 .text.ProtoCanMsgToAnalogSettings protocan.o + 0x08004eea 0x08004eea 0x00000002 PAD + 0x08004eec 0x08004eec 0x0000010a Code RO 129 .text.ProtoCanMsgToAnalogTSens protocan.o + 0x08004ff6 0x08004ff6 0x00000002 PAD + 0x08004ff8 0x08004ff8 0x0000010a Code RO 125 .text.ProtoCanMsgToAnalogUSens protocan.o + 0x08005102 0x08005102 0x00000002 PAD + 0x08005104 0x08005104 0x00000080 Code RO 121 .text.ProtoCanMsgToAnalogUniversal protocan.o + 0x08005184 0x08005184 0x00000030 Code RO 97 .text.ProtoCanMsgToBroadcastOnOff protocan.o + 0x080051b4 0x080051b4 0x000000a0 Code RO 99 .text.ProtoCanMsgToBroadcastRestart protocan.o + 0x08005254 0x08005254 0x000000c0 Code RO 101 .text.ProtoCanMsgToBroadcastRtcSetup protocan.o + 0x08005314 0x08005314 0x000000da Code RO 95 .text.ProtoCanMsgToBroadcastStatus protocan.o + 0x080053ee 0x080053ee 0x00000002 PAD + 0x080053f0 0x080053f0 0x0000001a Code RO 107 .text.ProtoCanMsgToDiscreteAccident protocan.o + 0x0800540a 0x0800540a 0x00000002 PAD + 0x0800540c 0x0800540c 0x0000001a Code RO 117 .text.ProtoCanMsgToDiscreteChangeMode protocan.o + 0x08005426 0x08005426 0x00000002 PAD + 0x08005428 0x08005428 0x0000001a Code RO 111 .text.ProtoCanMsgToDiscreteControlSignals protocan.o + 0x08005442 0x08005442 0x00000002 PAD + 0x08005444 0x08005444 0x0000001a Code RO 113 .text.ProtoCanMsgToDiscreteFlags protocan.o + 0x0800545e 0x0800545e 0x00000002 PAD + 0x08005460 0x08005460 0x0000001a Code RO 119 .text.ProtoCanMsgToDiscreteRequestListOfParameters protocan.o + 0x0800547a 0x0800547a 0x00000002 PAD + 0x0800547c 0x0800547c 0x00000018 Code RO 115 .text.ProtoCanMsgToDiscreteReset protocan.o + 0x08005494 0x08005494 0x0000001a Code RO 109 .text.ProtoCanMsgToDiscreteWarning protocan.o + 0x080054ae 0x080054ae 0x00000002 PAD + 0x080054b0 0x080054b0 0x000000d8 Code RO 87 .text.ProtoCanMsgToGeneralAddressSpace protocan.o + 0x08005588 0x08005588 0x00000098 Code RO 133 .text.ProtoCanMsgToModbusCoil protocan.o + 0x08005620 0x08005620 0x0000009a Code RO 135 .text.ProtoCanMsgToModbusDiscrete protocan.o + 0x080056ba 0x080056ba 0x00000002 PAD + 0x080056bc 0x080056bc 0x0000009a Code RO 137 .text.ProtoCanMsgToModbusHolding protocan.o + 0x08005756 0x08005756 0x00000002 PAD + 0x08005758 0x08005758 0x0000009a Code RO 139 .text.ProtoCanMsgToModbusInput protocan.o + 0x080057f2 0x080057f2 0x00000002 PAD + 0x080057f4 0x080057f4 0x000000d4 Code RO 75 .text.ProtoCanPulseCallback protocan.o + 0x080058c8 0x080058c8 0x000000d6 Code RO 73 .text.ProtoCanRxFifo0MsgPendingCallback protocan.o + 0x0800599e 0x0800599e 0x00000002 PAD + 0x080059a0 0x080059a0 0x0000003a Code RO 431 .text.RCC_Delay stm32f1xx_hal_rcc.o + 0x080059da 0x080059da 0x00000002 PAD + 0x080059dc 0x080059dc 0x0000002a Code RO 761 .text.RTC_Bcd2ToByte stm32f1xx_hal_rtc.o + 0x08005a06 0x08005a06 0x00000002 PAD + 0x08005a08 0x08005a08 0x0000003a Code RO 775 .text.RTC_ByteToBcd2 stm32f1xx_hal_rtc.o + 0x08005a42 0x08005a42 0x00000002 PAD + 0x08005a44 0x08005a44 0x00000172 Code RO 773 .text.RTC_DateUpdate stm32f1xx_hal_rtc.o + 0x08005bb6 0x08005bb6 0x00000002 PAD + 0x08005bb8 0x08005bb8 0x00000056 Code RO 751 .text.RTC_EnterInitMode stm32f1xx_hal_rtc.o + 0x08005c0e 0x08005c0e 0x00000002 PAD + 0x08005c10 0x08005c10 0x00000056 Code RO 753 .text.RTC_ExitInitMode stm32f1xx_hal_rtc.o + 0x08005c66 0x08005c66 0x00000002 PAD + 0x08005c68 0x08005c68 0x00000078 Code RO 799 .text.RTC_IsLeapYear stm32f1xx_hal_rtc.o + 0x08005ce0 0x08005ce0 0x00000032 Code RO 765 .text.RTC_ReadAlarmCounter stm32f1xx_hal_rtc.o + 0x08005d12 0x08005d12 0x00000002 PAD + 0x08005d14 0x08005d14 0x0000006a Code RO 771 .text.RTC_ReadTimeCounter stm32f1xx_hal_rtc.o + 0x08005d7e 0x08005d7e 0x00000002 PAD + 0x08005d80 0x08005d80 0x000000e2 Code RO 779 .text.RTC_WeekDayNum stm32f1xx_hal_rtc.o + 0x08005e62 0x08005e62 0x00000002 PAD + 0x08005e64 0x08005e64 0x00000050 Code RO 767 .text.RTC_WriteAlarmCounter stm32f1xx_hal_rtc.o + 0x08005eb4 0x08005eb4 0x00000050 Code RO 763 .text.RTC_WriteTimeCounter stm32f1xx_hal_rtc.o + 0x08005f04 0x08005f04 0x00000002 Code RO 238 .text.SVC_Handler stm32f1xx_it.o + 0x08005f06 0x08005f06 0x00000002 PAD + 0x08005f08 0x08005f08 0x00000052 Code RO 563 .text.SysTick_Config stm32f1xx_hal_cortex.o + 0x08005f5a 0x08005f5a 0x00000002 PAD + 0x08005f5c 0x08005f5c 0x00000008 Code RO 244 .text.SysTick_Handler stm32f1xx_it.o + 0x08005f64 0x08005f64 0x0000009c Code RO 166 .text.SystemClock_Config main.o + 0x08006000 0x08006000 0x00000002 Code RO 1185 .text.SystemInit system_stm32f1xx.o + 0x08006002 0x08006002 0x00000002 PAD + 0x08006004 0x08006004 0x00000010 Code RO 254 .text.TIM4_IRQHandler stm32f1xx_it.o + 0x08006014 0x08006014 0x000000f0 Code RO 849 .text.TIM_Base_SetConfig stm32f1xx_hal_tim.o + 0x08006104 0x08006104 0x00000034 Code RO 1025 .text.TIM_ETR_SetConfig stm32f1xx_hal_tim.o + 0x08006138 0x08006138 0x0000002a Code RO 1031 .text.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o + 0x08006162 0x08006162 0x00000002 PAD + 0x08006164 0x08006164 0x000000be Code RO 845 .text.TIM_ResetCallback stm32f1xx_hal_tim.o + 0x08006222 0x08006222 0x00000002 PAD + 0x08006224 0x08006224 0x00000050 Code RO 1029 .text.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o + 0x08006274 0x08006274 0x00000052 Code RO 1033 .text.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o + 0x080062c6 0x080062c6 0x00000002 PAD + 0x080062c8 0x080062c8 0x000000d0 Code RO 141 .text.TakeRxMsgToBuffer protocan.o + 0x08006398 0x08006398 0x00000010 Code RO 246 .text.USB_HP_CAN1_TX_IRQHandler stm32f1xx_it.o + 0x080063a8 0x080063a8 0x00000010 Code RO 248 .text.USB_LP_CAN1_RX0_IRQHandler stm32f1xx_it.o + 0x080063b8 0x080063b8 0x00000004 Code RO 236 .text.UsageFault_Handler stm32f1xx_it.o + 0x080063bc 0x080063bc 0x00000038 Code RO 555 .text.__NVIC_DisableIRQ stm32f1xx_hal_cortex.o + 0x080063f4 0x080063f4 0x00000030 Code RO 551 .text.__NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x08006424 0x08006424 0x00000010 Code RO 543 .text.__NVIC_GetPriorityGrouping stm32f1xx_hal_cortex.o + 0x08006434 0x08006434 0x00000042 Code RO 545 .text.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08006476 0x08006476 0x00000002 PAD + 0x08006478 0x08006478 0x0000003c Code RO 539 .text.__NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x080064b4 0x080064b4 0x00000026 Code RO 103 .text.__NVIC_SystemReset protocan.o + 0x080064da 0x080064da 0x00000002 PAD + 0x080064dc 0x080064dc 0x00000066 Code RO 164 .text.main main.o + 0x08006542 0x08006542 0x00000002 PAD + 0x08006544 0x08006544 0x00000060 Data RO 153 .rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal protocan.o + 0x080065a4 0x080065a4 0x00000010 Data RO 1190 .rodata.AHBPrescTable system_stm32f1xx.o + 0x080065b4 0x080065b4 0x00000008 Data RO 1191 .rodata.APBPrescTable system_stm32f1xx.o + 0x080065bc 0x080065bc 0x00000010 Data RO 472 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable stm32f1xx_hal_rcc_ex.o + 0x080065cc 0x080065cc 0x00000002 Data RO 473 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable stm32f1xx_hal_rcc_ex.o + 0x080065ce 0x080065ce 0x00000010 Data RO 457 .rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable stm32f1xx_hal_rcc.o + 0x080065de 0x080065de 0x00000002 Data RO 458 .rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o + 0x080065e0 0x080065e0 0x00000020 Data RO 1370 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08006430, Size: 0x00001a30, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08006600, Size: 0x00001a10, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08006430 0x00000001 Data RW 144 .data.CurrentStep protocan.o - 0x20000001 0x08006431 0x00000003 PAD - 0x20000004 0x08006434 0x00000004 Data RW 1190 .data.SystemCoreClock system_stm32f1xx.o - 0x20000008 0x08006438 0x00000004 Data RW 151 .data.filter1_id protocan.o - 0x2000000c 0x0800643c 0x00000004 Data RW 152 .data.filter1_mask protocan.o - 0x20000010 0x08006440 0x00000004 Data RW 154 .data.filter2_mask protocan.o - 0x20000014 0x08006444 0x00000004 Data RW 155 .data.filter3_id protocan.o - 0x20000018 0x08006448 0x00000004 Data RW 156 .data.filter3_mask protocan.o - 0x2000001c 0x0800644c 0x00000001 Data RW 419 .data.uwTickFreq stm32f1xx_hal.o - 0x2000001d 0x0800644d 0x00000003 PAD - 0x20000020 0x08006450 0x00000004 Data RW 418 .data.uwTickPrio stm32f1xx_hal.o - 0x20000024 0x08006454 0x00000004 PAD - 0x20000028 - 0x00000060 Zero RW 1236 .bss c_w.l(libspace.o) - 0x20000088 - 0x00000058 Zero RW 57 .bss.CanErrors canerrorbox.o - 0x200000e0 - 0x00000004 Zero RW 146 .bss.ControlFlags protocan.o - 0x200000e4 - 0x00000800 Zero RW 149 .bss.Device_on_the_Network protocan.o - 0x200008e4 - 0x00000001 Zero RW 145 .bss.LastStep protocan.o - 0x200008e5 0x08006454 0x00000003 PAD - 0x200008e8 - 0x00000004 Zero RW 150 .bss.ProtoCanPulseCallback.PulseStage protocan.o - 0x200008ec - 0x00000004 Zero RW 141 .bss._HCAN protocan.o - 0x200008f0 - 0x00000004 Zero RW 142 .bss._HRTC protocan.o - 0x200008f4 - 0x00000004 Zero RW 143 .bss._HTIM protocan.o - 0x200008f8 - 0x00000004 Zero RW 153 .bss.filter2_id protocan.o - 0x200008fc - 0x00000064 Zero RW 193 .bss.hcan can.o - 0x20000960 - 0x00000014 Zero RW 207 .bss.hrtc rtc.o - 0x20000974 - 0x000000b4 Zero RW 221 .bss.htim4 tim.o - 0x20000a28 - 0x00000a00 Zero RW 147 .bss.rxMsg protocan.o - 0x20001428 - 0x00000004 Zero RW 420 .bss.uwTick stm32f1xx_hal.o - 0x2000142c 0x08006454 0x00000004 PAD - 0x20001430 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o - 0x20001630 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o + 0x20000000 0x08006600 0x00000001 Data RW 148 .data.CurrentStep protocan.o + 0x20000001 0x08006601 0x00000003 PAD + 0x20000004 0x08006604 0x00000004 Data RW 1189 .data.SystemCoreClock system_stm32f1xx.o + 0x20000008 0x08006608 0x00000001 Data RW 418 .data.uwTickFreq stm32f1xx_hal.o + 0x20000009 0x08006609 0x00000003 PAD + 0x2000000c 0x0800660c 0x00000004 Data RW 417 .data.uwTickPrio stm32f1xx_hal.o + 0x20000010 - 0x00000060 Zero RW 1235 .bss c_w.l(libspace.o) + 0x20000070 - 0x00000058 Zero RW 57 .bss.CanErrors canerrorbox.o + 0x200000c8 - 0x00000004 Zero RW 150 .bss.ControlFlags protocan.o + 0x200000cc - 0x00000800 Zero RW 154 .bss.Device_on_the_Network protocan.o + 0x200008cc - 0x00000001 Zero RW 149 .bss.LastStep protocan.o + 0x200008cd 0x08006610 0x00000003 PAD + 0x200008d0 - 0x00000004 Zero RW 155 .bss.ProtoCanPulseCallback.PulseStage protocan.o + 0x200008d4 - 0x00000004 Zero RW 145 .bss._HCAN protocan.o + 0x200008d8 - 0x00000004 Zero RW 146 .bss._HRTC protocan.o + 0x200008dc - 0x00000004 Zero RW 147 .bss._HTIM protocan.o + 0x200008e0 - 0x00000064 Zero RW 192 .bss.hcan can.o + 0x20000944 - 0x00000014 Zero RW 206 .bss.hrtc rtc.o + 0x20000958 - 0x000000b4 Zero RW 220 .bss.htim4 tim.o + 0x20000a0c - 0x00000a00 Zero RW 152 .bss.rxMsg protocan.o + 0x2000140c - 0x00000004 Zero RW 419 .bss.uwTick stm32f1xx_hal.o + 0x20001410 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o + 0x20001610 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o ============================================================================== @@ -3180,11 +3184,11 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 390 0 0 0 100 5234 can.o + 390 0 0 0 100 5235 can.o 766 0 0 0 88 5873 canerrorbox.o 74 0 0 0 0 1313 gpio.o - 272 0 0 0 0 2035 main.o - 5932 0 96 21 4633 21118 protocan.o + 272 0 0 0 0 2006 main.o + 6382 0 96 1 4629 23602 protocan.o 224 0 0 0 20 2491 rtc.o 64 26 236 0 1536 772 startup_stm32f103xb.o 188 0 0 5 4 5530 stm32f1xx_hal.o @@ -3203,9 +3207,9 @@ Image component sizes 264 0 0 0 180 6554 tim.o ---------------------------------------------------------------------- - 24764 26 424 36 6572 160526 Object Totals + 25232 26 424 16 6560 162982 Object Totals 0 0 32 0 0 0 (incl. Generated) - 130 0 0 6 11 0 (incl. Padding) + 148 0 0 6 3 0 (incl. Padding) ---------------------------------------------------------------------- @@ -3254,15 +3258,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 25220 42 424 36 6668 160678 Grand Totals - 25220 42 424 36 6668 160678 ELF Image Totals - 25220 42 424 36 0 0 ROM Totals + 25688 42 424 16 6656 163134 Grand Totals + 25688 42 424 16 6656 163134 ELF Image Totals + 25688 42 424 16 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 25644 ( 25.04kB) - Total RW Size (RW Data + ZI Data) 6704 ( 6.55kB) - Total ROM Size (Code + RO Data + RW Data) 25680 ( 25.08kB) + Total RO Size (Code + RO Data) 26112 ( 25.50kB) + Total RW Size (RW Data + ZI Data) 6672 ( 6.52kB) + Total ROM Size (Code + RO Data + RW Data) 26128 ( 25.52kB) ============================================================================== diff --git a/MDK-ARM/F103C8T6/F103C8T6_F103C8T6.dep b/MDK-ARM/F103C8T6/F103C8T6_F103C8T6.dep index fdfb7e5..fa242b3 100644 --- a/MDK-ARM/F103C8T6/F103C8T6_F103C8T6.dep +++ b/MDK-ARM/F103C8T6/F103C8T6_F103C8T6.dep @@ -35,11 +35,11 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) F (..\Core\Inc\canerrorbox.h)(0x6A16F637)() -F (..\Core\Src\protocan.c)(0x6A196BA0)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/protocan.o -MD) -I (..\Core\Inc\protocan.h)(0x6A16F637) +F (..\Core\Src\protocan.c)(0x6A1D7086)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/protocan.o -MD) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\main.h)(0x6A16F637) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x64AF9BDC) I (..\Core\Inc\stm32f1xx_hal_conf.h)(0x6A16F637) @@ -74,8 +74,8 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) I (..\Core\Inc\can.h)(0x6A16F637) -F (..\Core\Inc\protocan.h)(0x6A16F637)() -F (../Core/Src/main.c)(0x6A196BA0)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/main.o -MD) +F (..\Core\Inc\protocan.h)(0x6A1D6DC0)() +F (../Core/Src/main.c)(0x6A1D7155)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/main.o -MD) I (..\Core\Inc\main.h)(0x6A16F637) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x64AF9BDC) I (..\Core\Inc\stm32f1xx_hal_conf.h)(0x6A16F637) @@ -108,7 +108,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) I (..\Core\Inc\rtc.h)(0x6A16F637) @@ -148,10 +148,10 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) -F (../Core/Src/can.c)(0x6A16F637)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/can.o -MD) +F (../Core/Src/can.c)(0x6A1D6356)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/can.o -MD) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\main.h)(0x6A16F637) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x64AF9BDC) @@ -185,7 +185,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) F (../Core/Src/rtc.c)(0x6A16F637)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/rtc.o -MD) I (..\Core\Inc\rtc.h)(0x6A16F637) @@ -221,10 +221,10 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) -F (../Core/Src/tim.c)(0x6A16F637)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/tim.o -MD) +F (../Core/Src/tim.c)(0x6A1D6356)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/tim.o -MD) I (..\Core\Inc\tim.h)(0x6A16F637) I (..\Core\Inc\main.h)(0x6A16F637) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h)(0x64AF9BDC) @@ -258,7 +258,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) F (../Core/Src/stm32f1xx_it.c)(0x6A16F637)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/stm32f1xx_it.o -MD) @@ -294,7 +294,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) I (..\Core\Inc\stm32f1xx_it.h)(0x6A16F637) @@ -331,7 +331,7 @@ I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h)(0x64AF9BDC) I (..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h)(0x64AF9BDC) -I (..\Core\Inc\protocan.h)(0x6A16F637) +I (..\Core\Inc\protocan.h)(0x6A1D6DC0) I (..\Core\Inc\can.h)(0x6A16F637) I (..\Core\Inc\canerrorbox.h)(0x6A16F637) F (../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c)(0x64AF9BDC)(-xc -std=c11 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -mexecute-only -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I./RTE/_F103C8T6 -IC:/Users/Iurii/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/Iurii/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o f103c8t6/stm32f1xx_hal_gpio_ex.o -MD) diff --git a/MDK-ARM/F103C8T6/can.o b/MDK-ARM/F103C8T6/can.o index 2b9c1c434d44aae548188970f95472264f76fb1d..33eb84c19c1d36e7090b44901cddd4abe5f4b9ca 100644 GIT binary patch delta 244 zcmez4{l|MlGBcy%<`m}JY>q0D3_$P*h#6xOIT#pNU8I;Mnlyu1-Ruku(o7RodO&BcsY>0WoKjBMgkJB3v!3Y|X5KYSX>t`Mj9Q<}YFy9E@i+$I4r?G5((X LP+55L8r1**XS6n) delta 243 zcmez4{l|MlGBcy}<`m}JY>sl03_$P*h#6xOIT#pN?WC9{nlyu1-Ruku(o7RodO&Bct480WoJ|J4RL!t`=6dW>!HqJyy1PtgLJ~Y|K0A^_WjEG_i5mu`zE0vQIHI z0cj2!R!KJI^OM`fjKp6sFtW07Wk7W?PpwY_>SX>n`GT0r=Fei89E_(o$I4r?G5(tT LP+55L8r1**>p3;j diff --git a/MDK-ARM/F103C8T6/main.o b/MDK-ARM/F103C8T6/main.o index e437f06e8b8d88dcd7717f57cf42da02fad2f9a4..0854f375ee4f06ae4494e6b3344f3fd417d810c7 100644 GIT binary patch delta 1423 zcmZ9LUu+ar6vofJGk11&=kCyUW@U>F&@SmVsi7q)v_JxdQel&|OG=4p%tnl+kq|>P zg#Ts(`d|zK%_Wu)2*DRI@M0R3Mjs?R@T5La^+8PxHWG=ZhM=H?*6%K7F#2%L@B6-c z=H9*8ncq97J5MeZ-Rr^ny=s}>MB9pr>9 z3y9oh5bJ^fnR7*1~wpsZlg}{rN{hvAGnjZzf7D7ypfI==YH1xl%-w{{N$P zCi8f6)khRWA_yKGq_g+|rO28-oSWqpMHD_>QFetEn?c!L+YBW{(K!l|bKE-T9J+Ka z*?`%G|=x2?T15$Tp~E5pLpD^`xM1G%<^X8}3R>tMJ3u6SGQaoNZoq zKVCLCJX{&3t;3a(%D{%9=QnQOHu|p{DLpe-**-E^QEy5!o!TKjnq297B2Z<|zpNau z{Ox(OC4FUbF1=BhtwFc!BlBADbM`6h-jyTj2D?pFFI<#aNVLhOG0_&AftpOEEM1}t?CpDw`5H}eaGiO> z5^wPj>}Qy>%m>UA{tA0w#9YGcWcD)cn`q}M%pJ^Kb>bTPICz73ig})SiTMfh8uKfr zeWUCFzcK%2rf_?k$7Vd-owgsFz5n}@=>-!~-VM!rjeF(Yz$|JS635KWriwUarqHKN zI@%|`H%Fpv;)eM;DyUv;)Mg$=1v#TlTih;2O(`yl!{*hvs19Jyi{@Nh5Uu7a(lPT( ty*K8H;)+>~e%ZW`E2_LtG-ck&6|nV(xnh1ApY>8~jGskW6t2*u-P!Ej?%Z9ndu@VI8xnHGYI1?2##+*=mr4%OB%UdzU~P-FEuv__ zYK+1WEhvH|VJHn6L5hNfB0{KXD}q1#5y3)#1QZo98d0dRp(3fYB))U`wxB;|p7(v{ zoB3|{mYLtOyk%mOI6B#~!=s6{mDM$xnmiB%BNx|xD_$r10%P*cf1Z^@_GYqE&1oX1 z4Wh^QeIn_Ia_IZp{0Cv&4O9;8)VitbpnB2Z78}=tTvIvR(M05Ri2ueWOccoCx^hUA z)C(di`L|C)?;sR$7p2g>9GWiOXqw^`6s2#kNV7tB>u#&P+6N_sFYMPK$UbSTeFn2- ze~Q^5=LNtMvQ}ud+h4(weFc-Szr$?VznFmBSAbha7M*KAol}RI4r7RYQsAi4BD811 z=~|dVSan`ZSd;lqvp#wiF}LEv_(cOgwfw~N#Vu`W33<5=JCk!y3rmi2 zP*ckv_EbZx%YkZ%b$^EZ-?3pDf!roi8QCP#kMOFzLs0r~Z0-_HdNejI!b`suo2?=s z(tDlRuD;UFf&IHGmB9)PRR)I#jqR%pm;Rp(mv^s6GX;6V(zA63#q3Oz=L%)@OZkoK zjY!+=|4ZMKxG=MrC<;C7XLOsN*N6OXdphuTl3Ahx*tvnI8_a{-jo(OAG#=~)lZ{0E zCXa}QOdjd6;GJq7(!w{em1(vb{}8jx9AQ4eJj8sOd7Sww^L0bKmbckY89GE~*q>Wx zl`e5G$DB8GiGF1ND|4B7i|OINGCwq8Zerfc>}K{d%_nQ>4>F&r@kydl4o)ynG2dsN zV_sl>$-Kf`VE)Ox$@K8_reRhePd%4tGbx_`?95W?v?VjR)E?6dVW_9;4_KK%uhtKU zkM!<_LGg)x5A(8KYIsT9&`*Vril1~>6zZ?TjO@jkt=QITkFu0KRNt}i1U$CWWuJ0Qqr#Js*Un-g<-S2iaLxHmr2$Fi+xa|-FQ{ye+! EU$*|y^#A|> diff --git a/MDK-ARM/F103C8T6/protocan.o b/MDK-ARM/F103C8T6/protocan.o index 63ddb99420e81a38ff91756f48f12f9d802c75ca..5d0c4e49f1664fad0ac4fd88311f5902a55a51c7 100644 GIT binary patch literal 53644 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 MneO4pE~)>20PN|}-v9sr literal 49876 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 delta 228 zcmaD8{w93G5hh0I%}1GRU;y$s{(*RElM}f`x!t6gCh~aj z0Qqi{8@a`l{5_c&fItF7m;frXF`Ig^ zvg@;5V`XLYVP*DaV|LeLRb^wgn#?Ax6m*P%k(G@rgH?=8kCkm6P)QCO^Tv8T=JO0q yK$^pbjrkHoS~DxNA1k9i6AJ?)BMTb?D-+0e=36LQnHSfm0ktzf-drVJBme-ilqv)O