diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.elf b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.elf index eb974fcc..caca523f 100644 Binary files a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.elf and b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.elf differ diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.map b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.map index 5b2b9b58..13f0237a 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.map +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.map @@ -1,530 +1,765 @@ - -bin/openblt_olimex_stm32e407.elf: file format elf32-littlearm -bin/openblt_olimex_stm32e407.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x08000000 - -Program Header: - LOAD off 0x00008000 vaddr 0x08000000 paddr 0x08000000 align 2**15 - filesz 0x0000a1b8 memsz 0x0000a1b8 flags r-x - LOAD off 0x00018000 vaddr 0x20000000 paddr 0x0800a1b8 align 2**15 - filesz 0x000000ec memsz 0x000000ec flags rw- - LOAD off 0x00018100 vaddr 0x20000100 paddr 0x0800a300 align 2**15 - filesz 0x00000000 memsz 0x00003564 flags rw- -private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 0000a1b8 08000000 08000000 00008000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 000000ec 20000000 0800a1b8 00018000 2**2 - CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00003564 20000100 0800a300 00018100 2**7 - ALLOC - 3 .debug_info 00020b4b 00000000 00000000 000180ec 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_abbrev 00005472 00000000 00000000 00038c37 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_loc 0000ffda 00000000 00000000 0003e0a9 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_aranges 000015a0 00000000 00000000 0004e083 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_ranges 00001460 00000000 00000000 0004f623 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_line 00007d25 00000000 00000000 00050a83 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .debug_str 00007467 00000000 00000000 000587a8 2**0 - CONTENTS, READONLY, DEBUGGING - 10 .comment 00000030 00000000 00000000 0005fc0f 2**0 - CONTENTS, READONLY - 11 .ARM.attributes 00000033 00000000 00000000 0005fc3f 2**0 - CONTENTS, READONLY - 12 .debug_frame 00003780 00000000 00000000 0005fc74 2**2 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -08000000 l d .text 00000000 .text -20000000 l d .data 00000000 .data -20000100 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 hooks.c -0800988c l O .text 00000020 firmwareFilename -20000100 l O .bss 0000022c logfile -00000000 l df *ABS* 00000000 main.c -00000000 l df *ABS* 00000000 usbd_bulk.c -080003d8 l F .text 0000000e USBD_bulk_GetCfgDesc -080003e8 l F .text 00000012 usbd_bulk_SOF -080003fc l F .text 0000000a usbd_bulk_DataIn -08000408 l F .text 0000000c usbd_bulk_DataOut -08000414 l F .text 00000068 usbd_bulk_Setup -0800047c l F .text 00000016 usbd_bulk_DeInit -08000494 l F .text 00000030 usbd_bulk_Init -2000032c l O .bss 00000004 usbd_bulk_AltSet -00000000 l df *ABS* 00000000 usbd_desc.c -00000000 l df *ABS* 00000000 usbd_usr.c -00000000 l df *ABS* 00000000 usb_bsp.c -00000000 l df *ABS* 00000000 usbd_core.c -080006a0 l F .text 00000016 USBD_Resume -080006b8 l F .text 0000001c USBD_Suspend -080006d4 l F .text 00000010 USBD_SOF -080006e4 l F .text 0000000e USBD_IsoINIncomplete -080006f4 l F .text 0000000e USBD_IsoOUTIncomplete -08000704 l F .text 00000016 USBD_DevConnected -0800071c l F .text 00000020 USBD_DevDisconnected -0800073c l F .text 0000002e USBD_Reset -0800076c l F .text 0000004e USBD_SetupStage -080007bc l F .text 000000b8 USBD_DataInStage -08000874 l F .text 00000076 USBD_DataOutStage -00000000 l df *ABS* 00000000 usbd_ioreq.c -00000000 l df *ABS* 00000000 usbd_req.c -2000033c l O .bss 00000001 cfgidx.8604 -00000000 l df *ABS* 00000000 usb_core.c -08000f44 l F .text 00000072 USB_OTG_CoreReset -00000000 l df *ABS* 00000000 usb_dcd.c -00000000 l df *ABS* 00000000 usb_dcd_int.c -00000000 l df *ABS* 00000000 mmc.c -08001f80 l F .text 0000004e CmdResp2Error -08001fd0 l F .text 00000130 CmdResp1Error -08002100 l F .text 00000266 SDEnWideBus -2000033d l O .bss 00000001 TransferError -200000cc l O .data 00000004 DMAEndOfTransfer -20000340 l O .bss 00000018 SDIO_DataInitStructure -20000358 l O .bss 00000010 CSD_Tab -20000368 l O .bss 00000004 CardType -2000036c l O .bss 00000010 CID_Tab -2000037c l O .bss 00000004 TransferEnd -20000380 l O .bss 00000018 SDIO_InitStructure -20000398 l O .bss 00000004 RCA -200003a0 l O .bss 00000058 SDCardInfo -200003f8 l O .bss 00000014 SDIO_CmdInitStructure -200000d0 l O .data 00000001 Stat -2000040c l O .bss 00000004 StopCondition -00000000 l df *ABS* 00000000 stm32_eth.c -00000000 l df *ABS* 00000000 netdev.c -00000000 l df *ABS* 00000000 stm32f4xx_flash.c -00000000 l df *ABS* 00000000 stm32f4xx_gpio.c -00000000 l df *ABS* 00000000 stm32f4xx_rcc.c -200000d4 l O .data 00000010 APBAHBPrescTable -00000000 l df *ABS* 00000000 stm32f4xx_sdio.c -00000000 l df *ABS* 00000000 stm32f4xx_syscfg.c -00000000 l df *ABS* 00000000 stm32f4xx_usart.c -00000000 l df *ABS* 00000000 system_stm32f4xx.c -00000000 l df *ABS* 00000000 ff.c -080041e4 l F .text 00000016 ld_dword -080041fc l F .text 00000012 mem_cpy -08004210 l F .text 00000016 clust2sect -08004228 l F .text 0000001e sum_sfn -08004248 l F .text 00000056 get_ldnumber -080042a0 l F .text 00000034 validate -080042d4 l F .text 0000006c sync_window -08004340 l F .text 0000003c move_window -0800437c l F .text 000000b8 sync_fs -08004434 l F .text 00000128 put_fat -0800455c l F .text 00000018 st_clust -08004574 l F .text 000000f4 get_fileinfo -08004668 l F .text 000000d6 get_fat -08004740 l F .text 000000b4 dir_sdi -080047f4 l F .text 000000d8 create_chain -080048cc l F .text 00000096 remove_chain -08004964 l F .text 00000126 dir_next -08004a8c l F .text 00000058 dir_remove -08004ae4 l F .text 000001c2 dir_find -08004ca8 l F .text 000002fe dir_register -08004fa8 l F .text 00000070 check_fs -08005018 l F .text 0000030a find_volume -08005324 l F .text 00000156 dir_read -0800547c l F .text 0000001e ld_clust -0800549c l F .text 00000352 follow_path -08005d1c l F .text 00000046 putc_bfd -20000410 l O .bss 00000200 LfnBuf -20000610 l O .bss 00000002 Fsid -08009938 l O .text 00000080 ExCvt -080099b8 l O .text 0000000d LfnOfs -20000614 l O .bss 00000004 FatFs -00000000 l df *ABS* 00000000 unicode.c -080099c8 l O .text 000000bc cvt2.4272 -08009a84 l O .text 00000100 Tbl -08009b84 l O .text 000001f2 cvt1.4271 -00000000 l df *ABS* 00000000 uip.c -08006248 l F .text 0000004c chksum -08006294 l F .text 00000042 upper_layer_chksum -08006358 l F .text 00000030 uip_add_rcv_nxt -20000618 l O .bss 00000002 tmp16 -2000061a l O .bss 00000002 ipid -2000061c l O .bss 00000004 iss -20000620 l O .bss 00000002 lastport -2000062c l O .bss 00000001 c -2000062d l O .bss 00000001 opt -00000000 l df *ABS* 00000000 uip_arp.c -08007378 l F .text 00000116 uip_arp_update -2000062e l O .bss 00000001 i -2000062f l O .bss 00000001 tmpage -20000630 l O .bss 00000060 arp_table -08009d78 l O .text 00000006 broadcast_ethaddr -20000690 l O .bss 00000001 c -20000691 l O .bss 00000001 arptime -20000694 l O .bss 00000004 ipaddr -00000000 l df *ABS* 00000000 boot.c -00000000 l df *ABS* 00000000 com.c -20000698 l O .bss 00000040 xcpCtoReqPacket.4427 -200000e4 l O .data 00000001 comActiveInterface -00000000 l df *ABS* 00000000 net.c -200006d8 l O .bss 00000004 ARPTimerTimeOut -200006dc l O .bss 00000004 periodicTimerTimeOut -00000000 l df *ABS* 00000000 xcp.c -08007bd4 l F .text 00000016 XcpSetCtoError -08009d80 l O .text 00000008 xcpStationId -200006e0 l O .bss 0000004c xcpInfo -00000000 l df *ABS* 00000000 backdoor.c -2000072c l O .bss 00000001 backdoorOpen -20000730 l O .bss 00000004 backdoorOpenTime -00000000 l df *ABS* 00000000 cop.c -00000000 l df *ABS* 00000000 file.c -08008030 l F .text 0000002e FileLibByteNibbleToChar -08008060 l F .text 00000020 FileLibByteToHexString -08008080 l F .text 00000046 FileLibLongToIntString -080080c8 l F .text 00000066 FileLibHexStringToByte -20000734 l O .bss 00000040 loggingStr -20000774 l O .bss 00000001 firmwareUpdateState -20000778 l O .bss 00000008 eraseInfo -20000780 l O .bss 00000458 fatFsObjects -20000bd8 l O .bss 00000184 lineParseObject -00000000 l df *ABS* 00000000 assert.c -00000000 l df *ABS* 00000000 can.c -08009f74 l O .text 00000024 canTiming -00000000 l df *ABS* 00000000 cpu.c -00000000 l df *ABS* 00000000 flash.c -08008c30 l F .text 00000044 FlashGetSector -08008c74 l F .text 00000078 FlashWriteBlock -08008cec l F .text 00000062 FlashSwitchBlock -08008d50 l F .text 00000084 FlashAddToBlock -08009f98 l O .text 00000030 flashSectorNumToMask -08009fc8 l O .text 0000006c flashLayout -20000d5c l O .bss 00000204 bootBlockInfo -20000f60 l O .bss 00000204 blockInfo -00000000 l df *ABS* 00000000 uart.c -08008fe4 l F .text 00000042 UartTransmitByte -08009028 l F .text 0000002c UartReceiveByte -20001164 l O .bss 00000001 xcpCtoRxLength.7780 -20001168 l O .bss 00000041 xcpCtoReqPacket.7779 -200011ac l O .bss 00000001 xcpCtoRxInProgress.7781 -200011b0 l O .bss 00000004 xcpCtoRxStartTime.7782 -00000000 l df *ABS* 00000000 usb.c -080091d4 l F .text 0000007c UsbFifoMgrWrite -08009250 l F .text 00000076 UsbFifoMgrRead -200011b4 l O .bss 00000004 fifoCtrlFree -200011b8 l O .bss 00000030 fifoCtrl -200011e8 l O .bss 00000041 fifoPipeBulkOUT -2000122c l O .bss 00000040 USB_Tx_Buffer.8970 -2000126c l O .bss 00000040 xcpCtoReqPacket.8956 -200012ac l O .bss 00000041 fifoPipeBulkIN -200012f0 l O .bss 00000001 xcpCtoRxLength.8957 -200012f4 l O .bss 000005f4 USB_OTG_dev -200018e8 l O .bss 00000001 xcpCtoRxInProgress.8958 -00000000 l df *ABS* 00000000 nvm.c -00000000 l df *ABS* 00000000 timer.c -200018ec l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 cpu_comp.c -00000000 l df *ABS* 00000000 cstart.c -08009724 l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 memcpy-stub.c -00000000 l df *ABS* 00000000 memset.c -00000000 l df *ABS* 00000000 ctype_.c -00000000 l df *ABS* 00000000 -00000800 l *ABS* 00000000 __STACKSIZE__ -08007824 g F .text 00000030 ComInit -08008df0 g F .text 00000050 FlashWrite -2000006c g O .data 00000012 USBD_DeviceDesc -080004f0 g F .text 0000001e USBD_USR_ProductStrDescriptor -080060b0 g F .text 0000004e f_gets -0800178c g F .text 00000010 USB_OTG_ReadDevOutEP_itr -08003a60 g F .text 0000002c FLASH_Unlock -08000690 g F .text 00000010 USB_OTG_BSP_mDelay -080005ac g F .text 0000000a USBD_USR_DeviceConnected -080036e0 g F .text 00000012 ETH_FlushTransmitFIFO -08008914 g F .text 00000008 AssertFailure -08008b2c g F .text 000000a0 CanReceivePacket -2000009c g O .data 00000004 USBD_DCD_INT_fops -080096e0 g F .text 00000058 reset_handler -08003c84 g F .text 00000028 GPIO_PinAFConfig -080017ec g F .text 0000009a DCD_Init -0800968c g F .text 00000022 TimerUpdate -08007c1c g F .text 00000010 XcpPacketTransmitted -080004c4 g F .text 0000000a usbd_bulk_get_rx_buffer_ptr -08003234 g F .text 0000009e ETH_StructInit -08007854 g F .text 000000a4 ComTask -08003f94 g F .text 0000000c SDIO_ClearFlag -08003050 g F .text 00000018 SD_GetStatus -08003ba8 g F .text 0000003e FLASH_ProgramWord -08003eb8 g F .text 0000000c SDIO_SetPowerState -080033ac g F .text 000002be ETH_Init -080011d4 g F .text 00000046 USB_OTG_FlushRxFifo -20002790 g O .bss 00000002 uip_len -20000624 g O .bss 00000006 uip_ethaddr -080062d8 g F .text 0000007e uip_add32 -080077ec g F .text 00000020 BootInit -080018dc g F .text 00000032 DCD_EP_Close -080081fc g F .text 00000038 FileSrecVerifyChecksum -08001888 g F .text 00000054 DCD_EP_Open -20001930 g O .bss 00000004 SET_TEST_MODE -08008004 g F .text 00000022 BackDoorInit -08000a34 g F .text 00000354 USBD_StdDevReq -08000570 g F .text 0000001e USBD_USR_InterfaceStrDescriptor -08003e18 g F .text 00000024 RCC_AHB1PeriphResetCmd -080040b8 g F .text 0000000c USART_GetFlagStatus -0800802c g F .text 00000002 CopService -0800a1b8 g .text 00000000 _etext -20000334 g O .bss 00000004 USBD_ep_status -080096d8 g F .text 00000004 CpuIrqDisable -08002e3c g F .text 0000019a SD_WriteBlock -20000080 g O .data 0000001c USR_cb -080061a0 g F .text 000000a6 ff_wtoupper -08001a0c g F .text 00000014 DCD_DevDisconnect -080039b0 g F .text 00000050 netdev_read -08006420 g F .text 00000f1e uip_process -08008fd8 g F .text 0000000a FlashGetUserProgBaseAddress -0800059c g F .text 00000008 USBD_USR_DeviceSuspended -0800321c g F .text 00000018 ETH_DeInit -08009744 g F .text 000000a6 memcpy -080083b4 g F .text 00000560 FileTask -08000dc0 g F .text 00000138 USBD_StdEPReq -0800967c g F .text 0000000e TimerReset -08003068 g F .text 00000038 disk_initialize -20002794 g O .bss 00000004 uip_sappdata -08000190 g F .text 00000002 UsbLeaveLowPowerModeHook -08003764 g F .text 00000226 netdev_init -08000994 g F .text 0000001e USBD_CtlSendStatus -20002798 g O .bss 00000004 uip_acc32 -08000d88 g F .text 00000036 USBD_StdItfReq -08006388 g F .text 00000024 uip_ipchksum -080027b8 g F .text 000002b6 SD_GetCardInfo -08003f80 g F .text 00000014 SDIO_GetFlagStatus -080009d4 g F .text 00000044 USBD_ParseSetupRequest -080040b0 g F .text 00000008 USART_ReceiveData -0800780c g F .text 00000018 BootTask -08001a20 g F .text 0000055e USBD_OTG_ISR_Handler -08003024 g F .text 0000002c SD_GetState -08008ecc g F .text 00000058 FlashWriteChecksum -08002a70 g F .text 00000084 SD_EnableWideBusOperation -08003df4 g F .text 00000024 RCC_APB2PeriphClockCmd -08003f04 g F .text 0000000e SDIO_GetCommandResponse -0800100c g F .text 000000c8 USB_OTG_SelectCore -08007900 g F .text 00000060 ComTransmitPacket -08003be8 g F .text 00000090 GPIO_Init -080030a0 g F .text 00000032 disk_status -08008234 g F .text 0000017e FileSrecParseLine -0800121c g F .text 0000002a USB_OTG_SetCurrentMode -080063ec g F .text 00000032 uip_listen -0800408c g F .text 0000001c USART_Cmd -08003a00 g F .text 00000060 netdev_send -08001258 g F .text 0000000a USB_OTG_ReadCoreItr -08000594 g F .text 00000002 USBD_USR_DeviceReset -08000938 g F .text 0000000e USBD_ClrCfg -080031b8 g F .text 00000062 disk_ioctl -080008ec g F .text 00000034 USBD_Init -08008178 g F .text 00000036 FileHandleFirmwareUpdateRequest -20000020 g O .data 0000002c USBD_bulk_cb -08003dd0 g F .text 00000024 RCC_APB1PeriphClockCmd -2000279c g O .bss 00000001 uip_flags -08000980 g F .text 00000012 USBD_CtlContinueRx -20001a80 g O .bss 00000010 EnetDmaRx -08003dac g F .text 00000024 RCC_AHB2PeriphClockCmd -08000228 g F .text 00000054 FileFirmwareUpdateCompletedHook -08007c08 g F .text 00000012 XcpIsConnected -08005fe8 g F .text 000000c8 f_unlink -0800018c g F .text 00000002 UsbEnterLowPowerModeHook -0800366c g F .text 00000026 ETH_MACTransmissionCmd -08009618 g F .text 00000008 NvmInit -08008dd4 g F .text 0000001a FlashInit -08003a8c g F .text 00000012 FLASH_Lock -08009638 g F .text 00000008 NvmGetUserProgBaseAddress -20002e64 g .bss 00000000 _ebss -0800179c g F .text 0000000c USB_OTG_ReadDevAllInEPItr -08001720 g F .text 00000034 USB_OTG_EPSetStall -08006100 g F .text 00000052 f_puts -08000510 g F .text 0000001e USBD_USR_ManufacturerStrDescriptor -080096c4 g F .text 00000012 UnusedISR -080005a4 g F .text 00000008 USBD_USR_DeviceResumed -08003eac g F .text 0000000c SDIO_ClockCmd -080078f8 g F .text 00000008 ComFree -08003f30 g F .text 00000030 SDIO_DataConfig -080005c4 g F .text 000000ae USB_OTG_BSP_Init -08000530 g F .text 0000001e USBD_USR_SerialStrDescriptor -080036bc g F .text 00000012 ETH_SoftwareReset -08003344 g F .text 00000068 ETH_WritePHYRegister -080015fc g F .text 00000122 USB_OTG_EP0StartXfer -080009b4 g F .text 0000001e USBD_CtlReceiveStatus -08009054 g F .text 0000003e UartInit -08000678 g F .text 00000018 USB_OTG_BSP_uDelay -08001264 g F .text 0000000c USB_OTG_InitDevSpeed -080014cc g F .text 0000012e USB_OTG_EPStartXfer -080095ac g F .text 0000006c UsbReceivePipeBulkOUT -08003cac g F .text 000000da RCC_GetClocksFreq -08009628 g F .text 00000008 NvmErase -08000194 g F .text 00000018 CpuUserProgramStartHook -08000a18 g F .text 0000001a USBD_CtlError -0800398c g F .text 00000022 netdev_init_mac -08003fac g F .text 000000de USART_Init -080019bc g F .text 00000040 DCD_EP_ClrStall -20000100 g .bss 00000000 _bss -08005e00 g F .text 00000024 f_close -08000598 g F .text 00000002 USBD_USR_DeviceConfigured -08003aac g F .text 00000054 FLASH_GetStatus -08007c2c g F .text 00000388 XcpPacketReceived -080063ac g F .text 0000000a uip_tcpchksum -08008bcc g F .text 00000008 CpuInit -08003aa0 g F .text 0000000c FLASH_ClearFlag -08003b00 g F .text 00000038 FLASH_WaitForLastOperation -0800371c g F .text 00000026 ETH_DMAReceptionCmd -08000590 g F .text 00000002 USBD_USR_Init -080059f0 g F .text 0000017c f_read -08008f8c g F .text 0000004c FlashDone -08001780 g F .text 0000000c USB_OTG_ReadDevAllOutEp_itr -08002b20 g F .text 00000172 SD_Init -08001248 g F .text 00000010 USB_OTG_IsDeviceMode -08000fb8 g F .text 0000002a USB_OTG_WritePacket -200027a0 g O .bss 00000004 uip_appdata -0800197c g F .text 00000040 DCD_EP_Stall -200027a4 g O .bss 00000004 uip_conn -080036d0 g F .text 00000010 ETH_GetSoftwareResetStatus -08001754 g F .text 0000002a USB_OTG_EPClearStall -200018f0 g O .bss 00000040 USB_Rx_Buffer -080093b8 g F .text 0000007a UsbTransmitPacket -08002af4 g F .text 0000002c SD_SelectDeselect -08008a84 g F .text 000000a8 CanTransmitPacket -08000188 g F .text 00000002 UsbConnectHook -08003ed4 g F .text 00000030 SDIO_SendCommand -080032d4 g F .text 0000006e ETH_ReadPHYRegister -200027a8 g O .bss 00000068 uip_conns -08001910 g F .text 00000038 DCD_EP_PrepareRx -0800142c g F .text 0000005c USB_OTG_EPActivate -08007bec g F .text 0000001c XcpInit -08000920 g F .text 00000018 USBD_SetCfg -08008130 g F .text 00000034 FileInit -08003f60 g F .text 0000000e SDIO_ReadData -080092c8 g F .text 000000d8 UsbInit -0800761c g F .text 000001d0 uip_arp_out -080093a0 g F .text 00000016 UsbFree -08008e40 g F .text 0000008a FlashErase -080004d0 g F .text 0000000e USBD_USR_DeviceDescriptor -080097ec g F .text 0000009e memset -0800027c g F .text 00000020 FileFirmwareUpdateErrorHook -080002fc g F .text 000000dc main -08003b38 g F .text 0000006e FLASH_EraseSector -08005d64 g F .text 0000009c f_sync -08002fd8 g F .text 0000004c SD_SendStatus -080012c0 g F .text 0000011e USB_OTG_CoreInitDev -08001184 g F .text 0000004e USB_OTG_FlushTxFifo -080081b0 g F .text 0000004c FileSrecGetLineType -08009640 g F .text 00000012 NvmDone -080057f0 g F .text 0000007a f_mount -08009094 g F .text 00000066 UartTransmitPacket -08009630 g F .text 00000008 NvmVerifyChecksum -08008c10 g F .text 0000001e CpuMemCopy -08003f14 g F .text 0000001a SDIO_GetResponse -20000068 g O .data 00000004 USBD_LangIDDesc -08001174 g F .text 0000000e USB_OTG_DisableGlobalInt -080017a8 g F .text 00000042 USB_OTG_EP0_OutStart -080010d4 g F .text 00000090 USB_OTG_CoreInit -20000330 g O .bss 00000004 USBD_cfg_status -080040c4 g F .text 00000120 SystemInit -20000338 g O .bss 00000004 USBD_default_cfg -08001948 g F .text 00000034 DCD_EP_Tx -08005e24 g F .text 00000170 f_lseek -08003fa0 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig -080074e8 g F .text 00000134 uip_arp_arpin -0800797c g F .text 0000001c ComGetActiveInterfaceMaxTxLen -080090fc g F .text 000000d8 UartReceivePacket -080001ec g F .text 0000000a FileGetFirmwareFilenameHook -080096dc g F .text 00000004 CpuIrqEnable -080005b8 g F .text 0000000a USBD_USR_DeviceDisconnected -08000674 g F .text 00000002 USB_OTG_BSP_EnableInterrupt -08002c94 g F .text 000001a6 SD_ReadBlock -08007490 g F .text 00000058 uip_arp_timer -0800096c g F .text 00000012 USBD_CtlContinueSendData -20002810 g O .bss 00000002 uip_listenports -20002814 g O .bss 00000004 uip_draddr -080004e0 g F .text 0000000e USBD_USR_LangIDStrDescriptor -080013e0 g F .text 00000020 USB_OTG_GetDeviceSpeed -20000000 g .data 00000000 _data -08003744 g F .text 00000020 ETH_Start -20001a90 g O .bss 00000640 RxBuff -08005f94 g F .text 00000054 f_stat -08008028 g F .text 00000002 CopInit -08002368 g F .text 0000002c SD_Detect -0800891c g F .text 00000168 CanInit -08009620 g F .text 00000008 NvmWrite -08008bd4 g F .text 0000003a CpuStartUserProgram -08000ef8 g F .text 0000004c USBD_GetString -20003664 g .bss 00000000 _estack -080040a8 g F .text 00000008 USART_SendData -08009434 g F .text 000000c8 UsbReceivePacket -08008f24 g F .text 00000068 FlashVerifyChecksum -08007a14 g F .text 00000044 NetTransmitPacket -200000ec g .data 00000000 _edata -08008164 g F .text 00000014 FileIsIdle -08007340 g F .text 0000000a htons -08005b6c g F .text 000001b0 f_write -08001270 g F .text 00000050 USB_OTG_EnableDevInt -08000000 g O .text 00000188 _vectab -08000550 g F .text 0000001e USBD_USR_ConfigStrDescriptor -0800586c g F .text 00000184 f_open -08003144 g F .text 00000074 disk_write -08003694 g F .text 00000026 ETH_MACReceptionCmd -08000948 g F .text 00000022 USBD_CtlSendData -0800029c g F .text 00000060 FileFirmwareUpdateLogHook -200020d0 g O .bss 00000640 TxBuff -200000e8 g O .data 00000004 __ctype_ptr__ -08007998 g F .text 00000008 ComIsConnected -08001400 g F .text 0000002a USB_OTG_EP0Activate -08000fe4 g F .text 00000026 USB_OTG_ReadPacket -0800a0b4 g O .text 00000101 _ctype_ -080036f4 g F .text 00000026 ETH_DMATransmissionCmd -08003e78 g F .text 00000034 SDIO_Init -080001ac g F .text 0000003e FileIsFirmwareUpdateRequestedHook -080019fc g F .text 00000010 DCD_EP_SetAddress -080063b8 g F .text 00000032 uip_init -08002394 g F .text 0000027e SD_PowerON -20001934 g O .bss 000000ff USBD_StrDesc -08007960 g F .text 0000001c ComGetActiveInterfaceMaxRxLen -08003d88 g F .text 00000024 RCC_AHB1PeriphClockCmd -08007a58 g F .text 0000010a NetReceivePacket -080030d4 g F .text 0000006e disk_read -08007fb4 g F .text 0000004e BackDoorCheck -20002e64 g .bss 00000000 _stack -08003e3c g F .text 00000024 RCC_APB2PeriphResetCmd -20002818 g O .bss 00000004 uip_netmask -20000000 g O .data 00000020 usbd_bulk_CfgDesc -2000281c g O .bss 00000004 uip_hostaddr -08006154 g F .text 0000004a ff_convert -080096b0 g F .text 00000012 TimerGet -08003ec4 g F .text 00000010 SDIO_GetPowerState -080094fc g F .text 000000ae UsbTransmitPipeBulkIN -20002780 g O .bss 00000010 EnetDmaTx -08007b64 g F .text 00000070 NetApp -2000004c g O .data 0000001c USR_desc -080079a0 g F .text 00000074 NetInit -08001488 g F .text 00000042 USB_OTG_EPDeactivate -08002614 g F .text 000001a4 SD_InitializeCards -08003c78 g F .text 0000000c GPIO_ReadInputDataBit -08009654 g F .text 00000028 TimerInit -08003f70 g F .text 0000000e SDIO_WriteData -20002820 g O .bss 00000642 uip_buf -200000a0 g O .data 0000002c USBD_DCD_INT_cb -0800734c g F .text 0000002a uip_send -20002e62 g O .bss 00000002 uip_slen -080001f8 g F .text 00000030 FileFirmwareUpdateStartedHook -08001164 g F .text 0000000e USB_OTG_EnableGlobalInt -08003e60 g F .text 00000018 SDIO_DeInit - - + +bin/openblt_olimex_stm32e407.elf: file format elf32-littlearm +bin/openblt_olimex_stm32e407.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x08000000 + +Program Header: +0x70000001 off 0x000195fc vaddr 0x080095fc paddr 0x080095fc align 2**2 + filesz 0x00000008 memsz 0x00000008 flags r-- + LOAD off 0x00010000 vaddr 0x08000000 paddr 0x08000000 align 2**16 + filesz 0x00009604 memsz 0x00009604 flags r-x + LOAD off 0x00020000 vaddr 0x20000000 paddr 0x08009604 align 2**16 + filesz 0x000002c0 memsz 0x000002c0 flags rw- + LOAD off 0x00020300 vaddr 0x20000300 paddr 0x08009980 align 2**16 + filesz 0x00000000 memsz 0x00002d68 flags rw- +private flags = 5000400: [Version5 EABI] [hard-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 000095fc 08000000 08000000 00010000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .ARM.exidx 00000008 080095fc 080095fc 000195fc 2**2 + CONTENTS, ALLOC, LOAD, READONLY, DATA + 2 .data 000002c0 20000000 08009604 00020000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 3 .bss 00002d68 20000300 08009980 00020300 2**7 + ALLOC + 4 .stack_dummy 00000800 20003068 20003068 000202c0 2**3 + CONTENTS, READONLY + 5 .ARM.attributes 00000030 00000000 00000000 00020ac0 2**0 + CONTENTS, READONLY + 6 .comment 0000006e 00000000 00000000 00020af0 2**0 + CONTENTS, READONLY + 7 .debug_line 0000fb06 00000000 00000000 00020b5e 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_info 0001fdb8 00000000 00000000 00030664 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_abbrev 00004a1a 00000000 00000000 0005041c 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_aranges 00001808 00000000 00000000 00054e38 2**3 + CONTENTS, READONLY, DEBUGGING + 11 .debug_loc 0000e23c 00000000 00000000 00056640 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_ranges 00001538 00000000 00000000 0006487c 2**0 + CONTENTS, READONLY, DEBUGGING + 13 .debug_macro 00017051 00000000 00000000 00065db4 2**0 + CONTENTS, READONLY, DEBUGGING + 14 .debug_str 00071caf 00000000 00000000 0007ce05 2**0 + CONTENTS, READONLY, DEBUGGING + 15 .debug_frame 00003d20 00000000 00000000 000eeab4 2**2 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +08000000 l d .text 00000000 .text +080095fc l d .ARM.exidx 00000000 .ARM.exidx +20000000 l d .data 00000000 .data +20000300 l d .bss 00000000 .bss +20003068 l d .stack_dummy 00000000 .stack_dummy +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l df *ABS* 00000000 obj/startup_stm32f4xx.o +00000800 l *ABS* 00000000 Stack_Size +00000000 l *ABS* 00000000 Heap_Size +08000262 l .text 00000000 .flash_to_ram_loop +0800029c l .text 00000000 .fill_zero_bss +08000298 l .text 00000000 .loop_zero_bss +00000000 l df *ABS* 00000000 crtstuff.c +080095f8 l O .text 00000000 __EH_FRAME_BEGIN__ +08000188 l F .text 00000000 __do_global_dtors_aux +20000300 l .bss 00000000 completed.8605 +200002bc l O .data 00000000 __do_global_dtors_aux_fini_array_entry +080001ac l F .text 00000000 frame_dummy +20000304 l .bss 00000000 object.8610 +200002b8 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o +00000000 l df *ABS* 00000000 usb_bsp.c +00000000 l df *ABS* 00000000 usbd_usr.c +00000000 l df *ABS* 00000000 main.c +08000478 l F .text 000000d0 Init +00000000 l df *ABS* 00000000 hooks.c +08008cf0 l O .text 00000020 firmwareFilename +2000031c l O .bss 0000022c logfile +00000000 l df *ABS* 00000000 usbd_bulk.c +08000698 l F .text 0000000c USBD_bulk_GetCfgDesc +080006a4 l F .text 00000012 usbd_bulk_SOF +080006b8 l F .text 0000000a usbd_bulk_DataIn +080006c4 l F .text 0000000c usbd_bulk_DataOut +080006d0 l F .text 00000060 usbd_bulk_Setup +08000730 l F .text 00000016 usbd_bulk_DeInit +08000748 l F .text 00000030 usbd_bulk_Init +20000548 l O .bss 00000004 usbd_bulk_AltSet +00000000 l df *ABS* 00000000 usbd_desc.c +00000000 l df *ABS* 00000000 mmc.c +08000824 l F .text 000000c8 SD_LowLevel_Init +080008ec l F .text 00000028 CmdError +08000914 l F .text 00000048 CmdResp7Error +0800095c l F .text 00000034 CmdResp3Error +08000990 l F .text 00000044 CmdResp2Error +080009d4 l F .text 00000120 CmdResp1Error +08000af4 l F .text 00000084 CmdResp6Error +08000b78 l F .text 00000178 FindSCR +08000cf0 l F .text 000000ec SDEnWideBus +2000054c l O .bss 00000001 TransferError +2000009c l O .data 00000004 DMAEndOfTransfer +20000550 l O .bss 00000018 SDIO_DataInitStructure +20000568 l O .bss 00000010 CSD_Tab +20000578 l O .bss 00000004 CardType +2000057c l O .bss 00000010 CID_Tab +2000058c l O .bss 00000004 TransferEnd +20000590 l O .bss 00000018 SDIO_InitStructure +200005a8 l O .bss 00000004 RCA +200005b0 l O .bss 00000058 SDCardInfo +20000608 l O .bss 00000014 SDIO_CmdInitStructure +200000a0 l O .data 00000001 Stat +2000061c l O .bss 00000004 StopCondition +00000000 l df *ABS* 00000000 stm32_eth.c +00000000 l df *ABS* 00000000 usb_dcd_int.c +08001ea4 l F .text 0000001c DCD_SessionRequest_ISR +08001ec0 l F .text 00000024 DCD_OTG_ISR +08001ee4 l F .text 00000040 DCD_HandleResume_ISR +08001f24 l F .text 00000074 DCD_HandleUSBSuspend_ISR +08001f98 l F .text 0000001c DCD_HandleSof_ISR +08001fb4 l F .text 0000001c DCD_IsoINIncomplete_ISR +08001fd0 l F .text 0000001c DCD_IsoOUTIncomplete_ISR +08001fec l F .text 00000022 DCD_ReadDevInEP +08002010 l F .text 000000c8 DCD_HandleOutEP_ISR +080020d8 l F .text 000000ac DCD_WriteEmptyTxFifo +08002184 l F .text 000000dc DCD_HandleInEP_ISR +08002260 l F .text 0000008e DCD_HandleRxStatusQueueLevel_ISR +080022f0 l F .text 00000098 DCD_HandleUsbReset_ISR +08002388 l F .text 00000046 DCD_HandleEnumDone_ISR +00000000 l df *ABS* 00000000 usb_core.c +080024c0 l F .text 0000001c USB_OTG_EnableCommonInt +080024dc l F .text 00000058 USB_OTG_CoreReset +00000000 l df *ABS* 00000000 usb_dcd.c +00000000 l df *ABS* 00000000 netdev.c +0800301c l F .text 00000038 netdev_RxDscrInit +08003054 l F .text 00000024 netdev_TxDscrInit +00000000 l df *ABS* 00000000 stm32f4xx_gpio.c +00000000 l df *ABS* 00000000 stm32f4xx_rcc.c +200000a4 l O .data 00000010 APBAHBPrescTable +00000000 l df *ABS* 00000000 stm32f4xx_flash.c +00000000 l df *ABS* 00000000 stm32f4xx_sdio.c +00000000 l df *ABS* 00000000 stm32f4xx_syscfg.c +00000000 l df *ABS* 00000000 stm32f4xx_usart.c +00000000 l df *ABS* 00000000 system_stm32f4xx.c +080038bc l F .text 000000c4 SetSysClock +00000000 l df *ABS* 00000000 _exit.c +00000000 l df *ABS* 00000000 usbd_req.c +080039d4 l F .text 00000014 USBD_GetLen +080039e8 l F .text 0000007c USBD_SetFeature +08003ac4 l F .text 0000010a USBD_GetDescriptor +08003bd0 l F .text 0000004a USBD_SetAddress +08003c1c l F .text 00000090 USBD_SetConfig +08003cac l F .text 0000003c USBD_GetConfig +08003ce8 l F .text 00000034 USBD_GetStatus +08003d1c l F .text 00000030 USBD_ClrFeature +20000624 l O .bss 00000001 cfgidx.8733 +00000000 l df *ABS* 00000000 usbd_core.c +08003f2c l F .text 00000010 USBD_RunTestMode +08003f3c l F .text 00000016 USBD_Resume +08003f54 l F .text 0000001c USBD_Suspend +08003f70 l F .text 00000010 USBD_SOF +08003f80 l F .text 0000000e USBD_IsoINIncomplete +08003f90 l F .text 0000000e USBD_IsoOUTIncomplete +08003fa0 l F .text 00000016 USBD_DevConnected +08003fb8 l F .text 00000020 USBD_DevDisconnected +08003fd8 l F .text 0000002e USBD_Reset +08004008 l F .text 0000004e USBD_SetupStage +08004058 l F .text 000000b2 USBD_DataInStage +0800410c l F .text 00000078 USBD_DataOutStage +00000000 l df *ABS* 00000000 usbd_ioreq.c +00000000 l df *ABS* 00000000 xcp.c +08004260 l F .text 00000020 XcpComputeChecksum +08004280 l F .text 0000000c XcpProtectResources +0800428c l F .text 00000014 XcpSetCtoError +080042a0 l F .text 0000001c XcpCmdDisconnect +080042bc l F .text 00000020 XcpCmdGetStatus +080042dc l F .text 0000000a XcpCmdSynch +080042e8 l F .text 0000002c XcpCmdGetId +08004314 l F .text 00000018 XcpCmdSetMta +0800432c l F .text 00000028 XcpCmdBuildCheckSum +08004354 l F .text 0000000a XcpCmdProgramPrepare +08004360 l F .text 00000028 XcpCmdProgramStart +08004388 l F .text 00000050 XcpCmdConnect +080043d8 l F .text 00000040 XcpCmdUpload +08004418 l F .text 00000040 XcpCmdShortUpload +08004458 l F .text 00000040 XcpCmdProgramMax +08004498 l F .text 0000005c XcpCmdProgram +080044f4 l F .text 00000028 XcpCmdProgramClear +0800451c l F .text 00000018 XcpCmdProgramReset +08004534 l F .text 0000000a XcpTransmitPacket +08008d88 l O .text 00000008 xcpStationId +20000630 l O .bss 0000004c xcpInfo +00000000 l df *ABS* 00000000 net.c +0800465c l F .text 000000d4 NetServerTask +2000067c l O .bss 00000004 ARPTimerTimeOut +20000680 l O .bss 00000004 periodicTimerTimeOut +00000000 l df *ABS* 00000000 com.c +20000684 l O .bss 00000040 xcpCtoReqPacket.4537 +200000e4 l O .data 00000001 comActiveInterface +00000000 l df *ABS* 00000000 backdoor.c +200006c4 l O .bss 00000001 backdoorOpen +200006c8 l O .bss 00000004 backdoorOpenTime +00000000 l df *ABS* 00000000 boot.c +00000000 l df *ABS* 00000000 cop.c +00000000 l df *ABS* 00000000 file.c +08004a14 l F .text 00000040 FileLibLongToIntString +08004a54 l F .text 0000002a FileLibByteNibbleToChar +08004a80 l F .text 00000020 FileLibByteToHexString +08004aa0 l F .text 00000058 FileLibHexStringToByte +200006cc l O .bss 00000040 loggingStr +2000070c l O .bss 00000001 firmwareUpdateState +20000710 l O .bss 00000008 eraseInfo +20000718 l O .bss 00000458 fatFsObjects +20000b70 l O .bss 00000184 lineParseObject +00000000 l df *ABS* 00000000 assert.c +00000000 l df *ABS* 00000000 uart.c +08005158 l F .text 00000030 UartTransmitByte +08005188 l F .text 00000024 UartReceiveByte +20000cf4 l O .bss 00000004 xcpCtoRxStartTime.7911 +20000cf8 l O .bss 00000041 xcpCtoReqPacket.7908 +20000d39 l O .bss 00000001 xcpCtoRxInProgress.7910 +20000d3a l O .bss 00000001 xcpCtoRxLength.7909 +00000000 l df *ABS* 00000000 nvm.c +00000000 l df *ABS* 00000000 usb.c +08005314 l F .text 00000030 UsbFifoMgrInit +08005344 l F .text 00000034 UsbFifoMgrCreate +08005378 l F .text 0000006c UsbFifoMgrWrite +080053e4 l F .text 00000014 UsbTransmitByte +080053f8 l F .text 00000068 UsbFifoMgrRead +08005460 l F .text 00000014 UsbReceiveByte +08005474 l F .text 00000028 UsbFifoMgrScan +20000d3b l O .bss 00000001 xcpCtoRxInProgress.9087 +20000d3c l O .bss 00000004 fifoCtrlFree +20000d40 l O .bss 00000030 fifoCtrl +20000d70 l O .bss 00000041 fifoPipeBulkOUT +20000db4 l O .bss 00000041 fifoPipeBulkIN +20000df8 l O .bss 000005f4 USB_OTG_dev +200013ec l O .bss 00000040 USB_Tx_Buffer.9099 +2000142c l O .bss 00000040 xcpCtoReqPacket.9085 +2000146c l O .bss 00000001 xcpCtoRxLength.9086 +00000000 l df *ABS* 00000000 cpu.c +00000000 l df *ABS* 00000000 flash.c +08005708 l F .text 00000048 FlashGetSector +08005750 l F .text 00000026 FlashInitBlock +08005778 l F .text 00000074 FlashWriteBlock +080057ec l F .text 00000040 FlashSwitchBlock +0800582c l F .text 0000007a FlashAddToBlock +080058a8 l F .text 00000068 FlashEraseSectors +08008fa4 l O .text 00000030 flashSectorNumToMask +08008fd4 l O .text 0000006c flashLayout +20001470 l O .bss 00000204 bootBlockInfo +20001674 l O .bss 00000204 blockInfo +00000000 l df *ABS* 00000000 can.c +08005a9c l F .text 00000058 CanGetSpeedConfig +08009068 l O .text 00000024 canTiming +00000000 l df *ABS* 00000000 timer.c +20001878 l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 cpu_comp.c +00000000 l df *ABS* 00000000 ff.c +08005d88 l F .text 0000000a ld_word +08005d94 l F .text 00000016 ld_dword +08005dac l F .text 00000008 st_word +08005db4 l F .text 00000014 st_dword +08005dc8 l F .text 00000012 mem_cpy +08005ddc l F .text 0000000a mem_set +08005de8 l F .text 0000001e mem_cmp +08005e08 l F .text 00000010 chk_chr +08005e18 l F .text 00000018 clust2sect +08005e30 l F .text 00000024 ld_clust +08005e54 l F .text 00000024 st_clust +08005e78 l F .text 0000008c pick_lfn +08005f04 l F .text 00000070 put_lfn +08005f74 l F .text 000000a0 gen_numname +08006014 l F .text 0000001c sum_sfn +08006030 l F .text 00000054 get_ldnumber +08006084 l F .text 00000034 validate +080060b8 l F .text 00000054 sync_window +0800610c l F .text 00000034 move_window +08006140 l F .text 00000060 check_fs +080061a0 l F .text 000002d4 find_volume +08006474 l F .text 000000d0 get_fat +08006544 l F .text 000000b2 dir_sdi +080065f8 l F .text 0000010c put_fat +08006704 l F .text 000000ce create_chain +080067d4 l F .text 0000007c remove_chain +08006850 l F .text 00000126 dir_next +08006978 l F .text 0000004c dir_alloc +080069c4 l F .text 000000c4 dir_read +08006a88 l F .text 00000050 dir_remove +08006ad8 l F .text 00000228 create_name +08006d00 l F .text 000000e2 get_fileinfo +08006de4 l F .text 000000ac cmp_lfn +08006e90 l F .text 000000e8 dir_find +08006f78 l F .text 0000008c follow_path +08007004 l F .text 0000013c dir_register +08007140 l F .text 0000008c sync_fs +080076ac l F .text 0000004a putc_bfd +2000187c l O .bss 00000200 LfnBuf +20001a7c l O .bss 00000002 Fsid +080090a0 l O .text 00000080 ExCvt +08009120 l O .text 0000000d LfnOfs +20001a80 l O .bss 00000004 FatFs +00000000 l df *ABS* 00000000 unicode.c +08009130 l O .text 000000bc cvt2.4382 +080091ec l O .text 000001f2 cvt1.4381 +080093e0 l O .text 00000100 Tbl +00000000 l df *ABS* 00000000 uip.c +08007b9c l F .text 0000003c chksum +08007c34 l F .text 00000030 uip_add_rcv_nxt +08007d20 l F .text 0000003c upper_layer_chksum +20001a84 l O .bss 00000002 tmp16 +20001a86 l O .bss 00000002 ipid +20001a88 l O .bss 00000004 iss +20001a8c l O .bss 00000002 lastport +20001a8e l O .bss 00000001 c +00000000 l df *ABS* 00000000 uip_arp.c +0800882c l F .text 00000104 uip_arp_update +20001a96 l O .bss 00000001 i +20001a97 l O .bss 00000001 tmpage +20001a98 l O .bss 00000060 arp_table +080094e0 l O .text 00000006 broadcast_ethaddr +20001af8 l O .bss 00000001 c +20001af9 l O .bss 00000001 arptime +20001afc l O .bss 00000004 ipaddr +00000000 l df *ABS* 00000000 exit.c +00000000 l df *ABS* 00000000 init.c +00000000 l df *ABS* 00000000 locale.c +08008c48 l F .text 00000018 __get_current_locale +00000000 l df *ABS* 00000000 mbtowc_r.c +00000000 l df *ABS* 00000000 memcpy-stub.c +00000000 l df *ABS* 00000000 memset.c +00000000 l df *ABS* 00000000 wctomb_r.c +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o +00000000 l df *ABS* 00000000 impure.c +200000e8 l O .data 00000060 impure_data +00000000 l df *ABS* 00000000 ctype_.c +00000000 l df *ABS* 00000000 crtstuff.c +080095f8 l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 +200002bc l .data 00000000 __init_array_end +200002b8 l .data 00000000 __preinit_array_end +200002b8 l .data 00000000 __init_array_start +200002b8 l .data 00000000 __preinit_array_start +08004848 g F .text 00000030 ComInit +0800030c w F .text 00000002 RTC_Alarm_IRQHandler +08005928 g F .text 0000005c FlashWrite +0800035a w F .text 00000002 HASH_RNG_IRQHandler +20000088 g O .data 00000012 USBD_DeviceDesc +080002ca w F .text 00000002 EXTI2_IRQHandler +08000798 g F .text 0000001c USBD_USR_ProductStrDescriptor +08000316 w F .text 00000002 TIM8_CC_IRQHandler +20003068 g .stack_dummy 00000000 __HeapBase +08007a28 g F .text 00000054 f_gets +08002d34 g F .text 00000012 USB_OTG_ReadDevOutEP_itr +0800351c g F .text 00000020 FLASH_Unlock +08000434 g F .text 00000010 USB_OTG_BSP_mDelay +08000460 g F .text 0000000a USBD_USR_DeviceConnected +08001e20 g F .text 00000014 ETH_FlushTransmitFIFO +08005150 g F .text 00000008 AssertFailure +080002b2 w F .text 00000002 DebugMon_Handler +08005c94 g F .text 0000008c CanReceivePacket +200000b4 g O .data 00000004 USBD_DCD_INT_fops +0800338c g F .text 0000002e GPIO_PinAFConfig +08002d98 g F .text 0000009c DCD_Init +00000000 g *ABS* 00000000 __HEAP_SIZE +08005d54 g F .text 0000001c TimerUpdate +0800456c g F .text 00000010 XcpPacketTransmitted +20000000 g .data 00000000 __data_start__ +08000778 g F .text 00000008 usbd_bulk_get_rx_buffer_ptr +080002f0 w F .text 00000002 TIM1_CC_IRQHandler +080019d8 g F .text 0000009e ETH_StructInit +08000342 w F .text 00000002 DMA2_Stream5_IRQHandler +08004878 g F .text 00000064 ComTask +08003798 g F .text 0000000c SDIO_ClearFlag +080002a8 w F .text 00000002 HardFault_Handler +08001834 g F .text 0000001a SD_GetStatus +08003638 g F .text 0000003c FLASH_ProgramWord +080002da w F .text 00000002 DMA1_Stream5_IRQHandler +080036cc g F .text 0000000c SDIO_SetPowerState +08001b34 g F .text 00000284 ETH_Init +08002750 g F .text 00000040 USB_OTG_FlushRxFifo +080002b6 w F .text 00000002 SysTick_Handler +20002994 g O .bss 00000002 uip_len +080002bc w F .text 00000002 PVD_IRQHandler +20001a90 g O .bss 00000006 uip_ethaddr +08001850 g F .text 00000002 SDIO_IRQHandler +080002be w F .text 00000002 TAMP_STAMP_IRQHandler +08007bd8 g F .text 0000005c uip_add32 +080049d4 g F .text 00000020 BootInit +08002e88 g F .text 00000042 DCD_EP_Close +08004bb8 g F .text 0000003a FileSrecVerifyChecksum +080002b4 w F .text 00000002 PendSV_Handler +08008c60 g F .text 00000014 __locale_ctype_ptr +080002a6 w F .text 00000002 NMI_Handler +08009604 g .ARM.exidx 00000000 __exidx_end +08002e34 g F .text 00000052 DCD_EP_Open +0800033c w F .text 00000002 CAN2_RX1_IRQHandler +080002cc w F .text 00000002 EXTI3_IRQHandler +20002990 g O .bss 00000004 SET_TEST_MODE +080049b4 g F .text 00000020 BackDoorInit +08009604 g .ARM.exidx 00000000 __etext +08003d4c g F .text 00000048 USBD_StdDevReq +08000314 w F .text 00000002 TIM8_TRG_COM_TIM14_IRQHandler +08000808 g F .text 0000001c USBD_USR_InterfaceStrDescriptor +080002ec w F .text 00000002 TIM1_UP_TIM10_IRQHandler +080034e4 g F .text 0000001c RCC_AHB1PeriphResetCmd +080038ac g F .text 0000000e USART_GetFlagStatus +08004a10 g F .text 00000002 CopService +20000628 g O .bss 00000004 USBD_ep_status +08005d80 g F .text 00000004 CpuIrqDisable +08001638 g F .text 00000188 SD_WriteBlock +08000312 w F .text 00000002 TIM8_UP_TIM13_IRQHandler +20000000 g O .data 0000001c USR_cb +08007b08 g F .text 00000094 ff_wtoupper +0800034c w F .text 00000002 I2C3_ER_IRQHandler +08003008 g F .text 00000014 DCD_DevDisconnect +0800325c g F .text 00000048 netdev_read +08007d68 g F .text 00000a9c uip_process +08005a94 g F .text 00000008 FlashGetUserProgBaseAddress +08000450 g F .text 00000008 USBD_USR_DeviceSuspended +080019c0 g F .text 00000018 ETH_DeInit +08008c98 g F .text 00000016 memcpy +08004d40 g F .text 00000410 FileTask +08003dcc g F .text 00000124 USBD_StdEPReq +08005d20 g F .text 0000000c TimerReset +080002c6 w F .text 00000002 EXTI0_IRQHandler +080002fc w F .text 00000002 I2C2_EV_IRQHandler +08001858 g F .text 00000030 disk_initialize +20002998 g O .bss 00000004 uip_sappdata +08000560 g F .text 00000002 UsbLeaveLowPowerModeHook +080002d4 w F .text 00000002 DMA1_Stream2_IRQHandler +080002e2 w F .text 00000002 CAN1_RX0_IRQHandler +08003078 g F .text 000001c4 netdev_init +08004220 g F .text 0000001e USBD_CtlSendStatus +2000299c g O .bss 00000004 uip_acc32 +0800035c w F .text 00000002 FPU_IRQHandler +08003d94 g F .text 00000036 USBD_StdItfReq +08007d00 g F .text 00000020 uip_ipchksum +080010c4 g F .text 000002a8 SD_GetCardInfo +08003784 g F .text 00000014 SDIO_GetFlagStatus +08003a64 g F .text 00000044 USBD_ParseSetupRequest +08000352 w F .text 00000002 OTG_HS_WKUP_IRQHandler +080038a4 g F .text 00000008 USART_ReceiveData +080049f4 g F .text 00000018 BootTask +080023d0 g F .text 000000f0 USBD_OTG_ISR_Handler +08001808 g F .text 0000002c SD_GetState +080059b4 g F .text 00000050 FlashWriteChecksum +080002ae w F .text 00000002 UsageFault_Handler +0800136c g F .text 0000007c SD_EnableWideBusOperation +080034c8 g F .text 0000001c RCC_APB2PeriphClockCmd +08003718 g F .text 0000000c SDIO_GetCommandResponse +08002584 g F .text 000000d4 USB_OTG_SelectCore +0800033e w F .text 00000002 CAN2_SCE_IRQHandler +080048e4 g F .text 0000004c ComTransmitPacket +0800032e w F .text 00000002 DMA2_Stream2_IRQHandler +080032f8 g F .text 00000084 GPIO_Init +08001888 g F .text 00000024 disk_status +20003068 g .stack_dummy 00000000 __HeapLimit +20000300 g .bss 00000000 __bss_start__ +08004bf4 g F .text 0000014c FileSrecParseLine +08002790 g F .text 0000002a USB_OTG_SetCurrentMode +08007cc0 g F .text 00000034 uip_listen +08000300 w F .text 00000002 SPI1_IRQHandler +08003880 g F .text 0000001c USART_Cmd +080032a4 g F .text 00000054 netdev_send +080027d8 g F .text 0000000a USB_OTG_ReadCoreItr +08000448 g F .text 00000002 USBD_USR_DeviceReset +080041d0 g F .text 0000000e USBD_ClrCfg +08000326 w F .text 00000002 TIM6_DAC_IRQHandler +0800195c g F .text 00000064 disk_ioctl +080002ea w F .text 00000002 TIM1_BRK_TIM9_IRQHandler +08004184 g F .text 00000034 USBD_Init +08000356 w F .text 00000002 DCMI_IRQHandler +0800033a w F .text 00000002 CAN2_RX0_IRQHandler +08004b38 g F .text 00000030 FileHandleFirmwareUpdateRequest +2000001c g O .data 0000002c USBD_bulk_cb +080034ac g F .text 0000001c RCC_APB1PeriphClockCmd +080095fc g .text 00000000 __exidx_start +08001854 g F .text 00000002 DMA2_Stream3_IRQHandler +200029a0 g O .bss 00000001 uip_flags +080094e8 g O .text 00000004 _global_impure_ptr +08008bfc g F .text 0000004c __libc_init_array +08004210 g F .text 00000010 USBD_CtlContinueRx +20001b80 g O .bss 00000010 EnetDmaRx +08003490 g F .text 0000001c RCC_AHB2PeriphClockCmd +080001e4 g F .text 00000000 _mainCRTStartup +080005f0 g F .text 00000044 FileFirmwareUpdateCompletedHook +0800455c g F .text 00000010 XcpIsConnected +0800796c g F .text 000000bc f_unlink +08000348 w F .text 00000002 USART6_IRQHandler +0800055c g F .text 00000002 UsbEnterLowPowerModeHook +08008cd8 g F .text 00000000 _init +08001db8 g F .text 00000020 ETH_MACTransmissionCmd +080052d8 g F .text 00000008 NvmInit +08005910 g F .text 00000018 FlashInit +0800353c g F .text 00000010 FLASH_Lock +080052f8 g F .text 00000008 NvmGetUserProgBaseAddress +08000308 w F .text 00000002 USART3_IRQHandler +08000358 w F .text 00000002 CRYP_IRQHandler +00000000 w *UND* 00000000 __libc_fini_array +08002d48 g F .text 0000000c USB_OTG_ReadDevAllInEPItr +08000258 g F .text 00000038 Reset_Handler +08002cb8 g F .text 00000038 USB_OTG_EPSetStall +08007a7c g F .text 00000050 f_puts +080002e4 w F .text 00000002 CAN1_RX1_IRQHandler +080007b4 g F .text 0000001c USBD_USR_ManufacturerStrDescriptor +08000324 w F .text 00000002 UART5_IRQHandler +08000458 g F .text 00000008 USBD_USR_DeviceResumed +0800032a w F .text 00000002 DMA2_Stream0_IRQHandler +080036c0 g F .text 0000000c SDIO_ClockCmd +080048dc g F .text 00000008 ComFree +0800373c g F .text 00000030 SDIO_DataConfig +080002f6 w F .text 00000002 TIM4_IRQHandler +08000368 g F .text 000000b0 USB_OTG_BSP_Init +080007d0 g F .text 0000001c USBD_USR_SerialStrDescriptor +08001df8 g F .text 00000010 ETH_SoftwareReset +00000000 w *UND* 00000000 __sf_fake_stderr +08001ad4 g F .text 00000060 ETH_WritePHYRegister +08002b90 g F .text 00000128 USB_OTG_EP0StartXfer +00000000 w *UND* 00000000 __deregister_frame_info +08004240 g F .text 0000001e USBD_CtlReceiveStatus +20003068 g .stack_dummy 00000000 end +080002f8 w F .text 00000002 I2C1_EV_IRQHandler +080002dc w F .text 00000002 DMA1_Stream6_IRQHandler +080051ac g F .text 0000003c UartInit +0800041c g F .text 00000018 USB_OTG_BSP_uDelay +200002c0 g .data 00000000 __data_end__ +080027e4 g F .text 0000000c USB_OTG_InitDevSpeed +08002a54 g F .text 0000013c USB_OTG_EPStartXfer +08005650 g F .text 00000058 UsbReceivePipeBulkOUT +080033bc g F .text 000000b8 RCC_GetClocksFreq +080052e8 g F .text 00000008 NvmErase +08000564 g F .text 0000001c CpuUserProgramStartHook +080002d2 w F .text 00000002 DMA1_Stream1_IRQHandler +08003aa8 g F .text 0000001a USBD_CtlError +0800323c g F .text 00000020 netdev_init_mac +08000322 w F .text 00000002 UART4_IRQHandler +080037b0 g F .text 000000d0 USART_Init +20003068 g .bss 00000000 __bss_end__ +00000800 g *ABS* 00000000 __STACK_SIZE +080002f4 w F .text 00000002 TIM3_IRQHandler +080002c4 w F .text 00000002 RCC_IRQHandler +08002fb4 g F .text 00000042 DCD_EP_ClrStall +08000310 w F .text 00000002 TIM8_BRK_TIM12_IRQHandler +00000000 w *UND* 00000000 __call_exitprocs +08007794 g F .text 00000024 f_close +080002b8 w F .text 00000002 Default_Handler +0800044c g F .text 00000002 USBD_USR_DeviceConfigured +080001e4 g F .text 00000000 _start +08003558 g F .text 00000040 FLASH_GetStatus +0800457c g F .text 000000e0 XcpPacketReceived +08007d5c g F .text 0000000a uip_tcpchksum +080056a8 g F .text 00000008 CpuInit +0800354c g F .text 0000000c FLASH_ClearFlag +08003598 g F .text 00000030 FLASH_WaitForLastOperation +08001e5c g F .text 00000028 ETH_DMAReceptionCmd +08000444 g F .text 00000002 USBD_USR_Init +0800030a w F .text 00000002 EXTI15_10_IRQHandler +0800739c g F .text 0000016c f_read +080002de w F .text 00000002 ADC_IRQHandler +08005a54 g F .text 00000040 FlashDone +08002d28 g F .text 0000000c USB_OTG_ReadDevAllOutEp_itr +08001414 g F .text 000000ac SD_Init +080027c8 g F .text 00000010 USB_OTG_IsDeviceMode +08002534 g F .text 0000002a USB_OTG_WritePacket +08000318 w F .text 00000002 DMA1_Stream7_IRQHandler +00000000 w *UND* 00000000 software_init_hook +200029a4 g O .bss 00000004 uip_appdata +08002f70 g F .text 00000042 DCD_EP_Stall +200029a8 g O .bss 00000004 uip_conn +08000328 w F .text 00000002 TIM7_IRQHandler +08001e08 g F .text 00000018 ETH_GetSoftwareResetStatus +08000338 w F .text 00000002 CAN2_TX_IRQHandler +08002cf0 g F .text 00000036 USB_OTG_EPClearStall +20001b00 g O .bss 00000040 USB_Rx_Buffer +0800031e w F .text 00000002 TIM5_IRQHandler +08005514 g F .text 00000050 UsbTransmitPacket +080013e8 g F .text 0000002c SD_SelectDeselect +08000346 w F .text 00000002 DMA2_Stream7_IRQHandler +08005c00 g F .text 00000094 CanTransmitPacket +08000558 g F .text 00000002 UsbConnectHook +0800034a w F .text 00000002 I2C3_EV_IRQHandler +080036e8 g F .text 00000030 SDIO_SendCommand +08001a78 g F .text 0000005c ETH_ReadPHYRegister +080002e8 w F .text 00000002 EXTI9_5_IRQHandler +200029ac g O .bss 00000068 uip_conns +08002ecc g F .text 0000005c DCD_EP_PrepareRx +080002c0 w F .text 00000002 RTC_WKUP_IRQHandler +080029a8 g F .text 00000062 USB_OTG_EPActivate +08000336 w F .text 00000002 ETH_WKUP_IRQHandler +08004540 g F .text 0000001c XcpInit +080041b8 g F .text 00000018 USBD_SetCfg +08004af8 g F .text 0000002c FileInit +0800376c g F .text 0000000c SDIO_ReadData +0800549c g F .text 00000064 UsbInit +08008a74 g F .text 00000160 uip_arp_out +08000302 w F .text 00000002 SPI2_IRQHandler +00000000 w *UND* 00000000 __sf_fake_stdin +08005500 g F .text 00000014 UsbFree +08005984 g F .text 0000002e FlashErase +08000350 w F .text 00000002 OTG_HS_EP1_IN_IRQHandler +08000780 g F .text 0000000c USBD_USR_DeviceDescriptor +08008cae g F .text 00000010 memset +08000634 g F .text 00000018 FileFirmwareUpdateErrorHook +080002aa w F .text 00000002 MemManage_Handler +08000000 g .text 00000188 __isr_vector +08000548 g F .text 00000010 main +080002d0 w F .text 00000002 DMA1_Stream0_IRQHandler +080035c8 g F .text 00000070 FLASH_EraseSector +080076f8 g F .text 0000009c f_sync +080017c0 g F .text 00000048 SD_SendStatus +0800282c g F .text 00000130 USB_OTG_CoreInitDev +08002708 g F .text 00000048 USB_OTG_FlushTxFifo +080002e0 w F .text 00000002 CAN1_TX_IRQHandler +080002b0 w F .text 00000002 SVC_Handler +08004b68 g F .text 00000050 FileSrecGetLineType +08008cbe g F .text 0000001a __ascii_wctomb +08005300 g F .text 00000014 NvmDone +080071cc g F .text 00000058 f_mount +080051e8 g F .text 00000050 UartTransmitPacket +080052f0 g F .text 00000008 NvmVerifyChecksum +00000000 w *UND* 00000000 hardware_init_hook +080056e8 g F .text 00000020 CpuMemCopy +08003724 g F .text 00000018 SDIO_GetResponse +20003068 g .stack_dummy 00000000 __end__ +20000084 g O .data 00000004 USBD_LangIDDesc +080026f8 g F .text 0000000e USB_OTG_DisableGlobalInt +080002ce w F .text 00000002 EXTI4_IRQHandler +08002d54 g F .text 00000042 USB_OTG_EP0_OutStart +08002658 g F .text 0000008e USB_OTG_CoreInit +20000620 g O .bss 00000004 USBD_cfg_status +08003980 g F .text 00000050 SystemInit +2000062c g O .bss 00000004 USBD_default_cfg +08002f28 g F .text 00000046 DCD_EP_Tx +08008ce4 g F .text 00000000 _fini +080077b8 g F .text 00000168 f_lseek +080037a4 g F .text 0000000c SYSCFG_ETH_MediaInterfaceConfig +08008994 g F .text 000000e0 uip_arp_arpin +0800494c g F .text 0000001c ComGetActiveInterfaceMaxTxLen +00000000 w *UND* 00000000 atexit +08005238 g F .text 000000a0 UartReceivePacket +080005c0 g F .text 00000008 FileGetFirmwareFilenameHook +08005d84 g F .text 00000004 CpuIrqEnable +0800046c g F .text 0000000a USBD_USR_DeviceDisconnected +0800031a w F .text 00000002 FSMC_IRQHandler +20020000 g .bss 00000000 __StackTop +08000334 w F .text 00000002 ETH_IRQHandler +08000418 g F .text 00000002 USB_OTG_BSP_EnableInterrupt +20000148 g O .data 00000004 _impure_ptr +080014c0 g F .text 00000178 SD_ReadBlock +0800034e w F .text 00000002 OTG_HS_EP1_OUT_IRQHandler +08008930 g F .text 00000064 uip_arp_timer +08004200 g F .text 00000010 USBD_CtlContinueSendData +20002a14 g O .bss 00000002 uip_listenports +080002ba w F .text 00000002 WWDG_IRQHandler +20002a18 g O .bss 00000004 uip_draddr +0800078c g F .text 0000000c USBD_USR_LangIDStrDescriptor +0800295c g F .text 0000001e USB_OTG_GetDeviceSpeed +08008c74 g F .text 00000024 __ascii_mbtowc +08001e84 g F .text 00000020 ETH_Start +20001b90 g O .bss 00000640 RxBuff +08007920 g F .text 0000004c f_stat +08004a0c g F .text 00000002 CopInit +080002f2 w F .text 00000002 TIM2_IRQHandler +08000ddc g F .text 0000002c SD_Detect +08005af4 g F .text 0000010c CanInit +080052e0 g F .text 00000008 NvmWrite +080056b0 g F .text 00000038 CpuStartUserProgram +0800030e w F .text 00000002 OTG_FS_WKUP_IRQHandler +080002ee w F .text 00000002 TIM1_TRG_COM_TIM11_IRQHandler +08000354 w F .text 00000002 OTG_HS_IRQHandler +08003ef0 g F .text 0000003a USBD_GetString +0800389c g F .text 00000008 USART_SendData +08005564 g F .text 00000088 UsbReceivePacket +20020000 g *ABS* 00000000 __stack +080002c8 w F .text 00000002 EXTI1_IRQHandler +08005a04 g F .text 00000050 FlashVerifyChecksum +0800479c g F .text 0000003c NetTransmitPacket +08004b24 g F .text 00000014 FileIsIdle +08007cf4 g F .text 0000000a htons +08007508 g F .text 000001a4 f_write +080027f0 g F .text 0000003c USB_OTG_EnableDevInt +2001f800 g *ABS* 00000800 __StackLimit +08000306 w F .text 00000002 USART2_IRQHandler +080007ec g F .text 0000001c USBD_USR_ConfigStrDescriptor +08007224 g F .text 00000178 f_open +08001904 g F .text 00000058 disk_write +08008bd4 g F .text 00000028 exit +08001dd8 g F .text 00000020 ETH_MACReceptionCmd +080041e0 g F .text 00000020 USBD_CtlSendData +0800064c g F .text 0000004c FileFirmwareUpdateLogHook +200021d0 g O .bss 00000640 TxBuff +080002fe w F .text 00000002 I2C2_ER_IRQHandler +08004968 g F .text 00000008 ComIsConnected +0800297c g F .text 0000002c USB_OTG_EP0Activate +00000000 w *UND* 00000000 __sf_fake_stdout +08002560 g F .text 00000022 USB_OTG_ReadPacket +0800032c w F .text 00000002 DMA2_Stream1_IRQHandler +080094f6 g O .text 00000101 _ctype_ +08001e34 g F .text 00000028 ETH_DMATransmissionCmd +0800368c g F .text 00000034 SDIO_Init +08000580 g F .text 00000040 FileIsFirmwareUpdateRequestedHook +080002e6 w F .text 00000002 CAN1_SCE_IRQHandler +08002ff8 g F .text 00000010 DCD_EP_SetAddress +080027bc g F .text 0000000a USB_OTG_GetMode +08007c64 g F .text 0000005c uip_init +080002c2 w F .text 00000002 FLASH_IRQHandler +08000e08 g F .text 000001b0 SD_PowerON +080039d0 w F .text 00000002 _exit +20002890 g O .bss 000000ff USBD_StrDesc +08004930 g F .text 0000001c ComGetActiveInterfaceMaxRxLen +08000332 w F .text 00000002 DMA2_Stream4_IRQHandler +08003474 g F .text 0000001c RCC_AHB1PeriphClockCmd +080002ac w F .text 00000002 BusFault_Handler +08000304 w F .text 00000002 USART1_IRQHandler +080047d8 g F .text 0000000a NetReceivePacket +080018ac g F .text 00000056 disk_read +08000340 w F .text 00000002 OTG_FS_IRQHandler +08000320 w F .text 00000002 SPI3_IRQHandler +08004970 g F .text 00000044 BackDoorCheck +080002d8 w F .text 00000002 DMA1_Stream4_IRQHandler +08003500 g F .text 0000001c RCC_APB2PeriphResetCmd +20002a1c g O .bss 00000004 uip_netmask +080002fa w F .text 00000002 I2C1_ER_IRQHandler +20000048 g O .data 00000020 usbd_bulk_CfgDesc +20002a20 g O .bss 00000004 uip_hostaddr +08007acc g F .text 0000003c ff_convert +08005d70 g F .text 00000010 TimerGet +080036d8 g F .text 00000010 SDIO_GetPowerState +080055ec g F .text 00000064 UsbTransmitPipeBulkIN +20002880 g O .bss 00000010 EnetDmaTx +080047e4 g F .text 00000064 NetApp +00000000 w *UND* 00000000 _Jv_RegisterClasses +20000068 g O .data 0000001c USR_desc +08004730 g F .text 0000006c NetInit +08002a0c g F .text 00000048 USB_OTG_EPDeactivate +08000fb8 g F .text 0000010c SD_InitializeCards +0800337c g F .text 0000000e GPIO_ReadInputDataBit +08005d2c g F .text 00000028 TimerInit +00000000 w *UND* 00000000 __register_frame_info +08000344 w F .text 00000002 DMA2_Stream6_IRQHandler +08003778 g F .text 0000000c SDIO_WriteData +20002a24 g O .bss 00000642 uip_buf +200000b8 g O .data 0000002c USBD_DCD_INT_cb +2000014c g O .data 0000016c __global_locale +08008804 g F .text 00000028 uip_send +080002d6 w F .text 00000002 DMA1_Stream3_IRQHandler +20003066 g O .bss 00000002 uip_slen +080005c8 g F .text 00000028 FileFirmwareUpdateStartedHook +080026e8 g F .text 0000000e USB_OTG_EnableGlobalInt +08003674 g F .text 00000018 SDIO_DeInit + + diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.srec b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.srec index e6680973..fe37fb37 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.srec +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/bin/openblt_olimex_stm32e407.srec @@ -1,2605 +1,2447 @@ S024000062696E2F6F70656E626C745F6F6C696D65785F73746D3332653430372E737265639F -S3150800000064360020E1960008C5960008C5960008E3 -S31508000010C5960008C5960008C5960008C596000846 -S31508000020C5960008C5960008C5960008C596000836 -S31508000030C5960008C5960008C5960008C596000826 -S31508000040C5960008C5960008C5960008C596000816 -S31508000050C5960008C5960008C5960008C596000806 -S31508000060C5960008C5960008C5960008C5960008F6 -S31508000070C5960008C5960008C5960008C5960008E6 -S31508000080C5960008C5960008C5960008C5960008D6 -S31508000090C5960008C5960008C5960008C5960008C6 -S315080000A0C5960008C5960008C5960008C5960008B6 -S315080000B0C5960008C5960008C5960008C5960008A6 -S315080000C0C5960008C5960008C5960008C596000896 -S315080000D0C5960008C5960008C5960008C596000886 -S315080000E0C5960008C5960008C5960008C596000876 -S315080000F0C5960008C5960008C5960008C596000866 -S31508000100C5960008C5960008C5960008C596000855 -S31508000110C5960008C5960008C5960008C596000845 -S31508000120C5960008C5960008C5960008C596000835 -S31508000130C5960008C5960008C5960008C596000825 -S31508000140C5960008C5960008C5960008C596000815 -S31508000150C5960008C5960008C5960008C596000805 -S31508000160C5960008C5960008C5960008C5960008F5 -S31508000170C5960008C5960008C5960008C5960008E5 -S31508000180C5960008C5960008704700BF704700BFAF -S31508000190704700BF08B50020C4F20200012103F031 -S315080001A06BFD10F1FF3018BF012008BD00B5C7B0C0 -S315080001B0684600214FF48C7209F018FB49F68C004A -S315080001C0C0F60000694605F0E5FE48B9009B002028 -S315080001D043B19DF8080080F01000C0F3001001E05C -S315080001E00020FFE747B05DF804FB00BF49F68C0026 -S315080001F0C0F60000704700BF08B540F20010C2F212 -S315080002000000002380F8283249F6AC01C0F6000148 -S315080002100A2205F02BFB30B940F20013C2F20003A4 -S31508000220012283F8282208BD70B540F20013C2F2F5 -S31508000230000393F82832012B05D140F20010C2F2D0 -S31508000240000005F0DDFD09F033FA00F164064FF40D -S31508000250A054C4F20104402503E009F029FA8642B5 -S3150800026005D32046294603F027FF0028F5D049F68E -S315080002708C00C0F6000005F0B7FE70BD08B540F268 -S315080002800013C2F2000393F82832012B05D140F27D -S315080002900010C2F2000005F0B3FD08BD70B50646B1 -S315080002A040F20013C2F2000393F82832012B10D152 -S315080002B040F20011C2F2000105F022FF002808DA18 -S315080002C040F20010C2F20000002380F8283205F040 -S315080002D097FD317889B14FF4A054C4F20104802502 -S315080002E0204603F0E1FE2046294603F0E5FE0028F5 -S315080002F0F9D016F8011F0029F2D170BD80B582B079 -S3150800030003F0E0FE0120014603F03EFD01240094BF -S3150800031000278DF804708DF8077002258DF80550B2 -S315080003203846C4F20200694603F05EFC20202146E6 -S3150800033003F060FD0420214603F026FD4FF4006615 -S31508000340C4F2020630460621082203F09BFC30461A -S315080003500721082203F096FC8DF806708DF80740F1 -S315080003608DF80450402300938DF8055030466946B1 -S3150800037003F03AFC8DF80450802300933046694612 -S3150800038003F032FC2846214603F0FEFC4FF4806653 -S31508000390C4F2020630460521092203F073FC3046F2 -S315080003A00621092203F06EFC602300938DF80450A1 -S315080003B08DF805508DF806708DF807403046694669 -S315080003C003F012FC4FF0C060214603F001FD07F070 -S315080003D00DFA07F01BFAFCE720230B8040F2000019 -S315080003E0C2F20000704700BF08B590F81231032B1F -S315080003F001D109F083F8002008BD00BF08B509F04F -S315080004007DF8002008BD00BF08B5084609F0CEF8FB -S31508000410002008BD08B50B7813F0600F28D14B787B -S315080004200A2B12D00B2B18D0062B21D14B881B0A6E -S31508000430212B05D1CA88172A28BF17220D4901E0A2 -S315080004400D49172200F080FA12E040F22C31C2F270 -S315080004500001012200F078FA0AE08B7833B940F2FD -S315080004602C33C2F2000300221A6001E000F0D4FA2D -S31508000470002008BD120000200900002010B504461F -S31508000480812101F02BFA2046012101F027FA0020EC -S3150800049010BD00BF10B5044681214022022301F099 -S315080004A0F3F9204601214022022301F0EDF9204606 -S315080004B0012141F6F002C2F20002402301F028FAB7 -S315080004C0002010BD41F6F000C2F20000704700BFE0 -S315080004D012230B8040F26C00C2F20000704700BF86 -S315080004E004230B8040F26800C2F20000704700BF88 -S315080004F010B50A4641F63414C2F2000449F6BC00A7 -S31508000500C0F60000214600F0F7FC204610BD00BFEB -S3150800051010B50A4641F63414C2F2000449F6D00072 -S31508000520C0F60000214600F0E7FC204610BD00BFDB -S3150800053010B50A4641F63414C2F2000449F6E00042 -S31508000540C0F60000214600F0D7FC204610BD00BFCB -S3150800055010B50A4641F63414C2F2000449F6F00012 -S31508000560C0F60000214600F0C7FC204610BD00BFBB -S3150800057010B50A4641F63414C2F2000449F6F800EA -S31508000580C0F60000214600F0B7FC204610BD00BFAB -S31508000590704700BF704700BF704700BF08B5FFF738 -S315080005A0F5FD08BD08B5FFF7F3FD08BD08B5012040 -S315080005B0FFF7EAFD08BD00BF08B50020FFF7E4FD18 -S315080005C008BD00BFF0B583B00120014603F0DCFB8F -S315080005D04FF4C853009303278DF8057002238DF84E -S315080005E0043000268DF806608DF807603446C4F29C -S315080005F002042046694603F0F7FA204608210A2233 -S3150800060003F040FB20460B210A2203F03BFB204661 -S315080006100C210A2203F036FB4FF4007300938DF881 -S3150800062005708DF8046001258DF806508DF8076071 -S315080006302046694603F0D8FA4FF4806300938DF894 -S3150800064006508DF807508DF805702046694603F068 -S31508000650CBFA20460A210A4603F014FB4FF48040E1 -S31508000660294603F0C7FB8020294603F09FFB03B009 -S31508000670F0BD00BF704700BF1C2202E000BF013B6F -S31508000680FCD10138B0F1FF3F01D01346F6E77047B9 -S3150800069008B54FF47A7303FB00F0FFF7EDFF08BDCA -S315080006A010B50446D0F8E8351B699847032384F843 -S315080006B01231002010BD00BF08B590F8123180F83D -S315080006C01331042380F81231D0F8E835DB689847EF -S315080006D0002008BD08B5D0F8E435DB6903B19847B2 -S315080006E0002008BD08B5D0F8E4351B6A98470020F5 -S315080006F008BD00BF08B5D0F8E4355B6A9847002006 -S3150800070008BD00BF10B50446D0F8E8355B699847C0 -S31508000710012384F81531002010BD00BF10B504462A -S31508000720D0F8E8359B699847D4F8E4355B682046E5 -S3150800073000219847002084F8150110BD10B504461D -S31508000740002140220B4601F09FF8204680214022D6 -S31508000750002301F099F8012384F81231D4F8E8351A -S315080007605B68A0789847002010BD00BF10B582B01E -S315080007700446694600F02EF99DF8001001F01F03A3 -S31508000780012B08D013B1022B0AD00EE02046694689 -S3150800079000F050F90EE02046694600F0F5FA09E047 -S315080007A02046694600F00CFB04E0204601F0800173 -S315080007B001F0E4F8002002B010BD00BF10B50446F1 -S315080007C00A4600294AD190F81131022B37D1D0F8C0 -S315080007D03821D0F824319A4210D9D21AC0F83821D3 -S315080007E0C178012902BFD0F828115B18C0F8283152 -S315080007F0D4F8281192B200F0B9F820E0D0F83C21DC -S31508000800B2FBF3F103FB112161B993420AD8D0F880 -S3150800081040319A4206D20A4600F0A8F80023C4F8E6 -S3150800082040310CE0D4F8E435DB682BB194F812219A -S31508000830032A01D120469847204600F0BBF894F8D1 -S315080008401631012B14D1226941F63013C2F2000386 -S315080008501B685360002384F8163109E0D0F8E435A4 -S315080008605B692BB190F81211032901D111469847FB -S31508000870002010BD10B504460A4651BB90F8113148 -S31508000880032B30D1D0F89023D0F87C339A4213D971 -S31508000890D21AC0F89023C178012902BFD0F8801374 -S315080008A0C918C0F880139A4228BF1A46D4F880138C -S315080008B092B200F065F816E0D0F8E4351B6923B16A -S315080008C090F81221032A00D19847204600F062F8D2 -S315080008D009E0D0F8E4359B692BB190F81211032989 -S315080008E001D111469847002010BD00BFF8B504464F -S315080008F00D4616461F46FFF765FEC4F8E475069BC7 -S31508000900C4F8E835C4F8EC652046294600F06EFFC1 -S31508000910D4F8E8351B6898472046FFF7ABFEF8BDC4 -S3150800092010B50446D0F8E4351B689847D4F8E8357E -S315080009309B689847002010BD08B5D0F8E4355B6879 -S315080009409847002008BD00BF38B504460D46134633 -S31508000950C4F83C21C4F83821022280F8112100216C -S315080009602A4600F0F1FF002038BD00BF10B50C463E -S3150800097013460021224600F0E7FF002010BD00BF05 -S3150800098010B50C4613460021224600F0C1FF002090 -S3150800099010BD00BF10B50446042380F811310021AC -S315080009A00A460B4600F0D0FF204600F0FDFE002068 -S315080009B010BD00BF10B50446052380F8113100218B -S315080009C00A460B4600F0A4FF204600F0EDFE002084 -S315080009D010BD00BF90F8CC350B7090F8CD354B7034 -S315080009E090F8CF2590F8CE3503EB02234B8090F88C -S315080009F0D12590F8D03503EB02238B8090F8D325C8 -S31508000A0090F8D23503EB02239BB2CB80C0F8403175 -S31508000A10012380F81131704710B50446802100F093 -S31508000A20ADFF2046002100F0A9FF204600F0BCFEDD -S31508000A3010BD00BF70B582B005460C464B78092B31 -S31508000A4000F29C81DFE813F0230182019A01440138 -S31508000A509A0193000A009A010301B8006288130AF2 -S31508000A60013B062B6DD8DFE803F00415226C6C6495 -S31508000A706800D0F8EC351B6880780DF106019847B8 -S31508000A800146E388402B03D095F81231012B5CD13F -S31508000A9008235FE0D0F8E4359B6A80780DF10601FB -S31508000AA09847014602234370C5F8F0054DE0D2B2D7 -S31508000AB0052A3AD8DFE802F0030C151E2730D0F8CD -S31508000AC0EC355B6880780DF10601984701463CE0F5 -S31508000AD0D0F8EC359B6880780DF1060198470146F9 -S31508000AE033E0D0F8EC35DB6880780DF106019847DD -S31508000AF001462AE0D0F8EC351B6980780DF106012D -S31508000B009847014621E0D0F8EC355B6980780DF10D -S31508000B1006019847014618E0D0F8EC359B698078BD -S31508000B200DF10601984701460FE02146FFF774FFCD -S31508000B3027E12146FFF770FF23E12146FFF76CFF07 -S31508000B401FE12146FFF768FF1BE1BDF80630002BC1 -S31508000B5000F01781E288002A00F01381934238BF1B -S31508000B601A46ADF806202846FFF7EEFE09E1A388E7 -S31508000B70EBB9E388DBB9A67806F07F0690F8123160 -S31508000B80032B03D12146FFF747FFFAE080F81461EB -S31508000B90314600F033FF2846FFF7FCFE1EB102235C -S31508000BA085F81231EDE0012385F81231E9E028468F -S31508000BB02146FFF731FFE4E0A27840F23C33C2F267 -S31508000BC000031A70012A03D92146FFF725FFD8E04A -S31508000BD090F81231022B02D0032B10D033E05AB111 -S31508000BE080F81021032380F812311146FFF798FE8A -S31508000BF02846FFF7CFFEC4E0FFF7CCFEC1E05AB99E -S31508000C00022380F81231002180F81011FFF794FEB4 -S31508000C102846FFF7BFFEB4E090F810118A420FD0BD -S31508000C20FFF78AFE40F23C33C2F20003197885F8D2 -S31508000C3010112846FFF774FE2846FFF7ABFEA0E022 -S31508000C40FFF7A8FE9DE02146FFF7E6FE99E0E38858 -S31508000C50012B03D02146FFF7DFFE92E090F8123110 -S31508000C60022B02D0032B08D00DE040F23831C2F235 -S31508000C7000010122FFF768FE83E005F5887101226D -S31508000C80FFF762FE7DE02146FFF7C6FE79E090F8A1 -S31508000C901231023B012B17D840F23033C2F200035F -S31508000CA001221A60D0F818312BB140F23033C2F263 -S31508000CB0000303221A60284640F23031C2F20001CE -S31508000CC00222FFF741FE5CE02146FFF7A5FE58E049 -S31508000CD06388012B0AD1C0F81831D0F8E4359B682F -S31508000CE0214698472846FFF755FE4AE0022B48D189 -S31508000CF0A38813F0FF0F44D1026952681B0A013B0F -S31508000D00042B17D8DFE803F003070B0F13000123A2 -S31508000D1063F306120EE0022363F306120AE00323C6 -S31508000D2063F3061206E0042363F3061202E00523C2 -S31508000D3063F3061241F63013C2F200031A60012368 -S31508000D4085F816312846FFF725FE1AE090F8123185 -S31508000D50023B012B0ED86388012B12D10023C0F861 -S31508000D601831D0F8E4359B68214698472846FFF79E -S31508000D7011FE06E02146FFF74FFE02E02146FFF787 -S31508000D804BFE002002B070BD38B504460D4690F8FB -S31508000D901231032B0FD10B79012B09D8D0F8E43582 -S31508000DA09B689847EB8843B92046FFF7F3FD04E0B4 -S31508000DB0FFF732FE01E0FFF72FFE002038BD00BF27 -S31508000DC038B505460C468A88D1B26378012B27D0F8 -S31508000DD0002B48D0032B40F08D8090F81231022B5F -S31508000DE002D0032B07D017E011F07F0F00F08280A6 -S31508000DF000F0C4FD7EE0638823B911F07F0F01D0AF -S31508000E0000F0BCFDD5F8E4359B682846214698478E -S31508000E102846FFF7BFFD6DE02146FFF7FDFD69E0B7 -S31508000E2090F81231022B02D0032B06D017E011F0EE -S31508000E307F0F5FD000F0A2FD5CE06388002B59D1DC -S31508000E4011F07F0F07D000F0B9FDD5F8E4359B689F -S31508000E502846214698472846FFF79CFD4AE0214642 -S31508000E60FFF7DAFD46E090F81231022B02D0032B89 -S31508000E7006D03CE011F07F0F3CD000F07FFD39E052 -S31508000E8012F0800F16D001F07F0101EB810100EB13 -S31508000E90C10191F81E3133B140F23433C2F2000376 -S31508000EA001221A601AE040F23433C2F2000300222B -S31508000EB01A6013E001EB810100EBC10191F876336A -S31508000EC033B140F23433C2F2000301221A6005E05E -S31508000ED040F23433C2F2000300221A60284640F278 -S31508000EE03431C2F200010222FFF72EFD02E021464C -S31508000EF0FFF792FD002038BD70B4064600B30378AC -S31508000F0043B1044600230133DBB214F8015F002D18 -S31508000F10F9D100E000235B00023313800B70032332 -S31508000F204B70327862B13046022300255C1CE4B26D -S31508000F30CA540233DBB20D5510F8012F002AF5D139 -S31508000F4070BC704770B582B0054600230193032034 -S31508000F50FFF792FBEB681A6901924FF45464C0F2EA -S31508000F600304032607E03046FFF786FBEB681A6999 -S31508000F700192013C1CD0019A002AF4DA019A42F047 -S31508000F8001020192019A1A61EB681B6901934FF4F9 -S31508000F905463C0F2030304E0EA6812690192013B54 -S31508000FA003D0019A12F0010FF6D10320FFF764FB74 -S31508000FB0002002B070BD00BF10B4C4786CB903330A -S31508000FC000EB8200D0F8D0409B1006D0002251F8E2 -S31508000FD0040B206001329342F9D100205DF8044BDE -S31508000FE0704700BF70B40332D0F8D060951009D0AE -S31508000FF00A460023346842F8044B01339D42F9D16E -S3150800100001EB8501084670BC704700BF70B4002329 -S31508001010C370012383704023838001290DD10123E6 -S31508001020C37208230370042343704FF4A073C3806C -S31508001030022303724FF0A0450EE0002561B9002394 -S31508001040C3720C230370062343704FF4A063C38056 -S315080010500025C4F20405FFE7C56005F500630361D2 -S31508001060467866B105F51062034600219A6102F5D5 -S3150800107000745C650131203204338E42F6D805F5DA -S315080010808063436105F58863C0F8CC300678D6B12D -S31508001090344605F5A06102460023C2F890100133D4 -S315080010A0203104329C42F8D86EB105F5805305EB21 -S315080010B0063101F580510246C2F8D03003F5805357 -S315080010C004328B42F8D105F56065C0F80C51002052 -S315080010D070BC704738B504460025037A012B21D128 -S315080010E0C268936B6FF31043417A09B143F48013D6 -S315080010F09363E268D3686FF386136FF396536FF3BF -S3150800110051436FF3D343D3602046FFF71BFFE378C1 -S31508001110012B25D1052363F3440545F02005E36833 -S315080011209D6012E0C268D36843F04003D360FFF7BE -S3150800113009FF637A002B0CBF4FF450234FF4E813D2 -S31508001140E26893631420FFF7A3FAE378012B07D12B -S31508001150E3689D68052262F3440545F020059D6015 -S31508001160002038BDC3689A6842F001029A600020E0 -S31508001170704700BFC3689A6822F001029A6000208F -S31508001180704700BF00B583B000230193019B43F06D -S3150800119020030193019B61F38A130193C368019AA3 -S315080011A01A61C3681B6901934FF45463C0F20303C1 -S315080011B004E0C26812690192013B03D0019A12F059 -S315080011C0200FF6D10320FFF757FA002003B05DF889 -S315080011D004FB00BF00B583B000230193019B43F0D5 -S315080011E010030193C368019A1A61C3681B690193C6 -S315080011F04FF45463C0F2030304E0C2681269019213 -S31508001200013B03D0019A12F0100FF6D10320FFF725 -S3150800121033FA002003B05DF804FB00BF08B5C268C6 -S31508001220D3686FF35D736FF39E73012908BF43F0AC -S31508001230005302D009B943F08043D3603220FFF748 -S3150800124027FA002008BD00BFC3685B6913F0010FC9 -S3150800125014BF002001207047C3685A699869104076 -S31508001260704700BF03691A6861F301021A60704784 -S3150800127010B40023C2689361C1686FF080424A6166 -S31508001280C1684FF0FF344C60C1684A614FF4006290 -S31508001290C8F20002C1688A61C2789A4208BF102360 -S315080012A043F0804343F4701343F4605343F00C0354 -S315080012B0C26891690B43936100205DF8044B70473F -S315080012C070B5044600252E46D0F80C311D6003691A -S315080012D01A6865F3CC221A60C37A012B26D103213A -S315080012E0FFF7C0FFE26880235362202262F31F459E -S315080012F063F30F05E1688D62A02161F30F0663F3BE -S315080013001F46E368C3F804614FF4907363F30F064E -S3150800131062F31F46E368C3F808614FF4A07363F3EA -S315080013200F066FF31F46E368C3F80C6120461021C9 -S31508001330FFF728FF2046FFF74DFF226900231361B8 -S315080013402269536122694FF0FF3191612269D361A5 -S315080013506378002B2CD0234600221646FF25996970 -S315080013600868C00F002814BF4FF09040002008609E -S3150800137099690E6199698D600132617804339142E9 -S31508001380EDD8A9B1234600221646FF25596D0868EF -S31508001390C00F002814BF4FF0904000200860596D18 -S315080013A00E61596D8D600132043361789142EDD832 -S315080013B023691A6942F480721A61E378012B09D10C -S315080013C00323402262F38A0343F4803362F35943CA -S315080013D0226913632046FFF74BFF002070BD00BF4C -S315080013E003699B68C3F34103022B05D0032B05D081 -S315080013F0012B03D003207047012070470220704755 -S315080014000369996883691A68C1F34101022912BF01 -S315080014106FF30A02032161F30A021A6003695A6824 -S3150800142042F480725A600020704700BF30B4002230 -S315080014304B78012B0B7800EB830401BFA4690125C7 -S3150800144005FA03F363F30F021FBF646D012505FA5E -S3150800145003F363F31F42236813F4004F0DD18D681D -S3150800146065F30A03CD7865F39343C98861F3995305 -S3150800147043F0805343F4004323600369D9690A4360 -S31508001480DA61002030BC704730B400231A464C7825 -S31508001490012C097800EB810401BFA469012505FA2E -S315080014A001F161F30F021FBF646D012505FA01F111 -S315080014B061F31F426FF3CF3323600369D96921EAC9 -S315080014C00202DA61002030BC704700BF70B50B46D7 -S315080014D04A78012A53D10A7800EB820291690A6890 -S315080014E009695C692CB96FF31201012464F3DC41C4 -S315080014F00DE064F312019D682C44013CB4FBF5F53C -S3150800150065F3DC41DC78012C08BF64F35E711C7856 -S3150800151000EB8404A4692161C178012906D11978F0 -S3150800152000EB81018C69196961610CE0D9780129A0 -S315080015300CD0596999B101694D6B1C78012606FAD8 -S3150800154004F42C434C63D978012908D101698968C8 -S3150800155011F4807F0CBF42F0005242F0805242F0F4 -S315080015600442197800EB810189690A60DA78012A50 -S3150800157041D1D9681A789B8AFFF71EFD3BE00A78A5 -S3150800158000EB8202516D0A6809695C6934B99C6886 -S3150800159064F31201012464F3DC410CE09D682C44D9 -S315080015A0013CB4FBF5F4C4F3090464F3DC4105FB20 -S315080015B004F565F312011C7800EB8404646D21615F -S315080015C0C178012901BF197800EB81014C6D1969B1 -S315080015D008BF6161D978012906D1597911B142F05C -S315080015E0005201E042F0805242F004421B7800EBC0 -S315080015F08300436D1A60002070BD00BF30B482B00E -S315080016004B78012B49D182691368146900944C6997 -S315080016106CB99DF800406FF306048DF800409DF8FC -S315080016200240012565F3C4048DF8024017E08D6871 -S31508001630AC4281BF4D619DF8004065F306048DF804 -S3150800164000409EBF9DF8005064F306058DF80050D3 -S315080016509DF80240012565F3C4048DF80240009CFC -S315080016601461C478012C01BF0C7800EB8404A569C9 -S315080016700C6908BF6C6143F004431360C378002B00 -S3150800168049D14B69002B46D00369586B0A7801216A -S3150800169001FA02F202435A633DE00B7800EB83033A -S315080016A05A6D1368126900924A6972B98C689DF876 -S315080016B0002064F306028DF800209DF8022001241C -S315080016C064F3C4028DF802200EE08C684C619DF824 -S315080016D0002064F306028DF800209DF802200124FC -S315080016E064F3C4028DF802200A7800EB8202546D76 -S315080016F0009A2261C278012A01BF0A7800EB8202A9 -S31508001700546D0A6908BF626143F004430A7800EB26 -S315080017108200426D1360002002B030BC704700BFE3 -S315080017204B78012B0CD10B7800EB83008269136888 -S31508001730002BB8BF43F0804343F40013136007E05F -S315080017400B7800EB8300426D136843F400131360B3 -S31508001750002070474B78012B0B7800EB83000CBFF9 -S315080017608269426D13686FF35553C9780239C9B255 -S31508001770012998BF43F0805313600020704700BFCB -S3150800178003699A69D8691040000C704700EB81011B -S315080017904B6D9B68026950691840704703699869E0 -S315080017A0DB69184080B2704782B000230093C023DB -S315080017B08DF803304FF00003012262F3C4038DF85D -S315080017C0023018238DF80030436D009A1A61C378E9 -S315080017D0012B08D1436D00F2CC525A61436D1A6849 -S315080017E04FF080221A6002B0704700BF70B50446F9 -S315080017F0FFF70CFC012384F81231002384F8143116 -S3150800180063787BB32346002201261146402583F8D8 -S315080018101D6183F81C21A3F8222183F81F11C3F840 -S315080018202451C3F82811C3F83011013260782833DF -S315080018309042ECD8B0B1234600221146402583F8E1 -S31508001840751383F87423A3F87A2383F87713C3F8F8 -S315080018507C53C3F88013C3F88813013228336078A1 -S315080018609042ECD82046FFF785FC2046FFF732FC6D -S3150800187020460021FFF7D2FC2046FFF721FD20462F -S31508001880FFF770FC70BD00BF38B511F0800F0FD0A0 -S3150800189001F07F0404EB840500EBC50505F58E71A0 -S315080018A085F81C4101254D708A60CB70CC800DE00F -S315080018B001F07F0404EB840500EBC50505F55D71B1 -S315080018C085F8744300244C708A60CB70022B04BFE1 -S315080018D000230B71FFF7AAFD002038BD08B5CAB270 -S315080018E012F0800F01F07F0303EB830300EBC303C1 -S315080018F014BF03F58E7303F55D7301F07F0119704C -S31508001900D2095A701946FFF7BFFD002008BD00BF6F -S3150800191038B501F07F0404EB840500EBC50505F531 -S315080019205D71CA604B6100238B614B7085F8744307 -S31508001930C378012B08BF0A6114B9FFF75FFE01E0FF -S31508001940FFF7C4FD002038BD70B501F07F0404EB35 -S31508001950840500EBC50505F58E7101264E7085F8E0 -S315080019601C41CA600A6100228A614B6114B9FFF7FB -S3150800197045FE01E0FFF7AAFD002070BD10B5CAB20A -S3150800198012F0800F1FBF01F07F0303EB830300EB08 -S31508001990C30303F58E7302BF01EB810300EBC30398 -S315080019A003F55D7301249C7001F07F011970D2095B -S315080019B05A701946FFF7B4FE002010BD10B5CAB21A -S315080019C012F0800F1FBF01F07F0303EB830300EBC8 -S315080019D0C30303F58E7302BF01EB810300EBC30358 -S315080019E003F55D7300249C7001F07F011970D2091C -S315080019F05A701946FFF7AEFE204610BD002361F364 -S31508001A000A13026911680B431360704708B5036926 -S31508001A105A6842F002025A600320FEF739FE08BDF2 -S31508001A202DE9F04F87B08146FFF70EFC002800F03D -S31508001A30A0824846FFF710FC8346002800F09B82E8 -S31508001A4010F4002F08BF00205CD04846FFF798FE28 -S31508001A500446002854D04D464F46002640F29C08BE -S31508001A60C2F20008CDF800B0C34614F0010F40D00A -S31508001A705FFA86FA48465146FFF788FE804610F018 -S31508001A80010F23D04FF001086B6DC3F8088099F851 -S31508001A900330434508D16B6D1A69C2F31202D7F8B1 -S31508001AA07C339B1AC7F88C33DBF800301B68484632 -S31508001AB05146984799F80330012B07D136B999F85A -S31508001AC01131052B02D14846FFF76EFE18F0020FBA -S31508001AD01FBF4FF002086B6D42469A6018F0080F58 -S31508001AE007D0DBF800309B68484698476B6D08209E -S31508001AF098600136043528376408B6D1DDF800B099 -S31508001B000120FFE71BF4802F00F0BC804846FFF752 -S31508001B1045FE0646002800F0B4804F46CA464FF0F8 -S31508001B20000840F29C02C2F200020192CDF808B009 -S31508001B30CDF8009016F0010F00F097805FFA88F94B -S31508001B400098036919695C6B00EB890292699268CF -S31508001B5024FA09F4E401E4B20C43144014F0010F2A -S31508001B601CD0596B012202FA08F021EA00015963D8 -S31508001B701446BB699A60019A13685B6800984946DF -S31508001B8098470098C378A34208D1B8F1000F05D149 -S31508001B9090F81131042B01D1FFF706FE14F0080F57 -S31508001BA01EBF0824BB699C6014F0100F1EBF1024CA -S31508001BB0BB699C6014F0400F1EBF4024BB699C6043 -S31508001BC014F0020F1EBF0224BB699C6014F0800F3C -S31508001BD04BD05446DAF83021DAF83431D01ADAF82C -S31508001BE02431BB46BA69916989B2984238BF03461F -S31508001BF00333B1EB930F34D9DAF83451DAF83031CC -S31508001C00AB422ED96BB30396009E5D1BD4F82421F4 -S31508001C10AA4238BF15463046D4F828114A46ABB210 -S31508001C20FFF7CAF9D4F828312B44C4F82831D4F878 -S31508001C3034312B44C4F83431DBF818309B6903354A -S31508001C409BB2B3EB950F09D9D4F83451D4F8303197 -S31508001C50AB4205D9002BD8D1039E02E0039E00E0D3 -S31508001C60039EDBF8183080229A6008F101080437D1 -S31508001C700AF1280A76087FF45DAFDDF808B0DDF8CA -S31508001C80009001201BF0020F1EBFD9F80C3002226B -S31508001C905A61BBF1000F1FDA99F80A3043B1D9F837 -S31508001CA00C316FF341036FF30003D9F80C2113606D -S31508001CB0D9F810305A6822F001025A6040F29C03A3 -S31508001CC0C2F200031B689B6948469847D9F80C304E -S31508001CD04FF000425A6101201BF4006F3AD00023EE -S31508001CE08DF8173099F812318DF8173040F29C03A9 -S31508001CF0C2F200031B685B6948469847D9F810305A -S31508001D009968D9F80C304FF400625A6199F80A308C -S31508001D10FBB111F0010F1CD099F81531012B18D120 -S31508001D209DF81730DBB2032B13D1D9F80C311A689A -S31508001D3042F001021A60D9F80C311A6842F003021F -S31508001D401A604FF46D43CEF200031A6942F0060298 -S31508001D501A6101201BF0080F0CD040F29C03C2F256 -S31508001D6000031B68DB6848469847D9F80C300822F8 -S31508001D705A6101201BF0100F38D0D9F80C309A6937 -S31508001D8022F010029A61D9F80C301C6A04F00F038D -S31508001D9003EB830309EBC30505F55D75C4F34343FC -S31508001DA0022B02D0062B0FD019E0C4F30A14B4B1E3 -S31508001DB04846E9682246FFF715F9EB682344EB60C5 -S31508001DC0AB692344AB610AE0484609F2CC510822C4 -S31508001DD0FFF708F9C4F30A14AB692344AB61D9F8D1 -S31508001DE00C309A6942F010029A6101201BF4805F58 -S31508001DF04CD00024274626462546D9F810305A687E -S31508001E0022F001025A6048462146FFF7BBF999F8C5 -S31508001E10013063B14B462246FF2198698160586DAF -S31508001E2081600132043399F801008242F5D3D9F86A -S31508001E3010304FF0FF329A614FF0010868F30F0433 -S31508001E4068F31F44D9F81030DC6147F00B07D9F85E -S31508001E5010305F6146F00B06D9F810301E61D9F8CC -S31508001E6010301A686FF30A121A604846FFF79CFC8E -S31508001E7045F48055D9F80C305D6140F29C03C2F2F6 -S31508001E8000031B681B694846984740461BF4005FD9 -S31508001E9026D04846FFF7B4FAD9F80C30DC6848462D -S31508001EA0FFF79EFA032801BF002389F802304FF492 -S31508001EB00073A9F804300FBF0923012389F80230FB -S31508001EC040231CBFA9F80430052363F38D24D9F8F1 -S31508001ED00C30DC60D9F80C304FF400525A610120FE -S31508001EE01BF4801F0DD040F29C03C2F200031B684E -S31508001EF0DB6948469847D9F80C304FF480125A6186 -S31508001F0001201BF4001F0DD040F29C03C2F200030F -S31508001F101B681B6A48469847D9F80C304FF40012DC -S31508001F205A6101201BF0804F0DD040F29C03C2F28B -S31508001F3000031B685B6A48469847D9F80C304FF08F -S31508001F4080425A6101201BF0040F15D0D9F80C30D5 -S31508001F505C6814F0040F07D040F29C03C2F2000339 -S31508001F601B689B6A48469847D9F80C305C60012084 -S31508001F7002E0002000E0002007B0BDE8F08F00BFB7 -S31508001F8008B54FF43053C4F201035B6B13F0450FE9 -S31508001F9007D14FF43052C4F20102536B13F0450FC8 -S31508001FA0FBD013F0040F04D0042001F0F3FF032044 -S31508001FB008BD13F0010F04D0012001F0EBFF01204A -S31508001FC008BD40F2FF5001F0E5FF002008BD00BF44 -S31508001FD010B504464FF43053C4F201035B6B13F09B -S31508001FE0450F07D14FF43052C4F20102536B13F078 -S31508001FF0450FFBD013F0040F04D0042001F0CAFFEC -S31508002000032010BD13F0010F04D0012001F0C2FF18 -S31508002010012010BD01F076FFA04249D140F2FF50E1 -S3150800202001F0B8FF002001F075FF4EF20803CFF665 -S31508002030FF530340002B3DD000283DDB10F0804FB6 -S315080020403CD110F0005F3BD110F0805F3AD110F020 -S31508002050006F39D110F0806F38D110F0807F37D1FA -S3150800206010F4000F36D110F4800F35D110F4001F8C -S3150800207034D110F4801F33D110F4002F32D110F46C -S31508002080802F31D110F4003F30D110F4803F2FD18A -S3150800209010F4004F2ED110F4804F2DD110F4005FAC -S315080020A02CD100F00800002814BF1A20002010BD0B -S315080020B0102010BD002010BD1C2010BD092010BD29 -S315080020C00A2010BD0B2010BD0C2010BD0D2010BD20 -S315080020D00E2010BD0F2010BD102010BD112010BD00 -S315080020E0122010BD132010BD142010BD152010BDE0 -S315080020F0162010BD172010BD182010BD192010BDC0 -S315080021002DE9F04383B00446002001F003FF10F0E8 -S31508002110007F18BF0E2040F0238100220092019212 -S3150800212040F2F830C2F2000008210160102545602F -S3150800213040218160C2604FF48062026101F0CAFEEC -S315080021402846FFF745FF002840F0068140F2F830A0 -S31508002150C2F2000040F29832C2F200021268AA40A7 -S31508002160026037254560402282600022C2604FF433 -S315080021708062026101F0AEFE2846FFF729FF0028BB -S3150800218040F0EB8040F24030C2F200004FF0FF33DF -S31508002190036008234360302383600223C36000255D -S315080021A005610123436101F0C3FE40F2F830C2F233 -S315080021B0000005603326466040228260C5604FF401 -S315080021C08062026101F086FE3046FFF701FF0028B3 -S315080021D040F0C48042F211754FF000094FF43056B2 -S315080021E0C4F2010640F22A674FF400180FE0404691 -S315080021F001F0C6FE40B101F0B3FE02AA02EB890364 -S3150800220043F8080C09F10109013D00F0A880736B39 -S315080022103B42ECD0082001F0B3FE20B1082001F0C3 -S31508002220B9FE04209CE0022001F0AAFE20B102209B -S3150800223001F0B0FE022093E0202001F0A1FE20B1BB -S31508002240202001F0A7FE06208AE04FF4007001F076 -S3150800225097FE28B14FF4007001F09CFE07207FE03E -S3150800226040F2FF5001F096FE009A130643EA126305 -S3150800227002F47F4143EA012302F47F0243EA122370 -S31508002280012C34D113F4802F08BF252068D040F2E2 -S31508002290F830C2F2000040F29832C2F20002126828 -S315080022A01204026037244460402282600022C26021 -S315080022B04FF48062026101F00DFE2046FFF788FEAA -S315080022C0002847D140F2F830C2F20000022202602C -S315080022D006244460402282600022C2604FF4806275 -S315080022E0026101F0F7FD2046FFF772FE38E013F4AD -S315080022F0803F08BF252033D040F2F830C2F20000F4 -S3150800230040F29832C2F200021268120402603724C0 -S315080023104460402282600022C2604FF480620261FB -S3150800232001F0D8FD2046FFF753FEA0B940F2F83079 -S31508002330C2F2000000220260062444604021816047 -S31508002340C2604FF48062026101F0C4FD2046FFF7C7 -S315080023503FFE05E004E003E002E001E000E00420BF -S3150800236003B0BDE8F08300BF00B583B001238DF844 -S3150800237007304FF40060C4F202004FF4006101F028 -S315080023807BFC10B900238DF807309DF8070003B0D1 -S315080023905DF804FB2DE9F04782B000248DF807406C -S315080023A040F28030C2F20000762303750460446070 -S315080023B08460C460046101F05FFD032001F07CFDC8 -S315080023C0012001F073FD40F2F830C2F2000004600B -S315080023D044608460C4604FF48063036101F07AFD51 -S315080023E04FF48034802501E0013C0CD0284601F0EA -S315080023F0C7FD0028F8D003233CB140F2FF5001F096 -S31508002400C9FD002301E00323FFE78DF807309DF897 -S31508002410073013F0FF0F03D09DF80700C0B2F5E0B0 -S3150800242040F2F830C2F200004FF4D5730360082377 -S315080024304360402383600023C3604FF480630361D5 -S3150800244001F048FD4FF43053C4F201035A6B12F001 -S31508002450450F0ED14FF480334FF43051C4F20101C9 -S31508002460013B4A6B12F0450F02D1002BF8D103E06D -S3150800247013B112F0040F04D0042001F08BFD0323DE -S3150800248009E012F0400F08BF002304D0402001F0F5 -S3150800249081FD0023FFE78DF807309DF8073013F01C -S315080024A0FF0F08D140F26833C2F2000301221A6016 -S315080024B04FF0804514E040F2F830C2F200000025E3 -S315080024C005603724446040228260C5604FF480620C -S315080024D0026101F0FFFC2046FFF77AFD8DF8070040 -S315080024E040F2F830C2F2000000220260372444604D -S315080024F040218160C2604FF48062026101F0EAFC0B -S315080025002046FFF765FD8DF807009DF8073013F0A4 -S31508002510FF0F78D1002740F2F834C2F20004B8461B -S31508002520B94645F0004545F4801A4FF43055C4F2D3 -S315080025300105C4F80090372666604023A360C4F8F6 -S315080025400C904FF480632361204601F0C3FC3046AB -S31508002550FFF73EFD8DF807009DF8073013F0FF0FD3 -S3150800256003D09DF80700C0B250E0C4F800A02923A4 -S3150800257063604023A360C4F80C804FF48063236132 -S31508002580204601F0A7FC6B6B13F0450F03D16B6B6C -S3150800259013F0450FFBD013F0040F04D0042001F00C -S315080025A0F9FC032304E040F2FF5001F0F3FC434634 -S315080025B08DF807309DF8073013F0FF0F03D09DF80C -S315080025C00700C0B222E0404601F0A4FC01370146EC -S315080025D04FF6FE73C043C00F9F4288BF00200028F5 -S315080025E0A7D19F4206D91B238DF807309DF807000F -S315080025F0C0B20BE011F0804F1FBF40F26833C2F241 -S31508002600000302221A609DF80700C0B202B0BDE8B6 -S31508002610F08700BF38B501F055FC002800F0BC80F3 -S3150800262040F26833C2F200031B68042B00F0B68040 -S3150800263040F2F830C2F20000002303600222426032 -S31508002640C0228260C3604FF48063036101F042FCDC -S31508002650FFF796FC002840F0A38001F05BFC40F2EF -S315080026606C34C2F200042060042001F053FC606060 -S31508002670082001F04FFCA0600C2001F04BFCE06044 -S3150800268040F26833C2F200031B68062B18BF022B00 -S3150800269088BF01224AD840F2F830C2F2000000236F -S315080026A003600322426040228260C3604FF4806365 -S315080026B0036101F00FFC4FF43053C4F201035B6B66 -S315080026C013F0450F07D14FF43052C4F20102536B91 -S315080026D013F0450FFBD013F0040F04D0042001F0CB -S315080026E059FC032038BD13F0010F04D0012001F076 -S315080026F051FC012038BD01F005FC032854D140F2F5 -S31508002700FF5001F047FC002001F004FC10F4604F74 -S3150800271008BF020C0AD010F4005F47D110F4804FAE -S3150800272046D110F4004F45D10122FFE740F2683345 -S31508002730C2F200031B68042B33D040F29833C2F26E -S3150800274000031A6040F2F830C2F200001204026078 -S3150800275009234360C02383600023C3604FF480636A -S31508002760036101F0B7FBFFF70BFC0546D8B901F08A -S31508002770D1FB40F25834C2F200042060042001F074 -S31508002780C9FB6060082001F0C5FBA0600C2001F0C1 -S31508002790C1FBE060284638BD252038BD002038BD7D -S315080027A038BD002038BD38BD102038BD132038BDCF -S315080027B0102038BD0F2038BDF0B4014640F268330A -S315080027C0C2F200031C6880F8564040F29833C2F201 -S315080027D000031B68A0F8543040F25833C2F20003D5 -S315080027E01A68150EE8B286090E70C5F383054D7092 -S315080027F000F003008870C2F30740C870C2F30720D0 -S315080028000871D2B24A715B681A0E1201CA80C3F304 -S315080028100742C88880B240EA1210C88002F00F0248 -S315080028200A72C3F30720C2094A72C0F380128A7279 -S31508002830C0F34012CA72C0F300120A7300224A7328 -S31508002840012C42D800F00300800208610A69DBB255 -S3150800285042EA83030B6140F25833C2F200039868D8 -S31508002860020ED3B20C6944EA93140C61C2F3C20295 -S315080028700A7503F007034B75C0F307435A098A75AF -S31508002880C3F38202CA7503F003035B000B76C0F339 -S3150800289007200B7E43EAD0130B760F690A7E0E7A61 -S315080028A0F6B2012303FA06F60E65023203FA02F2BD -S315080028B0D517A2FB062306FB05337E1CA2FB06459D -S315080028C006FB0355C1E9124524E0022C22D103F088 -S315080028D03F031B040B6140F25833C2F200039868A9 -S315080028E00B69020E43EA02230B610B69C0F3074228 -S315080028F013430B61C0F307200A690023013243F131 -S315080029000003DB0443EA5233D2048A64CB644FF4EF -S3150800291000730B65C0F380134B7600F03F00400050 -S31508002920887640F25833C2F200031A7A887E40EA63 -S31508002930D210887602F07F02CA76DA68130ED8B209 -S31508002940C4090C77C3F341144C77C3F382038B771E -S3150800295000F003008000C877C2F30743C87F40EA47 -S315080029609310C877C3F3401081F82000002081F83F -S31508002970210003F0010381F82230C2F30723DC09A2 -S3150800298081F82340C3F3801481F82440C3F340142C -S3150800299081F82540C3F3001481F82640C3F3810467 -S315080029A081F8274003F0030381F82830C2F3460272 -S315080029B081F82920012481F82A4040F26C33C2F2BA -S315080029C000031A68150E81F82C50C2F307452D022C -S315080029D0CD85CD8DADB2C2F307263543CD8512061A -S315080029E00A635A680D6B160E45EA06450D630D6BAC -S315080029F0C2F3074645EA06250D630D6BC2F30726A3 -S31508002A0035430D63D2B281F834209A68150E81F8E1 -S31508002A103550C2F307452D068D638D6BC2F3072625 -S31508002A2045EA06458D638D6BD2B245EA02228A6372 -S31508002A30DB688A6B42EA13628A63C3F3074291F83A -S31508002A403C5045EA121581F83C5002F00F0212027A -S31508002A50CA87CA8F92B2C3F307252A43CA87C3F324 -S31508002A60460381F8403081F84140F0BC704700BF0A -S31508002A7010B540F26833C2F200031B68032B31D04D -S31508002A80022B31D8B0F5805F30D0B0F5006F15D184 -S31508002A900120FFF735FB044650BB40F28030C2F2F6 -S31508002AA00000002202750260426082604FF40061F5 -S31508002AB0C160026101F0E0F9204610BD0020FFF771 -S31508002AC01FFB0446A8B940F28030C2F2000000227B -S31508002AD00275026042608260C260026101F0CCF950 -S31508002AE0204610BD272010BD002010BD272010BD90 -S31508002AF010BD10BD10B540F2F833C2F200031860DD -S31508002B0007245C6040229A600022DA604FF48062F3 -S31508002B101A61184601F0DEF92046FFF759FA10BD8A -S31508002B202DE9F04184B000268DF80F600C200121B4 -S31508002B3001F02AF94FF40064C4F202042046082181 -S31508002B400C2201F09FF8204609210C2201F09AF880 -S31508002B5020460A210C2201F095F820460B210C226A -S31508002B6001F090F820460C210A4601F08BF84FF444 -S31508002B704067C4F20207384602210C2201F082F8A7 -S31508002B804FF47063019301258DF809504FF0020840 -S31508002B908DF808808DF80A608DF80B50204601A93B -S31508002BA001F022F80423019338460DEB030101F0E6 -S31508002BB01BF84FF4805301938DF80B60204601A94A -S31508002BC001F012F84FF4006701978DF808808DF828 -S31508002BD00B60204601A901F007F83846294601F09E -S31508002BE009F94FF48000294601F0CEF801F038F9CA -S31508002BF0FFF7D0FB8DF80F009DF80F3013F0FF0F8D -S31508002C0003D09DF80F00C0B240E0FFF703FD8DF832 -S31508002C100F009DF80F3013F0FF0F03D09DF80F003B -S31508002C20C0B233E040F28030C2F2000000230375E0 -S31508002C30036043608360C360036101F01DF940F2DD -S31508002C40A030C2F20000FFF7B7FD8DF80F009DF81F -S31508002C500F3013F0FF0F0BD140F2A033C2F200037E -S31508002C60B3F8540000040021FFF744FF8DF80F0065 -S31508002C709DF80F3013F0FF0F05D14FF40060FFF7F2 -S31508002C80F7FE8DF80F009DF80F00C0B204B0BDE83E -S31508002C90F08100BF2DE9F84307461646BDF82040E7 -S31508002CA040F23D32C2F200020021117040F27C323D -S31508002CB0C2F20002116040F20C40C2F2000001604C -S31508002CC04FF43052C4F20102D16240F26831C2F2C6 -S31508002CD000010A68022A02BF760A46EAC3564FF47A -S31508002CE00074A04640F2F830C2F2000004601022D8 -S31508002CF04260402282600022C2604FF48062026114 -S31508002D0001F0E8F84FF48034802501E0013C04D056 -S31508002D10284601F035F90028F8D01020FFF758F9B1 -S31508002D20002840F0868040F24030C2F200004FF0A2 -S31508002D30FF330360C0F80480902383600223C360D6 -S31508002D40002505610123436101F0F2F840F2F830ED -S31508002D50C2F2000006601124446040228260C56009 -S31508002D604FF48062026101F0B5F82046FFF730F9AA -S31508002D70002860D14FF43055C4F2010540F22A66A6 -S31508002D804FF400484FF000090BE0404601F0F8F810 -S31508002D9038B14C4601F0E4F838510434202CF9D106 -S31508002DA020376B6B3342F0D0082001F0E9F828B1E0 -S31508002DB0082001F0EFF80420BDE8F883022001F0AE -S31508002DC0DFF828B1022001F0E5F80220BDE8F88313 -S31508002DD0202001F0D5F828B1202001F0DBF80620E4 -S31508002DE0BDE8F8834FF4007001F0CAF84FF0FF34DD -S31508002DF04FF4001558B14FF4007001F0CBF80720D6 -S31508002E00BDE8F88301F0ACF847F8040B013C284606 -S31508002E1001F0B6F808B1002CF4D140F2FF5001F0E9 -S31508002E20B9F840F2CC03C2F2000300201860BDE8EE -S31508002E30F883BDE8F883BDE8F88300BF2DE9F84FAD -S31508002E4080461446BDF8282040F23D30C2F2000004 -S31508002E500021017040F27C30C2F20000016040F2AD -S31508002E600C40C2F2000001604FF43050C4F2010079 -S31508002E70C16240F26831C2F200010968022902BF44 -S31508002E80640A44EAC3544FF40072164640F2F83016 -S31508002E90C2F20000026010254560402282600022CE -S31508002EA0C2604FF48062026101F014F82846FFF709 -S31508002EB08FF8002840F08B8040F2F830C2F200000C -S31508002EC0046018244460402282600022C2604FF4E5 -S31508002ED08062026100F0FEFF2046FFF779F80028BD -S31508002EE077D140F24030C2F200004FF0FF33036062 -S31508002EF04660902383600024C46004610123436113 -S31508002F0001F016F8A3464FF43054C4F2010440F217 -S31508002F101A654FF4804625E0304601F031F808B3CB -S31508002F20CBF5007ABAF11F0F10D85FEA9A0A19D0C2 -S31508002F30C146002759F8040B01F01AF8013757451E -S31508002F40F8D14FEA8A0AD044D3440BE0002758F850 -S31508002F50070001F00DF80437202FF8D108F12008F2 -S31508002F600BF1200B636B2B42D6D0082001F008F832 -S31508002F7028B1082001F00EF80420BDE8F88F0220D9 -S31508002F8000F0FEFF28B1022001F004F80220BDE897 -S31508002F90F88F102000F0F4FF28B1102000F0FAFF97 -S31508002FA00520BDE8F88F4FF4007000F0E9FF30B156 -S31508002FB04FF4007000F0EEFF0720BDE8F88F40F2EE -S31508002FC0CC03C2F2000300201860BDE8F88FBDE804 -S31508002FD0F88FBDE8F88F00BF38B50546F8B140F25E -S31508002FE0F830C2F2000040F29832C2F200021268CB -S31508002FF0120402600D244460402282600022C260EE -S315080030004FF48062026100F065FF2046FEF7E0FF9C -S31508003010044630B900F07EFF2860204638BD2620D9 -S3150800302038BD38BD00B583B000230193FFF79CF97E -S31508003030012818BFFF2008D101A8FFF7CDFF18B94E -S315080030400198C0F3432000E0FF2003B05DF804FBBD -S3150800305008B5FFF7E7FF042804D0FF2814BF0120AE -S31508003060022008BD002008BD00B597B0FFF758FD3F -S3150800307060B940F2D003C2F200031A7802F0FE02E9 -S315080030801A706846FFF798FB002006E040F2D00366 -S31508003090C2F2000301221A70032017B05DF804FB80 -S315080030A008B540F2D003C2F2000301221A7050B9E3 -S315080030B0FFF7CEFF38B940F2D003C2F200031A7800 -S315080030C002F0FE021A7040F2D003C2F2000318782A -S315080030D008BD00BF2DE9F041ADF5027D10B324E02F -S315080030E05D1E4FF6FF74C0F27F041C4401EB4424B6 -S315080030F0C1EB422800274FF40076009602A804EB9D -S3150800310008023B46FFF7C6FD88B9FFF7A1FF01286D -S31508003110FBD0204602A9324606F014FBA4F500743B -S315080031204DB906E0012043B1DAE7012005E00120A8 -S3150800313003E0002001E0013DDFE70DF5027DBDE873 -S31508003140F08100BF2DE9F041ADF5027D28B327E0F7 -S315080031505D1E4FF6FF74C0F27F041C4401EB442445 -S31508003160C1EB42284FF40076002702A821463246D2 -S3150800317006F0E8FA009602A804EB08023B46FFF7B9 -S315080031805DFE052818BF00280CD1FFF761FF01284E -S31508003190FBD0A4F500744DB906E0012043B1D7E78A -S315080031A0012005E0012003E0002001E0013DDCE705 -S315080031B00DF5027DBDE8F08110B596B0144640F2D3 -S315080031C0D003C2F200031B7813F0010F18BF0320C7 -S315080031D021D103291AD8DFE801F0020410150020CE -S315080031E019E0A8B96846FFF7E7FA129B5B0A139A33 -S315080031F043EAC253236000200DE04FF400731380A6 -S31508003200002008E030B92023136004E0042002E01F -S31508003210002000E0002016B010BD00BF08B54FF032 -S315080032200070012100F0F8FD4FF00070002100F059 -S31508003230F3FD08BD0023036043608360C360036138 -S3150800324043618361C361036243628362C36203634A -S3150800325043638363C3634022026420224264836417 -S31508003260C364036543658365C36503668022426656 -S315080032708366C366036743678367C3674FF08062E5 -S31508003280C0F880204FF00072C0F884204FF080719B -S31508003290C0F888104FF40011C0F88C10C0F89030B0 -S315080032A0C0F89430C0F89830C0F89C30C0F8A03008 -S315080032B0C0F8A420C0F8A8304FF40032C0F8AC20FB -S315080032C04FF48072C0F8B020C0F8B430C0F8B830F7 -S315080032D0704700BF82B0002301934FF40043C4F245 -S315080032E002031A6902F01C02890101F4F8610A4313 -S315080032F0C00281B20A4342F001021A614FF4004249 -S31508003300C4F202024FF6FE71C0F20401019B0133BA -S315080033100193136913F0010F02D0019B8B42F5D973 -S31508003320019A4FF6FF73C0F204039A421FBF4FF487 -S315080033300043C4F20203586980B208BF002002B0F5 -S31508003340704700BF10B483B0002301934FF40043C5 -S31508003350C4F202031C6904F01C0444F00304890146 -S3150800336001F4F8610C43C00281B20C435A611C6136 -S315080033704FF40042C4F202024FF6FE71C0F2040195 -S31508003380019B01330193136913F0010F02D0019BCE -S315080033908B42F5D901984FF6FF73C0F20403C01AA1 -S315080033A018BF012003B05DF8044B7047F0B587B02D -S315080033B004460D460023059300934FF40043C4F2D8 -S315080033C002031E6926F01C0601A800F06FFC02998C -S315080033D04FF45343CFF6CE630B444EF2BF12C0F2FE -S315080033E0E402934298BF46F008061AD94FF24013F2 -S315080033F0CFF6E9530B4447F63F02C0F27D129342DB -S3150800340098BF46F00C060CD94FF4F243CFF66C433E -S315080034100B444FF4B442C0F26222934288BF46F08E -S3150800342004064FF40043C4F202031E612846002135 -S315080034304FF40042FFF786FF002800F00F814FF097 -S3150800344080630593059B2BB1059B013B0593059B63 -S31508003450002BF9D12368002B5ED001274FF6FE76A4 -S31508003460C0F20406009B0133009328463946FFF74D -S3150800347031FF00F0040083B213B9009BB342F1D9BF -S31508003480009A4FF6FF73C0F204039A4208BF002061 -S3150800349000F0E9800021009128464FF48052FFF79A -S315080034A051FF002800F0DC8001274FF6FE76C0F2B7 -S315080034B00406009B0133009328463946FFF70AFFA6 -S315080034C000F0200080B210B9009BB342F1D9009AEF -S315080034D04FF6FF73C0F204039A4208BF002000F0BB -S315080034E0C2800023009328461021FFF7F3FE00F060 -S315080034F004039BB21BB14FF40063236201E000236F -S31508003500236200F002039BB213B1002363611BE040 -S315080035104FF48043636117E06369226AD20842EA7E -S3150800352053022846002192B2FFF70CFF002800F04C -S3150800353099806FF07F430593059B2BB1059B013B53 -S315080035400593059B002BF9D14FF40043C4F20203FF -S31508003550196848F20F12CFF620720A40A06861680F -S315080035600843E16808432169084361690843A1697A -S315080035700843E1690843216A0843616A0843A16A66 -S315080035800843E16A0843216B0843616B01430A4318 -S315080035901A60E16BA26B1143226C1143626C1143F2 -S315080035A0A26C1143E26C1143226D1143626D0A430A -S315080035B05A60A26D9A60E26DDA609869A16E626ED1 -S315080035C01143E26E1143226F1143626F11434FF6A6 -S315080035D0417202400A43216E42EA01419961E16F54 -S315080035E0A26F0A43DA6103F58053996943F6237299 -S315080035F0CFF6DE020A40D4F88400D4F880100843D7 -S31508003600D4F888100843D4F88C100843D4F89010DE -S315080036100843D4F894100843D4F898100843D4F80B -S315080036209C100843D4F8A01001430A439A61D4F8C1 -S31508003630A410D4F8A820114341F40001D4F8AC2012 -S315080036401143D4F8B0201143D4F8B8200A43D4F86B -S31508003650B41042EA81021A60012004E0002002E068 -S31508003660002000E0002007B0F0BD00BF40B14FF4D5 -S315080036700043C4F202031A6842F008021A6070474F -S315080036804FF40043C4F202031A6822F008021A60D3 -S31508003690704700BF40B14FF40043C4F202031A68F2 -S315080036A042F004021A6070474FF40043C4F2020362 -S315080036B01A6822F004021A60704700BF4FF41043DC -S315080036C0C4F202031A6842F001021A60704700BF8A -S315080036D04FF41043C4F20203186800F00100704763 -S315080036E04FF41043C4F202039A6942F480129A61B5 -S315080036F0704700BF40B14FF41043C4F202039A6901 -S3150800370042F400529A6170474FF41043C4F2020320 -S315080037109A6922F400529A61704700BF40B14FF48B -S315080037201043C4F202039A6942F002029A61704792 -S315080037304FF41043C4F202039A6922F002029A6116 -S31508003740704700BF08B50120FFF790FFFFF7C8FFD5 -S315080037500120FFF79FFF0120FFF7CCFF0120FFF7AD -S31508003760DDFF08BD2DE9F047B2B04FF0F05001215A -S3150800377000F00AFB4720012100F006FB4FF48040C9 -S31508003780012100F037FB012000F00AFC8E2330935C -S3150800379000268DF8C66002248DF8C4408DF8C760EF -S315080037A08DF8C5403746C4F20207384630A900F0FE -S315080037B01BFA384601210B2200F064FA38462146E6 -S315080037C00B2200F05FFA384603210B2200F05AFA62 -S315080037D0384607210B2200F055FA4FF40063309360 -S315080037E08DF8C6608DF8C4408DF8C7608DF8C54061 -S315080037F04FF4C057C4F20207384630A900F0F4F96E -S3150800380038460B210A4600F03DFA322330938DF8EC -S31508003810C6608DF8C4408DF8C7608DF8C5404FF472 -S315080038200068C4F20208404630A900F0DDF94046B7 -S3150800383001210B2200F026FA404604210B2200F053 -S3150800384021FA404605210B2200F01CFA4FF4C0432A -S3150800385030938DF8C6608DF8C4408DF8C7608DF832 -S31508003860C540384630A900F0BFF938460D210B226D -S3150800387000F008FA38460E210B2200F003FAFFF78B -S31508003880CDFCFFF71BFFFFF723FF0128FBD001A89C -S31508003890FFF7D0FC0024019408944FF400730B93AF -S315080038A00C944FF000430F9320231293149415940D -S315080038B016944FF4006309934FF4804306934FF030 -S315080038C0020A4FF003094CF2F108C0F2070841F268 -S315080038D01967C0F22207A6B230465146FFF7FAFC2E -S315080038E060F31F4530464946FFF7F4FC60F30F05C1 -S315080038F0BD4218BF454503D00134202CEBD109E061 -S31508003900202C07D949F61010C0F600004FF4A17113 -S3150800391005F000F801A8A1B2FFF748FD38B949F645 -S315080039201010C0F6000040F2471104F0F3FF42F20F -S315080039308073C2F2000342F2D002C2F200029A6019 -S31508003940DB6000221A605A604FF41041C4F202018B -S315080039500B6141F68023C2F2000341F69020C2F2C1 -S31508003960000098601A60DB605A6040225A719A8893 -S315080039704FF4C86060F30C029A808022DA70CB603C -S31508003980FFF7E0FE32B0BDE8F08700BF40F22463DF -S31508003990C2F2000308221A7000225A7027229A706F -S315080039A06922DA705B221A7145225A71704700BF84 -S315080039B038B541F68023C2F20003DB78DB091DD156 -S315080039C041F68024C2F200046588C5F30D0542F667 -S315080039D02000C2F2000041F69021C2F200012A46F8 -S315080039E005F0B0FEE37843F08003E3704FF410432C -S315080039F0C4F2020301229A60284638BD002038BD69 -S31508003A0038B542F28073C2F20003DB78DB0900D0D6 -S31508003A10FEE742F29073C2F200031D8842F2D00418 -S31508003A20C2F20004204642F62001C2F200012A46EC -S31508003A3005F088FE42F28073C2F200039C60002201 -S31508003A401A60102199705A60C5F30B059D80B02243 -S31508003A50DA704FF41043C4F2020301225A6038BDEB -S31508003A604FF47053C4F202031B69002B0DDA4FF4AE -S31508003A707053C4F2020340F22312C4F267525A602A -S31508003A8048F6AB12CCF6EF525A6070474FF47053B3 -S31508003A90C4F202031A6942F000421A61704700BF75 -S31508003AA04FF47053C4F20203D86070474FF4705352 -S31508003AB0C4F20203DB6813F4803F1BD14FF4705342 -S31508003AC0C4F20203DB6813F0100F15D14FF47053DC -S31508003AD0C4F20203DB6813F0EF0F0FD14FF47053F3 -S31508003AE0C4F20203D86800F0020000280CBF0820C0 -S31508003AF00720704701207047052070470620704749 -S31508003B0000B583B008238DF80730FFF7CFFF8DF88F -S31508003B1007009DF80730DBB2012B08D1FFF7C6FF77 -S31508003B208DF807009DF80730DBB2012BF6D09DF81B -S31508003B30070003B05DF804FB70B50546002659B1C9 -S31508003B40012908BF4FF4807606D0022914BF4FF426 -S31508003B5040764FF40076FFE7FFF7D2FF082821D119 -S31508003B604FF47054C4F20204236923F440732361AA -S31508003B7023691E432661236923F0F8032361236919 -S31508003B8043F002031D432561236943F4803323610F -S31508003B90FFF7B6FF236923F002032361236923F0A5 -S31508003BA0F803236170BD00BF70B505460E46FFF7E2 -S31508003BB0A7FF082816D14FF47054C4F202042369EB -S31508003BC023F440732361236943F400732361236953 -S31508003BD043F0010323612E60FFF792FF236923F068 -S31508003BE00103236170BD00BFF0B40023012503263D -S31508003BF005FA03F20C681440944238D107685A0053 -S31508003C0006FA02F4E44327400760076891F804C0FF -S31508003C100CFA02FC4CEA070707600F79013FFFB26E -S31508003C20012F16D887683C40846087684C79944091 -S31508003C303C43846047689CB205FA04FC27EA0C07F3 -S31508003C404760476891F806C00CFA04F4A4B23C43EE -S31508003C504460C7689CB2640006FA04F427EA0404C0 -S31508003C60C460C468CF7907FA02F22243C2600133FE -S31508003C70102BBDD1F0BC7047036919420CBF002058 -S31508003C800120704710B401F007039B00C90800EB38 -S31508003C908100046A0F21994024EA01010162016A40 -S31508003CA09A40114301625DF8044B704710B44FF413 -S31508003CB06053C4F202039B6803F00C03042B09D07B -S31508003CC0082B0DD0002B36D14FF41053C0F2F40355 -S31508003CD0036035E04FF4D853C0F2B70303602FE012 -S31508003CE04FF46053C4F202035C685A6802F03F025C -S31508003CF014F4800F4FF46053C4F202035B68C3F3F5 -S31508003D00881319BF4FF4D854C0F2B7044FF41054AF -S31508003D10C0F2F404B4FBF2F101FB03F14FF4605373 -S31508003D20C4F202035A68C2F3014201325200B1FBDF -S31508003D30F2F3036004E04FF41053C0F2F403036097 -S31508003D404FF46052C4F202029168C1F3031140F2C3 -S31508003D50D403C2F20003595CC9B2046824FA01F11B -S31508003D6041609468C4F382241C5DE4B221FA04F429 -S31508003D7084609268C2F342329B5CDBB2D940C16070 -S31508003D805DF8044B704700BF39B14FF46053C4F275 -S31508003D9002031A6B1043186370474FF46053C4F25A -S31508003DA002031A6B22EA00001863704739B14FF410 -S31508003DB06053C4F202035A6B1043586370474FF4BA -S31508003DC06053C4F202035A6B22EA00005863704734 -S31508003DD039B14FF46053C4F202031A6C10431864E5 -S31508003DE070474FF46053C4F202031A6C22EA0000CB -S31508003DF01864704739B14FF46053C4F202035A6C21 -S31508003E001043586470474FF46053C4F202035A6C67 -S31508003E1022EA00005864704739B14FF46053C4F27F -S31508003E2002031A691043186170474FF46053C4F2CD -S31508003E3002031A6922EA00001861704739B14FF483 -S31508003E406053C4F202035A6A1043586270474FF42B -S31508003E506053C4F202035A6A22EA000058627047A5 -S31508003E6008B54FF400600121FFF7E8FF4FF4006042 -S31508003E700021FFF7E3FF08BD10B44FF43053C4F236 -S31508003E8001035C68416882681143C268114302688D -S31508003E90114302690A4324F4FD4424F07F042243B3 -S31508003EA0017D0A435A605DF8044B704748F2A00347 -S31508003EB0C4F22523186070474FF43053C4F2010347 -S31508003EC0186070474FF43053C4F20103186800F0C5 -S31508003ED00300704710B402684FF43053C4F201036C -S31508003EE09A60DC6824F4FF6424F007048268416859 -S31508003EF01143C2680A43006902432243DA605DF847 -S31508003F00044B70474FF43053C4F201031869C0B22A -S31508003F10704700BF82B00023019342F61443C4F2EF -S31508003F20010303440193019B186802B0704700BF60 -S31508003F3010B402684FF43053C4F201035A6242685F -S31508003F409A62DC6A24F0F704C26881681143026940 -S31508003F500A43406902432243DA625DF8044B70471C -S31508003F604FF43053C4F20103D3F88000704700BF02 -S31508003F704FF43053C4F20103C3F88000704700BF02 -S31508003F804FF43053C4F201035B6B18420CBF002098 -S31508003F90012070474FF43053C4F201039863704709 -S31508003FA0DC23C4F227231860704700BF30B585B0FC -S31508003FB004460D46038A23F440531B041B0CCA8887 -S31508003FC013430382838923F4B05323F00C031B04A1 -S31508003FD01B0C0989AA880A4369890A4392B21343C2 -S31508003FE08381838A23F440731B041B0CAA89134319 -S31508003FF083826846FFF75AFE4FF4A052C4F20102C4 -S315080040004FF48053C4F201039C4218BF94420CBF7C -S31508004010039A029AA3891BB2002B02EB820202EBD7 -S315080040208202BDBF2B685B00B2FBF3F22968A4BF0E -S315080040308900B2FBF1F248F21F53C5F2EB13A3FB5A -S3150800404002135B091D01642003FB1023A08900B23B -S3150800405000280BDADB00323348F21F51C5F2EB11A8 -S31508004060A1FB0321C1F3421129430AE01B013233A4 -S3150800407048F21F51C5F2EB11A1FB0321C1F343110D -S31508004080294389B2218105B030BD00BF29B1838992 -S315080040909BB243F4005383817047838923F400530A -S315080040A01B041B0C83817047C1F30801818070478C -S315080040B08088C0F308007047038819420CBF0020A7 -S315080040C00120704782B04FF46053C4F202031A68A5 -S315080040D042F001021A6000229A60196821F0847180 -S315080040E021F48031196043F21001C2F2004159608F -S315080040F0196821F480211960DA60009201921A6821 -S3150800410042F480321A604FF46052C4F20202136815 -S3150800411003F400330193009B01330093019B1BB901 -S31508004120009BB3F5A06FF2D14FF46053C4F20203BB -S315080041301B6813F4003F14BF012300230193019B5E -S31508004140012B46D14FF46053C4F202031A6C42F0B5 -S3150800415080521A644FF4E042C4F20002116841F436 -S31508004160404111609A689A609A6842F400429A60DF -S315080041709A6842F4A0529A6045F20C42C0F2407224 -S315080041805A601A6842F080721A604FF46052C4F29C -S315080041900202136813F0007FFBD04FF47053C4F289 -S315080041A0020340F205621A604FF46053C4F2020338 -S315080041B09A6822F003029A609A6842F002029A60AC -S315080041C04FF46052C4F20202936803F00C03082B02 -S315080041D0FAD14FF46D43CEF200034FF000629A60B5 -S315080041E002B07047C278837843EA0222437843EAEA -S315080041F00222007840EA0220704700BF32B18218D6 -S3150800420011F8013B00F8013B9042F9D1704700BF15 -S3150800421002394369023B99423DBF4289836A02FBE0 -S3150800422001300020704700BF00F10B010023DA01BE -S3150800423042EA530310F8012B52FA83F3DBB28842A1 -S31508004240F5D11846704700BF30B4046814B3257812 -S315080042503A2D18BF1F2D08D9621C114612F8013BCA -S315080042603A2B18BF1F2BF8D801E02B4621463A2BCC -S3150800427018BF002011D1631C994218BF4FF0FF30B8 -S315080042800BD1302D18BF4FF0FF3006D10234046031 -S31508004290002002E04FF0FF30FFE730BC704700BF58 -S315080042A038B50C46054668B103685BB11A784AB159 -S315080042B0D9888288914205D15878FEF7F1FE10F028 -S315080042C0010F03D000232360092038BD2B68236023 -S315080042D0002038BD2DE9F0410446C3780BB3C56A02 -S315080042E000F13007407839462A460123FEF72AFFAF -S315080042F0D0B90023E370236AEA1AA3699A4216D250 -S31508004300A678012E16D94FF00108A26915446078DF -S3150800431039462A464346FEF715FF013E012EF4D1DB -S315080043200BE00020BDE8F0810120BDE8F081002007 -S31508004330BDE8F0810020BDE8F0810020BDE8F081ED -S3150800434070B504460D46C36A8B4208BF002613D0D3 -S31508004350FFF7C0FF064678B9607804F130012A46AF -S315080043600123FEF7B7FE002818BF0126002818BF4C -S315080043704FF0FF35E562FFE7304670BD10B50446DD -S31508004380FFF7A8FF0346002852D12378032B47D10D -S315080043902379012B44D104F1300104F50C700B4646 -S315080043A0002203F8012B8342FBD1552384F82E32D1 -S315080043B0AA2384F82F32522384F8303084F8313017 -S315080043C0612384F83230412284F83320722084F83D -S315080043D0140284F8150284F8162284F81732236921 -S315080043E084F818321A0A84F819221A0C84F81A2240 -S315080043F01B0E84F81B32E36884F81C321A0A84F808 -S315080044001D221A0C84F81E221B0E84F81F32E2693C -S315080044100132E26260780123FEF794FE00232371DD -S31508004420607800210A46FEF7C7FE031C18BF012361 -S31508004430184610BD2DE9F84305460C4617460129CE -S3150800444098BF022640F287804369994228BF022610 -S3150800445080F081800378022B45D0032B57D0012B9F -S3150800446018BF022677D101EB5108016A01EB5821E2 -S31508004470FFF766FF064600286DD108F10109C8F363 -S31508004480080814F001041FBF05EB080393F8303041 -S3150800449003F00F03FAB21ABF43EA0213DBB2FBB208 -S315080044A0A84488F830300123EB70296A284601EBC6 -S315080044B05921FFF745FF064600284CD1C9F30809DC -S315080044C014B1C7F3071708E005EB090393F8303072 -S315080044D023F00F03C7F303271F43A94489F8307055 -S315080044E00123EB7037E0016A01EB1421FFF728FF7F -S315080044F0064680BB630003F4FF73EA1882F830703F -S31508004500C7F3072782F831700123EB7023E0016AAD -S3150800451001EBD411FFF714FF0646E0B927F0704700 -S31508004520A40004F4FE7404F13008A8444046FFF7DA -S3150800453059FE00F0704007432C4484F830703B0A5B -S3150800454088F801303B0C88F802303F0E88F8037073 -S315080045500123EB70FFE73046BDE8F8838A76C2F39D -S315080045600723CB760378032B01BF120C0A75120AB0 -S315080045704A7570472DE9F04106460D4600238B75AE -S315080045808369002B6ED0436AB3F1FF3F1AD0876A5E -S31508004590388878B10024A046414601F0DBFD58B1C1 -S315080045A0FF2C0BD001342A19507537F8020F002852 -S315080045B0F2D104E0002402E0002400E000242C44A8 -S315080045C00023A375A87D002423462E275A1CF169CB -S315080045D0CB5C202B22D0052B08BFE523092A05D161 -S315080045E008B929198F7529194F72013429194B727F -S315080045F098B9A3F14101C9B219290CD8F169097B07 -S31508004600082A94BF4FF0080E4FF0100E1EEA010F4D -S315080046101CBF2033DBB229198B7501340B2A01D054 -S315080046201346D3E738B92B1900229A75F3691B7B11 -S31508004630934208BF14462C4400236372F369DB7A5D -S315080046402B72F0691C30FFF7CDFD2860F3695A7E9E -S315080046501B7E43EA0223AB80F369DA7D9B7D43EA3E -S315080046600223EB80BDE8F081F8B50C460568012900 -S3150800467053D96B69994252D22B78022B29D0032B36 -S315080046803AD0012B4DD101EB5106296A284601EB98 -S315080046905621FFF755FE002845D1771CC6F30806B4 -S315080046A02E4496F83060296A284601EB5721FFF711 -S315080046B047FE00283AD1C7F308073D4495F830006D -S315080046C046EA002014F0010F14BF0009C0F30B00DE -S315080046D0F8BD296A284601EB1421FFF731FE40BBD5 -S315080046E0640004F4FF742B1993F830302C4494F8C2 -S315080046F0310043EA0020F8BD296A284601EBD411A7 -S31508004700FFF71EFEC0B9A00000F4FE703030284442 -S31508004710FFF768FD20F07040F8BD0120F8BD0120C4 -S31508004720F8BD0120F8BD4FF0FF30F8BD4FF0FF305F -S31508004730F8BD4FF0FF30F8BD4FF0FF30F8BD00BFB1 -S315080047402DE9F04106460C460768B1F5001F3CD234 -S3150800475011F01F0F3CD13161856865B93B78022B92 -S3150800476001D97B6A33B93B89B3EB541F33D97B6ACA -S31508004770B3611CE01D46B7F80A804FEA482844454D -S3150800478010D330462946FFF76FFF0546B0F1FF3FC5 -S3150800479024D0012825D97B69984225D2C8EB040480 -S315080047A0A045EED938462946FFF732FDB061756156 -S315080047B0B369E3B103EB5423B361C4F3080330339D -S315080047C01F44F7610020BDE8F0810220BDE8F081B2 -S315080047D00220BDE8F0810220BDE8F0810120BDE895 -S315080047E0F0810220BDE8F0810220BDE8F0810220B8 -S315080047F0BDE8F0812DE9F84307460668894631B9D0 -S31508004800F5688DB173699D4228BF01250DE0FFF754 -S315080048102BFF01284FD9B0F1FF3F55D07369984255 -S3150800482028BF4D4601D24FE001252C464FF002081D -S31508004830013473699C4202D3012D3FD94446384658 -S315080048402146FFF711FF38B1012818BFB0F1FF3F25 -S3150800485037D0AC42ECD136E02546304621464FF0FB -S31508004860FF32FFF7E7FD0346D0F1010038BF00200D -S31508004870B9F1000F08BF002028B130464946224644 -S31508004880FFF7D8FD03467BB9F56033697269023ACA -S3150800489093423CBF03F1FF333361337943F001039D -S315080048A033712046BDE8F883012B14BF01204FF071 -S315080048B0FF30BDE8F8830120BDE8F8830020BDE895 -S315080048C0F883BDE8F8830020BDE8F8832DE9F041B8 -S315080048D007460E46046801292DD9636999422DD2E7 -S315080048E032B1204611464FF0FF32FFF7A3FD40BB19 -S315080048F04FF0000838463146FFF7B6FE054610B3B6 -S31508004900012823D0B0F1FF3F23D020463146424646 -S31508004910FFF790FD00BB2369B3F1FF3F1FBF0133CB -S315080049202361237943F0010318BF237163699D420C -S3150800493014D22E46DEE70220BDE8F0810220BDE84B -S31508004940F081BDE8F0810020BDE8F0810220BDE8D5 -S31508004950F0810120BDE8F081BDE8F0810020BDE8C6 -S31508004960F08100BF2DE9F04704460E460568026946 -S315080049708369002B6ED002F12007B7F5001F6CD2B1 -S31508004980C7F30808B8F1000F5CD1013383614169A8 -S3150800499041B92B89B3EB571F54D8002383610420F0 -S315080049A0BDE8F0876B89013B13EA57234AD1FFF725 -S315080049B05BFE8146012853D9B0F1FF3F53D06B699E -S315080049C0984238D326B90023A3610420BDE8F087AE -S315080049D020466169FFF70EFF8146002846D0012868 -S315080049E047D0B0F1FF3F47D02846FFF773FC0028B1 -S315080049F045D105F1300100231A46CA540133B3F5EF -S31508004A00007FFAD128464946FFF702FCE8620026ED -S31508004A104FF0010A09E085F803A02846FFF75AFC7B -S31508004A2080BB0136EB6A0133EB626B899E42F2D397 -S31508004A30EB6A9B1BEB62C4F8149028464946FFF7BD -S31508004A40E7FBA061276108F130084544E5610020CD -S31508004A50BDE8F0870420BDE8F0870420BDE8F087AC -S31508004A600220BDE8F0870120BDE8F0870720BDE8F1 -S31508004A70F0870220BDE8F0870120BDE8F087012015 -S31508004A80BDE8F0870120BDE8F08700BF2DE9F843AF -S31508004A90044605680669416AB1F1FF3F03D0FFF78E -S31508004AA04FFE0346D8B94FF0E50801274FF0000935 -S31508004AB02846A169FFF744FC034668B9E26982F80B -S31508004AC00080EF702269964209D920464946FFF7C9 -S31508004AD049FF03460028EBD0042B08BF02231846DB -S31508004AE0BDE8F8832DE9F04F89B00446D0F800B048 -S31508004AF00021FFF725FE002840F0AE804FF0FF3377 -S31508004B0063624FF0FF0AD0461F46D14649F6B812EF -S31508004B10C0F60002029202F10C0303935846A169FB -S31508004B20FFF70EFC002840F09880E5692E78002EE5 -S31508004B3000F09480EB7A03F03F02A271E52E04D0D0 -S31508004B4013F0080F04D00F2A04D06762C8467BE02A -S31508004B500F2A5DD1A26A0192002A75D016F0400F7D -S31508004B6006D095F80DA006F0BF062369636203E038 -S31508004B70B04518BFC84667D16B7B0493534518BF29 -S31508004B80C84661D1EA7EAB7E53EA02237ED12B78F2 -S31508004B9003F03F03013B03EB430203EB8208029A4F -S31508004BA002F1FF3A0121CDF814B00796464606945D -S31508004BB01AF8013FEA185478EB5C43EA042489B1F1 -S31508004BC0FE2E58D8204601F0EBFA834606F1010876 -S31508004BD0019B33F8160001F0E3FA83454FD12146CD -S31508004BE0464603E04FF6FF7294424CD1039B9A4522 -S31508004BF0DED1DDF814B0B046079E069C2B7813F07C -S31508004C00400F32D089B3019A32F818306BB33DE0C1 -S31508004C10B8F1000F04D12846FFF706FB50451FD010 -S31508004C20216ACB7A13F0010F34D00AE013F8010F8A -S31508004C3011F8012F821AAB4202D0002AF6D000E002 -S31508004C4082B16762C846FFE720460021FFF78AFE61 -S31508004C5000283FF463AF07E022E021E004201FE0CC -S31508004C6000201DE000201BE01AE0013E5FFA86F8EE -S31508004C70DDF810A0E8E7DDF814B0069C06E0DDF8DC -S31508004C8014B0069C02E0DDF814B0069CDDF810A00E -S31508004C90C846D9E72A780B78D21A2B460A35CCE7C4 -S31508004CA009B0BDE8F08F00BF2DE9F04F89B007467F -S31508004CB002680192046A836A0093E37A13F0A00FEC -S31508004CC018BF062040F06C81009A13884BB1134632 -S31508004CD04FF0000808F1010833F8022F002AF9D12D -S31508004CE001E04FF0000805A821460C22FFF786FAD6 -S31508004CF09DF81F3013F0010F00F081800023E37246 -S31508004D00BB62204605A90B22FFF778FA012633462F -S31508004D104FF0070B4FF07E0A4FF00009202523E0DD -S31508004D20204605A90B22FFF769FA052E98BF3346D8 -S31508004D301AD9009BA3F1020E33464FF0100C0EE071 -S31508004D40614602F0010000EB4303520813F4803F6A -S31508004D501CBF83F4883383F021030139F1D13EF86F -S31508004D60022F002AECD1FFE75A4603F00F0000F1A4 -S31508004D703001392988BF00F13701013A03A81044E8 -S31508004D8041701B09F1D1964608AB134403F814ACDD -S31508004D9062B12378202B0BD021464B46013373454D -S31508004DA007D011F8010F2028F8D102E04B4600E0A1 -S31508004DB04B46072A9FBF08A9891811F8141C013207 -S31508004DC088BF2946E1540133072BF2D93846FFF745 -S31508004DD089FE034620B90136642EA1D10720DFE0FB -S31508004DE0642E08BF072000F0DB80042B18BF184686 -S31508004DF040F0D6809DF81F30E372009ABA629DF89B -S31508004E001F3013F0020F1FBF08F10C084EF64F4370 -S31508004E10C4F6C463A3FB08231ABF4FEA930808F134 -S31508004E2001084FF001083E6838460021FFF788FC64 -S31508004E300346D0B90024A14601253046B969FFF7D3 -S31508004E407FFA034688B9FB691B78E52B18BF002B48 -S31508004E5003D10134A04501D10FE04C463846294616 -S31508004E60FFF780FD03460028E7D0042B08BF072379 -S31508004E7000F08E80002B40F08B80B8F1010800F01E -S31508004E80898039693846A1EB4811FFF759FC034672 -S31508004E9000287DD1386AFFF7C7F9009000264FF63B -S31508004EA0FF7449F6B815C0F600054FF0FF0B0198D8 -S31508004EB0B969FFF745FA0346002869D1D7F828E00B -S31508004EC0F9695FFA88F9009B4B734FF00F02CA72B3 -S31508004ED00E738E76CE7609F1FF3303EB430003EBB0 -S31508004EE080000122334602E0604623460132A3428F -S31508004EF040D000F1010C3EF81030A81810F8010C4B -S31508004F0001EB000A0B54180A8AF80100002B3CD062 -S31508004F1060460C2AEAD9A34202D03EF810300BB9F3 -S31508004F2049F0400981F800904FF00103019AD370C7 -S31508004F3038463146FFF716FD034648BBB8F1010867 -S31508004F40B5D127E0FB6903F12001002203F8012B04 -S31508004F508B42FBD1F869396A0B22FFF74FF9FB69D7 -S31508004F603A6AD27A02F018021A730123019AD370A8 -S31508004F70002015E005EB020C1CF801CC01EB0C0A2D -S31508004F8001F80CB08AF801B0C3E70C2AACD9C7E718 -S31508004F90184605E00198B969FFF7D2F90028D1D07B -S31508004FA009B0BDE8F08F00BF10B504460023C370F2 -S31508004FB04FF0FF33C362FFF7C3F938BB94F82F22CB -S31508004FC094F82E3243EA022212B24AF65523CFF655 -S31508004FD0FF739A421CD104F16600FFF703F920F02B -S31508004FE07F4044F24613C0F25403984212D004F1AB -S31508004FF08200FFF7F7F820F07F4044F24613C0F22C -S315080050005403984214BF0220002010BD042010BD8E -S31508005010032010BD002010BD2DE9F04385B00D46D4 -S31508005020174600230B60FFF70FF9061EB8BF0B20C3 -S31508005030C0F2748140F21463C2F2000353F82640AA -S315080050400C20002C00F06A812C6007F0FE072378FC -S3150800505083B16078FEF724F810F0010F0AD1002F0B -S3150800506000F0378100F00400C0B2002814BF0A20FF -S31508005070002053E100232370F0B26070FDF7F4FFBF -S3150800508010F0010F18BF032040F048812FB110F02F -S31508005090040F18BF0A2040F0418120460021FFF77F -S315080050A083FF022818BF002625D104F5FB7503AF38 -S315080050B0ADF104064FF0000815F8043C40461BB154 -S315080050C02846FFF78FF8FFE746F8040F1035BE426B -S315080050D0F2D1ADF104054FF0030855F8046F4046C8 -S315080050E036B120463146FFF75FFF012800D808E1B0 -S315080050F0AF42F2D1FFE7042808BF012000F00E8175 -S31508005100012888BF0D2000F2098194F83C2094F804 -S315080051103B3043EA02231BB2B3F5007F18BF0D20CC -S3150800512040F0FC8094F8479094F8463053EA0929F1 -S3150800513004D104F15400FFF755F88146C4F81890D5 -S3150800514094F84070A7707B1EDBB2012B88BF0D2038 -S3150800515000F2E48094F83D506581002D00F0BB8094 -S315080051606B1E2B4240F0B98094F8428094F8413087 -S3150800517043EA0828A4F8088018F00F0F40F0AF801B -S3150800518094F8440094F8433053EA002003D104F11C -S315080051905000FFF727F894F83F2094F83E3053EA7A -S315080051A0022200F09E8007FB09F102EB18130B445C -S315080051B09842C0F09880C01AB0FBF5F5002D00F0B3 -S315080051C0948040F6F577BD428CBF022701274FF63B -S315080051D0F570854200F2998002356561E6613244D0 -S315080051E022623344A362032F10D194F85B2094F80B -S315080051F05A3053EA02237AD1B8F1000F79D104F173 -S315080052005C00FEF7EFFF6062AD000EE0B8F1000F3C -S3150800521071D00A446262022F0FBF6D0003236B43ED -S3150800522005F0010518BF05EB530505F2FF15B9EBA7 -S31508005230552F62D34FF0FF332361E3608023237138 -S31508005240032F3AD194F8612094F8603043EA022398 -S315080052501BB2012B31D12046711CFFF771F860BBD8 -S315080052600023237194F82F2294F82E3243EA02225F -S3150800527012B24AF65523CFF6FF739A421DD104F1AE -S315080052803000FEF7AFFF45F25223C4F2611398428D -S3150800529013D104F50570FEF7A5FF47F27223C6F28F -S315080052A04113984209D104F50670FEF79BFF206169 -S315080052B004F50770FEF796FFE060277040F210636A -S315080052C0C2F200031A88013292B21A80E2800020E4 -S315080052D024E0002022E00D2020E00D201EE00D2015 -S315080052E01CE00D201AE00D2018E00D2016E00D2018 -S315080052F014E00D2012E00D2010E00D200EE0012034 -S315080053000CE004287FF401AFF9E702356561E66130 -S31508005310324422623344A362032766E705B0BDE838 -S31508005320F08300BF2DE9F04F85B004468A4607682A -S315080053304FF0FF0B5E460425D94649F6B810C0F66D -S315080053400000019000F10C0302934FF000087CE086 -S315080053503846FEF7F5FF054600287BD1E269137843 -S31508005360002B00F08480D17A01F03F01A1712E2B29 -S3150800537018BFE52B61D021F02000082814BF0020B3 -S315080053800120504518BF4E4659D10F294BD113F06D -S31508005390400F06D092F80DB003F0BF032169616291 -S315080053A003E09E4218BF4E4649D1557B5D4518BF5E -S315080053B04E4644D1D4F828C0D07E917E51EA0021C9 -S315080053C052D1117801F03F01013901EB410601EB99 -S315080053D086060198411E4FF0010E0393A3467446B4 -S315080053E0DDF808E011F8013FD0184078D35C43EAAD -S315080053F0002334B1FE2E34D82CF816301C4601365C -S3150800540003E04FF6FF7083422DD17145EAD1039B25 -S315080054105C46127812F0400F1FD0FE2E98BF2CF86B -S3150800542016801AD920E010461EB9FEF7FDFE58452B -S315080054301FD04FF0FF3363621BE04E46FFE720465E -S315080054404146FFF78FFA054620B9A16900297FF47E -S315080054507FAF75B10023A3610BE0013BDEB2AB461B -S31508005460EDE75C4600E05C46AB464E46E7E70425BA -S31508005470F0E7284605B0BDE8F08F00BFCA7E8B7EF0 -S3150800548043EA02230278032A01BF487D0A7D42EADD -S31508005490002243EA02431846704700BF2DE9F04F41 -S315080054A087B082460D46006800900B782F2B18BFF0 -S315080054B05C2B05D115F8013F2F2B18BF5C2BF9D0B3 -S315080054C00023CAF808302B781F2B09D8DAF82030C1 -S315080054D08022DA7250460021FFF732F9034682E14C -S315080054E04FF0010849F62419C0F6000949F63011AB -S315080054F0C0F60001049149F63812C0F6000205927A -S31508005500DAF828B028782F2818BF1F2809D95C2868 -S315080055100AD0ABF102072E4644461CE05C2B15D197 -S3150800552004E00024424601E00024424615442B7854 -S315080055302F2B18BF5C2B2CD12B465A1C15465B7893 -S315080055402F2B18BF5C2B24D11346F6E7B2F5807FC4 -S3150800555000F044811446414600F0FCFD014600284F -S3150800556000F03C817F2809D8222900F037814A4675 -S3150800557012F8013F13B19842FAD12FE127F8021F1A -S31508005580621C16F8013F18462F2B18BF1F2BC5D8CB -S31508005590CCE71F2894BF04260026002C00F00B81B8 -S315080055A004F10043013B5A003BF813302E2B18BF79 -S315080055B0202B40F0F480931C5B4407E033F8042C5E -S315080055C0023B2E2A18BF202A40F0E980013CF5D17B -S315080055D0F1E04FF0200003F8010B8B42F9D1BBF83C -S315080055E00030202B18BF2E2B40F0E98058460023A8 -S315080055F0013330F8021F202918BF2E29F8D0002BB6 -S3150800560000F0DE8046F00306DAE0013C05D1082109 -S31508005610039100220192029205E0023A32F8021C36 -S315080056202E29F2D1F3E75F1C3BF81300002861D05E -S31508005630202808D0E31B18BF01232E2814BF0022F8 -S3150800564003F001021AB146F003063B46EBE701995F -S31508005650039ABC4218BF914214D30B2A03D146F0D1 -S315080056600306029A49E00BB146F00306A74243D85F -S3150800567002988300DBB2029323460B21039108228A -S315080056800192D0E77F280DD9002100F063FD03467B -S31508005690002800F0A5800598034413F8800C46F00E -S315080056A0020650B101462B2807D0049A12F8013F8A -S315080056B0002B00F08C809942F8D146F003065F2053 -S315080056C010E0029941F0020102910BE0A0F161039A -S315080056D09BB2192B9FBF029A42F001020292203810 -S315080056E098BF80B2DAF82030019958543B46013108 -S315080056F0019198E7029A00E0029ADAF820301978C0 -S31508005700E52904BF05211970039B082B02BF9200E7 -S31508005710D2B20292029800F00C030C2B03D000F0D0 -S315080057200302032A01D146F0020616F0020F0AD137 -S31508005730029901F00302012A08BF46F01006042B5D -S3150800574008BF46F00806DAF82030DE725046FFF742 -S31508005750C9F9DAF82030DA7A034648B1042842D182 -S3150800576002F00403DBB2002B14BF034605233AE01C -S3150800577012F0040F37D19AF8063013F0100F0CD038 -S31508005780DAF81030C3F3080303F130010098014436 -S31508005790FFF774FECAF80800B2E6052323E067009F -S315080057A00BEB07024FF000032BF81430DAF8203021 -S315080057B003F10B010DE700232BF814300EE000234C -S315080057C05F4437F8021C2E293FF421AF1DE7A0F1EC -S315080057D041039BB2192B7FF674AF77E7062302E0E5 -S315080057E046F0020669E7184607B0BDE8F08F00BF25 -S315080057F010B584B001900091144604A840F8041D21 -S31508005800FEF722FD0028B8BF0B202CDB40F21463FC -S31508005810C2F2000353F820300BB100221A70019B24 -S31508005820CBB100221A70019A40F21463C2F2000347 -S3150800583043F82020D2F1010238BF0022012C0CBF08 -S31508005840144642F0010400206CB9684601A90022FA -S31508005850FFF7E2FB07E040F21463C2F200030022FE -S3150800586043F82020104604B010BD00BF2DE9F043D0 -S3150800587093B0019115460446002800F0A180002344 -S31508005880036002F01F0601A806A93246FFF7C4FB0B -S31508005890002840F09780069B079303AB0F9340F2CE -S315080058A01043C2F20003119307A80199FFF7F6FD0A -S315080058B00346002840F08C800F9B93F90B30002B91 -S315080058C080F2818083E053B1042B40F08D8007A8D5 -S315080058D0FFF7EAF946F00806034640B184E09DF86A -S315080058E0223013F0110F78D115F0040F77D116F086 -S315080058F0080F48D00E9B00259D73DD73612119742E -S3150800590048225A740E9B9D75DD7519765A762022A3 -S315080059100E9BDA72DDF818800E9F40463946FFF76F -S31508005920ADFD8146404639462A46FEF717FE0E9BD0 -S315080059301D775D779D77DD770122069BDA70B9F1D1 -S31508005940000F20D0069BDD6A07A849460022FEF70D -S31508005950BDFF0346002847D106982946FEF7F0FC06 -S31508005960034609F1FF31069AD1600BE09DF8223013 -S3150800597013F0100F35D115F0020F04D013F0010FF4 -S3150800598031D100E083BB16F0080F18BF46F0200699 -S31508005990069DEB6A23620E9F676228463946FFF723 -S315080059A06DFDA06007F11C00FEF71CFCE0600020FE -S315080059B060746061E06126742560EB88A38014E05A -S315080059C0092012E011E015F01C0F88D1CEE7062356 -S315080059D015F01C0F7FF477AFD4E7072304E00823FC -S315080059E002E0042300E00723184613B0BDE8F0835D -S315080059F02DE9F04F85B004460F4690461E46002313 -S31508005A00336003A9FEF74CFC002840F0A880607CB0 -S31508005A10002840F0A880237C13F0010F08BF072058 -S31508005A2000F0A180E5686369ED1AA84538BF4546C8 -S31508005A30002D00F0958004F1280301936369C3F3F0 -S31508005A400802002A71D1039AB2F80AA00AF1FF3AAD -S31508005A501AEA532A12D10BB9A06803E02046A169B5 -S31508005A60FEF702FE012802D8022060747BE0B0F13E -S31508005A70FF3F02D10120607475E0A061DDF80C805B -S31508005A804046A169FEF7C4FB814610B9022060743E -S31508005A9069E0D1445FEA552B25D0B8F80A300BEBFC -S31508005AA00A029A4288BFCAEB030B98F801003946E6 -S31508005AB04A465B46FDF70EFB10B10120607452E0C2 -S31508005AC0237C13F0400F0BD0E369C9EB0300834531 -S31508005AD006D907EB402001994FF40072FEF78EFBBA -S31508005AE04FEA4B2B2FE0E2694A451CD0237C13F082 -S31508005AF0400F0DD098F8010001990123FDF722FB0C -S31508005B0010B1012060742EE0237C23F04003237437 -S31508005B10039B587801994A460123FDF7DBFA10B131 -S31508005B20012060741FE0C4F81C906169C1F3080184 -S31508005B30C1F5007B5D4538BFAB4628313846214460 -S31508005B405A46FEF75BFB5F4463695B4463613368EF -S31508005B505B443360B5EB0B057FF470AF02E002E0FF -S31508005B60002000E0002005B0BDE8F08F2DE9F04FD9 -S31508005B7085B004460F4615461E460023336003A922 -S31508005B80FEF78EFB002840F0C580607C002840F0B8 -S31508005B90C280237C13F0020F08BF072000F0BB80E9 -S31508005BA06369DD4228BFDD43002D00F0AD8004F1B6 -S31508005BB0280301936369C3F30802002A40F0828030 -S31508005BC0039AB2F80AB00BF1FF3B1BEA532B1DD11F -S31508005BD033B9A06858B920460021FEF70BFE03E04A -S31508005BE02046A169FEF706FE002800F08D800128F0 -S31508005BF002D1022060748EE0B0F1FF3F02D101208D -S31508005C00607488E0A061A36803B9A060237C13F0E0 -S31508005C10400F0ED0039B58780199E2690123FDF7DE -S31508005C2091FA10B10120607475E0237C23F04003DB -S31508005C302374DDF80C804046A169FEF7E9FA81462F -S31508005C4010B90220607466E0D9445FEA552A25D067 -S31508005C50B8F80A300AEB0B029A4288BFCBEB030A64 -S31508005C6098F8010039464A465346FDF76BFA10B1D3 -S31508005C70012060744FE0E369C9EB03018A450AD93C -S31508005C80019807EB41214FF40072FEF7B7FA237C1F -S31508005C9023F0400323744FEA4A2A25E0E3694B457B -S31508005CA00ED06269E3689A420AD298F8010001990F -S31508005CB04A460123FDF70EFA10B1012060742AE066 -S31508005CC0C4F81C906069C0F30800C0F5007A554511 -S31508005CD038BFAA462830204439465246FEF78EFA7F -S31508005CE0237C43F040032374574463695344636138 -S31508005CF0E2689A422CBFE260E3603368534433603B -S31508005D00B5EB0A057FF456AF237C43F020032374D2 -S31508005D10002000E0FFE705B0BDE8F08F70B582B05F -S31508005D2004460E460A2902D10D21FFF7F7FF6368DC -S31508005D30002B14DB5D1C23441E733C2D0BDD214612 -S31508005D4051F80C0B2A4601ABFFF710FF019BED1A21 -S31508005D5018BF6FF000056560A3680133A36002B041 -S31508005D6070BD00BF30B583B0044601A9FEF798FAA6 -S31508005D70002840D1237C13F0200F08BF00203DD017 -S31508005D8013F0400F0CD0019B587804F12801E26902 -S31508005D900123FDF7D7F978BB237C23F0400323744E -S31508005DA00198216AFEF7CCFA40BB656AEB7A43F0A4 -S31508005DB02003EB7220682946A268FEF7CFFBE3684A -S31508005DC02B771A0A6A771A0CAA771B0EEB77002329 -S31508005DD0AB75EB7561222A7648226A76AB74EB744A -S31508005DE00122019BDA700198FEF7C8FA237C23F09A -S31508005DF02003237402E001E00120FFE703B030BD71 -S31508005E0010B582B00446FFF7ADFF034638B9204601 -S31508005E1001A9FEF745FA034608B90022226018468A -S31508005E2002B010BD70B582B004460D4601A9FEF752 -S31508005E3037FA002840F0AB80607C002840F0A88044 -S31508005E40E368AB4206D2227C02F00202D2B2002AF2 -S31508005E5008BF1D466269002363610020002D00F01B -S31508005E609780019B5E8976026AB1013A691EB1FB89 -S31508005E70F6F1B2FBF6F3994205D373421A40626112 -S31508005E80AD1AA16912E0A16879B92046FEF7B2FCFD -S31508005E900146012804BF0220607479D0B1F1FF3FA2 -S31508005EA004BF0120607473D0A160A161002937D0B6 -S31508005EB0B54225D9227C12F0020F05D02046FEF7FE -S31508005EC099FC014620B91AE02046FEF7CDFB0146AB -S31508005ED0B1F1FF3F02D10120607459E0012903D9CD -S31508005EE0019A5269914202D30220607450E0A1617E -S31508005EF0626932446261AD1BAE42DBD300E03546CF -S31508005F0062692A446261C5F308025AB10198FEF72C -S31508005F107FF910B9022060743AE000EB552502E0DB -S31508005F20002500E000256369C3F3080313B3E2699B -S31508005F30AA421FD0237C13F0400F0ED0019B58783D -S31508005F4004F128010123FDF7FDF810B10120607462 -S31508005F501EE0237C23F040032374019B587804F148 -S31508005F6028012A460123FDF7B5F810B1012060740F -S31508005F700EE0E5616369E268934298BF002007D99D -S31508005F80E360237C43F020032374002000E0FFE74E -S31508005F9002B070BD30B591B010AB43F83C0D0D465C -S31508005FA0184605A90022FFF737F80446C8B902AB18 -S31508005FB00D9340F21043C2F200030F9305A801990E -S31508005FC0FFF76CFA044660B90D9B93F90B30002B6A -S31508005FD0B8BF062405DB25B105A82946FEF7CAFA87 -S31508005FE0FFE7204611B030BD70B59CB01CAB43F836 -S31508005FF06C0D184605A90222FFF70EF8059B1193AA -S315080060000346002851D102AB199340F21043C2F25D -S3150800601000031B9311A80199FFF740FA03460028CD -S3150800602043D1199B93F90B30002BB8BF06233CDBF1 -S315080060309DF84A4014F0010F18BF072335D11CE01C -S315080060400696089506A80021FEF77AFB034660BB6C -S3150800605006A80021FFF766F9034628B3042815D0D9 -S3150800606023E011A829460022FEF730FC0346E3B9CF -S315080060700598FEF783F9034617E0059E30461899FA -S31508006080FFF7FCF9054614F0100FD9D111A8FEF751 -S31508006090FDFC0346D0F1010038BF0020002D08BFE3 -S315080060A000200028E3D0DCE7072318461CB070BDA3 -S315080060B02DE9F04383B081469046054600244E1EDE -S315080060C0012711E0404601A93A466B46FFF790FCC6 -S315080060D0009B012B0AD19DF804300D2B04D005F83E -S315080060E0013B01340A2B01D0A642EBDC00232B70BE -S315080060F09C4214BF4846184603B0BDE8F08300BF6B -S3150800610010B594B00191002302930393017839B135 -S31508006110044601A8FFF702FE14F8011F0029F8D16A -S31508006120029A002A0BDB019804A96B46FFF71EFDAD -S3150800613040B9009B029A9A4207D1039807E04FF0AC -S31508006140FF3004E04FF0FF3001E04FF0FF3014B0AD -S3150800615010BD00BF7F2821D941B9C7281EBF49F6FF -S315080061608422C0F6000201230AD112E0FF2814D8BF -S31508006170803849F68423C0F6000333F810007047C8 -S3150800618032F8021F814205D001339BB2802BF7D12A -S3150800619000E000238033D8B270470020704700BF64 -S315080061A0F0B449F6C812C0F6000249F68433C0F6C0 -S315080061B00003B0F5805F38BF1A460432164632F837 -S315080061C0043CD3F1010138BF0021984238BF41F0A1 -S315080061D00101002935D132F8021C0C0AC9B25D1832 -S315080061E0A84228DA082C2CD8DFE804F005090F1293 -S315080061F015181B1E2100C71A36F8170021E0C31A06 -S3150800620003F00103C01A80B21BE0103880B218E010 -S31508006210203880B215E0303880B212E01A3880B2E1 -S315080062200FE0083080B20CE0503880B209E0A0F5E3 -S31508006230E35080B205E00432002CBFD106EB4102E0 -S31508006240BBE7F0BC704700BF30B4013A8D18A942CD -S3150800625014D20B461C785A7802EB042292B21044E8 -S3150800626080B2824284BF013080B202339D42F1D8A7 -S31508006270CB432B4423F0010302331944A94207D127 -S315080062800B781B02184480B2834284BF013080B267 -S3150800629030BC704738B542F62004C2F20004657C6B -S315080062A0143D237C05EB0325ADB2284480B204F1E6 -S315080062B01A010822FFF7C8FF04F122012A46FFF750 -S315080062C0C3FF034620B1000A40EA032080B238BD66 -S315080062D04FF6FF7038BD00BF70B4C4780C44E4B202 -S315080062E042F29873C2F20003DC700D0A82782A44DF -S315080062F0D2B29A7046785E700078187095420DD9B9 -S315080063000136F6B242F29873C2F200035E702EB9F5 -S3150800631042F29873C2F2000301301870C9B28C4277 -S3150800632017DA0132D2B242F29873C2F200039A70B7 -S315080063307AB942F29873C2F200035A780132D2B29D -S315080063405A7032B942F29873C2F200031A780132CF -S315080063501A7070BC704700BF10B5014642F2A474AB -S31508006360C2F2000420680830FFF7B6FF226842F23E -S315080063709873C2F200031978117259785172997894 -S315080063809172DB78D37210BD08B500200649142235 -S31508006390FFF75AFF034620B1000A40EA032080B2FD -S315080063A008BD4FF6FF7008BD2E28002008B5062048 -S315080063B0FFF770FF08BD00BF42F61003C2F20003E4 -S315080063C000221A8042F2A873C2F200035A7640F2FB -S315080063D02C63C2F2000301221A7040F22063C2F253 -S315080063E000034FF480621A80704700BF40F22C63A6 -S315080063F0C2F2000300221A7042F61003C2F200032A -S315080064001B882BB942F61003C2F2000318807047A6 -S3150800641040F22C63C2F2000301221A70704700BFD3 -S3150800642038B542F2A473C2F200031C6842F2A073A4 -S31508006430C2F20003A54A1A6042F29473C2F200033C -S315080064401A60032813D1637E03F00F03032B40F071 -S315080064505B87238A002B40F0578742F29C73C2F26F -S31508006460000308221A7001F07DFB00F097BD022890 -S3150800647040F09E8040F21C63C2F20003DA780132D3 -S31508006480D2B2DA70C2B940F21C63C2F200039A783B -S315080064900132D2B29A707AB940F21C63C2F2000392 -S315080064A05A780132D2B25A7032B940F21C63C2F23B -S315080064B000031A7801321A7042F29073C2F200038E -S315080064C000221A8042F66263C2F200031A80637ED3 -S315080064D003F0FD02052A09D1A37E0133DBB2A376B8 -S315080064E0782B04BF0023637600F00EBF002B00F064 -S315080064F00B87228A002A4CD0A27E511EA176002A3A -S3150800650040F00287E27E082A05D0591EC9B2012941 -S3150800651014D8052A12D10023637642F29C73C2F27C -S31508006520000380221A7001F01DFB42F62003C2F216 -S315080065300003142283F82F2000F063BE042A9DBFAF -S3150800654003219140C9B23021A1760132E27603F0E7 -S315080065500F03013B072B00F2D786DFE813F05D0235 -S3150800656008001000AC04D506AC04D506AC0442F607 -S315080065702003C2F20003002283F82F2053E242F2DE -S315080065809C73C2F2000304221A7001F0EBFA00F0C1 -S3150800659056BD03F00F03032B40F0B68642F29C73F8 -S315080065A0C2F2000308221A7001F0DCFA00F0F6BC09 -S315080065B042F62003C2F200039B7B452B40F0A486DB -S315080065C042F62003C2F20003197C5A7C02EB012032 -S315080065D042F29073C2F200031B88984200F3948635 -S315080065E084B242F29073C2F200031C8042F6200382 -S315080065F0C2F200031B7D13F03F0F40F0858642F67A -S315080066002003C2F200035B7D002B40F07D8642F634 -S315080066101C03C2F200031D882DB942F61C03C2F200 -S3150800662000035B88A3B142F62003C2F20003DB8BAA -S31508006630AB4240F0698642F62002C2F2000242F6F8 -S315080066401C03C2F20003128C5B889A4240F05C86F7 -S31508006650FFF79AFE4FF6FF73984240F0558642F6CA -S315080066602003C2F20003DB7D062B31D0012B40F05C -S315080066704B8642F62003C2F2000393F82230082B19 -S3150800668040F0428642F62003C2F20003002283F855 -S3150800669022209A8C4FF6F6739A4242F62003C2F2EB -S315080066A000038CBF093208329A8442F62003C2F2EC -S315080066B000035A8BDA839A8B1A845D8342F61C028E -S315080066C0C2F2000252889A8300F017BE56280020AC -S315080066D0FFF76CFE4FF6FF73984240F0158642F2BC -S315080066E0A873C2F20003597E81B342F62002C2F2B1 -S315080066F0000242F2A873C2F20003928C9B889A4267 -S3150800670024D142F62002C2F2000242F2A873C2F273 -S315080067100003528CDB889A4218D142F62002C2F254 -S31508006720000242F2A873C2F20003528B1B889A42F7 -S315080067300CD142F62002C2F2000242F2A873C2F25B -S315080067400003928B5B889A4200F08D8142F6200303 -S31508006750C2F2000393F82F3003F03F03022B1CD13B -S3150800676042F62003C2F200039A8C40F21863C2F282 -S3150800677000031A8040F22C63C2F20003002119704C -S3150800678042F61003C2F200031B8893427BD040F204 -S315080067902C63C2F2000301221A7042F62003C2F2E9 -S315080067A0000393F82F3013F0040F40F0AD8542F63E -S315080067B02003C2F20003142283F82F2042F29072BB -S315080067C0C2F2000228211180502283F82E2093F865 -S315080067D0295093F82D2083F8292093F8284093F818 -S315080067E02C2083F8282083F82C4093F8270093F868 -S315080067F02B2083F8272083F82B0093F8262040F2D5 -S315080068002C61C2F200010A7093F82A1083F8261048 -S3150800681083F82A20691CC9B283F82D10C1B9611CF6 -S31508006820C9B242F62003C2F2000383F82C1079B9E4 -S31508006830411CC9B242F62003C2F2000383F82B10AA -S3150800684031B942F62003C2F20003013283F82A2046 -S3150800685042F62003C2F20003598C40F21862C2F2D3 -S31508006860000211809A8C5A8499845A8BDA839A8BFF -S315080068701A8442F61C02C2F2000211885983528811 -S315080068809A8300F00DBD42F2A873C2F200035B7E44 -S3150800689023B1072B40F04C8500F042BD42F2A471AB -S315080068A0C2F2000142F2A873C2F200030B60032190 -S315080068B099761976002199750420D875D9769A8023 -S315080068C042F62004C2F20004628CDA80628B1A80D7 -S315080068D0A28B5A800120587640F21C62C2F200024E -S315080068E0117819735178597391789973D278DA7344 -S315080068F0188294F82920DA7294F828209A7294F863 -S3150800690027205A7294F826201A72FFF725FD94F864 -S315080069102E3003F0F002502A7ADD1B095C1FA40012 -S3150800692040F22D63C2F200031A78002342F62001D2 -S31508006930C2F200015AE0CA1892F8362072B940F23B -S315080069402C61C2F200010B7040F22D63C2F2000303 -S315080069501A7042F2A874C2F200045DE0012A02D15C -S315080069600133DBB242E0022A2BD10D1895F83750D5 -S31508006970042D26D140F22C62C2F20002137040F2B6 -S315080069802D63C2F2000302221A7042F62003C2F2F5 -S315080069900003034493F8382093F8393043EA022277 -S315080069A040F21863C2F200031A8040F20A639A4260 -S315080069B038BF134642F2A874C2F200046382A38267 -S315080069C02AE0084490F8370070B940F22C61C2F208 -S315080069D000010B7040F22D63C2F200031A7042F2F6 -S315080069E0A874C2F2000417E00344DBB21846A342B7 -S315080069F0A1DB40F22C61C2F200010B7040F22D635C -S31508006A00C2F200031A7042F2A874C2F2000403E04C -S31508006A1042F2A874C2F2000442F62003C2F200034E -S31508006A20102283F82F2042F62003C2F2000393F8BF -S31508006A302F2042F0020283F82F20022283F8362004 -S31508006A40042283F83720062283F838200A2283F89E -S31508006A50392042F29072C2F200022C211180602283 -S31508006A6083F82E20DAE342F2A473C2F2000342F25C -S31508006A70A872C2F200021A6042F29C73C2F20003C4 -S31508006A8000221A7042F62003C2F2000393F82F3050 -S31508006A9013F0040F0ED042F2A873C2F200035A761E -S31508006AA042F29C73C2F2000320221A7001F05AF8CF -S31508006AB000F02ABC42F62002C2F2000292F82E002A -S31508006AC00009800040F22C62C2F200021070143CE9 -S31508006AD0201A80B242F29072C2F20002108001F0CF -S31508006AE00F01022903D103F03F02122A1DD010B963 -S31508006AF013F0030F19D042F62001C2F2000142F248 -S31508006B00A872C2F20002C98C1289914240F06E83C3 -S31508006B1042F62001C2F2000142F2A872C2F2000255 -S31508006B20098D5289914240F0618313F0100F77D096 -S31508006B3042F2A873C2F20003198A002970D003F141 -S31508006B400C00FFF7C9FB42F62003C2F2000393F8D4 -S31508006B502A4042F29873C2F200031B78A3425FD11F -S31508006B6042F62003C2F2000393F82B0042F2987310 -S31508006B70C2F200035B78834252D142F62003C2F286 -S31508006B80000393F82C1042F29873C2F200039B7824 -S31508006B908B4245D142F62003C2F2000393F82D201A -S31508006BA042F29873C2F20003DB78934238D142F27C -S31508006BB0A873C2F200031C7358739973DA73DB7EE9 -S31508006BC003BB42F2A873C2F20003987D197E9A7E2F -S31508006BD0891AA1EBD001C9B2CAB20844C0B29875E5 -S31508006BE012F0800F1CBF4A42D2B242F2A873C2F218 -S31508006BF00003D97DA1EB91010A44D2B2DA7502EB02 -S31508006C00D0021A7642F29C73C2F2000301221A706D -S31508006C1042F2A873C2F200031A7E9A7600221A82FA -S31508006C2042F2A873C2F200035A7E02F00F03013B38 -S31508006C30072B00F26983DFE813F008003A00040125 -S31508006C4051029B02C702D902390242F29C73C2F270 -S31508006C5000031B7813F0010F00F0568342F2A87365 -S31508006C60C2F2000303225A7642F29C72C2F2000272 -S31508006C704021117000221A8242F29073C2F2000378 -S31508006C80188838B142F29C73C2F2000342221A7085 -S31508006C90FFF762FB42F66263C2F2000300221A8023 -S31508006CA000F060FF42F2A874C2F2000476E142F2F4 -S31508006CB09C73C2F200031B7813F0010F00F0B18039 -S31508006CC042F62003C2F2000393F82F3003F03F0385 -S31508006CD0122B40F0A68042F62003C2F2000393F876 -S31508006CE02E3003F0F002502A6DDD1B095C1FA4004C -S31508006CF040F22D63C2F200031A78002342F62001FF -S31508006D00C2F2000152E0CA1892F8362052B940F28F -S31508006D102C61C2F200010B7040F22D63C2F200032F -S31508006D201A7050E0012A02D10133DBB23EE0022A92 -S31508006D302BD10D1895F83750042D26D140F22C6228 -S31508006D40C2F20002137040F22D63C2F2000302225F -S31508006D501A7042F62003C2F20003034493F838205F -S31508006D6093F8393043EA022240F21863C2F200036C -S31508006D701A8040F20A639A4228BF1A4642F2A8735A -S31508006D80C2F200035A829A821DE0084490F837003E -S31508006D9050B940F22C61C2F200010B7040F22D632B -S31508006DA0C2F200031A700EE00344DBB21846A3428F -S31508006DB0A9DB40F22C61C2F200010B7040F22D6390 -S31508006DC0C2F200031A7042F2A874C2F20004032346 -S31508006DD0637642F62003C2F2000393F82620227255 -S31508006DE093F82720627293F82820A27293F8293024 -S31508006DF0E3720120FFF7B0FA42F29C73C2F2000375 -S31508006E0042221A700022228242F29073C2F20003D2 -S31508006E101A8042F66263C2F200031A8000F0A2FEEC -S31508006E20BCE042F29C73C2F2000320221A7000F002 -S31508006E3099FE42F2A473C2F200031B6800225A7636 -S31508006E40ABE442F62003C2F2000393F82F3013F0A6 -S31508006E50010F38D012F0100F35D142F2A873C2F2E2 -S31508006E6000031B8A002B40F04F8242F29074C2F254 -S31508006E7000042088013080B2FFF76EFA42F29C7354 -S31508006E80C2F200031A7842F010011970238833B150 -S31508006E9042F29C73C2F2000342F012021A7000F02A -S31508006EA061FE42F2A874C2F2000401232382082379 -S31508006EB063760023E37642F62003C2F2000311222A -S31508006EC083F82F209DE113F0200F18D042F62003F7 -S31508006ED0C2F2000393F83400000293F8351042F228 -S31508006EE0A073C2F2000340EA01051C682C441C602A -S31508006EF042F29073C2F200031888411B198042F2CD -S31508006F009073C2F20003188860B112F0100F09D10D -S31508006F1042F29C73C2F200031A7842F002021A7017 -S31508006F20FFF71AFA42F62003C2F2000393F830205C -S31508006F3093F8313003EB02239BB240F21862C2F297 -S31508006F400002138042F2A872C2F20002928A9342A9 -S31508006F5000D823B940F21863C2F200031A8042F23D -S31508006F60A873C2F2000340F21862C2F20002128845 -S31508006F705A8242F29C73C2F200031B7813F0030F85 -S31508006F8000F0C28142F66263C2F2000300221A8050 -S31508006F9000F0E8FD42F2A874C2F2000442F29C73C3 -S31508006FA0C2F200031B7813F0200F0ED042F662637C -S31508006FB0C2F2000300221A80627642F62003C2F269 -S31508006FC00003142283F82F201BE113F0100F12D0B0 -S31508006FD042F66263C2F2000300221A80012323826A -S31508006FE004236376E27642F62003C2F200031122F6 -S31508006FF083F82F2005E142F66262C2F20002128887 -S31508007000DAB113F0010F1CBF0023238201D1218AB4 -S3150800701071B9618A8A4282BF42F66263C2F200038C -S31508007020198042F66263C2F200031B88238204E0D9 -S3150800703042F66263C2F2000319800023E37642F245 -S31508007040A073C2F2000342F29472C2F200021268FE -S315080070501A6042F66263C2F200031B887BB1238A78 -S315080070606BB142F29072C2F200022833138042F6E4 -S315080070702003C2F20003182283F82F20C7E042F249 -S315080070809C73C2F200031B7813F0020F00F03C81D8 -S3150800709042F29073C2F2000328221A8042F62003B5 -S315080070A0C2F20003102283F82F20B0E042F29C734C -S315080070B0C2F200031B7813F0010F00F0258142F29B -S315080070C0A873C2F2000300225A7642F29C73C2F2F7 -S315080070D0000310221A7000F045FD15E142F2907384 -S315080070E0C2F20003188808B1FFF736F942F6200302 -S315080070F0C2F2000393F82F3013F0010F1FD042F2AB -S315080071009C73C2F200031B7813F0010F42F2A873B6 -S31508007110C2F200031FBF07225A7600229A7612BFD0 -S315080071201A8206225A760120FFF716F942F29C7354 -S31508007130C2F2000310221A7000F014FD56E042F263 -S315080071409C73C2F200031B7813F0010F08D042F2B9 -S31508007150A873C2F2000305225A7600221A82D3E0E7 -S3150800716042F29073C2F200031B88002B3ED1CBE09B -S3150800717042F29073C2F20003188808B1FFF7ECF8E0 -S3150800718042F62003C2F2000393F82F3013F0010FE2 -S3150800719013D042F2A873C2F2000307225A760022DD -S315080071A09A760120FFF7D8F842F29C73C2F20003E0 -S315080071B010221A7000F0D6FC18E042F29073C2F260 -S315080071C000031B8893B99FE042F29C73C2F2000346 -S315080071D01B7813F0010F00F0978042F2A873C2F2F1 -S315080071E0000307225A7600229A768DE042F620039B -S315080071F0C2F20003102283F82F2042F2A874C2F2CA -S31508007200000442F29073C2F2000328221A8042F662 -S315080072102003C2F20003502283F82E20227A42F677 -S315080072202003C2F2000383F82A20627A83F82B200F -S31508007230A27A83F82C20E27A83F82D20227B83F821 -S315080072402620627B83F82720A27B83F82820E27B0E -S3150800725083F829200622DA75A2885A84E2889A8455 -S3150800726042F61C02C2F200021188598352889A8398 -S315080072702288DA8362881A84637E13F0100F42F636 -S315080072802003C2F200031DBF002283F8312083F8D1 -S315080072903020062202BF83F830200A2283F83120E4 -S315080072A042F62004C2F200044023A37542F290730A -S315080072B0C2F200031B881A0A22746374002584F834 -S315080072C0355084F834506586FFF770F8C0436086F9 -S315080072D04523A373E5736575257540F21A63C2F2F3 -S315080072E000031A88013292B21A80130AA374E27450 -S315080072F02583FFF749F8C043208342F29C73C2F204 -S31508007300000300221A7038BD42F29073C2F20003DD -S3150800731000221A8042F29C73C2F200031A7038BD2A -S3150800732040F22C63C2F2000301211970FFF7B6BAC6 -S3150800733040F22C63C2F2000301221A70E4E700BF90 -S31508007340030A43EA002080B2704700BF10B504461E -S315080073500A1E0FDD42F66263C2F200031A8042F289 -S315080073609473C2F200031868844203D0214692B28D -S3150800737002F0E8F910BD00BF2DE9F00340F22E63D4 -S31508007380C2F200034FF0000C83F800C040F23065EB -S31508007390C2F200052B4601221F461C88CCB15E8826 -S315080073A0BEB1B0F80080A04513D14488B44210D1CC -S315080073B040F22E63C2F2000383F800C008687860C2 -S315080073C08B883B8140F29163C2F200031B78BB7243 -S315080073D05AE0541CE4B20C33092C02D094462246D7 -S315080073E0DAE72B4600221E461C884CB95C883CB955 -S315080073F040F22E63C2F200031A70082A36D104E05E -S315080074000132D2B20C33082AEDD1002340F2916240 -S31508007410C2F200021678B0461F4699465FFA83FC08 -S31508007420AA7AC2EB0804BC42C2BFC2EB0602E14616 -S31508007430D7B201330C35082BF0D140F22F63C2F2D4 -S3150800744000031F7040F29063C2F2000383F80090B5 -S3150800745040F22E63C2F2000383F8009040F23063D4 -S31508007460C2F2000309EB490903EB890602683346B1 -S3150800747043F8042B0A6872608A889A8040F29163FE -S31508007480C2F200031B78B372BDE8F003704700BF71 -S31508007490F0B440F29163C2F200031E780136F6B2E8 -S315080074A01E7040F23063C2F200030122002740F248 -S315080074B02E64C2F2000458881988014389B259B16A -S315080074C0997A711A772907DD194601F8017B5F70E9 -S315080074D0013101F8017B0F7022700132D2B20C33F0 -S315080074E0092AE8D1F0BC704738B542F29073C2F267 -S315080074F000031B88292B06D842F29073C2F20003B8 -S3150800750000221A8038BD42F29073C2F200030022AC -S315080075101A8042F62003C2F200039B8AB3F5807FE5 -S3150800752003D0B3F5007F59D038BD42F62002C2F227 -S31508007530000242F61C03C2F20003D28C1B889A4250 -S3150800754069D142F62002C2F2000242F61C03C2F2D8 -S315080075500003128D5B889A425DD12F4CA51F2046E9 -S315080075602946FFF709FFA4F11C03002204F8082C9A -S31508007570022204F8072C54F8062C626034F8022C10 -S31508007580228140F22462C2F20002106844F8060C16 -S31508007590928824F8022C44F8160C24F8122C6268F7 -S315080075A044F81C2C228924F8182C9A8B628162884C -S315080075B0A28142F61C02C2F20002118899835288FF -S315080075C06280082204F8102C062204F80F2C42F2D6 -S315080075D09073C2F200032A221A8038BD42F62002AE -S315080075E0C2F2000242F61C03C2F20003D28C1B88C8 -S315080075F09A4210D142F62002C2F2000242F61C0359 -S31508007600C2F20003128D5B889A4204D102490846E9 -S315080076100639FFF7B1FE38BD3C28002038B542F6DA -S315080076202003C2F20003D98B8AB24FF6FF739A423F -S3150800763015D142F62003C2F20003188C4FF6FF73E9 -S3150800764098420CD142F62003C2F2000349F678525A -S31508007650C0F600021068186092889A80ADE042F67B -S315080076601C03C2F200031B885A4042F61803C2F2F2 -S3150800767000031B881A4212D142F62003C2F2000305 -S315080076801A8C90B242F61C03C2F200035B8858407B -S3150800769042F61803C2F200035B8818420CD040F287 -S315080076A09463C2F2000342F61402C2F20002118881 -S315080076B0198052885A8005E040F29463C2F20003AA -S315080076C019805A8040F29463C2F2000318885D88D4 -S315080076D040F23063C2F2000300221C461988814238 -S315080076E00AD15988A94207D140F22E63C2F2000393 -S315080076F01A70082A58D109E00132D2B20C33082A86 -S31508007700EBD140F22E63C2F200031A7042F620044F -S31508007710C2F200042046FF21062202F067F8002381 -S3150800772084F8203084F8213084F8223084F8233015 -S3150800773084F8243084F8253040F22462C2F200022C -S315080077401168C4F8061092886281C4F8161062831C -S3150800775040F29462C2F200021188E18452882285BE -S3150800776042F61C02C2F200021188A1835288E28303 -S31508007770237501226275A373E27308222274637467 -S315080077800623A3740423E37422730623637342F265 -S31508007790A073C2F2000336341C6042F29073C2F240 -S315080077A000032A221A8038BD42F62003C2F20003DB -S315080077B054F8040F1860A2889A8042F62003C2F291 -S315080077C0000340F22462C2F200021168C3F80610F0 -S315080077D092885A8108221A7300225A7342F29073C9 -S315080077E0C2F200031A880E321A8038BD08B501F0B5 -S315080077F0EDF900F019FC01F02DFF01F00DFF00F086 -S3150800780097FC00F00FF800F0FDFB08BD08B500F086 -S315080078100DFC01F03BFF00F0CDFD00F01BF800F079 -S31508007820C9FB08BD10B500F0E1F901F077F840F2A0 -S31508007830E404C2F200040123237001F00BFC0023C8 -S31508007840237001F041FD0223237000F0A9F80323F9 -S31508007850237010BD08B540F29860C2F2000001F02E -S3150800786065F901280BD140F2E403C2F200030122B4 -S315080078701A7040F29860C2F2000000F0D7F940F2A0 -S315080078809860C2F2000001F039FC01280BD140F2E1 -S31508007890E403C2F2000300221A7040F29860C2F2B2 -S315080078A0000000F0C3F940F29860C2F2000001F04F -S315080078B0C1FD01280BD140F2E403C2F20003022203 -S315080078C01A7040F29860C2F2000000F0AFF940F278 -S315080078D09860C2F2000000F0BFF801280BD140F210 -S315080078E0E403C2F2000303221A7040F29860C2F25F -S315080078F0000000F09BF908BD08B501F051FD08BD70 -S3150800790038B505460C4640F2E403C2F200031B787C -S31508007910012B02D1C9B201F0B5F840F2E403C2F274 -S3150800792000031B781BB92846E1B201F0B3FB40F20D -S31508007930E403C2F200031B78022B03D12846E1B206 -S3150800794001F03AFD40F2E403C2F200031B78032B70 -S3150800795003D12846E1B200F05DF800F05FF938BDC2 -S3150800796040F2E403C2F200031878012804D0022882 -S315080079700CBF3F20402070470820704740F2E403C0 -S31508007980C2F200031878012804D002280CBF3F2051 -S31508007990402070470820704708B500F035F908BD43 -S315080079A008B5FBF7DFFE01F083FE40F2DC63C2F2A6 -S315080079B0000300F5FA70186001F07AFE40F2D86309 -S315080079C0C2F2000300F51C5010301860FEF7F4FCF4 -S315080079D042F61C03C2F200034FF6A9621A8043F668 -S315080079E01371598042F61803C2F200034FF6FF716D -S315080079F019800021598042F61403C2F200031A8046 -S31508007A0040F213125A804EF60300FEF7EFFCFBF71E -S31508007A10BDFF08BDF8B542F2A473C2F200031F68A1 -S31508007A20FB693B628E4659B14E1EB6B2013600233B -S31508007A3007F11C05C45CEA1814720133B342F9D184 -S31508007A400EF10401A7F8641007F12000FFF77EFC89 -S31508007A50FB690133FB61F8BD10B5FBF7A9FF0028E8 -S31508007A603ED042F29072C2F20002108042F6200323 -S31508007A70C2F200039C894FF40060FFF761FC844260 -S31508007A8013D10120FEF7CCFC42F29073C2F2000338 -S31508007A901B882BB3FFF7C2FDFBF7B2FF42F29073C8 -S31508007AA0C2F2000300221A801AE042F62003C2F24C -S31508007AB000039C8940F60600FFF742FC84420FD17A -S31508007AC0FFF712FD42F29073C2F200031B883BB126 -S31508007AD0FBF796FF42F29073C2F2000300221A8067 -S31508007AE001F0E6FD40F2DC63C2F200031B6898422F -S31508007AF022D340F2DC62C2F2000203F5FA73136085 -S31508007B0042F2A473C2F2000342F2A872C2F2000261 -S31508007B101A600220FEF784FC42F29073C2F2000358 -S31508007B201B884BB1FFF77AFDFBF76AFF42F29073A9 -S31508007B30C2F2000300221A8001F0BAFD40F2D863AF -S31508007B40C2F200031B68984209D340F2D862C2F217 -S31508007B50000203F51C5310331360FFF799FC00204D -S31508007B6010BD00BF10B542F2A473C2F200031C6830 -S31508007B7042F29C73C2F200031B7813F0400F05D043 -S31508007B800123E3610023A4F8643010BD13F0010F4C -S31508007B901CBF0022A4F8642013F0040F06D0B4F822 -S31508007BA0641019B104F12000FFF7D0FB42F29C7370 -S31508007BB0C2F200031B7813F0020F0AD00023A4F8C0 -S31508007BC0643042F2A073C2F200031868043000F071 -S31508007BD02DF810BD40F2E063C2F20003FE22DA700F -S31508007BE018710222A3F84420704700BF40F2E063F0 -S31508007BF0C2F2000300221A709A6483F84320A3F89D -S31508007C0044209A705A70704740F2E063C2F200034B -S31508007C101878003018BF0120704700BF40F2E063B3 -S31508007C20C2F20003002283F84320704738B50446A1 -S31508007C300178FF2925D100F095FA18B91020FFF729 -S31508007C40C9FF98E140F2E064C2F2000400236370C1 -S31508007C5001252570FF22E270102222716371FFF759 -S31508007C607FFEA071FFF78AFEE071FFF787FE000A24 -S31508007C7020726572A5720823A4F8443001F0CCFC82 -S31508007C8079E140F2E063C2F200031B78012B40F071 -S31508007C909081C939352900F26B81DFE811F0DB00E4 -S31508007CA0690169016501690169015901FC0042011F -S31508007CB02F016901690169016901690169016901A0 -S31508007CC06901690169016901690169016901690156 -S31508007CD06901690169016901690169016901690146 -S31508007CE06901690169016901690169016901690136 -S31508007CF069017F0054003600730069016901690152 -S31508007D00A1006901B900BD00CE004578FFF728FE3D -S31508007D100138854203DD2220FFF75CFF2BE140F2A4 -S31508007D20E065C2F20005281DA96C627800F070FFB4 -S31508007D30FF23EB706278AB6C1344AB646378013352 -S31508007D40A5F8443017E14578FFF70AFE0138854261 -S31508007D5003DD2220FFF73EFF0DE1616840F2E06592 -S31508007D60C2F20005A964281D627800F051FFFF23BE -S31508007D70EB706278AB6C1344AB6463780133A5F897 -S31508007D804430F8E040F2E063C2F20003FF22DA7002 -S31508007D9042689A640122A3F84420ECE040F2E063CA -S31508007DA0C2F20003FF22DA709B6C406840B11844A7 -S31508007DB0002213F8011B0A44D2B28342F9D100E02B -S31508007DC0002240F2E063C2F20003C3F80720012252 -S31508007DD01A7100225A719A710822A3F84420CAE03F -S31508007DE040F2E063C2F20003FF22DA7049F68052DD -S31508007DF0C0F600029A6400221A715A719A71072114 -S31508007E00D9711A725A729A720822A3F84420B2E0FB -S31508007E100020FFF7DFFEAEE040F2E063C2F20003A7 -S31508007E20FF22DA7000221A71597859719A71DA713B -S31508007E301A720622A3F844209DE040F2E063C2F2DB -S31508007E40000300221A705A70FF22DA700122A3F882 -S31508007E50442090E040F2E063C2F200039D6CFFF715 -S31508007E607FFD411E2846621C01F0DAFB18B9312055 -S31508007E70FFF7B0FE7FE040F2E064C2F20004FF23A1 -S31508007E80E370A56CFFF76CFD013D2844A06401234F -S31508007E90A4F844306FE04578FFF762FD0238854262 -S31508007EA003DD2220FFF796FE65E040F2E063C2F2AA -S31508007EB00003FF22DA700122A3F84420617839B959 -S31508007EC001F0BEFB002856D13120FFF783FE52E0B1 -S31508007ED040F2E063C2F20003986CA21C01F0A0FB1A -S31508007EE018B93120FFF776FE45E040F2E063C2F2AA -S31508007EF0000361789A6C0A449A643CE040F2E064B4 -S31508007F00C2F20004FF23E370002525716571FFF7AF -S31508007F1027FDA071E571257265720723A4F8443020 -S31508007F2029E040F2E063C2F20003986C616801F050 -S31508007F307BFB18B93120FFF74DFE1CE040F2E063E9 -S31508007F40C2F20003FF22DA700122A3F8442012E0ED -S31508007F5000F040FE40F2E063C2F20003FF22DA704E -S31508007F600122A3F8442006E03120FFF733FE02E0A1 -S31508007F702020FFF72FFE40F2E063C2F2000393F8D9 -S31508007F804330012B02D11020FFF724FE40F2E063B4 -S31508007F90C2F20003B3F844100BB2002B09DD40F21D -S31508007FA0E060C2F20000012380F843300330FFF797 -S31508007FB0A7FC38BD08B5FFF7EFFC012820D000F074 -S31508007FC0D1F8E8B140F22C73C2F200031B78012BFA -S31508007FD016D101F06DFB40F23073C2F200031B6844 -S31508007FE003F51C53103398420AD340F22C73C2F29D -S31508007FF0000300221A7000F0BFF808B900F0EAFD85 -S3150800800008BD00BF08B540F22C73C2F20003012276 -S315080080101A7001F04DFB40F23073C2F2000318608B -S31508008020FFF7C8FF08BD00BF704700BF704700BF15 -S3150800803000F00F03092802D903F13700704703F14E -S31508008040300040F2E803C2F200031B6803445B7881 -S3150800805003F00303022B08BF2038C0B2704700BFE5 -S3150800806038B505460C460009FFF7E2FF207005F013 -S315080080700F00FFF7DDFF60700023A370204638BDB0 -S3150800808030B4024603464CF6CD40CCF6CC4001311E -S31508008090A0FB0343DB08FAD1002301F801394CF6AB -S315080080A0CD45CCF6CC450846A5FB0243DB0803EBD9 -S315080080B08304A2EB4402303201F801291A46002B48 -S315080080C0F1D130BC704700BFF0B440F2E803C2F209 -S315080080D000031F6800231C46C15C7A18527802F018 -S315080080E00302022A08BF2039C9B2A1F13002D2B26E -S315080080F0A1F13A05EDB2162A94BF00260126062DEF -S315080081008CBF354646F0010565B9092A84BFA1F139 -S315080081103702D2B22401E4B22244D4B20133022B8C -S31508008120DAD101E0002000E02046F0BC704700BF2D -S3150800813008B540F27473C2F2000300221A7040F2C6 -S315080081408070C2F2000049F68851C0F60001FDF7BA -S315080081504FFB30B149F68C50C0F60000772100F08D -S31508008160D9FB08BD40F27473C2F200031878D0F147 -S31508008170010038BF0020704708B5FFF70DFC01283D -S315080081800FD040F27473C2F200031B785BB9F8F79C -S315080081900DF8012809D140F27473C2F20003187071 -S315080081A008BD002008BD002008BD002008BD00BF8E -S315080081B0027840F2E803C2F200031B68991849786E -S315080081C001F00301022908BF203A532A0ED140784C -S315080081D003445B7813F0040F0AD031280AD03228FA -S315080081E00AD0332814BF03200220704703207047A3 -S315080081F003207047002070470120704770B5044679 -S315080082000230FFF761FF0646054604342046FFF7AD -S315080082105BFF3044C6B2013DADB20234012DF5D83C -S315080082202046FFF751FFF643F6B2864214BF0020F8 -S31508008230012070BD2DE9F04115460F460446002978 -S3150800824018BF002807D149F68C50C0F6000040F246 -S31508008250612100F05FFB2046FFF7AAFF06460328C8 -S3150800826008BF002000F0A2802046FFF7C7FF0028BD -S3150800827000F08C80012E29D016B1022E53D088E04A -S31508008280A01CFFF721FF8046201DFFF71DFF0602F1 -S315080082903E60A01DFFF718FF3044386004F1080659 -S315080082A0A8F103081FFA88F84046002D7ED00FFA79 -S315080082B088F7002F6FDD00243046FFF705FF2855A5 -S315080082C002360134A4B2BC42F6DB66E0A01CFFF716 -S315080082D0FBFE8046201DFFF7F7FE06043E60A01D44 -S315080082E0FFF7F2FE06EB00263E6004F10800FFF7F2 -S315080082F0EBFE3044386004F10A06A8F104081FFAB8 -S3150800830088F84046002D51D00FFA88F7002F46DD31 -S3150800831000243046FFF7D8FE285502360134A4B2A9 -S31508008320BC42F6DB3DE0A01CFFF7CEFE8046201DD2 -S31508008330FFF7CAFE06063E60A01DFFF7C5FE06EB60 -S3150800834000463E6004F10800FFF7BEFE06EB002675 -S315080083503E6004F10A00FFF7B7FE3044386004F1C6 -S315080083600C06A8F105081FFA88F84046F5B10FFA79 -S3150800837088F7002F17DD00243046FFF7A5FE28559D -S3150800838002360134A4B2BC42F6DB0EE04FF6FF70AB -S315080083900CE000200AE0404608E0404606E0404679 -S315080083A004E0404602E0404600E0404600B2BDE830 -S315080083B0F08100BFF8B540F27473C2F200031B786F -S315080083C0002B00F0A382012B41D101F025F9F7F724 -S315080083D013FF49F6A450C0F60000F7F75FFF49F609 -S315080083E0C850C0F60000F7F759FFF7F7FFFE014639 -S315080083F0CF480122FDF73AFA48B149F6F050C0F6DF -S315080084000000F7F74BFF0120F7F738FFF8BD49F6EC -S31508008410F850C0F60000F7F741FF49F60060C0F6CD -S315080084200000F7F73BFF49F62460C0F60000F7F7AF -S3150800843035FF40F27873C2F2000300221A605A60D0 -S3150800844040F27473C2F2000302221A70F8BD022BBE -S3150800845040F0708140F28074C2F2000440F6D830D1 -S31508008460C2F200004FF4807104F50C72FDF720FE8D -S3150800847094F841329BB149F6F050C0F60000F7F780 -S315080084800DFF0220F7F7FAFE04F50C70FDF7B8FCAD -S3150800849040F27473C2F2000300221A70F8BD002875 -S315080084A000F0B98040F6D831C2F20001084601F55D -S315080084B0C0710022FFF7BEFE0446B0F1FF3F12D19D -S315080084C049F6F050C0F60000F7F7E8FE0320F7F784 -S315080084D0D5FE9748FDF794FC40F27473C2F2000388 -S315080084E000221A70F8BD002840F3958040F2787390 -S315080084F0C2F200035B6863B940F27873C2F2000304 -S3150800850040F6D832C2F20002D2F880211A605860CA -S3150800851081E040F6D832C2F2000240F27871C2F227 -S31508008520000109681944D2F880218A4206D140F22E -S315080085307872C2F20002034453606CE049F6F850C0 -S31508008540C0F60000F7F7AAFE49F65460C0F6000028 -S31508008550F7F7A4FE40F27876C2F2000640F23475C8 -S31508008560C2F2000570682946FFF78AFD2846F7F724 -S3150800857095FE49F66060C0F60000F7F78FFE37688B -S31508008580380E2946FFF76CFDC7F30740A91CFFF70D -S3150800859067FDC7F30720291DFFF762FDF8B2A91D7D -S315080085A0FFF75EFD2846F7F779FE49F60470C0F630 -S315080085B00000F7F773FE3068716801F035F890B976 -S315080085C049F6F050C0F60000F7F768FE0520F7F701 -S315080085D055FE5748FDF714FC40F27473C2F20003C7 -S315080085E000221A70F8BD49F6F850C0F60000F7F7F1 -S315080085F055FE49F62460C0F60000F7F74FFE40F234 -S315080086007873C2F2000340F6D832C2F20002D2F8FA -S3150800861080211A605C6040F28073C2F20003D3F8CE -S315080086204422D3F83C329A4240F0708140480021F7 -S31508008630FDF7F8FB90B149F6F050C0F60000F7F7E1 -S315080086402DFE0420F7F71AFE3948FDF7D9FB40F24C -S315080086507473C2F2000300221A70F8BD40F27873F0 -S31508008660C2F200035B68002B54D049F6F850C0F6F6 -S315080086700000F7F713FE49F65460C0F60000F7F756 -S315080086800DFE40F27875C2F2000540F23474C2F26B -S31508008690000468682146FFF7F3FC2046F7F7FEFD5D -S315080086A049F66060C0F60000F7F7F8FD2E68300E50 -S315080086B02146FFF7D5FCC6F30740A11CFFF7D0FCFF -S315080086C0C6F30720211DFFF7CBFCF0B2A11DFFF76B -S315080086D0C7FC2046F7F7E2FD49F60470C0F600002D -S315080086E0F7F7DCFD2868696800F09EFF90B949F63F -S315080086F0F050C0F60000F7F7D1FD0520F7F7BEFDEC -S315080087000B48FDF77DFB40F27473C2F200030022AA -S315080087101A70F8BD49F6F850C0F60000F7F7BEFD26 -S3150800872040F27473C2F2000303221A70F8BD00BF48 -S31508008730B0090020032B40F0E98040F28074C2F2B1 -S31508008740000440F6D830C2F200004FF4807104F5F8 -S315080087500C72FDF7ADFC94F841329BB149F67C608A -S31508008760C0F60000F7F79AFD0220F7F787FD04F533 -S315080087700C70FDF745FB40F27473C2F20003002249 -S315080087801A70F8BD00287CD040F6D832C2F2000232 -S31508008790104602F5C07102F58072FFF74BFD0646DA -S315080087A0B0F1FF3F12D149F6A060C0F60000F7F716 -S315080087B075FD0320F7F762FD5548FDF721FB40F2EA -S315080087C07473C2F2000300221A70F8BD002858DD3F -S315080087D049F6C460C0F60000F7F760FD40F234744D -S315080087E0C2F2000430462146FFF74AFC2046F7F756 -S315080087F055FD49F6D460C0F60000F7F74FFD40F680 -S31508008800D835C2F2000595F883012146FFF728FC02 -S3150800881095F88201A11CFFF723FC95F88101211D1B -S31508008820FFF71EFC95F88001A11DFFF719FC2046ED -S31508008830F7F734FD49F60470C0F60000F7F72EFD89 -S31508008840D5F88001314605F5807200F0E9FE90B949 -S3150800885049F6F050C0F60000F7F720FD0620F7F7B6 -S315080088600DFD2B48FDF7CCFA40F27473C2F20003F3 -S3150800887000221A70F8BD49F6F850C0F60000F7F75E -S315080088800DFD40F28073C2F20003D3F84422D3F8F8 -S315080088903C329A423AD149F6EC60C0F60000F7F746 -S315080088A0FDFC00F0CDFE90B949F6F050C0F6000088 -S315080088B0F7F7F4FC0720F7F7E1FC1548FDF7A0FAEF -S315080088C040F27473C2F2000300221A70F8BD49F62A -S315080088D0F850C0F60000F7F7E1FC49F60870C0F654 -S315080088E00000F7F7DBFC0A48FDF78AFA49F620701C -S315080088F0C0F60000F7F7D2FC40F27473C2F2000328 -S3150800890000221A70F7F790FC00F064F9F8BD00BF72 -S31508008910B009002008B5FFF789FBFCE72DE9F04709 -S31508008920002349F67470C0F600004FF4FA744AF250 -S31508008930104113F80080C21892F801C008EB0C0227 -S3150800894002FB044291FBF2F902FB191636B94D46B1 -S3150800895009F1FF3292B2B2F5806F03D30233242BAA -S31508008960E7D187E04746E2464FF4D043C4F2000316 -S3150800897000225A611A6842F400421A601B6813F40E -S31508008980004F09D04FF4D044C4F20004FFF74EFB61 -S31508008990236813F4004FF9D14FF4D043C4F200030F -S315080089A01A6822F002021A601A6842F001021A6076 -S315080089B05B6813F0010F09D14FF4D044C4F20004E8 -S315080089C0FFF734FB636813F0010FF9D0013F0AF192 -S315080089D0FF36360546EA0747013D3D434FF4D04387 -S315080089E0C4F20003DD611A6822F001021A605B68AE -S315080089F013F0010F09D04FF4D044C4F20004FFF776 -S31508008A0015FB636813F0010FF9D14FF4C843C4F29C -S31508008A100003D3F8002242F00102C3F80022D3F87B -S31508008A201C2222F48042C3F81C22D3F80C2242F4FA -S31508008A308042C3F80C220022C3F8B022C3F8B4223D -S31508008A40D3F8042222F48042C3F80422D3F814226D -S31508008A5022F48042C3F81422D3F81C2242F480423E -S31508008A60C3F81C22D3F8002222F00102C3F8002220 -S31508008A70BDE8F08749F64C70C0F60000EE21FFF716 -S31508008A8049FF71E738B504460D464FF4D043C4F2A2 -S31508008A9000039B6813F0806F07D149F64C70C0F647 -S31508008AA000004FF4A271FFF735FF4FF4D043C4F22C -S31508008AB00003D3F8802102F00102C3F88021D3F81D -S31508008AC0802142F07C4242F40012C3F88021C3F8A8 -S31508008AD08451E178A278120442EA016221780A43B5 -S31508008AE0617842EA0122C3F88821E179A279120461 -S31508008AF042EA016221790A43617942EA0122C3F80E -S31508008B008C21D3F8802142F00102C3F880219B68AA -S31508008B1013F0806F09D14FF4D044C4F20004FFF774 -S31508008B2085FAA36813F0806FF9D038BD4FF4D043A7 -S31508008B30C4F20003DB6813F0030F45D04FF4D043AB -S31508008B40C4F20003D3F8B03113F0040F4FF4D04346 -S31508008B50C4F20003D3F8B0210EBF520DD20842F07A -S31508008B60004240F267639A4218BF002023D14FF4AF -S31508008B70D043C4F20003D3F8B8210270D3F8B82161 -S31508008B80120A4270D3F8B821120C8270D3F8B821B1 -S31508008B90120EC270D3F8BC210271D3F8BC21120A96 -S31508008BA04271D3F8BC21120C8271D3F8BC311B0E6A -S31508008BB0C3710120FFE74FF4D043C4F20003DA681B -S31508008BC042F02002DA6070470020704708B500F0CE -S31508008BD083FD08BD10B500F02BFDB8B1F7F7DAFA3A -S31508008BE0A0B1FEF789FE00F049FD00F025FD20F052 -S31508008BF0604020F07F024EF60853CEF200031A605A -S31508008C0000F01AFD446800F069FDA04710BD00BFDA -S31508008C1070B5561EB6B24AB14C1E0E44451A14F823 -S31508008C20013F2B55FFF702FAB442F8D170BD00BFD9 -S31508008C30F8B507460024254649F6C876C0F6000664 -S31508008C40FFF7F4F9A359BB420ED8311949680B440A -S31508008C509F4209D249F6C873C0F6000305EB4502E0 -S31508008C6003EB8203187AF8BD01350C346C2CE7D176 -S31508008C70FF20F8BD2DE9F84380460068FFF7D8FFC6 -S31508008C80FF2830D0FAF7ECFEF320FAF709FFFAF7D7 -S31508008C900DFF01281CBF002408F1040904D1FAF7C6 -S31508008CA0F5FE0020BDE8F883D8F80060A71959F842 -S31508008CB00450FFF7BBF938462946FAF775FF082826 -S31508008CC007D1A359AB4206D10434B4F5007FEBD1E2 -S31508008CD003E0002402E0002400E00124FAF7D6FEAF -S31508008CE02046BDE8F8830020BDE8F88338B5044679 -S31508008CF00D4640F65C53C2F20003984209D04FF481 -S31508008D004043C0F6000399420BD0FFF7B3FF20B9E2 -S31508008D1017E040F66074C2F20004C5F3080393B97D -S31508008D2003E040F65C54C2F2000423689D420CD06E -S31508008D30204640F8045B29464FF40072FFF768FFA7 -S31508008D4003E0002038BD002038BD204638BD00BFEE -S31508008D502DE9F04106460C4617461D464FEA5128AE -S31508008D604FEA48280368B3F1FF3F06D140F8048B61 -S31508008D7041464FF40072FFF74BFF3368434505D071 -S31508008D8030464146FFF7B2FF0646D0B13368E41ACB -S31508008D903444043408F50078FFF748F9331DE31A1C -S31508008DA0B3F5007F06D330464146FFF79FFF0646D8 -S31508008DB050B1041D17F8013B04F8013B013DEBD106 -S31508008DC005E00020BDE8F0810020BDE8F081012023 -S31508008DD0BDE8F08140F66073C2F200034FF0FF323F -S31508008DE01A6040F65C53C2F200031A60704700BF6F -S31508008DF070B504460D461646FFF71AFFFF281BD026 -S31508008E00681E2044FFF714FFFF2817D0620A4FF4A4 -S31508008E104043C0F60003B3EB422F07BF40F65C5051 -S31508008E20C2F2000040F66070C2F2000021463246E7 -S31508008E302B46FFF78DFF70BD002070BD002070BD6A -S31508008E40F8B505460E46FFF7F3FE0446701E28449D -S31508008E50FFF7EEFE0546FF2C18BFFF2833D08442E5 -S31508008E602BD8022C2BD90B282BD8FAF7F9FDF3208F -S31508008E70FAF716FEFAF71AFE01281EBF49F6987683 -S31508008E80C0F60006022703D1FAF700FE0020F8BD57 -S31508008E90FFF7CCF836F814003946FAF74DFE0828DD -S31508008EA003D0FAF7F3FD0020F8BD0134E4B2A54279 -S31508008EB0EED2FAF7EBFD0120F8BD0020F8BD002040 -S31508008EC0F8BD0020F8BD0020F8BD00BF00B583B08E -S31508008ED040F65C53C2F200031B68B3F1FF3F08BFBC -S31508008EE001201CD040F65C53C2F2000399685A6808 -S31508008EF01144DA6811441A6911445A6911449A6985 -S31508008F000A44D96953185B4202AA42F8043D4CF256 -S31508008F108810C0F600000421FFF76AFFFFE703B0D8 -S31508008F205DF804FB4CF20402C0F600024FF440431D -S31508008F30C0F6000310681B6818444CF20803C0F614 -S31508008F4000031B6818444CF20C03C0F600031B68A8 -S31508008F5018444CF21003C0F600031B6818444CF280 -S31508008F601403C0F600031B6818444CF21803C0F635 -S31508008F7000031B6818444CF28813C0F600031B68EC -S31508008F801844D0F1010038BF0020704708B540F6F4 -S31508008F905C53C2F200031B68B3F1FF3F06D040F6EC -S31508008FA05C50C2F20000FFF765FE88B140F66073B8 -S31508008FB0C2F200031B68B3F1FF3F0BD040F66070A6 -S31508008FC0C2F20000FFF756FE003018BF012008BDA8 -S31508008FD0002008BD012008BD4FF44040C0F600003F -S31508008FE0704700BF38B504464FF4A050C4F20100DC -S31508008FF08021FBF761F890B14FF4A050C4F201004C -S315080090002146FBF751F84FF4A054C4F20104802519 -S3150800901020462946FBF750F80028F9D001E0002041 -S3150800902038BD012038BD00BF10B504464FF4A05026 -S31508009030C4F201002021FBF73FF8012808D14FF4BC -S31508009040A050C4F20100FBF733F82070012010BDD0 -S31508009050002010BD10B584B04FF46143009300237F -S31508009060ADF80430ADF80630ADF80830ADF80C3080 -S315080090700C23ADF80A304FF4A054C4F2010420467C -S315080090806946FAF793FF20460121FAF7FFFF04B075 -S3150800909010BD00BF2DE9F04106460C46402906D909 -S315080090A04AF23400C0F600007621FFF733FC20466A -S315080090B0FFF798FF012806D04AF23400C0F60000F0 -S315080090C07A21FFF727FC2546ACB100244AF234077B -S315080090D0C0F600074FF08308FEF7A8FF305DFFF7DC -S315080090E081FF012803D038464146FFF713FC0134B7 -S315080090F0A3B2AB42F0D3BDE8F08100BF10B5044679 -S3150800910041F2AC13C2F200031B7813BB41F268109C -S31508009110C2F20000FFF788FF012851D141F2681317 -S31508009120C2F200031B78002B4CD000F0C1FA41F2C2 -S31508009130B013C2F20003186041F26413C2F20003CE -S315080091400020187041F2AC13C2F2000301221A7013 -S3150800915010BD41F26413C2F2000318781C4B184480 -S31508009160FFF762FF01281AD141F26413C2F2000325 -S315080091701A780132D2B21A7041F26813C2F20003A9 -S315080091801B78934220D120461149FFF741FD41F251 -S31508009190AC13C2F2000300221A70012010BD00F0C1 -S315080091A087FA41F2B013C2F200031B68643398428F -S315080091B00CD941F2AC13C2F200030020187010BD9E -S315080091C0002010BD002010BD002010BD002010BDDD -S315080091D06911002038B504460D46012807D94AF218 -S315080091E05C00C0F600004FF4CD71FFF793FB41F227 -S315080091F0B813C2F2000304EB440203EBC2035A7C21 -S315080092001B7C9A4220D041F2B813C2F2000304EB49 -S31508009210440203EBC203DA681570597C01315974AC -S31508009220DA680132DA605B689A420FD941F2B813FC -S31508009230C2F200036200111953F83110144403EB0B -S31508009240C403D960012038BD002038BD012038BDCF -S3150800925038B504460D46012807D94AF25C00C0F61F -S3150800926000004FF4DE71FFF755FB41F2B813C2F266 -S31508009270000304EB440203EBC2035B7CFBB141F23F -S31508009280B813C2F2000303EBC2039A6812782A7075 -S31508009290597C013959749A6801329A605B689A4216 -S315080092A00FD941F2B813C2F200036200111953F83C -S315080092B03110144403EBC4039960012038BD002023 -S315080092C038BD012038BD00BF10B582B041F2B813D1 -S315080092D0C2F200030020987403F118025A610121B2 -S315080092E083F82A10D86241F2B411C2F200010A606A -S315080092F04021197441F2AC21C2F200014C1C9C6059 -S31508009300DC6058741C6001F140045C600870002A37 -S315080093103DD041F2B411C2F20001D86A086040217A -S3150800932083F8281041F2E811C2F20001481C1862BD -S315080093305862002483F82940986101F1400353607C -S31508009340927C0A7041F2AC23C2F200031B78FF2B11 -S3150800935001D0FF2A06D14AF25C00C0F60000792146 -S31508009360FFF7D8FA40F28003C2F20003009341F2F5 -S31508009370F420C2F20000012140F24C02C2F20002BF -S3150800938040F22003C2F20003F7F7B0FA06E041F212 -S31508009390E813C2F20003FF221A70DCE702B010BD20 -S315080093A008B541F2F420C2F20000F8F72FFB0020BE -S315080093B0F6F7EAFE08BD00BF2DE9F84307460C4656 -S315080093C03F2906D94AF25C00C0F600009A21FFF749 -S315080093D0A1FA41F2AC23C2F2000318782146FFF73E -S315080093E0F9FE012806D04AF25C00C0F600009E216C -S315080093F0FFF790FA2646D4B1002441F2AC25C2F212 -S3150800940000054AF25C08C0F600084FF0A709FEF707 -S315080094100DFE2878395DFFF7DDFE012803D04046AA -S315080094204946FFF777FA0134A3B2B342EFD3BDE852 -S31508009430F88300BF10B5044641F2F420C2F20000DA -S31508009440F8F7EEFA41F6E803C2F200031B7803BB0D -S3150800945041F2E813C2F20003187841F26C21C2F215 -S315080094600001FFF7F5FE01283ED141F26C23C2F256 -S3150800947000031B78002B39D041F6E803C2F200033B -S3150800948001221A7041F2F023C2F20003002018707C -S3150800949010BD41F2E813C2F2000341F2F022C2F213 -S315080094A0000211781878144B1944FFF7D1FE0128E9 -S315080094B01ED141F2F023C2F200031A780132D2B269 -S315080094C01A7041F26C23C2F200031B78934211D141 -S315080094D020460949FFF79CFB41F6E803C2F2000360 -S315080094E000221A70012010BD002010BD002010BDFA -S315080094F0002010BD002010BD6D1200202DE9F0439C -S3150800950083B041F2AC23C2F200031C78012C07D9C0 -S315080095104AF25C00C0F600004FF4EE71FFF7FAF964 -S3150800952041F2B813C2F2000304EB440403EBC4038C -S315080095305B7CBBB3402B34BF99464FF04009B9F169 -S31508009540000F23D041F22C22C2F20002541E09F168 -S31508009550FF3652FA86F641F2AC25C2F200054AF207 -S315080095605C07C0F600074FF4927828780DF10701DA -S31508009570FFF76EFE012803D038464146FFF7CAF9C1 -S315080095809DF8072004F8012FB442EED141F2F420E9 -S31508009590C2F20000812141F22C22C2F200024B469F -S315080095A0F8F7D2F903B0BDE8F08300BF2DE9F84318 -S315080095B041F2F423C2F2000300EB800003EBC00380 -S315080095C0B3F88C73DFB1002441F2E816C2F2000644 -S315080095D04AF25C08C0F6000840F243193578F6F7F7 -S315080095E071FF015D2846FFF7F5FD012803D04046C7 -S315080095F04946FFF78FF90134A3B29F42EED8F6F732 -S3150800960061FF024641F2F420C2F200000121402324 -S31508009610F8F77EF9BDE8F88308B5FFF7DBFB08BD68 -S3150800962008B5FFF7E5FB08BD08B5FFF709FC08BD57 -S3150800963008B5FFF777FC08BD08B5FFF7CDFC08BDF0 -S3150800964008B5FFF743FC10B1FFF7A0FC08BD0020E2 -S3150800965008BD00BF4EF21003CEF2000300221A60C6 -S3150800966049F23F01C0F2020159609A60052119606A -S3150800967041F6EC03C2F200031A6070474EF210037B -S31508009680CEF2000300221A60704700BF4EF21003A4 -S31508009690CEF200031B6813F4803F1FBF41F6EC03AC -S315080096A0C2F200031A68013218BF1A60704700BF79 -S315080096B008B5FFF7EBFF41F6EC03C2F200031868A2 -S315080096C008BD00BF08B54AF28400C0F60000312183 -S315080096D0FFF720F908BD00BF72B6704762B670473B -S315080096E010B515498D4640F20002C2F2000240F25A -S315080096F0EC03C2F200039A4210D2131D0D4CE41A71 -S3150800970024F003040434002310464AF2B811C0F6C4 -S3150800971000015A581A500433A342FAD10748084997 -S315080097204FF000028842B8BF40F8042BFADBF6F780 -S31508009730E5FD10BDEF000020643600200001002082 -S31508009740642E00200F2AF0B445D940EA01039B078E -S3150800975045D1A2F110070C4603463F0900EB071650 -S31508009760103625681033103443F8105C54F80C5C36 -S3150800977043F80C5C54F8085C43F8085C54F8045C3D -S3150800978043F8045CB342ECD17B1C02F00F0CBCF12D -S31508009790030F4FEA03131944034422D90E461D4604 -S315080097A0644656F8047B043C032C45F8047BF8D839 -S315080097B0ACF1040402F0030224F003040434234445 -S315080097C0214432B10A4411F8014B914203F8014B86 -S315080097D0F9D1F0BC70470346002AF3D1F9E70346EE -S315080097E0F0E76246002AEDD1F3E700BF8307F0B43D -S315080097F048D0541E002A43D0CDB2034602E0002CBE -S315080098003ED0144603F8015B13F0030F04F1FF3250 -S31508009810F5D1032C2DD9CDB20F2C45EA052545EAFD -S31508009820054518D9A4F1100703F110061A463F0991 -S3150800983006EB07161560103242F80C5C42F8085C15 -S3150800984042F8045CB242F5D104F00F040137032C48 -S3150800985003EB07130DD91E462246043A46F8045B65 -S31508009860032AFAD8221F04F0030422F00302043262 -S3150800987013442CB1C9B21C4403F8011BA342FBD103 -S31508009880F0BC704714460346C3E700BF2F64656DF6 -S315080098906F70726F675F6F6C696D65785F73746DF3 -S315080098A03332653430372E73726563002F626F6FFB -S315080098B0746C6F672E7478740000000057696E55D3 -S315080098C053422042756C6B204465766963650000D7 -S315080098D04F70656E424C5420557365720000000047 -S315080098E03030303030303030303530430000000012 -S315080098F044656661756C740057696E55534220421B -S31508009900756C6B20496E746572666163650000004C -S315080099102E2F6C69622F7569702F6E657464657673 -S315080099202E630000222A3A3C3E3F7C7F000000005E -S315080099302B2C3B3D5B5D0000809A45418E418F8014 -S315080099404545454949498E8F9092924F994F5555AD -S3150800995059999A9B9C9D9E9F41494F55A5A5A6A797 -S31508009960A8A9AAABACADAEAFB0B1B2B3B4B5B6B7F1 -S31508009970B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7E1 -S31508009980C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D1 -S31508009990D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7C1 -S315080099A0E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7B1 -S315080099B0F8F9FAFBFCFDFEFF01030507090E101274 -S315080099C01416181C1E0000007D1D0100632C001EC5 -S315080099D09601A01E5A01001F0806101F0606201F22 -S315080099E00806301F0806401F0606511F0700591FA4 -S315080099F0521F5B1F541F5D1F561F5F1F601F0806FF -S31508009A00701F0E00BA1FBB1FC81FC91FCA1FCB1F56 -S31508009A10DA1FDB1FF81FF91FEA1FEB1FFA1FFB1FD0 -S31508009A20801F0806901F0806A01F0806B01F04001E -S31508009A30B81FB91FB21FBC1FCC1F0100C31FD01F00 -S31508009A400206E01F0206E51F0100EC1FF21F0100D7 -S31508009A50FC1F4E21010032217021100284210100D1 -S31508009A608321D0241A05302C2F04602C0201672C80 -S31508009A700601752C0201802C6401002D260841FF81 -S31508009A801A030000C700FC00E900E200E400E00059 -S31508009A90E500E700EA00EB00E800EF00EE00EC0066 -S31508009AA0C400C500C900E600C600F400F600F200CE -S31508009AB0FB00F900FF00D600DC00A200A300A50009 -S31508009AC0A7209201E100ED00F300FA00F100D100B1 -S31508009AD0AA00BA00BF001023AC00BD00BC00A1005C -S31508009AE0AB00BB00912592259325022524256125E7 -S31508009AF06225562555256325512557255D255C255F -S31508009B005B251025142534252C251C2500253C25E8 -S31508009B105E255F255A255425692566256025502525 -S31508009B206C256725682564256525592558255225F8 -S31508009B3053256B256A2518250C25882584258C250B -S31508009B4090258025B103DF009303C003A303C30355 -S31508009B50B500C403A6039803A903B4031E22C603CB -S31508009B60B50329226122B10065226422202321231C -S31508009B70F7004822B0001922B7001A227F20B20047 -S31508009B80A025A00061001A03E0001703F8000703E8 -S31508009B90FF00010078010001300132010601390198 -S31508009BA010014A012E017901060180014D00430288 -S31508009BB0810182018201840184018601870187016E -S31508009BC089018A018B018B018D018E018F0190011C -S31508009BD09101910193019401F6019601970198016B -S31508009BE098013D029B019C019D0120029F01A00155 -S31508009BF0A001A201A201A401A401A601A701A7012F -S31508009C00A901AA01AB01AC01AC01AE01AF01AF01DC -S31508009C10B101B201B301B301B501B501B701B8018C -S31508009C20B801BA01BB01BC01BC01BE01F701C00104 -S31508009C30C101C201C301C401C501C401C701C801EC -S31508009C40C701CA01CB01CA01CD011001DD0101001E -S31508009C508E01DE011201F3010300F101F401F401A2 -S31508009C60F8012801220212013A020900652C3B027A -S31508009C703B023D02662C3F02400241024102460277 -S31508009C800A015302400081018601550289018A01B1 -S31508009C9058028F015A0290015C025D025E025F0261 -S31508009CA09301610262029401640265026602670218 -S31508009CB0970196016A02622C6C026D026E029C0183 -S31508009CC0700271029D01730274029F017602770287 -S31508009CD0780279027A027B027C02642C7E027F0279 -S31508009CE0A60181028202A9018402850286028702F0 -S31508009CF0AE014402B101B20145028D028E028F0205 -S31508009D0090029102B7017B030300FD03FE03FF03E4 -S31508009D10AC0304008603880389038A03B10311038D -S31508009D20C2030200A303A303C4030803CC0303006E -S31508009D308C038E038F03D8031801F2030A00F90374 -S31508009D40F303F403F503F603F703F703F903FA033A -S31508009D50FA033004200350041007600422018A0421 -S31508009D603601C1040E01CF040100C004D004440129 -S31508009D706105260400000000FFFFFFFFFFFF00004B -S31508009D804F70656E424C5400303A00002E2E2F2E2E -S31508009D902E2F2E2E2F536F757263652F66696C658D -S31508009DA02E6300004669726D77617265207570646E -S31508009DB06174652072657175657374206465746570 -S31508009DC0637465640A0D00004F70656E696E6720DE -S31508009DD06669726D776172652066696C6520666F63 -S31508009DE0722072656164696E672E2E2E000000006F -S31508009DF04552524F520A0D004F4B0A0D0000000003 -S31508009E005374617274696E67207468652070726F26 -S31508009E106772616D6D696E672073657175656E63CE -S31508009E20650A0D0050617273696E67206669726D06 -S31508009E30776172652066696C6520746F2064657445 -S31508009E4065637420657261736520626C6F636B73FA -S31508009E502E2E2E0045726173696E67200000000081 -S31508009E602062797465732066726F6D206D656D6FFB -S31508009E7072792061742030780000000052656164B0 -S31508009E80696E67206C696E652066726F6D206669FB -S31508009E906C652E2E2E4552524F520A0D00000000B8 -S31508009EA0496E76616C696420636865636B73756D6A -S31508009EB020666F756E642E2E2E4552524F520A0D2D -S31508009EC00000000050726F6772616D6D696E6720E1 -S31508009ED00000000020627974657320746F206D6538 -S31508009EE06D6F72792061742030780000577269743A -S31508009EF0696E672070726F6772616D20636865634B -S31508009F006B73756D2E2E2E00436C6F73696E67200A -S31508009F106669726D776172652066696C650A0D00FF -S31508009F204669726D77617265207570646174652023 -S31508009F307375636365737366756C6C7920636F6D8F -S31508009F40706C657465640A0D000000002E2E2F2EB5 -S31508009F502E2F2E2E2F536F757263652F41524D4348 -S31508009F604D345F53544D333246342F63616E2E633E -S31508009F70000000000502060206030703080309039A -S31508009F8009040A040B040C040C050D050E050F053F -S31508009F900F06100610071008000008001000180029 -S31508009FA020002800300038004000480050005800C3 -S31508009FB08000880090009800A000A800B000B800B3 -S31508009FC0C000C800D000D80000C00008004000004B -S31508009FD00300000000000108000001000400000062 -S31508009FE00000020800000200050000000000040846 -S31508009FF0000002000600000000000608000002003B -S3150800A0000700000000000808000002000800000021 -S3150800A01000000A08000002000900000000000C0801 -S3150800A020000002000A00000000000E0800000200FE -S3150800A0300B0000002E2E2F2E2E2F2E2E2F536F752F -S3150800A0407263652F41524D434D345F53544D33323D -S3150800A05046342F756172742E630000002E2E2F2E43 -S3150800A0602E2F2E2E2F536F757263652F41524D4337 -S3150800A0704D345F53544D333246342F7573622E6315 -S3150800A080000000002E2E2F2E2E2F2E2E2F536F75EA -S3150800A0907263652F41524D434D345F53544D3332ED -S3150800A0A046342F4743432F766563746F72732E6366 -S3150800A0B00000000000202020202020202020282822 -S3150800A0C0282828202020202020202020202020206A -S3150800A0D020202020208810101010101010101010AA -S3150800A0E010101010100404040404040404040410DA -S3150800A0F01010101010104141414141410101010168 -S3150800A1000101010101010101010101010101010131 -S3150800A110101010101010424242424242020202023D -S3150800A1200202020202020202020202020202020201 -S3150800A13010101010200000000000000000000000B1 -S3150800A1400000000000000000000000000000000001 -S3150800A15000000000000000000000000000000000F1 -S3150800A16000000000000000000000000000000000E1 -S3150800A17000000000000000000000000000000000D1 -S3150800A18000000000000000000000000000000000C1 -S3150800A19000000000000000000000000000000000B1 -S3150800A1A000000000000000000000000000000000A1 -S30D0800A1B0000000000000000099 -S3150800A1B809022000010100C0320904000002FF005C -S3150800A1C80000070581024000FF070501024000FF5D -S3150800A1D8950400087D04000815040008000000001E -S3150800A1E800000000FD03000809040008E903000848 -S3150800A1F80000000000000000D9030008D104000888 -S3150800A208E104000811050008F104000831050008F2 -S3150800A2185105000871050008040309041201100114 -S3150800A22800000040501DAC60000101020301000057 -S3150800A2389105000895050008990500089D05000878 -S3150800A248A5050008AD050008B9050008A000002006 -S3150800A25875080008BD0700086D070008D506000838 -S3150800A2683D070008B9060008A1060008E506000823 -S3150800A278F5060008050700081D0700080100000084 -S3150800A28801000000000000000102030401020304A3 -S3110800A2980607080904000000B4A000082E +S315080000000000022059020008A7020008A9020008F9 +S31508000010AB020008AD020008AF02000800000000AD +S31508000020000000000000000000000000B102000807 +S31508000030B302000800000000B5020008B702000875 +S31508000040BB020008BD020008BF020008C102000882 +S31508000050C3020008C5020008C7020008C902000852 +S31508000060CB020008CD020008CF020008D102000822 +S31508000070D3020008D5020008D7020008D9020008F2 +S31508000080DB020008DD020008DF020008E1020008C2 +S31508000090E3020008E5020008E7020008E902000892 +S315080000A0EB020008ED020008EF020008F102000862 +S315080000B0F3020008F5020008F7020008F902000832 +S315080000C0FB020008FD020008FF0200080103000801 +S315080000D003030008050300080703000809030008CE +S315080000E00B0300080D0300080F030008110300089E +S315080000F0130300081503000817030008190300086E +S315080001001B030008511800081F03000821030008F4 +S31508000110230300082503000827030008290300080D +S315080001202B0300082D0300082F03000855180008A4 +S3150800013033030008350300083703000839030008AD +S315080001403B0300083D0300083F030008410300087D +S31508000150430300084503000847030008490300084D +S315080001604B0300084D0300084F030008510300081D +S3150800017053030008550300085703000859030008ED +S315080001805B0300085D03000810B5054C237833B9F6 +S31508000190044B13B10448AFF300800123237010BD4C +S315080001A00003002000000000F8950008084B10B571 +S315080001B01BB108490848AFF300800848036803B92B +S315080001C010BD074B002BFBD0BDE81040184700BFF9 +S315080001D00000000004030020F8950008C002002073 +S315080001E000000000154B002B08BF134B9D46A3F5D6 +S315080001F0803A00218B460F461348144A121A08F013 +S3150800020056FD0F4B002B00D098470E4B002B00D005 +S3150800021098470020002104000D000D48002802D050 +S315080002200C48AFF3008008F0E9FC2000290000F034 +S315080002308BF908F0CFFC00BF000008000000022080 +S3150800024000000000000000000003002068300020C5 +S31508000250000000000000000007498D460749084ACB +S31508000260084B9A42BEBF51F8040B42F8040BF8E754 +S315080002700548804705480047000002200496000804 +S3150800028000000020C002002081390008E5010008AE +S315080002903349344A002301E041F8043B9142FBD339 +S315080002A000F052F9FEE7FEE7FEE7FEE7FEE7FEE7A7 +S315080002B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE708 +S315080002C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F8 +S315080002D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7E8 +S315080002E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D8 +S315080002F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C8 +S31508000300FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7 +S31508000310FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7A7 +S31508000320FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE797 +S31508000330FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE787 +S31508000340FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE777 +S31508000350FEE7FEE7FEE7FEE7FEE7FEE7FEE700004C +S315080003600003002068300020F0B583B0012108465C +S3150800037003F080F84FF4C853009303278DF80570EF +S3150800038002238DF8043000268DF806608DF8076084 +S31508000390204C6946204602F0AFFF0A220821204673 +S315080003A002F0F4FF0A220B21204602F0EFFF0A2290 +S315080003B00C21204602F0EAFF4FF4007300938DF8F3 +S315080003C005708DF8046001258DF806508DF80760D4 +S315080003D06946204602F090FF4FF4806300938DF83B +S315080003E006508DF807508DF805706946204602F0CC +S315080003F083FF0A221146204602F0C8FF29464FF419 +S31508000400804003F061F82946802003F041F803B0E4 +S31508000410F0BD00BF00000240704700BF06E000BF05 +S31508000420013300E000231B2BF9D91046421E002891 +S31508000430F8D1704708B54FF47A7303FB00F0FFF75D +S31508000440EDFF08BD704700BF704700BF704700BF8B +S3150800045008B500F083F808BD08B500F081F808BDB6 +S3150800046008B5012000F078F808BD00BF08B50020DF +S3150800047000F072F808BD00BFF0B583B003F080FA4B +S315080004800121084602F0F6FF0124009400268DF8A3 +S3150800049004608DF8076002258DF8055069462848DE +S315080004A002F02AFF2146202003F00EF821460420F8 +S315080004B002F0E0FF234F08220621384602F066FFC5 +S315080004C008220721384602F061FF8DF806608DF88C +S315080004D007408DF80450402300938DF8055069466F +S315080004E0384602F009FF8DF80450802300936946C8 +S315080004F0384602F001FF2146284602F0BBFFA7F561 +S31508000500806709220521384602F040FF09220621A4 +S31508000510384602F03BFF602300938DF804508DF8AF +S3150800052005508DF806608DF807406946384602F092 +S31508000530E3FE21464FF0C06002F0B8FF03B0F0BDFD +S31508000540000002400008024008B5FFF795FF04F0D6 +S3150800055041FA04F04FFAFCE7704700BF704700BF46 +S31508000560704700BF08B50121044802F007FF0128BB +S3150800057001D1002008BD012008BD00BF00000240CF +S3150800058000B5C7B04FF48C720021684608F08FFB9F +S3150800059069460A4807F0C4F938B9009B3BB19DF88B +S315080005A0083013F0100F04D004E0002002E0002009 +S315080005B000E0012047B05DF804FB00BFF08C00089E +S315080005C000487047F08C000808B50748002380F8F3 +S315080005D028320A22054906F025FE18B90122024BDF +S315080005E083F8282208BD00BF1C030020108D0008D0 +S315080005F010B50D4B93F82832012B02D10A4807F0A3 +S31508000600C9F805F0B5FB00F1640403E005F0B0FB9A +S31508000610844205D34021054803F048F90028F5D05F +S31508000620034807F0A3F910BD1C030020001401407D +S31508000630F08C000808B5044B93F82832012B02D138 +S31508000640014807F0A7F808BD1C03002010B50446AA +S315080006500F4B93F82832012B15D10D4907F00EFAE6 +S31508000660002810DA0A48002380F8283207F092F8A2 +S3150800067009E0084803F012F98021064803F016F944 +S315080006800028F9D0013421780029F2D110BD00BF25 +S315080006901C0300200014014020230B8000487047EB +S315080006A04800002008B590F81231032B01D104F058 +S315080006B09DFF002008BD00BF08B504F097FF002085 +S315080006C008BD00BF08B5084604F0C2FF002008BDF3 +S315080006D008B50B7813F0600F21D14B780A2B12D08E +S315080006E00B2B15D0062B1AD14B881B0A212B05D1AB +S315080006F0CA88172A28BF17220A4901E00A49172279 +S3150800070003F06EFD0BE00122084903F069FD06E0DF +S315080007108B7813B9054A136001E003F0C5F9002088 +S3150800072008BD00BF5A0000205100002048050020DF +S3150800073010B50446812102F0A7FB0121204602F0EC +S31508000740A3FB002010BD00BF10B5044602234022BB +S31508000750812102F06FFB022340220121204602F08C +S3150800076069FB4023034A0121204602F0AFFB002023 +S3150800077010BD00BF001B002000487047001B00206A +S3150800078012230B80004870478800002004230B8042 +S31508000790004870478400002010B5044C0A462146DC +S315080007A0034803F0A5FB204610BD00BF9028002093 +S315080007B0208D000810B5044C0A462146034803F06C +S315080007C097FB204610BD00BF90280020348D0008F6 +S315080007D010B5044C0A462146034803F089FB204617 +S315080007E010BD00BF90280020448D000810B5044CA9 +S315080007F00A462146034803F07BFB204610BD00BF8E +S3150800080090280020548D000810B5044C0A4621464D +S31508000810034803F06DFB204610BD00BF902800205A +S315080008205C8D00082DE9F04182B001210C2002F010 +S3150800083021FE2C4C0C220821204602F0A7FD0C2292 +S315080008400921204602F0A2FD0C220A21204602F0C8 +S315080008509DFD0C220B21204602F098FD0C22114624 +S31508000860204602F093FD204F0C220221384602F062 +S315080008708DFD4FF47063009301258DF805504FF0F8 +S3150800088002088DF8048000268DF806608DF807505A +S315080008906946204602F030FD04230093694638462F +S315080008A002F02AFD4FF4805300938DF807606946DD +S315080008B0204602F021FD4FF4006700978DF804806A +S315080008C08DF807606946204602F016FD2946384627 +S315080008D002F0FAFD29464FF4800002F0CBFD02B083 +S315080008E0BDE8F08100080240000C024010B54FF444 +S315080008F0803400E0013C24B1802002F043FF002848 +S31508000900F8D02CB140F2FF5002F046FF002010BD8F +S31508000910032010BD08B5104B5A6B4FF4803302E024 +S31508000920013B0D4A526B12F0450F01D1002BF7D14E +S3150800093013B112F0040F04D0042002F02DFF032097 +S3150800094008BD12F0400F04D0402002F025FF002019 +S3150800095008BD002008BD00BF002C014008B50B4BA0 +S315080009605B6B01E0094B5B6B13F0450FFAD013F094 +S31508000970040F04D0042002F00FFF032008BD40F244 +S31508000980FF5002F009FF002008BD00BF002C0140FF +S3150800099008B50F4B5B6B01E00D4B5B6B13F0450F16 +S315080009A0FAD013F0040F04D0042002F0F5FE032059 +S315080009B008BD13F0010F04D0012002F0EDFE01205E +S315080009C008BD40F2FF5002F0E7FE002008BD00BF58 +S315080009D0002C014010B50446444B5B6B01E0434BC9 +S315080009E05B6B13F0450FFAD013F0040F04D0042004 +S315080009F002F0D2FE032010BD13F0010F04D001202F +S31508000A0002F0CAFE012010BD02F086FEA04243D1C4 +S31508000A1040F2FF5002F0C0FE002002F083FE344B85 +S31508000A200340DBB300283BDB10F0804F3AD110F0CF +S31508000A30005F39D110F0805F38D110F0006F37D1E0 +S31508000A4010F0806F36D110F0807F35D110F4000F8A +S31508000A5034D110F4800F33D110F4001F32D110F4C2 +S31508000A60801F31D110F4002F30D110F4802F2FD1F0 +S31508000A7010F4003F2ED110F4803F2DD110F4004F12 +S31508000A802CD110F4804F2BD110F4005F2AD110F02E +S31508000A90080F29D01A2010BD102010BD002010BD47 +S31508000AA01C2010BD092010BD0A2010BD0B2010BD4A +S31508000AB00C2010BD0D2010BD0E2010BD0F2010BD3E +S31508000AC0102010BD112010BD122010BD132010BD1E +S31508000AD0142010BD152010BD162010BD172010BDFE +S31508000AE0182010BD192010BD002010BD002C014093 +S31508000AF008E0FFFD38B504460D461E4B5B6B01E06A +S31508000B001C4B5B6B13F0450FFAD013F0040F04D09F +S31508000B10042002F041FE032038BD13F0010F04D073 +S31508000B20012002F039FE012038BD02F0F5FDA04291 +S31508000B3018D140F2FF5002F02FFE002002F0F2FD1D +S31508000B4010F4604F03D1000C2880002038BD10F443 +S31508000B50005F09D110F4804F08D110F4004F07D078 +S31508000B600F2038BD102038BD132038BD102038BDE1 +S31508000B70002038BD002C0140F0B583B00E46002396 +S31508000B8000930193564808220260102444604022CC +S31508000B908260C3604FF48063036102F0A5FD2046BE +S31508000BA0FFF718FF002840F094804E4B1B68A340BF +S31508000BB04B48036037244460402383600023C360A6 +S31508000BC04FF48063036102F08FFD2046FFF702FFB2 +S31508000BD000287FD144484FF0FF3303600823436061 +S31508000BE0302383600223C360002404610123436128 +S31508000BF002F0A4FD3A48046033254560402383602B +S31508000C00C4604FF48063036102F06EFD2846FFF767 +S31508000C10E1FE054600285ED127460EE04FF4001097 +S31508000C2002F0B0FD20B102F0A1FD4DF82700013712 +S31508000C30013442F210739C424ED82C4B5A6B40F248 +S31508000C402A631A42EAD0082002F09CFD20B1082047 +S31508000C5002F0A2FD042040E0022002F093FD20B13C +S31508000C60022002F099FD022037E0202002F08AFDDA +S31508000C7020B1202002F090FD06202EE04FF40070EF +S31508000C8002F080FD28B14FF4007002F085FD0720C0 +S31508000C9023E040F2FF5002F07FFD00990B0203F4B7 +S31508000CA07F0343EA01630A0A02F47F42134343EAD5 +S31508000CB01163736001990B0203F47F0343EA01632E +S31508000CC00A0A02F47F42134343EA11633360284653 +S31508000CD003E002E001E000E0042003B0F0BD00BF3D +S31508000CE008060020A805002050050020002C014019 +S31508000CF010B582B0044600200090019002F012FD63 +S31508000D0010F0007F5CD16946324B1888FFF734FF34 +S31508000D10002857D1012C2AD1019B13F4802F52D0D9 +S31508000D202C4B1B681B042C48036037244460402363 +S31508000D3083600023C3604FF48063036102F0D4FC30 +S31508000D402046FFF747FE00283FD1234802230360C9 +S31508000D5006244460402383600023C3604FF4806305 +S31508000D60036102F0C1FC2046FFF734FE30E0019B28 +S31508000D7013F4803F2AD0174B1B681B0416480360E0 +S31508000D8037244460402383600023C3604FF48063A4 +S31508000D90036102F0A9FC2046FFF71CFEC0B90E4805 +S31508000DA0002303600624446040228260C3604FF437 +S31508000DB08063036102F098FC2046FFF70BFE07E00C +S31508000DC00E2005E004E0252002E001E02520FFE7EB +S31508000DD002B010BDA80500200806002000B583B0A3 +S31508000DE001238DF807304FF40061064802F0C6FA71 +S31508000DF010B900238DF807309DF8070003B05DF899 +S31508000E0004FB00BF0008024070B582B000248DF8CC +S31508000E100740664876230375046044608460C460AE +S31508000E20046102F033FC032002F050FC012002F0BA +S31508000E3047FC5F48046044608460C4604FF4806384 +S31508000E40036102F051FCFFF751FD8DF807009DF88C +S31508000E50073013F0FF0F03D09DF80700C0B2A3E0D8 +S31508000E6053484FF4D57303600823436040238360D7 +S31508000E700023C3604FF48063036102F035FCFFF77B +S31508000E8049FD8DF807009DF8073013F0FF0F05D1CF +S31508000E900122484B1A604FF0804611E0444800266C +S31508000EA006603724446040238360C6604FF480633D +S31508000EB0036102F019FC2046FFF78CFD8DF8070048 +S31508000EC03B48002303603724446040228260C360A5 +S31508000ED04FF48063036102F007FC2046FFF77AFDB2 +S31508000EE08DF807009DF8073013F0FF0F40D058E043 +S31508000EF02F48002303603725456040228260C3607F +S31508000F004FF48063036102F0EFFB2846FFF762FDAA +S31508000F108DF807009DF8073013F0FF0F03D09DF8F2 +S31508000F200700C0B240E046F0004343F4801320486F +S31508000F30036029234360402383600023C3604FF482 +S31508000F408063036102F0D0FBFFF708FD8DF8070008 +S31508000F509DF8073013F0FF0F03D09DF80700C0B2C5 +S31508000F6022E0002002F0DEFB0246C00F013402E058 +S31508000F7000200446024618B94FF6FE739C42B7D9BC +S31508000F804FF6FE739C4206D91B238DF807309DF851 +S31508000F900700C0B208E012F0804F02D00222054BCB +S31508000FA01A609DF80700C0B202B070BD9005002017 +S31508000FB0080600207805002010B582B00123ADF898 +S31508000FC0063002F089FB00286AD0394B1B68042BCF +S31508000FD020D038480023036002224260C022826083 +S31508000FE0C3604FF48063036102F07EFBFFF7D0FC19 +S31508000FF0002857D102F096FB2F4C2060042002F0FF +S3150800100091FB6060082002F08DFBA0600C2002F0C6 +S3150800101089FBE060264B1B68012B03D9062B01D000 +S31508001020022B12D123480023036003244460402284 +S315080010308260C3604FF48063036102F055FB0DF1D3 +S3150800104006012046FFF756FD68BB194B1B68042BA3 +S315080010502AD0BDF80630194A13601B0415480360E8 +S3150800106009234360C02383600023C3604FF4806371 +S31508001070036102F039FBFFF78BFCB8B902F052FBAB +S315080010800F4C2060042002F04DFB6060082002F03F +S3150800109049FBA0600C2002F045FBE060002005E05B +S315080010A0252003E002E001E00020FFE702B010BDC2 +S315080010B078050020080600207C050020A8050020E9 +S315080010C068050020F0B40346A44A146880F8564020 +S315080010D0A34A1288A0F85420A24D2A68100EC1B25D +S315080010E08E091E70C0F38300587001F003019970D1 +S315080010F0C2F30741D970C2F307211971D2B25A71E6 +S3150800110069680A0E1201DA80C1F30740DA8892B2DA +S3150800111042EA1012DA8000F00F001872080AC2B20A +S31508001120D5095D72C0F380159D72C0F34015DD7256 +S31508001130C0F300151D7300255D73012C44D8800289 +S3150800114000F4406018611A69890001F47F7111433F +S315080011501961844A9268100EC1B21C6944EA911456 +S315080011601C61C0F3C200187501F007015975110C0E +S31508001170C1F342109875C1F38200D875490001F091 +S3150800118006011976C2F30722197E41EAD2111976A9 +S315080011901C6901349C64DD64187E0230012505FA59 +S315080011A000F0C717A0FB040104FB0711C3E91201ED +S315080011B01C7AE4B205FA04F41C65A4FB006704FB78 +S315080011C00177C3E9126721E0022C1FD1090401F453 +S315080011D07C111961634A9268100E196941EA002167 +S315080011E019611969C2F3074001431961C2F307225D +S315080011F018690021013041F10001C90441EA503162 +S31508001200C0049864D9644FF400711965C2F380115B +S315080012105976520002F07E029A765248027A997EF0 +S3150800122041EAD211997602F07F02DA76C1680A0E8F +S31508001230D0091877C2F341105877C2F3820098771D +S31508001240920002F00C02DA77080CC2B2DC7F44EA9C +S315080012509214DC77C0F3401083F82000002083F84E +S31508001260210002F0010283F822200A0AD4B2E50915 +S3150800127083F82350C2F3801583F82450C2F340152F +S3150800128083F82550C2F3001583F82650C2F381026D +S3150800129083F8272004F0030483F82840C1F34601A5 +S315080012A083F82910012483F82A402F4D2A68110E45 +S315080012B083F82C10C2F307410902D985C2F3072621 +S315080012C0D98D89B23143D98512061A636A68160E12 +S315080012D0196B41EA06411963110C1E6B090201F4E8 +S315080012E07F4131431963196BC2F3072631431963EA +S315080012F0D2B283F83420AA68110E83F83510110C7F +S3150800130009069963110A9E6B090401F47F013143AA +S315080013109963996B120202F47F420A439A63EA6858 +S31508001320996B41EA12619963110C93F83C60C1F319 +S315080013300315354383F83C50090201F47061D987D7 +S31508001340C2F30725D98F89B22943D987C2F3460242 +S3150800135083F8402083F84140F0BC704778050020A8 +S31508001360A8050020680500207C0500201C4B1B688A +S31508001370032B2CD0022B2CD8B0F5805F2BD010B5C0 +S31508001380B0F5006F12D10120FFF7B2FC044620BB6E +S315080013901448002303750360436083604FF40062BA +S315080013A0C260036102F072F9204610BD0020FFF703 +S315080013B09FFC044690B90B480023037503604360FD +S315080013C08360C360036102F061F9204610BD2720DF +S315080013D07047002070472720704710BD10BD00BF1A +S315080013E0780500209005002010B5094B18600724E1 +S315080013F05C6040229A600022DA604FF480621A61CB +S31508001400184602F071F92046FFF7E4FA10BD00BF4E +S315080014100806002000B583B000238DF80730FFF7D3 +S3150800142001FA02F027F9FFF7EFFC8DF807009DF89F +S31508001430073013F0FF0F03D09DF80700C0B237E05E +S31508001440FFF7BAFD8DF807009DF8073013F0FF0F78 +S3150800145003D09DF80700C0B22AE017480023037599 +S31508001460036043608360C360036102F00FF91348A9 +S31508001470FFF728FE8DF807009DF8073013F0FF0FD9 +S3150800148008D10E4BB3F8540000040021FFF7ACFF57 +S315080014908DF807009DF8073013F0FF0F05D14FF4BC +S315080014A00060FFF763FF8DF807009DF80700C0B2DC +S315080014B003B05DF804FB00BF90050020B0050020CE +S315080014C0F8B505461646BDF81810002252480270AF +S315080014D052480260524802605248C262524A126832 +S315080014E0022A04D1720A42EAC3564FF400710F4623 +S315080014F04E48016010234360402383600023C36085 +S315080015004FF48063036102F0EFF84FF4803400E093 +S31508001510013C24B1802002F035F90028F8D01020CB +S31508001520FFF758FA002874D141484FF0FF3303609B +S315080015304760902383600223C36000270761012365 +S31508001540436102F0FBF839480660112444604023E1 +S315080015508360C7604FF48063036102F0C5F82046D4 +S31508001560FFF738FA064680B154E04FF4004002F01F +S3150800157009F950B105E002F0F9F845F824000134FC +S3150800158000E00024072CF6D92035264B5A6B40F28A +S315080015902A631A42E9D0082002F0F4F820B108209C +S315080015A002F0FAF80420F8BD022002F0EBF820B1A8 +S315080015B0022002F0F1F80220F8BD202002F0E2F83D +S315080015C020B1202002F0E8F80620F8BD4FF400709C +S315080015D002F0D8F858B14FF4007002F0DDF8072091 +S315080015E0F8BD02F0C3F845F8040B013C01E04FF0E2 +S315080015F0FF344FF4001002F0C5F808B1002CF0D102 +S3150800160040F2FF5002F0C8F800220A4B1A60304632 +S31508001610F8BDF8BDF8BD00BF4C0500208C050020BC +S315080016201C060020002C0140780500200806002032 +S31508001630500500209C0000202DE9F041054616467D +S31508001640BDF81810002256480270564802605648DF +S3150800165002605648C262564A1268022A04D1720AC1 +S3150800166042EAC3564FF400710F46524801601024EF +S315080016704460402383600023C3604FF480630361A2 +S3150800168002F032F82046FFF7A5F9002840F08380DB +S315080016904848066018244460402383600023C360DA +S315080016A04FF48063036102F01FF82046FFF792F9B2 +S315080016B00446002871D140484FF0FF330360476065 +S315080016C0902383600026C66006610123436102F009 +S315080016D035F82AE04FF4804002F054F828B3C6F5EE +S315080016E00078B8F11F0F1BD8734213F0030F02D10D +S315080016F04FEA980803E04FEA980808F1010800271E +S3150800170005E055F8040B02F037F80137043647456B +S31508001710F7D30AE055F8270002F02EF8013700E063 +S315080017200027072FF6D920352036204B5A6B40F272 +S315080017301A631A42CED0082002F024F828B10820ED +S3150800174002F02AF80420BDE8F081022002F01AF817 +S3150800175028B1022002F020F80220BDE8F08110200E +S3150800176002F010F828B1102002F016F80520BDE89E +S31508001770F0814FF4007002F005F830B14FF40070B4 +S3150800178002F00AF80720BDE8F08100220B4B1A6028 +S315080017902046BDE8F081BDE8F081BDE8F08100BFD4 +S315080017A04C0500208C0500201C060020002C01405A +S315080017B07805002008060020500500209C0000201F +S315080017C0D8B138B505460E4B1B681B040D48036097 +S315080017D00D244460402383600023C3604FF4806374 +S315080017E0036101F081FF2046FFF7F4F8044630B99B +S315080017F001F098FF2860204638BD2620704738BD7E +S31508001800A80500200806002000B583B00023019330 +S31508001810FFF7E4FA012807D101A8FFF7D1FF28B995 +S315080018200198C0F3432002E0FF2000E0FF2003B048 +S315080018305DF804FB08B5FFF7E7FF042803D0FF2887 +S3150800184003D1022008BD002008BD012008BD00BF45 +S31508001850704700BF704700BF00B597B0FFF7DAFDC5 +S3150800186048B9084A137803F0FE0313706846FFF771 +S3150800187029FC002003E00122024B1A70032017B04E +S315080018805DF804FBA000002008B50122064B1A707B +S3150800189038B9FFF7CFFF20B9034A137803F0FE03E0 +S315080018A01370014B187808BDA000002070B5ADF57F +S315080018B0027D0E461546B8B11BE062194FF4007357 +S315080018C000935202002302A8FFF7FAFD98B9FFF722 +S315080018D0B1FF0128FBD04FF4007202A906EB4420A1 +S315080018E007F0DAF9234644B15C1E002BE5D1012046 +S315080018F004E0012002E0012000E000200DF5027D51 +S3150800190070BD00BFF0B5ADF5037D0F461646C0B1F4 +S315080019101CE04FF400752A4607EB442102A807F09D +S31508001920BBF9A21900955202002302A8FFF784FE0C +S3150800193008B105280CD1FFF77DFF0128FBD0234607 +S3150800194044B15C1E002BE4D1012004E0012002E032 +S31508001950012000E000200DF5037DF0BD174B1B7834 +S3150800196013F0010F1FD103291FD8DFE801F0020485 +S31508001970131800207047D0B910B596B014466846BB +S31508001980FFF7A0FB129B5B0A139A43EAC253236034 +S31508001990002010E04FF4007313800020704740B910 +S315080019A020231360704703207047042070470020E7 +S315080019B070470020704716B010BD00BFA000002079 +S315080019C008B501214FF0007001F08CFD00214FF0A1 +S315080019D0007001F087FD08BD002303604360836043 +S315080019E0C360036143618361C361036243628362C7 +S315080019F0C362036343638363C36340220264202292 +S31508001A0042648364C364036543658365C36503668B +S31508001A10802242668366C366036743678367C36734 +S31508001A204FF08062C0F880204FF00072C0F8842022 +S31508001A304FF08071C0F888104FF40011C0F88C1070 +S31508001A40C0F89030C0F89430C0F89830C0F89C3090 +S31508001A50C0F8A030C0F8A420C0F8A8304FF400326F +S31508001A60C0F8AC204FF48072C0F8B020C0F8B4308B +S31508001A70C0F8B830704700BF82B000230193124AFD +S31508001A80136903F01C03C00280B20343890101F401 +S31508001A90F8610B4343F001031361019B0133019382 +S31508001AA0094B1B6913F0010F03D0019A074B9A42A1 +S31508001AB0F3D9019A064B9A4203D0034B586980B270 +S31508001AC000E0002002B0704700800240FEFF0400DC +S31508001AD0FFFF040010B483B000230193124C23695E +S31508001AE003F01C03C00280B20343890101F4F861C4 +S31508001AF00B4343F0030362612361019B01330193A6 +S31508001B00094B1B6913F0010F03D0019A074B9A4240 +S31508001B10F3D9019A064B9A4201D1002000E0012030 +S31508001B2003B05DF8044B704700800240FEFF0400D6 +S31508001B30FFFF040070B586B004460D4600230593E2 +S31508001B400093924B1E6926F01C0601A801F036FC8C +S31508001B50029A8F4B13448F498B4202D846F00806E7 +S31508001B600EE08D4B13448D498B4202D846F00C0685 +S31508001B7006E08B4B13448B4A934201D946F0040680 +S31508001B80824B1E614FF4004200212846FFF7A2FF50 +S31508001B900646002800F0F7804FF08063059302E0C0 +S31508001BA0059B013B0593059E002EF9D12368002B62 +S31508001BB04CD0009B0133009301212846FFF75CFFB8 +S31508001BC000F0040080B218B9009A774B9A42F0D90F +S31508001BD0009A764B9A4200F0D680002100914FF485 +S31508001BE080522846FFF776FF002800F0CB80009B3E +S31508001BF00133009301212846FFF73EFF00F020003D +S31508001C0080B218B9009A684B9A42F0D9009A674B85 +S31508001C109A4200F0B8800023009310212846FFF767 +S31508001C202BFF00F004039BB21BB14FF40063236241 +S31508001C3001E00023236200F002039BB213B10023E4 +S31508001C4063611CE04FF48043636118E0226AC2F3C3 +S31508001C50CF026369C3F34F031A4300212846FFF7EF +S31508001C6039FF0646002800F08E806FF07F43059303 +S31508001C7002E0059B013B0593059B002BF9D1434BDD +S31508001C801A684B4911406068A2681043E26810431D +S31508001C902269104362691043A2691043E26910433E +S31508001CA0226A1043626A1043A26A1043E26A10432A +S31508001CB0226B1043626B02430A431A60A16BE26B04 +S31508001CC01143226C1143626C1143A26C1143E26CFE +S31508001CD01143226D1143626D0A435A60A26D9A60E0 +S31508001CE0E26DDA609A694FF641711140206E626EB4 +S31508001CF042EA0040A26E1043E26E1043226F104380 +S31508001D00626F02430A439A61A16FE26F0A43DA617E +S31508001D1041F218055A5927491140D4F88000D4F8D9 +S31508001D2084201043D4F888201043D4F88C2010431C +S31508001D30D4F890201043D4F894201043D4F898206F +S31508001D401043D4F89C201043D4F8A02002430A4339 +S31508001D505A51D4F8A410D4F8A8201143D4F8AC20CA +S31508001D601143D4F8B0200A43D4F8B41042EA8101EA +S31508001D70D4F8B8200A4342F4000203F580531A60E7 +S31508001D80012600E00646304606B070BD00800240D7 +S31508001D9000D3CEFEBFE1E40040F1E9FD3F787D01C6 +S31508001DA000796CFC005A6202FEFF0400FFFF040083 +S31508001DB00F8120FF233FDEF828B1064A136843F057 +S31508001DC0080313607047034A136823F00803136077 +S31508001DD0704700BF0080024028B1064A136843F0E6 +S31508001DE0040313607047034A136823F0040313605F +S31508001DF0704700BF00800240024A136843F001039F +S31508001E001360704700900240044B1B6813F0010FE3 +S31508001E1001D0012070470020704700BF00900240A3 +S31508001E20034941F218028B5843F480138B507047CC +S31508001E300080024038B1084941F218028B5843F431 +S31508001E4000538B507047044941F218028B5823F40B +S31508001E5000538B50704700BF0080024038B10849D4 +S31508001E6041F218028B5843F002038B50704704491D +S31508001E7041F218028B5823F002038B50704700BFBB +S31508001E800080024008B50120FFF796FFFFF7C8FF5C +S31508001E900120FFF7A1FF0120FFF7CCFF0120FFF784 +S31508001EA0DDFF08BD10B50446044B1B685B6A9847FE +S31508001EB04FF08043E2685361012010BDB400002052 +S31508001EC038B50446C3685D6815F0040F03D0044BA3 +S31508001ED01B689B6A9847E3685D60012038BD00BFB0 +S31508001EE0B400002010B50446837A43B1D0F80C310B +S31508001EF06FF341036FF30003D0F80C2113602269D6 +S31508001F00536823F001035360054B1B689B69204601 +S31508001F1098474FF00043E2685361012010BD00BFA7 +S31508001F20B400002030B583B0054600248DF807407C +S31508001F3090F812318DF80730154B1B685B69984786 +S31508001F402B699A684FF40064EB685C61AB7AE3B17D +S31508001F5012F0010F19D095F81531012B15D19DF8FE +S31508001F600730DBB2032B10D1D5F80C21136843F0E8 +S31508001F7001031360D5F80C21136843F003031360BB +S31508001F80044A136943F006031361012003B030BD08 +S31508001F90B400002000ED00E010B50446044B1B68B1 +S31508001FA0DB6898470823E2685361012010BD00BF2B +S31508001FB0B400002010B50446044B1B68DB6998473B +S31508001FC04FF48013E2685361012010BDB40000206D +S31508001FD010B50446044B1B681B6A98474FF4001358 +S31508001FE0E2685361012010BDB400002010B40269F4 +S31508001FF01469536BCB40DB01DBB22343043100EB9E +S3150800200081008268906818405DF8044B704700BFED +S315080020102DE9F041074600F087FE0446002553E007 +S3150800202014F0010F4ED05FFA85F84146384600F0A5 +S3150800203081FE064610F0010F2BD0012605F1140388 +S3150800204007EB83035B689E60FB78B34210D105F10A +S31508002050140307EB83035B681969AA002A44D300B3 +S315080020603B44D3F87C23C1F31201521AC3F88C23DC +S31508002070184B1B681B68414638469847FB78012B66 +S3150800208007D135B997F81131052B02D1384600F03A +S3150800209061FE16F0020F06D0022605F1140307EBBF +S315080020A083035B689E6016F0080F0BD0094B1B680C +S315080020B09B6838469847082605F1140307EB8303FF +S315080020C05B689E6001356408002CA9D10120BDE833 +S315080020D0F08100BFB40000202DE9F04107460D4607 +S315080020E08A000A44D3000344D3F83021D3F83411C4 +S315080020F0521AD3F824319A4200D8134603F103083A +S315080021004FEA98082B1D07EB83039B689B6927E01A +S315080021105B1A05EB8501CA003A44D2F82461B3423A +S3150800212000D81E4606F103084FEA9808AB002B4470 +S31508002130DC003C44B3B2EAB2D4F82811384600F0C1 +S31508002140F9F9D4F828313344C4F82831D4F83431AD +S315080021501E44C4F834612B1D07EB83039B689B69F7 +S315080021609BB298450BD2AB002B44DA003A44D2F81E +S315080021703411D2F83031994201D2002BC8D101204E +S31508002180BDE8F0812DE9F041074600F0DDFD044683 +S3150800219000265EE014F0010F59D05FFA86F8414632 +S315080021A03846FFF723FF054610F0010F1ED001231E +S315080021B003FA06F039694A6B22EA00024A631D46A9 +S315080021C0321D07EB820292689360244B1B685B689A +S315080021D0414638469847FB78AB4207D136B997F857 +S315080021E01131042B02D1384600F0B4FD15F0080F62 +S315080021F005D00825331D07EB83039B689D6015F002 +S31508002200100F05D01025331D07EB83039B689D60CF +S3150800221015F0400F05D04025331D07EB83039B6857 +S315080022209D6015F0020F05D00225331D07EB8303C9 +S315080022309B689D6015F0800F09D031463846FFF738 +S315080022404BFF8025331D07EB83039B689D60013692 +S315080022506408002C9ED10120BDE8F081B40000205E +S315080022602DE9F0410546C268936923F0100393618E +S31508002270C3681C6A04F00F06C4F34343022B02D05A +S31508002280062B1CD02BE047F6F073234227D0C4F365 +S315080022900A144FEA860808EB0603DF0007442246BD +S315080022A0D7F8801300F05CF9D7F880332344C7F8D1 +S315080022B08033D7F88C331C44C7F88C430FE00822C8 +S315080022C000F2CC5100F04CF9C4F30A14B20091198B +S315080022D0CB002B44D3F88C231444C3F88C43EA6808 +S315080022E0936943F0100393610120BDE8F08100BFB4 +S315080022F02DE9F84304460025A8462F462E460269CE +S31508002300536823F001035360294600F0FDF92B4674 +S315080023100CE01A1D04EB82029268FF21916003F11A +S31508002320140204EB82025268916001336278934288 +S31508002330EFD323694FF0FF329A614FF0010969F331 +S315080023400F0569F31F452369DD6148F00B0823690A +S31508002350C3F8148047F00B0723691F6122691368C5 +S315080023606FF30A131360204600F0F4FC46F4805617 +S31508002370E3685E61034B1B681B692046984748461D +S31508002380BDE8F883B400002038B5044600F0F6FA34 +S31508002390E368DD68204600F0E1FA032808D1002347 +S315080023A0A3704FF40073A380092363F38D2506E019 +S315080023B00123A3704023A380052363F38D25E368D7 +S315080023C0DD604FF40053E2685361012038BD00BF59 +S315080023D02DE9F843054600F0F7F900286AD02846A3 +S315080023E000F0FAF90646002868D0C0F3074818F046 +S315080023F0080F04D02846FFF70BFE044600E0002429 +S3150800240018F0040F03D02846FFF7BCFE0443F7B2C2 +S3150800241017F0020F02D00223EA6853614FEA1669E1 +S3150800242019F0800F03D02846FFF75CFD0443C6F376 +S31508002430072616F0080F03D02846FFF773FD044356 +S3150800244017F0080F03D02846FFF7A6FD044317F038 +S31508002450100F03D02846FFF703FF044316F0100FAA +S3150800246003D02846FFF744FF044316F0200F03D095 +S315080024702846FFF789FF044318F0100F03D02846B3 +S31508002480FFF798FD044318F0200F03D02846FFF7FE +S315080024909FFD044319F0400F03D02846FFF702FDBD +S315080024A0044317F0040F08D02846FFF709FD204318 +S315080024B0BDE8F8830020BDE8F8832046BDE8F88328 +S315080024C0C3684FF0FF325A60C3686FF080425A61A2 +S315080024D0014BC268936170470008008030B583B02D +S315080024E00546002401940320FDF798FFEB681A6956 +S315080024F0019201340E4A944217D8019A002AF2DA58 +S31508002500019A42F001020192019A1A610023EA68CF +S31508002510126901920133064A934203D8019A12F0CE +S31508002520010FF4D10320FDF779FF002003B030BD79 +S31508002530400D030010B4C4786CB903339B103232D3 +S3150800254000EB82008468002203E051F8040B206047 +S3150800255001329A42F9D300205DF8044B704700BF58 +S3150800256010B403329210D0F8D040002303E020685C +S3150800257041F8040B01339342F9D308465DF8044B3E +S31508002580704700BF30B40023C37001238370402313 +S31508002590838001290DD10123C37208230370042304 +S315080025A043704FF4A073C380022303724FF0A04414 +S315080025B00CE051B90023C3720C2303700623437041 +S315080025C04FF4A063C380234C00E00024C46004F5E4 +S315080025D00063036100230FE004EB431202F5106564 +S315080025E0191D00EB81018D6002F5306203F11401BB +S315080025F000EB81014A60013342789342ECD304F53B +S315080026008063436104F58863C0F8CC30002309E091 +S3150800261004EB431101F5A06103F1220200EB8202EB +S31508002620916001330578AB42F2D3002309E004EB4D +S31508002630033101F5805103F1320200EB8202916009 +S315080026400133AB42F3D304F56064C0F80C410020B3 +S3150800265030BC70470000044038B50446037A012BA5 +S3150800266022D10025C268936B6FF31043417A09B1F2 +S3150800267043F480139363E268D3686FF386136FF3AA +S3150800268096536FF351436FF3D343D3602046FFF756 +S3150800269025FFE378012B19D1052363F3440545F09B +S315080026A02005E3689D6011E0C268D16841F04003E7 +S315080026B0D360FFF713FF4FF45023627A0AB14FF441 +S315080026C0E813E26893631420FDF7B4FEE378012B60 +S315080026D007D1E3689D68052262F3440545F02005A5 +S315080026E09D60002038BD00BFC268936843F00103AF +S315080026F093600020704700BFC268936823F0010307 +S3150800270093600020704700BF00B583B00023019393 +S31508002710019A42F020020192019A61F38A1201920B +S31508002720C26801991161C268126901920133074AA8 +S31508002730934203D8019A12F0200FF4D10320FDF733 +S315080027406DFE002003B05DF804FB00BF400D0300DA +S3150800275000B583B000230193019A42F0100201925A +S31508002760C26801991161C268126901920133074A68 +S31508002770934203D8019A12F0100FF4D10320FDF703 +S315080027804DFE002003B05DF804FB00BF400D0300BA +S3150800279008B5C268D3686FF35D736FF39E7301293A +S315080027A002D143F0005302E009B943F08043D360F5 +S315080027B03220FDF73FFE002008BD00BFC3685869F8 +S315080027C000F00100704700BF08B5FFF7F7FF10F1EA +S315080027D0FF3018BF012008BDC36858699B691840B7 +S315080027E0704700BF0269136861F3010313607047FD +S315080027F038B505460024C3689C61C3686FF08042FB +S315080028005A61FFF75DFEEB7803B9102444F0804463 +S3150800281044F4701444F4605444F00C04EA68936970 +S3150800282023EA04031C439461002038BD70B50446AE +S315080028300025D0F80C311D600269136865F3CC23B6 +S315080028401360C37A012B27D12E460321FFF7CAFF4F +S31508002850E26880235362202262F31F4563F30F0563 +S31508002860E1688D62A02161F30F0663F31F46E368F2 +S31508002870C3F804614FF4907363F30F0662F31F46BF +S31508002880E368C3F808614FF4A07363F30F066FF3A8 +S315080028901F46E368C3F80C6110212046FFF734FF92 +S315080028A02046FFF755FF236900221A6123695A61FA +S315080028B023694FF0FF3199612369DA6116E0131D28 +S315080028C004EB83039B681B68002B02DA4FF09041E8 +S315080028D000E00021131D04EB8303986801609968E2 +S315080028E0002008619B68FF219960013263789A424B +S315080028F0E5D3002218E002F1140304EB83035B68B6 +S315080029001B68002B02DA4FF0904100E0002102F12B +S31508002910140304EB830358680160596800200861B2 +S315080029205B68FF219960013263789A42E3D3226992 +S31508002930136943F480731361E378012B09D10323E8 +S31508002940402262F38A0343F4803362F359432269CF +S3150800295013632046FFF74CFF002070BD03699B6890 +S31508002960C3F34103022B04D005D8012B03D003205F +S315080029707047012070470220704700BF03699B68B3 +S3150800298082691168C3F34103022B02D06FF30A016F +S3150800299002E0032363F30A0111600269536843F4F2 +S315080029A0807353600020704730B400224B78012BA7 +S315080029B008D10D782C1D00EB8404A468AB4063F3A2 +S315080029C00F0209E00D7805F1140400EB840464682D +S315080029D00123AB4063F31F42236813F4004F0DD164 +S315080029E08D6865F30A03CD7865F39343C98861F367 +S315080029F0995343F0805343F4004323600369D9692C +S31508002A000A43DA61002030BC704700BF70B4002268 +S31508002A1015464B78012B08D10E78311D00EB810144 +S31508002A208C68B34063F30F0509E00B7803F11404CF +S31508002A3000EB840464680121994061F31F456FF334 +S31508002A40CF3222600269D36923EA0503D3610020E5 +S31508002A5070BC704738B54B78012B58D10B780433C6 +S31508002A6000EB83039B681A681C694B692BB96FF3E3 +S31508002A701204012363F3DC440DE063F312048D684A +S31508002A802B44013BB3FBF5F363F3DC44CB78012B12 +S31508002A9001D163F35E740B78043300EB83039B6800 +S31508002AA01C61C378012B07D10B78043300EB830331 +S31508002AB09B680C695C610CE0CB78012B09D04B69EB +S31508002AC03BB10C78012303FA04F405696B6B2343C5 +S31508002AD06B63CB78012B09D103699B6813F4807F5C +S31508002AE002D142F0005201E042F0805242F0044224 +S31508002AF00B78043300EB83039B681A60CB78012BB1 +S31508002B0044D18B8A0A78C968FFF714FD3EE00B7832 +S31508002B10143300EB83035B681A681C694B6933B985 +S31508002B208B6863F31204012363F3DC440CE08D68BD +S31508002B302B44013BB3FBF5F3C3F3090363F3DC440E +S31508002B4005FB03F363F312040B78143300EB8303DA +S31508002B505B681C61C378012B06D10B78143300EB34 +S31508002B6083035B680C695C61CB78012B06D14B79D2 +S31508002B7013B142F0005201E042F0805242F00442A2 +S31508002B800B78143300EB830043681A60002038BDC5 +S31508002B9030B482B04B78012B49D183691A681C6915 +S31508002BA000944C696CB99DF800406FF306048DF8E3 +S31508002BB000409DF80240012565F3C4048DF80240E3 +S31508002BC017E08D68AC4207D94D619DF8004065F362 +S31508002BD006048DF8004005E09DF8005064F30605EC +S31508002BE08DF800509DF80240012565F3C4048DF860 +S31508002BF00240009C1C61C478012C06D10C78043470 +S31508002C0000EB8404A4680D69656142F004421A6009 +S31508002C10C378002B4CD14B69002B49D00A78012385 +S31508002C2003FA02F201694B6B13434B6340E00B78DE +S31508002C30143300EB83035B681A681B6900934B69BE +S31508002C4073B98C689DF8003064F306038DF800307C +S31508002C509DF80230012464F3C4038DF802300EE0B7 +S31508002C608C684C619DF8003064F306038DF80030DB +S31508002C709DF80230012464F3C4038DF802300B7802 +S31508002C80143300EB83035B68009C1C61C378012B3B +S31508002C9006D10B78143300EB83035B680C695C611F +S31508002CA042F004420B78143300EB830043681A6041 +S31508002CB0002002B030BC70474B78012B0DD10B7841 +S31508002CC0043300EB830082681368002B01DA43F0B3 +S31508002CD0804343F40013136008E00B78143300EBC9 +S31508002CE083004268116841F400131360002070479E +S31508002CF04B78012B05D10B78043300EB83008068F1 +S31508002D0004E00B78143300EB8300406802686FF325 +S31508002D105552CB78023BDBB2012B01D842F08052E8 +S31508002D2002600020704700BF03699869DB69184094 +S31508002D30000C7047143100EB81014B689A680369EF +S31508002D4058691040704700BF03699869DB691840E5 +S31508002D5080B2704782B000230093C0238DF80330F9 +S31508002D604FF00003012262F3C4038DF802301823E2 +S31508002D708DF80030436D009A1A61C378012B08D18B +S31508002D80436D00F2CC525A61436D1A684FF08022A7 +S31508002D901A6002B0704700BF38B50446FFF7F2FB69 +S31508002DA0012384F81231002284F8142115E09100D9 +S31508002DB01144CB002344012183F81D1183F81C21FB +S31508002DC0A3F82221002183F81F114020C3F824010B +S31508002DD0C3F82811C3F83011013260788242E6D36D +S31508002DE0002214E091001144CB002344002183F80B +S31508002DF0751383F87423A3F87A2383F87713402589 +S31508002E00C3F87C53C3F88013C3F88813013282428F +S31508002E10E8D32046FFF770FC2046FFF71DFC00218B +S31508002E202046FFF7B5FC2046FFF700FD2046FFF7D2 +S31508002E305BFC38BD70B54DB2002D09DA01F07F068E +S31508002E4006EB8606F40004F58C740444043408E0A2 +S31508002E5001F07F0606EB8606F40004F55C7404446C +S31508002E60043401F07F012170ED0F6570A260E370F4 +S31508002E7005B1E180022B01D1002323712146FFF71A +S31508002E8093FD002070BD00BF10B54AB2002A09DACA +S31508002E9001F07F0404EB8404E30003F58C73034418 +S31508002EA0043308E001F07F0404EB8404E30003F52F +S31508002EB05C730344043301F07F011970D20F5A7012 +S31508002EC01946FFF7A3FD002010BD00BF70B501F03D +S31508002ED07F04A6003519E9000D4601F55C71014429 +S31508002EE004310544C5F88023C5F888330023C5F89E +S31508002EF08C3385F8753385F87443C378012B05D16F +S31508002F0004EB8405EB000344C3F8842304EB840430 +S31508002F10E300034493F8743313B9FFF739FE01E06D +S31508002F20FFF798FD002070BD70B501F07F05AE0073 +S31508002F307119CC0004F58C740444211D2E44F40048 +S31508002F400444012684F81D6184F81C51C4F828211C +S31508002F50C4F82C210022C4F83421C4F8303115B93C +S31508002F60FFF716FE01E0FFF775FD002070BD00BFF4 +S31508002F7010B54AB2002A09DA01F07F0404EB84048A +S31508002F80E30003F58C730344043306E001EB810484 +S31508002F90E30003F55C730344043301249C7001F0D9 +S31508002FA07F011970D20F5A701946FFF785FE002067 +S31508002FB010BD00BF10B54AB2002A09DA01F07F0435 +S31508002FC004EB8404E30003F58C730344043306E03E +S31508002FD001EB8104E30003F55C7303440433002426 +S31508002FE09C7001F07F011970D20F5A701946FFF7CD +S31508002FF07FFE204610BD00BF002361F30A13026955 +S3150800300011680B431360704708B50369596841F0A6 +S3150800301002025A600320FDF70DFA08BD0A4B0B4A57 +S315080030209A6000221A60DB605A6040225A719A88B8 +S315080030304FF4C86161F30C029A808022DA7041F27B +S315080030400C0203498B507047801B0020901B002000 +S3150800305000800240054B064A9A60DB6000221A602F +S315080030605A6041F2100203498B50704780280020AD +S31508003070D0210020008002402DE9F041B2B00121A4 +S315080030804FF0F05000F0F6F90121472000F0F2F970 +S3150800309001214FF4804000F017FA012000F082FB6E +S315080030A08E23309300258DF8C65002248DF8C4402F +S315080030B08DF8C7508DF8C5405B4F30A9384600F0EB +S315080030C01BF90B220121384600F060F90B22214634 +S315080030D0384600F05BF90B220321384600F056F912 +S315080030E00B220721384600F051F94FF4006330935C +S315080030F08DF8C6508DF8C4408DF8C7508DF8C54078 +S3150800310007F5C05730A9384600F0F6F80B221146E5 +S31508003110384600F03BF9322330938DF8C6508DF8C7 +S31508003120C4408DF8C7508DF8C540DFF80C8130A92A +S31508003130404600F0E1F80B220121404600F026F94E +S315080031400B220421404600F021F90B2205214046B6 +S3150800315000F01CF94FF4C04330938DF8C6508DF833 +S31508003160C4408DF8C7508DF8C54030A9384600F0E0 +S31508003170C3F80B220D21384600F008F90B220E2160 +S31508003180384600F003F9FEF71BFCFEF735FEFEF79E +S315080031903BFE0128FBD001A8FEF71EFC0025019581 +S315080031A008954FF400730B930C954FF000430F935B +S315080031B0202312931495159516954FF400630993D9 +S315080031C04FF48043069313E0ACB202212046FEF783 +S315080031D053FC60F31F4603212046FEF74DFC60F3BF +S315080031E00F06124B9E4205D0114B9E4202D0013566 +S315080031F01F2DE9D9202D04D94FF4A1710D4801F0EE +S31508003200A7FFA9B201A8FEF795FC20B940F247111D +S31508003210084801F09DFFFFF71DFFFFF7FFFEFEF7C9 +S3150800322031FE32B0BDE8F0810000024019162200D6 +S31508003230F1C00700748D000800080240064B0822FA +S315080032401A7000225A7027229A706922DA705B2255 +S315080032501A7145225A717047901A002038B50D4BDD +S31508003260DB7813F0800F13D10A4D6888C0F30D047C +S3150800327022460949094805F00FFDEB7843F080031B +S31508003280EB70012141F20803054AD150204638BDAA +S31508003290002038BD801B0020901B0020242A002017 +S315080032A00080024038B50F4BDB7813F0800FFAD157 +S315080032B00D4B1C880D4D22460D49284605F0ECFCA1 +S315080032C0084B9D6000221A60102199705A60C4F359 +S315080032D00B049C80B022DA70012141F20403054AEE +S315080032E0D15038BD8028002094290020D021002004 +S315080032F0242A00200080024070B400233AE001220C +S315080033009A400C68A24334D104685D000322AA409F +S31508003310D2431440046006680C79AC403443046018 +S315080033200C79013CE4B2012C15D8846822408260ED +S3150800333084684A79AA402243826046689AB2012480 +S31508003340944026EA0404446046688C7904FA02F23A +S3150800335092B232434260C4689AB256000322B2401F +S3150800336024EA0202C260C668CC7904FA05F232433E +S31508003370C26001330F2BC2D970BC7047036919426A +S3150800338001D0012070470020704700BF30B401F01B +S3150800339007039B009A40C908083150F821400F25B9 +S315080033A005FA03F324EA030340F8213050F82130E4 +S315080033B01A4340F8212030BC704700BF10B4294B8F +S315080033C09B6803F00C03042B05D0082B06D053BBCF +S315080033D0254B036029E0254B036026E0214B5A68FC +S315080033E05B6803F03F0312F4800F09D01F4AB2FB53 +S315080033F0F3F21C4B5B68C3F3881303FB02F208E085 +S31508003400194AB2FBF3F3174A5168C1F3881101FB55 +S3150800341003F2144B5B68C3F3014301335B00B2FB51 +S31508003420F3F3036001E0104B03600E4CA368C3F38B +S3150800343003130F49CB5CDAB20368D3404360A26832 +S31508003440C2F382228A5CD2B223FA02F28260A268AE +S31508003450C2F342328A5CD2B2D340C3605DF8044BF1 +S31508003460704700BF003802400024F400001BB70074 +S31508003470A400002021B1054B1A6B1043186370474E +S31508003480024A136B23EA00001063704700380240B3 +S3150800349021B1054B5A6B104358637047024A536B68 +S315080034A023EA0000506370470038024021B1054BFB +S315080034B01A6C104318647047024A136C23EA00001A +S315080034C0106470470038024021B1054B5A6C10430E +S315080034D058647047024A536C23EA000050647047E8 +S315080034E00038024021B1054B1A691043186170472C +S315080034F0024A136923EA0000106170470038024047 +S3150800350021B1054B5A6A104358627047024A536AFA +S3150800351023EA00005062704700380240054B1B69D9 +S31508003520002B05DA034B044A5A6002F188325A60C6 +S31508003530704700BF003C024023016745024A1369F1 +S3150800354043F0004313617047003C0240014BD860CA +S31508003550704700BF003C02400E4BDB6813F4803F07 +S3150800356010D10C4BDB6813F0100F0DD1094BDB683B +S3150800357013F0EF0F0AD1074BDB6813F0020F07D0E1 +S3150800358007207047012070470520704706207047BE +S3150800359008207047003C024000B583B008238DF828 +S315080035A00730FFF7D9FF8DF8070003E0FFF7D4FFD0 +S315080035B08DF807009DF80730DBB2012BF6D09DF891 +S315080035C0070003B05DF804FB70B5054631B1012963 +S315080035D006D0022907D14FF4007606E0002604E05B +S315080035E04FF4807601E04FF44076FFF7D5FF0828C0 +S315080035F01ED1104C236923F44073236123691E43AB +S315080036002661236923F0F803236123691D4345F0E6 +S3150800361002052561236943F480332361FFF7BCFF64 +S31508003620236923F002032361236923F0F803236146 +S3150800363070BD00BF003C024070B505460E46FFF758 +S31508003640ABFF082813D10A4C236923F4407323617E +S31508003650236943F400732361236943F0010323615B +S315080036602E60FFF799FF236923F00103236170BDDC +S31508003670003C024008B501214FF40060FFF740FF07 +S3150800368000214FF40060FFF73BFF08BD10B40B4C58 +S31508003690636823F4FD4121F07F01027D83681A43A4 +S315080036A043681A43C3681A430368134302691343FA +S315080036B00B4363605DF8044B704700BF002C014064 +S315080036C0014B1860704700BFA0802542014B186067 +S315080036D0704700BF002C0140024B186800F0030039 +S315080036E0704700BF002C014010B40368094CA36062 +S315080036F0E36823F4FF6121F00701426883681A43EF +S31508003700C3681343026913430B43E3605DF8044B34 +S31508003710704700BF002C0140014B1869C0B27047C2 +S31508003720002C014082B000230193034B034401930C +S31508003730019B186802B07047142C014010B4036846 +S3150800374009494B6243688B62CB6A23F0F7048268A7 +S31508003750C3681A4303691343426913432343CB627D +S315080037605DF8044B704700BF002C0140014BD3F8AD +S3150800377080007047002C0140014BC3F88000704759 +S31508003780002C0140034B5B6B034201D001207047BC +S3150800379000207047002C0140014B9863704700BF1A +S315080037A0002C0140014B1860704700BFDC0027421F +S315080037B030B585B004460D46038A9BB223F44053C0 +S315080037C0CA881343038283899BB223F4B05323F038 +S315080037D00C01A8882A896B89024313430B43A381EA +S315080037E0A38A9BB223F44073AA891343A38268462B +S315080037F0FFF7E4FD204B9C4203D003F580639C420F +S3150800380001D1039A00E0029AA38913F4004F08D065 +S3150800381002EB820202EB820229684900B2FBF1F14F +S3150800382007E002EB820202EB820229688900B2FBFA +S31508003830F1F1124BA3FB01235B091B011A09642052 +S3150800384000FB1212A18911F4004F08D0D2003232BF +S315080038500A49A1FB0212C2F342121A4307E01201F7 +S3150800386032320649A1FB0212C2F343121A4392B23C +S31508003870228105B030BD00BF001001401F85EB5105 +S3150800388029B183899BB243F40053838170478389A6 +S315080038909BB223F400539BB283817047C1F308019E +S315080038A0818070478088C0F30800704703881942F2 +S315080038B001D0012070470020704700BF82B0002366 +S315080038C0019300932A4A136843F480331360284B04 +S315080038D01B6803F400330093019B01330193009B9B +S315080038E01BB9019BB3F5A06FF1D1214B1B6813F4EB +S315080038F0003F02D00123009301E000230093009BC0 +S31508003900012B32D11A4B1A6C42F080521A641949AB +S315080039100A6842F440420A609A689A609A6842F4D1 +S3150800392000429A609A6842F4A0529A60124A5A6013 +S315080039301A6842F080721A600D4B1B6813F0007FFC +S31508003940FAD040F205620D4B1A60A3F580639A68B7 +S3150800395022F003029A609A6842F002029A60044BC7 +S315080039609B6803F00C03082BF9D102B0704700BF1F +S3150800397000380240007000400C544007003C0240EA +S3150800398010B5104CD4F8883043F47003C4F8883066 +S315080039900D4B1A6842F001021A60002199601A68F4 +S315080039A022F0847222F480321A60084A5A601A6831 +S315080039B022F480221A60D960FFF780FF4FF0006377 +S315080039C0A36010BD00ED00E000380240103000246E +S315080039D0FEE700BF0346002002E00130C0B2013313 +S315080039E01A78002AF9D1704710B504464B88012B7E +S315080039F009D1C0F81831D0F8E4359B6898472046B5 +S31508003A0000F00EFC10BD022B29D18B8813F0FF0F96 +S31508003A1025D1026952681B0A013B042B17D8DFE837 +S31508003A2003F003070B0F1300012363F306120EE0DE +S31508003A30022363F306120AE0032363F3061206E081 +S31508003A40042363F3061202E0052363F30612044B0C +S31508003A501A60012384F81631204600F0E1FB10BDF8 +S31508003A609029002090F8CC350B7090F8CD354B7026 +S31508003A7090F8CE3590F8CF2503EB02234B8090F8CB +S31508003A80D03590F8D12503EB02238B8090F8D235F8 +S31508003A9090F8D32503EB02239BB2CB80C0F84031C4 +S31508003AA0012380F81131704710B504468021FFF7CD +S31508003AB05FFA00212046FFF75BFA2046FFF74AF92E +S31508003AC010BD00BF30B583B005460C464A88130AB8 +S31508003AD0013B062B67D8DFE803F004162266665E0C +S31508003AE06200D0F8EC351B680DF10601807898471E +S31508003AF0E388402B03D095F81231012B57D10823C0 +S31508003B00ADF8063053E0D0F8E4359B6A0DF10601AE +S31508003B108078984702234370C5F8F00547E0D2B28B +S31508003B20052A34D8DFE802F0030B131B232BD0F841 +S31508003B30EC355B680DF106018078984737E0D0F8D8 +S31508003B40EC359B680DF10601807898472FE0D0F890 +S31508003B50EC35DB680DF106018078984727E0D0F848 +S31508003B60EC351B690DF10601807898471FE0D0F8FF +S31508003B70EC355B690DF106018078984717E0D0F8B7 +S31508003B80EC359B690DF10601807898470FE02146D0 +S31508003B90FFF78AFF19E02146FFF786FF15E0214661 +S31508003BA0FFF782FF11E02146FFF77EFF0DE0BDF823 +S31508003BB0063053B1E28842B19A4228BF1A46ADF898 +S31508003BC006200146284600F00BFB03B030BD00BFB7 +S31508003BD038B504468B88E3B9CB88D3B98D7805F018 +S31508003BE07F0590F81231032B02D1FFF75DFF38BD30 +S31508003BF080F814512946FFF7FFF9204600F010FB1C +S31508003C001DB1022384F8123138BD012384F812311C +S31508003C1038BD2046FFF748FF38BD00BF10B504463B +S31508003C208B78214A1370012B02D9FFF73DFF10BD8F +S31508003C3090F81221022A02D0032A10D030E05BB194 +S31508003C4080F81031032280F81221194600F0B4FAE0 +S31508003C50204600F0E5FA10BD00F0E2FA10BD5BB9A7 +S31508003C60022280F8122180F81031194600F0B0FAC5 +S31508003C70204600F0D5FA10BD90F810118B420CD0F2 +S31508003C8000F0A6FA084B197884F81011204600F0BF +S31508003C9093FA204600F0C4FA10BD00F0C1FA10BD30 +S31508003CA0FFF702FF10BD00BF2406002008B5CB8829 +S31508003CB0012B02D0FFF7F8FE08BD90F81231022B4F +S31508003CC002D0032B05D00AE00122064900F088FA43 +S31508003CD008BD012200F5887100F082FA08BDFFF7D9 +S31508003CE0E3FE08BD2C06002008B590F81231023B09 +S31508003CF0012B0DD80122084B1A60D0F8183113B1E0 +S31508003D000322054B1A600222034900F069FA08BD2E +S31508003D10FFF7CAFE08BD00BF2006002010B50446FE +S31508003D2090F81231023B012B0DD84B88012B0CD190 +S31508003D300023C0F81831D0F8E4359B689847204628 +S31508003D4000F06EFA10BDFFF7AFFE10BD08B54B7850 +S31508003D50092B1BD8DFE803F011171A141A08051ADD +S31508003D600E0BFFF7AFFE13E0FFF732FF10E0FFF789 +S31508003D7055FF0DE0FFF79AFF0AE0FFF7B5FF07E0EA +S31508003D80FFF732FE04E0FFF7C9FF01E0FFF78CFEFC +S31508003D90002008BD38B504460D4690F81231032BAD +S31508003DA00FD10B79012B09D8D0F8E4359B689847D1 +S31508003DB0EB8843B9204600F033FA04E0FFF774FEB7 +S31508003DC001E0FFF771FE002038BD00BF38B5054693 +S31508003DD00C468A88D1B26378012B27D0002B49D0AC +S31508003DE0032B40F0818090F81231022B02D0032B6E +S31508003DF007D017E0002977D0802975D0FFF7B8F8E3 +S31508003E0072E0638823B919B1802901D0FFF7B0F8A9 +S31508003E10D5F8E4359B68214628469847284600F099 +S31508003E20FFF961E02146FFF73FFE5DE090F81231A9 +S31508003E30022B02D0032B07D018E0002954D0802982 +S31508003E4052D0FFF795F84FE06388002B4CD149B163 +S31508003E50802907D0FFF7AEF8D5F8E4359B682146E8 +S31508003E6028469847284600F0DBF93DE02146FFF74B +S31508003E701BFE39E090F81231022B02D0032B06D034 +S31508003E802FE089B380292FD0FFF772F82CE052B2C1 +S31508003E90002A10DA01F07F0101EB8101CB0003440F +S31508003EA093F81E311BB10122104B1A6013E0002251 +S31508003EB00E4B1A600FE0002A0DDB01EB8101CB00E7 +S31508003EC0034493F876331BB10122084B1A6002E0CB +S31508003ED00022064B1A6002220449284600F080F99F +S31508003EE002E02146FFF7E0FD002038BD2806002045 +S31508003EF0D0B170B50D4616460446FFF76BFD013086 +S31508003F00400080B23080287003236B70022307E0DC +S31508003F105A1CD2B20134E9540233DBB20021A95447 +S31508003F2021780029F4D170BD704700BF0369024AA1 +S31508003F3012685A60002070479029002010B5044680 +S31508003F40D0F8E8351B699847032384F81231002016 +S31508003F5010BD00BF08B590F8123180F8133104235C +S31508003F6080F81231D0F8E835DB689847002008BD9C +S31508003F7008B5D0F8E435DB6903B19847002008BDD9 +S31508003F8008B5D0F8E4351B6A9847002008BD00BF7D +S31508003F9008B5D0F8E4355B6A9847002008BD00BF2D +S31508003FA010B50446D0F8E8355B699847012384F8CC +S31508003FB01531002010BD00BF10B50446D0F8E8350D +S31508003FC09B699847D4F8E4355B68002120469847F2 +S31508003FD0002084F8150110BD10B5044600234022C0 +S31508003FE01946FEF727FF0023402280212046FEF7C8 +S31508003FF021FF012384F81231D4F8E8355B68A078EC +S315080040009847002010BD00BF10B582B00446694627 +S31508004010FFF728FD9DF8001001F01F03012B08D0BB +S3150800402013B1022B0AD00EE069462046FFF78EFE32 +S315080040300EE069462046FFF7ADFE09E069462046D0 +S31508004040FFF7C4FE04E001F080012046FEF790FF6A +S31508004050002002B010BD00BF10B50446002947D1A4 +S3150800406090F81131022B38D1D0F83821D0F8243104 +S315080040709A4211D9D21AC0F83821C178012904D137 +S31508004080D0F828110B44C0F8283192B2D4F8281178 +S31508004090204600F0B5F820E0D0F83C11B1FBF3F269 +S315080040A003FB121262B98B420AD8D0F84031994202 +S315080040B006D2114600F0A4F80023C4F840310CE0FB +S315080040C0D4F8E435DB682BB194F81221032A01D120 +S315080040D020469847204600F0B3F894F81631012B8D +S315080040E011D12046FFF722FF002384F816310AE093 +S315080040F00A46D0F8E4355B692BB190F8121103290A +S3150800410001D111469847002010BD00BF10B50446DE +S3150800411059BB90F81131032B32D1D0F89033D0F82F +S315080041207C23934214D99B1AC0F89033C17801298D +S3150800413004D1D0F880131144C0F880139A4228BFDE +S315080041401A4692B2D4F88013204600F061F817E0B8 +S31508004150D0F8E4351B6923B190F81221032A00D15F +S315080041609847204600F05CF80AE00A46D0F8E4359D +S315080041709B692BB190F81211032901D11146984772 +S31508004180002010BDF8B504460D4616461F46FCF736 +S31508004190EBF8C4F8E475069BC4F8E835C4F8EC6592 +S315080041A029462046FEF7F8FDD4F8E8351B689847F7 +S315080041B02046FCF731F9F8BD10B50446D0F8E435C9 +S315080041C01B689847D4F8E8359B689847002010BDC7 +S315080041D008B5D0F8E4355B689847002008BD00BFED +S315080041E010B504461346C4F83C21C4F83821022207 +S315080041F080F811210A460021FEF796FE002010BD20 +S3150800420008B513460A460021FEF78EFE002008BDB3 +S3150800421008B513460A460021FEF758FE002008BDD9 +S3150800422010B50446042380F8113100231A461946AE +S31508004230FEF77AFE2046FEF78DFD002010BD00BF72 +S3150800424010B50446052380F8113100231A4619468D +S31508004250FEF73CFE2046FEF77DFD002010BD00BFA0 +S3150800426010B4002304E010F8011B0B44DBB221460E +S315080042704C1E0029F7D1136001205DF8044B7047E6 +S315080042800022014B5A70704730060020034BFE226D +S31508004290DA7018710222A3F844207047300600200D +S315080042A010B5054C00232370FFF7EAFFFF23E370E0 +S315080042B00123A4F8443010BD30060020064BFF2227 +S315080042C0DA7000221A71597859719A71DA711A726C +S315080042D00622A3F8442070473006002008B50020BF +S315080042E0FFF7D4FF08BD00BF084BFF22DA70084A63 +S315080042F09A6400221A715A719A710721D9711A7231 +S315080043005A729A720822A3F8442070473006002091 +S31508004310888D0008044BFF22DA7042689A640122ED +S31508004320A3F84420704700BF3006002010B5084C9B +S31508004330FF23E370E21D4168A06CFFF791FF20712F +S3150800434000236371A3710823A4F8443010BD00BF8D +S315080043503006002008B53120FFF798FF08BD00BFDA +S3150800436038B5084CFF23E37000252571657100F008 +S31508004370DFFAA071E571257265720723A4F8443047 +S3150800438038BD00BF3006002038B500F0CBFB18B9A1 +S315080043901020FFF77BFF38BDFFF772FF0D4C012594 +S315080043A02570FF23E370102323710023637100F047 +S315080043B0BFFAA07100F0CAFAE07100F0C7FAC0F3BC +S315080043C0072020726572A5720823A4F8443000F00D +S315080043D083FF38BD3006002038B50546447800F01E +S315080043E0A7FA0138844203DD2220FFF74FFF38BDC4 +S315080043F0084C6A78A16C201D01F076F9FF23E3705A +S315080044006B78A26C1344A3646B780133A4F8443028 +S3150800441038BD00BF3006002038B50446457800F0A0 +S3150800442087FA0138854203DD2220FFF72FFF38BDC2 +S315080044306168084DA9646278281D01F055F9FF23C3 +S31508004440EB706378AA6C1344AB6463780133A5F800 +S31508004450443038BD3006002038B505460D4B9C6CF7 +S3150800446000F066FA6A1C411E204600F039FF18B9AA +S315080044703120FFF70BFF38BD064CFF23E37000F031 +S3150800448057FA0138A36C1844A0640123A4F84430F1 +S3150800449038BD00BF3006002038B50446457800F020 +S315080044A047FA0238854203DD2220FFF7EFFE38BDC2 +S315080044B00F4BFF22DA700122A3F84420617831B944 +S315080044C000F01EFF90B93120FFF7E0FE38BDA21CB0 +S315080044D0074B986C00F004FF18B93120FFF7D6FE99 +S315080044E038BD6378024A916C0B44936438BD00BFAB +S315080044F03006002008B54168074B986C00F0F4FEBA +S3150800450018B93120FFF7C2FE08BD034BFF22DA7047 +S315080045100122A3F8442008BD3006002008B501F0A2 +S31508004520C7F8034BFF22DA700122A3F8442008BD1E +S315080045303006002008B589B200F0D4F908BD00BFDE +S31508004540054B00221A709A6483F84320A3F8442086 +S315080045509A705A70704700BF30060020024B1878D0 +S3150800456000B10120704700BF300600200022024B30 +S3150800457083F84320704700BF3006002008B503784B +S31508004580FF2B02D1FFF700FF50E0334A1278012AC9 +S3150800459060D1C93B352B46D8DFE803F033454542A1 +S315080045A045453F363C3945454545454545454545D7 +S315080045B0454545454545454545454545454545459D +S315080045C0454545454545241E1B2145454527452A5C +S315080045D02D30FFF701FF29E0FFF71EFF26E0FFF762 +S315080045E099FE23E0FFF7A2FE20E0FFF77DFE1DE01F +S315080045F0FFF774FE1AE0FFF761FE17E0FFF750FEBB +S3150800460014E0FFF729FF11E0FFF746FF0EE0FFF77A +S31508004610A7FE0BE0FFF76EFF08E0FFF77FFF05E058 +S31508004620FFF798FE02E02020FFF730FE0A4B93F8CA +S315080046304330012B02D11020FFF728FE064BB3F9B1 +S315080046404410002906DD1846012380F8433003305C +S31508004650FFF770FF08BD00BF3006002010B5FEF753 +S31508004660FDFD48B32C4A10802C4B9C894FF4006002 +S3150800467003F040FB84420DD1012003F075FB264B65 +S315080046801B88CBB104F0F6F9FEF70CFE0022224B8C +S315080046901A8011E0214B9C8940F6060003F02AFB9C +S315080046A0844209D104F076F91B4B1B8823B1FEF727 +S315080046B0F9FD0022184B1A8001F05AFB184B1B68AB +S315080046C098421BD303F5FA73154A1360002413E0C6 +S315080046D0144A682303FB0423134A1360022003F0D9 +S315080046E043FB0D4B1B8833B104F0C4F9FEF7DAFD22 +S315080046F00022094B1A800134002CE9D001F038FB5E +S315080047000A4B1B68984206D303F51C531033074A15 +S31508004710136004F00DF910BD94290020242A002006 +S3150800472080060020AC290020A82900207C0600204D +S3150800473008B5FEF7A1FC01F01BFB00F5FA70124B59 +S31508004740186001F015FB00F51C5010300F4B18606F +S3150800475003F088FA0E4B4FF6A9621A8043F61371D6 +S3150800476059800C4B4FF6FF711980002159800A4B6E +S315080047701A8040F213125A804EF6030003F0A0FA8C +S31508004780FEF75CFD08BD00BF800600207C06002001 +S31508004790202A00201C2A0020182A002038B50D4B94 +S315080047A01D68EB692B62002306E01A1DC45C2A44C7 +S315080047B082F8204001339BB28AB29342F5D3111D89 +S315080047C0A5F8641005F1200004F01CF8EB69013324 +S315080047D0EB6138BDA829002008B5FFF73FFF002088 +S315080047E008BD00BF10B5154B1C68154B1B7813F098 +S315080047F0400F05D00123E3610023A4F8643010BDFF +S3150800480013F0010F02D00022A4F8642013F0040F5D +S3150800481006D0B4F8641019B104F1200003F0F2FFD1 +S31508004820074B1B7813F0020F07D00023A4F8643057 +S31508004830044B18680430FFF7A1FE10BDA829002014 +S31508004840A0290020A429002010B5FFF779FE01F061 +S3150800485051F9084C0123237000F0A8FC00232370AB +S3150800486000F01CFE02232370FFF762FF0323237068 +S3150800487010BD00BFE400002008B5164801F00AFA8A +S31508004880012805D10122144B1A701248FFF776FE4B +S31508004890104800F0D1FC012805D100220E4B1A70F1 +S315080048A00C48FFF76BFE0B4800F05CFE012805D1AB +S315080048B00222094B1A700748FFF760FE0548FFF702 +S315080048C08BFF012805D10322034B1A700148FFF715 +S315080048D055FE08BD84060020E400002008B500F057 +S315080048E00FFE08BD38B504460D46104B1B78012B44 +S315080048F002D1C9B201F084F90C4B1B781BB9E9B295 +S31508004900204600F071FC094B1B78022B03D1E9B253 +S31508004910204600F0FFFD054B1B78032B03D1E9B2B7 +S315080049202046FFF73BFFFFF721FE38BDE4000020D5 +S31508004930054B1B78012B05D0022B01D04020704770 +S315080049403F20704708207047E4000020054B1B787D +S31508004950012B05D0022B01D0402070473F2070471D +S3150800496008207047E400002008B5FFF7F7FD08BDEA +S3150800497008B5FFF7F9FF012817D000F0D3F8A0B162 +S315080049800A4B1B78012B10D101F0F2F9084B1B6872 +S3150800499003F51C531033984207D30022034B1A70B1 +S315080049A000F0CAF808B900F083FE08BDC406002066 +S315080049B0C806002008B50122044B1A7001F0D8F980 +S315080049C0034B1860FFF7D4FF08BD00BFC4060020DC +S315080049D0C806002008B500F067FE00F017F801F0D9 +S315080049E0A5F900F079FC00F087F8FFF72DFFFFF72F +S315080049F0E1FF08BD08B500F00BF801F0ABF900F0CF +S31508004A009FF9FFF739FFFFF7B3FF08BD704700BFEF +S31508004A10704700BF034601310D4AA2FB0323DB089A +S31508004A20F9D110B400230B70094BA3FB0023DB0854 +S31508004A301A4603EB83035C00031B303301F8013D80 +S31508004A401046002AF0D108465DF8044B704700BFAF +S31508004A50CDCCCCCC00F00F03092802D903F13700DE +S31508004A60704710B503F1300404F0FAF8204443788F +S31508004A7003F00303022B00D1203CE0B210BD00BFB7 +S31508004A8038B505460C460009FFF7E4FF207005F027 +S31508004A900F00FFF7DFFF60700023A370204638BDC4 +S31508004AA0F8B50746002634461EE0BD5D04F0D8F882 +S31508004AB02844437803F00303022B00D1203DEBB2D0 +S31508004AC0A3F13002D2B2162A12D8A3F13A01C9B21A +S31508004AD006290FD9092A01D9373BDAB22301DBB2F5 +S31508004AE01344DCB20136F6B2012EDED92046F8BDF3 +S31508004AF00020F8BD0020F8BD08B50022054B1A7045 +S31508004B000549064802F062FB18B17721044800F00F +S31508004B101FFB08BD0C070020908D00081807002011 +S31508004B20948D0008034B1B780BB9012070470020B1 +S31508004B30704700BF0C07002008B5FFF715FF0128CE +S31508004B400AD0084B1B784BB9FBF71AFD012807D189 +S31508004B500122044B1A7008BD002008BD002008BDBC +S31508004B60002008BD0C07002038B50546047804F077 +S31508004B7077F82044437803F00303022B00D1203C46 +S31508004B80532C0FD104F06CF86B781844427812F065 +S31508004B90040F09D0312B09D0322B09D0332B09D178 +S31508004BA0022038BD032038BD032038BD002038BD9B +S31508004BB0012038BD032038BD70B506460230FFF720 +S31508004BC06FFF054684B204363046FFF769FF28446E +S31508004BD0C5B2013CA4B20236012CF5D8ED43EDB2BC +S31508004BE03046FFF75DFF854201D0002070BD0120E9 +S31508004BF070BD00BFF8B5044616460F4601B120B988 +S31508004C0040F261214D4800F0A3FA2046FFF7ACFFB9 +S31508004C100546032800F08A802046FFF7CDFF0028C6 +S31508004C2000F08680012D25D015B1022D4CD082E0EA +S31508004C30A01CFFF735FF85B2201DFFF731FF0002E4 +S31508004C403860A01DFFF72CFF3B681844386008340D +S31508004C50E81E05B24EB92846F8BD2046FFF720FFE4 +S31508004C60F05502340137BFB200E00027AF42F4DB4B +S31508004C702846F8BDA01CFFF713FF85B2201DFFF7D5 +S31508004C800FFF00043860A01DFFF70AFF3B6803EB1F +S31508004C900020386004F10800FFF702FF3B6818445B +S31508004CA038600A34281F05B24EB92846F8BD204692 +S31508004CB0FFF7F6FEF05502340137BFB200E00027D1 +S31508004CC0AF42F4DB2846F8BDA01CFFF7E9FE85B223 +S31508004CD0201DFFF7E5FE00063860A01DFFF7E0FE81 +S31508004CE03B6803EB0040386004F10800FFF7D8FE84 +S31508004CF03B6803EB0020386004F10A00FFF7D0FE9A +S31508004D003B68184438600C34681F05B24EB928460B +S31508004D10F8BD2046FFF7C4FEF05502340137BFB28E +S31508004D2000E00027AF42F4DB2846F8BD0020F8BDB6 +S31508004D304FF0FF30F8BD0020F8BD00BF948D000885 +S31508004D4070B5AC4B1B78002B00F0E781012B29D1FD +S31508004D5000F0C2FAFBF738FCA748FBF777FCA74830 +S31508004D60FBF774FCFBF72CFC01220146A44802F071 +S31508004D7059FA30B1A348FBF769FC0120FBF75AFC46 +S31508004D8070BDA148FBF762FCA048FBF75FFCA04892 +S31508004D90FBF75CFC9F4B00221A605A600222954B77 +S31508004DA01A7070BD022B40F0EF809B4C04F50C7214 +S31508004DB04FF48071994802F037FE94F841326BB18E +S31508004DC09048FBF743FC0220FBF734FC04F50C7013 +S31508004DD002F0E0FC0022874B1A7070BDB0B18F4814 +S31508004DE0002200F5C071FFF705FF0446B0F1FF3F4A +S31508004DF00DD18448FBF72AFC0320FBF71BFC8048EF +S31508004E0002F0C8FC00227B4B1A7070BD0024002CEF +S31508004E105BDD804B5B6833B9804BD3F880217D4BD3 +S31508004E201A605C6051E07D4AD2F88011794A1268AE +S31508004E301A44914203D12344764A536045E07248A6 +S31508004E40FBF704FC7648FBF701FC764E714D3146BC +S31508004E506868FFF7DFFD3046FBF7F8FB7248FBF79B +S31508004E60F5FB3146E878FFF70BFEB11CA878FFF78B +S31508004E7007FE311D6878FFF703FEB11D2878FFF796 +S31508004E80FFFD3046FBF7E2FB6848FBF7DFFB696886 +S31508004E90286800F029FA60B95A48FBF7D7FB0520BD +S31508004EA0FBF7C8FB564802F075FC0022514B1A70F6 +S31508004EB070BD5548FBF7CAFB5548FBF7C7FB574B70 +S31508004EC0D3F88021534B1A605C60534BD3F84422C5 +S31508004ED0D3F83C329A4240F020810021484802F03B +S31508004EE06BFC60B14748FBF7B1FB0420FBF7A2FB5C +S31508004EF0434802F04FFC00223E4B1A7070BD454BEA +S31508004F005B68002B39D04048FBF7A0FB4448FBF709 +S31508004F109DFB444D3F4C29466068FFF77BFD2846BC +S31508004F20FBF794FB4048FBF791FB2946E078FFF72F +S31508004F30A7FDA91CA078FFF7A3FD291D6078FFF738 +S31508004F409FFDA91D2078FFF79BFD2846FBF77EFBF2 +S31508004F503648FBF77BFB6168206800F0C5F960B945 +S31508004F602848FBF773FB0520FBF764FB244802F08F +S31508004F7011FC00221F4B1A7070BD2348FBF766FB15 +S31508004F8003221C4B1A7070BD032B40F0C680224CBE +S31508004F9004F50C724FF48071204802F045FD94F830 +S31508004FA041326BB12248FBF751FB0220FBF742FB6B +S31508004FB004F50C7002F0EEFB00220E4B1A7070BD61 +S31508004FC0002839D0154800F5807200F5C071FFF742 +S31508004FD011FE0546B0F1FF3F2FD11648FBF736FB09 +S31508004FE00320FBF727FB064802F0D4FB0022014BFF +S31508004FF01A7070BD0C070020AC8D0008D08D000813 +S3150800500048090020F88D0008008E0008088E000860 +S315080050102C8E00081007002018070020700B0020AF +S315080050205C8E0008CC060020688E00080C8F0008ED +S31508005030848E0008A88E00080025002D40DD37481C +S31508005040FBF704FB364C21462846FFF7E3FC2046CF +S31508005050FBF7FCFA3348FBF7F9FA334E214696F884 +S315080050608301FFF70DFDA11C96F88201FFF708FDE5 +S31508005070211D96F88101FFF703FDA11D96F8800111 +S31508005080FFF7FEFC2046FBF7E1FA2848FBF7DEFAB5 +S3150800509006F580722946D6F8800100F021F960B934 +S315080050A02348FBF7D3FA0620FBF7C4FA214802F097 +S315080050B071FB0022204B1A7070BD2048FBF7C6FA18 +S315080050C01F4BD3F84422D3F83C329A4225D11D48C7 +S315080050D0FBF7BCFA00F014F960B91548FBF7B6FA05 +S315080050E00720FBF7A7FA134802F054FB0022124BDD +S315080050F01A7070BD1148FBF7A9FA1348FBF7A6FA10 +S315080051000C4802F047FB1148FBF7A0FA00220A4BAD +S315080051101A70FBF76DFA00F0CBFA70BDCC8E00085A +S31508005120CC060020DC8E0008700B00200C8F0008CF +S31508005130F88D0008480900200C070020008E00089A +S3150800514018070020F48E0008108F0008288F000822 +S3150800515008B5FFF75DFCFCE710B504468021094851 +S31508005160FEF7A4FB58B121460648FEF797FB8021B7 +S315080051700448FEF79BFB0028F9D0012010BD00204B +S3150800518010BD00BF0014014010B504462021064892 +S31508005190FEF78CFB012805D10348FEF783FB207038 +S315080051A0012010BD002010BD0014014010B584B0C8 +S315080051B04FF4614300930023ADF80430ADF8063090 +S315080051C0ADF80830ADF80C300C23ADF80A30054CB4 +S315080051D069462046FEF7ECFA01212046FEF750FB09 +S315080051E004B010BD0014014070B506460D464029AE +S315080051F003D976210F48FFF7ABFF2846FFF7ACFF28 +S31508005200012803D07A210B48FFF7A2FF00240CE0FF +S31508005210FFF7FEFB305DFFF79FFF012803D08321D0 +S315080052200448FFF795FF0134A4B2ABB29C42EFD312 +S3150800523070BD00BF548F000838B5224B1C789CB946 +S315080052402148FFF7A1FF01283AD11F4B1B78002BF5 +S3150800525031D000F08DFD1D4B186000221C4B1A70D2 +S315080052600122184B1A702BE00546194B1B7801339F +S3150800527015481844FFF788FF0446012810D1144B37 +S315080052801A780132D2B21A700F4B1B789A4214D18F +S315080052901049284600F028FA00220A4B1A700FE037 +S315080052A000F066FD094B1B686433984207D9002451 +S315080052B0044B1C7004E01C4602E0002400E00024B5 +S315080052C0204638BD390D0020F80C0020F40C0020CB +S315080052D03A0D0020F90C002008B500F019FB08BDAE +S315080052E008B500F021FB08BD08B500F04BFB08BD6A +S315080052F008B500F087FB08BD08B500F0CBFB08BD74 +S3150800530008B500F057FB034610B100F0A3FB0346AF +S31508005310184608BD094B03F11801002205E09A74E6 +S315080053205961183318310132D2B2002AF7D09A746B +S3150800533000225A61014A024B1A607047400D00204C +S315080053403C0D00200B4B1B6873B110B45C69094A0D +S31508005350146019749860D86000225A74186001396C +S3150800536008445860987C01E0FF2070475DF8044BBC +S31508005370704700BF3C0D002038B504460D4601288D +S3150800538004D94FF4CD711548FFF7E2FE62002244B6 +S31508005390D300134A13445A7C1B7C9A421AD06200E3 +S315080053A02244D3000E4A1344DA6815705A7C013237 +S315080053B05A74DA680132DA605B689A420CD9084A8C +S315080053C063001819C1000846515803461344D960AA +S315080053D0012038BD002038BD012038BD7C8F00086B +S315080053E0400D002008B50146024B1878FFF7C4FFA8 +S315080053F008BD00BFB40D002038B504460D46012887 +S3150800540004D94FF4DE711448FFF7A2FE04EB4402F8 +S31508005410D300124A1344587CE0B162002244D300F8 +S315080054200E4A13449A6812782A705A7C013A5A74BA +S315080054309A6801329A605B689A420AD9074A6300F9 +S315080054401819C100084651580346134499600120AB +S3150800545038BD012038BD00BF7C8F0008400D0020F4 +S3150800546008B50146024B1878FFF7C6FF08BD00BF0E +S31508005470700D002010B50446012804D94FF4EE71CA +S315080054800448FFF765FE04EB4404E300024A1344AC +S31508005490587C10BD7C8F0008400D002030B583B0C5 +S315080054A0FFF738FF0F4C4021601CFFF74BFF2070B9 +S315080054B00D4D4021681CFFF745FF28702378FF2B08 +S315080054C001D0FF2803D179210848FFF741FE084B90 +S315080054D00093084B084A01210848FEF753FE03B01B +S315080054E030BD00BFB40D0020700D00207C8F000871 +S315080054F0000000201C00002068000020F80D002095 +S3150800550008B50348FDF780FD0020FBF725F808BD20 +S31508005510F80D002070B506460D463F2903D99A2195 +S315080055200F48FFF715FE2846FFF75CFF012803D052 +S315080055309E210B48FFF70CFE00240CE0FFF768FAE3 +S31508005540305DFFF74FFF012803D0A7210448FFF776 +S31508005550FFFD0134A4B2ABB29C42EFD370BD00BFCD +S315080055607C8F000838B505461B48FCF731FF1B4BF6 +S315080055701C7874B91A48FFF773FF012829D1184B0C +S315080055801B780BB30122154B1A700022154B1A70A3 +S315080055901FE0144B1B78013311481844FFF760FFCE +S315080055A00446012812D10F4B1A780132D2B21A706A +S315080055B00B4B1B789A420BD10B49284600F094F8FE +S315080055C00022064B1A7004E01C4602E0002400E0A4 +S315080055D00024204638BD00BFF80D00203B0D0020F2 +S315080055E02C1400206C1400202D14002030B583B034 +S315080055F0134B1878FFF73EFF00B30546402800D93D +S315080056004025002412E00DF107010D4B1878FFF72D +S31508005610F3FE012804D04FF492710A48FFF798FD6B +S315080056209DF80720084B1A550134E4B2A542EAD87A +S315080056302B46054A81210548FDF776FC03B030BDA7 +S31508005640B40D00207C8F0008EC130020F80D002014 +S3150800565070B500EB8000C300104A1344B3F88C639E +S31508005660002410E00E4B1D78FBF786F8015D2846EE +S31508005670FFF782FE012804D040F243110948FFF7DC +S3150800568067FD0134A4B2B442ECD3FBF775F84023A6 +S31508005690024601210148FDF719FC70BDF80D0020EE +S315080056A0700D00207C8F000808B500F069FB08BD66 +S315080056B010B5FFF71DFEA0B1FAF754FF88B1FFF742 +S315080056C00DF900F02DFBFFF717FE20F0604020F0E3 +S315080056D07F00044B1860FFF70FFE446800F052FB8A +S315080056E0A04710BD08ED00E070B508E0461C4D1C4B +S315080056F00B780370FFF78CF9224630462946531E6D +S315080057009CB2002AF2D170BD38B50546002419E0CE +S31508005710FFF77EF904EB440293000C4AD358AB42D8 +S315080057200ED804EB44018A0008490A445268134417 +S315080057309D4205D204EB440083000B44187A38BD19 +S315080057400134E4B2082CE3D9FF2038BDD48F000811 +S3150800575008B5C1F3080353B90368994209D040F85C +S31508005760041B4FF40072FFF7BFFF012008BD00209D +S3150800577008BD012008BD00BF2DE9F04107460068B5 +S31508005780FFF7C2FFFF282ED0FDF7C8FEF320FDF76E +S31508005790DDFEFDF7E1FE012818D1FDF7CFFE00205A +S315080057A0BDE8F0813E68A30006EB03083B445D684C +S315080057B0FFF72EF929464046FDF73EFF08280AD18D +S315080057C056F824309D4208D1013400E000247F2C8D +S315080057D0E8D9012402E0002400E00024FDF7AEFE2B +S315080057E02046BDE8F0810020BDE8F08138B50D46B9 +S315080057F00B4B984207D004460A4B994205D0FFF74F +S31508005800BBFF18B908E0084C00E0054C29462046BD +S31508005810FFF79EFF10B938BD002038BD204638BDB9 +S315080058207014002000C00008741600202DE9F0410D +S3150800583006460C4617461D4621F4FF7828F001084F +S315080058400368B3F1FF3F04D14146FFF781FF0346E2 +S3150800585030B33368984505D041463046FFF7C6FF52 +S315080058600646D0B13368E41A34440434FFF7D0F856 +S31508005870331DE31AB3F5007F07D308F500713046E8 +S31508005880FFF7B4FF064650B1041D17F8013B04F8AC +S31508005890013B013DEAD1012302E0002300E0002399 +S315080058A01846BDE8F08100BF884229D838B50446B5 +S315080058B00D46022826D90B2926D8FDF72FFEF320F8 +S315080058C0FDF744FEFDF748FE012813D1FDF736FE25 +S315080058D0002038BDFFF79CF802210C4B33F8140062 +S315080058E0FDF772FE082803D0FDF728FE002038BD14 +S315080058F00134E4B2AC42EDD9FDF720FE012038BDF3 +S3150800590000207047002038BD002038BDA48F00084D +S315080059104FF0FF33024A1360024A1360704700BF14 +S31508005920741600207014002070B504460D461646FD +S31508005930FFF7EAFEFF281AD060190138FFF7E4FEE0 +S31508005940FF2816D024F4FF7323F001030A4A934272 +S3150800595006D12B46324621460848FFF767FF70BD39 +S315080059602B46324621460648FFF760FF70BD0020E9 +S3150800597070BD002070BD00BF00C000087014002074 +S315080059807416002070B506460C46FFF7BDFE0546A0 +S3150800599030190138FFF7B8FEFF2D06D0FF2806D0CC +S315080059A001462846FFF780FF70BD002070BD002025 +S315080059B070BD00BF114B1B68B3F1FF3F18D000B58F +S315080059C083B00E4B59689A681144DA6811441A690B +S315080059D011445A6911449A691144DA698B185B4271 +S315080059E002AA42F8043D04210548FFF79DFF01E09D +S315080059F00120704703B05DF804FB00BF7014002057 +S31508005A0088C100080D4B1A6804331B6813440C4AF6 +S31508005A10126813440B4A126813440B4A11680B4464 +S31508005A20043212681A44094B1B681344084A126860 +S31508005A30D34201D1012070470020704700C00008FA +S31508005A4008C000080CC0000810C0000818C00008EC +S31508005A5088C1000808B50D4B1B68B3F1FF3F04D099 +S31508005A600A48FFF789FE034668B1094B1B68B3F17C +S31508005A70FF3F05D00648FFF77FFE034610B902E050 +S31508005A80012300E00123184608BD00BF701400205A +S31508005A90741600200048704700C00008F0B50024BE +S31508005AA021E0134D15F8147005EB440595F801E04F +S31508005AB007EB0E0505FB00054AF2104C9CFBF5F6B4 +S31508005AC005FB16C66EB99CFBF5F5ADB20D80013D1A +S31508005AD0ADB2B5F5806F04D2177083F800E00120E7 +S31508005AE0F0BD0134E4B2112CDBD90020F0BD00BFB3 +S31508005AF06890000800B583B001AB0DF105020DF101 +S31508005B0006014FF4FA70FFF7C9FF012803D0EE210A +S31508005B103848FFF71DFB384B00225A611A6842F4D1 +S31508005B2000421A6001E0FEF773FF334B1B6813F45B +S31508005B30004FF8D1304B1A6822F002021A601A6830 +S31508005B4042F001021A6001E0FEF762FF2A4B5B6829 +S31508005B5013F0010FF8D09DF805305A1E9DF8043051 +S31508005B60013B1B0543EA0243BDF80620013A1343ED +S31508005B70214AD361136823F00103136001E0FEF79D +S31508005B8047FF1D4B5B6813F0010FF8D11B4BD3F889 +S31508005B90002242F00102C3F80022D3F81C2222F4A4 +S31508005BA08042C3F81C22D3F80C2242F48042C3F880 +S31508005BB00C220022C3F8B022C3F8B422D3F8042278 +S31508005BC022F48042C3F80422D3F8142222F4804235 +S31508005BD0C3F81422D3F81C2242F48042C3F81C22CC +S31508005BE0D3F8002222F00102C3F8002203B05DF8C0 +S31508005BF004FB00BF409000080068004000640040B5 +S31508005C0038B504460D46214B9B6813F0806F04D1C6 +S31508005C104FF4A2711E48FFF79BFA1C4BD3F880215C +S31508005C2002F00102C3F88021D3F8802142F07C42B9 +S31508005C3042F40012C3F88021C3F88451E178A278AF +S31508005C40120442EA0162617842EA012221780A4393 +S31508005C50C3F88821E179A279120442EA01626179DE +S31508005C6042EA012221790A43C3F88C21D3F880211C +S31508005C7042F00102C3F8802101E0FEF7C9FE034B9A +S31508005C809B6813F0806FF8D038BD00BF00680040ED +S31508005C9040900008214BDB6813F0030F3CD01F4BE4 +S31508005CA0D3F8B03113F0040F04D11C4BD3F8B0313C +S31508005CB05B0D05E0194BD3F8B031DB0843F0004320 +S31508005CC040F26762934220D1144BD3F8B821027090 +S31508005CD0D3F8B821120A4270D3F8B821120C827090 +S31508005CE0D3F8B821120EC270D3F8BC210271D3F8CA +S31508005CF0BC21120A4271D3F8BC21120C8271D3F866 +S31508005D00BC311B0EC371012000E00020034AD36892 +S31508005D1043F02003D36070470020704700680040B6 +S31508005D200022014B1A60704710E000E008B5FFF743 +S31508005D30F7FF054B054A5A6000229A60052119604B +S31508005D40034B1A6008BD00BF10E000E03F90020058 +S31508005D5078180020044B1B6813F4803F03D0034ACD +S31508005D60136801331360704710E000E078180020CC +S31508005D7008B5FFF7EFFF014B186808BD7818002033 +S31508005D8072B6704762B670474278007840EA0220D9 +S31508005D90704700BFC278837843EA0222437843EA11 +S31508005DA00223007840EA0320704700BF0170090A01 +S31508005DB0417070470170C1F307234370C1F307436D +S31508005DC08370090EC170704713462AB10A780270AB +S31508005DD001300131013BF9D1704700BF0170013034 +S31508005DE0013AFBD1704700BF30B4451C03780878E8 +S31508005DF01B1A013A04D04C1C28462146002BF4D025 +S31508005E00184630BC704700BF00E0013003780BB17C +S31508005E108B42FAD11846704702394369023B9942C8 +S31508005E2004D24389806A01FB03007047002070474B +S31508005E3070B506460D4601F11A00FFF7A5FF0446A0 +S31508005E403378032B05D105F11400FFF79DFF44EACB +S31508005E50004070BD70B506460C46154691B204F171 +S31508005E601A00FFF7A3FF3378032B04D1290C04F19A +S31508005E701400FFF79BFF70BD2DE9F04180460F46E1 +S31508005E8001F11A00FFF780FF50BB3D7805F03F058A +S31508005E906B1E03EB430503EB85050126002411E081 +S31508005EA0174B185D3844FFF76FFF36B1FE2D1AD829 +S31508005EB028F815000646013503E04FF6FF739842A9 +S31508005EC014D101340C2CEBD93B7813F0400F10D0C9 +S31508005ED0FE2D11D8002328F815300120BDE8F081E1 +S31508005EE00020BDE8F0810020BDE8F0810020BDE873 +S31508005EF0F0810120BDE8F0810020BDE8F08100BFF7 +S31508005F00209100082DE9F84380460F4691464B73C9 +S31508005F100F23CB7200240C73214607F11A00FFF7F2 +S31508005F2045FF09F1FF3303EB430603EB86062546D7 +S31508005F304FF6FF739D4202D038F8165001360C4BC7 +S31508005F40185D29463844FFF731FF0DB94FF6FF753E +S31508005F5001340C2CECD94FF6FF739D4202D038F869 +S31508005F6016300BB949F0400987F80090BDE8F88368 +S31508005F702091000870B582B0054616461C460B22CD +S31508005F80FFF722FF052C12D814E0023600220CE097 +S31508005F9003F0010101EB44045B0814F4803F03D0CD +S31508005FA084F4883484F0210401320F2AF0D9338826 +S31508005FB0002BEAD1072300E0134604F00F0202F192 +S31508005FC03001392901D902F137015A1E02A80344C2 +S31508005FD003F8081C2409EFD17E210346134403F86D +S31508005FE0081C002300E00133934202D2E95C202911 +S31508005FF0F9D1591C2B44072A05D802A8104410F8D1 +S31508006000080C013200E0202018700B460729F0D949 +S3150800601002B070BD0B210023DA0142EA530302786D +S3150800602052FA83F3DBB201300139F5D118467047CD +S31508006030016821B94FF0FF3316E0013200E00A4645 +S3150800604013781F2B01D93A2BF7D13A2B0BD110B461 +S315080060504C1C0B78303B092B08D8A24209D15BB9F6 +S31508006060013202600AE00023184670474FF0FF33FA +S3150800607004E04FF0FF3301E04FF0FF3318465DF8B8 +S31508006080044B704738B50C4670B1054603685BB1DA +S315080060901A784AB1D9888288914205D15878FBF78F +S315080060A0F3FB10F0010F03D000232360092038BD4D +S315080060B02B682360002038BDF8B5C37803B30446BF +S315080060C0C66A00F130070123324639464078FBF7A5 +S315080060D019FCB8B90023E370236AF31AA26993423C +S315080060E012D2A57808E0A3691E4401233246394630 +S315080060F06078FBF707FC013D012DF4D80020F8BDB8 +S315080061000020F8BD0120F8BD0020F8BD70B5C36AAF +S315080061108B4212D004460D46FFF7CEFF064668B9F5 +S3150800612001232A4604F130016078FBF7BFFB10B162 +S3150800613001264FF0FF35E56200E00026304670BDC7 +S3150800614010B504460023C3704FF0FF33C362FFF750 +S31508006150DDFFD8B904F22E20FFF716FE4AF65523BE +S31508006160984215D104F16600FFF714FE20F07F402F +S315080061700A4B98420ED004F18200FFF70BFE20F07E +S315080061807F40064B984207D1002010BD042010BD61 +S31508006190032010BD002010BD022010BD464154004A +S315080061A02DE9F04784B00E46174600230B60FFF72B +S315080061B03FFF051EC0F22C81AA4B53F82540002C40 +S315080061C000F02881346007F0FE07237873B1607801 +S315080061D0FBF75AFB10F0010F08D1002F00F01C81C5 +S315080061E010F0040F40F01A81002038E100232370D4 +S315080061F0E8B26070FBF730FB10F0010F40F0108139 +S315080062001FB110F0040F40F00D8100212046FFF762 +S3150800621097FF022815D0002628E004F130002B014C +S3150800622003F5DF73184403791BB10830FFF7B2FD95 +S3150800623000E0002004AB03EB850343F8100C01359E +S3150800624000E00025032DE8D9002504AB03EB850300 +S3150800625053F8106C26B131462046FFF771FF00E06F +S315080062600320012802D90135032DEED9042800F0B0 +S31508006270DB80012800F2DA8004F13B00FFF784FD99 +S31508006280B0F5007F40F0D48004F14600FFF77CFDAE +S31508006290804620B904F15400FFF77CFD8046C4F817 +S315080062A0188094F8409084F8029009F1FF33DBB225 +S315080062B0012B00F2BF8008FB09F994F83D5065816F +S315080062C0002D00F0B9806B1E1D4240F0B78004F126 +S315080062D04100FFF759FD8246208110F00F0F40F06C +S315080062E0AF8004F14300FFF74FFD074620B904F1DC +S315080062F05000FFF74FFD074604F13E00FFF744FD47 +S315080063000346002800F09E8009EB000202EB1A12F1 +S315080063109742C0F09980BF1AB7FBF5F5002D00F03B +S31508006320958040F6F5718D4201D8012700E00227D5 +S315080063304FF6F5718D4200D9032702356561E6618E +S31508006340334423623244A262032F0FD104F15A0068 +S31508006350FFF71AFD00287BD1BAF1000F7AD104F1B4 +S315080063605C00FFF717FD6062AD000EE0BAF1000FA2 +S3150800637072D04B446362022F01D16D0005E005EB34 +S31508006380450305F0010505EB530505F2FF15B8EBC6 +S31508006390552F63D34FF0FF332361E36080232371C6 +S315080063A0032F2CD104F16000FFF7EEFC012826D15B +S315080063B0711C2046FFF7AAFE08BB0023237104F2CE +S315080063C02E20FFF7E1FC4AF65523984217D104F12F +S315080063D03000FFF7DFFC244B984210D104F5057016 +S315080063E0FFF7D8FC214B984209D104F50670FFF750 +S315080063F0D1FC206104F50770FFF7CCFCE06027703C +S315080064001B4A138801339BB21380E380002026E0E1 +S315080064100B2024E00C2022E0002020E00A201EE0C9 +S3150800642003201CE00A201AE0012018E00D2016E0DF +S315080064300D2014E00D2012E00D2010E00D200EE0D6 +S315080064400D200CE00D200AE00D2008E00D2006E0E6 +S315080064500D2004E00D2002E00D2000E00D2004B020 +S31508006460BDE8F087801A002052526141727241617C +S315080064707C1A0020F8B50668012951D97369994232 +S3150800648050D20C463378022B2AD0032B37D0012B57 +S315080064904AD101EB5105316A01EB55213046FFF728 +S315080064A035FE002842D16F1CC5F30805354495F81A +S315080064B03050316A01EB57213046FFF727FE002896 +S315080064C037D1C7F308073E4496F8300045EA00205E +S315080064D014F0010F01D00009F8BDC0F30B00F8BD98 +S315080064E0316A01EB14213046FFF710FE20BB60002D +S315080064F000F4FF7030303044FFF746FCF8BD316ACF +S3150800650001EBD4113046FFF701FEC0B9A00000F434 +S31508006510FE7030303044FFF73DFC20F07040F8BD87 +S315080065200120F8BD0120F8BD0120F8BD4FF0FF306D +S31508006530F8BD4FF0FF30F8BD4FF0FF30F8BD4FF013 +S31508006540FF30F8BD2DE9F0410768B1F5001F3DD2CF +S3150800655006460C4611F01F0F3BD1316185681DB9FF +S315080065603B78022B00D97D6A35B93B89B3EB541FBA +S3150800657032D97B6AB3611AE0B7F80A804FEA48282D +S315080065800EE029463046FFF775FF0546B0F1FF3F96 +S3150800659025D0012826D97B69984226D2C8EB04045F +S315080065A04445EED229463846FFF736FCB061756198 +S315080065B0B369EBB103EB5423B36107F13003C4F3BA +S315080065C008042344F3610020BDE8F0810220BDE8F9 +S315080065D0F0810220BDE8F0810220BDE8F0810120AB +S315080065E0BDE8F0810220BDE8F0810220BDE8F08117 +S315080065F00220BDE8F08100BF2DE9F843012979D9C9 +S315080066004369994278D217460C4605460378022B09 +S3150800661044D0032B54D0012B70D101EB5108016AE9 +S3150800662001EB5821FFF772FD0646002867D108F1ED +S315080066300109C8F3080814F001040BD005EB080398 +S3150800664093F830203B0103F47F6302F00F021343F3 +S31508006650DBB200E0FBB2A84488F830300123EB70C7 +S31508006660296A01EB59212846FFF750FD06460028FE +S3150800667045D1C9F3080914B1C7F3071208E005EBB9 +S31508006680090393F8303023F00F03C7F303221A43A4 +S31508006690A94489F830200123EB7030E0016A01EB48 +S315080066A01421FFF733FD064648BB600000F4FF706F +S315080066B03030B9B22844FFF779FB0123EB701EE0AE +S315080066C0016A01EBD411FFF721FD0646B8B927F098 +S315080066D07047A40004F4FE7430342C442046FFF7B7 +S315080066E059FB00F0704139432046FFF763FB01234D +S315080066F0EB7004E0022602E0022600E0022630469D +S31508006700BDE8F8832DE9F04107460668884629B9A9 +S31508006710F5687DB173699D420ED20EE0FFF7AAFEB9 +S31508006720012846D9B0F1FF3F51D0736998424ED33C +S31508006730454602E0012500E001252C46013473692F +S315080067409C4202D3012D37D9022421463846FFF749 +S3150800675091FE38B1012832D0B0F1FF3F31D0AC42BA +S31508006760ECD130E04FF0FF3221463046FFF744FFC8 +S31508006770034640B9B8F1000F05D0224641463046D7 +S31508006780FFF73AFF034673B9F46033697269023A50 +S31508006790934201D2013B3361337943F001033371EC +S315080067A02046BDE8F081012B10D14FF0FF30BDE83F +S315080067B0F0810120BDE8F0810020BDE8F081BDE848 +S315080067C0F081BDE8F0810020BDE8F0810120BDE838 +S315080067D0F08100BFF8B50E46046801292CD9074692 +S315080067E0114663699E4229D22AB14FF0FF322046EC +S315080067F0FFF702FF20BB31463846FFF73BFE05464A +S31508006800F8B101281FD0B0F1FF3F1ED00022314653 +S315080068102046FFF7F1FED0B92369B3F1FF3F05D053 +S3150800682001332361237943F00103237163692E46FB +S315080068309D42E0D30020F8BD0220F8BD0220F8BD35 +S31508006840F8BD0020F8BD0220F8BD0120F8BDF8BD4E +S315080068502DE9F8430668036903F120058369002BCF +S315080068606ED0B5F5001F6ED288460446C5F30807F4 +S31508006870002F5DD101338361416941B93389B3EB97 +S31508006880551F55D8002383610420BDE8F883738912 +S31508006890013B13EA55234BD1FFF7ECFD814601284E +S315080068A054D9B0F1FF3F54D07369984239D3B8F13F +S315080068B0000F04D10023A3610420BDE8F8836169B1 +S315080068C02046FFF71FFF8146002845D0012846D0FD +S315080068D0B0F1FF3F46D03046FFF7EEFB002844D123 +S315080068E04FF40072002106F13000FFF777FA4946A7 +S315080068F03046FFF791FAF0624FF000080AE00123EC +S31508006900F3703046FFF7D8FB90BB08F10108F36A2D +S315080069100133F36273899845F1D3F36AC8EB03032D +S31508006920F362C4F8149049463046FFF775FAA06139 +S31508006930256107F130084644E6610020BDE8F88382 +S315080069400420BDE8F8830420BDE8F8830220BDE8EA +S31508006950F8830120BDE8F8830720BDE8F883022004 +S31508006960BDE8F8830120BDE8F8830120BDE8F88377 +S315080069700120BDE8F88300BFF8B504460F4606684F +S315080069800021FFF7DFFD0246B8B90025A1693046A8 +S31508006990FFF7BCFB024680B9E3691B78E52B00D0FC +S315080069A01BB90135BD4201D107E00025012120466A +S315080069B0FFF74EFF02460028E8D0042A00D1072236 +S315080069C01046F8BD2DE9F8430446884607684FF097 +S315080069D0FF094E4604254CE03846FFF797FB054667 +S315080069E000284BD1E1690A78002A46D0CB7A03F011 +S315080069F03F03A371E52A2BD02E2A2BD023F02000A3 +S31508006A00082814BF00200120404525D10F2B15D199 +S31508006A1012F0400F06D091F80D9002F0BF022369DC +S31508006A2063621646B24219D14B7B994518D1A06AC2 +S31508006A30FFF722FAB0B1013EF6B214E026B90846CD +S31508006A40FFF7E8FA814519D04FF0FF33636215E086 +S31508006A50FF2608E0FF2606E0FF2604E0FF2602E000 +S31508006A60FF2600E0FF2600212046FFF7F1FE054637 +S31508006A7020B9A1690029AFD100E004250DB1002392 +S31508006A80A3612846BDE8F88370B50446056806691B +S31508006A90416AB1F1FF3F03D0FFF754FD034600E01A +S31508006AA00023BBB9A1692846FFF730FB034670B936 +S31508006AB0E269E52111700122EA702269964206D937 +S31508006AC000212046FFF7C4FE03460028EAD0042B1F +S31508006AD000D10223184670BD2DE9F04F83B0064653 +S31508006AE08A46D1F80090856A002423465F1C19F867 +S31508006AF003001F2805D92F2803D05C280AD100E0F7 +S31508006B00013709EB070219F807302F2BF8D05C2B51 +S31508006B10F6D017E0FE2C00F2E280012100F0D6FF45 +S31508006B208046002800F0DD807F2806D80146714897 +S31508006B30FFF76AF9002840F0D68025F814803B460E +S31508006B400134D3E7CAF800201F2802D84FF00408FA +S31508006B500CE04FF0000809E004F10043013B35F86A +S31508006B601330202B01D02E2B02D1013C002CF3D15F +S31508006B70002325F81430002C00F0B7800B222021C2 +S31508006B80306AFFF72BF9002300E0013335F81320AC +S31508006B90202AFAD02E2AF8D01BB148F0030800E0C4 +S31508006BA0013C6CB104F10042013A35F812202E2A54 +S31508006BB0F6D14FF0080B4FF0000ACDF804A005E017 +S31508006BC04FF0080B4FF0000ACDF804A003F10109B5 +S31508006BD035F81370002F57D0202F03D02E2F05D14C +S31508006BE04C4503D048F003084B46EFE7DA4501D297 +S31508006BF04C4515D1BBF10B0F02D148F0030843E011 +S31508006C004C4501D048F003084C453DD3019B9B00F9 +S31508006C10DBB2019323464FF00B0B4FF0080AD5E77A +S31508006C207F2F0BD90021384600F050FF074618B1D0 +S31508006C30A0F18007304BDF5D48F0020827B13946DE +S31508006C402E48FFF7E1F818B148F003085F2714E06B +S31508006C50A7F141039BB2192B04D8019B43F0020309 +S31508006C6001930AE0A7F161039BB2192B05D8019B92 +S31508006C7043F001030193203FBFB2336A03F80A7059 +S31508006C804B460AF1010AA1E7336A1A78E52A01D1C7 +S31508006C9005221A70BBF1080F03D1019B9B00DBB2DA +S31508006CA00193019901F00C020C2A03D001F00303A9 +S31508006CB0032B01D148F0020818F0020F0AD1019BF4 +S31508006CC003F00303012B01D148F01008042A01D16F +S31508006CD048F00808336A83F80B80002006E006208F +S31508006CE004E0062002E0062000E0062003B0BDE826 +S31508006CF0F08F00BF8C900008A090000898900008BC +S31508006D00F8B500238B758369002B69D00D460646B6 +S31508006D10436AB3F1FF3F17D0836A002409E00021D4 +S31508006D2000F0D4FE50B1FE2C0AD82A1990753B46BD +S31508006D3001349F1C18880028F1D102E0002400E0E5 +S31508006D4000242C440023A375AC7D0022134628E0BA +S31508006D50F069591CC35C202B22D0052B00D1E523F2 +S31508006D60092907D114B9A8182E278775A8182E2718 +S31508006D7047720132A81843728CB9A3F14100C0B218 +S31508006D8019280AD8F069007B082901D9102700E0DC +S31508006D900827074201D02033DBB2A81883750132D1 +S31508006DA00B460A2BD4D934B9AB1800219975F36967 +S31508006DB01B7B03B90A462A4400235372F369DB7A1C +S31508006DC02B72F0691C30FEF7E5FF2860F069183071 +S31508006DD0FEF7DAFFA880F0691630FEF7D5FFE880DF +S31508006DE0F8BD00BF2DE9F0478146884601F11A0033 +S31508006DF0FEF7CAFFA8BB98F8005005F03F056B1EC2 +S31508006E0003EB430503EB8505012700241BE01F4B15 +S31508006E10185D4044FEF7B8FF06467FB1FE2D23D81D +S31508006E2000F072FE074605F1010A39F8150000F070 +S31508006E306BFE87421BD13746554603E04FF6FF7374 +S31508006E40984217D101340C2CE1D998F8003013F088 +S31508006E50400F12D0A7B139F81530A3B90120BDE803 +S31508006E60F0870020BDE8F0870020BDE8F087002005 +S31508006E70BDE8F0870020BDE8F0870120BDE8F0876F +S31508006E800120BDE8F0870020BDE8F08720910008C2 +S31508006E902DE9F8430446D0F800800021FFF752FB9D +S31508006EA000285CD14FF0FF3363624FF0FF094F466D +S31508006EB0A1694046FFF72AF90646002851D1E56937 +S31508006EC02B78002B4FD0E97A01F03F02A271E52B0F +S31508006ED004D011F0080F06D00F2A04D04FF0FF3364 +S31508006EE06362FF2733E00F2A17D1A06A78B313F03D +S31508006EF0400F06D095F80D9003F0BF032269626231 +S31508006F001F46BB421ED16B7B99451DD12946FFF70B +S31508006F1069FFD8B1013FFFB219E027B92846FFF744 +S31508006F2079F8814522D0216ACB7A13F0010F04D172 +S31508006F300B222846FEF758FFD8B14FF0FF3363629D +S31508006F40FF2704E0FF2702E0FF2700E0FF270021D4 +S31508006F502046FFF77DFC0028AAD0BDE8F883BDE8E7 +S31508006F60F883BDE8F8830420BDE8F8833046BDE819 +S31508006F70F8833046BDE8F88330B583B004460191FE +S31508006F80056801E001330193019B1A782F2AF9D08D +S31508006F905C2AF7D00022A2601B781F2B08D8236A28 +S31508006FA08022DA7200212046FFF7CCFA034626E053 +S31508006FB001A92046FFF790FD034600BB2046FFF7D0 +S31508006FC067FF236ADA7A034628B1042817D112F034 +S31508006FD0040F11D013E012F0040F10D1A37913F0A7 +S31508006FE0100F0BD02169C1F3080130312944284616 +S31508006FF0FEF71EFFA060DBE7052300E00523184621 +S3150800700003B030BD2DE9F04784B00668D0F820A05B +S31508007010D0F828809AF80B3013F0A00F40F0838040 +S31508007020002400E0013438F81430002BFAD1054664 +S315080070300C22514601A8FEF7C7FE9DF80F3013F043 +S31508007040010F1ED000238AF80B30AB6201270BE034 +S315080070503B46424601A95046FEF78CFF2846FFF7F5 +S3150800706017FF814610B90137632FF1D9642F5CD019 +S31508007070B9F1040F5BD19DF80F308AF80B30C5F8CB +S3150800708028809DF80F3013F0020F06D00C342B4BD6 +S31508007090A3FB0434A408013400E001242146284651 +S315080070A0FFF76AFC034618BB013C21D02969A1EB0E +S315080070B044112846FFF746FA0346C8B9286AFEF778 +S315080070C0A9FF0746A9693046FFF720F8034678B9AD +S315080070D03B46E2B2E969A86AFEF714FF0123F3709A +S315080070E000212846FFF7B4FB034608B9013CE9D15D +S315080070F0FBB9A9693046FFF709F88146D8B92022B5 +S315080071000021E869FEF76AFE0B22296AE869FEF79C +S315080071105BFEEA692B6ADB7A03F018031373012313 +S31508007120F370484607E0062005E0072003E04846D6 +S3150800713001E01846FFE704B0BDE8F0874FECC44EFF +S3150800714070B50446FEF7B8FF0546002837D1237800 +S31508007150032B2DD12379012B2AD104F130064FF4C4 +S31508007160007200213046FEF739FE4AF6552104F230 +S315080071702E20FEF71BFE13493046FEF71BFE12496A +S3150800718004F50570FEF716FE216904F50670FEF78C +S3150800719011FEE16804F50770FEF70CFEE26901329C +S315080071A0E262012331466078FAF7ACFB00232371CB +S315080071B0002211466078FAF7D1FB00B1012528466E +S315080071C070BD00BF525261417272416110B584B000 +S315080071D001900091144604A840F8041DFEF728FF04 +S315080071E0002816DB0E4B53F820300BB100221A701C +S315080071F0019B0BB100221A70019B094A42F8203004 +S315080072004BB1012C09D1002201A96846FEF7C8FF37 +S3150800721004E00B2002E0002000E0002004B010BDCE +S31508007220801A00202DE9F04393B00191002800F060 +S31508007230AA80054616460023036002F01F073A4651 +S3150800724006A901A8FEF7ACFF002840F09E80069B21 +S31508007250079303AB0F934F4B1193019907A8FFF7B9 +S315080072608BFE044628B90F9B93F90B30002B00DAE6 +S31508007270062416F01C0F53D044B1042C03D107A8DA +S31508007280FFF7C0FE044647F008070BE09DF82230DA +S3150800729013F0110F03D116F0040F02D102E00724F0 +S315080072A000E00824002C4BD117F0080F48D03A4EBE +S315080072B031460E980E30FEF77DFD31460E98163093 +S315080072C0FEF778FD20220E9BDA72069EDDF83880DE +S315080072D041463046FEF7ACFD81460022414630461F +S315080072E0FEF7B8FD00210E981C30FEF763FD01225B +S315080072F0069BDA70B9F1000F22D0069BDE6A0022DF +S31508007300494607A8FFF766FA0446C8B931460698FB +S31508007310FEF7FCFE044609F1FF33069AD3600FE038 +S3150800732074B99DF8223013F0100F06D116F0020F2B +S3150800733006D013F0010F02D102E0042400E007246E +S315080073404CB917F0080F01D047F02007069BDB6AF7 +S315080073502B620E9B6B62CCB9069EDDF838804146DF +S315080073603046FEF765FDA86008F11C00FEF712FD21 +S31508007370E86000236B746B61EB612F742E60F388F1 +S31508007380AB80204603E0092001E000E0204613B068 +S31508007390BDE8F0837C180020000061482DE9F04F15 +S315080073A083B00446884615461F4600233B6001A95C +S315080073B0FEF768FE002840F0A280607C002840F0B6 +S315080073C0A080237C13F0010F00F09A80E6686369B9 +S315080073D0F61AAE42C0F08E802E468BE06369C3F380 +S315080073E00802002A70D1019A5289013A12EA5329F1 +S315080073F012D10BB9A06803E0A1692046FFF73AF855 +S31508007400012802D8022060747BE0B0F1FF3F02D168 +S315080074100120607475E0A061DDF804A0A1695046FA +S31508007420FEF7FAFC054610B90220607469E04D447F +S315080074305FEA562B25D009EB0B03BAF80A209342CC +S3150800744001D9C9EB020B5B462A4641469AF8010068 +S31508007450FAF72CFA10B10120607452E0237C13F07D +S31508007460400F0BD0E069401B834507D94FF40072E3 +S3150800747004F1280108EB4020FEF7A6FC4FEA4B254D +S3150800748030E0E26995421ED0237C13F0400F0ED0FF +S31508007490012304F128019AF80100FAF733FA10B12A +S315080074A0012060742DE0237C23F04003237401231C +S315080074B02A4604F1280101984078FAF7F7F910B13D +S315080074C0012060741DE0E5616169C1F30801C1F539 +S315080074D00075AE4200D2354628312A462144404638 +S315080074E0FEF772FCA84463692B4463613B682B442E +S315080074F03B60761B002E7FF471AF002001E000E0B0 +S31508007500072003B0BDE8F08F2DE9F04F83B004469D +S31508007510884616461F4600233B6001A9FEF7B2FDC2 +S31508007520002840F0BE80607C002840F0BC80237CA8 +S3150800753013F0020F00F0B6806369F342C0F0A8802A +S31508007540DE43A5E06369C3F30802002A40F08180A0 +S31508007550019A5289013A12EA53291DD133B9A06812 +S3150800756040B900212046FFF7CDF803E0A16920467F +S31508007570FFF7C8F8002800F08E80012802D1022003 +S31508007580607490E0B0F1FF3F02D1012060748AE098 +S31508007590A061A36803B9A060237C13F0400F0FD045 +S315080075A00123E26904F1280101984078FAF7AAF95B +S315080075B010B10120607476E0237C23F04003237425 +S315080075C0DDF804A0A1695046FEF726FC054610B969 +S315080075D00220607467E04D445FEA562B25D009EB1C +S315080075E00B03BAF80A20934201D9C9EB020B5B4692 +S315080075F02A4641469AF80100FAF784F910B10120A3 +S31508007600607450E0E169491B8B450BD94FF4007251 +S3150800761008EB412104F12800FEF7D6FB237C23F072 +S31508007620400323744FEA4B2525E0E3699D420FD0BA +S315080076306269E3689A420BD201232A4604F12801BB +S315080076409AF80100FAF732F910B1012060742AE0BD +S31508007650E5616069C0F30800C0F50075AE4200D266 +S31508007660354628302A4641462044FEF7ADFB237CA2 +S3150800767043F040032374A84463692B446361E268BA +S31508007680934238BF1346E3603B682B443B60761B46 +S31508007690002E7FF457AF237C43F020032374002089 +S315080076A001E000E0072003B0BDE8F08F70B582B0B6 +S315080076B004460E460A2902D10D21FFF7F7FF636833 +S315080076C0002B16DB5D1C23441E733C2D0DDD01AB20 +S315080076D02A4604F10C012068FFF716FF019B9D421C +S315080076E001D1002501E04FF0FF356560A36801333D +S315080076F0A36002B070BD00BF30B583B0044601A9CF +S31508007700FEF7C0FC00283CD1227C12F0200F39D0AD +S3150800771012F0400F0CD00123E26904F12801019808 +S315080077204078FAF7EFF870BB237C23F04003237404 +S31508007730216A0198FEF7EAFC38BB656AEB7A43F0E2 +S315080077402003EB72A26829462068FEF783FBE168EE +S3150800775005F11C00FEF72EFB0D4905F11600FEF794 +S3150800776029FB002105F11200FEF720FB0122019BEF +S31508007770DA700198FFF7E4FC237C23F020032374D6 +S3150800778003E002E001E00120FFE703B030BD00BFDF +S315080077900000614810B582B00446FFF7ADFF034606 +S315080077A038B901A92046FEF76DFC034608B9002240 +S315080077B02260184602B010BDF0B583B004460E46E6 +S315080077C001A9FEF75FFC002840F0A480657C002D27 +S315080077D040F0A180E368B34204D2227C12F0020F83 +S315080077E000D11E46636900226261002E5DD0019AAF +S315080077F057897F026BB1721EB2FBF7F2013BB3FBEE +S31508007800F7F18A4205D37A4213406361F61AA169F1 +S3150800781012E0A16879B92046FEF774FF01460128EF +S3150800782002D10220607479E0B0F1FF3F02D1012055 +S31508007830607473E0A060A16119BB002638E0237C60 +S3150800784013F0020F05D02046FEF75CFF014620B96B +S315080078501AE02046FEF70EFE0146B1F1FF3F02D1BF +S31508007860012060745AE0012903D9019B5B6999429A +S3150800787002D30220607451E0A16163693B446361ED +S31508007880F61BBE42DBD800E03E46636933446361BB +S31508007890C6F308035BB10198FEF7BEFA10B90220D9 +S315080078A060743BE000EB562602E0002600E0002666 +S315080078B06369C3F3080313B3E26996421FD0237CB6 +S315080078C013F0400F0ED0012304F1280101984078E7 +S315080078D0FAF718F810B1012060741FE0237C23F032 +S315080078E0400323740123324604F1280101984078A5 +S315080078F0F9F7DCFF10B1012060740FE0E6616369F7 +S31508007900E268934209D9E360237C43F02003237499 +S31508007910284603E002E0284600E0284603B0F0BD0A +S3150800792030B591B001900D46002205A901A8FEF7D1 +S3150800793037FC0446A8B902AB0D930B4B0F9301997C +S3150800794005A8FFF719FB044658B90D9B93F90B30A8 +S31508007950002B05DB2DB1294605A8FFF7D1F900E074 +S315080079600624204611B030BD7C18002070B59CB0A6 +S315080079700190022205A901A8FEF712FC059B1193A6 +S31508007980044600284AD102AB1993264B1B9301994A +S3150800799011A8FFF7F1FA044600283FD1199B93F97D +S315080079A00B30002B05DB9DF84A3013F0010F02D18E +S315080079B002E0062400E00724ECB9059E1899304633 +S315080079C0FEF736FA05469DF84A3013F0100F13D025 +S315080079D006960890002106A8FEF7B4FD044658B995 +S315080079E0002106A8FEF7EEFF034600B90723042B7D +S315080079F002D01C4600E0002584B911A8FFF744F818 +S31508007A00044630B92DB10022294611A8FEF7E2FE38 +S31508007A1004461CB90598FFF793FB044620461CB09C +S31508007A2070BD00BF7C1800202DE9F04182B0804669 +S31508007A300E4617460546002412E06B46012201A9A8 +S31508007A403846FFF7ABFC009B012B0ED19DF804309E +S31508007A500D2B05D06A1C2B7001340A2B04D0154651 +S31508007A60731E9C42E9DB00E0154600232B700CB917 +S31508007A70184600E0404602B0BDE8F08110B594B063 +S31508007A800446019100230293039303E0013401A8FD +S31508007A90FFF70CFE21780029F8D1029A002A0BDBA1 +S31508007AA06B4604A90198FFF72FFD40B9009B029A7F +S31508007AB09A4207D1039807E04FF0FF3004E04FF0F1 +S31508007AC0FF3001E04FF0FF3014B010BD7F2817D902 +S31508007AD079B1FF2813D8A0F180030A4A32F81300B7 +S31508007AE07047084A32F81320904205D001339BB2FA +S31508007AF000E000237F2BF4D98033D8B270470020EA +S31508007B00704700BFE0930008F0B4B0F5805F01D27B +S31508007B10204B02E0204B00E02B461A88002A36D07C +S31508007B20904234D31D1D5B88190ADBB29C18A0420B +S31508007B3028DA08292BD8DFE801F005090F121518ED +S31508007B401B1E2100861A35F8160020E0821A02F05C +S31508007B500103C01A80B21AE0103880B217E0203844 +S31508007B6080B214E0303880B211E01A3880B20EE0E4 +S31508007B70083080B20BE0503880B208E0A0F5E35038 +S31508007B8080B204E00029C7D105EB4303C5E7F0BC82 +S31508007B90704700BFEC9100083091000810B4013A14 +S31508007BA00A440BE00C784B7803EB04239BB2184489 +S31508007BB080B2834201D9013080B202319142F1D3B9 +S31508007BC007D10B781B02184480B2834201D90130D1 +S31508007BD080B25DF8044B704770B4C5780D44EDB2B9 +S31508007BE0134CE57083780E0A3344DBB2A3704278EF +S31508007BF06270007820709CB2A64206D90132D2B2D1 +S31508007C000B4C62700AB901302070C9B28D420CDA89 +S31508007C100133DBB2064A93703BB953780133DBB2C2 +S31508007C20537013B913780133137070BC704700BFD3 +S31508007C309C29002010B5094C2368014603F1080069 +S31508007C40FFF7CAFF2368064A1178197251785972E4 +S31508007C5091789972D278DA7210BD00BFA8290020EF +S31508007C609C2900200022124B1A7006E00021114AB6 +S31508007C7022F8131001330E4A13700D4B1B78002B94 +S31508007C80F4D000220A4B1A7008E068220A4902FB5F +S31508007C900312002151760133054A1370044B1B78F1 +S31508007CA0002BF2D04FF48062044B1A80704700BF55 +S31508007CB08E1A0020142A0020AC2900208C1A0020D5 +S31508007CC000220A4B1A700BE01946094A32F81320AB +S31508007CD01AB9074B23F8110070470133034A13708A +S31508007CE0024B1B78002BEFD0704700BF8E1A00207E +S31508007CF0142A0020030A43EA002080B2704700BF16 +S31508007D0008B5142205490020FFF748FF10B1FFF710 +S31508007D10F1FF08BD4FF6FF7008BD00BF322A0020EC +S31508007D2038B50D4D2C7C6B7C03EB0424143CA4B2B3 +S31508007D302044082205F11A0180B2FFF72FFF2246D8 +S31508007D4005F12201FFF72AFF10B1FFF7D3FF38BD6F +S31508007D504FF6FF7038BD00BF242A002008B506205C +S31508007D60FFF7DEFF08BD00BF70B5934B1C68934B49 +S31508007D70934A1360934A136003280FD1637E03F076 +S31508007D800F03032B40F02F85238A002B40F02B8509 +S31508007D9008228D4B1A70FCF725FDEAE3022879D1F3 +S31508007DA08A4AD3780133DBB2D37063B99378013347 +S31508007DB0DBB293703BB953780133DBB2537013B916 +S31508007DC01378013313700023814A1380814A138084 +S31508007DD0637E072B01D0052B0AD1A37E0133DBB2C4 +S31508007DE0A376782B40F0FF840023637600F0FBBC73 +S31508007DF0002B00F0F884228A002A40D0A27E511E69 +S31508007E00A176002A40F0EF84E27E082A05D0591EA2 +S31508007E10C9B201290ED8052A0CD10023637680221F +S31508007E20694B1A70FCF7DEFC14226B4B83F82F2083 +S31508007E3000F05BBC042A03D803219140C9B200E0D4 +S31508007E403021A1760132E27603F00F03013B072BBE +S31508007E5000F2C984DFE813F0BE0108000D003803FC +S31508007E60C7043803C704380300225B4B83F82F2066 +S31508007E70B4E10422544B1A70FCF7B4FCAEE303F0E9 +S31508007E800F03032B40F0AF8408224F4B1A70FCF700 +S31508007E90A9FC6EE3504B9B7B452B40F0A4844E4ACD +S31508007EA0157C537C03EB0521494A1288914200F35D +S31508007EB09A848DB2464B1D80474B1B7D13F03F0FAE +S31508007EC040F09184444B5B7D002B40F08C84434BFF +S31508007ED01C880CB95B885BB13F4BDB8B9C4240F03E +S31508007EE082843D4B1A8C3D4B5B889A4240F07B84DA +S31508007EF0FFF706FF4FF6FF73984240F07484364B3F +S31508007F00DB7D062B23D0012B40F06D84324B93F892 +S31508007F102230082B40F067842F4B002283F822205A +S31508007F209B8C4FF6F672934203D909332A4A9384F7 +S31508007F3002E00833284A9384274B5A8BDA839A8BB4 +S31508007F401A845C83254A52889A8300F048BCFFF756 +S31508007F5005FF4FF6FF73984240F04584204C17E022 +S31508007F60617EA1B11C4B9A8CA3889A420FD11A4BF9 +S31508007F705A8CE3889A420AD1174B5A8B23889A421D +S31508007F8005D1154B9A8B63889A4200F04181683473 +S31508007F90134B9C42E4D9104B93F82F3003F03F0360 +S31508007FA0022B2FD10C4B9B8C99B20E4A13800022C0 +S31508007FB00D4B1A7022E000BFA82900205A2A00207B +S31508007FC0A429002098290020A0290020881A00202A +S31508007FD09429002066300020242A0020202A002028 +S31508007FE0AC290020841A00208E1A0020924A32F802 +S31508007FF0132091425BD00133904A13708F4B1B7844 +S31508008000002BF3D08E4B93F82F3013F0040F40F06B +S31508008010EA838B4B142283F82F202821894A118062 +S31508008020502283F82E2093F8290093F82D2083F800 +S31508008030292093F8281093F82C2083F8282083F811 +S315080080402C1093F8272093F82B4083F8274083F8C1 +S315080080502B2093F82640794D2C7093F82A5083F8F4 +S31508008060265083F82A400130C0B283F82D0068B93B +S315080080704B1CDBB2724981F82C303BB9531CDBB27E +S3150800808081F82B3013B9013481F82A406C4B5A8C8D +S315080080906D490A80998C59849A845A8BDA839A8B0B +S315080080A01A846A4A1188598352889A836FE300248E +S315080080B0624B1C701CE019466822654802FB0302E5 +S315080080C0527E1AB9682404FB010415E0072A0CD16C +S315080080D03CB168225E4902FB0312917EA27E914260 +S315080080E003D95B4A682404FB03240133534A1370FB +S315080080F0524B1B78002BDED0002C00F07483554BB6 +S315080081001C600323A37623760023A3750422E27555 +S31508008110E3764B4DAB8CA3806B8CE3806B8B238013 +S31508008120AB8B6380012060764B4B1A7822735A78A2 +S3150800813062739A78A273DB78E373208295F8293004 +S31508008140E37295F82830A37295F82730637295F88C +S3150800815026302372FFF76EFD95F82E0000F0F00327 +S31508008160502B37DD0022354B1A702BE003F136020F +S31508008170334DAA5C72B3012A03D101332F4A137017 +S3150800818020E0022A16D103F137022D4DAA5C042AF3 +S3150800819010D101F13803EA5C39316B5C43EA0222FB +S315080081A0294B1A8040F20A63934228BF134663821A +S315080081B0A3820FE003F1370221498A5C52B11344C6 +S315080081C01E4A13701D4B1B7819460209053AB3EB74 +S315080081D0820FCBDB10221A4B83F82F20184B93F80B +S315080081E02F2042F0020283F82F20022283F836203D +S315080081F0042283F83720062283F838200A2283F8D7 +S3150800820039202C210F4A1180602283F82E2073E230 +S31508008210104B1C600022114B1A70094B93F82F2043 +S3150800822012F0040F1CD00023637620220B4B1A7021 +S31508008230FCF7D8FAD7E200BF142A00208E1A0020CD +S31508008240242A002094290020841A0020202A0020AD +S31508008250AC290020A8290020881A0020A02900207F +S315080082609C4B93F82E301B099B009B480370EB1A16 +S31508008270143B9BB29948038001F00F01022903D1F0 +S3150800828002F03F0112290FD013B912F0030F0BD0D9 +S31508008290904BD98C2389994240F023828D4B198DB6 +S315080082A06389994240F01D8212F0100F47D0218A47 +S315080082B0002944D004F10C00FFF78EFC854B93F897 +S315080082C02A30874A1078834239D1824B93F82B306B +S315080082D051788B4233D17F4B93F82C309278934266 +S315080082E02DD17C4B93F82D507D4BDB789D4226D1C2 +S315080082F020736173A273E373E37ECBB9237EA27EF8 +S315080083009B1ADBB2A17DA3EBD103DBB25AB21944A7 +S31508008310C9B2A175002A01DA5B425AB2E37DA2EB23 +S31508008320930253FA82F2D3B2E37503EBD1032376B1 +S3150800833001226C4B1A70237EA37600232382617E6A +S3150800834001F00F03013B072B00F24D82DFE813F023 +S315080083500800230096007301A201BE01C901650148 +S31508008360604B1B7813F0010F00F03D820323637600 +S3150800837040225C4B1A7000232382584B188820B180 +S315080083804222584B1A70FFF755FC0022564B1A80AA +S31508008390FCF728FAEDE0534B1B7813F0010F63D076 +S315080083A04C4B93F82F3003F03F03122B5CD1494B0B +S315080083B093F82E0000F0F003502B37DD0022464BD1 +S315080083C01A702BE003F13602424DAA5C72B3012AF9 +S315080083D003D10133404A137020E0022A16D103F173 +S315080083E037023C4DAA5C042A10D101F13803EA5C35 +S315080083F039316B5C43EA02223C4B1A8040F20A632D +S31508008400934228BF13466382A3820FE003F1370223 +S3150800841030498A5C52B113442F4A13702E4B1B788D +S3150800842019460209053AB3EB820FCBDB03236376C1 +S31508008430284B93F82620227293F82720627293F825 +S315080084402820A27293F82930E3720120FFF7F2FB85 +S315080084504222244B1A7000232382204A1380224A80 +S315080084601380FCF7BFF984E020221E4B1A70FCF734 +S31508008470B9F91F4B1B6800225A76C3E5154B93F8CA +S315080084802F3013F0010F35D011F0100F32D1238A97 +S31508008490002B40F0A881114D2888013080B2FFF7E3 +S315080084A0C9FB104A137843F0100313702A881AB1CF +S315080084B043F002030B4A1370FCF794F90123238255 +S315080084C0082363760023E3761122024B83F82F20D4 +S315080084D00BE100BF242A00208E1A002094290020D0 +S315080084E09C290020A029002066300020841A00203C +S315080084F0A829002013F0200F10D0994890F834309E +S315080085001A0290F8353043EA0200964D2E68304438 +S315080085102860954813430288D31A0380924B18881B +S3150800852048B111F0100F06D1904A137843F00203B0 +S315080085301370FFF77FFB8A4A92F8301092F83130B1 +S3150800854003EB01239BB28A4A1380A28A934200D87E +S315080085500BB9874B1A80864B1B886382834B1B7823 +S3150800856013F0030F00F03F810022824B1A80FCF7BC +S3150800857039F97E4B1B7813F0200F08D000237D4A6B +S31508008580138063761422764B83F82F20ADE013F020 +S31508008590100F0CD00023774A13800122228204226E +S315080085A06276E37611226E4B83F82F209DE0714A9E +S315080085B012888AB113F0010F01D000232382238A7F +S315080085C043B9638A9A4201D96A4A1380694B1B8860 +S315080085D0238201E0674A13800023E376664B1A6814 +S315080085E0604B1A60634B1B884BB1238A3BB1283317 +S315080085F05D4A138018225A4B83F82F2078E05B4B8C +S315080086001B7813F0020F00F0EE802822564B1A80D2 +S315080086101022534B83F82F206AE0544B1B7813F033 +S31508008620010F00F0E0800023637610224F4B1A708A +S31508008630FCF7D8F8D7E04C4B188808B1FFF7FAFAD8 +S31508008640474B93F82F3013F0010F15D0474B1B7883 +S3150800865013F0010F05D0072363760023A376238240 +S3150800866001E0062363760120FFF7E4FA10223F4B68 +S315080086701A70FCF7B7F834E03C4B1B7813F0010F7F +S3150800868004D00523637600232382ACE0364B1B888F +S315080086903BBBA8E0344B188808B1FFF7CBFA304B40 +S315080086A093F82F3013F0010F0CD0072363760023BD +S315080086B0A3760120FFF7BEFA10222C4B1A70FCF79E +S315080086C091F80EE0284B1B885BB98CE0274B1B788A +S315080086D013F0010F00F08780072363760023A37643 +S315080086E081E010221E4B83F82F2028221E4B1A8069 +S315080086F050221B4B83F82E20227A194B83F82A2006 +S31508008700627A83F82B20A27A83F82C20E27A83F8FF +S315080087102D20227B83F82620627B83F82720A27BE4 +S3150800872083F82820E27B83F829200622DA75A288B6 +S315080087305A84E2889A84114A1188598352889A83FE +S315080087402288DA8362881A84637E13F0100F17D0A2 +S31508008750034B002283F8312083F8302017E000BF4E +S31508008760242A0020A429002094290020A0290020DA +S31508008770841A00206630002098290020202A00202C +S315080087801C4B062283F830200A2283F83120194C24 +S315080087904023A375184B1B881A0A22746374002594 +S315080087A084F8355084F8345084F8325084F83350BD +S315080087B0FFF7D4FAC04360864523A373E57365754E +S315080087C025750E4A138801339BB213801A0AA274C0 +S315080087D0E37425766576FFF793FAC0432083002273 +S315080087E0074B1A7070BD0023034A1380044A13709E +S315080087F070BD00BF242A002094290020861A002074 +S31508008800A029002000290CDD08B58AB2054B1A807C +S31508008810054B1B68834203D00146184600F03CFA14 +S3150800882008BD70476630002098290020F0B4002261 +S315080088303A4B1A701EE03A4D5A001A4494002E1903 +S315080088402C5BA4B103EB4305AA00354D2A44528894 +S315080088506AB10588AC420AD14488A24207D10C689D +S315080088607460898831812F4A1278B27254E00133D4 +S315080088702A4A1370294B1B78072BDCD90022274B71 +S315080088801A700FE0264D5A001A4494002E192A5BD6 +S315080088902AB903EB4304A2002A44528832B10133B1 +S315080088A01E4A13701D4B1B78072BEBD9082B28D1B2 +S315080088B000231D4A13701D4A1370184A137013E0DB +S315080088C0184A147803EB4305AA00154D2A44927AF0 +S315080088D0A61A154D2D78AE4203DD134A1670134AB3 +S315080088E0137001330D4A13700C4B1B78072BE7D90D +S315080088F00E4B1B78094A137003EB43039A00084E84 +S3150800890016440268334643F8042B0A6872608A885C +S315080089109A80044B1B78B372F0BC7047961A0020F5 +S31508008920981A0020F91A0020971A0020F81A002031 +S3150800893010B4154B1C780134E4B21C700022134B9A +S315080089401A7019E012485A001A4491004218415AFE +S3150800895052880A430DD003EB43018A000244927AF7 +S31508008960A21A772A05DD03EB43018A00002008498D +S3150800897088500133054A1370044B1B78072BE1D93D +S315080089805DF8044B704700BFF91A0020961A0020BC +S31508008990981A002010B5324B1B88292B03D80022C1 +S315080089A02F4B1A8010BD00222D4B1A802D4B9B8A07 +S315080089B0B3F5807F03D0B3F5007F3FD010BD294BB8 +S315080089C0DA8C294B1B889A4249D1264B1A8D264B9D +S315080089D05B889A4243D1254C2146A01DFFF726FF06 +S315080089E0002204F8022C022204F8012C2168C4F89B +S315080089F00A10A188E1811E49086820608988A1803B +S31508008A0044F8100C24F80C1CD4F80A1044F8161C68 +S31508008A10E28924F8122CE288228222896282124A8A +S31508008A201188E18052882281082204F80A2C06223D +S31508008A3004F8092C2A220A4B1A8010BD094BDA8C35 +S31508008A40094B1B889A420AD1064B1A8D064B5B883E +S31508008A509A4204D1054801460630FFF7E7FE10BDE5 +S31508008A6094290020242A0020202A00203A2A0020BF +S31508008A70901A002030B44C4BD98B8AB24FF6FF734C +S31508008A809A420CD1484B188C4FF6FF73984206D180 +S31508008A90454B464A1068186092889A8072E0444BA3 +S31508008AA01B88444800885340184209D13E4B1A8C0B +S31508008AB094B23F4B5B883F4840886340184206D0D3 +S31508008AC03D4B3E4A1188198052885A8002E03A4B3B +S31508008AD019805A8000223A4B1A7016E039485A0013 +S31508008AE01A4491004518344A1488425A944209D1C6 +S31508008AF0314A508803EB43018A0032490A445288B6 +S31508008B00904206D001332E4A13702D4B1B78072B43 +S31508008B10E4D9082B30D1244B4FF0FF321A609A80E3 +S31508008B2000221A629A8428490868C3F806008988C8 +S31508008B305981C3F8160059831F490888D88449887B +S31508008B4019851B49088898834988D9831A7501218C +S31508008B5059759A73D973082119745A7406229A7426 +S31508008B600422DA74197306225A733633174A1360C5 +S31508008B702A22174B1A8014E00B4B55F8042F1A605B +S31508008B80AA889A80084B104A1168C3F8061092887A +S31508008B905A8108221A7300225A730D4A13880E3313 +S31508008BA0138030BC704700BF242A0020E0940008D8 +S31508008BB0202A00201C2A0020FC1A0020182A00203F +S31508008BC0961A0020981A0020901A0020A42900203E +S31508008BD09429002008B5074B044613B10021AFF3CA +S31508008BE00080054B1868836A03B198472046FAF750 +S31508008BF0EFFE00BF00000000E894000870B50E4BB9 +S31508008C000E4CE41AA41000251E46A54204D056F8B8 +S31508008C10253098470135F8E700F05EF8084C094B0F +S31508008C20E41AA41000251E46A54204D056F825309D +S31508008C3098470135F8E770BDB8020020B802002051 +S31508008C40BC020020B8020020034B1B68186A034BBD +S31508008C50002808BF18467047480100204C0100202C +S31508008C6008B5034B1868FFF7EFFFD0F8EC0008BD0E +S31508008C704801002082B001B901A93AB143B113787D +S31508008C800B601278101C18BF012003E0104601E0A3 +S31508008C906FF0010002B0704710B5431E0A449142B6 +S31508008CA004D011F8014B03F8014FF8E710BD024450 +S31508008CB00346934202D003F8011BFAE7704749B10D +S31508008CC0FF2A85BF8A2303600A704FF0FF3098BFDA +S31508008CD00120704708467047F8B500BFF8BC08BCC5 +S31508008CE09E467047F8B500BFF8BC08BC9E4670475C +S31508008CF02F64656D6F70726F675F6F6C696D6578ED +S31508008D005F73746D3332653430372E737265630062 +S31508008D102F626F6F746C6F672E7478740000000092 +S31508008D2057696E5553422042756C6B2044657669C7 +S31508008D30636500004F70656E424C5420557365722A +S31508008D4000000000303030303030303030353043BD +S31508008D500000000044656661756C740057696E55BD +S31508008D6053422042756C6B20496E74657266616366 +S31508008D70650000006C69622F7569702F6E657464F2 +S31508008D8065762E63000000004F70656E424C5400F5 +S31508008D90303A00002E2E2F2E2E2F2E2E2F536F7583 +S31508008DA07263652F66696C652E6300004669726D8D +S31508008DB07761726520757064617465207265717576 +S31508008DC06573742064657465637465640A0D0000D0 +S31508008DD04F70656E696E67206669726D7761726538 +S31508008DE02066696C6520666F722072656164696EBB +S31508008DF0672E2E2E000000004552524F520A0D00D3 +S31508008E004F4B0A0D000000005374617274696E6757 +S31508008E10207468652070726F6772616D6D696E6720 +S31508008E202073657175656E63650A0D00506172730E +S31508008E30696E67206669726D776172652066696C0E +S31508008E406520746F20646574656374206572617348 +S31508008E506520626C6F636B732E2E2E0045726173EC +S31508008E60696E6720000000002062797465732066C9 +S31508008E70726F6D206D656D6F727920617420307820 +S31508008E800000000052656164696E67206C696E6552 +S31508008E902066726F6D2066696C652E2E2E455252BD +S31508008EA04F520A0D00000000496E76616C69642015 +S31508008EB0636865636B73756D20666F756E642E2EB9 +S31508008EC02E4552524F520A0D0000000050726F672D +S31508008ED072616D6D696E672000000000206279740A +S31508008EE0657320746F206D656D6F727920617420CB +S31508008EF03078000057726974696E672070726F6700 +S31508008F0072616D20636865636B73756D2E2E2E0016 +S31508008F10436C6F73696E67206669726D77617265F7 +S31508008F202066696C650A0D004669726D776172651F +S31508008F302075706461746520737563636573736601 +S31508008F40756C6C7920636F6D706C657465640A0D59 +S31508008F50000000002E2E2F2E2E2F2E2E2F536F752B +S31508008F607263652F41524D434D345F53544D33322E +S31508008F7046342F756172742E630000002E2E2F2E34 +S31508008F802E2F2E2E2F536F757263652F41524D4328 +S31508008F904D345F53544D333246342F7573622E6306 +S31508008FA0000000000000080010001800200028003B +S31508008FB03000380040004800500058008000880003 +S31508008FC090009800A000A800B000B800C000C80033 +S31508008FD0D000D80000C000080040000003000000D0 +S31508008FE0000001080000010004000000000002085B +S31508008FF0000002000500000000000408000002004E +S315080090000600000000000608000002000700000035 +S3150800901000000808000002000800000000000A0816 +S31508009020000002000900000000000C080000020011 +S315080090300A00000000000E08000002000B000000F5 +S315080090402E2E2F2E2E2F2E2E2F536F757263652FD1 +S3150800905041524D434D345F53544D333246342F639A +S31508009060616E2E6300000000050206020603070370 +S315080090700803090309040A040B040C040C050D056E +S315080090800E050F050F06100610071008222A3A3C8F +S315080090903E3F7C7F000000002B2C3B3D5B5D0000C3 +S315080090A0809A45418E418F804545454949498E8F6D +S315080090B09092924F994F555559999A9B9C9D9E9F70 +S315080090C041494F55A5A5A6A7A8A9AAABACADAEAF71 +S315080090D0B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF0A +S315080090E0C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFFA +S315080090F0D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFEA +S31508009100E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFD9 +S31508009110F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFC9 +S3150800912001030507090E10121416181C1E0000006C +S315080091307D1D0100632C001E9601A01E5A01001F0A +S315080091400806101F0606201F0806301F0806401FBF +S315080091500606511F0700591F521F5B1F541F5D1F2C +S31508009160561F5F1F601F0806701F0E00BA1FBB1F21 +S31508009170C81FC91FCA1FCB1FDA1FDB1FF81FF91F1D +S31508009180EA1FEB1FFA1FFB1F801F0806901F080621 +S31508009190A01F0806B01F0400B81FB91FB21FBC1FC6 +S315080091A0CC1F0100C31FD01F0206E01F0206E51FE1 +S315080091B00100EC1FF21F0100FC1F4E2101003221A5 +S315080091C070211002842101008321D0241A05302C35 +S315080091D02F04602C0201672C0601752C0201802CD5 +S315080091E06401002D260841FF1A03000061001A03D6 +S315080091F0E0001703F8000703FF00010078010001EB +S31508009200300132010601390110014A012E017901A6 +S31508009210060180014D004302810182018201840119 +S31508009220840186018701870189018A018B018B01E7 +S315080092308D018E018F019001910191019301940195 +S31508009240F60196019701980198013D029B019C0140 +S315080092509D0120029F01A001A001A201A201A40173 +S31508009260A401A601A701A701A901AA01AB01AC01A6 +S31508009270AC01AE01AF01AF01B101B201B301B30157 +S31508009280B501B501B701B801B801BA01BB01BC0106 +S31508009290BC01BE01F701C001C101C201C301C4017D +S315080092A0C501C401C701C801C701CA01CB01CA016A +S315080092B0CD011001DD0101008E01DE011201F3016D +S315080092C00300F101F401F401F80128012202120158 +S315080092D03A020900652C3B023B023D02662C3F021E +S315080092E040024102410246020A015302400081013E +S315080092F08601550289018A0158028F015A02900196 +S315080093005C025D025E025F029301610262029401E1 +S315080093106402650266026702970196016A02622C78 +S315080093206C026D026E029C01700271029D0173024D +S3150800933074029F0176027702780279027A027B022A +S315080093407C02642C7E027F02A60181028202A901A8 +S315080093508402850286028702AE014402B101B20187 +S3150800936045028D028E028F0290029102B7017B039D +S315080093700300FD03FE03FF03AC0304008603880312 +S3150800938089038A03B1031103C2030200A303A303DB +S31508009390C4030803CC0303008C038E038F03D8038E +S315080093A01801F2030A00F903F303F403F503F603BD +S315080093B0F703F703F903FA03FA033004200350040A +S315080093C01007600422018A043601C1040E01CF0485 +S315080093D00100C004D0044401610526040000000011 +S315080093E0C700FC00E900E200E400E000E500E70051 +S315080093F0EA00EB00E800EF00EE00EC00C400C50050 +S31508009400C900E600C600F400F600F200FB00F90009 +S31508009410FF00D600DC00A200A300A500A720920149 +S31508009420E100ED00F300FA00F100D100AA00BA004D +S31508009430BF001023AC00BD00BC00A100AB00BB0000 +S3150800944091259225932502252425612562255625F1 +S3150800945055256325512557255D255C255B25102552 +S31508009460142534252C251C2500253C255E255F253D +S315080094705A25542569256625602550256C256725B6 +S3150800948068256425652559255825522553256B25B4 +S315080094906A2518250C25882584258C259025802560 +S315080094A0B103DF009303C003A303C303B500C403DA +S315080094B0A6039803A903B4031E22C603B5032922EB +S315080094C06122B1006522642220232123F700482265 +S315080094D0B0001922B7001A227F20B200A025A000EA +S315080094E0FFFFFFFFFFFF0000E80000204300504F8A +S315080094F0534958002E00002020202020202020201C +S315080095002828282828202020202020202020202025 +S315080095102020202020202088101010101010101055 +S315080095201010101010101004040404040404040499 +S315080095300410101010101010414141414141010121 +S3150800954001010101010101010101010101010101FD +S31508009550010110101010101042424242424202020B +S3150800956002020202020202020202020202020202CD +S315080095700202101010102000000000000000000079 +S3150800958000000000000000000000000000000000CD +S3150800959000000000000000000000000000000000BD +S315080095A000000000000000000000000000000000AD +S315080095B0000000000000000000000000000000009D +S315080095C0000000000000000000000000000000008D +S315080095D0000000000000000000000000000000007D +S315080095E0000000000000000000000000000000006D +S311080095F000000000000000000000000061 +S30D080095FCE86BFF7F0100000087 +S3150800960445040008490400084D04000851040008EC +S3150800961459040008610400086D0400084907000895 +S3150800962431070008D1060008000000000000000009 +S31508009634B9060008C5060008A506000800000000CB +S31508009644000000009906000809022000010100C074 +S31508009654320904000002FF000000070581024000E9 +S31508009664FF070501024000FF810700088D0700086F +S31508009674B507000899070008D1070008ED07000890 +S315080096840908000804030904120110010000004037 +S31508009694501DAC6000010102030100000100000036 +S315080096A40100000000000000010203040102030493 +S315080096B406070809B80000200D41000859400008AB +S315080096C409400008713F0008D93F0008553F0008C3 +S315080096D43D3F0008813F0008913F0008A13F00086C +S315080096E4B93F000804000000000000000000000064 +S315080096F40000000000000000000000000000000058 +S315080097040000000000000000000000000000000047 +S315080097140000000000000000000000000000000037 +S315080097240000000000000000000000000000000027 +S315080097340000000000000000000000000000000017 +S315080097440000000000000000E800002043000000BC +S3150800975400000000000000000000000000000000F7 +S3150800976400000000000000000000000043000000A4 +S3150800977400000000000000000000000000000000D7 +S315080097840000000000000000000000004300000084 +S3150800979400000000000000000000000000000000B7 +S315080097A40000000000000000000000004300000064 +S315080097B40000000000000000000000000000000097 +S315080097C40000000000000000000000004300000044 +S315080097D40000000000000000000000000000000077 +S315080097E40000000000000000000000004300000024 +S315080097F40000000000000000000000000000000057 +S315080098040000000000000000000000004300000003 +S315080098140000000000000000000000000000000036 +S31508009824000000000000000000000000BF8C0008D3 +S31508009834758C000800000000F6940008F4940008EB +S31508009844F5940008F5940008F5940008F5940008C2 +S31508009854F5940008F5940008F5940008F5940008B2 +S31508009864F5940008FFFFFFFFFFFFFFFFFFFFFFFF61 +S31508009874FFFF00000100415343494900000000006E +S3150800988400000000000000000000000000000000C6 +S31508009894000000000000415343494900000000004D +S315080098A400000000000000000000000000000000A6 +S315080098B40000000000000000AD010008890100084E S70508000000F2 diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cfg/stm32f407zg_flash.ld b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cfg/stm32f407zg_flash.ld new file mode 100755 index 00000000..7e392f66 --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cfg/stm32f407zg_flash.ld @@ -0,0 +1,181 @@ +/* ---------------------------------------------------------------------------- */ +/* Em::Blocks embedded development Support */ +/* ---------------------------------------------------------------------------- */ +/* Copyright (c) 2014, EmBlocks */ +/* */ +/* All rights reserved. */ +/* */ +/* Redistribution and use in source and binary forms, with or without */ +/* modification, are permitted provided that the following condition is met: */ +/* */ +/* - Redistributions of source code must retain the above copyright notice, */ +/* this list of conditions and the disclaimer below. */ +/* */ +/* EmBlocks's name may not be used to endorse or promote products derived from */ +/* this software without specific prior written permission. */ +/* */ +/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY EBLOCKS "AS IS" AND ANY EXPRESS OR */ +/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */ +/* DISCLAIMED. IN NO EVENT SHALL EMBLOCKS BE LIABLE FOR ANY DIRECT, INDIRECT, */ +/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ +/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */ +/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */ +/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* ---------------------------------------------------------------------------- */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the STM32F407ZG + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ROM (rx) : ORIGIN = 0x08000000, LENGTH = 48K + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K +} + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + */ + + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > ROM + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > ROM + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ROM + __exidx_end = .; + + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss (NOLOAD): + { + __bss_start__ = .; + *(.bss*) + *(COMMON) + __bss_end__ = .; + } > RAM + + .heap (NOLOAD): + { + __end__ = .; + end = __end__; + *(.heap*) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (NOLOAD): + { + *(.stack) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") +} diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/build.bat b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/build.bat deleted file mode 100644 index 6cdb041e..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/build.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -cs-make --directory=../ all diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/clean.bat b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/clean.bat deleted file mode 100644 index 025aaea0..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/cmd/clean.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -cs-make --directory=../ clean diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.project b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.project deleted file mode 100644 index 7daf9879..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.project +++ /dev/null @@ -1,398 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - break main -continue - - - - - - - make clean - make - - - - None - $(WorkspacePath)/.. - - - - - - - - - - - - - - - - - - - - - - - make clean - make - - - - None - $(WorkspacePath) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.workspace b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.workspace deleted file mode 100644 index 7957a1d7..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/DemoBoot.workspace +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/readme.txt b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/readme.txt deleted file mode 100644 index 8a340a19..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/ide/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -Integrated Development Environment ----------------------------------- -Codelite was used as the editor during the development of this software program. This directory contains the Codelite -workspace and project files. Codelite is a cross platform open source C/C++ IDE, available at http://www.codelite.org/. \ No newline at end of file diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/lib/newlib/_exit.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/lib/newlib/_exit.c new file mode 100644 index 00000000..4ae9532c --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/lib/newlib/_exit.c @@ -0,0 +1,38 @@ +// ---------------------------------------------------------------------------- + +#include + +// ---------------------------------------------------------------------------- + +// Forward declaration + +void +_exit(int code); + +// ---------------------------------------------------------------------------- + +// We just enter an infinite loop, to be used as landmark when halting +// the debugger. +// +// It can be redefined in the application, if more functionality +// is required. + +void +__attribute__((weak)) +_exit(int code __attribute__((unused))) +{ + // TODO: write on trace + while (1) + ; +} + +// ---------------------------------------------------------------------------- + +void +__attribute__((weak,noreturn)) +abort(void) +{ + _exit(1); +} + +// ---------------------------------------------------------------------------- diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/makefile b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/makefile index fab8918e..be9602d9 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/makefile +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for STM32 using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,243 +25,136 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=openblt_olimex_stm32e407 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -blt_conf.h \ -hooks.c \ -main.c \ -usbd_bulk.c \ -usbd_bulk.h \ -usbd_conf.h \ -usbd_desc.c \ -usbd_desc.h \ -usbd_usr.c \ -usb_bsp.c \ -usb_conf.h \ -./lib/usbdevicelib/Core/inc/usbd_core.h \ -./lib/usbdevicelib/Core/inc/usbd_def.h \ -./lib/usbdevicelib/Core/inc/usbd_ioreq.h \ -./lib/usbdevicelib/Core/inc/usbd_req.h \ -./lib/usbdevicelib/Core/inc/usbd_usr.h \ -./lib/usbdevicelib/Core/src/usbd_core.c \ -./lib/usbdevicelib/Core/src/usbd_ioreq.c \ -./lib/usbdevicelib/Core/src/usbd_req.c \ -./lib/usbotgdriver/inc/usb_bsp.h \ -./lib/usbotgdriver/inc/usb_core.h \ -./lib/usbotgdriver/inc/usb_dcd.h \ -./lib/usbotgdriver/inc/usb_dcd_int.h \ -./lib/usbotgdriver/inc/usb_defines.h \ -./lib/usbotgdriver/inc/usb_regs.h \ -./lib/usbotgdriver/src/usb_core.c \ -./lib/usbotgdriver/src/usb_dcd.c \ -./lib/usbotgdriver/src/usb_dcd_int.c \ -./lib/fatfs/ffconf.h \ -./lib/fatfs/mmc.c \ -./lib/ethernetlib/inc/stm32_eth.h \ -./lib/ethernetlib/src/stm32_eth.c \ -./lib/uip/clock-arch.c \ -./lib/uip/clock-arch.h \ -./lib/uip/netdev.c \ -./lib/uip/netdev.h \ -./lib/uip/uip-conf.h \ -./lib/stdperiphlib/stm32f4xx_conf.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/misc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/misc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_adc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_can.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_aes.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_des.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_tdes.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dac.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dcmi.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_exti.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_flash.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_fsmc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_md5.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_sha1.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_iwdg.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_pwr.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rng.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rtc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_sdio.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_tim.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_usart.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c \ -./lib/stdperiphlib/CMSIS/Include/core_cm4.h \ -./lib/stdperiphlib/CMSIS/Include/core_cm4_simd.h \ -./lib/stdperiphlib/CMSIS/Include/core_cmFunc.h \ -./lib/stdperiphlib/CMSIS/Include/core_cmInstr.h \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Source/system_stm32f4xx.c \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ -../../../Source/third_party/fatfs/src/diskio.h \ -../../../Source/third_party/fatfs/src/ff.c \ -../../../Source/third_party/fatfs/src/ff.h \ -../../../Source/third_party/fatfs/src/integer.h \ -../../../Source/third_party/fatfs/src/option/unicode.c \ -../../../Source/third_party/uip/uip/clock.h \ -../../../Source/third_party/uip/uip/lc-addrlabels.h \ -../../../Source/third_party/uip/uip/lc-switch.h \ -../../../Source/third_party/uip/uip/lc.h \ -../../../Source/third_party/uip/uip/pt.h \ -../../../Source/third_party/uip/uip/uip-fw.h \ -../../../Source/third_party/uip/uip/uip-neighbor.h \ -../../../Source/third_party/uip/uip/uip-split.h \ -../../../Source/third_party/uip/uip/uip.c \ -../../../Source/third_party/uip/uip/uip.h \ -../../../Source/third_party/uip/uip/uip_arch.h \ -../../../Source/third_party/uip/uip/uip_arp.c \ -../../../Source/third_party/uip/uip/uip_arp.h \ -../../../Source/third_party/uip/uip/uip_timer.c \ -../../../Source/third_party/uip/uip/uip_timer.h \ -../../../Source/third_party/uip/uip/uiplib.c \ -../../../Source/third_party/uip/uip/uiplib.h \ -../../../Source/third_party/uip/uip/uipopt.h \ -../../../Source/boot.c \ -../../../Source/boot.h \ -../../../Source/com.c \ -../../../Source/com.h \ -../../../Source/net.c \ -../../../Source/net.h \ -../../../Source/xcp.c \ -../../../Source/xcp.h \ -../../../Source/backdoor.c \ -../../../Source/backdoor.h \ -../../../Source/cop.c \ -../../../Source/cop.h \ -../../../Source/file.c \ -../../../Source/file.h \ -../../../Source/assert.c \ -../../../Source/assert.h \ -../../../Source/can.h \ -../../../Source/cpu.h \ -../../../Source/uart.h \ -../../../Source/usb.h \ -../../../Source/nvm.h \ -../../../Source/timer.h \ -../../../Source/plausibility.h \ -../../../Source/ARMCM4_STM32F4/types.h \ -../../../Source/ARMCM4_STM32F4/can.c \ -../../../Source/ARMCM4_STM32F4/cpu.c \ -../../../Source/ARMCM4_STM32F4/flash.c \ -../../../Source/ARMCM4_STM32F4/flash.h \ -../../../Source/ARMCM4_STM32F4/uart.c \ -../../../Source/ARMCM4_STM32F4/usb.c \ -../../../Source/ARMCM4_STM32F4/nvm.c \ -../../../Source/ARMCM4_STM32F4/timer.c \ -../../../Source/ARMCM4_STM32F4/GCC/vectors.c \ -../../../Source/ARMCM4_STM32F4/GCC/cpu_comp.c \ -../../../Source/ARMCM4_STM32F4/GCC/cstart.c +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) + +# Collect all application files in the current directory and its subdirectories, but +# exclude flash-layout.c as this one is directly included in a source file, when used. +PROJ_FILES = $(filter-out flash_layout.c, $(call rwildcard, , *.c *.h *.S)) +# Collect bootloader core files +PROJ_FILES += $(wildcard ../../../Source/*.c) +PROJ_FILES += $(wildcard ../../../Source/*.h) +# Collect bootloader port files +PROJ_FILES += $(wildcard ../../../Source/ARMCM4_STM32F4/*.c) +PROJ_FILES += $(wildcard ../../../Source/ARMCM4_STM32F4/*.h) +# Collect bootloader port compiler specific files +PROJ_FILES += ../../../Source/ARMCM4_STM32F4/GCC/cpu_comp.c +# Collect FatFS third party library files +PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.c) +PROJ_FILES += $(wildcard ../../../Source/third_party/fatfs/src/*.h) +PROJ_FILES += ../../../Source/third_party/fatfs/src/option/unicode.c +# Collect UIP third party library files +PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h +PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -LIB_PATH = -L../../../Source/ARMCM4_STM32F4/GCC/ +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +LIB_PATH = -Lcfg -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m4 -O1 -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -CFLAGS += -ffunction-sections -fdata-sections $(INC_PATH) -D STM32F4XX -D GCC_ARMCM3 -CFLAGS += -D USE_STDPERIPH_DRIVER -D HSE_VALUE=12000000 -D USE_USB_OTG_FS -CFLAGS += -Wa,-adhlns="$(OBJ_PATH)/$(subst .o,.lst,$@)" -Wno-attributes -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O srec -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +HEAP_SIZE = 0x0000 +STACK_SIZE = 0x0800 +STDFLAGS = -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fno-strict-aliasing +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 -Wno-maybe-uninitialized -Wno-main +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DSTM32F407ZG -DSTM32F4XX -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=12000000 +CFLAGS += -DARM_MATH_CM4 -D__FPU_USED -DUSE_USB_OTG_FS +CFLAGS += -D__HEAP_SIZE=$(HEAP_SIZE) -D__STACK_SIZE=$(STACK_SIZE) +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,--defsym=__HEAP_SIZE=$(HEAP_SIZE) -Wl,--defsym=__STACK_SIZE=$(STACK_SIZE) +LFLAGS += -Wl,-script="stm32f407zg_flash.ld" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O srec +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).srec +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).srec $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf @@ -273,31 +166,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/startup_stm32f4xx.S b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/startup_stm32f4xx.S new file mode 100755 index 00000000..3fd7c3f1 --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Boot/startup_stm32f4xx.S @@ -0,0 +1,363 @@ +/* File: startup_ARMCM4.S + * Purpose: startup file for Cortex-M4 devices. Should use with + * GCC for ARM Embedded Processors + * Version: V1.3 + * Date: 08 Feb 2012 + * + * Copyright (c) 2012, ARM Limited + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the ARM Limited nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + .syntax unified + .arch armv7-m + + .section .stack + .align 3 +#ifdef __STACK_SIZE + .equ Stack_Size, __STACK_SIZE +#else + .equ Stack_Size, 0x400 +#endif + .globl __StackTop + .globl __StackLimit +__StackLimit: + .space Stack_Size + .size __StackLimit, . - __StackLimit +__StackTop: + .size __StackTop, . - __StackTop + + .section .heap + .align 3 +#ifdef __HEAP_SIZE + .equ Heap_Size, __HEAP_SIZE +#else + .equ Heap_Size, 0xC00 +#endif + .globl __HeapBase + .globl __HeapLimit +__HeapBase: + .if Heap_Size + .space Heap_Size + .endif + .size __HeapBase, . - __HeapBase +__HeapLimit: + .size __HeapLimit, . - __HeapLimit + + .section .isr_vector + .align 2 + .globl __isr_vector +__isr_vector: + .long __StackTop /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long MemManage_Handler /* MPU Fault Handler */ + .long BusFault_Handler /* Bus Fault Handler */ + .long UsageFault_Handler /* Usage Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long DebugMon_Handler /* Debug Monitor Handler */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ + + // External Interrupts + .long WWDG_IRQHandler // Window WatchDog + .long PVD_IRQHandler // PVD through EXTI Line detection + .long TAMP_STAMP_IRQHandler // Tamper and TimeStamps through the EXTI line + .long RTC_WKUP_IRQHandler // RTC Wakeup through the EXTI line + .long FLASH_IRQHandler // FLASH + .long RCC_IRQHandler // RCC + .long EXTI0_IRQHandler // EXTI Line0 + .long EXTI1_IRQHandler // EXTI Line1 + .long EXTI2_IRQHandler // EXTI Line2 + .long EXTI3_IRQHandler // EXTI Line3 + .long EXTI4_IRQHandler // EXTI Line4 + .long DMA1_Stream0_IRQHandler // DMA1 Stream 0 + .long DMA1_Stream1_IRQHandler // DMA1 Stream 1 + .long DMA1_Stream2_IRQHandler // DMA1 Stream 2 + .long DMA1_Stream3_IRQHandler // DMA1 Stream 3 + .long DMA1_Stream4_IRQHandler // DMA1 Stream 4 + .long DMA1_Stream5_IRQHandler // DMA1 Stream 5 + .long DMA1_Stream6_IRQHandler // DMA1 Stream 6 + .long ADC_IRQHandler // ADC1, ADC2 and ADC3s + .long CAN1_TX_IRQHandler // CAN1 TX + .long CAN1_RX0_IRQHandler // CAN1 RX0 + .long CAN1_RX1_IRQHandler // CAN1 RX1 + .long CAN1_SCE_IRQHandler // CAN1 SCE + .long EXTI9_5_IRQHandler // External Line[9:5]s + .long TIM1_BRK_TIM9_IRQHandler // TIM1 Break and TIM9 + .long TIM1_UP_TIM10_IRQHandler // TIM1 Update and TIM10 + .long TIM1_TRG_COM_TIM11_IRQHandler // TIM1 Trigger and Commutation and TIM11 + .long TIM1_CC_IRQHandler // TIM1 Capture Compare + .long TIM2_IRQHandler // TIM2 + .long TIM3_IRQHandler // TIM3 + .long TIM4_IRQHandler // TIM4 + .long I2C1_EV_IRQHandler // I2C1 Event + .long I2C1_ER_IRQHandler // I2C1 Error + .long I2C2_EV_IRQHandler // I2C2 Event + .long I2C2_ER_IRQHandler // I2C2 Error + .long SPI1_IRQHandler // SPI1 + .long SPI2_IRQHandler // SPI2 + .long USART1_IRQHandler // USART1 + .long USART2_IRQHandler // USART2 + .long USART3_IRQHandler // USART3 + .long EXTI15_10_IRQHandler // External Line[15:10]s + .long RTC_Alarm_IRQHandler // RTC Alarm (A and B) through EXTI Line + .long OTG_FS_WKUP_IRQHandler // USB OTG FS Wakeup through EXTI line + .long TIM8_BRK_TIM12_IRQHandler // TIM8 Break and TIM12 + .long TIM8_UP_TIM13_IRQHandler // TIM8 Update and TIM13 + .long TIM8_TRG_COM_TIM14_IRQHandler // TIM8 Trigger and Commutation and TIM14 + .long TIM8_CC_IRQHandler // TIM8 Capture Compare + .long DMA1_Stream7_IRQHandler // DMA1 Stream7 + .long FSMC_IRQHandler // FSMC + .long SDIO_IRQHandler // SDIO + .long TIM5_IRQHandler // TIM5 + .long SPI3_IRQHandler // SPI3 + .long UART4_IRQHandler // UART4 + .long UART5_IRQHandler // UART5 + .long TIM6_DAC_IRQHandler // TIM6 and DAC1&2 underrun errors + .long TIM7_IRQHandler // TIM7 + .long DMA2_Stream0_IRQHandler // DMA2 Stream 0 + .long DMA2_Stream1_IRQHandler // DMA2 Stream 1 + .long DMA2_Stream2_IRQHandler // DMA2 Stream 2 + .long DMA2_Stream3_IRQHandler // DMA2 Stream 3 + .long DMA2_Stream4_IRQHandler // DMA2 Stream 4 + .long ETH_IRQHandler // Ethernet + .long ETH_WKUP_IRQHandler // Ethernet Wakeup through EXTI line + .long CAN2_TX_IRQHandler // CAN2 TX + .long CAN2_RX0_IRQHandler // CAN2 RX0 + .long CAN2_RX1_IRQHandler // CAN2 RX1 + .long CAN2_SCE_IRQHandler // CAN2 SCE + .long OTG_FS_IRQHandler // USB OTG FS + .long DMA2_Stream5_IRQHandler // DMA2 Stream 5 + .long DMA2_Stream6_IRQHandler // DMA2 Stream 6 + .long DMA2_Stream7_IRQHandler // DMA2 Stream 7 + .long USART6_IRQHandler // USART6 + .long I2C3_EV_IRQHandler // I2C3 event + .long I2C3_ER_IRQHandler // I2C3 error + .long OTG_HS_EP1_OUT_IRQHandler // USB OTG HS End Point 1 Out + .long OTG_HS_EP1_IN_IRQHandler // USB OTG HS End Point 1 In + .long OTG_HS_WKUP_IRQHandler // USB OTG HS Wakeup through EXTI + .long OTG_HS_IRQHandler // USB OTG HS + .long DCMI_IRQHandler // DCMI + .long CRYP_IRQHandler // CRYP crypto + .long HASH_RNG_IRQHandler // Hash and Rng + .long FPU_IRQHandler // FPU + + .size __isr_vector, . - __isr_vector + + .text + .thumb + .thumb_func + .align 2 + .globl Reset_Handler + .type Reset_Handler, %function +Reset_Handler: +/* Initialize the stackpointer. this is done automatically after a reset event. + * the bootloader performs a software reset by calling this reset handler, in + * which case the stackpointer is not yet initialized. */ + ldr r1, =__StackTop + mov sp, r1 + +/* Loop to copy data from read only memory to RAM. The ranges + * of copy from/to are specified by following symbols evaluated in + * linker script. + * __etext: End of code section, i.e., begin of data sections to copy from. + * __data_start__/__data_end__: RAM address range that data should be + * copied to. Both must be aligned to 4 bytes boundary. */ + + ldr r1, =__etext + ldr r2, =__data_start__ + ldr r3, =__data_end__ + +#if 1 +/* Here are two copies of loop implemenations. First one favors code size + * and the second one favors performance. Default uses the first one. + * Change to "#if 0" to use the second one */ +.flash_to_ram_loop: + cmp r2, r3 + ittt lt + ldrlt r0, [r1], #4 + strlt r0, [r2], #4 + blt .flash_to_ram_loop +#else + subs r3, r2 + ble .flash_to_ram_loop_end +.flash_to_ram_loop: + subs r3, #4 + ldr r0, [r1, r3] + str r0, [r2, r3] + bgt .flash_to_ram_loop +.flash_to_ram_loop_end: +#endif + +#ifndef __NO_SYSTEM_INIT + ldr r0, =SystemInit + blx r0 +#endif + + ldr r0, =_start + bx r0 + .pool + .size Reset_Handler, . - Reset_Handler + +/* Our weak _start alternative if we don't use the library _start + * The zero init section must be cleared, otherwise the librtary is + * doing that */ + .align 1 + .thumb_func + .weak _start + .type _start, %function +_start: + + /* Zero fill the bss segment. */ + ldr r1, = __bss_start__ + ldr r2, = __bss_end__ + movs r3, #0 + b .fill_zero_bss +.loop_zero_bss: + str r3, [r1], #4 + +.fill_zero_bss: + cmp r1, r2 + bcc .loop_zero_bss + + /* Jump to our main */ + bl main + b . + .size _start, . - _start + +/* Macro to define default handlers. Default handler + * will be weak symbol and just dead loops. They can be + * overwritten by other handlers */ + .macro def_irq_handler handler_name + .align 1 + .thumb_func + .weak \handler_name + .type \handler_name, %function +\handler_name : + b . + .size \handler_name, . - \handler_name + .endm + + def_irq_handler NMI_Handler + def_irq_handler HardFault_Handler + def_irq_handler MemManage_Handler + def_irq_handler BusFault_Handler + def_irq_handler UsageFault_Handler + def_irq_handler SVC_Handler + def_irq_handler DebugMon_Handler + def_irq_handler PendSV_Handler + def_irq_handler SysTick_Handler + def_irq_handler Default_Handler + + // External Interrupts + def_irq_handler WWDG_IRQHandler // Window WatchDog + def_irq_handler PVD_IRQHandler // PVD through EXTI Line detection + def_irq_handler TAMP_STAMP_IRQHandler // Tamper and TimeStamps through the EXTI line + def_irq_handler RTC_WKUP_IRQHandler // RTC Wakeup through the EXTI line + def_irq_handler FLASH_IRQHandler // FLASH + def_irq_handler RCC_IRQHandler // RCC + def_irq_handler EXTI0_IRQHandler // EXTI Line0 + def_irq_handler EXTI1_IRQHandler // EXTI Line1 + def_irq_handler EXTI2_IRQHandler // EXTI Line2 + def_irq_handler EXTI3_IRQHandler // EXTI Line3 + def_irq_handler EXTI4_IRQHandler // EXTI Line4 + def_irq_handler DMA1_Stream0_IRQHandler // DMA1 Stream 0 + def_irq_handler DMA1_Stream1_IRQHandler // DMA1 Stream 1 + def_irq_handler DMA1_Stream2_IRQHandler // DMA1 Stream 2 + def_irq_handler DMA1_Stream3_IRQHandler // DMA1 Stream 3 + def_irq_handler DMA1_Stream4_IRQHandler // DMA1 Stream 4 + def_irq_handler DMA1_Stream5_IRQHandler // DMA1 Stream 5 + def_irq_handler DMA1_Stream6_IRQHandler // DMA1 Stream 6 + def_irq_handler ADC_IRQHandler // ADC1, ADC2 and ADC3s + def_irq_handler CAN1_TX_IRQHandler // CAN1 TX + def_irq_handler CAN1_RX0_IRQHandler // CAN1 RX0 + def_irq_handler CAN1_RX1_IRQHandler // CAN1 RX1 + def_irq_handler CAN1_SCE_IRQHandler // CAN1 SCE + def_irq_handler EXTI9_5_IRQHandler // External Line[9:5]s + def_irq_handler TIM1_BRK_TIM9_IRQHandler // TIM1 Break and TIM9 + def_irq_handler TIM1_UP_TIM10_IRQHandler // TIM1 Update and TIM10 + def_irq_handler TIM1_TRG_COM_TIM11_IRQHandler // TIM1 Trigger and Commutation and TIM11 + def_irq_handler TIM1_CC_IRQHandler // TIM1 Capture Compare + def_irq_handler TIM2_IRQHandler // TIM2 + def_irq_handler TIM3_IRQHandler // TIM3 + def_irq_handler TIM4_IRQHandler // TIM4 + def_irq_handler I2C1_EV_IRQHandler // I2C1 Event + def_irq_handler I2C1_ER_IRQHandler // I2C1 Error + def_irq_handler I2C2_EV_IRQHandler // I2C2 Event + def_irq_handler I2C2_ER_IRQHandler // I2C2 Error + def_irq_handler SPI1_IRQHandler // SPI1 + def_irq_handler SPI2_IRQHandler // SPI2 + def_irq_handler USART1_IRQHandler // USART1 + def_irq_handler USART2_IRQHandler // USART2 + def_irq_handler USART3_IRQHandler // USART3 + def_irq_handler EXTI15_10_IRQHandler // External Line[15:10]s + def_irq_handler RTC_Alarm_IRQHandler // RTC Alarm (A and B) through EXTI Line + def_irq_handler OTG_FS_WKUP_IRQHandler // USB OTG FS Wakeup through EXTI line + def_irq_handler TIM8_BRK_TIM12_IRQHandler // TIM8 Break and TIM12 + def_irq_handler TIM8_UP_TIM13_IRQHandler // TIM8 Update and TIM13 + def_irq_handler TIM8_TRG_COM_TIM14_IRQHandler // TIM8 Trigger and Commutation and TIM14 + def_irq_handler TIM8_CC_IRQHandler // TIM8 Capture Compare + def_irq_handler DMA1_Stream7_IRQHandler // DMA1 Stream7 + def_irq_handler FSMC_IRQHandler // FSMC + def_irq_handler SDIO_IRQHandler // SDIO + def_irq_handler TIM5_IRQHandler // TIM5 + def_irq_handler SPI3_IRQHandler // SPI3 + def_irq_handler UART4_IRQHandler // UART4 + def_irq_handler UART5_IRQHandler // UART5 + def_irq_handler TIM6_DAC_IRQHandler // TIM6 and DAC1&2 underrun errors + def_irq_handler TIM7_IRQHandler // TIM7 + def_irq_handler DMA2_Stream0_IRQHandler // DMA2 Stream 0 + def_irq_handler DMA2_Stream1_IRQHandler // DMA2 Stream 1 + def_irq_handler DMA2_Stream2_IRQHandler // DMA2 Stream 2 + def_irq_handler DMA2_Stream3_IRQHandler // DMA2 Stream 3 + def_irq_handler DMA2_Stream4_IRQHandler // DMA2 Stream 4 + def_irq_handler ETH_IRQHandler // Ethernet + def_irq_handler ETH_WKUP_IRQHandler // Ethernet Wakeup through EXTI line + def_irq_handler CAN2_TX_IRQHandler // CAN2 TX + def_irq_handler CAN2_RX0_IRQHandler // CAN2 RX0 + def_irq_handler CAN2_RX1_IRQHandler // CAN2 RX1 + def_irq_handler CAN2_SCE_IRQHandler // CAN2 SCE + def_irq_handler OTG_FS_IRQHandler // USB OTG FS + def_irq_handler DMA2_Stream5_IRQHandler // DMA2 Stream 5 + def_irq_handler DMA2_Stream6_IRQHandler // DMA2 Stream 6 + def_irq_handler DMA2_Stream7_IRQHandler // DMA2 Stream 7 + def_irq_handler USART6_IRQHandler // USART6 + def_irq_handler I2C3_EV_IRQHandler // I2C3 event + def_irq_handler I2C3_ER_IRQHandler // I2C3 error + def_irq_handler OTG_HS_EP1_OUT_IRQHandler // USB OTG HS End Point 1 Out + def_irq_handler OTG_HS_EP1_IN_IRQHandler // USB OTG HS End Point 1 In + def_irq_handler OTG_HS_WKUP_IRQHandler // USB OTG HS Wakeup through EXTI + def_irq_handler OTG_HS_IRQHandler // USB OTG HS + def_irq_handler DCMI_IRQHandler // DCMI + def_irq_handler CRYP_IRQHandler // CRYP crypto + def_irq_handler HASH_RNG_IRQHandler // Hash and Rng + def_irq_handler FPU_IRQHandler // FPU + + .end diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.elf b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.elf index a355aceb..28896ee3 100644 Binary files a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.elf and b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.elf differ diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.map b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.map index 506f60ec..f0fffdd3 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.map +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.map @@ -1,203 +1,365 @@ - -bin/demoprog_olimex_stm32e407.elf: file format elf32-littlearm -bin/demoprog_olimex_stm32e407.elf -architecture: arm, flags 0x00000112: -EXEC_P, HAS_SYMS, D_PAGED -start address 0x0800c000 - -Program Header: - LOAD off 0x00000000 vaddr 0x08008000 paddr 0x08008000 align 2**15 - filesz 0x00007158 memsz 0x00007158 flags r-x - LOAD off 0x00008000 vaddr 0x20000000 paddr 0x0800f158 align 2**15 - filesz 0x00000014 memsz 0x00000014 flags rw- - LOAD off 0x00008080 vaddr 0x20000080 paddr 0x0800f200 align 2**15 - filesz 0x00000000 memsz 0x00001c9c flags rw- -private flags = 5000202: [Version5 EABI] [soft-float ABI] [has entry point] - -Sections: -Idx Name Size VMA LMA File off Algn - 0 .text 00003158 0800c000 0800c000 00004000 2**2 - CONTENTS, ALLOC, LOAD, READONLY, CODE - 1 .data 00000014 20000000 0800f158 00008000 2**2 - CONTENTS, ALLOC, LOAD, DATA - 2 .bss 00001c9c 20000080 0800f200 00008080 2**7 - ALLOC - 3 .debug_info 000093e9 00000000 00000000 00008014 2**0 - CONTENTS, READONLY, DEBUGGING - 4 .debug_abbrev 00001dac 00000000 00000000 000113fd 2**0 - CONTENTS, READONLY, DEBUGGING - 5 .debug_loc 00003bcf 00000000 00000000 000131a9 2**0 - CONTENTS, READONLY, DEBUGGING - 6 .debug_aranges 000009c0 00000000 00000000 00016d78 2**0 - CONTENTS, READONLY, DEBUGGING - 7 .debug_ranges 000008b0 00000000 00000000 00017738 2**0 - CONTENTS, READONLY, DEBUGGING - 8 .debug_line 0000314e 00000000 00000000 00017fe8 2**0 - CONTENTS, READONLY, DEBUGGING - 9 .debug_str 00003853 00000000 00000000 0001b136 2**0 - CONTENTS, READONLY, DEBUGGING - 10 .comment 00000030 00000000 00000000 0001e989 2**0 - CONTENTS, READONLY - 11 .ARM.attributes 00000033 00000000 00000000 0001e9b9 2**0 - CONTENTS, READONLY - 12 .debug_frame 0000144c 00000000 00000000 0001e9ec 2**2 - CONTENTS, READONLY, DEBUGGING -SYMBOL TABLE: -0800c000 l d .text 00000000 .text -20000000 l d .data 00000000 .data -20000080 l d .bss 00000000 .bss -00000000 l d .debug_info 00000000 .debug_info -00000000 l d .debug_abbrev 00000000 .debug_abbrev -00000000 l d .debug_loc 00000000 .debug_loc -00000000 l d .debug_aranges 00000000 .debug_aranges -00000000 l d .debug_ranges 00000000 .debug_ranges -00000000 l d .debug_line 00000000 .debug_line -00000000 l d .debug_str 00000000 .debug_str -00000000 l d .comment 00000000 .comment -00000000 l d .ARM.attributes 00000000 .ARM.attributes -00000000 l d .debug_frame 00000000 .debug_frame -00000000 l df *ABS* 00000000 vectors.c -00000000 l df *ABS* 00000000 boot.c -0800c18c l F .text 00000038 UartReceiveByte -20000080 l O .bss 00000041 xcpCtoReqPacket.7491 -200000c4 l O .bss 00000001 xcpCtoRxLength.7492 -200000c5 l O .bss 00000001 xcpCtoRxInProgress.7493 -200000c8 l O .bss 00000004 xcpCtoRxStartTime.7494 -0800f12c l O .text 00000024 canTiming -00000000 l df *ABS* 00000000 cstart.c -0800c564 l F .text 00000000 zero_loop -00000000 l df *ABS* 00000000 led.c -200000cc l O .bss 00000004 timer_counter_last.7472 -200000d0 l O .bss 00000001 led_toggle_state.7471 -00000000 l df *ABS* 00000000 net.c -200000d4 l O .bss 00000004 ARPTimerTimeOut -200000d8 l O .bss 00000004 periodicTimerTimeOut -00000000 l df *ABS* 00000000 main.c -00000000 l df *ABS* 00000000 timer.c -200000dc l O .bss 00000004 millisecond_counter -00000000 l df *ABS* 00000000 stm32_eth.c -00000000 l df *ABS* 00000000 netdev.c -00000000 l df *ABS* 00000000 stm32f4xx_can.c -00000000 l df *ABS* 00000000 stm32f4xx_gpio.c -00000000 l df *ABS* 00000000 stm32f4xx_rcc.c -20000000 l O .data 00000010 APBAHBPrescTable -00000000 l df *ABS* 00000000 stm32f4xx_syscfg.c -00000000 l df *ABS* 00000000 stm32f4xx_usart.c -00000000 l df *ABS* 00000000 system_stm32f4xx.c -00000000 l df *ABS* 00000000 uip.c -0800d99c l F .text 0000004c chksum -0800d9e8 l F .text 00000046 upper_layer_chksum -0800dab0 l F .text 00000036 uip_add_rcv_nxt -200000e0 l O .bss 00000002 tmp16 -200000e2 l O .bss 00000002 ipid -200000e4 l O .bss 00000004 iss -200000e8 l O .bss 00000002 lastport -200000f4 l O .bss 00000001 c -200000f5 l O .bss 00000001 opt -00000000 l df *ABS* 00000000 uip_arp.c -0800eb5c l F .text 00000116 uip_arp_update -200000f6 l O .bss 00000001 i -200000f7 l O .bss 00000001 tmpage -200000f8 l O .bss 00000060 arp_table -0800f150 l O .text 00000006 broadcast_ethaddr -20000158 l O .bss 00000001 c -20000159 l O .bss 00000001 arptime -2000015c l O .bss 00000004 ipaddr -00000000 l df *ABS* 00000000 memcpy-stub.c -00000000 l df *ABS* 00000000 memset.c -00000000 l df *ABS* 00000000 -00000800 l *ABS* 00000000 __STACKSIZE__ -0800ce3c g F .text 00000012 ETH_FlushTransmitFIFO -0800c520 g F .text 00000060 reset_handler -0800d5b0 g F .text 00000028 GPIO_PinAFConfig -0800c960 g F .text 0000009e ETH_StructInit -0800d320 g F .text 00000126 CAN_FilterInit -0800cad8 g F .text 000002f0 ETH_Init -20000e90 g O .bss 00000002 uip_len -200000ec g O .bss 00000006 uip_ethaddr -0800da30 g F .text 0000007e uip_add32 -0800d720 g F .text 00000024 RCC_AHB1PeriphResetCmd -0800d87c g F .text 0000000c USART_GetFlagStatus -0800f158 g .text 00000000 _etext -0800d130 g F .text 00000056 netdev_read -0800db8c g F .text 00000fc4 uip_process -0800c930 g F .text 00000010 TimerISRHandler -0800c944 g F .text 0000001c ETH_DeInit -0800efe4 g F .text 000000a6 memcpy -20000e94 g O .bss 00000004 uip_sappdata -0800cee0 g F .text 0000022a netdev_init -20000e98 g O .bss 00000004 uip_acc32 -0800dae8 g F .text 0000002c uip_ipchksum -20000010 g O .data 00000004 SystemCoreClock -0800d874 g F .text 00000008 USART_ReceiveData -0800d6fc g F .text 00000024 RCC_APB2PeriphClockCmd -0800d518 g F .text 00000090 GPIO_Init -0800db58 g F .text 00000032 uip_listen -0800d858 g F .text 0000001c USART_Cmd -0800d188 g F .text 00000066 netdev_send -0800d6d8 g F .text 00000024 RCC_APB1PeriphClockCmd -20000e9c g O .bss 00000001 uip_flags -20000180 g O .bss 00000010 EnetDmaRx -0800d1f0 g F .text 00000042 CAN_DeInit -0800cdc8 g F .text 00000026 ETH_MACTransmissionCmd -0800c3ac g F .text 00000022 BootActivate -2000151c g .bss 00000000 _ebss -0800c940 g F .text 00000002 UnusedISR -0800c58c g F .text 00000056 LedInit -0800d5a8 g F .text 00000004 GPIO_SetBits -0800c72c g F .text 0000015c NetTask -0800ce18 g F .text 00000012 ETH_SoftwareReset -0800ca70 g F .text 00000068 ETH_WritePHYRegister -0800d5d8 g F .text 000000da RCC_GetClocksFreq -0800d10c g F .text 00000022 netdev_init_mac -0800d774 g F .text 000000e4 USART_Init -0800d468 g F .text 00000096 CAN_Receive -0800d234 g F .text 000000ea CAN_Init -20000080 g .bss 00000000 _bss -0800d448 g F .text 00000020 CAN_StructInit -0800db14 g F .text 00000010 uip_tcpchksum -0800ce78 g F .text 00000026 ETH_DMAReceptionCmd -20000ea0 g O .bss 00000004 uip_appdata -0800d5ac g F .text 00000004 GPIO_ResetBits -20000ea4 g O .bss 00000004 uip_conn -0800ce2c g F .text 00000010 ETH_GetSoftwareResetStatus -0800ca00 g F .text 0000006e ETH_ReadPHYRegister -20000ea8 g O .bss 0000001e uip_conns -0800ee0c g F .text 000001d6 uip_arp_out -0800f08c g F .text 0000009e memset -0800c888 g F .text 00000054 main -0800d500 g F .text 00000018 CAN_MessagePending -0800c1c4 g F .text 000001e8 BootComInit -0800d888 g F .text 00000112 SystemInit -0800d768 g F .text 0000000a SYSCFG_ETH_MediaInterfaceConfig -0800eccc g F .text 00000140 uip_arp_arpin -0800ec74 g F .text 00000058 uip_arp_timer -20000ec8 g O .bss 00000002 uip_listenports -20000ecc g O .bss 00000004 uip_draddr -0800d744 g F .text 00000024 RCC_APB1PeriphResetCmd -20000000 g .data 00000000 _data -0800c5e4 g F .text 0000007e LedToggle -0800cea0 g F .text 0000003e ETH_Start -20000190 g O .bss 00000640 RxBuff -20001d1c g .bss 00000000 _estack -20000014 g .data 00000000 _edata -0800eb50 g F .text 0000000a htons -0800c000 g O .text 0000018c _vectab -0800cdf0 g F .text 00000026 ETH_MACReceptionCmd -200007d0 g O .bss 00000640 TxBuff -0800c3d0 g F .text 00000150 BootComCheckActivationRequest -0800ce50 g F .text 00000026 ETH_DMATransmissionCmd -0800db24 g F .text 00000032 uip_init -0800d6b4 g F .text 00000024 RCC_AHB1PeriphClockCmd -2000151c g .bss 00000000 _stack -20000ed0 g O .bss 00000004 uip_netmask -20000ed4 g O .bss 00000004 uip_hostaddr -0800c924 g F .text 0000000c TimerGet -20000e80 g O .bss 00000010 EnetDmaTx -0800c6f4 g F .text 00000038 NetApp -0800c664 g F .text 00000090 NetInit -0800c8dc g F .text 00000046 TimerInit -20000ed8 g O .bss 00000642 uip_buf -2000151a g O .bss 00000002 uip_slen - - + +bin/demoprog_olimex_stm32e407.elf: file format elf32-littlearm +bin/demoprog_olimex_stm32e407.elf +architecture: arm, flags 0x00000112: +EXEC_P, HAS_SYMS, D_PAGED +start address 0x0800c000 + +Program Header: +0x70000001 off 0x0000e8fc vaddr 0x0800e8fc paddr 0x0800e8fc align 2**2 + filesz 0x00000008 memsz 0x00000008 flags r-- + LOAD off 0x00000000 vaddr 0x08000000 paddr 0x08000000 align 2**16 + filesz 0x0000e904 memsz 0x0000e904 flags r-x + LOAD off 0x00010000 vaddr 0x20000000 paddr 0x0800e904 align 2**16 + filesz 0x0000007c memsz 0x0000007c flags rw- + LOAD off 0x00010080 vaddr 0x20000080 paddr 0x0800ea00 align 2**16 + filesz 0x00000000 memsz 0x0000149c flags rw- +private flags = 5000400: [Version5 EABI] [hard-float ABI] + +Sections: +Idx Name Size VMA LMA File off Algn + 0 .text 000028fc 0800c000 0800c000 0000c000 2**2 + CONTENTS, ALLOC, LOAD, READONLY, CODE + 1 .ARM.exidx 00000008 0800e8fc 0800e8fc 0000e8fc 2**2 + CONTENTS, ALLOC, LOAD, READONLY, DATA + 2 .data 0000007c 20000000 0800e904 00010000 2**2 + CONTENTS, ALLOC, LOAD, DATA + 3 .bss 0000149c 20000080 0800ea00 00010080 2**7 + ALLOC + 4 .stack_dummy 00000800 20001520 20001520 00010080 2**3 + CONTENTS, READONLY + 5 .ARM.attributes 00000030 00000000 00000000 00010880 2**0 + CONTENTS, READONLY + 6 .comment 0000006e 00000000 00000000 000108b0 2**0 + CONTENTS, READONLY + 7 .debug_line 000066f5 00000000 00000000 0001091e 2**0 + CONTENTS, READONLY, DEBUGGING + 8 .debug_info 00009926 00000000 00000000 00017013 2**0 + CONTENTS, READONLY, DEBUGGING + 9 .debug_abbrev 00001ccf 00000000 00000000 00020939 2**0 + CONTENTS, READONLY, DEBUGGING + 10 .debug_aranges 00000a18 00000000 00000000 00022608 2**3 + CONTENTS, READONLY, DEBUGGING + 11 .debug_loc 00003b6e 00000000 00000000 00023020 2**0 + CONTENTS, READONLY, DEBUGGING + 12 .debug_ranges 000008f8 00000000 00000000 00026b8e 2**0 + CONTENTS, READONLY, DEBUGGING + 13 .debug_macro 00012dc3 00000000 00000000 00027486 2**0 + CONTENTS, READONLY, DEBUGGING + 14 .debug_str 00068990 00000000 00000000 0003a249 2**0 + CONTENTS, READONLY, DEBUGGING + 15 .debug_frame 000015fc 00000000 00000000 000a2bdc 2**2 + CONTENTS, READONLY, DEBUGGING +SYMBOL TABLE: +0800c000 l d .text 00000000 .text +0800e8fc l d .ARM.exidx 00000000 .ARM.exidx +20000000 l d .data 00000000 .data +20000080 l d .bss 00000000 .bss +20001520 l d .stack_dummy 00000000 .stack_dummy +00000000 l d .ARM.attributes 00000000 .ARM.attributes +00000000 l d .comment 00000000 .comment +00000000 l d .debug_line 00000000 .debug_line +00000000 l d .debug_info 00000000 .debug_info +00000000 l d .debug_abbrev 00000000 .debug_abbrev +00000000 l d .debug_aranges 00000000 .debug_aranges +00000000 l d .debug_loc 00000000 .debug_loc +00000000 l d .debug_ranges 00000000 .debug_ranges +00000000 l d .debug_macro 00000000 .debug_macro +00000000 l d .debug_str 00000000 .debug_str +00000000 l d .debug_frame 00000000 .debug_frame +00000000 l df *ABS* 00000000 obj/startup_stm32f4xx.o +00000800 l *ABS* 00000000 Stack_Size +00000000 l *ABS* 00000000 Heap_Size +0800c266 l .text 00000000 .flash_to_ram_loop +0800c2a0 l .text 00000000 .fill_zero_bss +0800c29c l .text 00000000 .loop_zero_bss +00000000 l df *ABS* 00000000 crtstuff.c +0800e8f8 l O .text 00000000 __EH_FRAME_BEGIN__ +0800c18c l F .text 00000000 __do_global_dtors_aux +20000080 l .bss 00000000 completed.8605 +20000078 l O .data 00000000 __do_global_dtors_aux_fini_array_entry +0800c1b0 l F .text 00000000 frame_dummy +20000084 l .bss 00000000 object.8610 +20000074 l O .data 00000000 __frame_dummy_init_array_entry +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/lib/armv7e-m/fpu/crt0.o +00000000 l df *ABS* 00000000 net.c +2000009c l O .bss 00000004 ARPTimerTimeOut +200000a0 l O .bss 00000004 periodicTimerTimeOut +00000000 l df *ABS* 00000000 boot.c +0800c4e0 l F .text 00000058 CanGetSpeedConfig +0800c538 l F .text 00000098 BootComUartInit +0800c5d0 l F .text 000000e8 BootComCanInit +0800c6b8 l F .text 00000024 UartReceiveByte +0800c708 l F .text 00000094 BootComUartCheckActivationRequest +0800c79c l F .text 00000050 BootComCanCheckActivationRequest +200000a4 l O .bss 00000004 xcpCtoRxStartTime.7621 +200000a8 l O .bss 00000041 xcpCtoReqPacket.7618 +200000e9 l O .bss 00000001 xcpCtoRxInProgress.7620 +200000ea l O .bss 00000001 xcpCtoRxLength.7619 +0800e8c8 l O .text 00000024 canTiming +00000000 l df *ABS* 00000000 main.c +0800c7f8 l F .text 00000010 Init +00000000 l df *ABS* 00000000 led.c +200000ec l O .bss 00000004 timer_counter_last.7599 +200000f0 l O .bss 00000001 led_toggle_state.7598 +00000000 l df *ABS* 00000000 timer.c +200000f4 l O .bss 00000004 millisecond_counter +00000000 l df *ABS* 00000000 stm32_eth.c +00000000 l df *ABS* 00000000 netdev.c +0800ce00 l F .text 00000038 netdev_RxDscrInit +0800ce38 l F .text 00000024 netdev_TxDscrInit +00000000 l df *ABS* 00000000 stm32f4xx_gpio.c +00000000 l df *ABS* 00000000 stm32f4xx_can.c +00000000 l df *ABS* 00000000 stm32f4xx_rcc.c +20000000 l O .data 00000010 APBAHBPrescTable +00000000 l df *ABS* 00000000 stm32f4xx_syscfg.c +00000000 l df *ABS* 00000000 stm32f4xx_usart.c +00000000 l df *ABS* 00000000 system_stm32f4xx.c +0800d6f0 l F .text 000000c4 SetSysClock +00000000 l df *ABS* 00000000 _exit.c +00000000 l df *ABS* 00000000 uip.c +0800d804 l F .text 0000003c chksum +0800d89c l F .text 00000030 uip_add_rcv_nxt +0800d988 l F .text 0000003c upper_layer_chksum +200000f8 l O .bss 00000002 tmp16 +200000fa l O .bss 00000002 ipid +200000fc l O .bss 00000004 iss +20000100 l O .bss 00000002 lastport +20000102 l O .bss 00000001 c +00000000 l df *ABS* 00000000 uip_arp.c +0800e46c l F .text 00000104 uip_arp_update +2000010a l O .bss 00000001 i +2000010b l O .bss 00000001 tmpage +2000010c l O .bss 00000060 arp_table +0800e8ec l O .text 00000006 broadcast_ethaddr +2000016c l O .bss 00000001 c +2000016d l O .bss 00000001 arptime +20000170 l O .bss 00000004 ipaddr +00000000 l df *ABS* 00000000 exit.c +00000000 l df *ABS* 00000000 init.c +00000000 l df *ABS* 00000000 memcpy-stub.c +00000000 l df *ABS* 00000000 memset.c +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crti.o +00000000 l df *ABS* 00000000 /opt/gcc-arm-none-eabi-5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/armv7e-m/fpu/crtn.o +00000000 l df *ABS* 00000000 impure.c +20000014 l O .data 00000060 impure_data +00000000 l df *ABS* 00000000 crtstuff.c +0800e8f8 l O .text 00000000 __FRAME_END__ +00000000 l df *ABS* 00000000 +20000078 l .data 00000000 __init_array_end +20000074 l .data 00000000 __preinit_array_end +20000074 l .data 00000000 __init_array_start +20000074 l .data 00000000 __preinit_array_start +0800c310 w F .text 00000002 RTC_Alarm_IRQHandler +0800c35e w F .text 00000002 HASH_RNG_IRQHandler +0800c2ce w F .text 00000002 EXTI2_IRQHandler +0800c31a w F .text 00000002 TIM8_CC_IRQHandler +20001520 g .stack_dummy 00000000 __HeapBase +0800cd7c g F .text 00000014 ETH_FlushTransmitFIFO +0800c2b6 w F .text 00000002 DebugMon_Handler +0800d14c g F .text 0000002e GPIO_PinAFConfig +00000000 g *ABS* 00000000 __HEAP_SIZE +20000000 g .data 00000000 __data_start__ +0800c2f4 w F .text 00000002 TIM1_CC_IRQHandler +0800c934 g F .text 0000009e ETH_StructInit +0800c346 w F .text 00000002 DMA2_Stream5_IRQHandler +0800c2ac w F .text 00000002 HardFault_Handler +0800d2c4 g F .text 000000f4 CAN_FilterInit +0800c2de w F .text 00000002 DMA1_Stream5_IRQHandler +0800ca90 g F .text 00000284 ETH_Init +0800c90c g F .text 00000010 SysTick_Handler +20000e90 g O .bss 00000002 uip_len +0800c2c0 w F .text 00000002 PVD_IRQHandler +20000104 g O .bss 00000006 uip_ethaddr +0800c320 w F .text 00000002 SDIO_IRQHandler +0800c2c2 w F .text 00000002 TAMP_STAMP_IRQHandler +0800d840 g F .text 0000005c uip_add32 +0800c2b8 w F .text 00000002 PendSV_Handler +0800c2aa w F .text 00000002 NMI_Handler +0800e904 g .ARM.exidx 00000000 __exidx_end +0800c340 w F .text 00000002 CAN2_RX1_IRQHandler +0800c2d0 w F .text 00000002 EXTI3_IRQHandler +0800e904 g .ARM.exidx 00000000 __etext +0800c318 w F .text 00000002 TIM8_TRG_COM_TIM14_IRQHandler +0800c2f0 w F .text 00000002 TIM1_UP_TIM10_IRQHandler +0800d5a8 g F .text 0000001c RCC_AHB1PeriphResetCmd +0800d6e0 g F .text 0000000e USART_GetFlagStatus +0800c316 w F .text 00000002 TIM8_UP_TIM13_IRQHandler +0800c350 w F .text 00000002 I2C3_ER_IRQHandler +0800d024 g F .text 00000048 netdev_read +0800d9d0 g F .text 00000a9c uip_process +0800c91c g F .text 00000018 ETH_DeInit +0800e888 g F .text 00000016 memcpy +0800c2ca w F .text 00000002 EXTI0_IRQHandler +0800c300 w F .text 00000002 I2C2_EV_IRQHandler +20000e94 g O .bss 00000004 uip_sappdata +0800c2d8 w F .text 00000002 DMA1_Stream2_IRQHandler +0800c2e6 w F .text 00000002 CAN1_RX0_IRQHandler +0800ce5c g F .text 000001a8 netdev_init +20000e98 g O .bss 00000004 uip_acc32 +0800c360 w F .text 00000002 FPU_IRQHandler +0800d968 g F .text 00000020 uip_ipchksum +20000010 g O .data 00000004 SystemCoreClock +0800c356 w F .text 00000002 OTG_HS_WKUP_IRQHandler +0800d6d8 g F .text 00000008 USART_ReceiveData +0800c2b2 w F .text 00000002 UsageFault_Handler +0800d58c g F .text 0000001c RCC_APB2PeriphClockCmd +0800c342 w F .text 00000002 CAN2_SCE_IRQHandler +0800c332 w F .text 00000002 DMA2_Stream2_IRQHandler +0800d0c0 g F .text 00000084 GPIO_Init +20001520 g .stack_dummy 00000000 __HeapLimit +20000080 g .bss 00000000 __bss_start__ +0800d928 g F .text 00000034 uip_listen +0800c304 w F .text 00000002 SPI1_IRQHandler +0800d6bc g F .text 0000001c USART_Cmd +0800d06c g F .text 00000054 netdev_send +0800c32a w F .text 00000002 TIM6_DAC_IRQHandler +0800c2ee w F .text 00000002 TIM1_BRK_TIM9_IRQHandler +0800c35a w F .text 00000002 DCMI_IRQHandler +0800c33e w F .text 00000002 CAN2_RX0_IRQHandler +0800d570 g F .text 0000001c RCC_APB1PeriphClockCmd +0800e8fc g .text 00000000 __exidx_start +0800c334 w F .text 00000002 DMA2_Stream3_IRQHandler +20000e9c g O .bss 00000001 uip_flags +0800e8f4 g O .text 00000004 _global_impure_ptr +0800e83c g F .text 0000004c __libc_init_array +20000180 g O .bss 00000010 EnetDmaRx +0800c1e8 g F .text 00000000 _mainCRTStartup +0800d17c g F .text 00000038 CAN_DeInit +0800c34c w F .text 00000002 USART6_IRQHandler +0800e8b0 g F .text 00000000 _init +0800cd14 g F .text 00000020 ETH_MACTransmissionCmd +0800c6e8 g F .text 00000020 BootActivate +0800c30c w F .text 00000002 USART3_IRQHandler +0800c35c w F .text 00000002 CRYP_IRQHandler +00000000 w *UND* 00000000 __libc_fini_array +0800c25c g F .text 00000038 Reset_Handler +0800c2e8 w F .text 00000002 CAN1_RX1_IRQHandler +0800c328 w F .text 00000002 UART5_IRQHandler +0800c32e w F .text 00000002 DMA2_Stream0_IRQHandler +0800c824 g F .text 00000044 LedInit +0800d144 g F .text 00000004 GPIO_SetBits +0800c2fa w F .text 00000002 TIM4_IRQHandler +0800c408 g F .text 000000d8 NetTask +0800cd54 g F .text 00000010 ETH_SoftwareReset +00000000 w *UND* 00000000 __sf_fake_stderr +0800ca30 g F .text 00000060 ETH_WritePHYRegister +00000000 w *UND* 00000000 __deregister_frame_info +20001520 g .stack_dummy 00000000 end +0800c2fc w F .text 00000002 I2C1_EV_IRQHandler +0800c2e0 w F .text 00000002 DMA1_Stream6_IRQHandler +2000007c g .data 00000000 __data_end__ +0800d49c g F .text 000000b8 RCC_GetClocksFreq +0800c2d6 w F .text 00000002 DMA1_Stream1_IRQHandler +0800d004 g F .text 00000020 netdev_init_mac +0800c326 w F .text 00000002 UART4_IRQHandler +0800d5ec g F .text 000000d0 USART_Init +2000151c g .bss 00000000 __bss_end__ +00000800 g *ABS* 00000000 __STACK_SIZE +0800c2f8 w F .text 00000002 TIM3_IRQHandler +0800c2c8 w F .text 00000002 RCC_IRQHandler +0800d3d8 g F .text 000000a6 CAN_Receive +0800c314 w F .text 00000002 TIM8_BRK_TIM12_IRQHandler +00000000 w *UND* 00000000 __call_exitprocs +0800d1b4 g F .text 0000010e CAN_Init +0800c2bc w F .text 00000002 Default_Handler +0800c1e8 g F .text 00000000 _start +0800d3b8 g F .text 00000020 CAN_StructInit +0800d9c4 g F .text 0000000a uip_tcpchksum +0800cdb8 g F .text 00000028 ETH_DMAReceptionCmd +0800c30e w F .text 00000002 EXTI15_10_IRQHandler +0800c2e2 w F .text 00000002 ADC_IRQHandler +0800c31c w F .text 00000002 DMA1_Stream7_IRQHandler +00000000 w *UND* 00000000 software_init_hook +20000ea0 g O .bss 00000004 uip_appdata +0800d148 g F .text 00000004 GPIO_ResetBits +20000ea4 g O .bss 00000004 uip_conn +0800c32c w F .text 00000002 TIM7_IRQHandler +0800cd64 g F .text 00000018 ETH_GetSoftwareResetStatus +0800c33c w F .text 00000002 CAN2_TX_IRQHandler +0800c322 w F .text 00000002 TIM5_IRQHandler +0800c34a w F .text 00000002 DMA2_Stream7_IRQHandler +0800c34e w F .text 00000002 I2C3_EV_IRQHandler +0800c9d4 g F .text 0000005c ETH_ReadPHYRegister +0800c2ec w F .text 00000002 EXTI9_5_IRQHandler +20000ea8 g O .bss 0000001e uip_conns +0800c2c4 w F .text 00000002 RTC_WKUP_IRQHandler +0800c33a w F .text 00000002 ETH_WKUP_IRQHandler +0800e6b4 g F .text 00000160 uip_arp_out +0800c306 w F .text 00000002 SPI2_IRQHandler +00000000 w *UND* 00000000 __sf_fake_stdin +0800c354 w F .text 00000002 OTG_HS_EP1_IN_IRQHandler +0800e89e g F .text 00000010 memset +0800c2ae w F .text 00000002 MemManage_Handler +0800c000 g .text 0000018c __isr_vector +0800c808 g F .text 0000001c main +0800c2d4 w F .text 00000002 DMA1_Stream0_IRQHandler +0800c2e4 w F .text 00000002 CAN1_TX_IRQHandler +0800c2b4 w F .text 00000002 SVC_Handler +00000000 w *UND* 00000000 hardware_init_hook +20001520 g .stack_dummy 00000000 __end__ +0800d480 g F .text 0000001a CAN_MessagePending +0800c2d2 w F .text 00000002 EXTI4_IRQHandler +0800c8b8 g F .text 0000000c TimerSet +0800c6dc g F .text 0000000c BootComInit +0800d7b4 g F .text 0000004c SystemInit +0800e8bc g F .text 00000000 _fini +0800d5e0 g F .text 0000000c SYSCFG_ETH_MediaInterfaceConfig +0800e5d4 g F .text 000000e0 uip_arp_arpin +00000000 w *UND* 00000000 atexit +0800c31e w F .text 00000002 FSMC_IRQHandler +20020000 g .bss 00000000 __StackTop +0800c338 w F .text 00000002 ETH_IRQHandler +0800c352 w F .text 00000002 OTG_HS_EP1_OUT_IRQHandler +0800e570 g F .text 00000064 uip_arp_timer +20000ec8 g O .bss 00000002 uip_listenports +0800c2be w F .text 00000002 WWDG_IRQHandler +20000ecc g O .bss 00000004 uip_draddr +0800d5c4 g F .text 0000001c RCC_APB1PeriphResetCmd +0800c868 g F .text 00000050 LedToggle +0800cde0 g F .text 00000020 ETH_Start +20000190 g O .bss 00000640 RxBuff +0800c2f6 w F .text 00000002 TIM2_IRQHandler +0800c312 w F .text 00000002 OTG_FS_WKUP_IRQHandler +0800c2f2 w F .text 00000002 TIM1_TRG_COM_TIM11_IRQHandler +0800c358 w F .text 00000002 OTG_HS_IRQHandler +20020000 g *ABS* 00000000 __stack +0800c2cc w F .text 00000002 EXTI1_IRQHandler +0800d95c g F .text 0000000a htons +2001f800 g *ABS* 00000800 __StackLimit +0800c30a w F .text 00000002 USART2_IRQHandler +0800e814 g F .text 00000028 exit +0800cd34 g F .text 00000020 ETH_MACReceptionCmd +200007d0 g O .bss 00000640 TxBuff +0800c302 w F .text 00000002 I2C2_ER_IRQHandler +00000000 w *UND* 00000000 __sf_fake_stdout +0800c330 w F .text 00000002 DMA2_Stream1_IRQHandler +0800c7ec g F .text 0000000c BootComCheckActivationRequest +0800cd90 g F .text 00000028 ETH_DMATransmissionCmd +0800c2ea w F .text 00000002 CAN1_SCE_IRQHandler +0800d8cc g F .text 0000005c uip_init +0800c2c6 w F .text 00000002 FLASH_IRQHandler +0800d800 w F .text 00000002 _exit +0800c336 w F .text 00000002 DMA2_Stream4_IRQHandler +0800d554 g F .text 0000001c RCC_AHB1PeriphClockCmd +0800c2b0 w F .text 00000002 BusFault_Handler +0800c308 w F .text 00000002 USART1_IRQHandler +0800c344 w F .text 00000002 OTG_FS_IRQHandler +0800c324 w F .text 00000002 SPI3_IRQHandler +0800c2dc w F .text 00000002 DMA1_Stream4_IRQHandler +20000ed0 g O .bss 00000004 uip_netmask +0800c2fe w F .text 00000002 I2C1_ER_IRQHandler +20000ed4 g O .bss 00000004 uip_hostaddr +0800c900 g F .text 0000000c TimerGet +20000e80 g O .bss 00000010 EnetDmaTx +0800c3d8 g F .text 00000030 NetApp +00000000 w *UND* 00000000 _Jv_RegisterClasses +0800c36c g F .text 0000006c NetInit +0800c8c4 g F .text 0000003c TimerInit +00000000 w *UND* 00000000 __register_frame_info +0800c348 w F .text 00000002 DMA2_Stream6_IRQHandler +20000ed8 g O .bss 00000642 uip_buf +0800c2da w F .text 00000002 DMA1_Stream3_IRQHandler +2000151a g O .bss 00000002 uip_slen + + diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.srec b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.srec index 2515e9aa..c8c31104 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.srec +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/bin/demoprog_olimex_stm32e407.srec @@ -1,794 +1,667 @@ S025000062696E2F64656D6F70726F675F6F6C696D65785F73746D3332653430372E7372656335 -S3150800C0001C1D002021C5000841C9000841C90008B7 -S3150800C01041C9000841C9000841C9000841C90008CA -S3150800C02041C9000841C9000841C9000841C90008BA -S3150800C03041C9000841C9000841C9000831C90008BA -S3150800C04041C9000841C9000841C9000841C900089A -S3150800C05041C9000841C9000841C9000841C900088A -S3150800C06041C9000841C9000841C9000841C900087A -S3150800C07041C9000841C9000841C9000841C900086A -S3150800C08041C9000841C9000841C9000841C900085A -S3150800C09041C9000841C9000841C9000841C900084A -S3150800C0A041C9000841C9000841C9000841C900083A -S3150800C0B041C9000841C9000841C9000841C900082A -S3150800C0C041C9000841C9000841C9000841C900081A -S3150800C0D041C9000841C9000841C9000841C900080A -S3150800C0E041C9000841C9000841C9000841C90008FA -S3150800C0F041C9000841C9000841C9000841C90008EA -S3150800C10041C9000841C9000841C9000841C90008D9 -S3150800C11041C9000841C9000841C9000841C90008C9 -S3150800C12041C9000841C9000841C9000841C90008B9 -S3150800C13041C9000841C9000841C9000841C90008A9 -S3150800C14041C9000841C9000841C9000841C9000899 -S3150800C15041C9000841C9000841C9000841C9000889 -S3150800C16041C9000841C9000841C9000841C9000879 -S3150800C17041C9000841C9000841C9000841C9000869 -S3150800C18041C9000841C90008EE11AA5510B5044670 -S3150800C1904FF4A050C4F2010020214DF67D03C0F6ED -S3150800C1A00003984701280BD14FF4A050C4F20100B0 -S3150800C1B04DF67503C0F6000398472070012010BDA0 -S3150800C1C0002010BD2DE9F04F8DB0202001214DF241 -S3150800C1D0FD63C0F600039847042001214DF2B56BB4 -S3150800C1E0C0F6000BD8474FF4006AC4F2020A50465C -S3150800C1F0062108224DF2B157C0F60007B847504647 -S3150800C20007210822B84700258DF81A504FF0010873 -S3150800C2108DF81B8002268DF81860402305938DF84B -S3150800C2201960504605A94DF21959C0F60009C847C4 -S3150800C2308DF8186080230593504605A9C8474FF422 -S3150800C24061430893ADF82450ADF82650ADF8285050 -S3150800C250ADF82C500C23ADF82A304FF4A05AC4F28E -S3150800C260010A504608A94DF27573C0F600039847AF -S3150800C270504641464DF65903C0F6000398473046E6 -S3150800C2804146D8474FF4806AC4F2020A504605214F -S3150800C2900922B847504606210922B8476023039366 -S3150800C2A08DF810608DF811608DF812508DF8138096 -S3150800C2B0504603A9C8474FF0C06041464DF2D963BE -S3150800C2C0C0F6000398474FF4D040C4F200004DF280 -S3150800C2D0F113C0F60003984705A84DF24943C0F686 -S3150800C2E0000398474FF22C11C0F600014FF4FA707C -S3150800C2F04AF210426E5C4B195F78F31903FB000390 -S3150800C30092FBF3FE03FB1E2EBEF1000F06D192FB35 -S3150800C310F3F4631E9BB2B3F5806F03D30235242D65 -S3150800C320E8D101E00097019600258DF81A508DF89E -S3150800C3301B508DF81C508DF81D508DF81E508DF829 -S3150800C3401F508DF816508DF81750019A531E8DF808 -S3150800C3501830009A531E8DF819300CA921F81C4D77 -S3150800C3604FF4D040C4F200004DF23523C0F6000366 -S3150800C37098470E238DF82A308DF82B5001238DF817 -S3150800C3802C30ADF82050ADF82250ADF82450ADF859 -S3150800C3902650ADF828508DF82D3008A84DF22133D7 -S3150800C3A0C0F6000398470DB0BDE8F08FBFF34F8F76 -S3150800C3B04FF46D42CEF20002D16801F4E061042325 -S3150800C3C0C0F2FA530B43D360BFF34F8FFEE700BFAB -S3150800C3D000B587B040F2C503C2F200031B7843BB21 -S3150800C3E040F28000C2F200004CF28D13C0F6000342 -S3150800C3F09847012865D140F28003C2F200031B78F2 -S3150800C400002B5ED04CF62513C0F60003984740F281 -S3150800C410C803C2F20003186040F2C503C2F2000363 -S3150800C42001221A7040F2C403C2F2000300221A70F5 -S3150800C43047E040F2C403C2F200031878374B1844A9 -S3150800C4404CF28D13C0F600039847012826D140F216 -S3150800C450C403C2F200031A780132D2B21A7040F24B -S3150800C4608003C2F200031B7893422AD140F2C50327 -S3150800C470C2F2000300221A7040F28003C2F20003DF -S3150800C4805B78FF2B1DD140F28003C2F200039B7834 -S3150800C490BBB94CF2AD33C0F6000398474CF62513EA -S3150800C4A0C0F60003984740F2C803C2F200031B68AF -S3150800C4B06433984281BF40F2C503C2F200030022EA -S3150800C4C01A704FF4D040C4F2000000214DF2015317 -S3150800C4D0C0F600039847F0B14FF4D040C4F200000C -S3150800C4E0002101AA4DF26943C0F6000398479DF85A -S3150800C4F00C3083B940F26762019B93420BD19DF8D9 -S3150800C5000F30FF2B07D19DF8103023B94CF2AD330D -S3150800C510C0F60003984707B05DF804FB81000020C9 -S3150800C52010B517498D4640F20002C2F2000240F2E9 -S3150800C5301403C2F200039A4210D2131D0F4CE41AD8 -S3150800C54024F003040434002310464FF25811C0F6B1 -S3150800C55000015A581A500433A342FAD109480A4925 -S3150800C5604FF000028842B8BF40F8042BFADB4CF6BD -S3150800C5708903C0F60003984710BD00BF17000020C6 -S3150800C5801C1D0020800000201C15002030B583B03B -S3150800C590042001214DF2B563C0F6000398474FF415 -S3150800C5A00055009501238DF8043000228DF80620E9 -S3150800C5B08DF8073002238DF805304FF40064C4F275 -S3150800C5C00204204669464DF21953C0F600039847FF -S3150800C5D0204629464DF2A953C0F60003984703B0F2 -S3150800C5E030BD00BF10B54CF62513C0F600039847BA -S3150800C5F0044640F2CC03C2F200031B68C31AB3F523 -S3150800C600FA7F2DD340F2D003C2F200031B788BB910 -S3150800C61040F2D003C2F2000301221A704FF4006000 -S3150800C620C4F202004FF400514DF2AD53C0F60003B8 -S3150800C630984710E040F2D003C2F2000300221A70B5 -S3150800C6404FF40060C4F202004FF400514DF2A953B2 -S3150800C650C0F60003984740F2CC03C2F200031C6000 -S3150800C66010BD00BF10B54CF6E163C0F6000398474D -S3150800C6704CF62514C0F60004A04740F2D803C2F2CF -S3150800C680000300F5FA701860A04740F2D403C2F21E -S3150800C690000300F51C50103018604DF62533C0F61F -S3150800C6A00003984740F6D463C2F200034FF6A96226 -S3150800C6B01A8043F61371598040F6D063C2F200031C -S3150800C6C04FF6FF7119800021598040F6CC63C2F2FB -S3150800C6D000031A8040F213125A804EF603004DF6F4 -S3150800C6E05933C0F6000398474DF20D13C0F6000300 -S3150800C6F0984710BD08B540F69C63C2F200031B7844 -S3150800C70013F0400F11D113F0020F0ED040F6A063BC -S3150800C710C2F200031B681A79FF2A06D15B7923B98E -S3150800C7204CF2AD33C0F60003984708BD10B54DF27C -S3150800C7303113C0F600039847002853D040F690629C -S3150800C740C2F20002108040F6D863C2F200039C8948 -S3150800C7504FF400604EF65133C0F600039847844202 -S3150800C7601CD101204DF68D33C0F60003984740F6DC -S3150800C7709063C2F200031B88A3B34EF60D63C0F69E -S3150800C780000398474DF28913C0F60003984740F610 -S3150800C7909063C2F2000300221A8023E040F6D863B1 -S3150800C7A0C2F200039C8940F606004EF65133C0F6E5 -S3150800C7B000039847844215D14EF6CD43C0F60003D0 -S3150800C7C0984740F69063C2F200031B8853B14DF2B6 -S3150800C7D08913C0F60003984740F69063C2F2000337 -S3150800C7E000221A804CF62513C0F60003984740F23B -S3150800C7F0D803C2F200031B6898422BD340F2D80232 -S3150800C800C2F2000203F5FA73136040F6A463C2F29B -S3150800C810000340F6A862C2F200021A6002204DF632 -S3150800C8208D33C0F60003984740F69063C2F20003C2 -S3150800C8301B887BB14EF60D63C0F6000398474DF290 -S3150800C8408913C0F60003984740F69063C2F20003C6 -S3150800C85000221A804CF62513C0F60003984740F2CA -S3150800C860D403C2F200031B6898420CD340F2D402E8 -S3150800C870C2F2000203F51C53103313604EF67543DB -S3150800C880C0F60003984710BD08B54DF68903C0F6F3 -S3150800C890000398474CF28D53C0F6000398474CF6B0 -S3150800C8A0DD03C0F6000398474CF26563C0F6000343 -S3150800C8B098474CF2C513C0F6000398474CF2E55664 -S3150800C8C0C0F600064CF22D75C0F600054CF2D134C0 -S3150800C8D0C0F60004B047A847A047FBE740F210039C -S3150800C8E0C2F200031A6844F6D353C1F26203A3FBEB -S3150800C8F002129209013A4EF21003CEF200035A6070 -S3150800C9004FF46D42CEF20002F02182F82310002285 -S3150800C9109A600721196040F2DC03C2F200031A602C -S3150800C920704700BF40F2DC03C2F200031868704784 -S3150800C93040F2DC03C2F200031A6801321A6070473B -S3150800C940FEE700BF10B54FF0007001214DF22174CB -S3150800C950C0F60004A0474FF000700021A04710BDA4 -S3150800C9600023036043608360C3600361436183619E -S3150800C970C361036243628362C3620363436383637F -S3150800C980C36340220264202242648364C36403654D -S3150800C99043658365C3650366802242668366C3660C -S3150800C9A0036743678367C3674FF08062C0F88020D8 -S3150800C9B04FF00072C0F884204FF08071C0F88810DC -S3150800C9C04FF40011C0F88C10C0F89030C0F89430BD -S3150800C9D0C0F89830C0F89C30C0F8A030C0F8A42041 -S3150800C9E0C0F8A8304FF40032C0F8AC204FF480727B -S3150800C9F0C0F8B020C0F8B430C0F8B830704700BFEF -S3150800CA0082B0002301934FF40043C4F202031A696B -S3150800CA1002F01C02890101F4F8610A43C00281B2DE -S3150800CA200A4342F001021A614FF40042C4F20202BC -S3150800CA304FF6FE71C0F20401019B0133019313699D -S3150800CA4013F0010F02D0019B8B42F5D9019A4FF6DC -S3150800CA50FF73C0F204039A421FBF4FF40043C4F2A7 -S3150800CA600203586980B208BF002002B0704700BFB1 -S3150800CA7010B483B0002301934FF40043C4F20203B9 -S3150800CA801C6904F01C0444F00304890101F4F861EC -S3150800CA900C43C00281B20C435A611C614FF4004238 -S3150800CAA0C4F202024FF6FE71C0F20401019B013383 -S3150800CAB00193136913F0010F02D0019B8B42F5D93C -S3150800CAC001984FF6FF73C0F20403C01A18BF01207D -S3150800CAD003B05DF8044B70472DE9F04186B0044673 -S3150800CAE00D460023059300934FF40043C4F2020356 -S3150800CAF01E6926F01C0601A84DF2D953C0F600039C -S3150800CB00984702994FF45343CFF6CE630B444EF23F -S3150800CB10BF12C0F2E402934298BF46F008061AD93B -S3150800CB204FF24013CFF6E9530B4447F63F02C0F2E3 -S3150800CB307D12934298BF46F00C060CD94FF4F24387 -S3150800CB40CFF66C430B444FF4B442C0F262229342D0 -S3150800CB5088BF46F004064FF40043C4F202031E6180 -S3150800CB60284600214FF400424CF67123C0F6000314 -S3150800CB709847002800F020814FF080630593059BB5 -S3150800CB802BB1059B013B0593059B002BF9D1236827 -S3150800CB90002B6CD04FF001084CF60126C0F60006B3 -S3150800CBA04FF6FE77C0F20407009B01330093284630 -S3150800CBB04146B04700F0040083B213B9009BBB425C -S3150800CBC0F2D9009A4FF6FF73C0F204039A4208BFDF -S3150800CBD0002000F0F6800021009128464FF480528C -S3150800CBE04CF67123C0F600039847002800F0E6804B -S3150800CBF04FF001084CF60126C0F600064FF6FE7700 -S3150800CC00C0F20407009B0133009328464146B0470B -S3150800CC1000F0200080B210B9009BBB42F2D9009AFE -S3150800CC204FF6FF73C0F204039A4208BF002000F0D3 -S3150800CC30C88000230093284610214CF60123C0F62D -S3150800CC400003984700F004039BB21BB14FF400633E -S3150800CC50236201E00023236200F002039BB213B1B2 -S3150800CC60002363611EE04FF4804363611AE0636941 -S3150800CC70226AD20842EA53022846002192B24CF6AA -S3150800CC807123C0F600039847002800F099806FF0DA -S3150800CC907F430593059B2BB1059B013B0593059B9C -S3150800CCA0002BF9D14FF40043C4F20203196848F285 -S3150800CCB00F12CFF620720A40A06861680843E1683F -S3150800CCC008432169084361690843A1690843E16982 -S3150800CCD00843216A0843616A0843A16A0843E16A6E -S3150800CCE00843216B0843616B01430A431A60E16BF1 -S3150800CCF0A26B1143226C1143626C1143A26C11435F -S3150800CD00E26C1143226D1143626D0A435A60A26DAB -S3150800CD109A60E26DDA609869A16E626E1143E26EFE -S3150800CD201143226F1143626F11434FF6417202405D -S3150800CD300A43216E42EA01419961E16FA26F0A43F3 -S3150800CD40DA6103F58053996943F62372CFF6DE025A -S3150800CD500A40D4F88400D4F880100843D4F8881020 -S3150800CD600843D4F88C100843D4F890100843D4F834 -S3150800CD7094100843D4F898100843D4F89C10084334 -S3150800CD80D4F8A01001430A439A61D4F8A410D4F841 -S3150800CD90A820114341F40001D4F8AC201143D4F87B -S3150800CDA0B0201143D4F8B8200A43D4F8B41042EAA4 -S3150800CDB081021A60012004E0002002E0002000E061 -S3150800CDC0002006B0BDE8F08140B14FF40043C4F23C -S3150800CDD002031A6842F008021A6070474FF40043CB -S3150800CDE0C4F202031A6822F008021A60704700BFEC -S3150800CDF040B14FF40043C4F202031A6842F0040239 -S3150800CE001A6070474FF40043C4F202031A6822F00E -S3150800CE1004021A60704700BF4FF41043C4F20203BD -S3150800CE201A6842F001021A60704700BF4FF41043B7 -S3150800CE30C4F20203186800F0010070474FF410436B -S3150800CE40C4F202039A6942F480129A61704700BFDD -S3150800CE5040B14FF41043C4F202039A6942F40052F7 -S3150800CE609A6170474FF41043C4F202039A6922F498 -S3150800CE7000529A61704700BF40B14FF41043C4F2A4 -S3150800CE8002039A6942F002029A6170474FF410430E -S3150800CE90C4F202039A6922F002029A61704700BF3F -S3150800CEA008B501204CF6C953C0F6000398474CF65E -S3150800CEB03D63C0F60003984701204CF6F153C0F6CF -S3150800CEC00003984701204CF65163C0F600039847C3 -S3150800CED001204CF67963C0F60003984708BD00BFE9 -S3150800CEE02DE9F04FB3B04FF0F05001214DF2B56483 -S3150800CEF0C0F60004A04747200121A0474FF4804010 -S3150800CF0001214DF2FD63C0F60003984701204DF25A -S3150800CF106973C0F6000398478E23309300278DF86F -S3150800CF20C67002268DF8C4608DF8C7708DF8C56086 -S3150800CF30B846C4F20208404630A94DF21959C0F65F -S3150800CF400009C847404601210B224DF2B154C0F6EC -S3150800CF500004A047404631460B22A047404603211D -S3150800CF600B22A047404607210B22A0474FF4006337 -S3150800CF7030938DF8C6708DF8C4608DF8C7708DF83B -S3150800CF80C5604FF4C058C4F20208404630A9C847E5 -S3150800CF9040460B210A46A047322330938DF8C670C7 -S3150800CFA08DF8C4608DF8C7708DF8C5604FF4006AB7 -S3150800CFB0C4F2020A504630A9C847504601210B223E -S3150800CFC0A047504604210B22A047504605210B22B4 -S3150800CFD0A0474FF4C04330938DF8C6708DF8C460EF -S3150800CFE08DF8C7708DF8C560404630A9C8474046D9 -S3150800CFF00D210B22A04740460E210B22A0474CF6D6 -S3150800D0004513C0F6000398474CF61963C0F60003AB -S3150800D01098474CF62D64C0F60004A0470128FCD0BA -S3150800D02001A84CF66113C0F6000398470024019442 -S3150800D03008944FF400730B930C944FF000430F932E -S3150800D040202312931494159416944FF400630993AD -S3150800D0504FF4804306934FF0020B4CF60127C0F6B7 -S3150800D06000074FF0030A4CF2F109C0F2070941F232 -S3150800D0701968C0F22208A6B230465946B84760F386 -S3150800D0801F4530465146B84760F30F05454518BF5A -S3150800D0904D4502D00134202CEDD101A8A1B24CF6A1 -S3150800D0A0D923C0F60003984740F68063C2F200030E -S3150800D0B040F2D072C2F200029A60DB6000221A6067 -S3150800D0C05A604FF41041C4F202010B6140F280131A -S3150800D0D0C2F2000340F29010C2F2000098601A6093 -S3150800D0E0DB605A6040225A719A884FF4C86060F330 -S3150800D0F00C029A808022DA70CB604CF6A163C0F6E7 -S3150800D1000003984733B0BDE8F08F00BF40F2EC0348 -S3150800D110C2F2000308221A7000225A7027229A7057 -S3150800D1206922DA705B221A7145225A71704700BF6C -S3150800D13038B540F28013C2F20003DB78DB0920D150 -S3150800D14040F28014C2F200046588C5F30D0540F666 -S3150800D150D860C2F2000040F29011C2F200012A46DD -S3150800D1604EF6E573C0F600039847E37843F080036C -S3150800D170E3704FF41043C4F2020301229A60284672 -S3150800D18038BD002038BD00BF38B540F68063C2F20E -S3150800D1900003DB78DB0900D0FEE740F69063C2F2B5 -S3150800D1A000031D8840F2D074C2F20004204640F6FF -S3150800D1B0D861C2F200012A464EF6E573C0F60003AE -S3150800D1C0984740F68063C2F200039C6000221A600A -S3150800D1D0102199705A60C5F30B059D80B022DA704C -S3150800D1E04FF41043C4F2020301225A6038BD00BF4F -S3150800D1F010B54FF4C843C4F2000398420CD14FF05F -S3150800D200007001214DF24574C0F60004A0474FF0A6 -S3150800D21000700021A04710BD4FF0806001214DF23B -S3150800D2204574C0F60004A0474FF080600021A0476F -S3150800D23010BD00BF036823F002030360036843F0D0 -S3150800D24001030360436813F0010F07D14FF6FF731C -S3150800D250426812F0010F01D1013BF9D1436813F07E -S3150800D260010F5AD08B79012B03680CBF43F080035A -S3150800D27023F080030360CB79012B03680CBF43F0CE -S3150800D280400323F0400303600B7A012B03680CBFAD -S3150800D29043F0200323F0200303604B7A012B036835 -S3150800D2A00CBF43F0100323F0100303608B7A012BA5 -S3150800D2B003680CBF43F0080323F008030360CB7A26 -S3150800D2C0012B03680CBF43F0040323F00403036037 -S3150800D2D0CA788B789B0743EA02630A7943EA0243D2 -S3150800D2E04A7943EA02520B88013B1343C361036838 -S3150800D2F023F001030360436813F0010F07D04FF6CC -S3150800D300FF73426812F0010F01D0013BF9D1406862 -S3150800D31080F0010000F0010070470020704700BF50 -S3150800D32070B4837A012199404FF4C843C4F20003CC -S3150800D330D3F8002242F00102C3F80022D3F81C42B7 -S3150800D340CA431440C3F81C42037BCBB94FF4C84305 -S3150800D350C4F20003D3F80C421440C3F80C42847A92 -S3150800D360C688458845EA0645483443F83450857AE0 -S3150800D3708688048844EA0644483503EBC5035C609E -S3150800D380037B012B19D14FF4C843C4F20003D3F829 -S3150800D3900C420C43C3F80C42847A0688458845EA51 -S3150800D3A00645483443F83450857A8688C48844EA62 -S3150800D3B00644483503EBC5035C60C37A4BB94FF4A2 -S3150800D3C0C843C4F20003D3F804421440C3F8044225 -S3150800D3D008E04FF4C843C4F20003D3F804420C43F0 -S3150800D3E0C3F80442038943B94FF4C843C4F200039F -S3150800D3F0D3F814422240C3F814220389012B01BF33 -S3150800D4004FF4C843C4F20003D3F814220A4308BFF2 -S3150800D410C3F81422437B012B01BF4FF4C843C4F25F -S3150800D4200003D3F81C22114308BFC3F81C124FF49B -S3150800D430C843C4F20003D3F8002222F00102C3F85D -S3150800D440002270BC704700BF00238371C37103724A -S3150800D45043728372C3728370C370032303710223FA -S3150800D460437101230380704730B400EB0113D3F8EE -S3150800D470B04104F00404E4B2147224B9D3F8B041FC -S3150800D480640D146003E0D3F8B041E4085460D3F89F -S3150800D490B04104F002045472D3F8B44104F00F0406 -S3150800D4A09472D3F8B4311B0AD37400EB011303F555 -S3150800D4B0DC74D3F8B851D572D3F8B8512D0A157360 -S3150800D4C0D3F8B8512D0C5573D3F8B8311B0E937396 -S3150800D4D06368D37363681B0A137463681B0C5374FD -S3150800D4E063681B0E937421B9C36843F02003C360B5 -S3150800D4F003E0036943F02003036130BC704700BFB3 -S3150800D50019B9C06800F003007047012906BF006911 -S3150800D51000F0030000207047F0B40023012503261D -S3150800D52005FA03F20C681440944238D107685A0089 -S3150800D53006FA02F4E44327400760076891F804C036 -S3150800D5400CFA02FC4CEA070707600F79013FFFB2A5 -S3150800D550012F16D887683C40846087684C799440C8 -S3150800D5603C43846047689CB205FA04FC27EA0C072A -S3150800D5704760476891F806C00CFA04F4A4B23C4325 -S3150800D5804460C7689CB2640006FA04F427EA0404F7 -S3150800D590C460C468CF7907FA02F22243C260013335 -S3150800D5A0102BBDD1F0BC704701837047418370478B -S3150800D5B010B401F007039B00C90800EB8100046A58 -S3150800D5C00F21994024EA01010162016A9A40114338 -S3150800D5D001625DF8044B704710B44FF46053C4F20F -S3150800D5E002039B6803F00C03042B09D0082B0DD00B -S3150800D5F0002B36D14FF41053C0F2F403036035E024 -S3150800D6004FF4D853C0F2B70303602FE04FF46053CA -S3150800D610C4F202035C685A6802F03F0214F4800FF1 -S3150800D6204FF46053C4F202035B68C3F3881319BF4F -S3150800D6304FF4D854C0F2B7044FF41054C0F2F404AF -S3150800D640B4FBF2F101FB03F14FF46053C4F2020399 -S3150800D6505A68C2F3014201325200B1FBF2F3036089 -S3150800D66004E04FF41053C0F2F40303604FF4605221 -S3150800D670C4F202029168C1F3031140F20003C2F238 -S3150800D6800003595CC9B2046824FA01F14160946840 -S3150800D690C4F382241C5DE4B221FA04F4846092681F -S3150800D6A0C2F342329B5CDBB2D940C1605DF8044BE1 -S3150800D6B0704700BF39B14FF46053C4F202031A6BC6 -S3150800D6C01043186370474FF46053C4F202031A6B91 -S3150800D6D022EA00001863704739B14FF46053C4F268 -S3150800D6E002031A6C1043186470474FF46053C4F26F -S3150800D6F002031A6C22EA00001864704739B14FF425 -S3150800D7006053C4F202035A6C1043586470474FF4CE -S3150800D7106053C4F202035A6C22EA00005864704748 -S3150800D72039B14FF46053C4F202031A691043186101 -S3150800D73070474FF46053C4F202031A6922EA0000E4 -S3150800D7401861704739B14FF46053C4F202031A6A7C -S3150800D7501043186270474FF46053C4F202031A6A02 -S3150800D76022EA000018627047DC23C4F227231860F7 -S3150800D770704700BF30B585B004460D46038A23F4CA -S3150800D78040531B041B0CCA8813430382838923F462 -S3150800D790B05323F00C031B041B0C0989AA880A43FF -S3150800D7A069890A4392B213438381838A23F44073B7 -S3150800D7B01B041B0CAA891343838268464DF2D9536E -S3150800D7C0C0F6000398474FF4A052C4F201024FF482 -S3150800D7D08053C4F201039C4218BF94420CBF039ABB -S3150800D7E0029AA3891BB2002B02EB820202EB820289 -S3150800D7F0BDBF2B685B00B2FBF3F22968A4BF8900A2 -S3150800D800B2FBF1F248F21F53C5F2EB13A3FB021366 -S3150800D8105B091D01642003FB1023A08900B20028C0 -S3150800D8200BDADB00323348F21F51C5F2EB11A1FBCC -S3150800D8300321C1F3421129430AE01B01323348F29E -S3150800D8401F51C5F2EB11A1FB0321C1F34311294373 -S3150800D85089B2218105B030BD29B183899BB243F4D1 -S3150800D860005383817047838923F400531B041B0CE0 -S3150800D870838170478088C0F308007047038819427F -S3150800D8800CBF00200120704782B04FF46053C4F2E9 -S3150800D89002031A6842F001021A6000229A601968A7 -S3150800D8A021F0847121F48031196043F21001C2F22B -S3150800D8B000415960196821F480211960DA600092E4 -S3150800D8C001921A6842F480321A604FF46052C4F228 -S3150800D8D00202136803F400330193009B013300939B -S3150800D8E0019B1BB9009BB3F5A06FF2D14FF46053AF -S3150800D8F0C4F202031B6813F4003F14BF012300237C -S3150800D9000193019B012B46D14FF46053C4F20203E5 -S3150800D9101A6C42F080521A644FF4E042C4F20002D4 -S3150800D920116841F4404111609A689A609A6842F415 -S3150800D93000429A609A6842F4A0529A6045F20C42F4 -S3150800D940C0F240725A601A6842F080721A604FF448 -S3150800D9506052C4F20202136813F0007FFBD04FF442 -S3150800D9607053C4F2020340F205621A604FF4605322 -S3150800D970C4F202039A6822F003029A609A6842F097 -S3150800D98002029A604FF46052C4F20202936803F0EE -S3150800D9900C03082BFAD102B0704700BF30B4013A25 -S3150800D9A08D18A94214D20B461C785A7802EB042229 -S3150800D9B092B2104480B2824284BF013080B20233F0 -S3150800D9C09D42F1D8CB432B4423F00103023319447B -S3150800D9D0A94207D10B781B02184480B2834284BF40 -S3150800D9E0013080B230BC704770B540F6D864C2F2D8 -S3150800D9F00004667C143E237C06EB0326B6B230444C -S3150800DA0080B204F11A0108224DF69D15C0F60005EC -S3150800DA10A84704F122013246A847034620B1000A66 -S3150800DA2040EA032080B270BD4FF6FF7070BD00BF9C -S3150800DA3070B4C4780C44E4B240F69863C2F20003AA -S3150800DA40DC700D0A82782A44D2B29A7046785E70E3 -S3150800DA500078187095420DD90136F6B240F69863EB -S3150800DA60C2F200035E702EB940F69863C2F2000354 -S3150800DA7001301870C9B28C4217DA0132D2B240F6B8 -S3150800DA809863C2F200039A707AB940F69863C2F2B4 -S3150800DA9000035A780132D2B25A7032B940F6986306 -S3150800DAA0C2F200031A7801321A7070BC704700BFC0 -S3150800DAB010B5014640F6A464C2F200042068083096 -S3150800DAC04DF63123C0F600039847226840F698635E -S3150800DAD0C2F20003197811725978517299789172C5 -S3150800DAE0DB78D37210BD00BF08B5002008491422A0 -S3150800DAF04DF69D13C0F600039847034620B1000A69 -S3150800DB0040EA032080B208BD4FF6FF7008BD00BF8B -S3150800DB10E60E002008B506204DF6E913C0F6000308 -S3150800DB20984708BD40F6C863C2F2000300221A806F -S3150800DB3040F6A863C2F200035A7640F2F403C2F232 -S3150800DB40000301221A7040F2E803C2F200034FF400 -S3150800DB5080621A80704700BF40F2F403C2F20003E5 -S3150800DB6000221A7040F6C863C2F200031B882BB95C -S3150800DB7040F6C863C2F200031880704740F2F40307 -S3150800DB80C2F2000301221A70704700BF38B540F68A -S3150800DB90A463C2F200031C6840F6A063C2F2000345 -S3150800DBA0AD4A1A6040F69463C2F200031A6003286D -S3150800DBB016D1637E03F00F03032B40F0AE87238A4A -S3150800DBC0002B40F0AA8740F69C63C2F200030822A5 -S3150800DBD01A704CF2F563C0F60003984700F0CCBD06 -S3150800DBE0022840F0A78040F2E403C2F20003DA7884 -S3150800DBF00132D2B2DA70C2B940F2E403C2F20003CB -S3150800DC009A780132D2B29A707AB940F2E403C2F233 -S3150800DC1000035A780132D2B25A7032B940F2E4039C -S3150800DC20C2F200031A7801321A7040F69063C2F203 -S3150800DC30000300221A8041F21A53C2F200031A8026 -S3150800DC40637E03F0FD02052A09D1A37E0133DBB208 -S3150800DC50A376782B04BF0023637600F05EBF002B03 -S3150800DC6000F05B87228A002A52D0A27E511EA17636 -S3150800DC70002A40F05287E27E082A05D0591EC9B20A -S3150800DC80012917D8052A15D10023637640F69C6327 -S3150800DC90C2F2000380221A704CF2F563C0F6000344 -S3150800DCA0984740F6D863C2F20003142283F82F205F -S3150800DCB000F0AABE042A9DBF03219140C9B23021B3 -S3150800DCC0A1760132E27603F00F03013B072B00F23F -S3150800DCD02487DFE813F06D0208001000D804220735 -S3150800DCE0D8042207D80440F6D863C2F200030022FB -S3150800DCF083F82F2063E240F69C63C2F200030422F5 -S3150800DD001A704CF2F563C0F60003984700F085BD1B -S3150800DD1003F00F03032B40F0008740F69C63C2F222 -S3150800DD20000308221A704CF2F563C0F60003984700 -S3150800DD3000F022BD40F6D863C2F200039B7B452B58 -S3150800DD4040F0EB8640F6D863C2F20003197C5A7C91 -S3150800DD5002EB012040F69063C2F200031B8898424A -S3150800DD6000F3DB8684B240F69063C2F200031C809F -S3150800DD7040F6D863C2F200031B7D13F03F0F40F054 -S3150800DD80CC8640F6D863C2F200035B7D002B40F0D8 -S3150800DD90C48640F6D463C2F200031D882DB940F646 -S3150800DDA0D463C2F200035B88A3B140F6D863C2F21B -S3150800DDB00003DB8BAB4240F0B08640F6D862C2F275 -S3150800DDC0000240F6D463C2F20003128C5B889A42C2 -S3150800DDD040F0A3864DF6E923C0F6000398474FF6B0 -S3150800DDE0FF73984240F0998640F6D863C2F2000362 -S3150800DDF0DB7D062B32D0012B40F08F8640F6D863A8 -S3150800DE00C2F2000393F82230082B40F0868640F6CB -S3150800DE10D863C2F20003002283F822209A8C4FF6B8 -S3150800DE20F6739A4240F6D863C2F200038CBF0932F1 -S3150800DE3008329A8440F6D863C2F200035A8BDA8312 -S3150800DE409A8B1A845D8340F6D462C2F20002528825 -S3150800DE509A8300F05BBE00BF0E0F00204DF6153307 -S3150800DE60C0F6000398474FF6FF73984240F0558670 -S3150800DE7040F6A863C2F20003597E81B340F6D86221 -S3150800DE80C2F2000240F6A863C2F20003928C9B8895 -S3150800DE909A4224D140F6D862C2F2000240F6A8633C -S3150800DEA0C2F20003528CDB889A4218D140F6D86237 -S3150800DEB0C2F2000240F6A863C2F20003528B1B8826 -S3150800DEC09A420CD140F6D862C2F2000240F6A86324 -S3150800DED0C2F20003928B5B889A4200F0918140F669 -S3150800DEE0D863C2F2000393F82F3003F03F03022BE6 -S3150800DEF01CD140F6D863C2F200039A8C40F2E003C4 -S3150800DF00C2F200031A8040F2F403C2F200030021B1 -S3150800DF10197040F6C863C2F200031B8893427BD08F -S3150800DF2040F2F403C2F2000301221A7040F6D863E5 -S3150800DF30C2F2000393F82F3013F0040F40F0ED857A -S3150800DF4040F6D863C2F20003142283F82F2040F665 -S3150800DF509062C2F2000228211180502283F82E20F6 -S3150800DF6093F8295093F82D2083F8292093F8284010 -S3150800DF7093F82C2083F8282083F82C4093F8270060 -S3150800DF8093F82B2083F8272083F82B0093F8262074 -S3150800DF9040F2F401C2F200010A7093F82A1083F8DD -S3150800DFA0261083F82A20691CC9B283F82D10C1B936 -S3150800DFB0611CC9B240F6D863C2F2000383F82C107C -S3150800DFC079B9411CC9B240F6D863C2F2000383F896 -S3150800DFD02B1031B940F6D863C2F20003013283F838 -S3150800DFE02A2040F6D863C2F20003598C40F2E002B8 -S3150800DFF0C2F2000211809A8C5A8499845A8BDA8369 -S3150800E0009A8B1A8440F6D462C2F2000211885983A8 -S3150800E01052889A8300F047BD40F6A863C2F200030F -S3150800E0205B7E23B1072B40F08C8500F082BD40F65D -S3150800E030A461C2F2000140F6A863C2F200030B60B5 -S3150800E040032199761976002199750420D875D97611 -S3150800E0509A8040F6D864C2F20004628CDA80628B39 -S3150800E0601A80A28B5A800120587640F2E402C2F246 -S3150800E0700002117819735178597391789973D27887 -S3150800E080DA73188294F82920DA7294F828209A729A -S3150800E09094F827205A7294F826201A724DF6B1235E -S3150800E0A0C0F60003984794F82E3003F0F002502A81 -S3150800E0B07ADD1B095C1FA40040F2F503C2F20003D7 -S3150800E0C01A78002340F6D861C2F200015AE0CA184D -S3150800E0D092F8362072B940F2F401C2F200010B70D0 -S3150800E0E040F2F503C2F200031A7040F6A864C2F2C1 -S3150800E0F000045DE0012A02D10133DBB242E0022AC4 -S3150800E1002BD10D1895F83750042D26D140F2F4027C -S3150800E110C2F20002137040F2F503C2F200030222B3 -S3150800E1201A7040F6D863C2F20003034493F8382005 -S3150800E13093F8393043EA022240F2E003C2F20003C0 -S3150800E1401A8040F20A639A4238BF134640F6A8641A -S3150800E150C2F200046382A3822AE0084490F83700DA -S3150800E16070B940F2F401C2F200010B7040F2F503F7 -S3150800E170C2F200031A7040F6A864C2F2000417E05F -S3150800E1800344DBB21846A342A1DB40F2F401C2F213 -S3150800E19000010B7040F2F503C2F200031A7040F654 -S3150800E1A0A864C2F2000403E040F6A864C2F20004C0 -S3150800E1B040F6D863C2F20003102283F82F2040F6F7 -S3150800E1C0D863C2F2000393F82F2042F0020283F8C4 -S3150800E1D02F20022283F83620042283F837200622CD -S3150800E1E083F838200A2283F8392040F69062C2F272 -S3150800E1F000022C211180602283F82E2000F011BC29 -S3150800E20040F6A463C2F2000340F6A862C2F2000216 -S3150800E2101A6040F69C63C2F2000300221A7040F6A8 -S3150800E220D863C2F2000393F82F3013F0040F11D00D -S3150800E23040F6A863C2F200035A7640F69C63C2F21F -S3150800E240000320221A704CF2F563C0F600039847C3 -S3150800E25000F063BC40F6D862C2F2000292F82E00C3 -S3150800E2600009800040F2F402C2F200021070143C69 -S3150800E270201A80B240F69062C2F20002108001F0C5 -S3150800E2800F01022903D103F03F02122A1DD010B94B -S3150800E29013F0030F19D040F6D861C2F2000140F618 -S3150800E2A0A862C2F20002C98C1289914240F0A18389 -S3150800E2B040F6D861C2F2000140F6A862C2F2000236 -S3150800E2C0098D5289914240F0948313F0100F7AD049 -S3150800E2D040F6A863C2F20003198A002973D003F135 -S3150800E2E00C004DF63123C0F60003984740F6D86374 -S3150800E2F0C2F2000393F82A4040F69863C2F200037C -S3150800E3001B78A3425FD140F6D863C2F2000393F8A4 -S3150800E3102B0040F69863C2F200035B78834252D121 -S3150800E32040F6D863C2F2000393F82C1040F69863BF -S3150800E330C2F200039B788B4245D140F6D863C2F2FD -S3150800E340000393F82D2040F69863C2F20003DB78A9 -S3150800E350934238D140F6A863C2F200031C7358737F -S3150800E3609973DA73DB7E03BB40F6A863C2F2000337 -S3150800E370987D197E9A7E891AA1EBD001C9B2CAB2D4 -S3150800E3800844C0B2987512F0800F1CBF4A42D2B238 -S3150800E39040F6A863C2F20003D97DA1EB91010A44B5 -S3150800E3A0D2B2DA7502EBD0021A7640F69C63C2F254 -S3150800E3B0000301221A7040F6A863C2F200031A7E0F -S3150800E3C09A7600221A8240F6A863C2F200035A7EA1 -S3150800E3D002F00F03013B072B00F29F83DFE813F0DF -S3150800E3E00800400013016F02C202F7020903540233 -S3150800E3F040F69C63C2F200031B7813F0010F00F08D -S3150800E4008C8340F6A863C2F2000303225A7640F6CC -S3150800E4109C62C2F200024021117000221A8240F664 -S3150800E4209063C2F20003188850B140F69C63C2F2AA -S3150800E430000342221A704DF6B123C0F6000398472E -S3150800E44041F21A53C2F2000300221A804CF2F56315 -S3150800E450C0F60003984740F6A864C2F200048BE1B0 -S3150800E46040F69C63C2F200031B7813F0010F00F01C -S3150800E470B78040F6D863C2F2000393F82F3003F052 -S3150800E4803F03122B40F0AC8040F6D863C2F200037B -S3150800E49093F82E3003F0F002502A6DDD1B095C1F3D -S3150800E4A0A40040F2F503C2F200031A78002340F6EE -S3150800E4B0D861C2F2000152E0CA1892F8362052B961 -S3150800E4C040F2F401C2F200010B7040F2F503C2F209 -S3150800E4D000031A7050E0012A02D10133DBB23EE094 -S3150800E4E0022A2BD10D1895F83750042D26D140F263 -S3150800E4F0F402C2F20002137040F2F503C2F20003FE -S3150800E50002221A7040F6D863C2F20003034493F855 -S3150800E510382093F8393043EA022240F2E003C2F287 -S3150800E52000031A8040F20A639A4228BF1A4640F648 -S3150800E530A863C2F200035A829A821DE0084490F842 -S3150800E540370050B940F2F401C2F200010B7040F2F4 -S3150800E550F503C2F200031A700EE00344DBB2184654 -S3150800E560A342A9DB40F2F401C2F200010B7040F2AB -S3150800E570F503C2F200031A7040F6A864C2F200045A -S3150800E5800323637640F6D863C2F2000393F8262085 -S3150800E590227293F82720627293F82820A27293F8C1 -S3150800E5A02930E37201204DF6B123C0F600039847DF -S3150800E5B040F69C63C2F2000342221A7000222282AD -S3150800E5C040F69063C2F200031A8041F21A53C2F26F -S3150800E5D000031A804CF2F563C0F600039847CBE0B7 -S3150800E5E040F69C63C2F2000320221A704CF2F563CF -S3150800E5F0C0F60003984740F6A463C2F200031B68FE -S3150800E60000225A7692E440F6D863C2F2000393F8E1 -S3150800E6102F3013F0010F3ED012F0100F3BD140F609 -S3150800E620A863C2F200031B8A002B40F0768240F6EC -S3150800E6309064C2F200042088013080B24DF6B123FE -S3150800E640C0F60003984740F69C63C2F200031A78A6 -S3150800E65042F010011970238833B140F69C63C2F268 -S3150800E660000342F012021A704CF2F563C0F600037A -S3150800E670984740F6A864C2F20004012323820823BF -S3150800E68063760023E37640F6D863C2F200031122CC -S3150800E69083F82F20B8E113F0200F18D040F6D8637E -S3150800E6A0C2F2000393F83400000293F8351040F6DE -S3150800E6B0A063C2F2000340EA01051C682C441C60F2 -S3150800E6C040F69063C2F200031888411B198040F691 -S3150800E6D09063C2F20003188878B112F0100F0CD1BB -S3150800E6E040F69C63C2F200031A7842F002021A70DE -S3150800E6F04DF6B123C0F60003984740F6D863C2F238 -S3150800E700000393F8302093F8313003EB02239BB2D1 -S3150800E71040F2E002C2F20002138040F6A862C2F29A -S3150800E7200002928A934200D823B940F2E003C2F26B -S3150800E73000031A8040F6A863C2F2000340F2E00222 -S3150800E740C2F2000212885A8240F69C63C2F20003A3 -S3150800E7501B7813F0030F00F0E08141F21A53C2F25E -S3150800E760000300221A804CF2F563C0F600039847AE -S3150800E77040F6A864C2F2000440F69C63C2F20003A5 -S3150800E7801B7813F0200F0ED041F21A53C2F2000381 -S3150800E79000221A80627640F6D863C2F20003142279 -S3150800E7A083F82F2030E113F0100F12D041F21A53DC -S3150800E7B0C2F2000300221A8001232382042363760F -S3150800E7C0E27640F6D863C2F20003112283F82F20BE -S3150800E7D01AE141F21A52C2F200021288DAB113F0B3 -S3150800E7E0010F1CBF0023238201D1218A71B9618AD6 -S3150800E7F08A4282BF41F21A53C2F20003198041F2DB -S3150800E8001A53C2F200031B88238204E041F21A530A -S3150800E810C2F2000319800023E37640F6A063C2F231 -S3150800E820000340F69462C2F2000212681A6041F2CE -S3150800E8301A53C2F200031B887BB1238A6BB140F6D8 -S3150800E8409062C2F200022833138040F6D863C2F2FF -S3150800E8500003182283F82F20DCE040F69C63C2F2FE -S3150800E86000031B7813F0020F00F0578140F69063FF -S3150800E870C2F2000328221A8040F6D863C2F20003C7 -S3150800E880102283F82F20C5E040F69C63C2F20003ED -S3150800E8901B7813F0010F00F0408140F6A863C2F21E -S3150800E8A0000300225A7640F69C63C2F20003102247 -S3150800E8B01A704CF2F563C0F6000398472DE140F64E -S3150800E8C09063C2F20003188820B14DF6B123C0F652 -S3150800E8D00003984740F6D863C2F2000393F82F3036 -S3150800E8E013F0010F25D040F69C63C2F200031B7893 -S3150800E8F013F0010F40F6A863C2F200031FBF0722F8 -S3150800E9005A7600229A7612BF1A8206225A76012071 -S3150800E9104DF6B123C0F60003984740F69C63C2F251 -S3150800E920000310221A704CF2F563C0F600039847EC -S3150800E9305FE040F69C63C2F200031B7813F0010FF8 -S3150800E94008D040F6A863C2F2000305225A760022D0 -S3150800E9501A82E2E040F69063C2F200031B88002B9D -S3150800E96047D1DAE040F69063C2F20003188820B176 -S3150800E9704DF6B123C0F60003984740F6D863C2F2B5 -S3150800E980000393F82F3013F0010F19D040F6A8634F -S3150800E990C2F2000307225A7600229A7601204DF623 -S3150800E9A0B123C0F60003984740F69C63C2F2000301 -S3150800E9B010221A704CF2F563C0F60003984718E067 -S3150800E9C040F69063C2F200031B8893B9A5E040F6AF -S3150800E9D09C63C2F200031B7813F0010F00F09D80C0 -S3150800E9E040F6A863C2F2000307225A7600229A76F6 -S3150800E9F093E040F6D863C2F20003102283F82F2072 -S3150800EA0040F6A864C2F2000440F69063C2F200031E -S3150800EA1028221A8040F6D863C2F20003502283F8EF -S3150800EA202E20227A40F6D863C2F2000383F82A2001 -S3150800EA30627A83F82B20A27A83F82C20E27A83F86C -S3150800EA402D20227B83F82620627B83F82720A27B51 -S3150800EA5083F82820E27B83F829200622DA75A28823 -S3150800EA605A84E2889A8440F6D462C2F20002118877 -S3150800EA70598352889A832288DA8362881A84637E45 -S3150800EA8013F0100F40F6D863C2F200031DBF002230 -S3150800EA9083F8312083F83020062202BF83F830201D -S3150800EAA00A2283F8312040F6D864C2F200044023D3 -S3150800EAB0A37540F69063C2F200031B881A0A2274F3 -S3150800EAC06374002584F8355084F8345065864DF60D -S3150800EAD01533C0F600039847C04360864523A373E1 -S3150800EAE0E5736575257540F2E203C2F200031A88DC -S3150800EAF0013292B21A80130AA374E27425834DF682 -S3150800EB00E923C0F600039847C043208340F69C6378 -S3150800EB10C2F2000300221A7038BD40F69063C2F2B2 -S3150800EB20000300221A8040F69C63C2F200031A70A2 -S3150800EB3038BD40F2F403C2F2000301211970FFF751 -S3150800EB4076BA40F2F403C2F2000301221A70E4E72F -S3150800EB50030A43EA002080B2704700BF2DE9F0039C -S3150800EB6040F2F603C2F200034FF0000C83F800C02F -S3150800EB7040F2F805C2F200052B4601221F461C8802 -S3150800EB80CCB15E88BEB1B0F80080A04513D14488E8 -S3150800EB90B44210D140F2F603C2F2000383F800C073 -S3150800EBA0086878608B883B8140F25913C2F20003EB -S3150800EBB01B78BB725AE0541CE4B20C33092C02D001 -S3150800EBC094462246DAE72B4600221E461C884CB994 -S3150800EBD05C883CB940F2F603C2F200031A70082AB0 -S3150800EBE036D104E00132D2B20C33082AEDD1002323 -S3150800EBF040F25912C2F200021678B0461F469946EC -S3150800EC005FFA83FCAA7AC2EB0804BC42C2BFC2EB15 -S3150800EC100602E146D7B201330C35082BF0D140F293 -S3150800EC20F703C2F200031F7040F25813C2F2000342 -S3150800EC3083F8009040F2F603C2F2000383F80090CE -S3150800EC4040F2F803C2F2000309EB490903EB89060F -S3150800EC500268334643F8042B0A6872608A889A80E9 -S3150800EC6040F25913C2F200031B78B372BDE8F003F1 -S3150800EC70704700BFF0B440F25913C2F200031E7881 -S3150800EC800136F6B21E7040F2F803C2F20003012202 -S3150800EC90002740F2F604C2F2000458881988014396 -S3150800ECA089B259B1997A711A772907DD194601F897 -S3150800ECB0017B5F70013101F8017B0F702270013210 -S3150800ECC0D2B20C33092AE8D1F0BC704738B540F601 -S3150800ECD09063C2F200031B88292B06D840F690637E -S3150800ECE0C2F2000300221A8038BD40F69063C2F2D1 -S3150800ECF0000300221A8040F6D863C2F200039B8AFA -S3150800ED00B3F5807F03D0B3F5007F5CD038BD40F6FD -S3150800ED10D862C2F2000240F6D463C2F20003D28C73 -S3150800ED201B889A426FD140F6D862C2F2000240F6BA -S3150800ED30D463C2F20003128D5B889A4263D1324CC7 -S3150800ED40A51F204629464EF65D33C0F600039847B0 -S3150800ED50A4F11C03002204F8082C022204F8072C4C -S3150800ED6054F8062C626034F8022C228140F2EC0238 -S3150800ED70C2F20002106844F8060C928824F8022CA5 -S3150800ED8044F8160C24F8122C626844F81C2C2289C4 -S3150800ED9024F8182C9A8B62816288A28140F6D46284 -S3150800EDA0C2F200021188998352886280082204F808 -S3150800EDB0102C062204F80F2C40F69063C2F20003CA -S3150800EDC02A221A8038BD40F6D862C2F2000240F6FE -S3150800EDD0D463C2F20003D28C1B889A4213D140F640 -S3150800EDE0D862C2F2000240F6D463C2F20003128D62 -S3150800EDF05B889A4207D10449084606394EF65D33C0 -S3150800EE00C0F60003984738BDF40E002038B540F622 -S3150800EE10D863C2F20003D98B8AB24FF6FF739A42BF -S3150800EE2015D140F6D863C2F20003188C4FF6FF736B -S3150800EE3098420CD140F6D863C2F200034FF2501242 -S3150800EE40C0F600021068186092889A80B0E040F612 -S3150800EE50D463C2F200031B885A4040F6D063C2F25C -S3150800EE6000031B881A4212D140F6D863C2F2000387 -S3150800EE701A8C90B240F6D463C2F200035B885840FD -S3150800EE8040F6D063C2F200035B8818420CD040F209 -S3150800EE905C13C2F2000340F6CC62C2F2000211888B -S3150800EEA0198052885A8005E040F25C13C2F20003CA -S3150800EEB019805A8040F25C13C2F2000318885D88F4 -S3150800EEC040F2F803C2F2000300221C461988814268 -S3150800EED00AD15988A94207D140F2F603C2F20003C3 -S3150800EEE01A70082A5BD109E00132D2B20C33082A1B -S3150800EEF0EBD140F2F603C2F200031A7040F6D8646A -S3150800EF00C2F200042046FF2106224FF28D03C0F606 -S3150800EF1000039847002384F8203084F8213084F8C9 -S3150800EF20223084F8233084F8243084F8253040F2DF -S3150800EF30EC02C2F200021168C4F8061092886281D7 -S3150800EF40C4F81610628340F25C12C2F200021188FD -S3150800EF50E1845288228540F6D462C2F20002118802 -S3150800EF60A1835288E283237501226275A373E27333 -S3150800EF700822227463740623A3740423E374227399 -S3150800EF800623637340F6A063C2F2000336341C609E -S3150800EF9040F69063C2F200032A221A8038BD40F672 -S3150800EFA0D863C2F2000354F8040F1860A2889A8046 -S3150800EFB040F6D863C2F2000340F2EC02C2F2000245 -S3150800EFC01168C3F8061092885A8108221A7300221B -S3150800EFD05A7340F69063C2F200031A880E321A80FA -S3150800EFE038BD00BF0F2AF0B445D940EA01039B0794 -S3150800EFF045D1A2F110070C4603463F0900EB071658 -S3150800F000103625681033103443F8105C54F80C5C3D -S3150800F01043F80C5C54F8085C43F8085C54F8045C44 -S3150800F02043F8045CB342ECD17B1C02F00F0CBCF134 -S3150800F030030F4FEA03131944034422D90E461D460B -S3150800F040644656F8047B043C032C45F8047BF8D840 -S3150800F050ACF1040402F0030224F00304043423444C -S3150800F060214432B10A4411F8014B914203F8014B8D -S3150800F070F9D1F0BC70470346002AF3D1F9E70346F5 -S3150800F080F0E76246002AEDD1F3E700BF8307F0B444 -S3150800F09048D0541E002A43D0CDB2034602E0002CC5 -S3150800F0A03ED0144603F8015B13F0030F04F1FF3258 -S3150800F0B0F5D1032C2DD9CDB20F2C45EA052545EA05 -S3150800F0C0054518D9A4F1100703F110061A463F0999 -S3150800F0D006EB07161560103242F80C5C42F8085C1D -S3150800F0E042F8045CB242F5D104F00F040137032C50 -S3150800F0F003EB07130DD91E462246043A46F8045B6D -S3150800F100032AFAD8221F04F0030422F00302043269 -S3150800F11013442CB1C9B21C4403F8011BA342FBD10A -S3150800F120F0BC704714460346C3E700BF0502060253 -S3150800F130060307030803090309040A040B040C045D -S3150800F1400C050D050E050F050F061006100710080D -S30D0800F150FFFFFFFFFFFF0000AF -S3150800F1580000000001020304010203040607080967 -S3090800F168007A030A0E +S3150800C000000002205DC20008ABC20008ADC20008ED +S3150800C010AFC20008B1C20008B3C2000800000000A1 +S3150800C020000000000000000000000000B5C2000883 +S3150800C030B7C2000800000000B9C200080DC9000810 +S3150800C040BFC20008C1C20008C3C20008C5C20008B2 +S3150800C050C7C20008C9C20008CBC20008CDC2000882 +S3150800C060CFC20008D1C20008D3C20008D5C2000852 +S3150800C070D7C20008D9C20008DBC20008DDC2000822 +S3150800C080DFC20008E1C20008E3C20008E5C20008F2 +S3150800C090E7C20008E9C20008EBC20008EDC20008C2 +S3150800C0A0EFC20008F1C20008F3C20008F5C2000892 +S3150800C0B0F7C20008F9C20008FBC20008FDC2000862 +S3150800C0C0FFC2000801C3000803C3000805C300082F +S3150800C0D007C3000809C300080BC300080DC30008FE +S3150800C0E00FC3000811C3000813C3000815C30008CE +S3150800C0F017C3000819C300081BC300081DC300089E +S3150800C1001FC3000821C3000823C3000825C300086D +S3150800C11027C3000829C300082BC300082DC300083D +S3150800C1202FC3000831C3000833C3000835C300080D +S3150800C13037C3000839C300083BC300083DC30008DD +S3150800C1403FC3000841C3000843C3000845C30008AD +S3150800C15047C3000849C300084BC300084DC300087D +S3150800C1604FC3000851C3000853C3000855C300084D +S3150800C17057C3000859C300085BC300085DC300081D +S3150800C1805FC3000861C30008EE11AA5510B5054C37 +S3150800C190237833B9044B13B10448AFF30080012365 +S3150800C1A0237010BD8000002000000000F8E8000899 +S3150800C1B0084B10B51BB108490848AFF3008008487A +S3150800C1C0036803B910BD074B002BFBD0BDE8104030 +S3150800C1D0184700BF0000000084000020F8E80008A7 +S3150800C1E07C00002000000000154B002B08BF134BF5 +S3150800C1F09D46A3F5803A00218B460F461348144AFC +S3150800C200121A02F04CFB0F4B002B00D098470E4B2E +S3150800C210002B00D098470020002104000D000D488F +S3150800C220002802D00C48AFF3008002F007FB20007C +S3150800C230290000F0E9FA02F0EDFA00BF0000080054 +S3150800C240000002200000000000000000800000201E +S3150800C2501C150020000000000000000007498D465C +S3150800C2600749084A084B9A42BEBF51F8040B42F8E0 +S3150800C270040BF8E7054880470548004700000220F8 +S3150800C28004E90008000000207C000020B5D700085B +S3150800C290E9C100083349344A002301E041F8043B68 +S3150800C2A09142FBD300F0B0FAFEE7FEE7FEE7FEE7B1 +S3150800C2B0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE748 +S3150800C2C0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE738 +S3150800C2D0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE728 +S3150800C2E0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE718 +S3150800C2F0FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE708 +S3150800C300FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7F7 +S3150800C310FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7E7 +S3150800C320FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7D7 +S3150800C330FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C7 +S3150800C340FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7B7 +S3150800C350FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7A7 +S3150800C360FEE70000800000201C15002008B500F03C +S3150800C37075FD00F0C5FA00F5FA70124B186000F06A +S3150800C380BFFA00F51C5010300F4B186001F09EFAEA +S3150800C3900E4B4FF6A9621A8043F6137159800C4B5F +S3150800C3A04FF6FF711980002159800A4B1A8040F216 +S3150800C3B013125A804EF6030001F0B6FA00F022FE78 +S3150800C3C008BD00BFA00000209C000020D40E00205D +S3150800C3D0D00E0020CC0E002008B5094B1B7813F0B0 +S3150800C3E0400F0BD113F0020F08D0064B1B681A79C1 +S3150800C3F0FF2A03D15B790BB900F076F908BD00BFB7 +S3150800C4009C0E0020A00E002010B500F00BFE48B3CD +S3150800C4102D4A10802D4B9C894FF4006001F09EFA3E +S3150800C42084420DD1012001F0D3FA274B1B88CBB1EA +S3150800C43002F040F900F01AFE0022234B1A8011E0A0 +S3150800C440224B9C8940F6060001F088FA844209D1FD +S3150800C45002F0C0F81C4B1B8823B100F007FE00222F +S3150800C460194B1A8000F04CFA194B1B6898421CD3DA +S3150800C47003F5FA73164A1360002414E0C4EB041398 +S3150800C4805A00144B1344144A1360022001F0A0FA10 +S3150800C4900D4B1B8833B102F00DF900F0E7FD0022C1 +S3150800C4A0094B1A800134002CE8D000F029FA0B4B0E +S3150800C4B01B68984206D303F51C531033074A1360CA +S3150800C4C002F056F810BD00BF900E0020D80E0020CE +S3150800C4D0A0000020A80E0020A40E00209C0000202A +S3150800C4E0F0B5002421E0134D15F8147005EB44054A +S3150800C4F095F801E007EB0E0505FB00054AF2104C1E +S3150800C5009CFBF5F605FB16C66EB99CFBF5F5ADB2B8 +S3150800C5100D80013DADB2B5F5806F04D2177083F872 +S3150800C52000E00120F0BD0134E4B2112CDBD9002073 +S3150800C530F0BD00BFC8E80008F0B587B0012120208B +S3150800C54001F024F80121042001F004F81E4D082208 +S3150800C5500621284600F0FAFD08220721284600F0A1 +S3150800C560F5FD00248DF8164001278DF81770022670 +S3150800C5708DF81460402304938DF8156004A92846A5 +S3150800C58000F09EFD8DF814608023049304A92846C4 +S3150800C59000F096FD4FF461430093ADF80440ADF802 +S3150800C5A00640ADF80840ADF80C400C23ADF80A304B +S3150800C5B0064C6946204601F019F83946204601F02E +S3150800C5C07DF807B0F0BD00BF000802400014014026 +S3150800C5D070B58AB00121022000F0BCFF354E092251 +S3150800C5E00521304600F0B2FD09220621304600F04A +S3150800C5F0ADFD6023089302238DF824308DF825308D +S3150800C60000248DF8264001258DF8275008A93046C4 +S3150800C61000F056FD29464FF0C06000F0A9FFA6F5C8 +S3150800C620CE36304600F0AAFD05A800F0C5FE6B46DA +S3150800C6300DEB05020DF102014FF4FA70FFF750FFFA +S3150800C6408DF81A408DF81B408DF81C408DF81D405A +S3150800C6508DF81E408DF81F408DF816408DF817404E +S3150800C6609DF80130013B8DF818309DF80030013BEC +S3150800C6708DF81930BDF80230ADF8143005A93046EA +S3150800C68000F098FD0E238DF80E308DF80F408DF8CA +S3150800C6901050ADF80440ADF80640ADF80840ADF8C6 +S3150800C6A00A40ADF80C408DF8115001A800F00AFEBA +S3150800C6B00AB070BD0004024010B5044620210648A1 +S3150800C6C001F00EF8012805D1034801F005F820709D +S3150800C6D0012010BD002010BD0014014008B5FFF769 +S3150800C6E02BFFFFF775FF08BDBFF34F8F0449CA68D4 +S3150800C6F002F4E062034B1343CB60BFF34F8FFEE7B0 +S3150800C70000ED00E00400FA0508B5204B1B789BB93C +S3150800C7101F48FFF7D1FF012836D11D4B1B78002B88 +S3150800C72032D000F0EDF81B4B18600122174B1A7037 +S3150800C7300022194B1A7008BD174B1B780133144891 +S3150800C7401844FFF7B9FF012814D1134A13780133A7 +S3150800C750DBB213700E4A1278934215D100220B4BA6 +S3150800C7601A700B4B5B78FF2B0ED1094B9B785BB984 +S3150800C770FFF7BAFF00F0C4F8064B1B68643398420B +S3150800C78002D90022014B1A7008BD00BFE90000203B +S3150800C790A8000020A4000020EA00002000B587B009 +S3150800C7A00021114800F06CFED8B101AA00210E48FC +S3150800C7B000F012FE9DF80C3033B940F26763019A17 +S3150800C7C09A4203D0002302E0002300E0012343B18C +S3150800C7D09DF80F30FF2B04D19DF810300BB9FFF7E9 +S3150800C7E083FF07B05DF804FB0068004008B5FFF753 +S3150800C7F08BFFFFF7D3FF08BD08B500F0DBFF00F09D +S3150800C80011F800F05FF808BD08B5FFF7F5FFFFF768 +S3150800C810ADFDFFF763FF00F027F8FFF7F5FDFFF71B +S3150800C820E5FFF8E730B583B00121042000F092FE59 +S3150800C8304FF40055009501238DF8043000228DF839 +S3150800C84006208DF8073002238DF80530054C694619 +S3150800C850204600F035FC2946204600F073FC03B05C +S3150800C86030BD00BF0008024010B500F049F80F4B74 +S3150800C8701B68C31AB3F5FA7F16D304460C4B1B780C +S3150800C88043B901220A4B1A704FF40051094800F0C7 +S3150800C8905BFC07E00022064B1A704FF4005105486E +S3150800C8A000F050FC014B1C6010BD00BFEC000020DE +S3150800C8B0F000002000080240014B1860704700BFD6 +S3150800C8C0F400002008B50A4B1B680A4AA2FB03239A +S3150800C8D09B09013B084A5360F021084B83F8231053 +S3150800C8E00020906007231360FFF7E6FF08BD00BF2E +S3150800C8F010000020D34D621010E000E000ED00E0CB +S3150800C900014B1868704700BFF4000020024A1368FC +S3150800C91001331360704700BFF400002008B50121F9 +S3150800C9204FF0007000F040FE00214FF0007000F05C +S3150800C9303BFE08BD0023036043608360C360036158 +S3150800C94043618361C361036243628362C3620363B3 +S3150800C95043638363C3634022026420224264836480 +S3150800C960C364036543658365C365036680224266BF +S3150800C9708366C366036743678367C3674FF080624E +S3150800C980C0F880204FF00072C0F884204FF0807104 +S3150800C990C0F888104FF40011C0F88C10C0F8903019 +S3150800C9A0C0F89430C0F89830C0F89C30C0F8A03071 +S3150800C9B0C0F8A420C0F8A8304FF40032C0F8AC2064 +S3150800C9C04FF48072C0F8B020C0F8B430C0F8B83060 +S3150800C9D0704700BF82B000230193124A136903F01F +S3150800C9E01C03C00280B20343890101F4F8610B43BA +S3150800C9F043F001031361019B01330193094B1B6942 +S3150800CA0013F0010F03D0019A074B9A42F3D9019A02 +S3150800CA10064B9A4203D0034B586980B200E00020C7 +S3150800CA2002B0704700800240FEFF0400FFFF0400CA +S3150800CA3010B483B000230193124C236903F01C033E +S3150800CA40C00280B20343890101F4F8610B4343F045 +S3150800CA50030362612361019B01330193094B1B693F +S3150800CA6013F0010F03D0019A074B9A42F3D9019AA2 +S3150800CA70064B9A4201D1002000E0012003B05DF880 +S3150800CA80044B704700800240FEFF0400FFFF0400CD +S3150800CA9070B586B004460D46002305930093924B65 +S3150800CAA01E6926F01C0601A800F0F8FC029A8F4BB6 +S3150800CAB013448F498B4202D846F008060EE08D4B88 +S3150800CAC013448D498B4202D846F00C0606E08B4B80 +S3150800CAD013448B4A934201D946F00406824B1E61E1 +S3150800CAE04FF4004200212846FFF7A2FF0646002819 +S3150800CAF000F0F7804FF08063059302E0059B013B49 +S3150800CB000593059E002EF9D12368002B4CD0009B77 +S3150800CB100133009301212846FFF75CFF00F004006B +S3150800CB2080B218B9009A774B9A42F0D9009A764B98 +S3150800CB309A4200F0D680002100914FF48052284690 +S3150800CB40FFF776FF002800F0CB80009B01330093A7 +S3150800CB5001212846FFF73EFF00F0200080B218B9F1 +S3150800CB60009A684B9A42F0D9009A674B9A4200F0AD +S3150800CB70B8800023009310212846FFF72BFF00F00A +S3150800CB8004039BB21BB14FF40063236201E0002348 +S3150800CB90236200F002039BB213B1002363611CE019 +S3150800CBA04FF48043636118E0226AC2F3CF026369D7 +S3150800CBB0C3F34F031A4300212846FFF739FF0646F9 +S3150800CBC0002800F08E806FF07F43059302E0059BF6 +S3150800CBD0013B0593059B002BF9D1434B1A684B493A +S3150800CBE011406068A2681043E26810432269104346 +S3150800CBF062691043A2691043E2691043226A10432E +S3150800CC00626A1043A26A1043E26A1043226B104319 +S3150800CC10626B02430A431A60A16BE26B1143226CF2 +S3150800CC201143626C1143A26C1143E26C1143226DED +S3150800CC301143626D0A435A60A26D9A60E26DDA602A +S3150800CC409A694FF641711140206E626E42EA0040C1 +S3150800CC50A26E1043E26E1043226F1043626F0243C6 +S3150800CC600A439A61A16FE26F0A43DA6141F2180535 +S3150800CC705A5927491140D4F88000D4F88420104323 +S3150800CC80D4F888201043D4F88C201043D4F8902088 +S3150800CC901043D4F894201043D4F898201043D4F8BD +S3150800CCA09C201043D4F8A02002430A435A51D4F8D2 +S3150800CCB0A410D4F8A8201143D4F8AC201143D4F812 +S3150800CCC0B0200A43D4F8B41042EA8101D4F8B82057 +S3150800CCD00A4342F4000203F580531A60012600E075 +S3150800CCE00646304606B070BD0080024000D3CEFE30 +S3150800CCF0BFE1E40040F1E9FD3F787D0100796CFC75 +S3150800CD00005A6202FEFF0400FFFF04000F8120FFA5 +S3150800CD10233FDEF828B1064A136843F00803136078 +S3150800CD207047034A136823F008031360704700BF6F +S3150800CD300080024028B1064A136843F004031360D2 +S3150800CD407047034A136823F004031360704700BF53 +S3150800CD5000800240024A136843F0010313607047DB +S3150800CD6000900240044B1B6813F0010F01D001200C +S3150800CD7070470020704700BF00900240034941F207 +S3150800CD8018028B5843F480138B507047008002407A +S3150800CD9038B1084941F218028B5843F400538B50B6 +S3150800CDA07047044941F218028B5823F400538B50FC +S3150800CDB0704700BF0080024038B1084941F21802A6 +S3150800CDC08B5843F002038B507047044941F218020E +S3150800CDD08B5823F002038B50704700BF0080024037 +S3150800CDE008B50120FFF796FFFFF7C8FF0120FFF7F8 +S3150800CDF0A1FF0120FFF7CCFF0120FFF7DDFF08BDEB +S3150800CE000A4B0B4A9A6000221A60DB605A6040227D +S3150800CE105A719A884FF4C86161F30C029A8080228D +S3150800CE20DA7041F20C0203498B50704780010020EA +S3150800CE309001002000800240054B064A9A60DB609C +S3150800CE4000221A605A6041F2100203498B5070475B +S3150800CE50800E0020D0070020008002402DE9F04116 +S3150800CE60B2B001214FF0F05000F074FB01214720C9 +S3150800CE7000F070FB01214FF4804000F087FB012091 +S3150800CE8000F0AEFB8E23309300258DF8C6500224A1 +S3150800CE908DF8C4408DF8C7508DF8C540554F30A958 +S3150800CEA0384600F00DF90B220121384600F04EF9FC +S3150800CEB00B222146384600F049F90B220321384651 +S3150800CEC000F044F90B220721384600F03FF94FF4E9 +S3150800CED0006330938DF8C6508DF8C4408DF8C7505E +S3150800CEE08DF8C54007F5C05730A9384600F0E8F870 +S3150800CEF00B221146384600F029F9322330938DF873 +S3150800CF00C6508DF8C4408DF8C7508DF8C540DFF877 +S3150800CF10F08030A9404600F0D3F80B2201214046A4 +S3150800CF2000F014F90B220421404600F00FF90B22F9 +S3150800CF300521404600F00AF94FF4C04330938DF8B6 +S3150800CF40C6508DF8C4408DF8C7508DF8C54030A935 +S3150800CF50384600F0B5F80B220D21384600F0F6F8F1 +S3150800CF600B220E21384600F0F1F8FFF7D7FCFFF741 +S3150800CF70F1FEFFF7F7FE0128FBD001A8FFF7DAFC60 +S3150800CF800025019508954FF400730B930C954FF007 +S3150800CF9000430F93202312931495159516954FF475 +S3150800CFA0006309934FF48043069313E0ACB2022161 +S3150800CFB02046FFF70FFD60F31F4603212046FFF7C3 +S3150800CFC009FD60F30F060C4B9E4205D00B4B9E42A3 +S3150800CFD002D001351F2DE9D9A9B201A8FFF758FDDE +S3150800CFE0FFF72AFFFFF70CFFFFF7FAFE32B0BDE89E +S3150800CFF0F08100BF0000024019162200F1C00700A8 +S3150800D00000080240064B08221A7000225A7027228E +S3150800D0109A706922DA705B221A7145225A71704732 +S3150800D0200401002038B50D4BDB7813F0800F13D1BF +S3150800D0300A4D6888C0F30D0422460949094801F0DB +S3150800D04023FCEB7843F08003EB70012141F20803DF +S3150800D050054AD150204638BD002038BD8001002041 +S3150800D06090010020D80E00200080024038B50F4BF2 +S3150800D070DB7813F0800FFAD10D4B1C880D4D224634 +S3150800D0800D49284601F000FC084B9D6000221A60F5 +S3150800D090102199705A60C4F30B049C80B022DA7090 +S3150800D0A0012141F20403054AD15038BD800E002003 +S3150800D0B0900E0020D0070020D80E002000800240E5 +S3150800D0C070B400233AE001229A400C68A24334D196 +S3150800D0D004685D000322AA40D2431440046006682F +S3150800D0E00C79AC40344304600C79013CE4B2012C61 +S3150800D0F015D884682240826084684A79AA40224307 +S3150800D100826046689AB20124944026EA0404446080 +S3150800D11046688C7904FA02F292B232434260C468D5 +S3150800D1209AB256000322B24024EA0202C260C668D6 +S3150800D130CC7904FA05F23243C26001330F2BC2D907 +S3150800D14070BC7047018370474183704730B401F063 +S3150800D15007039B009A40C908083150F821400F255B +S3150800D16005FA03F324EA030340F8213050F8213086 +S3150800D1701A4340F8212030BC704700BF08B50C4B55 +S3150800D18098420AD101214FF0007000F01BFA0021E5 +S3150800D1904FF0007000F016FA08BD01214FF08060CC +S3150800D1A000F010FA00214FF0806000F00BFA08BD7D +S3150800D1B000640040036823F002030360036843F039 +S3150800D1C001030360002300E00133426812F0010FF7 +S3150800D1D003D14FF6FF729342F6D1436813F0010F5D +S3150800D1E06BD08B79012B04D1036843F0800303606D +S3150800D1F003E0036823F080030360CB79012B04D195 +S3150800D200036843F04003036003E0036823F0400328 +S3150800D21003600B7A012B04D1036843F020030360F3 +S3150800D22003E0036823F0200303604B7A012B04D143 +S3150800D230036843F01003036003E0036823F0100358 +S3150800D24003608B7A012B04D1036843F0080303605B +S3150800D25003E0036823F008030360CB7A012B04D1AB +S3150800D260036843F00403036003E0036823F0040340 +S3150800D27003608A78CB781B0643EA82730A7943EA05 +S3150800D28002434A7943EA02530A88013A1343C361BF +S3150800D290036823F001030360002300E001334268BA +S3150800D2A012F0010F03D04FF6FF729342F6D143688E +S3150800D2B013F0010F03D000207047002070470120AB +S3150800D2C0704700BF70B4837A012202FA03F3394A21 +S3150800D2D0D2F8001241F00101C2F80012D2F81C126D +S3150800D2E0DC432140C2F81C12027BB2B9314AD2F89B +S3150800D2F00C122140C2F80C12817AC688458845EA84 +S3150800D3000645483142F83150857A8688018841EACF +S3150800D3100641483502EBC5025160027B012A16D147 +S3150800D320244AD2F80C121943C2F80C12817A0688DC +S3150800D330458845EA0645483142F83150857A868857 +S3150800D340C18841EA0641483502EBC5025160C27AF6 +S3150800D35032B91849D1F804222240C1F8042205E05E +S3150800D3601449D1F804221A43C1F8042202892AB9B9 +S3150800D3701049D1F814221440C1F814420289012A2E +S3150800D38005D10C49D1F814221A43C1F81422427B5C +S3150800D390012A05D10749D1F81C221343C1F81C32CA +S3150800D3A0044AD2F8003223F00103C2F8003270BCF6 +S3150800D3B0704700BF0064004000238371C371037285 +S3150800D3C043728372C3728370C3700323037102238B +S3150800D3D0437101230380704710B401F11B031B013D +S3150800D3E0C35803F00403DBB2137233B901F11B030C +S3150800D3F01B01C3585B0D136005E001F11B031B01FC +S3150800D400C358DB08536001F11B031B01C418C3583A +S3150800D41003F002035372636803F00F0393726368A1 +S3150800D4201B0AD37400EB0113D3F8B841D472D3F8AE +S3150800D430B841240A1473D3F8B841240C5473D3F8AA +S3150800D440B841240E9473D3F8BC41D473D3F8BC41C5 +S3150800D450240A1474D3F8BC41240C5474D3F8BC3190 +S3150800D4601B0E937421B9C36843F02003C36003E01D +S3150800D470036943F0200303615DF8044B704700BF5E +S3150800D48019B9C06800F003007047012903D1006983 +S3150800D49000F0030070470020704700BF10B4294B06 +S3150800D4A09B6803F00C03042B05D0082B06D053BB4E +S3150800D4B0254B036029E0254B036026E0214B5A687B +S3150800D4C05B6803F03F0312F4800F09D01F4AB2FBD2 +S3150800D4D0F3F21C4B5B68C3F3881303FB02F208E004 +S3150800D4E0194AB2FBF3F3174A5168C1F3881101FBD5 +S3150800D4F003F2144B5B68C3F3014301335B00B2FBD1 +S3150800D500F3F3036001E0104B03600E4CA368C3F30A +S3150800D51003130F49CB5CDAB20368D3404360A268B1 +S3150800D520C2F382228A5CD2B223FA02F28260A2682D +S3150800D530C2F342328A5CD2B2D340C3605DF8044B70 +S3150800D540704700BF003802400024F400001BB700F3 +S3150800D5500000002021B1054B1A6B10431863704771 +S3150800D560024A136B23EA0000106370470038024032 +S3150800D57021B1054B1A6C104318647047024A136CA4 +S3150800D58023EA0000106470470038024021B1054BB9 +S3150800D5905A6C104358647047024A536C23EA0000D9 +S3150800D5A0506470470038024021B1054B1A69104390 +S3150800D5B018617047024A136923EA00001061704730 +S3150800D5C00038024021B1054B1A6A104318627047A9 +S3150800D5D0024A136A23EA00001062704700380240C4 +S3150800D5E0014B1860704700BFDC00274230B585B094 +S3150800D5F004460D46038A9BB223F44053CA88134354 +S3150800D600038283899BB223F4B05323F00C01A888C4 +S3150800D6102A896B89024313430B43A381A38A9BB2CE +S3150800D62023F44073AA891343A3826846FFF736FF9B +S3150800D630204B9C4203D003F580639C4201D1039A98 +S3150800D64000E0029AA38913F4004F08D002EB820285 +S3150800D65002EB820229684900B2FBF1F107E002EB0E +S3150800D660820202EB820229688900B2FBF1F1124BB1 +S3150800D670A3FB01235B091B011A09642000FB121294 +S3150800D680A18911F4004F08D0D20032320A49A1FB11 +S3150800D6900212C2F342121A4307E012013232064955 +S3150800D6A0A1FB0212C2F343121A4392B2228105B0B9 +S3150800D6B030BD00BF001001401F85EB5129B1838999 +S3150800D6C09BB243F400538381704783899BB223F44A +S3150800D6D000539BB2838170478088C0F30800704767 +S3150800D6E00388194201D0012070470020704700BF07 +S3150800D6F082B00023019300932A4A136843F48033C7 +S3150800D7001360284B1B6803F400330093019B013315 +S3150800D7100193009B1BB9019BB3F5A06FF1D1214B77 +S3150800D7201B6813F4003F02D00123009301E0002395 +S3150800D7300093009B012B32D11A4B1A6C42F080528F +S3150800D7401A6419490A6842F440420A609A689A605B +S3150800D7509A6842F400429A609A6842F4A0529A6023 +S3150800D760124A5A601A6842F080721A600D4B1B689A +S3150800D77013F0007FFAD040F205620D4B1A60A3F54C +S3150800D78080639A6822F003029A609A6842F002025D +S3150800D7909A60044B9B6803F00C03082BF9D102B07E +S3150800D7A0704700BF00380240007000400C54400724 +S3150800D7B0003C024008B50F4AD2F8883043F470039B +S3150800D7C0C2F888300C4B1A6842F001021A60002130 +S3150800D7D099601A6822F0847222F480321A60074A25 +S3150800D7E05A601A6822F480221A60D960FFF780FF0F +S3150800D7F008BD00BF00ED00E00038024010300024EC +S3150800D800FEE700BF10B4013A0A440BE00C784B78E7 +S3150800D81003EB04239BB2184480B2834201D901303A +S3150800D82080B202319142F1D307D10B781B0218441A +S3150800D83080B2834201D9013080B25DF8044B70474B +S3150800D84070B4C5780D44EDB2134CE57083780E0AB2 +S3150800D8503344DBB2A37042786270007820709CB2C1 +S3150800D860A64206D90132D2B20B4C62700AB901300F +S3150800D8702070C9B28D420CDA0133DBB2064A9370C6 +S3150800D8803BB953780133DBB2537013B913780133BC +S3150800D890137070BC704700BF980E002010B5094C75 +S3150800D8A02368014603F10800FFF7CAFF2368064A02 +S3150800D8B0117819725178597291789972D278DA7208 +S3150800D8C010BD00BFA40E0020980E00200022124BA7 +S3150800D8D01A7006E00021114A22F8131001330E4A85 +S3150800D8E013700D4B1B78002BF4D000220A4B1A70CC +S3150800D8F009E0C3EB03114A0009490A44002151769D +S3150800D9000133054A1370044B1B78002BF1D04FF4F2 +S3150800D9108062044B1A80704702010020C80E00205E +S3150800D920A80E00200001002000220A4B1A700BE006 +S3150800D9301946094A32F813201AB9074B23F8110079 +S3150800D94070470133034A1370024B1B78002BEFD044 +S3150800D950704700BF02010020C80E0020030A43EAF0 +S3150800D960002080B2704700BF08B514220549002080 +S3150800D970FFF748FF10B1FFF7F1FF08BD4FF6FF703C +S3150800D98008BD00BFE60E002038B50D4D2C7C6B7C1B +S3150800D99003EB0424143CA4B22044082205F11A011E +S3150800D9A080B2FFF72FFF224605F12201FFF72AFF73 +S3150800D9B010B1FFF7D3FF38BD4FF6FF7038BD00BF73 +S3150800D9C0D80E002008B50620FFF7DEFF08BD00BF09 +S3150800D9D070B5934B1C68934B934A1360934A136034 +S3150800D9E003280FD1637E03F00F03032B40F02F8526 +S3150800D9F0238A002B40F02B8508228D4B1A70FEF7E0 +S3150800DA00EBFCEAE3022879D18A4AD3780133DBB200 +S3150800DA10D37063B993780133DBB293703BB953780B +S3150800DA200133DBB2537013B9137801331370002333 +S3150800DA30814A1380814A1380637E072B01D0052B08 +S3150800DA400AD1A37E0133DBB2A376782B40F0FF849C +S3150800DA500023637600F0FBBC002B00F0F884228AD2 +S3150800DA60002A40D0A27E511EA176002A40F0EF84FB +S3150800DA70E27E082A05D0591EC9B201290ED8052A00 +S3150800DA800CD1002363768022694B1A70FEF7A4FC3A +S3150800DA9014226B4B83F82F2000F05BBC042A03D8B2 +S3150800DAA003219140C9B200E03021A1760132E27625 +S3150800DAB003F00F03013B072B00F2C984DFE813F0DC +S3150800DAC0BE0108000D003803C7043803C70438032D +S3150800DAD000225B4B83F82F20B4E10422544B1A70C2 +S3150800DAE0FEF77AFCAEE303F00F03032B40F0AF8496 +S3150800DAF008224F4B1A70FEF76FFC6EE3504B9B7B68 +S3150800DB00452B40F0A4844E4A157C537C03EB052133 +S3150800DB10494A1288914200F39A848DB2464B1D8079 +S3150800DB20474B1B7D13F03F0F40F09184444B5B7DC0 +S3150800DB30002B40F08C84434B1C880CB95B885BB186 +S3150800DB403F4BDB8B9C4240F082843D4B1A8C3D4B0D +S3150800DB505B889A4240F07B84FFF706FF4FF6FF7317 +S3150800DB60984240F07484364BDB7D062B23D0012B7C +S3150800DB7040F06D84324B93F82230082B40F06784CE +S3150800DB802F4B002283F822209B8C4FF6F672934285 +S3150800DB9003D909332A4A938402E00833284A93842E +S3150800DBA0274B5A8BDA839A8B1A845C83254A5288C8 +S3150800DBB09A8300F048BCFFF705FF4FF6FF739842BB +S3150800DBC040F04584204C17E0617EA1B11C4B9A8C2D +S3150800DBD0A3889A420FD11A4B5A8CE3889A420AD1E3 +S3150800DBE0174B5A8B23889A4205D1154B9A8B638813 +S3150800DBF09A4200F041811E34134B9C42E4D9104BE3 +S3150800DC0093F82F3003F03F03022B2FD10C4B9B8C3C +S3150800DC1099B20E4A138000220D4B1A7022E000BFFB +S3150800DC20A40E00200E0F0020A00E0020940E002047 +S3150800DC309C0E0020FC000020900E00201A150020E3 +S3150800DC40D80E0020D40E0020A80E0020F8000020D0 +S3150800DC5002010020924A32F8132091425BD0013328 +S3150800DC60904A13708F4B1B78002BF3D08E4B93F88A +S3150800DC702F3013F0040F40F0EA838B4B142283F8FD +S3150800DC802F202821894A1180502283F82E2093F8C4 +S3150800DC90290093F82D2083F8292093F8281093F863 +S3150800DCA02C2083F8282083F82C1093F8272093F843 +S3150800DCB02B4083F8274083F82B2093F82640794D8C +S3150800DCC02C7093F82A5083F8265083F82A4001309E +S3150800DCD0C0B283F82D0068B94B1CDBB2724981F8D3 +S3150800DCE02C303BB9531CDBB281F82B3013B9013405 +S3150800DCF081F82A406C4B5A8C6D490A80998C598454 +S3150800DD009A845A8BDA839A8B1A846A4A11885983B9 +S3150800DD1052889A836FE30024624B1C701CE01946F4 +S3150800DD201E22654802FB0302527E1AB91E2404FB12 +S3150800DD30010415E0072A0CD13CB11E225E4902FBFC +S3150800DD400312917EA27E914203D95B4A1E2404FBEC +S3150800DD5003240133534A1370524B1B78002BDED031 +S3150800DD60002C00F07483554B1C600323A37623769E +S3150800DD700023A3750422E275E3764B4DAB8CA38092 +S3150800DD806B8CE3806B8B2380AB8B63800120607682 +S3150800DD904B4B1A7822735A7862739A78A273DB7897 +S3150800DDA0E373208295F82930E37295F82830A37238 +S3150800DDB095F82730637295F826302372FFF76EFDC3 +S3150800DDC095F82E0000F0F003502B37DD0022354B76 +S3150800DDD01A702BE003F13602334DAA5C72B3012A9E +S3150800DDE003D101332F4A137020E0022A16D103F11A +S3150800DDF037022D4DAA5C042A10D101F13803EA5CDA +S3150800DE0039316B5C43EA0222294B1A8040F20A63D5 +S3150800DE10934228BF13466382A3820FE003F13702B9 +S3150800DE2021498A5C52B113441E4A13701D4B1B7854 +S3150800DE3019460209053AB3EB820FCBDB10221A4BBF +S3150800DE4083F82F20184B93F82F2042F0020283F80C +S3150800DE502F20022283F83620042283F83720062250 +S3150800DE6083F838200A2283F839202C210F4A11809A +S3150800DE70602283F82E2073E2104B1C600022114B9F +S3150800DE801A70094B93F82F2012F0040F1CD00023A8 +S3150800DE90637620220B4B1A70FEF79EFAD7E200BF74 +S3150800DEA0C80E002002010020D80E0020900E002087 +S3150800DEB0F8000020D40E0020A80E0020A40E002092 +S3150800DEC0FC0000209C0E00209C4B93F82E301B096A +S3150800DED09B009B480370EB1A143B9BB2994803803E +S3150800DEE001F00F01022903D102F03F0112290FD0D8 +S3150800DEF013B912F0030F0BD0904BD98C2389994292 +S3150800DF0040F023828D4B198D6389994240F01D821A +S3150800DF1012F0100F47D0218A002944D004F10C00D2 +S3150800DF20FFF78EFC854B93F82A30874A1078834290 +S3150800DF3039D1824B93F82B3051788B4233D17F4BB2 +S3150800DF4093F82C30927893422DD17C4B93F82D5030 +S3150800DF507D4BDB789D4226D120736173A273E373F0 +S3150800DF60E37ECBB9237EA27E9B1ADBB2A17DA3EB0F +S3150800DF70D103DBB25AB21944C9B2A175002A01DA33 +S3150800DF805B425AB2E37DA2EB930253FA82F2D3B212 +S3150800DF90E37503EBD103237601226C4B1A70237EBB +S3150800DFA0A37600232382617E01F00F03013B072B32 +S3150800DFB000F24D82DFE813F0080023009600730193 +S3150800DFC0A201BE01C9016501604B1B7813F0010F60 +S3150800DFD000F03D820323637640225C4B1A700023CF +S3150800DFE02382584B188820B14222584B1A70FFF7E3 +S3150800DFF055FC0022564B1A80FEF7EEF9EDE0534B1E +S3150800E0001B7813F0010F63D04C4B93F82F3003F0B5 +S3150800E0103F03122B5CD1494B93F82E0000F0F00316 +S3150800E020502B37DD0022464B1A702BE003F13602DF +S3150800E030424DAA5C72B3012A03D10133404A1370D8 +S3150800E04020E0022A16D103F137023C4DAA5C042AC5 +S3150800E05010D101F13803EA5C39316B5C43EA0222DC +S3150800E0603C4B1A8040F20A63934228BF13466382E8 +S3150800E070A3820FE003F1370230498A5C52B1134498 +S3150800E0802F4A13702E4B1B7819460209053AB3EB33 +S3150800E090820FCBDB03236376284B93F82620227264 +S3150800E0A093F82720627293F82820A27293F82930F1 +S3150800E0B0E3720120FFF7F2FB4222244B1A70002379 +S3150800E0C02382204A1380224A1380FEF785F984E0CA +S3150800E0D020221E4B1A70FEF77FF91F4B1B68002281 +S3150800E0E05A76C3E5154B93F82F3013F0010F35D048 +S3150800E0F011F0100F32D1238A002B40F0A881114D60 +S3150800E1002888013080B2FFF7C9FB104A137843F01C +S3150800E110100313702A881AB143F002030B4A1370CE +S3150800E120FEF75AF901232382082363760023E37650 +S3150800E1301122024B83F82F200BE100BFD80E0020D6 +S3150800E14002010020900E0020980E00209C0E002050 +S3150800E1501A150020F8000020A40E002013F0200F46 +S3150800E16010D0994890F834301A0290F8353043EABE +S3150800E1700200964D2E68304428609548134302885D +S3150800E180D31A0380924B188848B111F0100F06D1A4 +S3150800E190904A137843F002031370FFF77FFB8A4A0D +S3150800E1A092F8301092F8313003EB01239BB28A4A79 +S3150800E1B01380A28A934200D80BB9874B1A80864BE4 +S3150800E1C01B886382834B1B7813F0030F00F03F8193 +S3150800E1D00022824B1A80FEF7FFF87E4B1B7813F05D +S3150800E1E0200F08D000237D4A138063761422764BCD +S3150800E1F083F82F20ADE013F0100F0CD00023774AD8 +S3150800E20013800122228204226276E37611226E4B63 +S3150800E21083F82F209DE0714A12888AB113F0010F06 +S3150800E22001D000232382238A43B9638A9A4201D9FB +S3150800E2306A4A1380694B1B88238201E0674A138068 +S3150800E2400023E376664B1A68604B1A60634B1B889B +S3150800E2504BB1238A3BB128335D4A138018225A4BA7 +S3150800E26083F82F2078E05B4B1B7813F0020F00F041 +S3150800E270EE802822564B1A801022534B83F82F2003 +S3150800E2806AE0544B1B7813F0010F00F0E08000237E +S3150800E290637610224F4B1A70FEF79EF8D7E04C4B68 +S3150800E2A0188808B1FFF7FAFA474B93F82F3013F09E +S3150800E2B0010F15D0474B1B7813F0010F05D0072324 +S3150800E2C063760023A376238201E006236376012082 +S3150800E2D0FFF7E4FA10223F4B1A70FEF77DF834E098 +S3150800E2E03C4B1B7813F0010F04D0052363760023FB +S3150800E2F02382ACE0364B1B883BBBA8E0344B18881E +S3150800E30008B1FFF7CBFA304B93F82F3013F0010F13 +S3150800E3100CD0072363760023A3760120FFF7BEFA05 +S3150800E32010222C4B1A70FEF757F80EE0284B1B8864 +S3150800E3305BB98CE0274B1B7813F0010F00F0878040 +S3150800E340072363760023A37681E010221E4B83F809 +S3150800E3502F2028221E4B1A8050221B4B83F82E2072 +S3150800E360227A194B83F82A20627A83F82B20A27A1C +S3150800E37083F82C20E27A83F82D20227B83F8262046 +S3150800E380627B83F82720A27B83F82820E27B83F828 +S3150800E39029200622DA75A2885A84E2889A84114AC4 +S3150800E3A01188598352889A832288DA8362881A8464 +S3150800E3B0637E13F0100F17D0034B002283F8312029 +S3150800E3C083F8302017E000BFD80E0020A00E0020EA +S3150800E3D0900E00209C0E0020F80000201A15002040 +S3150800E3E0940E0020D40E00201C4B062283F8302001 +S3150800E3F00A2283F83120194C4023A375184B1B8831 +S3150800E4001A0A22746374002584F8355084F8345047 +S3150800E41084F8325084F83350FFF7D4FAC043608644 +S3150800E4204523A373E573657525750E4A138801336D +S3150800E4309BB213801A0AA274E37425766576FFF7F1 +S3150800E44093FAC04320830022074B1A7070BD00233D +S3150800E450034A1380044A137070BD00BFD80E00200B +S3150800E460900E0020FA0000209C0E0020F0B4002236 +S3150800E4703A4B1A701EE03A4D5A001A4494002E1967 +S3150800E4802C5BA4B103EB4305AA00354D2A445288F8 +S3150800E4906AB10588AC420AD14488A24207D10C6801 +S3150800E4A07460898831812F4A1278B27254E0013338 +S3150800E4B02A4A1370294B1B78072BDCD90022274BD5 +S3150800E4C01A700FE0264D5A001A4494002E192A5B3A +S3150800E4D02AB903EB4304A2002A44528832B1013315 +S3150800E4E01E4A13701D4B1B78072BEBD9082B28D116 +S3150800E4F000231D4A13701D4A1370184A137013E03F +S3150800E500184A147803EB4305AA00154D2A44927A53 +S3150800E510A61A154D2D78AE4203DD134A1670134A16 +S3150800E520137001330D4A13700C4B1B78072BE7D970 +S3150800E5300E4B1B78094A137003EB43039A00084EE7 +S3150800E54016440268334643F8042B0A6872608A88C0 +S3150800E5509A80044B1B78B372F0BC70470A010020FE +S3150800E5600C0100206D0100200B0100206C01002029 +S3150800E57010B4154B1C780134E4B21C700022134BFE +S3150800E5801A7019E012485A001A4491004218415A62 +S3150800E59052880A430DD003EB43018A000244927A5B +S3150800E5A0A21A772A05DD03EB43018A0000200849F1 +S3150800E5B088500133054A1370044B1B78072BE1D9A1 +S3150800E5C05DF8044B704700BF6D0100200A0100206A +S3150800E5D00C01002010B5324B1B88292B03D80022CA +S3150800E5E02F4B1A8010BD00222D4B1A802D4B9B8A6B +S3150800E5F0B3F5807F03D0B3F5007F3FD010BD294B1C +S3150800E600DA8C294B1B889A4249D1264B1A8D264B00 +S3150800E6105B889A4243D1254C2146A01DFFF726FF69 +S3150800E620002204F8022C022204F8012C2168C4F8FE +S3150800E6300A10A188E1811E49086820608988A1809E +S3150800E64044F8100C24F80C1CD4F80A1044F8161CCC +S3150800E650E28924F8122CE288228222896282124AEE +S3150800E6601188E18052882281082204F80A2C0622A1 +S3150800E67004F8092C2A220A4B1A8010BD094BDA8C99 +S3150800E680094B1B889A420AD1064B1A8D064B5B88A2 +S3150800E6909A4204D1054801460630FFF7E7FE10BD49 +S3150800E6A0900E0020D80E0020D40E0020EE0E00207A +S3150800E6B00401002030B44C4BD98B8AB24FF6FF7355 +S3150800E6C09A420CD1484B188C4FF6FF73984206D1E4 +S3150800E6D0454B464A1068186092889A8072E0444B07 +S3150800E6E01B88444800885340184209D13E4B1A8C6F +S3150800E6F094B23F4B5B883F4840886340184206D037 +S3150800E7003D4B3E4A1188198052885A8002E03A4B9E +S3150800E71019805A8000223A4B1A7016E039485A0076 +S3150800E7201A4491004518344A1488425A944209D129 +S3150800E730314A508803EB43018A0032490A44528819 +S3150800E740904206D001332E4A13702D4B1B78072BA7 +S3150800E750E4D9082B30D1244B4FF0FF321A609A8047 +S3150800E76000221A629A8428490868C3F8060089882C +S3150800E7705981C3F8160059831F490888D8844988DF +S3150800E78019851B49088898834988D9831A750121F0 +S3150800E79059759A73D973082119745A7406229A748A +S3150800E7A00422DA74197306225A733633174A136029 +S3150800E7B02A22174B1A8014E00B4B55F8042F1A60BF +S3150800E7C0AA889A80084B104A1168C3F806109288DE +S3150800E7D05A8108221A7300225A730D4A13880E3377 +S3150800E7E0138030BC704700BFD80E0020ECE8000844 +S3150800E7F0D40E0020D00E002070010020CC0E002080 +S3150800E8000A0100200C01002004010020A00E0020AF +S3150800E810900E002008B5074B044613B10021AFF34C +S3150800E8200080054B1868836A03B198472046FEF7AF +S3150800E830E7FF00BF00000000F4E8000870B50E4BC3 +S3150800E8400E4CE41AA41000251E46A54204D056F81C +S3150800E850253098470135F8E700F02AF8084C094BA7 +S3150800E860E41AA41000251E46A54204D056F8253001 +S3150800E87098470135F8E770BD740000207400002041 +S3150800E880780000207400002010B5431E0A44914207 +S3150800E89004D011F8014B03F8014FF8E710BD024404 +S3150800E8A00346934202D003F8011BFAE770470000BB +S3150800E8B0F8B500BFF8BC08BC9E467047F8B500BF5F +S3150800E8C0F8BC08BC9E467047050206020603070305 +S3150800E8D00803090309040A040B040C040C050D05B6 +S3150800E8E00E050F050F06100610071008FFFFFFFF9D +S3110800E8F0FFFF00001400002000000000DC +S30D0800E8FCECD8FF7F01000000C3 +S3150800E90400000000010203040102030406070809C3 +S3150800E914007A030A0000000000000000000000005E +S3150800E92400000000000000000000000000000000D5 +S3150800E93400000000000000000000000000000000C5 +S3150800E94400000000000000000000000000000000B5 +S3150800E95400000000000000000000000000000000A5 +S3150800E9640000000000000000000000000000000095 +S3110800E97400000000B1C100088DC10008B9 S7050800C00032 diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cfg/stm32f407zg_flash.ld b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cfg/stm32f407zg_flash.ld new file mode 100755 index 00000000..f180879d --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cfg/stm32f407zg_flash.ld @@ -0,0 +1,181 @@ +/* ---------------------------------------------------------------------------- */ +/* Em::Blocks embedded development Support */ +/* ---------------------------------------------------------------------------- */ +/* Copyright (c) 2014, EmBlocks */ +/* */ +/* All rights reserved. */ +/* */ +/* Redistribution and use in source and binary forms, with or without */ +/* modification, are permitted provided that the following condition is met: */ +/* */ +/* - Redistributions of source code must retain the above copyright notice, */ +/* this list of conditions and the disclaimer below. */ +/* */ +/* EmBlocks's name may not be used to endorse or promote products derived from */ +/* this software without specific prior written permission. */ +/* */ +/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY EBLOCKS "AS IS" AND ANY EXPRESS OR */ +/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */ +/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */ +/* DISCLAIMED. IN NO EVENT SHALL EMBLOCKS BE LIABLE FOR ANY DIRECT, INDIRECT, */ +/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ +/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */ +/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */ +/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* ---------------------------------------------------------------------------- */ + +/*------------------------------------------------------------------------------ + * Linker script for running in internal FLASH on the STM32F407ZG + *----------------------------------------------------------------------------*/ + +OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") +OUTPUT_ARCH(arm) +SEARCH_DIR(.) + +/* Memory Spaces Definitions */ +MEMORY +{ + ROM (rx) : ORIGIN = 0x0800C000, LENGTH = 1024K-48K + RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K + CCRAM (rwx) : ORIGIN = 0x10000000, LENGTH = 64K +} + +/* Linker script to place sections and symbol values. Should be used together + * with other linker script that defines memory regions FLASH and RAM. + * It references following symbols, which must be defined in code: + * Reset_Handler : Entry of reset handler + * + * It defines following symbols, which code can use without definition: + * __exidx_start + * __exidx_end + * __etext + * __data_start__ + * __preinit_array_start + * __preinit_array_end + * __init_array_start + * __init_array_end + * __fini_array_start + * __fini_array_end + * __data_end__ + * __bss_start__ + * __bss_end__ + * __end__ + * end + * __HeapLimit + * __StackLimit + * __StackTop + * __stack + */ + + +SECTIONS +{ + .text : + { + KEEP(*(.isr_vector)) + *(.text*) + + KEEP(*(.init)) + KEEP(*(.fini)) + + /* .ctors */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + + /* .dtors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + *(.rodata*) + + KEEP(*(.eh_frame*)) + } > ROM + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > ROM + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > ROM + __exidx_end = .; + + __etext = .; + + .data : AT (__etext) + { + __data_start__ = .; + *(vtable) + *(.data*) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP(*(SORT(.fini_array.*))) + KEEP(*(.fini_array)) + PROVIDE_HIDDEN (__fini_array_end = .); + + . = ALIGN(4); + /* All data end */ + __data_end__ = .; + + } > RAM + + .bss (NOLOAD): + { + __bss_start__ = .; + *(.bss*) + *(COMMON) + __bss_end__ = .; + } > RAM + + .heap (NOLOAD): + { + __end__ = .; + end = __end__; + *(.heap*) + __HeapLimit = .; + } > RAM + + /* .stack_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later */ + .stack_dummy (NOLOAD): + { + *(.stack) + } > RAM + + /* Set stack top to end of RAM, and stack limit move down by + * size of stack_dummy section */ + __StackTop = ORIGIN(RAM) + LENGTH(RAM); + __StackLimit = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack") +} diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/build.bat b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/build.bat deleted file mode 100644 index 6cdb041e..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/build.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -cs-make --directory=../ all diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/clean.bat b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/clean.bat deleted file mode 100644 index 025aaea0..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cmd/clean.bat +++ /dev/null @@ -1,2 +0,0 @@ -@echo off -cs-make --directory=../ clean diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cstart.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cstart.c deleted file mode 100644 index 22e02965..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/cstart.c +++ /dev/null @@ -1,89 +0,0 @@ -/************************************************************************************//** -* \file Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\Prog\cstart.c -* \brief Demo program C startup source file. -* \ingroup Prog_ARMCM4_STM32F4_Olimex_STM32E407_GCC -* \internal -*---------------------------------------------------------------------------------------- -* C O P Y R I G H T -*---------------------------------------------------------------------------------------- -* Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved -* -*---------------------------------------------------------------------------------------- -* L I C E N S E -*---------------------------------------------------------------------------------------- -* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or -* modify it under the terms of the GNU General Public License as published by the Free -* Software Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -* PURPOSE. See the GNU General Public License for more details. -* -* You have received a copy of the GNU General Public License along with OpenBLT. It -* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. -* -* \endinternal -****************************************************************************************/ - -/**************************************************************************************** -* Include files -****************************************************************************************/ -#include "header.h" /* generic header */ - - -/**************************************************************************************** -* External function protoypes -****************************************************************************************/ -extern int main(void); - - -/**************************************************************************************** -* External data declarations -****************************************************************************************/ -/* these externals are declared by the linker */ -extern unsigned long _etext; -extern unsigned long _data; -extern unsigned long _edata; -extern unsigned long _bss; -extern unsigned long _ebss; -extern unsigned long _estack; - - -/************************************************************************************//** -** \brief Reset interrupt service routine. Configures the stack, initializes -** RAM and jumps to function main. -** \return none. -** -****************************************************************************************/ -void reset_handler(void) -{ - unsigned long *pSrc, *pDest; - - /* initialize stack pointer */ - __asm(" ldr r1, =_estack\n" - " mov sp, r1"); - /* copy the data segment initializers from flash to SRAM */ - pSrc = &_etext; - for(pDest = &_data; pDest < &_edata; ) - { - *pDest++ = *pSrc++; - } - /* zero fill the bss segment. this is done with inline assembly since this will - * clear the value of pDest if it is not kept in a register. - */ - __asm(" ldr r0, =_bss\n" - " ldr r1, =_ebss\n" - " mov r2, #0\n" - " .thumb_func\n" - "zero_loop:\n" - " cmp r0, r1\n" - " it lt\n" - " strlt r2, [r0], #4\n" - " blt zero_loop"); - /* start the software application by calling its entry point */ - main(); -} /*** end of reset_handler ***/ - - -/************************************ end of cstart.c **********************************/ \ No newline at end of file diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.project b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.project deleted file mode 100644 index d945ce23..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.project +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - break main -continue - - - - - - - make clean - make - - - - None - $(WorkspacePath)/.. - - - - - - - - - - - - - - - - - - - - - - - make clean - make - - - - None - $(WorkspacePath) - - - - - - - - diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.workspace b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.workspace deleted file mode 100644 index 4060139b..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/DemoProg.workspace +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/readme.txt b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/readme.txt deleted file mode 100644 index 8a340a19..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/ide/readme.txt +++ /dev/null @@ -1,4 +0,0 @@ -Integrated Development Environment ----------------------------------- -Codelite was used as the editor during the development of this software program. This directory contains the Codelite -workspace and project files. Codelite is a cross platform open source C/C++ IDE, available at http://www.codelite.org/. \ No newline at end of file diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/lib/newlib/_exit.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/lib/newlib/_exit.c new file mode 100644 index 00000000..4ae9532c --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/lib/newlib/_exit.c @@ -0,0 +1,38 @@ +// ---------------------------------------------------------------------------- + +#include + +// ---------------------------------------------------------------------------- + +// Forward declaration + +void +_exit(int code); + +// ---------------------------------------------------------------------------- + +// We just enter an infinite loop, to be used as landmark when halting +// the debugger. +// +// It can be redefined in the application, if more functionality +// is required. + +void +__attribute__((weak)) +_exit(int code __attribute__((unused))) +{ + // TODO: write on trace + while (1) + ; +} + +// ---------------------------------------------------------------------------- + +void +__attribute__((weak,noreturn)) +abort(void) +{ + _exit(1); +} + +// ---------------------------------------------------------------------------- diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/makefile b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/makefile index 199ac8a1..2970739e 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/makefile +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/makefile @@ -1,11 +1,11 @@ #**************************************************************************************** -#| Description: Makefile for STM32 using CodeSourcery GNU GCC compiler toolset +#| Description: Makefile for GNU ARM Embedded toolchain. #| File Name: makefile #| #|--------------------------------------------------------------------------------------- #| C O P Y R I G H T #|--------------------------------------------------------------------------------------- -#| Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved +#| Copyright (c) 2017 by Feaser http://www.feaser.com All rights reserved #| #|--------------------------------------------------------------------------------------- #| L I C E N S E @@ -25,187 +25,123 @@ #**************************************************************************************** SHELL = sh -#|---------------------------------------------------------------------------------------| -#| Configure project name | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Configure project name | +#|--------------------------------------------------------------------------------------| PROJ_NAME=demoprog_olimex_stm32e407 -#|---------------------------------------------------------------------------------------| -#| Speficy project source files | -#|---------------------------------------------------------------------------------------| -PROJ_FILES= \ -boot.c \ -boot.h \ -cstart.c \ -header.h \ -led.c \ -led.h \ -net.c \ -net.h \ -main.c \ -timer.c \ -timer.h \ -vectors.c \ -./lib/ethernetlib/inc/stm32_eth.h \ -./lib/ethernetlib/src/stm32_eth.c \ -./lib/uip/clock-arch.c \ -./lib/uip/clock-arch.h \ -./lib/uip/netdev.c \ -./lib/uip/netdev.h \ -./lib/uip/uip-conf.h \ -./lib/stdperiphlib/stm32f4xx_conf.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/misc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_adc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_can.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_crc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_cryp.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dac.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dbgmcu.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dcmi.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_dma.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_exti.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_flash.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_fsmc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_gpio.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_hash.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_i2c.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_iwdg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_pwr.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rcc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rng.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_rtc.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_sdio.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_spi.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_syscfg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_tim.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_usart.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/inc/stm32f4xx_wwdg.h \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/misc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_adc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_can.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_crc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_aes.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_des.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_cryp_tdes.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dac.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dbgmcu.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dcmi.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_dma.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_exti.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_flash.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_fsmc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_gpio.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_md5.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_hash_sha1.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_i2c.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_iwdg.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_pwr.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rcc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rng.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_rtc.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_sdio.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_spi.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_syscfg.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_tim.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_usart.c \ -./lib/stdperiphlib/STM32F4xx_StdPeriph_Driver/src/stm32f4xx_wwdg.c \ -./lib/stdperiphlib/CMSIS/Include/core_cm4.h \ -./lib/stdperiphlib/CMSIS/Include/core_cm4_simd.h \ -./lib/stdperiphlib/CMSIS/Include/core_cmFunc.h \ -./lib/stdperiphlib/CMSIS/Include/core_cmInstr.h \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Source/system_stm32f4xx.c \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h \ -./lib/stdperiphlib/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h \ -../../../Source/third_party/uip/uip/clock.h \ -../../../Source/third_party/uip/uip/lc-addrlabels.h \ -../../../Source/third_party/uip/uip/lc-switch.h \ -../../../Source/third_party/uip/uip/lc.h \ -../../../Source/third_party/uip/uip/pt.h \ -../../../Source/third_party/uip/uip/uip-fw.c \ -../../../Source/third_party/uip/uip/uip-fw.h \ -../../../Source/third_party/uip/uip/uip-neighbor.h \ -../../../Source/third_party/uip/uip/uip-split.h \ -../../../Source/third_party/uip/uip/uip.c \ -../../../Source/third_party/uip/uip/uip.h \ -../../../Source/third_party/uip/uip/uiplib.c \ -../../../Source/third_party/uip/uip/uiplib.h \ -../../../Source/third_party/uip/uip/uipopt.h \ -../../../Source/third_party/uip/uip/uip_arch.h \ -../../../Source/third_party/uip/uip/uip_arp.c \ -../../../Source/third_party/uip/uip/uip_arp.h \ -../../../Source/third_party/uip/uip/uip_timer.c \ -../../../Source/third_party/uip/uip/uip_timer.h +#|--------------------------------------------------------------------------------------| +#| Configure tool path | +#|--------------------------------------------------------------------------------------| +TOOL_PATH=/opt/gcc-arm-none-eabi-5_4-2016q3/bin/ +#|--------------------------------------------------------------------------------------| +#| Collect project files | +#|--------------------------------------------------------------------------------------| +# Recursive wildcard function implementation. Example usages: +# $(call rwildcard, , *.c *.h) +# --> Returns all *.c and *.h files in the current directory and below +# $(call rwildcard, /lib/, *.c) +# --> Returns all *.c files in the /lib directory and below +rwildcard = $(strip $(foreach d,$(wildcard $1*),$(call rwildcard,$d/,$2) $(filter $(subst *,%,$2),$d))) -#|---------------------------------------------------------------------------------------| -#| Compiler binaries | -#|---------------------------------------------------------------------------------------| -CC = arm-none-eabi-gcc -LN = arm-none-eabi-gcc -OC = arm-none-eabi-objcopy -OD = arm-none-eabi-objdump -AS = arm-none-eabi-as -SZ = arm-none-eabi-size +# Collect all application files in the current directory and its subdirectories +PROJ_FILES = $(call rwildcard, , *.c *.h *.S) +# Collect UIP third party library files +PROJ_FILES += ../../../Source/third_party/uip/uip/clock.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-addrlabels.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc-switch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/lc.h +PROJ_FILES += ../../../Source/third_party/uip/uip/pt.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-fw.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-neighbor.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip-split.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arch.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_arp.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uip_timer.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.c +PROJ_FILES += ../../../Source/third_party/uip/uip/uiplib.h +PROJ_FILES += ../../../Source/third_party/uip/uip/uipopt.h -#|---------------------------------------------------------------------------------------| -#| Extract file names | -#|---------------------------------------------------------------------------------------| -PROJ_ASRCS = $(filter %.s,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) +#|--------------------------------------------------------------------------------------| +#| Toolchain binaries | +#|--------------------------------------------------------------------------------------| +RM = rm +CC = $(TOOL_PATH)arm-none-eabi-gcc +LN = $(TOOL_PATH)arm-none-eabi-gcc +OC = $(TOOL_PATH)arm-none-eabi-objcopy +OD = $(TOOL_PATH)arm-none-eabi-objdump +AS = $(TOOL_PATH)arm-none-eabi-gcc +SZ = $(TOOL_PATH)arm-none-eabi-size + + +#|--------------------------------------------------------------------------------------| +#| Filter project files +#|--------------------------------------------------------------------------------------| +PROJ_ASRCS = $(filter %.S,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CSRCS = $(filter %.c,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) PROJ_CHDRS = $(filter %.h,$(foreach file,$(PROJ_FILES),$(notdir $(file)))) -PROJ_CCMPL = $(patsubst %.c,%.cpl,$(PROJ_CSRCS)) -PROJ_ACMPL = $(patsubst %.s,%.cpl,$(PROJ_ASRCS)) -#|---------------------------------------------------------------------------------------| -#| Set important path variables | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Set important path variables | +#|--------------------------------------------------------------------------------------| VPATH = $(foreach path,$(sort $(foreach file,$(PROJ_FILES),$(dir $(file)))) $(subst \,/,$(OBJ_PATH)),$(path) :) OBJ_PATH = obj BIN_PATH = bin -INC_PATH = $(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file))))) -INC_PATH += -I. -LIB_PATH = +INC_PATH = $(patsubst %/,%,$(patsubst %,-I%,$(sort $(foreach file,$(filter %.h,$(PROJ_FILES)),$(dir $(file)))))) +LIB_PATH = -Lcfg -#|---------------------------------------------------------------------------------------| -#| Options for compiler binaries | -#|---------------------------------------------------------------------------------------| -CFLAGS = -g -mthumb -mcpu=cortex-m4 -mlong-calls -O1 -T memory.x -CFLAGS += -D PACK_STRUCT_END=__attribute\(\(packed\)\) -D sprintf=usprintf -Wno-main -CFLAGS += -D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) -D snprintf=usnprintf -CFLAGS += -D printf=uipprintf -ffunction-sections -fdata-sections $(INC_PATH) -CFLAGS += -D USE_STDPERIPH_DRIVER -D HSE_VALUE=12000000 -D STM32F4XX -D GCC_ARMCM3 -CFLAGS += -Wno-attributes -LFLAGS = -nostartfiles -Xlinker -M -Xlinker -Map=$(BIN_PATH)/$(PROJ_NAME).map -LFLAGS += $(LIB_PATH) -Xlinker --gc-sections -OFLAGS = -O srec -ODFLAGS = -x -SZFLAGS = -B -d +#|--------------------------------------------------------------------------------------| +#| Options for toolchain binaries | +#|--------------------------------------------------------------------------------------| +HEAP_SIZE = 0x0000 +STACK_SIZE = 0x0800 +STDFLAGS = -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fno-strict-aliasing +STDFLAGS += -fdata-sections -ffunction-sections -Wall -g3 -Wno-maybe-uninitialized -Wno-main +OPTFLAGS = -Og +CFLAGS = $(STDFLAGS) $(OPTFLAGS) +CFLAGS += -DSTM32F407ZG -DSTM32F4XX -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=12000000 +CFLAGS += -DARM_MATH_CM4 -D__FPU_USED +CFLAGS += -D__HEAP_SIZE=$(HEAP_SIZE) -D__STACK_SIZE=$(STACK_SIZE) +CFLAGS += $(INC_PATH) +AFLAGS = $(CFLAGS) +LFLAGS = $(STDFLAGS) $(OPTFLAGS) +LFLAGS += -Wl,--defsym=__HEAP_SIZE=$(HEAP_SIZE) -Wl,--defsym=__STACK_SIZE=$(STACK_SIZE) +LFLAGS += -Wl,-script="stm32f407zg_flash.ld" -Wl,-Map=$(BIN_PATH)/$(PROJ_NAME).map +LFLAGS += -specs=nano.specs -Wl,--gc-sections $(LIB_PATH) +OFLAGS = -O srec +ODFLAGS = -x +SZFLAGS = -B -d +RMFLAGS = -f -#|---------------------------------------------------------------------------------------| -#| Specify library files | -#|---------------------------------------------------------------------------------------| +#|--------------------------------------------------------------------------------------| +#| Specify library files | +#|--------------------------------------------------------------------------------------| LIBS = -#|---------------------------------------------------------------------------------------| -#| Define targets | -#|---------------------------------------------------------------------------------------| -AOBJS = $(patsubst %.s,%.o,$(PROJ_ASRCS)) +#|--------------------------------------------------------------------------------------| +#| Define targets | +#|--------------------------------------------------------------------------------------| +AOBJS = $(patsubst %.S,%.o,$(PROJ_ASRCS)) COBJS = $(patsubst %.c,%.o,$(PROJ_CSRCS)) -#|---------------------------------------------------------------------------------------| -#| Make ALL | -#|---------------------------------------------------------------------------------------| -all : $(BIN_PATH)/$(PROJ_NAME).srec +#|--------------------------------------------------------------------------------------| +#| Make ALL | +#|--------------------------------------------------------------------------------------| +.PHONY: all +all: $(BIN_PATH)/$(PROJ_NAME).srec $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf @@ -217,31 +153,32 @@ $(BIN_PATH)/$(PROJ_NAME).srec : $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).elf : $(AOBJS) $(COBJS) @echo +++ Linking [$(notdir $@)] - @$(LN) $(CFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) $(LFLAGS) + @$(LN) $(LFLAGS) -o $@ $(patsubst %.o,$(OBJ_PATH)/%.o,$(^F)) $(LIBS) -#|---------------------------------------------------------------------------------------| -#| Compile and assemble | -#|---------------------------------------------------------------------------------------| -$(AOBJS): %.o: %.s $(PROJ_CHDRS) +#|--------------------------------------------------------------------------------------| +#| Compile and assemble | +#|--------------------------------------------------------------------------------------| +$(AOBJS): %.o: %.S $(PROJ_CHDRS) @echo +++ Assembling [$(notdir $<)] - @$(AS) $(AFLAGS) $< -o $(OBJ_PATH)/$(@F) + @$(AS) $(AFLAGS) -c $< -o $(OBJ_PATH)/$(@F) $(COBJS): %.o: %.c $(PROJ_CHDRS) @echo +++ Compiling [$(notdir $<)] @$(CC) $(CFLAGS) -c $< -o $(OBJ_PATH)/$(@F) -#|---------------------------------------------------------------------------------------| -#| Make CLEAN | -#|---------------------------------------------------------------------------------------| -clean : +#|--------------------------------------------------------------------------------------| +#| Make CLEAN | +#|--------------------------------------------------------------------------------------| +.PHONY: clean +clean: @echo +++ Cleaning build environment - @cs-rm -f $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) - @cs-rm -f $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map - @cs-rm -f $(BIN_PATH)/$(PROJ_NAME).srec + @$(RM) $(RMFLAGS) $(foreach file,$(AOBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(foreach file,$(COBJS),$(OBJ_PATH)/$(file)) + @$(RM) $(RMFLAGS) $(patsubst %.o,%.lst,$(foreach file,$(COBJS),$(OBJ_PATH)/$(file))) + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).elf $(BIN_PATH)/$(PROJ_NAME).map + @$(RM) $(RMFLAGS) $(BIN_PATH)/$(PROJ_NAME).srec @echo +++ Clean complete - \ No newline at end of file + diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/memory.x b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/memory.x deleted file mode 100644 index 69f68128..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/memory.x +++ /dev/null @@ -1,37 +0,0 @@ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x0800C000, LENGTH = 1024K-48K - SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 128K -} - -SECTIONS -{ - __STACKSIZE__ = 2048; - - .text : - { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) - _etext = .; - } > FLASH - - .data : AT (ADDR(.text) + SIZEOF(.text)) - { - _data = .; - *(vtable) - *(.data*) - _edata = .; - } > SRAM - - .bss : - { - _bss = .; - *(.bss*) - *(COMMON) - _ebss = .; - _stack = .; - . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); - _estack = .; - } > SRAM -} diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/startup_stm32f4xx.S b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/startup_stm32f4xx.S new file mode 100755 index 00000000..782a35cc --- /dev/null +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/startup_stm32f4xx.S @@ -0,0 +1,364 @@ +/* File: startup_ARMCM4.S + * Purpose: startup file for Cortex-M4 devices. Should use with + * GCC for ARM Embedded Processors + * Version: V1.3 + * Date: 08 Feb 2012 + * + * Copyright (c) 2012, ARM Limited + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the ARM Limited nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ARM LIMITED BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + .syntax unified + .arch armv7-m + + .section .stack + .align 3 +#ifdef __STACK_SIZE + .equ Stack_Size, __STACK_SIZE +#else + .equ Stack_Size, 0x400 +#endif + .globl __StackTop + .globl __StackLimit +__StackLimit: + .space Stack_Size + .size __StackLimit, . - __StackLimit +__StackTop: + .size __StackTop, . - __StackTop + + .section .heap + .align 3 +#ifdef __HEAP_SIZE + .equ Heap_Size, __HEAP_SIZE +#else + .equ Heap_Size, 0xC00 +#endif + .globl __HeapBase + .globl __HeapLimit +__HeapBase: + .if Heap_Size + .space Heap_Size + .endif + .size __HeapBase, . - __HeapBase +__HeapLimit: + .size __HeapLimit, . - __HeapLimit + + .section .isr_vector + .align 2 + .globl __isr_vector +__isr_vector: + .long __StackTop /* Top of Stack */ + .long Reset_Handler /* Reset Handler */ + .long NMI_Handler /* NMI Handler */ + .long HardFault_Handler /* Hard Fault Handler */ + .long MemManage_Handler /* MPU Fault Handler */ + .long BusFault_Handler /* Bus Fault Handler */ + .long UsageFault_Handler /* Usage Fault Handler */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long 0 /* Reserved */ + .long SVC_Handler /* SVCall Handler */ + .long DebugMon_Handler /* Debug Monitor Handler */ + .long 0 /* Reserved */ + .long PendSV_Handler /* PendSV Handler */ + .long SysTick_Handler /* SysTick Handler */ + + // External Interrupts + .long WWDG_IRQHandler // Window WatchDog + .long PVD_IRQHandler // PVD through EXTI Line detection + .long TAMP_STAMP_IRQHandler // Tamper and TimeStamps through the EXTI line + .long RTC_WKUP_IRQHandler // RTC Wakeup through the EXTI line + .long FLASH_IRQHandler // FLASH + .long RCC_IRQHandler // RCC + .long EXTI0_IRQHandler // EXTI Line0 + .long EXTI1_IRQHandler // EXTI Line1 + .long EXTI2_IRQHandler // EXTI Line2 + .long EXTI3_IRQHandler // EXTI Line3 + .long EXTI4_IRQHandler // EXTI Line4 + .long DMA1_Stream0_IRQHandler // DMA1 Stream 0 + .long DMA1_Stream1_IRQHandler // DMA1 Stream 1 + .long DMA1_Stream2_IRQHandler // DMA1 Stream 2 + .long DMA1_Stream3_IRQHandler // DMA1 Stream 3 + .long DMA1_Stream4_IRQHandler // DMA1 Stream 4 + .long DMA1_Stream5_IRQHandler // DMA1 Stream 5 + .long DMA1_Stream6_IRQHandler // DMA1 Stream 6 + .long ADC_IRQHandler // ADC1, ADC2 and ADC3s + .long CAN1_TX_IRQHandler // CAN1 TX + .long CAN1_RX0_IRQHandler // CAN1 RX0 + .long CAN1_RX1_IRQHandler // CAN1 RX1 + .long CAN1_SCE_IRQHandler // CAN1 SCE + .long EXTI9_5_IRQHandler // External Line[9:5]s + .long TIM1_BRK_TIM9_IRQHandler // TIM1 Break and TIM9 + .long TIM1_UP_TIM10_IRQHandler // TIM1 Update and TIM10 + .long TIM1_TRG_COM_TIM11_IRQHandler // TIM1 Trigger and Commutation and TIM11 + .long TIM1_CC_IRQHandler // TIM1 Capture Compare + .long TIM2_IRQHandler // TIM2 + .long TIM3_IRQHandler // TIM3 + .long TIM4_IRQHandler // TIM4 + .long I2C1_EV_IRQHandler // I2C1 Event + .long I2C1_ER_IRQHandler // I2C1 Error + .long I2C2_EV_IRQHandler // I2C2 Event + .long I2C2_ER_IRQHandler // I2C2 Error + .long SPI1_IRQHandler // SPI1 + .long SPI2_IRQHandler // SPI2 + .long USART1_IRQHandler // USART1 + .long USART2_IRQHandler // USART2 + .long USART3_IRQHandler // USART3 + .long EXTI15_10_IRQHandler // External Line[15:10]s + .long RTC_Alarm_IRQHandler // RTC Alarm (A and B) through EXTI Line + .long OTG_FS_WKUP_IRQHandler // USB OTG FS Wakeup through EXTI line + .long TIM8_BRK_TIM12_IRQHandler // TIM8 Break and TIM12 + .long TIM8_UP_TIM13_IRQHandler // TIM8 Update and TIM13 + .long TIM8_TRG_COM_TIM14_IRQHandler // TIM8 Trigger and Commutation and TIM14 + .long TIM8_CC_IRQHandler // TIM8 Capture Compare + .long DMA1_Stream7_IRQHandler // DMA1 Stream7 + .long FSMC_IRQHandler // FSMC + .long SDIO_IRQHandler // SDIO + .long TIM5_IRQHandler // TIM5 + .long SPI3_IRQHandler // SPI3 + .long UART4_IRQHandler // UART4 + .long UART5_IRQHandler // UART5 + .long TIM6_DAC_IRQHandler // TIM6 and DAC1&2 underrun errors + .long TIM7_IRQHandler // TIM7 + .long DMA2_Stream0_IRQHandler // DMA2 Stream 0 + .long DMA2_Stream1_IRQHandler // DMA2 Stream 1 + .long DMA2_Stream2_IRQHandler // DMA2 Stream 2 + .long DMA2_Stream3_IRQHandler // DMA2 Stream 3 + .long DMA2_Stream4_IRQHandler // DMA2 Stream 4 + .long ETH_IRQHandler // Ethernet + .long ETH_WKUP_IRQHandler // Ethernet Wakeup through EXTI line + .long CAN2_TX_IRQHandler // CAN2 TX + .long CAN2_RX0_IRQHandler // CAN2 RX0 + .long CAN2_RX1_IRQHandler // CAN2 RX1 + .long CAN2_SCE_IRQHandler // CAN2 SCE + .long OTG_FS_IRQHandler // USB OTG FS + .long DMA2_Stream5_IRQHandler // DMA2 Stream 5 + .long DMA2_Stream6_IRQHandler // DMA2 Stream 6 + .long DMA2_Stream7_IRQHandler // DMA2 Stream 7 + .long USART6_IRQHandler // USART6 + .long I2C3_EV_IRQHandler // I2C3 event + .long I2C3_ER_IRQHandler // I2C3 error + .long OTG_HS_EP1_OUT_IRQHandler // USB OTG HS End Point 1 Out + .long OTG_HS_EP1_IN_IRQHandler // USB OTG HS End Point 1 In + .long OTG_HS_WKUP_IRQHandler // USB OTG HS Wakeup through EXTI + .long OTG_HS_IRQHandler // USB OTG HS + .long DCMI_IRQHandler // DCMI + .long CRYP_IRQHandler // CRYP crypto + .long HASH_RNG_IRQHandler // Hash and Rng + .long FPU_IRQHandler // FPU + .long 0x55AA11EE // Reserved for OpenBLT checksum + + .size __isr_vector, . - __isr_vector + + .text + .thumb + .thumb_func + .align 2 + .globl Reset_Handler + .type Reset_Handler, %function +Reset_Handler: +/* Initialize the stackpointer. this is done automatically after a reset event. + * the bootloader performs a software reset by calling this reset handler, in + * which case the stackpointer is not yet initialized. */ + ldr r1, =__StackTop + mov sp, r1 + +/* Loop to copy data from read only memory to RAM. The ranges + * of copy from/to are specified by following symbols evaluated in + * linker script. + * __etext: End of code section, i.e., begin of data sections to copy from. + * __data_start__/__data_end__: RAM address range that data should be + * copied to. Both must be aligned to 4 bytes boundary. */ + + ldr r1, =__etext + ldr r2, =__data_start__ + ldr r3, =__data_end__ + +#if 1 +/* Here are two copies of loop implemenations. First one favors code size + * and the second one favors performance. Default uses the first one. + * Change to "#if 0" to use the second one */ +.flash_to_ram_loop: + cmp r2, r3 + ittt lt + ldrlt r0, [r1], #4 + strlt r0, [r2], #4 + blt .flash_to_ram_loop +#else + subs r3, r2 + ble .flash_to_ram_loop_end +.flash_to_ram_loop: + subs r3, #4 + ldr r0, [r1, r3] + str r0, [r2, r3] + bgt .flash_to_ram_loop +.flash_to_ram_loop_end: +#endif + +#ifndef __NO_SYSTEM_INIT + ldr r0, =SystemInit + blx r0 +#endif + + ldr r0, =_start + bx r0 + .pool + .size Reset_Handler, . - Reset_Handler + +/* Our weak _start alternative if we don't use the library _start + * The zero init section must be cleared, otherwise the librtary is + * doing that */ + .align 1 + .thumb_func + .weak _start + .type _start, %function +_start: + + /* Zero fill the bss segment. */ + ldr r1, = __bss_start__ + ldr r2, = __bss_end__ + movs r3, #0 + b .fill_zero_bss +.loop_zero_bss: + str r3, [r1], #4 + +.fill_zero_bss: + cmp r1, r2 + bcc .loop_zero_bss + + /* Jump to our main */ + bl main + b . + .size _start, . - _start + +/* Macro to define default handlers. Default handler + * will be weak symbol and just dead loops. They can be + * overwritten by other handlers */ + .macro def_irq_handler handler_name + .align 1 + .thumb_func + .weak \handler_name + .type \handler_name, %function +\handler_name : + b . + .size \handler_name, . - \handler_name + .endm + + def_irq_handler NMI_Handler + def_irq_handler HardFault_Handler + def_irq_handler MemManage_Handler + def_irq_handler BusFault_Handler + def_irq_handler UsageFault_Handler + def_irq_handler SVC_Handler + def_irq_handler DebugMon_Handler + def_irq_handler PendSV_Handler + def_irq_handler SysTick_Handler + def_irq_handler Default_Handler + + // External Interrupts + def_irq_handler WWDG_IRQHandler // Window WatchDog + def_irq_handler PVD_IRQHandler // PVD through EXTI Line detection + def_irq_handler TAMP_STAMP_IRQHandler // Tamper and TimeStamps through the EXTI line + def_irq_handler RTC_WKUP_IRQHandler // RTC Wakeup through the EXTI line + def_irq_handler FLASH_IRQHandler // FLASH + def_irq_handler RCC_IRQHandler // RCC + def_irq_handler EXTI0_IRQHandler // EXTI Line0 + def_irq_handler EXTI1_IRQHandler // EXTI Line1 + def_irq_handler EXTI2_IRQHandler // EXTI Line2 + def_irq_handler EXTI3_IRQHandler // EXTI Line3 + def_irq_handler EXTI4_IRQHandler // EXTI Line4 + def_irq_handler DMA1_Stream0_IRQHandler // DMA1 Stream 0 + def_irq_handler DMA1_Stream1_IRQHandler // DMA1 Stream 1 + def_irq_handler DMA1_Stream2_IRQHandler // DMA1 Stream 2 + def_irq_handler DMA1_Stream3_IRQHandler // DMA1 Stream 3 + def_irq_handler DMA1_Stream4_IRQHandler // DMA1 Stream 4 + def_irq_handler DMA1_Stream5_IRQHandler // DMA1 Stream 5 + def_irq_handler DMA1_Stream6_IRQHandler // DMA1 Stream 6 + def_irq_handler ADC_IRQHandler // ADC1, ADC2 and ADC3s + def_irq_handler CAN1_TX_IRQHandler // CAN1 TX + def_irq_handler CAN1_RX0_IRQHandler // CAN1 RX0 + def_irq_handler CAN1_RX1_IRQHandler // CAN1 RX1 + def_irq_handler CAN1_SCE_IRQHandler // CAN1 SCE + def_irq_handler EXTI9_5_IRQHandler // External Line[9:5]s + def_irq_handler TIM1_BRK_TIM9_IRQHandler // TIM1 Break and TIM9 + def_irq_handler TIM1_UP_TIM10_IRQHandler // TIM1 Update and TIM10 + def_irq_handler TIM1_TRG_COM_TIM11_IRQHandler // TIM1 Trigger and Commutation and TIM11 + def_irq_handler TIM1_CC_IRQHandler // TIM1 Capture Compare + def_irq_handler TIM2_IRQHandler // TIM2 + def_irq_handler TIM3_IRQHandler // TIM3 + def_irq_handler TIM4_IRQHandler // TIM4 + def_irq_handler I2C1_EV_IRQHandler // I2C1 Event + def_irq_handler I2C1_ER_IRQHandler // I2C1 Error + def_irq_handler I2C2_EV_IRQHandler // I2C2 Event + def_irq_handler I2C2_ER_IRQHandler // I2C2 Error + def_irq_handler SPI1_IRQHandler // SPI1 + def_irq_handler SPI2_IRQHandler // SPI2 + def_irq_handler USART1_IRQHandler // USART1 + def_irq_handler USART2_IRQHandler // USART2 + def_irq_handler USART3_IRQHandler // USART3 + def_irq_handler EXTI15_10_IRQHandler // External Line[15:10]s + def_irq_handler RTC_Alarm_IRQHandler // RTC Alarm (A and B) through EXTI Line + def_irq_handler OTG_FS_WKUP_IRQHandler // USB OTG FS Wakeup through EXTI line + def_irq_handler TIM8_BRK_TIM12_IRQHandler // TIM8 Break and TIM12 + def_irq_handler TIM8_UP_TIM13_IRQHandler // TIM8 Update and TIM13 + def_irq_handler TIM8_TRG_COM_TIM14_IRQHandler // TIM8 Trigger and Commutation and TIM14 + def_irq_handler TIM8_CC_IRQHandler // TIM8 Capture Compare + def_irq_handler DMA1_Stream7_IRQHandler // DMA1 Stream7 + def_irq_handler FSMC_IRQHandler // FSMC + def_irq_handler SDIO_IRQHandler // SDIO + def_irq_handler TIM5_IRQHandler // TIM5 + def_irq_handler SPI3_IRQHandler // SPI3 + def_irq_handler UART4_IRQHandler // UART4 + def_irq_handler UART5_IRQHandler // UART5 + def_irq_handler TIM6_DAC_IRQHandler // TIM6 and DAC1&2 underrun errors + def_irq_handler TIM7_IRQHandler // TIM7 + def_irq_handler DMA2_Stream0_IRQHandler // DMA2 Stream 0 + def_irq_handler DMA2_Stream1_IRQHandler // DMA2 Stream 1 + def_irq_handler DMA2_Stream2_IRQHandler // DMA2 Stream 2 + def_irq_handler DMA2_Stream3_IRQHandler // DMA2 Stream 3 + def_irq_handler DMA2_Stream4_IRQHandler // DMA2 Stream 4 + def_irq_handler ETH_IRQHandler // Ethernet + def_irq_handler ETH_WKUP_IRQHandler // Ethernet Wakeup through EXTI line + def_irq_handler CAN2_TX_IRQHandler // CAN2 TX + def_irq_handler CAN2_RX0_IRQHandler // CAN2 RX0 + def_irq_handler CAN2_RX1_IRQHandler // CAN2 RX1 + def_irq_handler CAN2_SCE_IRQHandler // CAN2 SCE + def_irq_handler OTG_FS_IRQHandler // USB OTG FS + def_irq_handler DMA2_Stream5_IRQHandler // DMA2 Stream 5 + def_irq_handler DMA2_Stream6_IRQHandler // DMA2 Stream 6 + def_irq_handler DMA2_Stream7_IRQHandler // DMA2 Stream 7 + def_irq_handler USART6_IRQHandler // USART6 + def_irq_handler I2C3_EV_IRQHandler // I2C3 event + def_irq_handler I2C3_ER_IRQHandler // I2C3 error + def_irq_handler OTG_HS_EP1_OUT_IRQHandler // USB OTG HS End Point 1 Out + def_irq_handler OTG_HS_EP1_IN_IRQHandler // USB OTG HS End Point 1 In + def_irq_handler OTG_HS_WKUP_IRQHandler // USB OTG HS Wakeup through EXTI + def_irq_handler OTG_HS_IRQHandler // USB OTG HS + def_irq_handler DCMI_IRQHandler // DCMI + def_irq_handler CRYP_IRQHandler // CRYP crypto + def_irq_handler HASH_RNG_IRQHandler // Hash and Rng + def_irq_handler FPU_IRQHandler // FPU + + .end diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.c index 2a69ab0e..1bf46569 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.c +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.c @@ -96,11 +96,11 @@ unsigned long TimerGet(void) ** \return none. ** ****************************************************************************************/ -void TimerISRHandler(void) +void SysTick_Handler(void) { /* increment the millisecond counter */ millisecond_counter++; -} /*** end of TimerISRHandler ***/ +} /*** end of SysTick_Handler ***/ /*********************************** end of timer.c ************************************/ diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.h b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.h index 61c99cc6..371f24ce 100644 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.h +++ b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/timer.h @@ -35,7 +35,6 @@ void TimerInit(void); void TimerDeinit(void); void TimerSet(unsigned long timer_value); unsigned long TimerGet(void); -void TimerISRHandler(void); #endif /* TIMER_H */ /*********************************** end of timer.h ************************************/ diff --git a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/vectors.c b/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/vectors.c deleted file mode 100644 index fe5d9ef1..00000000 --- a/Target/Demo/ARMCM4_STM32F4_Olimex_STM32E407_GCC/Prog/vectors.c +++ /dev/null @@ -1,178 +0,0 @@ -/************************************************************************************//** -* \file Demo\ARMCM4_STM32F4_Olimex_STM32E407_GCC\Prog\vectors.c -* \brief Demo program interrupt vectors source file. -* \ingroup Prog_ARMCM4_STM32F4_Olimex_STM32E407_GCC -* \internal -*---------------------------------------------------------------------------------------- -* C O P Y R I G H T -*---------------------------------------------------------------------------------------- -* Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved -* -*---------------------------------------------------------------------------------------- -* L I C E N S E -*---------------------------------------------------------------------------------------- -* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or -* modify it under the terms of the GNU General Public License as published by the Free -* Software Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -* PURPOSE. See the GNU General Public License for more details. -* -* You have received a copy of the GNU General Public License along with OpenBLT. It -* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. -* -* \endinternal -****************************************************************************************/ - -/**************************************************************************************** -* Include files -****************************************************************************************/ -#include "header.h" /* generic header */ - - -/**************************************************************************************** -* External functions -****************************************************************************************/ -extern void reset_handler(void); /* implemented in cstart.c */ - - -/**************************************************************************************** -* External data declarations -****************************************************************************************/ -/** \brief Stack end address (memory.x) */ -extern unsigned long _estack; - - -/************************************************************************************//** -** \brief Catch-all for unused interrrupt service routines. -** \return none. -** -****************************************************************************************/ -void UnusedISR(void) -{ - /* unexpected interrupt occured, so halt the system */ - while (1) { ; } -} /*** end of UnusedISR ***/ - - -/**************************************************************************************** -* I N T E R R U P T V E C T O R T A B L E -****************************************************************************************/ -/** \brief Structure type for vector table entries. */ -typedef union -{ - void (*func)(void); /**< for ISR function pointers */ - unsigned long ptr; /**< for stack pointer entry */ -}tIsrFunc; - -/** \brief Interrupt vector table. */ -__attribute__ ((section(".isr_vector"))) -const tIsrFunc _vectab[] = -{ - { .ptr = (unsigned long)&_estack }, /* the initial stack pointer */ - { reset_handler }, /* the reset handler */ - { UnusedISR }, /* NMI Handler */ - { UnusedISR }, /* Hard Fault Handler */ - { UnusedISR }, /* MPU Fault Handler */ - { UnusedISR }, /* Bus Fault Handler */ - { UnusedISR }, /* Usage Fault Handler */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* SVCall Handler */ - { UnusedISR }, /* Debug Monitor Handler */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* PendSV Handler */ - { TimerISRHandler }, /* SysTick Handler */ - { UnusedISR }, /* Window Watchdog */ - { UnusedISR }, /* PVD through EXTI Line detect */ - { UnusedISR }, /* Tamper */ - { UnusedISR }, /* RTC */ - { UnusedISR }, /* Flash */ - { UnusedISR }, /* RCC */ - { UnusedISR }, /* EXTI Line 0 */ - { UnusedISR }, /* EXTI Line 1 */ - { UnusedISR }, /* EXTI Line 2 */ - { UnusedISR }, /* EXTI Line 3 */ - { UnusedISR }, /* EXTI Line 4 */ - { UnusedISR }, /* DMA1 Channel 0 */ - { UnusedISR }, /* DMA1 Channel 1 */ - { UnusedISR }, /* DMA1 Channel 2 */ - { UnusedISR }, /* DMA1 Channel 3 */ - { UnusedISR }, /* DMA1 Channel 4 */ - { UnusedISR }, /* DMA1 Channel 5 */ - { UnusedISR }, /* DMA1 Channel 6 */ - { UnusedISR }, /* ADC1 and ADC2, ADC3s */ - { UnusedISR }, /* CAN1 TX */ - { UnusedISR }, /* CAN1 RX0 */ - { UnusedISR }, /* CAN1 RX1 */ - { UnusedISR }, /* CAN1 SCE */ - { UnusedISR }, /* EXTI Line 9..5 */ - { UnusedISR }, /* TIM1 Break and TIM9 */ - { UnusedISR }, /* TIM1 Update and TIM10 */ - { UnusedISR }, /* TIM1 Trigger/Comm. and TIM11 */ - { UnusedISR }, /* TIM1 Capture Compare */ - { UnusedISR }, /* TIM2 */ - { UnusedISR }, /* TIM3 */ - { UnusedISR }, /* TIM4 */ - { UnusedISR }, /* I2C1 Event */ - { UnusedISR }, /* I2C1 Error */ - { UnusedISR }, /* I2C2 Event */ - { UnusedISR }, /* I2C1 Error */ - { UnusedISR }, /* SPI1 */ - { UnusedISR }, /* SPI2 */ - { UnusedISR }, /* USART1 */ - { UnusedISR }, /* USART2 */ - { UnusedISR }, /* USART3 */ - { UnusedISR }, /* EXTI Line 15..10 */ - { UnusedISR }, /* RTC alarm through EXTI line */ - { UnusedISR }, /* USB OTG FS Wakeup */ - { UnusedISR }, /* TIM8 Break and TIM12 */ - { UnusedISR }, /* TIM8 Update and TIM13 */ - { UnusedISR }, /* TIM8 Trigger/Comm. and TIM14 */ - { UnusedISR }, /* TIM8 Capture Compare */ - { UnusedISR }, /* DMA1 Stream7 */ - { UnusedISR }, /* FSMC */ - { UnusedISR }, /* SDIO */ - { UnusedISR }, /* TIM5 */ - { UnusedISR }, /* SPI3 */ - { UnusedISR }, /* UART4 */ - { UnusedISR }, /* UART5 */ - { UnusedISR }, /* TIM6 and DAC1&2 underrun err. */ - { UnusedISR }, /* TIM7 */ - { UnusedISR }, /* DMA2 Stream 0 */ - { UnusedISR }, /* DMA2 Stream 1 */ - { UnusedISR }, /* DMA2 Stream 2 */ - { UnusedISR }, /* DMA2 Stream 3 */ - { UnusedISR }, /* DMA2 Stream 4 */ - { UnusedISR }, /* Ethernet */ - { UnusedISR }, /* Ethernet Wakeup */ - { UnusedISR }, /* CAN2 TX */ - { UnusedISR }, /* CAN2 RX0 */ - { UnusedISR }, /* CAN2 RX1 */ - { UnusedISR }, /* CAN2 SCE */ - { UnusedISR }, /* USB OTG FS */ - { UnusedISR }, /* DMA2 Stream 5 */ - { UnusedISR }, /* DMA2 Stream 6 */ - { UnusedISR }, /* DMA2 Stream 7 */ - { UnusedISR }, /* USART6 */ - { UnusedISR }, /* I2C3 event */ - { UnusedISR }, /* I2C3 error */ - { UnusedISR }, /* USB OTG HS End Point 1 Out */ - { UnusedISR }, /* USB OTG HS End Point 1 In */ - { UnusedISR }, /* USB OTG HS Wakeup through EXTI*/ - { UnusedISR }, /* USB OTG HS */ - { UnusedISR }, /* DCMI */ - { UnusedISR }, /* CRYP crypto */ - { UnusedISR }, /* Hash and Rng */ - { UnusedISR }, /* FPU */ - { (void*)0x55AA11EE }, /* Reserved for OpenBLT checksum */ -}; - - -/************************************ end of vectors.c *********************************/ - - diff --git a/Target/Source/ARMCM4_STM32F4/GCC/cstart.c b/Target/Source/ARMCM4_STM32F4/GCC/cstart.c deleted file mode 100644 index 0d07b30c..00000000 --- a/Target/Source/ARMCM4_STM32F4/GCC/cstart.c +++ /dev/null @@ -1,89 +0,0 @@ -/************************************************************************************//** -* \file Source\ARMCM4_STM32F4\GCC\cstart.c -* \brief Bootloader C startup source file. -* \ingroup Target_ARMCM4_STM32F4 -* \internal -*---------------------------------------------------------------------------------------- -* C O P Y R I G H T -*---------------------------------------------------------------------------------------- -* Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved -* -*---------------------------------------------------------------------------------------- -* L I C E N S E -*---------------------------------------------------------------------------------------- -* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or -* modify it under the terms of the GNU General Public License as published by the Free -* Software Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -* PURPOSE. See the GNU General Public License for more details. -* -* You have received a copy of the GNU General Public License along with OpenBLT. It -* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. -* -* \endinternal -****************************************************************************************/ - -/**************************************************************************************** -* Include files -****************************************************************************************/ -#include "boot.h" /* bootloader generic header */ - - -/**************************************************************************************** -* External function protoypes -****************************************************************************************/ -extern int main(void); - - -/**************************************************************************************** -* External data declarations -****************************************************************************************/ -/* these externals are declared by the linker */ -extern blt_int32u _etext; -extern blt_int32u _data; -extern blt_int32u _edata; -extern blt_int32u _bss; -extern blt_int32u _ebss; -extern blt_int32u _estack; - - -/************************************************************************************//** -** \brief Reset interrupt service routine. Configures the stack, initializes -** RAM and jumps to function main. -** \return none. -** -****************************************************************************************/ -void reset_handler(void) -{ - blt_int32u *pSrc, *pDest; - - /* initialize stack pointer */ - __asm(" ldr r1, =_estack\n" - " mov sp, r1"); - /* copy the data segment initializers from flash to SRAM */ - pSrc = &_etext; - for (pDest = &_data; pDest < &_edata;) - { - *pDest++ = *pSrc++; - } - /* zero fill the bss segment. this is done with inline assembly since this will - * clear the value of pDest if it is not kept in a register. - */ - __asm(" ldr r0, =_bss\n" - " ldr r1, =_ebss\n" - " mov r2, #0\n" - " .thumb_func\n" - "zero_loop:\n" - " cmp r0, r1\n" - " it lt\n" - " strlt r2, [r0], #4\n" - " blt zero_loop"); - /* start the software application by calling its entry point */ - main(); -} /*** end of reset_handler ***/ - - -/************************************ end of cstart.c **********************************/ \ No newline at end of file diff --git a/Target/Source/ARMCM4_STM32F4/GCC/memory.x b/Target/Source/ARMCM4_STM32F4/GCC/memory.x deleted file mode 100644 index a4584f18..00000000 --- a/Target/Source/ARMCM4_STM32F4/GCC/memory.x +++ /dev/null @@ -1,38 +0,0 @@ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 48K - SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 24K -} - -SECTIONS -{ - __STACKSIZE__ = 2048; - - .text : - { - KEEP(*(.isr_vector)) - *(.text*) - *(.rodata*) - _etext = .; - } > FLASH - - .data : AT (ADDR(.text) + SIZEOF(.text)) - { - _data = .; - *(vtable) - *(.data*) - _edata = .; - } > SRAM - - .bss : - { - _bss = .; - *(.bss*) - *(COMMON) - _ebss = .; - _stack = .; - . = ALIGN(MAX(_stack + __STACKSIZE__ , .), 4); - _estack = .; - - } > SRAM -} diff --git a/Target/Source/ARMCM4_STM32F4/GCC/vectors.c b/Target/Source/ARMCM4_STM32F4/GCC/vectors.c deleted file mode 100644 index 896f4429..00000000 --- a/Target/Source/ARMCM4_STM32F4/GCC/vectors.c +++ /dev/null @@ -1,171 +0,0 @@ -/************************************************************************************//** -* \file Source\ARMCM4_STM32F4\GCC\vectors.c -* \brief Bootloader interrupt vector table source file. -* \ingroup Target_ARMCM4_STM32F4 -* \internal -*---------------------------------------------------------------------------------------- -* C O P Y R I G H T -*---------------------------------------------------------------------------------------- -* Copyright (c) 2013 by Feaser http://www.feaser.com All rights reserved -* -*---------------------------------------------------------------------------------------- -* L I C E N S E -*---------------------------------------------------------------------------------------- -* This file is part of OpenBLT. OpenBLT is free software: you can redistribute it and/or -* modify it under the terms of the GNU General Public License as published by the Free -* Software Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* OpenBLT is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -* PURPOSE. See the GNU General Public License for more details. -* -* You have received a copy of the GNU General Public License along with OpenBLT. It -* should be located in ".\Doc\license.html". If not, contact Feaser to obtain a copy. -* -* \endinternal -****************************************************************************************/ - -/**************************************************************************************** -* Include files -****************************************************************************************/ -#include "boot.h" /* bootloader generic header */ - - -/**************************************************************************************** -* External data declarations -****************************************************************************************/ -extern blt_int32u _estack; /* stack end address (memory.x) */ - - -/************************************************************************************//** -** \brief Catch-all for unused interrrupt service routines. -** \return none. -** -****************************************************************************************/ -void UnusedISR(void) -{ - /* unexpected interrupt occured, so trigger an assertion to halt the system */ - ASSERT_RT(BLT_FALSE); -} /*** end of UnusedISR ***/ - - -/**************************************************************************************** -* I N T E R R U P T V E C T O R T A B L E -****************************************************************************************/ -extern void reset_handler(void); /* implemented in cstart.c */ -/** \brief Structure type for vector table entries. */ -typedef union -{ - void (*func)(void); /**< for ISR function pointers */ - blt_int32u ptr; /**< for stack pointer entry */ -} tIsrFunc; - -/** \brief Interrupt vector table. */ -__attribute__((section(".isr_vector"))) -const tIsrFunc _vectab[] = -{ - { .ptr = (blt_int32u) &_estack }, /* the initial stack pointer */ - { reset_handler }, /* the reset handler */ - { UnusedISR }, /* NMI Handler */ - { UnusedISR }, /* Hard Fault Handler */ - { UnusedISR }, /* MPU Fault Handler */ - { UnusedISR }, /* Bus Fault Handler */ - { UnusedISR }, /* Usage Fault Handler */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* SVCall Handler */ - { UnusedISR }, /* Debug Monitor Handler */ - { UnusedISR }, /* Reserved */ - { UnusedISR }, /* PendSV Handler */ - { UnusedISR }, /* SysTick Handler */ - { UnusedISR }, /* Window Watchdog */ - { UnusedISR }, /* PVD through EXTI Line detect */ - { UnusedISR }, /* Tamper */ - { UnusedISR }, /* RTC */ - { UnusedISR }, /* Flash */ - { UnusedISR }, /* RCC */ - { UnusedISR }, /* EXTI Line 0 */ - { UnusedISR }, /* EXTI Line 1 */ - { UnusedISR }, /* EXTI Line 2 */ - { UnusedISR }, /* EXTI Line 3 */ - { UnusedISR }, /* EXTI Line 4 */ - { UnusedISR }, /* DMA1 Channel 0 */ - { UnusedISR }, /* DMA1 Channel 1 */ - { UnusedISR }, /* DMA1 Channel 2 */ - { UnusedISR }, /* DMA1 Channel 3 */ - { UnusedISR }, /* DMA1 Channel 4 */ - { UnusedISR }, /* DMA1 Channel 5 */ - { UnusedISR }, /* DMA1 Channel 6 */ - { UnusedISR }, /* ADC1 and ADC2, ADC3s */ - { UnusedISR }, /* CAN1 TX */ - { UnusedISR }, /* CAN1 RX0 */ - { UnusedISR }, /* CAN1 RX1 */ - { UnusedISR }, /* CAN1 SCE */ - { UnusedISR }, /* EXTI Line 9..5 */ - { UnusedISR }, /* TIM1 Break and TIM9 */ - { UnusedISR }, /* TIM1 Update and TIM10 */ - { UnusedISR }, /* TIM1 Trigger/Comm. and TIM11 */ - { UnusedISR }, /* TIM1 Capture Compare */ - { UnusedISR }, /* TIM2 */ - { UnusedISR }, /* TIM3 */ - { UnusedISR }, /* TIM4 */ - { UnusedISR }, /* I2C1 Event */ - { UnusedISR }, /* I2C1 Error */ - { UnusedISR }, /* I2C2 Event */ - { UnusedISR }, /* I2C1 Error */ - { UnusedISR }, /* SPI1 */ - { UnusedISR }, /* SPI2 */ - { UnusedISR }, /* USART1 */ - { UnusedISR }, /* USART2 */ - { UnusedISR }, /* USART3 */ - { UnusedISR }, /* EXTI Line 15..10 */ - { UnusedISR }, /* RTC alarm through EXTI line */ - { UnusedISR }, /* USB OTG FS Wakeup */ - { UnusedISR }, /* TIM8 Break and TIM12 */ - { UnusedISR }, /* TIM8 Update and TIM13 */ - { UnusedISR }, /* TIM8 Trigger/Comm. and TIM14 */ - { UnusedISR }, /* TIM8 Capture Compare */ - { UnusedISR }, /* DMA1 Stream7 */ - { UnusedISR }, /* FSMC */ - { UnusedISR }, /* SDIO */ - { UnusedISR }, /* TIM5 */ - { UnusedISR }, /* SPI3 */ - { UnusedISR }, /* UART4 */ - { UnusedISR }, /* UART5 */ - { UnusedISR }, /* TIM6 and DAC1&2 underrun err. */ - { UnusedISR }, /* TIM7 */ - { UnusedISR }, /* DMA2 Stream 0 */ - { UnusedISR }, /* DMA2 Stream 1 */ - { UnusedISR }, /* DMA2 Stream 2 */ - { UnusedISR }, /* DMA2 Stream 3 */ - { UnusedISR }, /* DMA2 Stream 4 */ - { UnusedISR }, /* Ethernet */ - { UnusedISR }, /* Ethernet Wakeup */ - { UnusedISR }, /* CAN2 TX */ - { UnusedISR }, /* CAN2 RX0 */ - { UnusedISR }, /* CAN2 RX1 */ - { UnusedISR }, /* CAN2 SCE */ - { UnusedISR }, /* USB OTG FS */ - { UnusedISR }, /* DMA2 Stream 5 */ - { UnusedISR }, /* DMA2 Stream 6 */ - { UnusedISR }, /* DMA2 Stream 7 */ - { UnusedISR }, /* USART6 */ - { UnusedISR }, /* I2C3 event */ - { UnusedISR }, /* I2C3 error */ - { UnusedISR }, /* USB OTG HS End Point 1 Out */ - { UnusedISR }, /* USB OTG HS End Point 1 In */ - { UnusedISR }, /* USB OTG HS Wakeup through EXTI*/ - { UnusedISR }, /* USB OTG HS */ - { UnusedISR }, /* DCMI */ - { UnusedISR }, /* CRYP crypto */ - { UnusedISR }, /* Hash and Rng */ - { UnusedISR } /* FPU */ -}; - - -/************************************ end of vectors.c *********************************/ - -